Use флаги
Модератор: /dev/random
-
- Сообщения: 101
- ОС: Gentoo
Use флаги
Здравствуйте. Читал faq, но то что нужно как раз зачёркнуто :)
Каково влияние use флагов? Ну тоесть я понимаю что к примеру imagemagick надо собиать с jpeg и прочими для поддержки функционала, но весь список флагов великоват. Если сразу вписать в make.conf всё, что собираюсь использовать то все собираемые программы будут собиратся с этими флагами? Не сильно ли это "перергужает" их (программы в смысле ) ? Ведь если собрать что-то мелкое с поддержкой всего то выйдет уже далеко не мелкое...
Где можно найти список используемых пакетов и библиотек к устанавливаемым программам? Просто не хотелось бы компилить лишнее... (ну тоесть собирать только с тем что "критически" необходимо).
Ещё есть вопрос про сам "синтаксис" написание флагов. Например:
USE="gtk -qt" - использовать gtk, но не использовать qt? Это нужно для отключения флагов в профиле? (например если в профиле qt в любом случае используется)
И где можно посмотреть флаги из конкретного профиля?
Заранее спасибо.
Ещё в этой теме, насколько я понял описывается ускорение процесса компиляции?
http://forums.gentoo.org/viewtopic-t-529291.html
Каково влияние use флагов? Ну тоесть я понимаю что к примеру imagemagick надо собиать с jpeg и прочими для поддержки функционала, но весь список флагов великоват. Если сразу вписать в make.conf всё, что собираюсь использовать то все собираемые программы будут собиратся с этими флагами? Не сильно ли это "перергужает" их (программы в смысле ) ? Ведь если собрать что-то мелкое с поддержкой всего то выйдет уже далеко не мелкое...
Где можно найти список используемых пакетов и библиотек к устанавливаемым программам? Просто не хотелось бы компилить лишнее... (ну тоесть собирать только с тем что "критически" необходимо).
Ещё есть вопрос про сам "синтаксис" написание флагов. Например:
USE="gtk -qt" - использовать gtk, но не использовать qt? Это нужно для отключения флагов в профиле? (например если в профиле qt в любом случае используется)
И где можно посмотреть флаги из конкретного профиля?
Заранее спасибо.
Ещё в этой теме, насколько я понял описывается ускорение процесса компиляции?
http://forums.gentoo.org/viewtopic-t-529291.html
-
- Сообщения: 101
- ОС: Gentoo
Re: Use флаги
Спасибо большое. Видимо у меня либо неизвествно откуда был скачан handbook или очень старый.
-
- Сообщения: 101
- ОС: Gentoo
Re: Use флаги
Ан нет, рано сказал что решено 
На вот это как раз там ничего нету.

Если сразу вписать в make.conf всё, что собираюсь использовать то все собираемые программы будут собиратся с этими флагами? Не сильно ли это "перергужает" их (программы в смысле ) ? Ведь если собрать что-то мелкое с поддержкой всего то выйдет уже далеко не мелкое...
На вот это как раз там ничего нету.
-
- Сообщения: 1913
- Статус: zzz..z
Re: Use флаги
Мораль - нет необходимости все USE флаги писать в make.confЕсть два типа USE-флагов: глобальные и локальные.
* Глобальный USE-флаг используется несколькими пакетами и является системным. Это то, что большинство видит в качестве USE-флагов.
* Локальный USE-флаг используется единичным пакетом для настройки определенных параметров самого пакета.
[x] close
-
- Сообщения: 101
- ОС: Gentoo
Re: Use флаги
Тоесть, в принципе, вообще чтоли оставить use пустым, а собирать только с локальными?
И вопрос был немного не в том. Будут ли даже мелкие утилиты собиратся со ВСЕМИ библиотеками из use флагов или только с теми, которые им надо?
И ещё последний вопрос: как узнать текущий профиль?
И вопрос был немного не в том. Будут ли даже мелкие утилиты собиратся со ВСЕМИ библиотеками из use флагов или только с теми, которые им надо?
И ещё последний вопрос: как узнать текущий профиль?

-
- Сообщения: 1913
- Статус: zzz..z
Re: Use флаги
Наследование
Конечно же, существует определенная последовательность формирования значения USE. Вы же не хотите объявить USE="-java" только для того, чтобы узнать, что java все еще включена из-за значения с более высоким приоритетом. Последовательность установки значения USE в порядке приоритета (от меньшего к большему) такова:
1. значение USE по умолчанию, объявленное в файлах make.defaults в составе вашего профиля
2. значение, определенное пользователем в /etc/make.conf
3. значение, указанное пользователем в /etc/portage/package.use
4. значение, определенное пользователям в переменной среды
т.е. Да, будут ;-)
Код: Выделить всё
eselect profile list
[x] close
-
- Сообщения: 101
- ОС: Gentoo
Re: Use флаги
Всё, спасибо большое. Теперь надо думать как составить их... или уже тогда пользоваться локальными, потому что собирать что-то мелокое с кучей ненужного как-то не очень.
-
- Сообщения: 1913
- Статус: zzz..z
Re: Use флаги
Ознакомтесь с описанием use флагов, определитесь в необходимости функционала который они подключают, выделите функционал применимый ко всей системе (необходимость в нем или его отсутсвие), задайте в make.conf эти самые флаги применимые ко всей системе в целом, а не конкретному приложению.
Давайте рассмотрим конкретный пример — ключевое слово kde. Если в вашей переменной USE нет этого слова, то все пакеты, где поддержка KDE является необязательной, собрираются без нее. Все пакеты, где зависимость от KDE является необязательной, устанавливаются без установки библиотек KDE (по зависимости). Если же вы определите ключевое слово kde, то эти пакеты будут собираться с поддержкой KDE, а KDE будет установлен в качестве необходимого.
[x] close
-
- Сообщения: 101
- ОС: Gentoo
Re: Use флаги
Спасибо, буду пробовать. Просто хочется получить действительно систему "под себя".
-
- Сообщения: 1104
- ОС: ArchLinux
Re: Use флаги
Если в make.conf написано USE="-gtk", это не значит, что всё будет собираться без поддержки gtk. Если конкретный порт имеет флаг gtk, то он будет собран без него. Если нет, то нет. Например, firefox написан на gtk, но use-флага gtk у него нет, поэтому для него не важно, что написано в make.conf про gtk.
Перед установкой чего-то можно сделать emerge something -vp, он покажет какие у этого something есть use-флаги и какие из них уже включены/выключены. Потом просто дописать нужное в make.conf или package.use и emerge'ить дальше.
Перед установкой чего-то можно сделать emerge something -vp, он покажет какие у этого something есть use-флаги и какие из них уже включены/выключены. Потом просто дописать нужное в make.conf или package.use и emerge'ить дальше.
Компьютер служит для решения тех проблем, которых до изобретения компьютера не существовало
-
- Сообщения: 101
- ОС: Gentoo
Re: Use флаги
Спасибо. Но у меня появилось тут ещё пара вопросов
На сборку ядра флаги не влияют?
И у процессора по cat /proc/cpuinfo тоже есть список флагов. Их обязательно вписывать, или при march=native сами подключатся?
На сборку ядра флаги не влияют?
И у процессора по cat /proc/cpuinfo тоже есть список флагов. Их обязательно вписывать, или при march=native сами подключатся?
-
- Сообщения: 1913
- Статус: zzz..z
Re: Use флаги
нет
Safe Cflags
Флаги оптимизации
P.S. Рекомендую посмотреть ветку Помощь новичку с Gentoo, кстати, она как раз предназначена для тех у кого
;-)
[x] close
-
- Сообщения: 594
Re: Use флаги
Чтобы не создавать новую тему с таким же названием, спрошу тут. Я сам арчевод, но мне интересно, что значит, когда для установки Qt'шной программы указываются флаги USE="-qt3 -qt4"? Как можно запускать Qt'шную программу без Qt?
-
- Сообщения: 207
- Статус: GNU/FireShow
- ОС: Mac OS X | FreeBSD
Re: Use флаги
Эммм... Приведите, пожалуйста, пример программы - самому стало интересно =)
Вообще предположу, что данная кутэшная программа имеет какой-то еще интерфейс, и если ее собрать без поддержки qt - она будет работать с этим интерфейсом (например, во freebsd аналогично собираются vim и gvim - это один и тот же порт, просто в зависимости от флагов можно не собирать ему поддержку gtk, и он будет исключительно консольным).
Вообще предположу, что данная кутэшная программа имеет какой-то еще интерфейс, и если ее собрать без поддержки qt - она будет работать с этим интерфейсом (например, во freebsd аналогично собираются vim и gvim - это один и тот же порт, просто в зависимости от флагов можно не собирать ему поддержку gtk, и он будет исключительно консольным).
Если в Linux не существует решения вашей проблемы... То у вас неправильная проблема.
-
- Сообщения: 594
-
- Сообщения: 207
- Статус: GNU/FireShow
- ОС: Mac OS X | FreeBSD
Re: Use флаги
awua писал(а): ↑19.07.2012 17:14http://www.gentoo.org/doc/ru/handbook/hand...rt=2&chap=2
Листинг 2.2.
А, ну тогда все просто. Если программа использует библиотеки qt, это не значит, что она изначально написана на фреймворке qt. И если программу собрать с -qt, то она просто не будет обладать набором функционала, для которого ей требуются библиотеки qt. Пример я привел выше по поводу vim и gvim. Аналогичного примера для qt назвать не смогу, поскольку никогда не пользовался qt-софтом, да и линукс с графической оболочкой давно не использую...
Если в Linux не существует решения вашей проблемы... То у вас неправильная проблема.
-
- Сообщения: 594
Re: Use флаги
А как с USE-флагами в Gentoo вообще - много ерунды отключить можно? Например, третегном без PulseAudio собрать можно?
И ещё вопрос: с проприетарным софтом как - он поставляется в бинарниках без возможности компиляции? Или его в репах просто нет?
И ещё вопрос: с проприетарным софтом как - он поставляется в бинарниках без возможности компиляции? Или его в репах просто нет?
-
- Сообщения: 502
- ОС: gentoo -> archlinux
Re: Use флаги
если позволяет лицензия, то бывает и в репах. если этот софт с закрытым кодом, то понятное дело, что никакая гента не даст вам скомпилировать его самому.
для сановской jdk (тогда еще сановской
), например, надо было самому скачивать jdk с офиц. сайта, а потом еще принимать лицензию перед установкой.
а вообще не мучайтесь: лучше арчика все равно ничего нету =)
для сановской jdk (тогда еще сановской

а вообще не мучайтесь: лучше арчика все равно ничего нету =)
морнинг круассан..
-
- Сообщения: 207
- Статус: GNU/FireShow
- ОС: Mac OS X | FreeBSD
Re: Use флаги
Говорят (С), что можно, но это несет за собой тучу проблем. Погуглите.
а вообще не мучайтесь: лучше арчика все равно ничего нету =)
Spoiler
Холивар... =)
Если в Linux не существует решения вашей проблемы... То у вас неправильная проблема.
-
- Сообщения: 1319
Re: Use флаги
да. да. да. да/нет (RESTRICT="binchecks fetch mirror strip etc") see man 5 ebuild for details.
see also GLEP 23 [1] for details.
а как же microsoft ® windows ® {7,8}™? (gentoo prefix x86-winnt) ☺
[1] http://www.gentoo.org/proj/en/glep/glep-0023.html
:wq
-
- Сообщения: 954
- ОС: [K]Ubuntu, Debian
Re: Use флаги
Третегном не собирал, а для кед PulseAudio выключен по умолчанию. Akonadi и его зависимые ("semantic-desktop") отрубается -- очень радует.
Пульсу, кстати, совсем недавно попробовал включить -- по-моему, стало только лучше (за качество звука не ручаюсь, но настройки стали удобнее). Создам отдельную тему для обсуждения.
Пульсу, кстати, совсем недавно попробовал включить -- по-моему, стало только лучше (за качество звука не ручаюсь, но настройки стали удобнее). Создам отдельную тему для обсуждения.
-
- Сообщения: 594
- Статус: Одмин
- ОС: openSuSE 10.2
Re: Use флаги
Я ничего не понял: то, о чём вы говорите, я и так знаю.
У меня куча пакетов собрана с временными USE, и при пересборке мира всё это нужно учитывать и держать в голове. Маленький пример. Мне нужно в системных USE-флагах оставить "perl", а из subversion его убрать. Затем, в системных USE-флагах оставить "subversion" (для layman), а в git его убрать. Дайте мне, пожалуйста, инструкцию. Что создавать? packages.use пуст. Что туда вписать? Или создать каталог, а что в нём?
У меня куча пакетов собрана с временными USE, и при пересборке мира всё это нужно учитывать и держать в голове. Маленький пример. Мне нужно в системных USE-флагах оставить "perl", а из subversion его убрать. Затем, в системных USE-флагах оставить "subversion" (для layman), а в git его убрать. Дайте мне, пожалуйста, инструкцию. Что создавать? packages.use пуст. Что туда вписать? Или создать каталог, а что в нём?
А йа Ктулху! А йа - Медве-ед! А где Путин? Путина не-ет! Если встретишь - зохавай моск! А вернёшься - скажи ПРЕВЕД! Превед, Ктулху! Превед, Медвед!
-
- Модератор
- Сообщения: 21256
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Use флаги
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 4
- ОС: Gentoo
Re: Use флаги
zenitur писал(а): ↑27.06.2013 08:51Я ничего не понял: то, о чём вы говорите, я и так знаю.
У меня куча пакетов собрана с временными USE, и при пересборке мира всё это нужно учитывать и держать в голове. Маленький пример. Мне нужно в системных USE-флагах оставить "perl", а из subversion его убрать. Затем, в системных USE-флагах оставить "subversion" (для layman), а в git его убрать. Дайте мне, пожалуйста, инструкцию. Что создавать? packages.use пуст. Что туда вписать? Или создать каталог, а что в нём?
Пример packages.use
Добавить флаг ipv6 к пакету
Код: Выделить всё
net-libs/libpcap ipv6
Убрать флаг ivp6 у пакета версии 1.4.0
Код: Выделить всё
=net-libs/libpcap-1.4.0 -ipv6
В вашем случае флаги которые нужно убрать для subversion и git прописать в packages.use типа:
Код: Выделить всё
dev-vcs/subversion -perl
dev-vcs/git -subversion
P.S.
Так-же в /usr/portage/profiles/ есть файлики use.desc и use.local.desc с описаниями флагов. Можно так почитать, а можно скриптом иcкать описание нужного флага:
Код: Выделить всё
#!/bin/sh
USE=$1
egrep -ni -e '^'$USE /usr/portage/profiles/use.desc |sed s/[0-9]*:/\/
egrep -ni -e '^*/'$USE -e '^*:'$USE /usr/portage/profiles/use.local.desc |sed s/[0-9]*:/\/i