On Mon, Jul 7, 2008 at 10:35 AM, Jeff Johnson <n3npq@mac.com> wrote:
> But I still dunno why a prerequsite relation needs to be retrofitted into a
> vendor package ...
Well as expected, the problem is political, not technical.
Customer has group A which delivers an RPM (the "vendor" RPM) which
behaves differently depending upon the state of the system before it
is installed.
Customer has group B which wants to put the system into a certain
state before the vendor RPM is installed. It has chosen to use RPM to
do this. So we have the desired install order:
- pre-vendor.RPM
- vendor.RPM
But group B cannot get group A to put a "Requires: pre-vendor" into vendor.RPM.
Anyway, this is not your problem, so I will go beat on the customer
some more to fix their packaging. However, I thought I'd point out
that I was surprised by the order here:
$ sudo rpm -U foo-1-0.x86_64.rpm bar-1-0.x86_64.rpm baz-1-0.x86_64.rpm
baz-1-0 pre 1
baz-1-0 post 1
foo-1-0 pre 1
foo-1-0 post 1
bar-1-0 pre 1
bar-1-0 post 1
And I get the same with --noorder as well as --nodeps.
$ rpm -qp --requires foo-1-0.x86_64.rpm | sort -u
/bin/sh
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
$ rpm -qp --requires bar-1-0.x86_64.rpm | sort -u
/bin/sh
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
$ rpm -qp --requires baz-1-0.x86_64.rpm | sort -u
/bin/sh
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
$ rpm --version
RPM version 4.4.2
$ rpm -q rpm
rpm-4.4.2-48.el5.x86_64
I realize those last two make this Not Your Problem as this is
rpm5.org after all, but if you have an insight you can share, it'd be
appreciated. spec attached and was built with: for n in foo bar baz;
do rpmbuild -bb --define "name $n" foo.spec; done
Thanks,
j.
Received on Fri Jul 18 20:11:28 2008