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]
