Please note that this also just broke every build in devtool.conf (because an additional build argument, with path to a bash enabled with --rpm-requires is added.
There's a point at which increasingly precise AutoFu and "Have it your own way!" configuration only increases the difficulty of developing RPM and using "continous intergration" on multiple platforms. The simpler approach is choosing MANDATORY behavior, either NEVER or ALWAYS doing automated scriptlet dependency extraxtion, and (if ALWAYS my preference) then distributing rpmbuild with a patched version of bash that has --rpm-requires availaible in /usr/lib/rrpm/bin/bash I WILL go to distributing bash with rpmbuild becuase its an order of magnitude less work than attempting to keep up with the endless Have it your own way! AutoFu under "continuous integration" buildbots on multiple platforms (what I've been wasting my time on for more than 2 years now). hth 73 de Jeff On Jun 7, 2011, at 10:01 AM, Pinto Elia wrote: > RPM Package Manager, CVS Repository > http://rpm5.org/cvs/ > ____________________________________________________________________________ > > Server: rpm5.org Name: Pinto Elia > Root: /v/rpm/cvs Email: devzero2...@rpm5.org > Module: rpm Date: 07-Jun-2011 16:01:52 > Branch: rpm-5_4 Handle: 2011060714015001 > > Modified files: (Branch: rpm-5_4) > rpm CHANGES configure.ac > rpm/macros macros.in > > Log: > define the scriplet_requires macro > as /bin/bash --rpm-requires only if bash have the > required patch. > > Submitted by: Elia Pinto > > Summary: > Revision Changes Path > 1.3501.2.136+3 -0 rpm/CHANGES > 2.472.2.22 +16 -0 rpm/configure.ac > 1.39.2.13 +2 -2 rpm/macros/macros.in > ____________________________________________________________________________ > > patch -p0 <<'@@ .' > Index: rpm/CHANGES > ============================================================================ > $ cvs diff -u -r1.3501.2.135 -r1.3501.2.136 CHANGES > --- rpm/CHANGES 7 Jun 2011 13:11:42 -0000 1.3501.2.135 > +++ rpm/CHANGES 7 Jun 2011 14:01:50 -0000 1.3501.2.136 > @@ -1,4 +1,7 @@ > 5.4.1 -> 5.4.2 > + - devzero2000: define the scriplet_requires macro > + as /bin/bash --rpm-requires only if bash have the > + required patch. > - proyvind: don't pick up python version from python egg, rely on path > only in stead to avoid incorrect version dependencies if any other > egg metadata for other versions is found. > @@ . > patch -p0 <<'@@ .' > Index: rpm/configure.ac > ============================================================================ > $ cvs diff -u -r2.472.2.21 -r2.472.2.22 configure.ac > --- rpm/configure.ac 2 Jun 2011 21:15:21 -0000 2.472.2.21 > +++ rpm/configure.ac 7 Jun 2011 14:01:51 -0000 2.472.2.22 > @@ -390,6 +390,22 @@ > AC_DEFINE([RPMVERCMP_DIGITS_BEAT_ALPHA],[1],[Permit in RPM version > comparison that digits beat alpha]) > ]) > > +dnl # Check if bash have the --rpm-requires patch > +dnl # If so define the scriptlet_requires output variable > +dnl # to "bash --rpm-requires" > +dnl # and BASH_RPM_REQUIRES to the bash absolute path > +AC_CACHE_CHECK([for bash if supports --rpm-requires], > [ac_cv_path_BASH_RPM_REQUIRES], > + [AC_PATH_PROGS_FEATURE_CHECK([BASH_RPM_REQUIRES], [bash], > + [[ bash_rpm_requires_out=`echo ls | $ac_path_BASH_RPM_REQUIRES > --rpm-requires | grep "executable(ls)"` > + test "x$bash_rpm_requires_out" != x \ > + && ac_cv_path_BASH_RPM_REQUIRES=$ac_path_BASH_RPM_REQUIRES > scriptlet_requires="$ac_path_BASH_RPM_REQUIRES --rpm-requires" > + ]], > + [[ scriptlet_requires="%{nil}" ]], [$PATH] > +)]) > +AS_IF([test "x$ac_cv_path_BASH_RPM_REQUIRES" != x], > + [AC_SUBST([BASH_RPM_REQUIRES],[$ac_cv_path_BASH_RPM_REQUIRES])], > + [AC_SUBST([BASH_RPM_REQUIRES],[:])]) > +AC_SUBST([scriptlet_requires]) > dnl # FIXME: partly Linux-specific only!? > dnl # (but at least it usually doesn't harm on other platforms) > CFLAGS="$CFLAGS -D_GNU_SOURCE -D_REENTRANT" > @@ . > patch -p0 <<'@@ .' > Index: rpm/macros/macros.in > ============================================================================ > $ cvs diff -u -r1.39.2.12 -r1.39.2.13 macros.in > --- rpm/macros/macros.in 11 Apr 2011 00:34:48 -0000 1.39.2.12 > +++ rpm/macros/macros.in 7 Jun 2011 14:01:51 -0000 1.39.2.13 > @@ -1,7 +1,7 @@ > #/*! \page config_macros Default configuration: @USRLIBRPM@/macros > # \verbatim > # > -# $Id: macros.in,v 1.39.2.12 2011/04/11 00:34:48 jbj Exp $ > +# $Id: macros.in,v 1.39.2.13 2011/06/07 14:01:51 devzero2000 Exp $ > # > # This is a global RPM configuration file. All changes made here will > # be lost when the rpm package is upgraded. Any per-system configuration > @@ -925,7 +925,7 @@ > # helpers are also used by %{_rpmhome}/rpmdeps {--provides|--requires}. > #%__executable_provides %{_rpmhome}/executabledeps.sh --provides > #%__executable_requires %{_rpmhome}/executabledeps.sh --requires > -%__scriptlet_requires %{__bash} --rpm-requires > +%__scriptlet_requires @scriptlet_requires@ > > > #============================================================================== > # XXX Caveat: > @@ . > ______________________________________________________________________ > RPM Package Manager http://rpm5.org > CVS Sources Repository rpm-...@rpm5.org
smime.p7s
Description: S/MIME cryptographic signature