Есть ли более быстрый способ перенести все мои ранее однократные USE-флаги в /etc/portage/make.conf?

Когда я создавал свое программное обеспечение, я использовал USE вместо того, чтобы добавлять флаги в свой файл /etc/portage/make.conf. (Пример: sudo USE="djvu postscript synctex magic" emerge --ask app-text/{zathura,zathura-meta}.

Теперь всякий раз, когда я обновляю свою систему, мне приходится заново запускать эти программы с ранее использовавшимися USE-флагами. Это говорит мне о том, что я могу добавить их в файл make.conf. Есть ли более простой способ сделать это, чем просматривать каждую строку в моем файле .{bash,zsh}_history?

Я недавно узнал о euse -a, но не знаю, полный ли это список. Если я могу использовать euse -a, то я могу просто использовать bash, чтобы поместить все это в одну строку и заменить мою строку USE="..." в make.conf.


person Community    schedule 02.01.2019    source источник
comment
Я решил собрать каждый USE-флаг из последнего файла emerge для каждой программы из .{bash,zsh}_history в один документ под названием ~/USES. Затем я запустил cat USES | xargs -n1 | sort -u | tr '\n' ' ' >> NEWUSES и переместил его в /etc/portage/make.conf. Это не совсем самый эффективный, но я думаю, что это должно быть сделано. Я постараюсь создать обходной путь для этого, когда/если смогу. Я оставляю это открытым на всякий случай, если кто-нибудь знает хорошее решение, потому что я уверен, что я не единственный человек, которому это может понадобиться.   -  person    schedule 02.01.2019


Ответы (2)


В /var/db/pkg/category/pkg_name-version/ вы можете найти несколько файлов, которые могут вам помочь:

  • IUSE_EFFECTIVE: Текущие флаги.
  • PKGUSE: флаги переопределены (файл существует только при необходимости).
person Francky    schedule 10.09.2019
comment
Я посмотрел в каталоге, который вы упомянули. Файл IUSE_EFFECTIVE имеет больше флагов, чем я использую, а PKGUSE, похоже, не существует. Но я нашел файл под названием USE. Я использовал cat и сравнил его с USE-флагами случайного пакета, который я установил. Это почти те же USE-флаги, но с несколькими дополнительными, которые не отображаются в списке emerge. (Например, userland_GU и моя арка ядра.) Хотя я считаю, что это правильное направление. Это было очень полезно, спасибо. - person ; 11.09.2019
comment
Другая зацепка может находиться в /usr/portage/metadata/md5-cache/category/pkg_name-version. Странно, что у вас нет PKGUSE, у меня их больше 100 (найдите /var/db/pkg/ -name PKGUSE | wc -l). - person Francky; 12.09.2019

/etc/portage/package.use это то, что вам нужно.

https://wiki.gentoo.org/wiki//etc/portage/package.use

person Francky    schedule 04.09.2019
comment
Я понимаю, о чем вы говорите, за исключением того, что это не то, что мне было нужно в то время. Я просто искал, как получить все USE-флаги, которые я использовал. Я использую /etc/portage/package.use/, но это не имеет отношения к проблеме. [отредактировано: я нажал Enter слишком рано.] - person ; 08.09.2019