[bug]It is impossible to build Harbour compatible packages on Mer OBS
Description of problem:
It is impossible to build a Harbour compatible RPM package on the Mer OBS due to automatically added dependencies.
Version-Release number of selected component (if applicable): Harbour and Mer OBS on the 22. April 2015
How reproducible:
always
Steps to Reproduce:
- create a source package on OBS that that contains at least one bash script
- build it
- try to submit it to Harbour
example package:
http://modrana.org/tmp/harbour-modrana-0.52.3-10.1.1.noarch.rpm
Actual results:
The Harbour Web UI reports the following error:
No OS version and packages satisfy package requirements: Requirement /bin/bash not available Requirement /usr/bin/env not available
This is most probably because the RPM building tools found a bash script in the package and added an appropriate dependency.
Expected results:
The package is accepted as both dependencies are core parts of the Sailfish OS platform anyway. Alternatively the Sailfish OS target should not automatically add dependencies or should provide a way to turn it off.
Additional info:
It was a lot of work to make modRana and its packaging Harbour compatible, so being blocked by such a trivial error in Harbour really sucks...
PS.: OpenRepos has no issues with the same package. :)
Update
Thanks to @coderus for the following workaround:
%define __requires_exclude ^/bin/bash|/usr/bin/env$
This rips out the automatically added dependencies.
Yes, using %define's in the spec file is a dark art indeed!
I spent half a day yesterday searching for the reason RPM wanted to force symbol stripping on kernel modules before I found the correct %define to suppress it....
juiceme ( 2015-04-22 07:28:49 +0200 )edit