Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
equery depends mit Versionangabe?
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)
View previous topic :: View next topic  
Author Message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3113
Location: de

PostPosted: Fri Aug 11, 2017 2:22 pm    Post subject: equery depends mit Versionangabe? Reply with quote

Guten Nachmittag. Ich steck gerade mal wieder in einem Systemupdate.

Da ich momentan gerade etwas Python programmier, wollte ich eigentlich die neueste Version haben. Jetzt hab ich installiert: 2.7, 3.4, 3.6. Die 3.4 würde ich gern runterhaben, wenn die nicht mehr benötigt wird.

Code:
equery d python


gibt mir allerdings eine Liste, die so groß ist, dass ich die Infos nicht brauchbar herausfiltern kann. Kann man bei equery d auch irgendwie die Slot-Angabe mit hinzufügen?
Back to top
View user's profile Send private message
firefly
Advocate
Advocate


Joined: 31 Oct 2002
Posts: 4314

PostPosted: Fri Aug 11, 2017 3:02 pm    Post subject: Reply with quote

Es geht aber die Ausgabe ist nicht zu gebrauchen, da es einfach die dependency aus dem ebuild anzeigt.

z.b.
Code:
$ equery d dev-lang/python:3.5

liefert in der ausgabe unter anderem
Code:
sys-devel/gdb-7.12.1 (python_single_target_python3_5 ? dev-lang/python:3.5)

Aber ich habe python 3.5 überhaupt nicht installiert bzw. ist gdb damit nicht gebaut:
Code:
$ eix -I dev-lang/python
[I] dev-lang/python
     Available versions: 
     (2.7)  2.7.12 ~2.7.13
     (3.4)  3.4.5(3.4/3.4m) ~3.4.6(3.4/3.4m)
     (3.5)  ~3.5.3(3.5/3.5m)
     (3.6)  ~3.6.1-r1(3.6/3.6m)
       {-berkdb build doc examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl +threads tk +wide-unicode wininst +xml ELIBC="uclibc"}
     Installed versions:  2.7.12(2.7)(22:34:58 07/12/16)(gdbm ipv6 ncurses readline sqlite ssl threads tk wide-unicode xml -berkdb -build -doc -examples -hardened -libressl -wininst ELIBC="-uclibc") 3.4.5(3.4)(22:36:10 07/12/16)(gdbm ipv6 ncurses readline sqlite ssl threads tk xml -build -examples -hardened -libressl -wininst ELIBC="-uclibc")
     Homepage:            https://www.python.org/
     Description:         An interpreted, interactive, object-oriented programming language

Code:
$ cave resolve -1 gdb
Done: 4364 steps               

These are the actions I will take, in order:

r   sys-devel/gdb:0::gentoo 7.12.1 to ::installed replacing 7.12.1
    client lzma -multitarget nls python server -vanilla xml (-test) PYTHON_SINGLE_TARGET: -python2_7 python3_4 (-python3_5) PYTHON_TARGETS: python2_7 python3_4 (-python3_5) build_options: symbols=split -dwarf_compress -optional_tests -trace work=tidyup
    Reasons: target, !<sys-devel/gdb-7.10-r1[nls] from sys-libs/binutils-libs-2.25.1-r2:0::installed


Mit paludis gibt es eine möglichkeit die pakete anzuzeigen, welche ein bestimmtes paket wirklich als abhängigkeit hat als es installiert wurde.
cave print-dependet-ids

ich habe bei mir ein alias für dieses command erstellt:
Code:
alias cave-print-dependents='cave print-dependent-ids -f '\''%c/%p%:%s\n'\'''


Um beim gdb beispiel zu bleiben:
Code:
$ cave-print-dependents dev-lang/python:2.7 | grep sys-devel/gdb

liefert keine Ausgabe.

Code:
$ cave-print-dependents dev-lang/python:3.4 | grep sys-devel/gdb
sys-devel/gdb:0

hier kommt eine ausgabe da gdb nur gegen python 3.4 gebaut wurde.

Für ein nicht installierte paket version kommt folgendes
Code:
$ cave-print-dependents dev-lang/python:3.5

Error:
  * In program cave print-dependent-ids -f %c/%p%:%s\n dev-lang/python:3.5:
  * Found nothing suitable matching 'dev-lang/python:3.5' (paludis::cave::NothingMatching)


Eventuell ist die Ausgabe hilfreicher wenn du einfach versucht python:3.4 zu deinstallieren.
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 3189
Location: Germany

PostPosted: Sat Aug 12, 2017 1:35 pm    Post subject: Reply with quote

firefly wrote:
Mit paludis gibt es eine möglichkeit die pakete anzuzeigen, welche ein bestimmtes paket wirklich als abhängigkeit hat als es installiert wurde.

Ja, mit portage kann man sich diese Liste (sprich die aktuell tatsächlich vorhandenen Abhängigkeiten) via
emerge --depclean --verbose package
ausgeben lassen. Wichtig ist hier die Kombination --depclean --verbose package

