Portál AbcLinuxu, 1. června 2024 13:31

Gentoo: USE flags - zkratky a jejich popis

Jak specifikovat USE flagy

Globálně platné USE flagy se zapisují do souboru /etc/make.conf ve tvaru

USE=" ... seznam flagů oddělených mezerami, může být i víceřádkový ... "

Je také možné specifikovat USE flagy zvlášť pro jednotlivé balíčky v souboru /etc/portage/package.use; zde má každý řádek tvar

skupina/balíček     seznam flagů oddělených mezerami
(Soubor může obsahovat prázdné řádky a komentáře na samostatných řádcích uvozené znakem '#'; tyto řádky se ignorují.)
Jeden balíček může být v souboru /etc/portage/package.use uveden vícekrát; uvedené flagy se zkombinují dohromady.

Často používané USE flagy

Flagy pro instalaci volitelných částí balíčků

Flagy zapínající systémové služby a podporu hardwaru

Flagy ovlivňující generovaný kód

Flagy pro podporu národních abeced

Flagy pro grafické prostředí

Flagy pro kompresní a šifrovací algoritmy

Flagy pro grafiku a multimédia

Definitivní seznam

Výše uvedené flagy jsou jen výběrem těch nejčastějších. Úplný seznam je součástí portage rozdělený na dvě části. Seznam flagů společných pro více balíků (tzv. globální) je v /usr/portage/profiles/use.desc. Druhý soubor /usr/portage/profiles/use.local.desc obsahuje seznam flagů specifických pro konkrétní ebuild. Narozdíl od globálních se zde stejný flag může opakovat, každý záznam popisuje jakým způsobem ho chápe jiný ebuild. Stejně tak se zde může vyskytnout jméno flagu které je už uvedené v globálním seznamu. I v takovém případě nějak upřesňuje popis pro dotyčný ebuild oproti globálnímu který bývá velmi obecný.

Zjišťování USE flagů

Seznam a popis všech USE proměnných dostupných pro požadovaný balík lze získat pomocí příkazu equery uses balík. Utilita equery se nachází v balíku Gentoolkit.Ve stejném balíku je dostupný i program euse, která vypíše popis daného USE flagu

$ euse -i acl
global use flags (searching: acl)
************************************************************
[+  D   ] acl - Adds support for Access Control Lists

local use flags (searching: acl)
************************************************************
[+  D   ] acl
    net-print/hplip: Install udev acl rules which needs sys-fs/udev with 
    acl support
        [- b] 3.11.5 [gentoo]
        [- b] 3.11.7 [gentoo]

[+  D   ] acl
    sys-fs/udev: apply ACLs for users with local forground sessions
              114 [gentoo]
              115-r1 [gentoo]
              119 [gentoo]
              124-r1 [gentoo]
              124-r2 [gentoo]
              141 [gentoo]
              141-r1 [gentoo]
              146-r1 [gentoo]
              149 [gentoo]
              151-r4 [gentoo]
              164-r2 [gentoo]
        [+  ] 171-r1 [gentoo]
        [+  ] 9999 [gentoo]

Taktéž lze použí app-portage/euses

$ eix euses
[I] app-portage/euses
     Available versions:  2.5.7
     Installed versions:  2.5.7(01:02:55 10.2.2011)
     Homepage:            http://www.xs4all.nl/~rooversj/gentoo
     Description:         look up USE flag descriptions fast

$ euses acl
acl - Adds support for Access Control Lists
oracle - Enable Oracle Database support
app-admin/collectd:collectd_plugins_oracle - Build the oracle input plugin (SQL-queries one or more Oracle database systems)
mail-mta/exim:exiscan-acl - Patch providing support for content scanning
net-im/ekg2:oracle - Support logging messages into Oracle database.
net-print/hplip:acl - Install udev acl rules which needs sys-fs/udev with acl support
sys-fs/udev:acl - apply ACLs for users with local forground sessions
msnd-pinnacle - Turtle Beach MultiSound Pinnacle/Fiji driver

Jednoduchý nástroj equery v tomto případě vypíše s jakou podporou lze balík ACL sestavit.

$equery uses acl

[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
 * Found these USE flags for sys-apps/acl-2.2.51:
 U I
 + + nls         : Adds Native Language Support (using gettext - GNU locale utilities)
 - - static-libs : Build static libraries

Opět equery, teď vypíše jaké balíky můžou/byly sestaveny s ACL podporou. V tomhle příkladu není s ACL sestaven žádný.

$equery hasuse acl
 * Searching for USE flag acl ... 
[IP-] [  ] app-admin/logrotate-3.8.0:0
[IP-] [  ] app-arch/libarchive-2.8.4-r1:0
[IP-] [  ] app-cdr/cdrtools-3.00:0
[IP-] [  ] app-editors/gvim-7.3.189:0
[IP-] [  ] app-editors/vim-7.3.189:0
[IP-] [  ] app-editors/vim-core-7.3.189:0
[IP-] [  ] dev-libs/libisofs-1.0.0:0
[IP-] [  ] gnome-base/gnome-vfs-2.24.4-r1:2
[IP-] [  ] kde-base/kdelibs-4.6.5-r1:4
[IP-] [  ] net-fs/samba-3.4.12:0
[IP-] [  ] net-misc/rsync-3.0.8:0
[IP-] [  ] net-print/cups-1.4.6-r2:0
[IP-] [  ] sys-apps/coreutils-8.7:0
[IP-] [  ] sys-apps/sed-4.2.1:0
[IP-] [  ] sys-devel/gettext-0.18.1.1-r1:0
[IP-] [  ] sys-fs/ntfs3g-2011.4.12:0
Ještě má pár dalších užitečných voleb.

Také je užitečný příkaz qlist v tomhle případě vypíše všechny instalované balíky které mají v názvu ACL.

$qlist -I acl
sys-apps/acl
virtual/acl
To samé ale ukáže s jakými USE byl sestaven balík. Příkaz qlist má ale zase víc užitečných voleb.
$qlist -U acl
sys-apps/acl (nls)
virtual/acl

Dokument vytvořil: jadd, 16.7.2011 00:44 | Poslední úprava: rADOn, 28.5.2012 19:16 | Další přispěvatelé: Bluebear, jadd | Historie změn | Zobrazeno: 3845×

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.