https://bugzilla.novell.com/show_bug.cgi?id=773575
https://bugzilla.novell.com/show_bug.cgi?id=773575#c13
--- Comment #13 from Stanislav Brabec
It is an issue because zypp does one rpm call per package. As we have single package transactions, we have more %posttrans invocations than expected.
So you say that rpm alone checks %posttrans scripts of packages on a single command line for identity? I never tested it nor looked into the source code. (Well, it does not help for ZYPP anyway, but if it works in this way, the script design should take it in account to take benefit even for rpm-only installation with more packages on the command line (it means not mentioning package name explicitly in the script).)
Package installation should work rpm-only! It's not intended to create a new zypp-only feature here.
The solution four you would IMO be to put the logic into some /usr/bin/eval-post-trans-triggers script; to package it; to prerequire it in your packages and to call it from their %posttrans:
test -n "$ZYPP_IS_RUNNING" && exit 0 /usr/bin/eval-post-trans-triggers
ThIS will work
Yes. And this script should be probably part of rpm, filesystem or any other low level package. (Well, I can imagine Requires: post-trans-triggers in all packages that use it. openSUSE 12.3 will have Provides: pot-trans-triggers in (say) rpm. We could create compatibility package, that would allow to use this feature in older on non-SUSE distros. We did it in past for gconftool scripts and it saved lot of work to packagers, as they did not need %if %suse_version in their scripts in OBS packages.) Now I agree that /usr/lib/zypp/scripts-post is a bad name. So proposing new names: Helper: /usr/bin/(run OR eval)-post-install-triggers Trigger scripts: /usr/lib/post-install-triggers (directory owned by package that owns Trigger stamps: /var/lib/post-install-triggers Note to the more complicated structure $ACTION.d/$PACKAGE: I remember potential user case from past: Several desktop environments did (or do) not support desktop menu specification (it was WindowMaker in past). These environments may need dedicated scripts to be called whenever any desktop file is installed/removed/changed. So the same action may trigger more scripts. The list of packages that need action is not known in time of packaging. That is why I would like to propose to support only two part paths (probably without trailing ".d"), even if most (if not all) these directories will contain only one script. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.