Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

08.11.2011, 14:42

Verhindern, dass depclean slots entfernt

Hallo,
ich benutze gcc-4.6 und brauche für manche Pakete noch gcc-4.5, weil sie sich nicht mit 4.6 kompilieren lassen.
Daher habe ich gcc-4.5 mit "emerge gcc:4.5" in einen zweiten Slot installiert.
Das Problem ist folgendes: gcc steht zwar im world file, aber nicht, dass gcc-4.5 auch installiert sein soll.
Daher wird gcc-4.5 mit jedem "emerge --depclean" wieder entfernt.
Wie kann ich das verhindern?

Gruß
Foyaxe

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Foyaxe« (14.11.2011, 15:48)


2

08.11.2011, 14:57

Hmm, ungewöhnlich..
Pakete die im world File stehen sollten normal nicht von einem --depclean entfernt werden.

Ein Vorschlag:
Lasse beide Versionen noch mal ins world File schreiben:

Quellcode

1
emerge -avn gcc:4.5 gcc:4.6

Und schaue dann was ein

Quellcode

1
emerge -av --depclean
machen würde.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »josef.95« (08.11.2011, 17:42) aus folgendem Grund: Code korrigiert


3

08.11.2011, 15:00

Hier mit Portage 2.2 funktioniert

Quellcode

1
2
3
# emerge -n gcc:4.5
Calculating dependencies... done!
>>> Recording sys-devel/gcc:4.5 in "world" favorites file...

Falls es nicht geht, versuche manuell sys-devel/gcc:4.5 in die /var/lib/portage/world einzutragen.
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

4

08.11.2011, 16:53

Nur mit der -n Option eintragen lassen hat keinen Effekt. Taucht nicht im world file auf.
Habs per Hand eingetragen, aber depclean will es trotzdem entfernen.
Wahrscheinlich kennt portage-2.1 das Format im world file nicht.

5

08.11.2011, 17:02

Nur mit der -n Option eintragen lassen hat keinen Effekt. Taucht nicht im world file auf.

Hmm.., wenn --noreplace (-n) das Paket nicht ins world File schreibt ist irgendwas an deinem portage faul.
Was nutzt du denn für eine Version, magst du mal ein emerge --info und auch die Rechte vom /var/lib/portage/world posten.

6

08.11.2011, 17:10

Nein nein, mein portage ist schon in Ordnung.
sys-devel/gcc steht ja schon im world file, aber depclean behält eben nur die neueste Version.
Mit anderen Paketen funktionoert -n schon.

7

08.11.2011, 17:28

sys-devel/gcc steht ja schon im world file, aber depclean behält eben nur die neueste Version.

Naja, wenn wirklich nur "sys-devel/gcc " im world File steht wäre es doch normal das ein "emerge --depclean" die ältere gcc:4.5 Version entfernen würde... ;)

Poste doch einfach mal ein detailliertes Beispiel. Wie schauen die emerge ausgaben und gcc world-File Einträge wirklich aus?

8

08.11.2011, 17:47

