Description of problem: RPM generates a Requires: /path/to/interpreter (usually /bin/sh) whenever a package scriptlet is present. This makes it impossible to generate LSB compliant packages with any version of rpm. Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
http://refspecs.freestandards.org/LSB_2.1.0/LSB-Core-generic/LSB-Core-generic/swinstall.html says that /bin/sh is an allowed dependency.
So s/scriptlets/libraries/ with ldconfig exec. Producing LSB compliant packaging is neqrly impossible.
Replacing %post -p /sbin/ldconfig with %post /sbin/ldconfig seems easy - what am I missing?
You miss that certain packages -- like glibc -- must be installed before /bin/sh is present. The LSB standard also has little clue of multilib and the necessary tags to achieve an install. The problem in general cannot be specified by dictating format and content, the semantic interpretation needs to be "standard" as well.
Surely we can address this within the appropriate standards groups. Note that upstream rpm changes such as dropping RPMSENSE_PREREQ also break LSB compatibility.
Not setting a bit in a field should not break standards comnpliance. And LSB has *never* attempted a semantic intetrpretation of metadata content values, only forbidding values afaik. Specific pointer to LSB doco where RPMSENSE_PREREQ presence in *.rpm header is mandated please, and I will open another bug.
And feel free to approach solutions within appropriate "standards" efforts. I have done that for years and years to no avail.