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