World file sieht so aus:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# cat /var/lib/portage/world 
app-admin/logrotate
app-arch/file-roller
app-arch/lzop
app-arch/p7zip
app-benchmarks/ramspeed
app-crypt/seahorse
app-editors/emacs
app-editors/gedit
app-editors/gedit-plugins
app-editors/gummi
app-editors/nano
app-emulation/virtualbox
app-emulation/virtualbox-extpack-oracle
app-office/libreoffice-bin
app-portage/eix
app-portage/gentoolkit
app-portage/layman
app-text/evince
app-text/texlive
dev-java/icedtea
dev-lang/python
dev-python/matplotlib
dev-python/numpy
dev-util/ccache
dev-util/lafilefixer
dev-util/strace
games-fps/sauerbraten
gnome-base/gdm
gnome-base/gnome-applets
gnome-base/gnome-light
gnome-base/libgnomeprintui
gnome-extra/gcalctool
gnome-extra/gconf-editor
gnome-extra/gnome-media
gnome-extra/gnome-power-manager
gnome-extra/gnome-screensaver
gnome-extra/gnome-system-monitor
gnome-extra/gnome-utils
gnome-extra/hardware-monitor
gnome-extra/nautilus-dropbox
gnome-extra/nm-applet
media-fonts/dejavu
media-fonts/droid
media-fonts/inconsolata
media-fonts/liberation-fonts
media-fonts/ubuntu-font-family
media-gfx/eog
media-gfx/gimp
media-gfx/gthumb
media-gfx/splash-themes-gentoo
media-gfx/splashutils
media-plugins/alsa-plugins
media-video/cheese
media-video/gnome-mplayer
net-analyzer/iftop
net-im/pidgin
net-im/skype
net-misc/dhcp
net-misc/dropbox
net-misc/networkmanager-openvpn
net-misc/networkmanager-vpnc
net-misc/ntp
net-misc/nxclient
net-misc/unison
net-misc/vino
net-misc/whois
net-p2p/bitcoind
net-p2p/wxbitcoin
net-print/hplip
net-voip/ekiga
sci-libs/scipy
sci-mathematics/octave
sci-visualization/gnuplot
sys-apps/hdparm
sys-apps/hwinfo
sys-apps/ifplugd
sys-apps/smartmontools
sys-auth/libfprint
sys-block/gparted
sys-boot/grub
sys-devel/distcc
sys-devel/gcc
sys-fs/sshfs-fuse
sys-kernel/module-rebuild
sys-power/acpid
sys-power/cpufrequtils
sys-power/powertop
www-client/chromium
www-plugins/adobe-flash
www-plugins/google-talkplugin
x11-apps/fusion-icon
x11-misc/xdotool
x11-plugins/compiz-plugins-extra
x11-plugins/pidgin-otr
x11-plugins/purple-plugin_pack
x11-wm/compiz-fusion

Depclean macht dann natürlich folgendes:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
>>> These are the packages that would be unmerged:

 sys-devel/gcc
    selected: 4.5.3-r1 
   protected: none 
     omitted: 4.6.2 

All selected packages: sys-devel/gcc-4.5.3-r1

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

Would you like to unmerge these packages? [Yes/No]

Dann mache ich z.B "emerge -n gcc:4.5". Danach ist das world file immer noch genau so wie vorher.
Dann trage ich gcc:4.5 per Hand ein:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# cat /var/lib/portage/world 
app-admin/logrotate
app-arch/file-roller
app-arch/lzop
app-arch/p7zip
app-benchmarks/ramspeed
app-crypt/seahorse
app-editors/emacs
app-editors/gedit
app-editors/gedit-plugins
app-editors/gummi
app-editors/nano
app-emulation/virtualbox
app-emulation/virtualbox-extpack-oracle
app-office/libreoffice-bin
app-portage/eix
app-portage/gentoolkit
app-portage/layman
app-text/evince
app-text/texlive
dev-java/icedtea
dev-lang/python
dev-python/matplotlib
dev-python/numpy
dev-util/ccache
dev-util/lafilefixer
dev-util/strace
games-fps/sauerbraten
gnome-base/gdm
gnome-base/gnome-applets
gnome-base/gnome-light
gnome-base/libgnomeprintui
gnome-extra/gcalctool
gnome-extra/gconf-editor
gnome-extra/gnome-media
gnome-extra/gnome-power-manager
gnome-extra/gnome-screensaver
gnome-extra/gnome-system-monitor
gnome-extra/gnome-utils
gnome-extra/hardware-monitor
gnome-extra/nautilus-dropbox
gnome-extra/nm-applet
media-fonts/dejavu
media-fonts/droid
media-fonts/inconsolata
media-fonts/liberation-fonts
media-fonts/ubuntu-font-family
media-gfx/eog
media-gfx/gimp
media-gfx/gthumb
media-gfx/splash-themes-gentoo
media-gfx/splashutils
media-plugins/alsa-plugins
media-video/cheese
media-video/gnome-mplayer
net-analyzer/iftop
net-im/pidgin
net-im/skype
net-misc/dhcp
net-misc/dropbox
net-misc/networkmanager-openvpn
net-misc/networkmanager-vpnc
net-misc/ntp
net-misc/nxclient
net-misc/unison
net-misc/vino
net-misc/whois
net-p2p/bitcoind
net-p2p/wxbitcoin
net-print/hplip
net-voip/ekiga
sci-libs/scipy
sci-mathematics/octave
sci-visualization/gnuplot
sys-apps/hdparm
sys-apps/hwinfo
sys-apps/ifplugd
sys-apps/smartmontools
sys-auth/libfprint
sys-block/gparted
sys-boot/grub
sys-devel/distcc
sys-devel/gcc
sys-devel/gcc:4.5
sys-fs/sshfs-fuse
sys-kernel/module-rebuild
sys-power/acpid
sys-power/cpufrequtils
sys-power/powertop
www-client/chromium
www-plugins/adobe-flash
www-plugins/google-talkplugin
x11-apps/fusion-icon
x11-misc/xdotool
x11-plugins/compiz-plugins-extra
x11-plugins/pidgin-otr
x11-plugins/purple-plugin_pack
x11-wm/compiz-fusion

