Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
script zum auflösen von useflag abhängigkeiten
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Deutsche Dokumentation
View previous topic :: View next topic  
Author Message
schmutzfinger
Veteran
Veteran


Joined: 26 Oct 2003
Posts: 1287
Location: Dresden/Germany

PostPosted: Thu Jul 15, 2004 7:25 pm    Post subject: script zum auflösen von useflag abhängigkeiten Reply with quote

ich hatte vor kurzem ein paar probleme weil es immer wieder neue use flags gibt. http://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
View user's profile Send private message
toskala
Advocate
Advocate


Joined: 14 Dec 2002
Posts: 2080
Location: hamburg, germany

PostPosted: Thu Jul 15, 2004 7:29 pm    Post subject: Reply with quote

sehr löblich, aber scripte mir lieber ein script was mich von neuen useflags in kenntnis setzt :twisted:

aber sonst gut gut :)
_________________
adopt an unanswered post
erst denken, dann posten
Back to top
View user's profile Send private message
Mac Fly
Guru
Guru


Joined: 30 Nov 2003
Posts: 330
Location: nähe Stuttgart

PostPosted: Sun Jul 25, 2004 3:36 am    Post subject: Reply with quote

toskala, wär das nix für dich? So ein Script könnte ich und bestimmt auch andere gut brauchen ;)
_________________
.:. Netkiffer .:.
.:. German-Bash.org .:. - Bash auf Deutsch, unbedingt ansehen!
Back to top
View user's profile Send private message
psyqil
Advocate
Advocate


Joined: 26 May 2003
Posts: 2767

PostPosted: Sun Jul 25, 2004 5:09 am    Post subject: Reply with quote

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
View user's profile Send private message
Sas
Veteran
Veteran


Joined: 05 Jul 2003
Posts: 1229
Location: Germany

PostPosted: Sun Jul 25, 2004 10:26 am    Post subject: Reply with quote

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
View user's profile Send private message
sirro
Veteran
Veteran


Joined: 20 Jul 2003
Posts: 1471
Location: aachen.nrw.de.eu

PostPosted: Sun Jul 25, 2004 10:44 am    Post subject: Reply with quote

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
View user's profile Send private message
Earthwings
Administrator
Administrator


Joined: 14 Apr 2003
Posts: 7750
Location: Karlsruhe, Germany

PostPosted: Sun Jul 25, 2004 10:52 am    Post subject: Reply with quote

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
View user's profile Send private message
sirro
Veteran
Veteran


Joined: 20 Jul 2003
Posts: 1471
Location: aachen.nrw.de.eu

PostPosted: Sun Jul 25, 2004 11:02 am    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Deutsche Dokumentation All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum