Yes, I learned this the other day from a response from this list: use "%triggerpostun" - see /usr/share/doc/rpm-{version}/triggers for details. This will enable you to trigger code based on faulty-1.0.0-55 packages removal. On Thu, 2004-09-09 at 03:33, Sudeep_Das@xxxxxxxxxx wrote: > Dear all , > here is a problem I am stuck with. > Problem statement: > 1. The guy working on this project before me created a non relocatable > rpm ( say faulty-1.0.0-55.i686.rpm )which stores its shared libs and > executables in say /opt/Product/binaries > 2. In the postun , he added > if [ -d /opt/Product/binaries] ;then > rm -rf /opt/Product/binaries > fi > 3. This rpm was shipped and went to our customers > 4. I now need to release an upgrade( say faulty-1.0.0-85.i686.rpm) > The way upgrade will work (roughly ) is ( from what ever little > I know) > a. run the install for the new rpm ( pre post etc) > b. run the uninstall for the older rpm ( preun, postun ) > Step a above will copy the new binaries to /opt/Product/binaries > Step b ,with the rpm which is already shipped and in use , will > delete this directory and render my product useless > > How to solve this: > My idea (conceptual and hypothetical ): > 1. Create a patch executable/rpm( whatever ) which interacts with the > rpm database , > 2. This patch > a. Creates an entry say faulty-patch in the rpm db > b. Removes the offending postun of the older rpm > 3. Next upgrade package released by us will have a dependency on the > patch > > Looking up rpmlib , I could not find apis which let me selectively > modify/edit records. I looked up maximum rpm , but could not get much > other than how to traverse the db > > Questions: > 1. Anyone has a better solution ? > 2. Anyone with rpm api expertise give me hints on the correct apis ( if > there are any that can do what I want ) ? > > Regards > > > > > _______________________________________________ > Rpm-list mailing list > Rpm-list@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/rpm-list _______________________________________________ Rpm-list mailing list Rpm-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/rpm-list