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

  Server: rpm5.org                         Name:   Jeff Johnson
  Root:   /v/rpm/cvs                       Email:  [EMAIL PROTECTED]
  Module: rpm                              Date:   22-Jun-2007 14:58:11
  Branch: HEAD                             Handle: 2007062213581100

  Modified files:
    rpm                     CHANGES macros.in
    rpm/rpmio               Makefile.am macro.c

  Log:
    - add patch macro, renamed to Xpatch until fully wired.

  Summary:
    Revision    Changes     Path
    1.1391      +1  -0      rpm/CHANGES
    1.163       +11 -1      rpm/macros.in
    1.83        +1  -1      rpm/rpmio/Makefile.am
    2.120       +7  -5      rpm/rpmio/macro.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.1390 -r1.1391 CHANGES
  --- rpm/CHANGES       22 Jun 2007 11:50:56 -0000      1.1390
  +++ rpm/CHANGES       22 Jun 2007 12:58:11 -0000      1.1391
  @@ -1,4 +1,5 @@
   4.5 -> 5.0:
  +    - jbj: add patch macro, renamed to Xpatch until fully wired.
       - jbj: remove support for patch-2.1.
       - rse: allow actually used tar(1) and patch(1) tools to be set via 
%__tar and %__patch
       - rse: add support for patch(1)'s "-d" option to internal macro %patch
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/macros.in
  ============================================================================
  $ cvs diff -u -r1.162 -r1.163 macros.in
  --- rpm/macros.in     20 Jun 2007 12:03:41 -0000      1.162
  +++ rpm/macros.in     22 Jun 2007 12:58:11 -0000      1.163
  @@ -1,7 +1,7 @@
   #/*! \page config_macros Default configuration: @USRLIBRPM@/macros
   # \verbatim
   #
  -# $Id: macros.in,v 1.162 2007/06/20 12:03:41 rse Exp $
  +# $Id: macros.in,v 1.163 2007/06/22 12:58:11 jbj 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
  @@ -383,6 +383,16 @@
   %_package_version    30005
   
   #
  +# The patch macro writes 1 line of shell code to (optionally) uncompress
  +# a file and aplly using patch(1).
  +#
  +
  +%Xpatch(b:p:P:REz:F:d:) \
  +%define patch_file   %{P:%{-P:%{-P*}}%{!-P:%%PATCH0}} \
  +%define patch_suffix %{!-z:%{-b:-b --suffix %{-b*}}}%{!-b:%{-z:--suffix 
%{-z*}}}%{!-z:%{!-b: }}%{-z:%{-b:%{error:Can't specify both -z(%{-z*}) and 
-b(%{-b*})}}} \
  +  %{uncompress:%patch_file} | %{__patch} %{-p:-p%{-p*}} %{-F:-F%{-F*}} 
%{-d:-d%{-d*}} %patch_suffix %{-R} %{-E}
  +
  +#
   # Script gets packaged file list on input and buildroot as first parameter.
   # Returns list of unpackaged files, i.e. files in $RPM_BUILD_ROOT not 
packaged.
   #
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmio/Makefile.am
  ============================================================================
  $ cvs diff -u -r1.82 -r1.83 Makefile.am
  --- rpm/rpmio/Makefile.am     22 Jun 2007 02:05:03 -0000      1.82
  +++ rpm/rpmio/Makefile.am     22 Jun 2007 12:58:11 -0000      1.83
  @@ -78,7 +78,7 @@
   tmacro_LDFLAGS = # @LDFLAGS_STATIC@
   tmacro_LDADD = tmacro.o # librpmio.la $(top_builddir)/popt/libpopt.la
   tmacro.o:  macro.c
  -     $(COMPILE) -DDEBUG_MACROS -DEVAL_MACROS -o $@ -c $<
  +     $(COMPILE) -DDEBUG_MACROS -o $@ -c $<
   
   tput_SOURCES = tput.c
   tput_LDFLAGS = @LDFLAGS_STATIC@
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmio/macro.c
  ============================================================================
  $ cvs diff -u -r2.119 -r2.120 macro.c
  --- rpm/rpmio/macro.c 22 Jun 2007 02:05:03 -0000      2.119
  +++ rpm/rpmio/macro.c 22 Jun 2007 12:58:11 -0000      2.120
  @@ -1170,9 +1170,7 @@
            be++;
   /[EMAIL PROTECTED]@*/
        *be++ = '\0';
  -#ifndef      DEBUG_MACROS
        (void) isCompressed(b, &compressed);
  -#endif
        switch(compressed) {
        default:
        case 0: /* COMPRESSED_NOT */
  @@ -1190,6 +1188,9 @@
        case 4: /* COMPRESSED_LZOP */
            sprintf(be, "%%__lzop %s", b);
            break;
  +     case 5: /* COMPRESSED_LZMA */
  +         sprintf(be, "%%__lzma %s", b);
  +         break;
        }
        b = be;
       } else if (STREQ("S", f, fn)) {
  @@ -2459,10 +2460,11 @@
       }
   
       rpmInitMacros(NULL, rpmMacrofiles);
  +    /* XXX getopt(3) also used for parametrized macros, expect scwewiness. */
       for ( ; optind < argc; optind++) {
        const char *val;
   
  -     val = rpmGetPath(argv[optind], NULL);
  +     val = rpmExpand(argv[optind], NULL);
        if (val) {
            fprintf(stdout, "%s:\t%s\n", argv[optind], val);
            val = _free(val);
  @@ -2474,8 +2476,8 @@
   
   #else        /* !EVAL_MACROS */
   
  -char *rpmMacrofiles = "../macros:./testmacros";
  -char *testfile = "./test";
  +const char *rpmMacrofiles = "../macros:./testmacros";
  +const char *testfile = "./test";
   
   int
   main(int argc, char *argv[])
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                rpm-cvs@rpm5.org

Reply via email to