[bug]It is impossible to build Harbour compatible packages on Mer OBS

asked 2015-04-22 01:35:48 +0200

MartinK gravatar image

updated 2015-04-22 02:27:55 +0200

coderus gravatar image

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:

  1. create a source package on OBS that that contains at least one bash script
  2. build it
  3. 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.

edit retag flag offensive close delete

Comments

1

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