[opensuse-buildservice] Dependency issues with the RPM removal check
Hello, I am trying to build some PHP applications packages. The applications is composed a main application and lots of plugins. Considering that, I created a specfile with generates several packages : One for the main app and others for plugins and the RPM plugins depends from the main app RPM. So in my specfile, I used the keywords Requires(post) and Requires(postun) for the plugins RPM to have dependencies on the main app. I use post and postun because the plugins needs to execute a script provided my the main app RPM. I imported the SPEC file in OBS and unfortunately there is an issue for the SLES 10 distribution : The remove task fails because a dependency issue. Indeed, it seems that even with the requires keyword, the remove script removes the main app RPM before plugin and it that case the execution script in %postun fails because the script is missing. The more strange thing is that this issue happens only for the SLES10 distribution. I talked about this issue on IRC and I heard that it could be a bug. So is it really a bug or am I doing something worng. If it is a bug, is there a workaround in order to build correctly the package ? Thanks for you answers Regards, Olivier BONHOMME -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On Fri, 2011-06-17 at 17:14 -0500, Olivier BONHOMME wrote:
Hello,
I am trying to build some PHP applications packages. The applications is composed a main application and lots of plugins.
Considering that, I created a specfile with generates several packages : One for the main app and others for plugins and the RPM plugins depends from the main app RPM.
So in my specfile, I used the keywords Requires(post) and Requires(postun) for the plugins RPM to have dependencies on the main app. I use post and postun because the plugins needs to execute a script provided my the main app RPM.
I imported the SPEC file in OBS and unfortunately there is an issue for the SLES 10 distribution : The remove task fails because a dependency issue.
Indeed, it seems that even with the requires keyword, the remove script removes the main app RPM before plugin and it that case the execution script in %postun fails because the script is missing.
The more strange thing is that this issue happens only for the SLES10 distribution.
I talked about this issue on IRC and I heard that it could be a bug. So is it really a bug or am I doing something worng.
If it is a bug, is there a workaround in order to build correctly the package ?
I've run into this myself. Older versions of RPM dont strictly order RPM removal, and sometimes ignore requires(post,postun) when removing packages. I dont remember specifically what I did to fix this, though. Its likely that I did something in the %postun scripts to make them fail gracefully when run in the wrong order. -- Michael -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
Le 20/06/2011 20:24, Michael E Brown a écrit :
I've run into this myself. Older versions of RPM dont strictly order RPM removal, and sometimes ignore requires(post,postun) when removing packages. I dont remember specifically what I did to fix this, though. Its likely that I did something in the %postun scripts to make them fail gracefully when run in the wrong order. --
Hello, I get the same conclusion as you : Doing some tests in %postun block like in order to force the script to exit with the correct return code but i don't think it's really proper :( -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On Fri, Jun 24, 2011 at 03:09:35PM +0200, Olivier BONHOMME wrote:
Le 20/06/2011 20:24, Michael E Brown a écrit :
I've run into this myself. Older versions of RPM dont strictly order RPM removal, and sometimes ignore requires(post,postun) when removing packages. I dont remember specifically what I did to fix this, though. Its likely that I did something in the %postun scripts to make them fail gracefully when run in the wrong order. --
Hello,
I get the same conclusion as you : Doing some tests in %postun block like in order to force the script to exit with the correct return code but i don't think it's really proper :(
IMHO uninstall scripts should almost always exit with status zero. In most cases the work done in uninstall scriptlets is not critical, and it's really bad to kill the transaction for some minor error. M. -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
participants (3)
-
Michael E Brown
-
Michael Schroeder
-
Olivier BONHOMME