Решено: Все слои USE-флагов (Где смотреть?)

Sabayon, Calculate, Funtoo, Exherbo

Модератор: /dev/random

Аватара пользователя
SpeedHack
Сообщения: 116

Решено: Все слои USE-флагов

Сообщение SpeedHack »

Они меня уже достали... Ну указал alsa в make.conf, т.к. он указан в более нижнем слое... Но на некоторых пакетах он применяется, а некоторые собираются с USE="-alsa". В общем, где узнать все USE флаги, которые используются в i686 системе по дефлоту? Хочу прописать в make.conf:

Код: Выделить всё

USE="-* ..."


Тобишь чтобы это был единственный слой и было ясно видно что юзается что нет.

Я так понимаю основная часть флагов находится в /usr/portage/profiles/default-linux/x86/2007.0/desktop/make.defaults? А остальное где (Ведь говорят что там несколько слоев).
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Решено: Все слои USE-флагов

Сообщение serzh-z »

Как всё запущено... Хотелось бы узнать, что есть "слой". Вообще - "emerge --info" всё покажет.
Спасибо сказали:
mr.Unknown
Сообщения: 24

Re: Решено: Все слои USE-флагов

Сообщение mr.Unknown »

удобней ысего юзать euse (emerge euse)
Спасибо сказали:
Аватара пользователя
Atragor
Сообщения: 681
Статус: ...

Re: Решено: Все слои USE-флагов

Сообщение Atragor »

mr.Unknown писал(а):
07.11.2007 17:01
удобней ысего юзать euse (emerge euse)

emerge euses
If you were MEANT to understand it, we wouldn't have called it 'code' © bash.org
Спасибо сказали:
Аватара пользователя
ddc
Бывший модератор
Сообщения: 3535
Статус: OpenBSD-compatible
ОС: OpenBSD -current

Re: Решено: Все слои USE-флагов

Сообщение ddc »

Хм... А зачем? Умолчания иногда меняются, проще написать длинный USE в "/etc/make.conf" и прописать исключения в "/etc/portage/package.use"...
Я вообще вот так делаю:

Код: Выделить всё

echo USE=\"$(for i in $(emerge -pve world | grep \" | cut -d \" -f 2 | sed s/\*//g | sed s/\%//g); do echo $i; done | grep -v \( | sort -u)\" >> /etc/make.conf
А потом правлю "/etc/make.conf" и повторяю операцию до тех пор, пока (1) меня всё ни устроет и (2) старая и новая строки USE не совпадут.
Спасибо сказали:
Аватара пользователя
SpeedHack
Сообщения: 116

Re: Решено: Все слои USE-флагов

Сообщение SpeedHack »

Как всё запущено... Хотелось бы узнать, что есть "слой". Вообще - "emerge --info" всё покажет


Хм, ну вот, например, первый слой - дефлотные флаги пакета, второй флаги профиля, третий - make.conf, четвертый - /etc/portage/package.use. Каждый друг на друга накладывается. То есть если в флагах профиля прописано gnome, а в make.conf -gnome, то будет -gnome уже. Вот хотелось бы знать, сколько вообще слоев существует и где просмотреть эти USE.

Хм... А зачем?


Уменьшение кол-ва геморя за еденицу времени :D Вообще, наверно, чтобы отправить в офф все низшие слои, чтобы оставалось только три: make.conf, package.use и непосредственно явное указание флагов в консоли.

echo USE=\"$(for i in $(emerge -pve world | grep \" | cut -d \" -f 2 | sed s/\*//g | sed s/\%//g); do echo $i; done | grep -v \( | sort -u)\" >> /etc/make.conf


Не силен в баше, что делает данный цикл?

Сегодня нашел для себя такой интересный файлик, /usr/portage/profile/use.desc, где описания всех флагов. Добавил самые основные (где понятно что-то из описания и знаю что это мне нужно). Теперь, перед установкой любого пакета делаю emerge -pvt package, смотрю на отключенные USE, если что-то оттуда нужно или пакет без них не собирается (например сегодня xorg-server не собрался без флага xorg) - добавляю флаг в make.conf.

Вот, пока что наваял:

Код: Выделить всё

USE="-* 7zip alsa apache2 arts bzip2 cdr crypt curl dvd dvdr dvdread encode ffmpeg flac ftp gd gif gpm iconv imagemagick jpeg kde mad midi mp3 mpeg mysql ogg opengl pcre pdf png posix qt simplexml sockets truetype unicode usb vcd vorbis X xml xorg xvid zlib"


Для меня идеальный способ (все USE флаги в одном файле), смущает то, что в таком случае emerge наплевать на дефлотные флаги пакета, которые иногда значат не знаешь что (смотришь -pvt и думаешь что тебе не нужно), но бывают полезными. Хотя, когда придет опыт (буду разбираться какие флаги что значат и насколько они мне нужны), этот вариант наверно будет идеальным.
Спасибо сказали:
Аватара пользователя
ddc
Бывший модератор
Сообщения: 3535
Статус: OpenBSD-compatible
ОС: OpenBSD -current

Re: Решено: Все слои USE-флагов

Сообщение ddc »

SpeedHack писал(а):
07.11.2007 21:32
Вот хотелось бы знать, сколько вообще слоев существует и где просмотреть эти USE.
Очень толковый и лаконичный мануал portage содержит описание каждого файла. Рекоммендую - гораздо удобней читать то, над чем думали, нежели поток мысли с форума.

SpeedHack писал(а):
07.11.2007 21:32
Не силен в баше, что делает данный цикл?
Он собирает все USE-флаги со всех установленных пакетов и заносит в /etc/make.conf.

SpeedHack писал(а):
07.11.2007 21:32
Сегодня нашел для себя такой интересный файлик, /usr/portage/profile/use.desc, где описания всех флагов.
Рекоммендую ещё один интересный файлик - /usr/portage/profile/use.local.desc - локальные флаги пакетов.

SpeedHack писал(а):
07.11.2007 21:32
Вот, пока что наваял:

Код: Выделить всё

USE="-* 7zip alsa apache2 arts bzip2 cdr crypt curl dvd dvdr dvdread encode ffmpeg flac ftp gd gif gpm iconv imagemagick jpeg kde mad midi mp3 mpeg mysql ogg opengl pcre pdf png posix qt simplexml sockets truetype unicode usb vcd vorbis X xml xorg xvid zlib"
Молодой ещё! :P

Код: Выделить всё

