On Thu, Mar 14, 2019 at 08:41:24AM +0100, Dominique Leuenberger / DimStar wrote:
On Wed, 2019-03-13 at 18:43 +0100, Michal Suchánek wrote:
You can specify it via the %__spec_build_cmd macro. For instance, you could
add a
%define __spec_build_cmd /bin/bash -e
Yes, that's helpful.
If we get these alternatives I will add it to the compatibility cruft block together with the %license handling.
And I'm sure the review team will decline them if there is no proper reason to do this - if you don't have at least *some* complexity in the build section.
The vast majoriti of packages uses "configure, make, makeinstall", "%cmake, %cmake_build,, %cmake_install"…
The review team will be ok if you switch the interpreter from to explicit bash IFF there is need for. But please, don't just add this prophilactic to any spec file just because you oppose something.
Just saying - Having a way out is good, opposing it for the sake of opposing it is unfriendly in a community.
I vote for configure the system Bourne SHell on the command line. As an example I provide the new package posh (Policy-compliant Ordinary SHell) in the project shells. With this the System Administrator has to do update-alternatives --config sh which gives There are 2 choices for the alternative sh (providing /usr/bin/sh). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/bin/bash 10100 auto mode 1 /usr/bin/bash 10100 manual mode 2 /usr/bin/posh 100 manual mode Press <enter> to keep the current choice[*], or type selection number: 2 update-alternatives: using /usr/bin/posh to provide /usr/bin/sh (sh) in manual mode and this works. Only the symbolic link /usr/bin/sh should not be part of the file list regardless what rpmlint says here as with uninstalling the package the link /usr/bin/sh should stay!! The difference between bash.spec and posh.spec is that I use in the first spec file the option --force for u-a and not in the later spec file as well as a much lower priority. And as the bash is part of the initial setup of the build system and all other packages becomes removed at build time the link /usr/bin/sh will point always to /usr/bin/bash (over /etc/alternatives/sh) Werner -- "Having a smoking section in a restaurant is like having a peeing section in a swimming pool." -- Edward Burr