Re: RPM warning: package X = v1 was already added, replacing with v2...

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Nov 16, 2006, at 4:41 AM, German Cancio Melia wrote:




The rationale for limiting transactions to one name, and
replacing the older with the newer, is that many users do
     rpm -Uvh *.rpm
without checking.

I have debugged too many NPTL and kernel install problems
from users installing both i386 (-NPTL) and i686 (+NPTL)
glibc from the same directory, hence the policy of limiting
to only the "newest" of identically named packages in the
same transaction.

Jeff,

I understand this (...but it's equally a pain to see your kernel
packages throwed out when needing to install multiple versions of it,
which is one of the motivations behind my request.)

What about adding a corresponding optional switch/flag at the
transaction API level, and keeping by default the current behaviour?

Existing tools wouldn't change in behaviour, and it would allow for
those of us using the API to explicitly disable the above-mentioned
limitation.


So add comments to

    https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=171970

Seriously, even if I made the change, you're highly unlikely to see
the change deployed for years.

However its likely that the change can be conditioned on ---install/-- upgrade, because it only makes sense to have multiple identically named packages when installing.

The patch (entirely untested) might even do the job:

Index: lib/depends.c
===================================================================
RCS file: /cvs/devel/rpm/lib/depends.c,v
retrieving revision 1.325.2.51
diff -u -b -B -w -p -r1.325.2.51 depends.c
--- lib/depends.c       8 Oct 2006 21:41:41 -0000       1.325.2.51
+++ lib/depends.c       16 Nov 2006 10:01:48 -0000
@@ -205,7 +205,7 @@ int rpmtsAddInstallElement(rpmts ts, Hea
     /* XXX Always add source headers. */
     isSource = (headerIsEntry(h, RPMTAG_SOURCERPM) == 0) ;
-    if (isSource) {
+    if (isSource || !upgrade) {
        oc = ts->orderCount;
        goto addheader;
     }

Good luck!

73 de Jeff

_______________________________________________
Rpm-list mailing list
Rpm-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/rpm-list

[Index of Archives]     [RPM Ecosystem]     [Linux Kernel]     [Red Hat Install]     [PAM]     [Red Hat Watch]     [Red Hat Development]     [Red Hat]     [Gimp]     [Yosemite News]     [IETF Discussion]

  Powered by Linux