USE="3dnow 3dnowext a52 aac aalib acl acpi -activefilter -ada -additions -ads -afs -akode -alisp alsa amazon amr amrnb amrwb -ao -ares arts artswrappersuid -async atm -audiofile -audit -authdaemond -automount -avahi bash-completion -bashlogger berkdb -bidi -bindist -bl -bootstrap branding -build bzip2 -cairo -caps cddb cdio cdparanoia -chroot -cjk -clearcase -cpudetection -cracklib crypt cscope css cups -custom-cflags cvs -daap dbus -debug -dell device-mapper -dga dhcp -directfb disk-partition -djbfft djvu -dmx -doc dri dts -dv -dvb dvd dvdr dvdread -dxr3 -dynamic -eap-tls -emacs -emovix enca encode -epydoc -esd -examples exif expat -extrafilters -fam fame -fbcon fbsplash ffmpeg -fftw flac -fontconfig fortran -fpx -ftp -gcj -gd -gdbm -ggi gif -glibc-compat20 glibc-omitfp gmp -gnokii -gnome gnutls gphoto2 gpm graphviz -gs -gstreamer -gtk -guile hal -hardened haskell hddtemp -hdri -hfs -hpn -ibmacpi iconv -idea -idn -ieee1394 -ifp -ignore-glep31 imagemagick imlib -immqt -immqt-bc -ip28 -ip32r10k -ipod ipv6 ithreads -ivtv -jack java -jbig -jce jingle -joystick jpeg jpeg2k justify kde kdeenablefinal kdehiddenvisibility -kdrive -kerberos -kipi -ladspa lame lcms -ldap -legacyssl -lesstif libcaca -libedit -libsamplerate -lirc -live -livecd lm_sensors -logitech-mouse -logrotate -lua -lzo mad mailwrapper -make-symlinks -mbrola md5sum midi -milter -minimal mjpeg -mmap mmx mmxext mng -modplug -mono -motif mp2 mp3 mp3rtp mp4 mpeg -mplayer mppe-mppc -mtp mudflap -multicall -multislot -multiuser musepack musicbrainz -mysql -nas ncurses -nemesi -netboot -nethack -network -network-cron -neXt -nfs -nis -njb nls -noaudio -nocxx -noflagstrip -nojava -nojoystick -nothreads -nothreadsafe -nousuid -novideo nptl nsplugin -nss -ntlm_unsupported_patch -objc -objc++ -objc-gc -ocaml -odbc offensive ogg -old-linux -openal -openct -openexr opengl openmp -oss pam -pango -pascal -paste64 pccts pcmcia pcre -pcsc-lite -pda pdf -perforce perl perlsuid -php -pic -pike plugins png pnm -postgres -povray ppds -profile -pulseaudio -pvr python q32 q8 -qmail qt3 -qt4 quicktime -quotas radio -radius rar rdesktop readline real rle -rrdcgi -rtc ruby -rubytests samba -sametime -sample -sasl -savedconfig scanner -script -sdk sdl sensord -server -skey slang -slp -smartcard -sndfile -snmp -socks5 -soundex -source speex spell -spoof-source -sql -sqlite -srp srt sse sse2 ssl -ssse3 -static -subversion suid -swat symlink -sysfs syslog tcl tcpd -teletext -test tetex -tga theora threads tidy tiff -tivo tk -toolbar -tools -trace truetype -ucs2 unicode -urandom usb -utempter -utils -v4l -v4l2 -vanilla -vcd vim-pager vim-syntax vim-with-x visualization vorbis vorbis-psy -vram wavpack -wideband wifi winbind wmf X x264 -X509 xanim xattr -Xaw3d -xcb xcomposite -xemacs xine xinerama -xinetd xml -xmldoclet xorg xpm xprint -xscreensaver xv xvid -xvmc -yv12 zeroconf -zlib -zoran"
Спасибо сказали:
Аватара пользователя
SpeedHack
Сообщения: 116

Re: Решено: Все слои USE-флагов

Сообщение SpeedHack »

Гг :))) Действительно юзаешь ipv6 и pcmcia? :)

Он собирает все USE-флаги со всех установленных пакетов и заносит в /etc/make.conf.

А зачем запускать несколько раз? Или я что-то не понял? Ведь после первого запуска флаги текущих пакетов не изменятся, соответственно добавленое в make.conf будет то же самое.
Рекоммендую ещё один интересный файлик - /usr/portage/profile/use.local.desc - локальные флаги пакетов.

Как понять "локальные флаги". Под это понятие кроме файла package.use у меня ничего не попадает (ибо флаги для определенных пакетов).
Очень толковый и лаконичный мануал portage содержит описание каждого файла. Рекоммендую - гораздо удобней читать то, над чем думали, нежели поток мысли с форума.

"Адрес не подскажите?" © Желательно на русском.
Сообщений: 3400
:drunk:
Спасибо сказали:
Аватара пользователя
DiS
Сообщения: 296
ОС: Gentoo

Re: Решено: Все слои USE-флагов

Сообщение DiS »

SpeedHack писал(а):
07.11.2007 22:32
ddc писал(а):
07.11.2007 22:24

Очень толковый и лаконичный мануал portage содержит описание каждого файла. Рекоммендую - гораздо удобней читать то, над чем думали, нежели поток мысли с форума.

"Адрес не подскажите?" © Желательно на русском.

man portage
Если правильно задать вопрос, то он сам по себе будет ответом.
Спасибо сказали:
Аватара пользователя
ddc
Бывший модератор
Сообщения: 3535
Статус: OpenBSD-compatible
ОС: OpenBSD -current

Re: Решено: Все слои USE-флагов

Сообщение ddc »

SpeedHack писал(а):
07.11.2007 22:32
Гг :))) Действительно юзаешь ipv6 и pcmcia? :)
У меня лэптоп, поэтому pcmcia актуальна. Сложнее с ipv6 - имеется на всякий случай.

