Probably you have found a bug. See below:
rpm -Uvh A-1.0-1.noarch.rpm B-1.0-1.noarch.rpm Preparing... ########################################### [100%] 1:A ########################################### [ 50%] 2:B ########################################### [100%] Now B-2.0-1 depends on A = 2.0 but rpm -Uvh A-2.0-1.noarch.rpm B-2.0-1.noarch.rpm Preparing... ########################################### [100%] error: %pre(A-2.0-1.noarch) scriptlet failed, exit status 1 error: install: %pre scriptlet failed (2), skipping A-2.0-1 1:B ########################################### [ 50%] [1]+ Exit 2 rpm -Uvh A-2.0-1.noarch.rpm B-2.0-1.noarch.rpm rpm -qR B /bin/sh /bin/sh /bin/sh /bin/sh /bin/sh A = 2.0 rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [EMAIL PROTECTED] rpm -q --qf '%{VERSION}\n' A 1.0 The possible workround (an hackery for that matter : adding a %pre to B on the right version on A) is worse: rpm -Uvh A-2.0-1.noarch.rpm B-2.0-1_workround.noarch.rpm Preparing... ########################################### [100%] error: %pre(A-2.0-1.noarch) scriptlet failed, exit status 1 error: install: %pre scriptlet failed (2), skipping A-2.0-1 error: %pre(B-2.0-1_workround.noarch) scriptlet failed, exit status 1 error: install: %pre scriptlet failed (2), skipping B-2.0-1_workround But rpm -qi A package A is not installed YEP! Sorry, i don't know how to help you. My workround was - my - last resort. For who is interested, all the reproducer are here : http://www.esnips.com/web/devzero2000-rpm Regards On Wed, Dec 10, 2008 at 4:25 PM, qiuhd <[EMAIL PROTECTED]> wrote: > The new B does depend on new A. > You know, I am testing the package, there is a status checking in the %pre > scriptlet, sometime it fail. > My problem is why the separate upgrade works fine with a clean exit, leave > the old installed one untouched, but one line command remove the old one. > > rpm -Uvh A_2.0.rpm > rpm -Uvh B_2.0.rpm > > clean exit > > ==================== > > rpm -Uvh A_2.0.rpm B_2.0.rpm > > exit and remove the old one, we don't want this. > > Thanks. > > > > --- On *Wed, 12/10/08, devzero2000 <[EMAIL PROTECTED]>* wrote: > > From: devzero2000 <[EMAIL PROTECTED]> > Subject: Re: Problem about upgrade multiple rpm package. > To: [EMAIL PROTECTED], "General discussion about the RPM package manager" > <[EMAIL PROTECTED]> > Date: Wednesday, December 10, 2008, 9:28 PM > > On Wed, Dec 10, 2008 at 9:13 AM, qiuhd <[EMAIL PROTECTED]> wrote: > > Hi, Guys > > Please help me about this upgrade problem. > > I built two packages, A and B, B has dependency on A. I have a old > version > > of A ( A_1.0.rpm) installed on my linux system, now I want to upgrade to > the > > new version by execute > > rpm -Uvh A_2.0.rpm B_2.0.rpm > > If the %pre scriptlet failed because of some reason, I think the upgrade > > should abort and leave the old installed on untouched. > > The new B depends on the new A ? From your description i think no. Why > should be the upgrade abort all ? > If you use a C rpm - unrelated a A but with %pre failing - what do you > think should be happen on : rpm -Uvh C_1_0.rpm B_2_0.rpm ? > B should be failing to upgrade ? > > Regards > > >