Gentoo Archives: gentoo-user-de

From: "Markus Schönhaber" <gentoo-user-de@×××××××××××.de>
To: gentoo-user-de@l.g.o
Subject: [gentoo-user-de] Bedeutung von --noreplace bei emerge (was: Portage-Ungereimtheiten)
Date: Thu, 27 Sep 2007 18:56:43
Message-Id: 46FBFA78.4060905@schoenhaber.de
In Reply to: Re: [gentoo-user-de] Portage-Ungereimtheiten by Matthias Maier
1 Matthias Maier schrieb:
2
3 > Am Donnerstag, 27. September 2007 schrieb Markus Schönhaber:
4 >> [..]
5 >> Skips the packages specified on the command-line that
6 >> have already been installed. Without this option, any packages,
7 >> ebuilds, or deps you specify on the command-line will cause Portage
8 >> to remerge the package, even if it is already installed.
9 >> Note that Portage will not remerge dependencies by default."
10 >> und das einzige "Paket", das Du bei Deinem emerge-Aufruf auf der
11 >> Kommandozeile übergibst, "world" ist, kann meiner Interpretation nach
12 >> --noreplace in diesem Fall nur gar nichts tun.
13 >> Vielleicht täusche ich mich aber auch.
14 >
15 > Nein.
16 > --noreplace verhindert genau dann ein Neubauen eines Paketes, wenn
17 > dieses bereits in der Version, die gebaut werden soll vorliegt.
18 >
19 > D.h. dass z.B. ein
20 > # emerge -np =app-cdr/k3b-0.12.17
21 > das Bauen von k3b verhindert , wenn du bereits Version 0.12.17 gebaut
22 > hast.
23 >
24 > Dies ist _fast_ das gleiche, was --update macht. (Die neueste
25 > Paketversion über eine ältere installieren, wenn noch nicht
26 > installiert.)
27 >
28 > Geben wir jetzt beiden Optionen ein nicht vollständig klassifiziertes
29 > Paket (d.h. ohne Versionsangabe) so müssten meiner Meinung nach beide
30 > Optionen exakt das selbe tun.
31
32 Probieren wir's aus:
33
34 ~ $ eix rpm2targz
35 [U] app-arch/rpm2targz
36 Available versions: 9.0-r2 9.0-r3 ~9.0-r4 9.0-r5 9.0-r6
37 Installed versions: 9.0-r5(10:46:21 11.11.2006)
38 Homepage: http://www.slackware.com/config/packages.php
39 Description: Convert a .rpm file to a .tar.gz archive
40
41 ~ $ emerge --pretend --update rpm2targz
42
43 These are the packages that would be merged, in order:
44
45 Calculating dependencies... done!
46 [ebuild U ] app-arch/rpm2targz-9.0-r6 [9.0-r5]
47
48 ~ $ emerge --pretend --noreplace rpm2targz
49
50 These are the packages that would be merged, in order:
51
52 Calculating dependencies... done!
53 [ebuild U ] app-arch/rpm2targz-9.0-r6 [9.0-r5]
54
55 Deine Aussage stimmt also offensichtlich.
56 Der von mir zitierte Teil der man page erwähnt allerdings mit keinem
57 Wort, daß für --noreplace die Paketversion von Bedeutung sei. Welche
58 Dokumentation habe ich übersehen?
59
60 > Bei mir will ein
61 > # emerge -nNDp world
62 > genau das gleiche bauen, wie
63 > # emerge -uNDp world
64
65 Und vermutlich das gleiche, wie
66 emerge -unNDp world
67 bzw. wie beim OP
68 emerge -avDunN world
69
70 Das zusätzliche -n ist also in diesem Fall ein no-op. Wie nach der man
71 page auch zu erwarten war, da das einzige auf der Kommandozeile
72 angegebene "Paket" (world) sowieso nicht gebaut wird - ob mit oder ohne -n.
73
74 > Daran liegt es also nicht.
75
76 Liegt was nicht? Das vom OP beobachtete Phänomen?
77 Daß das IMO nicht am --noreplace liegt, habe ich ja auch schon in dem
78 Post geschrieben, auf den Du geantwortet hast. In dem Punkt sind wir uns
79 sowieso einig.
80
81 Gruß
82 mks
83
84 Nachtrag: Sowohl bei Angabe eines Paketes ohne Versionsspezifikation,
85 das bereits in der neuesten Version installiert ist, als auch bei Angabe
86 eines Paketes mit Versionsspezifikation, das bereits in der geforderten
87 Version installiert ist, machen beide, also emerge --noreplace und
88 emerge --update, bei mir nichts (portage 2.1.3.9).
89 Was ist denn nun der Unterschied zwischen --noreplace und --update?
90
91 --
92 gentoo-user-de@g.o mailing list

Replies