noarch RPM weirdness

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

 



This may be a simple explanation for all of you out there but it's been confounding me for some time.  It seems as if the behaviour of a noarch RPM is radically different from say an RPM that defines its arch type of i386.

Example:
+ Create noarch RPM (1.0.0)
+ Install noarch RPM
+ Create another noarch RPM with a least significant point version of one greater than the last (1.0.1)
+ Install new noarch RPM

Using rpm -Uhv this will attempt to re-install the old version (run post install scripts) and then install the new version over the latest (will also run the post install scripts).  So at the end of the process I'll have two RPM packages 1.0.0 and 1.0.1.

Now, when I set the RPM to be targeted towards an i386 it will remove the noarch version(s) and leave only the i386 version -- which is what I expected the later noarch RPM to do.  So, just by changing the arch type the RPM behaves as I would expect it to.  Remove the old, install the new.

I can only conclude that the reason for this is that noarch RPMs behave differently than those that have their arch type defined... that or it's a bug.  This is reproducible in CentOS 5.2 (64-bit) and 5.3 (64-bit).

So my questions are:
Although this question is irrelevant, for curiosity's sake: Is this the expected behaviour of a noarch RPM?  Everything I've read states only that noarch RPMs don't care about the architecture as the program/scripts/documentation packaged in the RPM are architecture independent.  The RPM is only Python and bash scripts.  So, I believe I used the right arch type for the RPM.  Please correct me if I'm wrong.

My next question is how do I go about removing the old noarch package and replace it with the i386 package in the same process?  Preferably I'd like the noarch package to not run any installation scripts... simply get replaced and have the i386 run it's post install scripts.  Uninstalling the old noarch package is an option, although not desirable as there are several dependencies to this package -- the sys admin would prefer not to uninstall and reinstall all dependent packages.

Is "rpm -Uhv new-i386.rpm --force" enough?

Thanks in advance for your help!  I can post a sample spec file if that helps.

Eric Chamberlain
eric.chamberlain@xxxxxxxxxxxxxxxx



Confidentiality Notice: This e-mail may contain proprietary information some of which may be legally privileged. It is for the intended recipient(s) only. If you believe that it has been sent to you in error, please notify the sender by reply e-mail and delete the message. Any disclosure, copying, distribution or use of this information by someone other than the intended recipient(s) is prohibited and may be unlawful.
_______________________________________________
Rpm-list mailing list
Rpm-list@xxxxxxxxxxxxx
http://lists.rpm.org/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