View previous topic :: View next topic |
Author |
Message |
schmutzfinger Veteran
Joined: 26 Oct 2003 Posts: 1287 Location: Dresden/Germany
|
Posted: Thu Jul 15, 2004 7:25 pm Post subject: script zum auflösen von useflag abhängigkeiten |
|
|
ich hatte vor kurzem ein paar probleme weil es immer wieder neue use flags gibt. https://forums.gentoo.org/viewtopic.php?t=195792
jetzt habe ich mir ein kleines script geschrieben um alle pakete zu finden, die von einem bestimmten flag betroffen sind. auserdem kann das script feststellen welche dieser pakete neu gemergt werden müssen, weil das flag heute nichtmehr aktiv ist bzw weil es damals nicht aktiv war.
das script setzt vorraus das app-portage/gentoolkit installiert ist.
Code: |
#!/bin/bash
#/opt/bin/flagusers
# findet alle gerade installierten ebuilds, die von einem bestimmen useflag beeinflusst werden
# 15.07.04
for dir in `qpkg -I -nc`
do
ver=$(qpkg -I -v -nc $dir| head -n1|cut -d"/" -f2 )
if cat /usr/portage/"$dir"/"$ver".ebuild 2>/dev/null| grep IUSE | grep "$1" > /dev/null
then
if [ -n "$2" ] && [ "$2" = "-u" ]
then
uses=$(etcat -u $dir | grep $1 | cut -b 2,4)
if [ "$uses" = "+-" ] || [ "$uses" = "-+" ]
then
echo $dir/$ver.ebuild
fi
else
echo $dir/$ver.ebuild
fi
fi
done
|
Bsp:
#alle installierten ebuilds die von "mmx" betroffen sind
flagusers mmx
#alle die im "etcat -u" ein +- oder -+ haben
flagusers mmx -u
#mergt selbige
for i in `flagusers mmx -u`; do emerge $i;done
#alle die neu gemergt werden müssten wenn man das mysql useflag aktivieren würde
USE="mysql" flagusers mysql -u
naja man muss ja nicht unbedingt gleich alles neu mergen, aber ich zB hab mmx irgendwie vergessen und da ich mir einbilde das das vielleicht doch was für mein xorg bringen könnte werde ich wohl demnächst nochmal mergen. |
|
Back to top |
|
|
toskala Advocate
Joined: 14 Dec 2002 Posts: 2080 Location: hamburg, germany
|
Posted: Thu Jul 15, 2004 7:29 pm Post subject: |
|
|
sehr löblich, aber scripte mir lieber ein script was mich von neuen useflags in kenntnis setzt
aber sonst gut gut _________________ adopt an unanswered post
erst denken, dann posten |
|
Back to top |
|
|
Mac Fly Guru
Joined: 30 Nov 2003 Posts: 330 Location: nähe Stuttgart
|
Posted: Sun Jul 25, 2004 3:36 am Post subject: |
|
|
toskala, wär das nix für dich? So ein Script könnte ich und bestimmt auch andere gut brauchen |
|
Back to top |
|
|
psyqil Advocate
Joined: 26 May 2003 Posts: 2767
|
Posted: Sun Jul 25, 2004 5:09 am Post subject: |
|
|
Code: | cp /usr/portage/profiles/use.* /etc/portage/ | oder sonstwohin und dann Code: | emerge sync
diff /etc/portage/use.desc /usr/portage/profiles/use.desc
diff /etc/portage/use.local.desc /usr/portage/profiles/use.local.desc
cp /usr/portage/profiles/use.* /etc/portage/ |
Bin ja auch mal neugierig, wie oft da so was passiert...hab heut aber schon gesynct, teste ich also erst morgen...also heute...mann, ist das hell draußen!
Guts Nächtle! |
|
Back to top |
|
|
Sas Veteran
Joined: 05 Jul 2003 Posts: 1229 Location: Germany
|
Posted: Sun Jul 25, 2004 10:26 am Post subject: |
|
|
AFAIK ist oder war so eine Funktion (also das Neu-Kompilieren betroffener Pakete) doch auch für Portage in Planung (--newuse), wie siehts denn damit aus? _________________ 42 |
|
Back to top |
|
|
sirro Veteran
Joined: 20 Jul 2003 Posts: 1472 Location: aachen.nrw.de.eu
|
Posted: Sun Jul 25, 2004 10:44 am Post subject: |
|
|
Sas wrote: | AFAIK ist oder war so eine Funktion (also das Neu-Kompilieren betroffener Pakete) doch auch für Portage in Planung (--newuse), wie siehts denn damit aus? |
von --newuse habe ich noch nicht gehört. Aber bei portage-2.0.51 gibt es eine (IMO) tolle Neuerung:
Bei einem emerge -pv werden nicht nur die USE-Flags angezeigt sondern auch mit einem * markiert wenn sie beim letzen mal anders gesetzt waren.
Nur leider werden dabei neue USE-Flags nicht makiert. Mir würde es auf jeden Fall reichen, wenn das an dieser Stelle makiert werden würde. Am besten mit einem anderen Symbol als *, damit man es leicht unterscheiden kann...
Hier nochmal ein Beispiel, so sieht es momentan unter portage-2.0.51_pre13 aus:
Code: | # emerge -pv lighttpd
These are the packages that I would merge, in order: (Paket ist momentan mit +php installiert)
Calculating dependencies ...done!
[ebuild U ] net-www/lighttpd-1.2.4 [1.2.3] -ldap -mysql -php* +ssl 0 kB [1]
Total size of downloads: 0 kB |
EDIT: ein wenig Offtopic geworden. Seht es als Teaser für das neue portage |
|
Back to top |
|
|
Earthwings Bodhisattva
Joined: 14 Apr 2003 Posts: 7753 Location: Germany
|
Posted: Sun Jul 25, 2004 10:52 am Post subject: |
|
|
Ja, --newuse is in Portage 2.0.51, aber scheint mir noch nicht das zu tun, was es soll. Oder ich habe es falsch bedient (emerge --newuse world -pv) |
|
Back to top |
|
|
sirro Veteran
Joined: 20 Jul 2003 Posts: 1472 Location: aachen.nrw.de.eu
|
Posted: Sun Jul 25, 2004 11:02 am Post subject: |
|
|
Earthwings wrote: | Ja, --newuse is in Portage 2.0.51, aber scheint mir noch nicht das zu tun, was es soll. Oder ich habe es falsch bedient (emerge --newuse world -pv) |
Habs gerade auch mal probiert. Bei mir gibt er alles aus, was wie oben beschrieben mindestens einen veränderten Flag enthält... Dazu wird der Mplayer angezeigt, bei dem ein Flags entfernt wurden.
Das einzige was nicht angezeigt wird ist, sind Pakete mit einem neuen Flag (testweise ein neues zu einem hinzugefügt).
Auf jedenfall ist --newuse jetzt schon eine bereicherung für mich (endlich mal alles meinen USE-Flags anpassen ) Das anzeigen von neuen USE-Flags, was man von --newuse ja erwarten würde funktioniert (noch) nicht. |
|
Back to top |
|
|
|