Hacking Gentoo – Spaß mit glibc-Harakiri
Posted by Jesco Freund at Feb. 28, 2009 11:25 p.m.
Vor kurzem hat (versehentlich?) glibc-2.9 die harte Maskierung verloren und landete somit in Testing. Die Entwickler haben nun diese Version zumindest im Hardened Profil wieder maskiert. Ärgerlich (aber hinlänglich bekannt): ein Downgrade der glibc ist gar keine gute Idee und wird auch von den portage-Werkzeugen nicht unterstützt. Dennoch blockiert die (bei mir problemlos arbeitende) zu neue Version ein Upgrade von world. Da emerge eine entsprechende exclude-Option fehlt und das löschen des glibc-Eintrags aus dem World-File leider auch keine Besserung brachte, bleibt nur ein dreckiger Shell-Hack:
emerge $(emerge -pDNu --columns world | grep '^\[' | grep -v 'glibc' | awk '{print $4}')
Kleiner Hinweis am Rande: die Option --columns ist zwar recht nett, aber inkonsequent implementiert. Je nach Upgrade-, Downgrade- oder Rebuild-Flag variiert die Anzahl der Spalten. Ein anderes sinnvolles Trennzeichen ist leider auch nicht vorhanden, so dass man vor jedem Lauf die Ausgabe der Pipe kontrollieren sollte, bevor man sie emerge zum Fraß vorwirft (wer zu viel Zeit hat, kann sich ja noch einen sed-Hack ausdenken, um die erste logische Spalte zu eliminieren).
1 comment | Defined tags for this entry: Gentoo, packet management, shell

Content is subject to the conditions of the
Ja, ich bin mit einem System leider in die gleiche Falle gelaufen. :-(
Mein "Hack" war, die aktuell installierte Version der LibC (und nur diese!) zu demaskieren*. So funktioniert das restliche Update wenigstens wieder, bis eine neue Version freigegeben (und kurze Zeit später wieder zurückgezogen *sigh*) wird.
*: /etc/portage/package.unmask
Roger Wilco on March 1, 2009 00:46 CET