Je vais détailler ici l’affichage que peuvent avoir eix et emerge.
Cette page est loin d’être exhaustive, elle rassemble les éléments que j’ai pu rencontrer et que j’ai pris la peine de noter.
eix
root@server # eix btrfs-progs
[U] sys-fs/btrfs-progs
Available versions: 3.14.2(0/0) ~3.16.2(0/0)^t ~3.17.3(0/0)^t ~3.18.2(0/0)^t ~3.19.1(0/0)^t ~4.0(0/0)^t ~4.0.1(0/0)^t (~)4.1(0/0)^t **9999(0/0)^t {+convert}
Installed versions: 3.14.2(23:37:52 14/05/2015)
Homepage: https://btrfs.wiki.kernel.org
Description: Btrfs filesystem utilities
eix btrfs-progs- je recherche tous les paquets dont le nom match cette chaine de caractère.
[U]- le paquet est marqué comme étant à mettre à jour
3.14.2(0/0)- la version « 3.14.2 » fait partie du slot 0/0 (TODO à vérifier, surtout pour le
/). ~3.16.2- la version « 3.16.2 » est masqué par le keyword correspondant à mon architecture. Son ebuild contient une variable « KEYWORDS » contenant entre autre « ~x86 ».
3.16.2^t- la version « 3.16.2 » à une restriction sur la feature « test ».
Son ebuild contient une variable « RESTRICT » contenant entre autre « test ».
Cela veut dire que les tests ne seront jamais lancé même si l’utilisateur à inclue « test » dans la liste des feature portage à activer (
FEATURE=test).
Sources :
- Section « Slots » du man eix
- Section « Masquing » du man eix
- Section RESTRICT du man 5 ebuild
emerge
root@server # emerge -pv --update --changed-use --deep @world
…
[ebuild U ] net-misc/dhcp-4.3.3_p1::gentoo [4.3.1-r2::gentoo] USE="ipv6 … -client (-libressl) …" 8 989 KiB
[ebuild U ] sys-apps/man-db-2.7.5::gentoo [2.7.2::gentoo] USE="… manpager%* …" 1 471 KiB
…
Les différents symboles utilisée dans la description des USE flag :
- « - » le flag est disable
- « * » l’état du flag change par rapport à la version installé sur le système (enable → disable ou disable → enable)
- « % » l’existance du flag à changé par rapport à la version installé sur le système (création ou suppression)
- « (…) » le flag est forcé, masqué ou supprimé (on a pas la main dessus)
- « {…} » l’état du flag dépend d’une FEATURES
Les différents attribut des paquets (ici je me contenterai de copier le man) :
- « N » new (not yet installed)
- « S » new SLOT installation (side-by-side versions)
- « U » updating (to another version)
- « D » downgrading (best version seems lower)
- « r » reinstall (forced for some reason, possibly due to slot or sub-slot)
- « R » replacing (remerging same version)
- « F » fetch restricted (must be manually downloaded)
- « f » fetch restricted (already downloaded)
- « I » interactive (requires user input)
- « B » blocked by another package (unresolved conflict)
- « b » blocked by another package (automatically resolved conflict)
Au niveau des couleurs :
- Pour les noms des paquets :
- vert foncé : paquet système qui va être installé
- vert claire : paquet non système qui va être installé
- Pour les USE flags :
- rouge : le flag est enable et si le paquet est déjà installé sur le système il l’est avec le flag enable.
- bleu : le flag est disable et si le paquet est déjà installé sur le système il l’est avec le flag disable.
- jaune : tous les autres cas de figure.
Le ::gentoo en fin de nom de paquet correspond au repo dans lequel est trouvé l’ebuild.
::gentoo est le repo par défaut.
Par exemple, systemd-230-r2 est présent dans les repos « perso » et « gentoo ».
max@server % cat /etc/portage/repos.conf/perso.conf
[perso]
location = /usr/local/portage
masters = gentoo
auto-sync = no
max@server % stat /usr/local/portage/sys-apps/systemd/systemd-230-r2.ebuild
File: ‘/usr/local/portage/sys-apps/systemd/systemd-230-r2.ebuild’
…
max@server % stat /usr/portage/sys-apps/systemd/systemd-230-r2.ebuild
File: ‘/usr/portage/sys-apps/systemd/systemd-230-r2.ebuild’
…
max@server % eix -I systemd
…
[U] sys-apps/systemd
Available versions: 218-r5(0/2) 226-r2(0/2) ~228-r1(0/2) ~229(0/2) (~)230-r2(0/2) (~)230-r2(0/2)[1] **9999(0/2) {acl apparmor audit cryptsetup curl doc elfutils (+)gcrypt gnuefi gudev http idn importd introspection (+)kdbus +kmod +lz4 lzma nat pam policykit python qrcode +seccomp selinux ssl sysv-utils terminal test vanilla xkb ABI_MIPS="n32 n64 o32" ABI_PPC="32 64" ABI_S390="32 64" ABI_X86="32 64 x32" PYTHON_SINGLE_TARGET="python2_7 python3_3 python3_4" PYTHON_TARGETS="python2_7 python3_3 python3_4"}
Installed versions: 226-r2(15:51:02 20/06/2016)(acl kdbus kmod lz4 pam seccomp ssl -apparmor -audit -cryptsetup -curl -elfutils -gcrypt -gnuefi -http -idn -importd -lzma -nat -policykit -qrcode -selinux -sysv-utils -test -vanilla -xkb ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64" ABI_X86="64 -32 -x32")
Homepage: https://www.freedesktop.org/wiki/Software/systemd
Description: System and service manager for Linux
…
root@server # emerge -pv sys-apps/systemd
…
[ebuild U ~] sys-apps/systemd-230-r2:0/2::perso [226-r2:0/2::gentoo] USE="acl gcrypt* kdbus kmod lz4 pam seccomp ssl -apparmor -audit -cryptsetup -curl -doc% -elfutils -gnuefi -http -idn -importd -lzma -nat -policykit -qrcode (-selinux) -sysv-utils {-test} -vanilla -xkb" ABI_X86="(64) -32 (-x32)" 29 KiB
…
Sources :
- Option « –verbose » et « –pretend » du man emerge
- Section VARIABLES du man color.map
- Gestion des dépendances dans les ebuild