@musv
"equery depends paket" ist für dein Vorhaben nicht wirklich gut geeignet. Beachte das "equery d paket" die (je nach gesetzten Useflags, verwendete version usw) möglichen Abhängigkeiten ausgibt, nicht die aktuell tatsächlich vorhandenen.

Um die aktuell tatsächlich vorhandenen reverse Dependencies eines installierten Pakets aufzulisten nutze besser emerge --depclean paket in Kombination mit --verbose.
Für dein python:3.4 dann zb via
Code:
emerge -pvc python:3.4
Schaue dort dann unter
dev-lang/python-3.4.6 pulled in by:
...
...
Back to top
View user's profile Send private message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3113
Location: de

PostPosted: Sat Aug 12, 2017 11:18 pm    Post subject: Reply with quote

Josef.95 wrote:
Um die aktuell tatsächlich vorhandenen reverse Dependencies eines installierten Pakets aufzulisten nutze besser emerge --depclean paket in Kombination mit --verbose.
Für dein python:3.4 dann zb via
Code:
emerge -pvc python:3.4
Schaue dort dann unter
dev-lang/python-3.4.6 pulled in by:
...
...

Bringt leider nichts. Ich hab Python3_4 aus den PYTHON_TARGETS in der make.conf rausgenommen und emerge -pvc hinterher geschickt. Jetzt krieg ich 'ne Liste von gefühlt 150 Paketen, die Python:3.4 benötigen - also alle Pakete mit Python3-Support.
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 3189
Location: Germany

PostPosted: Sun Aug 13, 2017 12:56 am    Post subject: Reply with quote

musv wrote:
[...]
Bringt leider nichts. Ich hab Python3_4 aus den PYTHON_TARGETS in der make.conf rausgenommen und emerge -pvc hinterher geschickt. Jetzt krieg ich 'ne Liste von gefühlt 150 Paketen, die Python:3.4 benötigen - also alle Pakete mit Python3-Support.

Hm, hast du python3_4 bisher nur aus den PYTHON_TARGETS und PYTHON_SINGLE_TARGET Variablen herausgenommen, oder die betroffenen Pakete auch tatsächlich schon damit gebaut?
Hier bei mir (ich hab python2_7 und python3_5) funktionierte das entfernen von python:3.4 (auf einem ~amd64 Testsystem) einwandfrei. Aber nungut, kommt sicherlich auch drauf an was man für Pakete installiert hat.
Würde mich aber interessieren welche Pakete tatsächlich noch zwingend python:3.4 benötigen.
Tatsächlich bauen, und dann ein --depclean sollte normal fein funktionieren.

Oder hast du ein stable amd64 System? (beachte, auf stable sind höhere python_single_target_python und python_targets_python Useflags zum teil noch maskiert).
Back to top
View user's profile Send private message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3113
Location: de

PostPosted: Sun Aug 13, 2017 2:01 pm    Post subject: Reply with quote

Aufgrund der großen Anzahl der Pakete hab ich es nicht neu gebaut. Das kommt dann blöd, wenn ich Python3.4 runterschmeiß, kann den ganzen Schwall an abhängigen Paketen neu installieren und merk dann, dass ein großer Teil noch immer zwingend abhängig von Python3.4 ist.

Ich kann mich halt dunkel daran erinnern, dass es ein paar Pakete in der Abhängigkeitsliste gab, die noch nicht mit >Python3.4 funktionierten. Aber das Durchwühlen der Abhängigkeiten ist halt wie die Suche im Heuhaufen.
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 3189
Location: Germany

PostPosted: Sun Aug 13, 2017 2:43 pm    Post subject: Reply with quote

Ja ok, dann verstehe ich aber deine Aussage
musv wrote:
Die 3.4 würde ich gern runterhaben, wenn die nicht mehr benötigt wird.
nicht ganz :-/
Ohne die python3_4 Abhängigkeiten tatsächlich auszubauen ist klar das --depclean python:3.4 nicht entfernen tut.
Sprich, nur in die config (make.conf) schreiben reicht nicht, man muss die Änderung auch tatsächlich bauen.

Momentan hab ich den Eindruck, das du python:3.4 gern runterhaben möchtest, aber keine Lust hast deren Abhängigkeit tatsächlich auszubauen?! :)
Nungut.. :)

/edit: Hier würde es mit dem Vorschlag so ausschauen (wenn man die python3_4 Abhängigkeiten denn tatsächlich ausgebaut hat):
Code:
# emerge -avc python:3.4

Calculating dependencies... done!
>>> Calculating removal order...

>>> These are the packages that would be unmerged:

 dev-lang/python
    selected: 3.4.6
   protected: none
     omitted: 2.7.13 3.5.3

All selected packages: =dev-lang/python-3.4.6

>>> 'Selected' packages are slated for removal.
>>> 'Protected' and 'omitted' packages will not be removed.

Would you like to unmerge these packages? [Yes/No]
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) 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