On Fri, Jul 17, 2009 at 10:26:24AM +0200, Andre Hübner wrote:
i think i found a solution. reason for my problem is that during upgrade the %postun of old package runs after %post of new package. this removes some changes made by %post of new package. uninstall --> install is working because order of scriptlets is like expected. is the %posttrans section useable to make sure that last action is triggered by new package? %posttrans is new to me, i found it in a fedora-wiki...
Well, posttrans is run at the end of the transaction, so if some other package fails and the transaction is aborted it'll never be run. Our gnome folks use it for the same purpose. I don't really like this solution for the reason stated above, plus it'll also break prereq semantics. I.e. if a package prereqs your package, it won't work as the posttrans script isn't run before the other package gets installed. But it's currently the only sane way to achieve this (one other method is a uninstall trigger on the old package). I hope this will be fixed in the future by some other scriplet type ("update scripts"). My idea is that if an update script is present the uninstall scripts are not called, thus you do no longer have to work around broken uninstall scripts. Cheers, Michael. -- Michael Schroeder mls@suse.de SUSE LINUX Products GmbH, GF Markus Rex, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org