SpeedHack писал(а):
07.11.2007 22:32
Он собирает все USE-флаги со всех установленных пакетов и заносит в /etc/make.conf.
А зачем запускать несколько раз? Или я что-то не понял? Ведь после первого запуска флаги текущих пакетов не изменятся, соответственно добавленое в make.conf будет то же самое.
Идея в том, что после каждого прогона "/etc/make.conf" редактируется.

SpeedHack писал(а):
07.11.2007 22:32
Как понять "локальные флаги".
Это флаги, определённые на уровне отдельного пакета. При совпадении имён они могут отличаться по сути. Например:

Код: Выделить всё

dev-util/eclipse-sdk:branding - Enable Gentoo branded splash screen
gnome-base/gdm:branding - Enable a custom gentoo branded artwork
gnome-base/gnome-session:branding - Enable a custom gentoo branded splashscreen
kde-base/kdebase:branding - Gentoo specific web shortcuts.
kde-base/kdelibs:branding - Gentoo branded KHTML user agent.
kde-base/konqueror:branding - Gentoo specific web shortcuts.
По идее, они как раз и должны быть в "/etc/portage/package.use". Но у меня такого файла нет... ;)

SpeedHack писал(а):
07.11.2007 22:32
"Адрес не подскажите?" © Желательно на русском.
Как правильно подсказывают коллеги, актуальный вариант - man portage. Был перевод в русскоязычной секции Gentoo Wiki, но сейчас у меня этот сайт не открывается, не могу ни проверить, ни тем более ссылку дать.
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Решено: Все слои USE-флагов

Сообщение serzh-z »

ddc, ну ты ваще... нет бы просто сделать USE="-*"... -))
Спасибо сказали:
Аватара пользователя
ddc
Бывший модератор
Сообщения: 3535
Статус: OpenBSD-compatible
ОС: OpenBSD -current

Re: Решено: Все слои USE-флагов

Сообщение ddc »

serzh-z, не, "-*" - это неправильно. Я предпочитаю отходить от стандартного варианта только в том, что мне важно. А там, где мне всё равно, лучше пусть будет более отработанная схема.
И ещё раз: я этот всё не писал, я это генирировал. Я себе даже специальный shell-скрипт сделал (менее тривиальный, чем указанное выше).
Спасибо сказали:
Аватара пользователя
SpeedHack
Сообщения: 116

Re: Решено: Все слои USE-флагов

Сообщение SpeedHack »

Может USE="*" :D

По теме - пока что решил остаться при своем варианте :) Тупо перед установкой каждого пакета -pvt и прописывать нужные флаги. Не собирался пакет - разбираться. Чего-то не хватает - опять разбираться. Все таки кол-во используемого мной софта ограничего, думаю за месяц-другой сформируется постоянный список USE флагов, которые уже врятли придется редактировать (если конечно вдруг меня что-то не подтолкнет перейти одновременно с KDE на Gnome и с PHP на Assembler ^^).

serzh-z, не, "-*" - это неправильно. Я предпочитаю отходить от стандартного варианта только в том, что мне важно. А там, где мне всё равно, лучше пусть будет более отработанная схема.
И ещё раз: я этот всё не писал, я это генирировал. Я себе даже специальный shell-скрипт сделал (менее тривиальный, чем указанное выше).


У меня как раз на эту тему другие мысли :) Gentoo - свобода, скорость, минимализм. И по дефлоту наставлять всякого хлама не хочется, который мне может и вовсе не пригодиться. Правда, от флага minimal, после многократного печального опыта, пришлось отказаться (xorg забастовал, vim превратился в less (всмысле даже писать разучился, не говоря о подсветке синтаксиса и т.д.)).
Спасибо сказали:
Аватара пользователя
ddc
Бывший модератор
Сообщения: 3535
Статус: OpenBSD-compatible
ОС: OpenBSD -current

Re: Решено: Все слои USE-флагов

Сообщение ddc »

SpeedHack, вот "не флейма ради а правды для" скажу: в Gentoo нельзя добиться такого минимума, какой возможен в большинстве других дистрибутивов, и в особенности в Debian.
Спасибо сказали:
Аватара пользователя
SpeedHack
Сообщения: 116

Re: Решено: Все слои USE-флагов

Сообщение SpeedHack »

