Use флаги

Sabayon, Calculate, Funtoo, Exherbo

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

Ka40k
Сообщения: 101
ОС: Gentoo

Use флаги

Сообщение Ka40k »

Здравствуйте. Читал faq, но то что нужно как раз зачёркнуто :)
Каково влияние use флагов? Ну тоесть я понимаю что к примеру imagemagick надо собиать с jpeg и прочими для поддержки функционала, но весь список флагов великоват. Если сразу вписать в make.conf всё, что собираюсь использовать то все собираемые программы будут собиратся с этими флагами? Не сильно ли это "перергужает" их (программы в смысле ) ? Ведь если собрать что-то мелкое с поддержкой всего то выйдет уже далеко не мелкое...
Где можно найти список используемых пакетов и библиотек к устанавливаемым программам? Просто не хотелось бы компилить лишнее... (ну тоесть собирать только с тем что "критически" необходимо).
Ещё есть вопрос про сам "синтаксис" написание флагов. Например:
USE="gtk -qt" - использовать gtk, но не использовать qt? Это нужно для отключения флагов в профиле? (например если в профиле qt в любом случае используется)
И где можно посмотреть флаги из конкретного профиля?
Заранее спасибо.

Ещё в этой теме, насколько я понял описывается ускорение процесса компиляции?
http://forums.gentoo.org/viewtopic-t-529291.html
Спасибо сказали:
Аватара пользователя
deadhead
Сообщения: 1913
Статус: zzz..z

Re: Use флаги

Сообщение deadhead »

[x] close
Спасибо сказали:
Ka40k
Сообщения: 101
ОС: Gentoo

Re: Use флаги

Сообщение Ka40k »

Спасибо большое. Видимо у меня либо неизвествно откуда был скачан handbook или очень старый.
Спасибо сказали:
Ka40k
Сообщения: 101
ОС: Gentoo

Re: Use флаги

Сообщение Ka40k »

Ан нет, рано сказал что решено :)
Если сразу вписать в make.conf всё, что собираюсь использовать то все собираемые программы будут собиратся с этими флагами? Не сильно ли это "перергужает" их (программы в смысле ) ? Ведь если собрать что-то мелкое с поддержкой всего то выйдет уже далеко не мелкое...

На вот это как раз там ничего нету.
Спасибо сказали:
Аватара пользователя
deadhead
Сообщения: 1913
Статус: zzz..z

Re: Use флаги

Сообщение deadhead »

Ka40k писал(а):
29.03.2010 15:24
На вот это как раз там ничего нету.

Есть два типа USE-флагов: глобальные и локальные.

* Глобальный USE-флаг используется несколькими пакетами и является системным. Это то, что большинство видит в качестве USE-флагов.
* Локальный USE-флаг используется единичным пакетом для настройки определенных параметров самого пакета.
Мораль - нет необходимости все USE флаги писать в make.conf
[x] close
Спасибо сказали:
Ka40k
Сообщения: 101
ОС: Gentoo

Re: Use флаги

Сообщение Ka40k »

Тоесть, в принципе, вообще чтоли оставить use пустым, а собирать только с локальными?
И вопрос был немного не в том. Будут ли даже мелкие утилиты собиратся со ВСЕМИ библиотеками из use флагов или только с теми, которые им надо?
И ещё последний вопрос: как узнать текущий профиль? :)
Спасибо сказали:
Аватара пользователя
deadhead
Сообщения: 1913
Статус: zzz..z

Re: Use флаги

Сообщение deadhead »

Ka40k писал(а):
29.03.2010 15:44
Будут ли даже мелкие утилиты собиратся со ВСЕМИ библиотеками из use флагов или только с теми, которые им надо?

Наследование

Конечно же, существует определенная последовательность формирования значения USE. Вы же не хотите объявить USE="-java" только для того, чтобы узнать, что java все еще включена из-за значения с более высоким приоритетом. Последовательность установки значения USE в порядке приоритета (от меньшего к большему) такова:

1. значение USE по умолчанию, объявленное в файлах make.defaults в составе вашего профиля
2. значение, определенное пользователем в /etc/make.conf
3. значение, указанное пользователем в /etc/portage/package.use
4. значение, определенное пользователям в переменной среды

т.е. Да, будут ;-)
Ka40k писал(а):
29.03.2010 15:44
как узнать текущий профиль?

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

eselect profile list
знаком * будет отмечен текщий профиль
[x] close
Спасибо сказали:
Ka40k
Сообщения: 101
ОС: Gentoo

Re: Use флаги

Сообщение Ka40k »

Всё, спасибо большое. Теперь надо думать как составить их... или уже тогда пользоваться локальными, потому что собирать что-то мелокое с кучей ненужного как-то не очень.
Спасибо сказали:
Аватара пользователя
deadhead
Сообщения: 1913
Статус: zzz..z

