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

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to