Хм, но если убрать большинство USE флагов... Пакеты будут собираться без доп. опций (которые прописываются в ./configure) и соответственно меньше будут весить, возможно, быстрее работать, и меньше тянуть зависимостей.
Спасибо сказали:
Аватара пользователя
ddc
Бывший модератор
Сообщения: 3535
Статус: OpenBSD-compatible
ОС: OpenBSD -current

Re: Решено: Все слои USE-флагов

Сообщение ddc »

Это так, но зато устанавливается цепь сборки и всё то, что в других дистрибутивах называется devel/ или *-dev.
Спасибо сказали:
Аватара пользователя
SpeedHack
Сообщения: 116

Re: Решено: Все слои USE-флагов

Сообщение SpeedHack »

Может кто подскажет, как увидеть ВСЕ USE флаги, которые на данный момент используются приложениями. Не только те, которые включены, но и те которые отключены. В общем говоря, нужно то, что выдает eix -IU только в более компактном виде и без повторений флагов.
Спасибо сказали:
Аватара пользователя
quadrik
Сообщения: 350
ОС: gentoo, только на серверах

Re: Решено: Все слои USE-флагов

Сообщение quadrik »

SpeedHack писал(а):
02.02.2008 12:43
Может кто подскажет, как увидеть ВСЕ USE флаги, которые на данный момент используются приложениями. Не только те, которые включены, но и те которые отключены. В общем говоря, нужно то, что выдает eix -IU только в более компактном виде и без повторений флагов.

emerge -pv [приложение]

Сам я просто держу большую, но хорошо упорядоченную базу в make.conf. Исключение - в package.use. Стальное - по дефолту, потому что не маньяк.
Спасибо сказали:
Аватара пользователя
SpeedHack
Сообщения: 116

Re: Решено: Все слои USE-флагов

Сообщение SpeedHack »

guard, я просил все USE, а не какого-то определенного пакета вообще-то... Все USE можно увидеть в eix -I, но там слишком много левой инфы, которая мне не нужна и у многих приложений флаги повторяются (особенно debug). Мне нужно это все в строку собрать. Неужели нет готовой софтины и придется все загонять в файл, а потом регулярками обрабатывать?
Спасибо сказали:
Аватара пользователя
quadrik
Сообщения: 350
ОС: gentoo, только на серверах

Re: Решено: Все слои USE-флагов

Сообщение quadrik »

SpeedHack писал(а):
02.02.2008 16:44
guard, я просил все USE, а не какого-то определенного пакета вообще-то... Все USE можно увидеть в eix -I, но там слишком много левой инфы, которая мне не нужна и у многих приложений флаги повторяются (особенно debug). Мне нужно это все в строку собрать. Неужели нет готовой софтины и придется все загонять в файл, а потом регулярками обрабатывать?

/usr/portage/profiles/use.desc и /usr/portage/profiles/use.local.desc
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Решено: Все слои USE-флагов

Сообщение serzh-z »

SpeedHack, можно сделать поиск по /var/db/pkg/*/USE и произвести их фильтрацию.

Поскольку догадываюсь, что целью является чистка /etc/make.conf и /etc/portage от ненужных флагов, то советую попробовать eix-test-obsolete, замечательная штука. Жаль работает только с Portage.
Спасибо сказали:
Аватара пользователя
SpeedHack
Сообщения: 116

Re: Решено: Все слои USE-флагов

Сообщение SpeedHack »

Действительно, просто хотел еще раз просмотреть список всех USE флагов, прочитать описания и окончательно откорректировать make.conf.

Вот наваял скрипт пока что:

eix.php

Код: Выделить всё

<?php

$result = shell_exec('eix -I');

preg_match_all('~Available versions:.*{([^{]+)}~', $result, $matches);

foreach ($matches[1] as $flags) {
    $tmp = explode(' ', $flags);
    foreach ($tmp as $flag) {
        $use[] = $flag;
    }
}

sort($use);
$use = array_unique($use);

foreach ($use as $current) {
    echo $current . PHP_EOL;
}

?>


Надеюсь он покажет все флаги (или же есть еще какие, которые eix -I не показывает?).
Спасибо сказали:
SergDL
Сообщения: 2
ОС: Linux

Re: Решено: Все слои USE-флагов

Сообщение SergDL »

emerge ufed
Спасибо сказали: