On Mon, Jul 7, 2008 at 10:35 AM, Jeff Johnson <[EMAIL PROTECTED]> 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.
%define version 1 %define release 0 %define __check_files %{nil} %define __os_install_post %{nil} Summary: %{name} Name: %{name} Version: %version Release: %release Group: None License: None AutoReqProv: no BuildRoot: /var/tmp/rpmbuild-%{name} %install rm -rf $RPM_BUILD_ROOT d="$RPM_BUILD_ROOT/var/tmp" mkdir -p "$d" || true echo "%{name}-%{version}-%{release}" > "$d/%{name}" %description %{name} %pre echo "%name-%version-%release pre $1" %post echo "%name-%version-%release post $1" %preun echo "%name-%version-%release preun $1" %postun echo "%name-%version-%release postun $1" %files /var/tmp/%{name}