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

  Server: rpm5.org                         Name:   Per Øyvind Karlsen
  Root:   /v/rpm/cvs                       Email:  [email protected]
  Module: rpm                              Date:   21-Aug-2009 15:46:42
  Branch: rpm-5_2                          Handle: 2009082113464101

  Modified files:           (Branch: rpm-5_2)
    rpm                     CHANGES
    rpm/build               spec.c

  Log:
    rpm.org: Avoid adding Lua sources/patches twice when recursing (ticket
    #82).

  Summary:
    Revision    Changes     Path
    1.2970.2.37 +1  -0      rpm/CHANGES
    2.199.2.1   +12 -11     rpm/build/spec.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.2970.2.36 -r1.2970.2.37 CHANGES
  --- rpm/CHANGES       19 Aug 2009 10:53:46 -0000      1.2970.2.36
  +++ rpm/CHANGES       21 Aug 2009 13:46:42 -0000      1.2970.2.37
  @@ -1,4 +1,5 @@
   5.2.0 -> 5.2.1:
  +    - rpm.org: Avoid adding Lua sources/patches twice when recursing.
       - proyvind: make sure to expand %buildroot from main package.
       - proyvind: rpmevr: make rpmEVRparse() work with missing values.
       - proyvind: rpm46compat: Implement RPM 4.6 API wrapper providing 
~seamless
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/build/spec.c
  ============================================================================
  $ cvs diff -u -r2.199 -r2.199.2.1 spec.c
  --- rpm/build/spec.c  26 Mar 2009 20:09:01 -0000      2.199
  +++ rpm/build/spec.c  21 Aug 2009 13:46:41 -0000      2.199.2.1
  @@ -445,19 +445,20 @@
                (flag & RPMFILE_PATCH) ? "PATCH" : "SOURCE", num);
        addMacro(spec->macros, buf, NULL, p->fullSource, RMIL_SPEC);
   #ifdef WITH_LUA
  -    {        rpmlua lua = NULL; /* global state */
  -     const char * what = (flag & RPMFILE_PATCH) ? "patches" : "sources";
  -     rpmluav var = rpmluavNew();
  -
  -     rpmluaPushTable(lua, what);
  -     rpmluavSetListMode(var, 1);
  -     rpmluavSetValue(var, RPMLUAV_STRING, body);
  -     rpmluaSetVar(lua, var);
  +     if (!spec->recursing) {
  +         rpmlua lua = NULL; /* global state */
  +         const char * what = (flag & RPMFILE_PATCH) ? "patches" : "sources";
  +         rpmluav var = rpmluavNew();
  +
  +         rpmluaPushTable(lua, what);
  +         rpmluavSetListMode(var, 1);
  +         rpmluavSetValue(var, RPMLUAV_STRING, body);
  +         rpmluaSetVar(lua, var);
   /*...@-moduncon@*/
  -     var = (rpmluav) rpmluavFree(var);
  +         var = (rpmluav) rpmluavFree(var);
   /*...@=moduncon@*/
  -     rpmluaPop(lua);
  -    }
  +         rpmluaPop(lua);
  +     }
   #endif
        body = _free(body);
       }
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                [email protected]

Reply via email to