Re: Use флаги

Сообщение deadhead »

Ознакомтесь с описанием use флагов, определитесь в необходимости функционала который они подключают, выделите функционал применимый ко всей системе (необходимость в нем или его отсутсвие), задайте в make.conf эти самые флаги применимые ко всей системе в целом, а не конкретному приложению.
Давайте рассмотрим конкретный пример — ключевое слово kde. Если в вашей переменной USE нет этого слова, то все пакеты, где поддержка KDE является необязательной, собрираются без нее. Все пакеты, где зависимость от KDE является необязательной, устанавливаются без установки библиотек KDE (по зависимости). Если же вы определите ключевое слово kde, то эти пакеты будут собираться с поддержкой KDE, а KDE будет установлен в качестве необходимого.
[x] close
Спасибо сказали:
Ka40k
Сообщения: 101
ОС: Gentoo

Re: Use флаги

Сообщение Ka40k »

Спасибо, буду пробовать. Просто хочется получить действительно систему "под себя".
Спасибо сказали:
Аватара пользователя
Black
Сообщения: 1104
ОС: ArchLinux

Re: Use флаги

Сообщение Black »

Если в make.conf написано USE="-gtk", это не значит, что всё будет собираться без поддержки gtk. Если конкретный порт имеет флаг gtk, то он будет собран без него. Если нет, то нет. Например, firefox написан на gtk, но use-флага gtk у него нет, поэтому для него не важно, что написано в make.conf про gtk.
Перед установкой чего-то можно сделать emerge something -vp, он покажет какие у этого something есть use-флаги и какие из них уже включены/выключены. Потом просто дописать нужное в make.conf или package.use и emerge'ить дальше.
Компьютер служит для решения тех проблем, которых до изобретения компьютера не существовало
Спасибо сказали:
Ka40k
Сообщения: 101
ОС: Gentoo

Re: Use флаги

Сообщение Ka40k »

Спасибо. Но у меня появилось тут ещё пара вопросов
На сборку ядра флаги не влияют?
И у процессора по cat /proc/cpuinfo тоже есть список флагов. Их обязательно вписывать, или при march=native сами подключатся?
Спасибо сказали:
Аватара пользователя
deadhead
Сообщения: 1913
Статус: zzz..z

Re: Use флаги

Сообщение deadhead »

Ka40k писал(а):
31.03.2010 09:55
На сборку ядра флаги не влияют?

нет
Ka40k писал(а):
31.03.2010 09:55
Их обязательно вписывать, или при march=native сами подключатся?

Safe Cflags
Флаги оптимизации

P.S. Рекомендую посмотреть ветку Помощь новичку с Gentoo, кстати, она как раз предназначена для тех у кого
Ka40k писал(а):
31.03.2010 09:55
появилось тут ещё пара вопросов
;-)
[x] close
Спасибо сказали:
awua
Сообщения: 594

Re: Use флаги

Сообщение awua »

Чтобы не создавать новую тему с таким же названием, спрошу тут. Я сам арчевод, но мне интересно, что значит, когда для установки Qt'шной программы указываются флаги USE="-qt3 -qt4"? Как можно запускать Qt'шную программу без Qt?
Спасибо сказали:
Аватара пользователя
l0stparadis3
Сообщения: 207
Статус: GNU/FireShow
ОС: Mac OS X | FreeBSD

Re: Use флаги

Сообщение l0stparadis3 »

Эммм... Приведите, пожалуйста, пример программы - самому стало интересно =)

Вообще предположу, что данная кутэшная программа имеет какой-то еще интерфейс, и если ее собрать без поддержки qt - она будет работать с этим интерфейсом (например, во freebsd аналогично собираются vim и gvim - это один и тот же порт, просто в зависимости от флагов можно не собирать ему поддержку gtk, и он будет исключительно консольным).
Если в Linux не существует решения вашей проблемы... То у вас неправильная проблема.
Спасибо сказали:
awua
Сообщения: 594

Re: Use флаги

Сообщение awua »

Спасибо сказали:
Аватара пользователя
l0stparadis3
Сообщения: 207
Статус: GNU/FireShow
ОС: Mac OS X | FreeBSD

Re: Use флаги

Сообщение l0stparadis3 »

awua писал(а):
19.07.2012 17:14
http://www.gentoo.org/doc/ru/handbook/hand...rt=2&chap=2
Листинг 2.2.

