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

  Server: rpm5.org                         Name:   Jeff Johnson
  Root:   /v/rpm/cvs                       Email:  j...@rpm5.org
  Module: rpm                              Date:   20-Aug-2009 18:42:47
  Branch: HEAD                             Handle: 2009082016424700

  Modified files:
    rpm/build               spec.c

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

  Summary:
    Revision    Changes     Path
    2.204       +12 -11     rpm/build/spec.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/build/spec.c
  ============================================================================
  $ cvs diff -u -r2.203 -r2.204 spec.c
  --- rpm/build/spec.c  1 Jun 2009 13:40:28 -0000       2.203
  +++ rpm/build/spec.c  20 Aug 2009 16:42:47 -0000      2.204
  @@ -464,19 +464,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                                rpm-cvs@rpm5.org

Reply via email to