Ausgabe von depclean bleibt die selbe wie oben.
Selbst, wenn ich in das worldfile nur "sys-devel/gcc:4.5" eintrage, wird 4.6 behalten und 4.5 gelöscht.
Portage beachtet keine Slots im world file.

9

08.11.2011, 19:08

Hmm, ich kann das hier so nicht reproduzieren...

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
grep gcc /var/lib/portage/world

emerge -pv --depclean
....
...
>>> Calculating removal order...

>>> These are the packages that would be unmerged:                                                                                                                                                                                           
                                                                                                                                                                                                                                             
 sys-devel/gcc
    selected: 4.5.3-r1 
   protected: none 
     omitted: 4.6.2 

emerge -avn gcc:4.5

These are the packages that would be merged, in order:

Calculating dependencies... done!

Total: 0 packages, Size of downloads: 0 kB

 * sys-devel/gcc:4.5

Would you like to add these packages to your world favorites? [Yes/No] Yes
>>> Recording sys-devel/gcc:4.5 in "world" favorites file...
>>> Auto-cleaning packages...

grep gcc /var/lib/portage/world
sys-devel/gcc:4.5

Ein anschließendes

Quellcode

1
emerge -pv --depclean
würde gcc:4.5 nicht mehr mit entfernen.

Wenn das bei dir anders ist dann riecht es nach einem Bug in deiner verwendeten portage Version (die du uns bisher ja noch nicht verraten hast...).

10

08.11.2011, 19:10

Quellcode

1
2
# emerge --version
Portage 2.1.10.11 (default/linux/amd64/10.0/desktop/gnome, gcc-4.6.2, glibc-2.12.2-r0, 3.0.6-gentoo x86_64)

11

08.11.2011, 19:27

Du könntest es ja mal mit der testing Version =portage-2.1.10.32 testen.
Mein test war mit portage- 2.2.0_alpha72

Wenn es mit der testing Version nicht mehr auftritt ist es relativ sicher ein Bug in portage-2.1.10.11

12

08.11.2011, 20:50

Besteht irgend ein Risiko beim update auf die testing Version oder danach beim downgrade?
Hab da ein bisschen Bange.

13

08.11.2011, 22:35

Hm, ich denke das ein update auf =portage-2.1.10.32 problemlos möglich sein sollte. (garantieren kann ich es aber nicht - hab es nicht getestet)
Ich würde dafür ein Eintrag wie

Quellcode

1
~sys-apps/portage-2.1.10.32
in der /etc/portage/package.accept_keywords verwenden.
Ein Downgrade würde ich, wenn es nicht nötig tut nicht vornehmen.

14

10.11.2011, 14:18

Nungut, bis es gefixt ist könntest du auch erst mal gcc beim --depclean auschliessen.

Quellcode

1
emerge -a --depclean --exclude gcc


Ist zwar keine Lösung in dem Sinne, aber sollte dir erst mal weiterhelfen.

15

10.11.2011, 23:15

Ah, das ist gut.
Danke, das reicht mir schon.

16

14.11.2011, 15:48

Sehr interessant.
Ein update auf =sys-apps/portage-2.1.10.32 behebt das Problem.
sys-devel/gcc:4.5 wird im world file erkannt und korrekt behandelt.
Nach einem downgrade auf 2.1.10.11 besteht das Problem wieder.
Auf einem anderen amd64 System mit portage-2.1.10.11 lässt sich das Problem nicht reproduzieren.