А, ну тогда все просто. Если программа использует библиотеки qt, это не значит, что она изначально написана на фреймворке qt. И если программу собрать с -qt, то она просто не будет обладать набором функционала, для которого ей требуются библиотеки qt. Пример я привел выше по поводу vim и gvim. Аналогичного примера для qt назвать не смогу, поскольку никогда не пользовался qt-софтом, да и линукс с графической оболочкой давно не использую...
Если в Linux не существует решения вашей проблемы... То у вас неправильная проблема.
Спасибо сказали:
awua
Сообщения: 594

Re: Use флаги

Сообщение awua »

А как с USE-флагами в Gentoo вообще - много ерунды отключить можно? Например, третегном без PulseAudio собрать можно?
И ещё вопрос: с проприетарным софтом как - он поставляется в бинарниках без возможности компиляции? Или его в репах просто нет?
Спасибо сказали:
Аватара пользователя
ishitori
Сообщения: 502
ОС: gentoo -> archlinux

Re: Use флаги

Сообщение ishitori »

если позволяет лицензия, то бывает и в репах. если этот софт с закрытым кодом, то понятное дело, что никакая гента не даст вам скомпилировать его самому.
для сановской jdk (тогда еще сановской :)), например, надо было самому скачивать jdk с офиц. сайта, а потом еще принимать лицензию перед установкой.

а вообще не мучайтесь: лучше арчика все равно ничего нету =)
морнинг круассан..
Спасибо сказали:
Аватара пользователя
l0stparadis3
Сообщения: 207
Статус: GNU/FireShow
ОС: Mac OS X | FreeBSD

Re: Use флаги

Сообщение l0stparadis3 »

awua писал(а):
19.07.2012 17:36
А как с USE-флагами в Gentoo вообще - много ерунды отключить можно? Например, третегном без PulseAudio собрать можно?

Говорят (С), что можно, но это несет за собой тучу проблем. Погуглите.

а вообще не мучайтесь: лучше арчика все равно ничего нету =)

Spoiler
Холивар... =)
Если в Linux не существует решения вашей проблемы... То у вас неправильная проблема.
Спасибо сказали:
Аватара пользователя
taaroa
Сообщения: 1319

Re: Use флаги

Сообщение taaroa »

awua писал(а):
19.07.2012 17:36
А как с USE-флагами в Gentoo вообще - много ерунды отключить можно? Например, третегном без PulseAudio собрать можно?
И ещё вопрос: с проприетарным софтом как - он поставляется в бинарниках без возможности компиляции? Или его в репах просто нет?

да. да. да. да/нет (RESTRICT="binchecks fetch mirror strip etc") see man 5 ebuild for details.
see also GLEP 23 [1] for details.

ishitori писал(а):
19.07.2012 20:53
а вообще не мучайтесь: лучше арчика все равно ничего нету =)

а как же microsoft ® windows ® {7,8}™? (gentoo prefix x86-winnt) ☺


[1] http://www.gentoo.org/proj/en/glep/glep-0023.html
:wq
Спасибо сказали:
Kopilov
Сообщения: 954
ОС: [K]Ubuntu, Debian

Re: Use флаги

Сообщение Kopilov »

Третегном не собирал, а для кед PulseAudio выключен по умолчанию. Akonadi и его зависимые ("semantic-desktop") отрубается -- очень радует.
Пульсу, кстати, совсем недавно попробовал включить -- по-моему, стало только лучше (за качество звука не ручаюсь, но настройки стали удобнее). Создам отдельную тему для обсуждения.
Спасибо сказали:
zenitur
Сообщения: 594
Статус: Одмин
ОС: openSuSE 10.2

Re: Use флаги

Сообщение zenitur »

Я ничего не понял: то, о чём вы говорите, я и так знаю.

У меня куча пакетов собрана с временными USE, и при пересборке мира всё это нужно учитывать и держать в голове. Маленький пример. Мне нужно в системных USE-флагах оставить "perl", а из subversion его убрать. Затем, в системных USE-флагах оставить "subversion" (для layman), а в git его убрать. Дайте мне, пожалуйста, инструкцию. Что создавать? packages.use пуст. Что туда вписать? Или создать каталог, а что в нём?
А йа Ктулху! А йа - Медве-ед! А где Путин? Путина не-ет! Если встретишь - зохавай моск! А вернёшься - скажи ПРЕВЕД! Превед, Ктулху! Превед, Медвед!
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21256
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Use флаги

Сообщение Bizdelnick »

zenitur писал(а):
27.06.2013 08:51
Дайте мне, пожалуйста, инструкцию. Что создавать? packages.use пуст. Что туда вписать? Или создать каталог, а что в нём?

http://www.gentoo.org/doc/en/handbook/hand...doc_chap2_sect2
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
YurixAnd
Сообщения: 4
ОС: Gentoo

Re: Use флаги

Сообщение YurixAnd »

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
Спасибо сказали: