RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  ____________________________________________________________________________

  Server: rpm5.org                         Name:   Ralf S. Engelschall
  Root:   /v/rpm/cvs                       Email:  [EMAIL PROTECTED]
  Module: rpm                              Date:   18-Jun-2008 20:23:26
  Branch: rpm-5_1                          Handle: 2008061818232501

  Modified files:           (Branch: rpm-5_1)
    rpm                     VENDOR
    rpm/rpmio               macro.c

  Log:
    sync rpmio/macro.c and VENDOR with HEAD

  Summary:
    Revision    Changes     Path
    2.47.2.3    +20 -0      rpm/VENDOR
    2.193.2.5   +2  -1      rpm/rpmio/macro.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/VENDOR
  ============================================================================
  $ cvs diff -u -r2.47.2.2 -r2.47.2.3 VENDOR
  --- rpm/VENDOR        18 May 2008 14:48:46 -0000      2.47.2.2
  +++ rpm/VENDOR        18 Jun 2008 18:23:25 -0000      2.47.2.3
  @@ -401,6 +401,26 @@
                        the *.spec file).
        ________________________________________________________________________
   
  +     Change:         always-strict-posix-option-parsing
  +     Purpose:        Always use strict POSIX-style option parsing.
  +     Reason:         OpenPKG wants RPM to always(!) use the
  +                     POPT_CONTEXT_POSIXMEHARDER flag to (again)
  +                     correctly parse macro arguments *without*
  +                     option/argument permutations now that we are using
  +                     POPT instead of getopt(3)!
  +                     Broken behavior without POPT_CONTEXT_POSIXMEHARDER:
  +                        $ rpm --define '%foo() <%*>' --eval '%{foo bar 
%(echo -n "quux") baz}'
  +                        error: Unknown option in macro foo(): -n: unknown 
option
  +                        <%*>
  +                     Fixed behavior with POPT_CONTEXT_POSIXMEHARDER:
  +                        $ rpm --define '%foo() <%*>' --eval '%{foo bar 
%(echo -n "quux") baz}'
  +                        <bar quux baz>
  +                     The explicit use of the POSIX "+" option is a
  +                     now implemented possibility, but for backward
  +                     compatibility OpenPKG wants that existing macros
  +                     are not broken.
  +     ________________________________________________________________________
  +
     o  Name:           RPM4DARWIN
        Vendor:         RPM for Darwin (Mac OS X) 
<http://rpm4darwin.sourceforge.net/>
        Representative: Anders F. Bjorklund <[EMAIL PROTECTED]> <[EMAIL 
PROTECTED]>
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmio/macro.c
  ============================================================================
  $ cvs diff -u -r2.193.2.4 -r2.193.2.5 macro.c
  --- rpm/rpmio/macro.c 18 Jun 2008 16:22:04 -0000      2.193.2.4
  +++ rpm/rpmio/macro.c 18 Jun 2008 18:23:26 -0000      2.193.2.5
  @@ -1053,6 +1053,7 @@
       argv = (const char **) alloca((argc + 1) * sizeof(*argv));
       be[-1] = ' '; /* assert((be - 1) == (b + strlen(b) == buf + 
strlen(buf))) */
       be[0] = '\0';
  +
       b = buf;
       for (c = 0; c < argc; c++) {
        argv[c] = b;
  @@ -1066,7 +1067,7 @@
        * only before positional arguments, as POSIX requires.
       */
       popt_flags = POPT_CONTEXT_NO_EXEC;
  -#if defined(RPM_VENDOR_OPENPKG) /* XXX maintain compat w 5.0 behavior. */
  +#if defined(RPM_VENDOR_OPENPKG) /* always-strict-posix-option-parsing */
       popt_flags |= POPT_CONTEXT_POSIXMEHARDER;
   #endif
       if (me->opts[0] == '+') popt_flags |= POPT_CONTEXT_POSIXMEHARDER;
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                rpm-cvs@rpm5.org

Reply via email to