[CVS] RPM: rpm/ CHANGES rpm/build/ files.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Pinto Elia Root: /v/rpm/cvs Email: devzero2...@rpm5.org Module: rpm Date: 17-Jul-2012 15:02:02 Branch: HEAD Handle: 2012071713020200 Modified files: rpm CHANGES rpm/build files.c Log: Accept owner as an alias to user %verify attribute This fix rhbz#838657. Already fixed in the master branch @rpm.org The latest MAXIMUM RPM and RedHat RPM Guide (http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch09s05s05.html) describe owner instead of user as a %verify attribute Summary: RevisionChanges Path 1.3689 +2 -0 rpm/CHANGES 1.370 +1 -0 rpm/build/files.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3688 -r1.3689 CHANGES --- rpm/CHANGES 27 Apr 2012 07:36:31 - 1.3688 +++ rpm/CHANGES 17 Jul 2012 13:02:02 - 1.3689 @@ -1,4 +1,6 @@ HEAD: +- devzero2000: Accept owner as an alias to user %verify attribute + (fix rhbz #838657). Already fixed in the master branch @rpm.org - devzero2000: add more Fedorable gpg keys to thkp.c test program - devzero2000: call with safety some python API that can segfault if called with a NULL pointer. @@ . patch -p0 '@@ .' Index: rpm/build/files.c $ cvs diff -u -r1.369 -r1.370 files.c --- rpm/build/files.c 28 Aug 2010 16:07:04 - 1.369 +++ rpm/build/files.c 17 Jul 2012 13:02:02 - 1.370 @@ -310,6 +310,7 @@ { size,0, RPMVERIFY_FILESIZE }, { link,0, RPMVERIFY_LINKTO }, { user,0, RPMVERIFY_USER }, +{ owner, 0, RPMVERIFY_USER }, { group, 0, RPMVERIFY_GROUP }, { mtime, 0, RPMVERIFY_MTIME }, { mode,0, RPMVERIFY_MODE }, @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/tests/ thkp.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Pinto Elia Root: /v/rpm/cvs Email: devzero2...@rpm5.org Module: rpm Date: 05-Mar-2012 15:52:24 Branch: HEAD Handle: 2012030514522301 Modified files: rpm CHANGES rpm/tests thkp.c Log: add more Fedorable gpg keys to thkp.c test program Summary: RevisionChanges Path 1.3687 +1 -0 rpm/CHANGES 1.3 +8 -2 rpm/tests/thkp.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3686 -r1.3687 CHANGES --- rpm/CHANGES 20 Dec 2011 16:45:56 - 1.3686 +++ rpm/CHANGES 5 Mar 2012 14:52:23 - 1.3687 @@ -1,4 +1,5 @@ HEAD: +- devzero2000: add more Fedorable gpg keys to thkp.c test program - devzero2000: call with safety some python API that can segfault if called with a NULL pointer. Based of the original patch of David Malcom @@ . patch -p0 '@@ .' Index: rpm/tests/thkp.c $ cvs diff -u -r1.2 -r1.3 thkp.c --- rpm/tests/thkp.c 11 Apr 2011 14:41:35 - 1.2 +++ rpm/tests/thkp.c 5 Mar 2012 14:52:24 - 1.3 @@ -52,8 +52,14 @@ 0xfdb36b03,/* Fedora (14-s390x) fed...@fedoraproject.org */ 0x97a1071f,/* Fedora (14) fed...@fedoraproject.org */ 0x069c8460,/* Fedora (15) fed...@fedoraproject.org */ -0x0608b895,/* EPEL (6) e...@fedoraproject.org */ -0x217521f6,/* Fedora EPEL e...@fedoraproject.org */ +0xA82BA4B7,/* Fedora (16) - primary - fed...@fedoraproject.org */ +0x10D90A9E,/* Fedora (16) - secondary - fed...@fedoraproject.org */ +0x1ACA3465,/* Fedora (17) - primary - fed...@fedoraproject.org */ +0xF8DF67E6,/* Fedora (17) - secondary - fed...@fedoraproject.org */ +0x22B3B81A,/* Fedora (18) - primary - fed...@fedoraproject.org */ +0x34E166FA,/* Fedora (18) - secondary - fed...@fedoraproject.org */ +0x0x0608b895, /* EPEL (6) e...@fedoraproject.org */ +0x0x217521f6, /* Fedora EPEL e...@fedoraproject.org */ /* --- IDMS 2010-05-22 */ 0x1edca302,/* IDMS Linux (Trunk) gpgk...@idms-linux.org */ /* --- CentOS 5.4 */ @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/js/ rpmmpw-js.c rpm/python/ header-py.c rp...
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Pinto Elia Root: /v/rpm/cvs Email: devzero2...@rpm5.org Module: rpm Date: 20-Dec-2011 17:45:57 Branch: HEAD Handle: 2011122016455601 Modified files: rpm CHANGES rpm/js rpmmpw-js.c rpm/python header-py.c rpmdb-py.c rpmfts-py.c rpmmacro-py.c rpmmodule.c rpmtd-py.c rpmts-py.c spec-py.c rpm/rpmio rpmpython.c Log: call with safety some python API that can segfault if called with a NULL pointer. Based of the original patch of David Malcom http://lists.rpm.org/pipermail/rpm-maint/2011-December/003139.html In particular: - always check if PyList_New(0) is not NULL - substitute the call to Py_DECREF to Py_XDECREF Probably more check is needed. Todo++ Summary: RevisionChanges Path 1.3686 +4 -0 rpm/CHANGES 1.23+1 -1 rpm/js/rpmmpw-js.c 1.115 +57 -11 rpm/python/header-py.c 1.29+1 -1 rpm/python/rpmdb-py.c 1.25+4 -4 rpm/python/rpmfts-py.c 1.8 +3 -3 rpm/python/rpmmacro-py.c 1.182 +12 -10 rpm/python/rpmmodule.c 1.4 +3 -0 rpm/python/rpmtd-py.c 1.112 +20 -13 rpm/python/rpmts-py.c 1.15+7 -0 rpm/python/spec-py.c 2.17+1 -1 rpm/rpmio/rpmpython.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3685 -r1.3686 CHANGES --- rpm/CHANGES 10 Nov 2011 12:45:05 - 1.3685 +++ rpm/CHANGES 20 Dec 2011 16:45:56 - 1.3686 @@ -1,4 +1,8 @@ HEAD: +- devzero2000: call with safety some python API that + can segfault if called with a NULL pointer. + Based of the original patch of David Malcom + http://lists.rpm.org/pipermail/rpm-maint/2011-December/003139.html - proyvind: add support for filtering of files to find-debuginfo.sh. - proyvind: fix find-debuginfo.sh mime-type matching. - proyvind: fix different epoch being ignored when comparing two packages @@ . patch -p0 '@@ .' Index: rpm/js/rpmmpw-js.c $ cvs diff -u -r1.22 -r1.23 rpmmpw-js.c --- rpm/js/rpmmpw-js.c3 Jun 2011 16:32:15 - 1.22 +++ rpm/js/rpmmpw-js.c20 Dec 2011 16:45:56 - 1.23 @@ -1167,7 +1167,7 @@ /* Grab long as big-endian unsigned octets. */ if (_PyLong_AsByteArray(lo, zb, nzb, is_littleendian, is_signed)) { - Py_DECREF(z); + Py_XDECREF(z); return NULL; } @@ . patch -p0 '@@ .' Index: rpm/python/header-py.c $ cvs diff -u -r1.114 -r1.115 header-py.c --- rpm/python/header-py.c28 Jan 2011 00:26:33 - 1.114 +++ rpm/python/header-py.c20 Dec 2011 16:45:56 - 1.115 @@ -170,7 +170,9 @@ HeaderIterator hi; list = PyList_New(0); - +if (!list) { + return NULL; +} for (hi = headerInit(s-h); headerNext(hi, he, 0); he-p.ptr = _free(he-p.ptr)) @@ -186,8 +188,14 @@ case RPM_UINT8_TYPE: case RPM_STRING_ARRAY_TYPE: case RPM_STRING_TYPE: - PyList_Append(list, o=PyInt_FromLong(he-tag)); - Py_DECREF(o); +o=PyInt_FromLong(he-tag); +if (!o) { +headerFreeIterator(hi); +Py_XDECREF(list); +return NULL; +} + PyList_Append(list, o); + Py_XDECREF(o); break; } } @@ -474,10 +482,17 @@ case RPM_UINT8_TYPE: if (he-c != 1 || forceArray) { metao = PyList_New(0); +if (!metao) { + return NULL; +} for (i = 0; i he-c; i++) { o = PyInt_FromLong(he-p.ui8p[i]); +if (!o) { + Py_XDECREF(metao); + return NULL; +} PyList_Append(metao, o); - Py_DECREF(o); + Py_XDECREF(o); } o = metao; } else { @@ -488,10 +503,17 @@ case RPM_UINT16_TYPE: if (he-c != 1 || forceArray) { metao = PyList_New(0); +if (!metao) { + return NULL; + } for (i = 0; i he-c; i++) { o =
[CVS] RPM: rpm/ CHANGES rpm/scripts/ dbconvert.sh gstreamer.sh
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Pinto Elia Root: /v/rpm/cvs Email: devzero2...@rpm5.org Module: rpm Date: 12-Oct-2011 18:50:52 Branch: HEAD Handle: 2011101216505101 Modified files: rpm CHANGES rpm/scripts dbconvert.sh gstreamer.sh Log: get rid of bashisms in dbconvert.sh and gstreamer.sh Fix the following error reported by checkbashisms (debian devscript package) dbconvert.sh possible bashism in dbconvert.sh line 15 (${parm/?/pat[/str]}): possible bashism in dbconvert.sh line 22 (should be 'b = a'): possible bashism in dbconvert.sh line 39 ('((' should be '$(('): possible bashism in dbconvert.sh line 47 (should be 'b = a'): possible bashism in dbconvert.sh line 58 (should be word 21): possible bashism in dbconvert.sh line 59 (should be 'b = a'): possible bashism in dbconvert.sh line 69 (brace expansion): gstreamer.sh possible bashism in gstreamer.sh line 30 ('function' is useless): possible bashism in gstreamer.sh line 36 ('function' is useless): _ Reference: https://wiki.ubuntu.com/DashAsBinSh http://mywiki.wooledge.org/Bashism Summary: RevisionChanges Path 1.3681 +1 -0 rpm/CHANGES 1.13+16 -7 rpm/scripts/dbconvert.sh 1.2 +2 -2 rpm/scripts/gstreamer.sh patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3680 -r1.3681 CHANGES --- rpm/CHANGES 11 Oct 2011 09:02:18 - 1.3680 +++ rpm/CHANGES 12 Oct 2011 16:50:51 - 1.3681 @@ -1,4 +1,5 @@ HEAD: +- devzero2000: get rid of bashisms in dbconvert.sh and gstreamer.sh - devzero2000: gendiff don't have bashism - devzero2000: call umask before mkstemp. The mkstemp() function generates a unique temporary file name from the supplied template, @@ . patch -p0 '@@ .' Index: rpm/scripts/dbconvert.sh $ cvs diff -u -r1.12 -r1.13 dbconvert.sh --- rpm/scripts/dbconvert.sh 7 Jan 2011 00:08:13 - 1.12 +++ rpm/scripts/dbconvert.sh 12 Oct 2011 16:50:52 - 1.13 @@ -12,14 +12,15 @@ DBVERSION=5.1 DBERROR=0 for db_tool in db_stat db_dump db_load db_recover; do -tool=$(which ${db_tool/db_/db${DBVERSION/./}_} || which $db_tool 2 /dev/null) +db_tool_versioned=$(echo $db_tool | sed -e 's/^db_/db'${DBVERSION}'/' -e 's/^db\([0-9]*\)\.\([0-9]*\)/db\1\2_/') +tool=$(which ${db_tool_versioned} || which $db_tool 2 /dev/null) if [ -z $tool -o ! -x $tool ]; then echo Unable to locate $db_tool DBERROR=1 else tool_version=$($tool -V |sed 's/^Berkeley DB \([0-9]\+\.[0-9]\+\).*/\1/') [ $DBVERBOSE -ne 0 ] echo Found $db_tool: $tool version: $tool_version - if [ $tool_version == $DBVERSION ]; then + if [ $tool_version = $DBVERSION ]; then export $db_tool=$tool else echo Incompatible $db_tool version ($tool_version) found, $DBVERSION.* required @@ -36,7 +37,7 @@ for line in `$db_dump $DBHOME/Packages|head`; do if [ $HEADER -eq 0 ]; then [ $DATA -eq 0 -a $((0x$line)) -eq 0 ] continue - ((DATA++)) +DATA=`expr $DATA + 1` if [ $((0x$line)) -ge 1000 ]; then LORDER=1234 else @@ -44,7 +45,7 @@ fi break fi -if [ $line == HEADER=END ]; then +if [ $line = HEADER=END ]; then HEADER=0 fi done @@ -55,8 +56,8 @@ # Database is assumed to be converted, so let's ditch it if [ $($db_stat -f -d $DBHOME/Packages |grep -c 'Btree magic number') -ne 0 -o $LORDER -eq 4321 ] \ -rpm --dbpath $DBHOME -qa /dev/null rpm --dbpath $DBHOME -q rpm /dev/null; then -if [ $DBFORCE == 0 ]; then +rpm --dbpath $DBHOME -qa /dev/null 21 rpm --dbpath $DBHOME -q rpm /dev/null 21 ; then +if [ $DBFORCE -eq 0 ]; then [ $DBVERBOSE -ne 0 ] echo rpmdb already converted, set variable DBFORCE=1 to force exit 0 fi @@ -66,7 +67,15 @@ echo Converting system database. rm -rf $NEWDB -mkdir -p {$DBHOME,$NEWDB}/{log,tmp} +# Poor men brace bash expansion +for _var in $DBHOME $NEWDB +do +for _var1 in log tmp +do + mkdir -p ${_var}/${_var1} +done +done + if [ $DBHOME != /var/lib/rpm ]; then if [ -f /var/lib/rpm/DB_CONFIG ]; then cp
[CVS] RPM: rpm/ CHANGES rpm/lib/ rpmgi.c
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: 12-Sep-2011 16:16:38 Branch: HEAD Handle: 2011091214163700 Modified files: rpm CHANGES rpm/lib rpmgi.c Log: - rpmgi: fix: load rpmdb tag value filters more carefully. Summary: RevisionChanges Path 1.3675 +1 -0 rpm/CHANGES 2.79+8 -5 rpm/lib/rpmgi.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3674 -r1.3675 CHANGES --- rpm/CHANGES 6 Sep 2011 14:41:17 - 1.3674 +++ rpm/CHANGES 12 Sep 2011 14:16:37 - 1.3675 @@ -1,4 +1,5 @@ HEAD: +- jbj: rpmgi: fix: load rpmdb tag value filters more carefully. - devzero2000: add lzip support - devzero2000: add lrzip support (blueprint https://blueprints.launchpad.net/rpm/+spec/rpm5-use-lrzip-as-new-compression-program) @@ . patch -p0 '@@ .' Index: rpm/lib/rpmgi.c $ cvs diff -u -r2.78 -r2.79 rpmgi.c --- rpm/lib/rpmgi.c 19 Mar 2011 14:51:51 - 2.78 +++ rpm/lib/rpmgi.c 12 Sep 2011 14:16:37 - 2.79 @@ -432,7 +432,7 @@ { rpmRC rpmrc = RPMRC_OK; ARGV_t av; -int res = 0; +int got = 0; gi-mi = rpmtsInitIterator(gi-ts, gi-tag, gi-keyp, gi-keylen); @@ -454,22 +454,25 @@ *ae++ = '\0'; if (*a != '\0') { /* XXX HACK: permit '=foo' */ tag = tagValue(a); +#ifdef DYING /* XXX arbitrary tags always have a return value */ if (tag 0) { rpmlog(RPMLOG_NOTICE, _(unknown tag: \%s\\n), a); - res = 1; + got = -1; } +#endif } pat = ae; + got++; } - if (!res) { + if (got) { if (_rpmgi_debug 0) fprintf(stderr, \tav %p[%d]: \%s\ - %s ~= \%s\\n, gi-argv, (int)(av - gi-argv), *av, tagName(tag), pat); - res = rpmmiAddPattern(gi-mi, tag, RPMMIRE_DEFAULT, pat); + got = rpmmiAddPattern(gi-mi, tag, RPMMIRE_DEFAULT, pat); } a = _free(a); } - if (res == 0) + if (got = 0) continue; gi-mi = rpmmiFree(gi-mi); /* XXX odd side effect? */ @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/rpmio/ lsyck.c rpmlua.c
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: 12-Sep-2011 22:28:54 Branch: HEAD Handle: 2011091220285301 Modified files: rpm CHANGES rpm/rpmio lsyck.c rpmlua.c Log: - lua: port to lua-5.2.0-beta external. Summary: RevisionChanges Path 1.3677 +1 -0 rpm/CHANGES 2.9 +16 -2 rpm/rpmio/lsyck.c 2.77+67 -6 rpm/rpmio/rpmlua.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3676 -r1.3677 CHANGES --- rpm/CHANGES 12 Sep 2011 14:25:32 - 1.3676 +++ rpm/CHANGES 12 Sep 2011 20:28:53 - 1.3677 @@ -1,4 +1,5 @@ HEAD: +- jbj: lua: port to lua-5.2.0-beta external. - jbj: hdrfmt: fix: remove a memory leak. - jbj: rpmgi: fix: load rpmdb tag value filters more carefully. - devzero2000: add lzip support @@ . patch -p0 '@@ .' Index: rpm/rpmio/lsyck.c $ cvs diff -u -r2.8 -r2.9 lsyck.c --- rpm/rpmio/lsyck.c 18 Oct 2010 15:11:21 - 2.8 +++ rpm/rpmio/lsyck.c 12 Sep 2011 20:28:54 - 2.9 @@ -2,7 +2,7 @@ * lsyck.c * * $Author: jbj $ - * $Date: 2010/10/18 15:11:21 $ + * $Date: 2011/09/12 20:28:54 $ * * Copyright (C) 2005 Zachary P. Landau kaphe...@divineinvasion.net */ @@ -16,7 +16,6 @@ #include stdlib.h #include lauxlib.h -#include lua.h #include lualib.h struct emitter_xtra { @@ -29,6 +28,21 @@ lua_State *L; }; +/* XXX lua-5.2.0 retrofit destruction area. */ +#if LUA_VERSION_NUM 501 +#define luaL_regluaL_Reg +#define lua_strlen lua_rawlen +#define luaL_getn luaL_len +static int luaL_typerror(lua_State *L, int narg, const char *tname) +{ +const char *msg = lua_pushfstring(L, %s expected, got %s, + tname, luaL_typename(L, narg)); +return luaL_argerror(L, narg, msg); +} +LUALIB_API void luaL_openlib (lua_State *L, const char *libname, + const luaL_Reg *l, int nup); +#endif + SYMID lua_syck_parser_handler(SyckParser *p, SyckNode *n); SYMID @@ . patch -p0 '@@ .' Index: rpm/rpmio/rpmlua.c $ cvs diff -u -r2.76 -r2.77 rpmlua.c --- rpm/rpmio/rpmlua.c25 Aug 2009 03:53:23 - 2.76 +++ rpm/rpmio/rpmlua.c12 Sep 2011 20:28:54 - 2.77 @@ -13,9 +13,9 @@ #include argv.h #include popt.h/* XXX poptSaneFile test */ -#include lua.h -#include lualib.h #include lauxlib.h +#include lualib.h + #ifdef WITH_SYCK LUALIB_API int luaopen_syck(lua_State *L) /*@modifies L @*/; @@ -35,9 +35,6 @@ #endif #endif -#include unistd.h -#include assert.h - #define _RPMLUA_INTERNAL #include rpmlua.h @@ -60,6 +57,24 @@ #ifdef WITH_LUA +/* XXX lua-5.2.0 retrofit destruction area. */ +#if LUA_VERSION_NUM 501 +#define luaL_regluaL_Reg +#define lua_strlen lua_rawlen +#define luaL_getn luaL_len +static int luaL_typerror(lua_State *L, int narg, const char *tname) +{ +const char *msg = lua_pushfstring(L, %s expected, got %s, + tname, luaL_typename(L, narg)); +return luaL_argerror(L, narg, msg); +} +LUALIB_API void luaL_openlib (lua_State *L, const char *libname, + const luaL_Reg *l, int nup); +#define luaopen_posixluaopen_posix_c + +#define lua_open() luaL_newstate() +#endif + #if !defined(HAVE_VSNPRINTF) static inline int vsnprintf(char * buf, /*@unused@*/ size_t nb, const char * fmt, va_list ap) @@ -141,21 +156,44 @@ static const luaL_reg lualibs[] = { /* standard LUA libraries */ {, luaopen_base}, - {LUA_LOADLIBNAME, luaopen_package}, +/* XXX 5.1.4 internal has not */ +#if defined(LUA_COLIBNAME) LUA_VERSION_NUM 501 + {LUA_COLIBNAME, luaopen_coroutine}, +#endif +#if defined(LUA_TABLIBNAME) {LUA_TABLIBNAME, luaopen_table}, +#endif +#if defined(LUA_IOLIBNAME) {LUA_IOLIBNAME, luaopen_io}, +#endif +#if defined(LUA_OSLIBNAME) {LUA_OSLIBNAME, luaopen_os}, +#endif +#if defined(LUA_STRLIBNAME)
[CVS] RPM: rpm/ CHANGES
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Pinto Elia Root: /v/rpm/cvs Email: devzero2...@rpm5.org Module: rpm Date: 06-Sep-2011 14:43:51 Branch: HEAD Handle: 2011090612435000 Modified files: rpm CHANGES Log: Missing update to CHANGES Summary: RevisionChanges Path 1.3672 +2 -0 rpm/CHANGES patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3671 -r1.3672 CHANGES --- rpm/CHANGES 5 Sep 2011 18:21:33 - 1.3671 +++ rpm/CHANGES 6 Sep 2011 12:43:50 - 1.3672 @@ -1,4 +1,6 @@ HEAD: +- devzero2000: merge commit 31d807ffa8cdf91addf7c39fdf9abf6c61d77944 + from @rpm.org master branch - jbj: tests: upgrade to abi-compliance-checker 1.93.7 (modules? docs?). - jbj: tests: upgrade to api-sanity-autotest-1.12.5 (docs?). - jbj: fix: ensure that integer CDATA is initialized to when missing. @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/build/ parsePrep.c rpm/ configure.ac rpm/m...
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Pinto Elia Root: /v/rpm/cvs Email: devzero2...@rpm5.org Module: rpm Date: 06-Sep-2011 15:39:53 Branch: HEAD Handle: 2011090613395201 Modified files: rpm CHANGES configure.ac rpm/build parsePrep.c rpm/macros macros.in rpm/rpmio macro.c rpmmacro.h Log: add lrzip support (blueprint https://blueprints.launchpad.net/rpm/+spec/rpm5-use-lrzip-as-new-compression-program) Summary: RevisionChanges Path 1.3673 +2 -0 rpm/CHANGES 2.136 +3 -0 rpm/build/parsePrep.c 2.500 +1 -0 rpm/configure.ac 1.60+2 -1 rpm/macros/macros.in 2.252 +6 -0 rpm/rpmio/macro.c 2.57+2 -1 rpm/rpmio/rpmmacro.h patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3672 -r1.3673 CHANGES --- rpm/CHANGES 6 Sep 2011 12:43:50 - 1.3672 +++ rpm/CHANGES 6 Sep 2011 13:39:52 - 1.3673 @@ -1,4 +1,6 @@ HEAD: +- devzero2000: add lrzip support + (blueprint https://blueprints.launchpad.net/rpm/+spec/rpm5-use-lrzip-as-new-compression-program) - devzero2000: merge commit 31d807ffa8cdf91addf7c39fdf9abf6c61d77944 from @rpm.org master branch - jbj: tests: upgrade to abi-compliance-checker 1.93.7 (modules? docs?). @@ . patch -p0 '@@ .' Index: rpm/build/parsePrep.c $ cvs diff -u -r2.135 -r2.136 parsePrep.c --- rpm/build/parsePrep.c 12 Apr 2011 07:56:14 - 2.135 +++ rpm/build/parsePrep.c 6 Sep 2011 13:39:52 - 2.136 @@ -323,6 +323,9 @@ case COMPRESSED_XZ: t = %{__xz} -dc; break; + case COMPRESSED_LRZIP: + t = %{__lrzip} -dqo-; + break; case COMPRESSED_ZIP: #if defined(RPM_VENDOR_OPENPKG) /* use-bsdtar-for-zip-files */ t = %{__bsdtar} -x -f; @@ . patch -p0 '@@ .' Index: rpm/configure.ac $ cvs diff -u -r2.499 -r2.500 configure.ac --- rpm/configure.ac 16 Jun 2011 14:45:25 - 2.499 +++ rpm/configure.ac 6 Sep 2011 13:39:52 - 2.500 @@ -570,6 +570,7 @@ AC_PATH_PROG(__HG, hg, %{_bindir}/hg, $MYPATH) AC_PATH_PROG(__ID, id, /usr/bin/id, $MYPATH) AC_PATH_PROG(__INSTALL, install, /usr/bin/install, $MYPATH) +AC_PATH_PROG(__LRZIP, lrzip, /usr/bin/lrzip, $MYPATH) AC_PATH_PROG(__INSTALL_INFO, install-info, /sbin/install-info, $MYPATH) AC_PATH_PROG(__LDCONFIG, ldconfig, /sbin/ldconfig, $MYPATH) AC_PATH_PROG(__LN, ln, /bin/ln, $MYPATH) @@ . patch -p0 '@@ .' Index: rpm/macros/macros.in $ cvs diff -u -r1.59 -r1.60 macros.in --- rpm/macros/macros.in 30 Aug 2011 12:17:06 - 1.59 +++ rpm/macros/macros.in 6 Sep 2011 13:39:53 - 1.60 @@ -1,7 +1,7 @@ #/*! \page config_macros Default configuration: @USRLIBRPM@/macros # \verbatim # -# $Id: macros.in,v 1.59 2011/08/30 12:17:06 jbj Exp $ +# $Id: macros.in,v 1.60 2011/09/06 13:39:53 devzero2000 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 @@ -91,6 +91,7 @@ %__ldconfig @__LDCONFIG@ %__ln@__LN@ %__ln_s @LN_S@ +%__lrzip @__LRZIP@ %__lzma @__LZMA@ %__lzop @__LZOP@ %__make @__MAKE@ @@ . patch -p0 '@@ .' Index: rpm/rpmio/macro.c $ cvs diff -u -r2.251 -r2.252 macro.c --- rpm/rpmio/macro.c 2 Jan 2011 19:30:04 - 2.251 +++ rpm/rpmio/macro.c 6 Sep 2011 13:39:53 - 2.252 @@ -1353,6 +1353,9 @@ case 6: /* COMPRESSED_XZ */ sprintf(be, %%__xz -dc '%s', b); break; + case 7: /* COMPRESSED_LRZIP */ + sprintf(be, %%__lrzip -dqo- %s, b); + break; } b = be; } else if (STREQ(mkstemp, f, fn)) { @@ -3033,6 +3036,9 @@ if (magic[0] == (unsigned char) 0xFD magic[1] == 0x37 magic[2] == 0x7A magic[3] == 0x58 magic[4] == 0x5A magic[5] == 0x00) /* xz */ *compressed = COMPRESSED_XZ; +else if ((magic[0] ==
[CVS] RPM: rpm/ CHANGES rpm/build/ parsePrep.c rpm/ configure.ac rpm/m...
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Pinto Elia Root: /v/rpm/cvs Email: devzero2...@rpm5.org Module: rpm Date: 06-Sep-2011 16:41:18 Branch: HEAD Handle: 2011090614411701 Modified files: rpm CHANGES configure.ac rpm/build parsePrep.c rpm/macros macros.in rpm/rpmio macro.c rpmmacro.h Log: Add lzip support Summary: RevisionChanges Path 1.3674 +1 -0 rpm/CHANGES 2.137 +3 -0 rpm/build/parsePrep.c 2.501 +1 -0 rpm/configure.ac 1.61+2 -1 rpm/macros/macros.in 2.253 +6 -0 rpm/rpmio/macro.c 2.58+2 -1 rpm/rpmio/rpmmacro.h patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3673 -r1.3674 CHANGES --- rpm/CHANGES 6 Sep 2011 13:39:52 - 1.3673 +++ rpm/CHANGES 6 Sep 2011 14:41:17 - 1.3674 @@ -1,4 +1,5 @@ HEAD: +- devzero2000: add lzip support - devzero2000: add lrzip support (blueprint https://blueprints.launchpad.net/rpm/+spec/rpm5-use-lrzip-as-new-compression-program) - devzero2000: merge commit 31d807ffa8cdf91addf7c39fdf9abf6c61d77944 @@ . patch -p0 '@@ .' Index: rpm/build/parsePrep.c $ cvs diff -u -r2.136 -r2.137 parsePrep.c --- rpm/build/parsePrep.c 6 Sep 2011 13:39:52 - 2.136 +++ rpm/build/parsePrep.c 6 Sep 2011 14:41:17 - 2.137 @@ -323,6 +323,9 @@ case COMPRESSED_XZ: t = %{__xz} -dc; break; + case COMPRESSED_LZIP: + t = %{__lzip} -dc; + break; case COMPRESSED_LRZIP: t = %{__lrzip} -dqo-; break; @@ . patch -p0 '@@ .' Index: rpm/configure.ac $ cvs diff -u -r2.500 -r2.501 configure.ac --- rpm/configure.ac 6 Sep 2011 13:39:52 - 2.500 +++ rpm/configure.ac 6 Sep 2011 14:41:17 - 2.501 @@ -571,6 +571,7 @@ AC_PATH_PROG(__ID, id, /usr/bin/id, $MYPATH) AC_PATH_PROG(__INSTALL, install, /usr/bin/install, $MYPATH) AC_PATH_PROG(__LRZIP, lrzip, /usr/bin/lrzip, $MYPATH) +AC_PATH_PROG(__LZIP, lzip, /usr/bin/lzip, $MYPATH) AC_PATH_PROG(__INSTALL_INFO, install-info, /sbin/install-info, $MYPATH) AC_PATH_PROG(__LDCONFIG, ldconfig, /sbin/ldconfig, $MYPATH) AC_PATH_PROG(__LN, ln, /bin/ln, $MYPATH) @@ . patch -p0 '@@ .' Index: rpm/macros/macros.in $ cvs diff -u -r1.60 -r1.61 macros.in --- rpm/macros/macros.in 6 Sep 2011 13:39:53 - 1.60 +++ rpm/macros/macros.in 6 Sep 2011 14:41:18 - 1.61 @@ -1,7 +1,7 @@ #/*! \page config_macros Default configuration: @USRLIBRPM@/macros # \verbatim # -# $Id: macros.in,v 1.60 2011/09/06 13:39:53 devzero2000 Exp $ +# $Id: macros.in,v 1.61 2011/09/06 14:41:18 devzero2000 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 @@ -91,6 +91,7 @@ %__ldconfig @__LDCONFIG@ %__ln@__LN@ %__ln_s @LN_S@ +%__lzip @__LZIP@ %__lrzip @__LRZIP@ %__lzma @__LZMA@ %__lzop @__LZOP@ @@ . patch -p0 '@@ .' Index: rpm/rpmio/macro.c $ cvs diff -u -r2.252 -r2.253 macro.c --- rpm/rpmio/macro.c 6 Sep 2011 13:39:53 - 2.252 +++ rpm/rpmio/macro.c 6 Sep 2011 14:41:18 - 2.253 @@ -1356,6 +1356,9 @@ case 7: /* COMPRESSED_LRZIP */ sprintf(be, %%__lrzip -dqo- %s, b); break; + case 8: /* COMPRESSED_LZIP */ + sprintf(be, %%__lzip -dc %s, b); + break; } b = be; } else if (STREQ(mkstemp, f, fn)) { @@ -3036,6 +3039,9 @@ if (magic[0] == (unsigned char) 0xFD magic[1] == 0x37 magic[2] == 0x7A magic[3] == 0x58 magic[4] == 0x5A magic[5] == 0x00) /* xz */ *compressed = COMPRESSED_XZ; + else if ((magic[0] == 'L') (magic[1] == 'Z') +(magic[2] == 'I') (magic[3] == 'P')) /* lzip */ + *compressed = COMPRESSED_LZIP; else if ((magic[0] == 'L') (magic[1] == 'R') (magic[2] == 'Z')
[CVS] RPM: rpm/ CHANGES rpm/rpmdb/ hdrfmt.c
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: 05-Sep-2011 14:20:25 Branch: HEAD Handle: 2011090512202500 Modified files: rpm CHANGES rpm/rpmdb hdrfmt.c Log: - fix: ensure that integer CDATA is initialized to when missing. Summary: RevisionChanges Path 1.3669 +1 -0 rpm/CHANGES 1.169 +1 -0 rpm/rpmdb/hdrfmt.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3668 -r1.3669 CHANGES --- rpm/CHANGES 15 Aug 2011 20:32:41 - 1.3668 +++ rpm/CHANGES 5 Sep 2011 12:20:25 - 1.3669 @@ -1,4 +1,5 @@ HEAD: +- jbj: fix: ensure that integer CDATA is initialized to when missing. - jbj: fix: subdir is needed to find loader maps. - jbj: include Pascal's pom2spec java - *.rpm wrapper from https://gitorious.org/pbleser/pbleser/blobs/raw/master/pom2spec) @@ . patch -p0 '@@ .' Index: rpm/rpmdb/hdrfmt.c $ cvs diff -u -r1.168 -r1.169 hdrfmt.c --- rpm/rpmdb/hdrfmt.c27 May 2011 06:57:18 - 1.168 +++ rpm/rpmdb/hdrfmt.c5 Sep 2011 12:20:25 - 1.169 @@ -1092,6 +1092,7 @@ char * t = xmalloc(tlen+1); int xx; + *t = '\0'; if (anint != 0) /* XXX empty XML tag sets 0 as default? */ xx = snprintf(t, tlen, %llu, (unsigned long long)anint); s = t; @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/macros/ macros.rpmbuild.in
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 28-Jul-2011 09:50:40 Branch: HEAD Handle: 2011072807503901 Modified files: rpm CHANGES rpm/macros macros.rpmbuild.in Log: add armv7hl to %arm (from Paulo Andrade p...@mandriva.com.br). Summary: RevisionChanges Path 1.3663 +1 -0 rpm/CHANGES 1.9 +2 -2 rpm/macros/macros.rpmbuild.in patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3662 -r1.3663 CHANGES --- rpm/CHANGES 12 Jul 2011 10:41:19 - 1.3662 +++ rpm/CHANGES 28 Jul 2011 07:50:39 - 1.3663 @@ -1,4 +1,5 @@ HEAD: +- proyvind: add armv7hl to %arm (from Paulo Andrade p...@mandriva.com.br). - proyvind: fix rpm not comparing distepoch if missing from one package when doing comparision. - proyvind: fix rpm treating packages of same NVRA, but different distepoch @@ . patch -p0 '@@ .' Index: rpm/macros/macros.rpmbuild.in $ cvs diff -u -r1.8 -r1.9 macros.rpmbuild.in --- rpm/macros/macros.rpmbuild.in 26 May 2011 14:26:27 - 1.8 +++ rpm/macros/macros.rpmbuild.in 28 Jul 2011 07:50:40 - 1.9 @@ -1,7 +1,7 @@ #/*! \page build_macros Default configuration: @USRLIBRPM@/macros.rpmbuild # \verbatim # -# $Id: macros.rpmbuild.in,v 1.8 2011/05/26 14:26:27 devzero2000 Exp $ +# $Id: macros.rpmbuild.in,v 1.9 2011/07/28 07:50:40 pkarlsen Exp $ # # This file contains rpmbuild configuration macros. # @@ -634,7 +634,7 @@ %efi %{ix86} x86_64 ia64 # same thing for arm -%armarm armv3 armv3l armv3b armv4 armv4l armv4b armv5 armv5l armv5b armv5te armv5tel armv5teb xscale armv6 armv6l +%armarm armv3 armv3l armv3b armv4 armv4l armv4b armv5 armv5l armv5b armv5te armv5tel armv5teb xscale armv6 armv6l armv7hl # same for alpha %alpha alpha alphaev56 alphaev6 alphaev67 @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/macros/ macros.rpmbuild.in
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 29-Jul-2011 03:11:59 Branch: HEAD Handle: 2011072901115900 Modified files: rpm CHANGES rpm/macros macros.rpmbuild.in Log: rename armv7hl to armv7l (http://lists.fedoraproject.org/pipermail/arm/2011-July/001596.html) Summary: RevisionChanges Path 1.3664 +1 -1 rpm/CHANGES 1.10+2 -2 rpm/macros/macros.rpmbuild.in patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3663 -r1.3664 CHANGES --- rpm/CHANGES 28 Jul 2011 07:50:39 - 1.3663 +++ rpm/CHANGES 29 Jul 2011 01:11:59 - 1.3664 @@ -1,5 +1,5 @@ HEAD: -- proyvind: add armv7hl to %arm (from Paulo Andrade p...@mandriva.com.br). +- proyvind: add armv7l to %arm (from Paulo Andrade p...@mandriva.com.br). - proyvind: fix rpm not comparing distepoch if missing from one package when doing comparision. - proyvind: fix rpm treating packages of same NVRA, but different distepoch @@ . patch -p0 '@@ .' Index: rpm/macros/macros.rpmbuild.in $ cvs diff -u -r1.9 -r1.10 macros.rpmbuild.in --- rpm/macros/macros.rpmbuild.in 28 Jul 2011 07:50:40 - 1.9 +++ rpm/macros/macros.rpmbuild.in 29 Jul 2011 01:11:59 - 1.10 @@ -1,7 +1,7 @@ #/*! \page build_macros Default configuration: @USRLIBRPM@/macros.rpmbuild # \verbatim # -# $Id: macros.rpmbuild.in,v 1.9 2011/07/28 07:50:40 pkarlsen Exp $ +# $Id: macros.rpmbuild.in,v 1.10 2011/07/29 01:11:59 pkarlsen Exp $ # # This file contains rpmbuild configuration macros. # @@ -634,7 +634,7 @@ %efi %{ix86} x86_64 ia64 # same thing for arm -%armarm armv3 armv3l armv3b armv4 armv4l armv4b armv5 armv5l armv5b armv5te armv5tel armv5teb xscale armv6 armv6l armv7hl +%armarm armv3 armv3l armv3b armv4 armv4l armv4b armv5 armv5l armv5b armv5te armv5tel armv5teb xscale armv6 armv6l armv7l # same for alpha %alpha alpha alphaev56 alphaev6 alphaev67 @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/macros/ macros.rpmbuild.in
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 29-Jul-2011 03:59:41 Branch: HEAD Handle: 2011072901594100 Modified files: rpm CHANGES rpm/macros macros.rpmbuild.in Log: try sanitize %sparc vs %sparcx inconsistencies, make %sparc all 32 bit sparc archs only, with %sparcx being all 32 bit archs AND 64 bit archs Summary: RevisionChanges Path 1.3665 +3 -0 rpm/CHANGES 1.11+3 -3 rpm/macros/macros.rpmbuild.in patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3664 -r1.3665 CHANGES --- rpm/CHANGES 29 Jul 2011 01:11:59 - 1.3664 +++ rpm/CHANGES 29 Jul 2011 01:59:41 - 1.3665 @@ -1,4 +1,7 @@ HEAD: +- proyvind: try sanitize %sparc vs %sparcx inconsistencies, make %sparc + all 32 bit sparc archs only, with %sparcx being all 32 bit archs AND + 64 bit archs - proyvind: add armv7l to %arm (from Paulo Andrade p...@mandriva.com.br). - proyvind: fix rpm not comparing distepoch if missing from one package when doing comparision. @@ . patch -p0 '@@ .' Index: rpm/macros/macros.rpmbuild.in $ cvs diff -u -r1.10 -r1.11 macros.rpmbuild.in --- rpm/macros/macros.rpmbuild.in 29 Jul 2011 01:11:59 - 1.10 +++ rpm/macros/macros.rpmbuild.in 29 Jul 2011 01:59:41 - 1.11 @@ -1,7 +1,7 @@ #/*! \page build_macros Default configuration: @USRLIBRPM@/macros.rpmbuild # \verbatim # -# $Id: macros.rpmbuild.in,v 1.10 2011/07/29 01:11:59 pkarlsen Exp $ +# $Id: macros.rpmbuild.in,v 1.11 2011/07/29 01:59:41 pkarlsen Exp $ # # This file contains rpmbuild configuration macros. # @@ -640,10 +640,10 @@ %alpha alpha alphaev56 alphaev6 alphaev67 # and sparc -%sparc sun4 sun4m sun4c sun4d sun4u sparcv9b sparcv9v2 %{sparcx} +%sparc sun4 sun4m sun4c sun4d sun4u sparc sparcv8 sparcv9 sparcv9b sparc9v sparcv9v2 # add alternative sparc architectures macro (bugzilla #455972 patch) -%sparcx sparc sparcv8 sparcv9 sparcv9v sparc64 sparc64v +%sparcx %sparc sparc64 sparc64v # also for mips %mips mips mips2 mips3 mips4 octeon @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/macros/ macros.rpmbuild.in
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 29-Jul-2011 06:26:06 Branch: HEAD Handle: 2011072904260600 Modified files: rpm CHANGES rpm/macros macros.rpmbuild.in Log: add sparc64v2 arch to %sparcx Summary: RevisionChanges Path 1.3666 +2 -1 rpm/CHANGES 1.12+2 -2 rpm/macros/macros.rpmbuild.in patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3665 -r1.3666 CHANGES --- rpm/CHANGES 29 Jul 2011 01:59:41 - 1.3665 +++ rpm/CHANGES 29 Jul 2011 04:26:06 - 1.3666 @@ -1,7 +1,8 @@ HEAD: +- proyvind: add sparc64v2 arch to %sparcx. - proyvind: try sanitize %sparc vs %sparcx inconsistencies, make %sparc all 32 bit sparc archs only, with %sparcx being all 32 bit archs AND - 64 bit archs + 64 bit archs. - proyvind: add armv7l to %arm (from Paulo Andrade p...@mandriva.com.br). - proyvind: fix rpm not comparing distepoch if missing from one package when doing comparision. @@ . patch -p0 '@@ .' Index: rpm/macros/macros.rpmbuild.in $ cvs diff -u -r1.11 -r1.12 macros.rpmbuild.in --- rpm/macros/macros.rpmbuild.in 29 Jul 2011 01:59:41 - 1.11 +++ rpm/macros/macros.rpmbuild.in 29 Jul 2011 04:26:06 - 1.12 @@ -1,7 +1,7 @@ #/*! \page build_macros Default configuration: @USRLIBRPM@/macros.rpmbuild # \verbatim # -# $Id: macros.rpmbuild.in,v 1.11 2011/07/29 01:59:41 pkarlsen Exp $ +# $Id: macros.rpmbuild.in,v 1.12 2011/07/29 04:26:06 pkarlsen Exp $ # # This file contains rpmbuild configuration macros. # @@ -643,7 +643,7 @@ %sparc sun4 sun4m sun4c sun4d sun4u sparc sparcv8 sparcv9 sparcv9b sparc9v sparcv9v2 # add alternative sparc architectures macro (bugzilla #455972 patch) -%sparcx %sparc sparc64 sparc64v +%sparcx %sparc sparc64 sparc64v sparc64v2 # also for mips %mips mips mips2 mips3 mips4 octeon @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/tools/ dbconvert.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 06-Jul-2011 14:55:30 Branch: HEAD Handle: 2011070612552901 Modified files: rpm CHANGES rpm/tools dbconvert.c Log: dbconvert: fix segfault when no root is specified. Summary: RevisionChanges Path 1.3660 +1 -0 rpm/CHANGES 2.7 +2 -2 rpm/tools/dbconvert.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3659 -r1.3660 CHANGES --- rpm/CHANGES 28 Jun 2011 12:00:19 - 1.3659 +++ rpm/CHANGES 6 Jul 2011 12:55:29 - 1.3660 @@ -1,4 +1,5 @@ HEAD: +- proyvind: dbconvert: fix segfault when no root is specified. - proyvind: check-multiarch-files: remove unnecessary import of MDK::Common, causing undesired dependency from perl dependency generator. - devzero2000: add a simple usage command to devtool @@ . patch -p0 '@@ .' Index: rpm/tools/dbconvert.c $ cvs diff -u -r2.6 -r2.7 dbconvert.c --- rpm/tools/dbconvert.c 11 May 2011 07:55:06 - 2.6 +++ rpm/tools/dbconvert.c 6 Jul 2011 12:55:30 - 2.7 @@ -114,7 +114,7 @@ create mpool txn thread thread_count=64 nofsync, -1); /* (ugly) clear any existing locks */ -fn = rpmGetPath(prefix[0] ? prefix : , dbpath, /, __db.*, NULL); +fn = rpmGetPath(prefix prefix[0] ? prefix : , dbpath, /, __db.*, NULL); xx = Glob(fn, 0, NULL, gl); for (i = 0; i (int) gl.gl_pathc; i++) xx = Unlink(gl.gl_pathv[i]); @@ -377,7 +377,7 @@ fn = _free(fn); /* clear locks */ -fn = rpmGetPath(prefix[0] ? prefix : , dbpath, /, __db.*, NULL); +fn = rpmGetPath(prefix prefix[0] ? prefix : , dbpath, /, __db.*, NULL); xx = Glob(fn, 0, NULL, gl); for (i = 0; i (int) gl.gl_pathc; i++) xx = Unlink(gl.gl_pathv[i]); @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/scripts/ check-multiarch-files
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 28-Jun-2011 14:00:20 Branch: HEAD Handle: 2011062812001900 Modified files: rpm CHANGES rpm/scripts check-multiarch-files Log: check-multiarch-files: remove unnecessary import of MDK::Common, causing undesired dependency from perl dependency generator. Summary: RevisionChanges Path 1.3659 +2 -0 rpm/CHANGES 1.2 +0 -1 rpm/scripts/check-multiarch-files patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3658 -r1.3659 CHANGES --- rpm/CHANGES 20 Jun 2011 14:45:43 - 1.3658 +++ rpm/CHANGES 28 Jun 2011 12:00:19 - 1.3659 @@ -1,4 +1,6 @@ HEAD: +- proyvind: check-multiarch-files: remove unnecessary import of MDK::Common, + causing undesired dependency from perl dependency generator. - devzero2000: add a simple usage command to devtool - proyvind: fix broken %optflags for i686-linux macros. - proyvind: mandriva: fix implicit %clean not being run when %changelog is @@ . patch -p0 '@@ .' Index: rpm/scripts/check-multiarch-files $ cvs diff -u -r1.1 -r1.2 check-multiarch-files --- rpm/scripts/check-multiarch-files 10 Apr 2011 13:50:28 - 1.1 +++ rpm/scripts/check-multiarch-files 28 Jun 2011 12:00:19 - 1.2 @@ -5,7 +5,6 @@ #--- use strict; -use MDK::Common; my $RPM_BUILD_ROOT = (shift); @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/build/ Makefile.am rpm/ configure.ac rpm/l...
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Pinto Elia Root: /v/rpm/cvs Email: devzero2...@rpm5.org Module: rpm Date: 16-Jun-2011 16:45:28 Branch: HEAD Handle: 2011061614452107 Modified files: rpm CHANGES configure.ac rpm/build Makefile.am rpm/lib Makefile.am rpm/miscMakefile.am rpm/rpmconstant Makefile.am rpm/rpmdb Makefile.am rpm/rpmio Makefile.am Log: merge the popt autofu vendor-script linker script check for openindiana native ld, using modern and not deprecated autoconf construct. Even if the check is not perfect but it is based on a resultant ld warning, on openindiana the result should work with gcc and native ld also for rpm. Summary: RevisionChanges Path 1.3657 +4 -0 rpm/CHANGES 2.81+1 -1 rpm/build/Makefile.am 2.499 +56 -13 rpm/configure.ac 2.206 +1 -1 rpm/lib/Makefile.am 1.58+1 -1 rpm/misc/Makefile.am 1.15+2 -2 rpm/rpmconstant/Makefile.am 1.135 +1 -1 rpm/rpmdb/Makefile.am 1.297 +1 -1 rpm/rpmio/Makefile.am patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3656 -r1.3657 CHANGES --- rpm/CHANGES 16 Jun 2011 08:30:28 - 1.3656 +++ rpm/CHANGES 16 Jun 2011 14:45:21 - 1.3657 @@ -15,6 +15,10 @@ - afb: yaml: use !!timestamp for timestamps 5.4.0 - 5.4.1: +- devzero2000: merge the popt autofu vendor-script linker script check for openindiana native + ld, using modern and not deprecated autoconf construct. Even if the check is not perfect + but it is based on a resultant ld warning, on openindiana the result should work + with gcc and native ld also for rpm. - devzero2000: In fpLookupSubdir, data returned by hash should be of type struct rpmffi_s ** instead of struct rpmffi_s * to avoid segfault. Patch by Qing He. @@ . patch -p0 '@@ .' Index: rpm/build/Makefile.am $ cvs diff -u -r2.80 -r2.81 Makefile.am --- rpm/build/Makefile.am 2 Nov 2010 16:55:54 - 2.80 +++ rpm/build/Makefile.am 16 Jun 2011 14:45:25 - 2.81 @@ -41,7 +41,7 @@ parseSpec.c poptBT.c reqprov.c spec.c librpmbuild_la_LDFLAGS = -release $(LT_CURRENT).$(LT_REVISION) if HAVE_LD_VERSION_SCRIPT -librpmbuild_la_LDFLAGS += -Wl,--version-script=$(srcdir)/librpmbuild.vers +librpmbuild_la_LDFLAGS += -Wl,@LD_VERSION_SCRIPT_FLAG@,@top_srcdir@/librpmbuild.vers endif librpmbuild_la_LIBADD = if ENABLE_BUILD_INTLIBDEP @@ . patch -p0 '@@ .' Index: rpm/configure.ac $ cvs diff -u -r2.498 -r2.499 configure.ac --- rpm/configure.ac 7 Jun 2011 15:36:34 - 2.498 +++ rpm/configure.ac 16 Jun 2011 14:45:25 - 2.499 @@ -297,19 +297,62 @@ ]) AC_SUBST(LDFLAGS_STATIC) -dnl # use ld_version scripts on platforms known to support it. -have_ld_version_script=no -case ${host} in -*-*-linux* ) have_ld_version_script=yes ;; -*-*-gnu* ) have_ld_version_script=yes ;; -esac -AC_ARG_ENABLE( -[build-versionscript], -AS_HELP_STRING([--enable-build-versionscript],[enable/disable use of GNU ld(1) version script (default is system dependent)]), -[have_ld_version_script=$enableval], [:]) -AM_CONDITIONAL( -[HAVE_LD_VERSION_SCRIPT], -[test .$have_ld_version_script = .yes]) +dnl check for version script support in the linker (GNU ld, or Solaris ld style) +AC_ARG_ENABLE([build-versionscript], + AS_HELP_STRING([--enable-build-versionscript],[enable/disable use of linker version script. + (default is system dependent)]), + [have_ld_version_script=$enableval], + [have_ld_version_script=yes] ) + +AS_IF([test x$have_ld_version_script = xyes], + [ +AC_MSG_CHECKING([if ld version-script works - GNU ld, Solaris ld]) +cat conftest.map EOF +RELEASE +{ + global: + rpm_*; + local: + *; +}; +PRIVATE +{ + global: + rpmi_*; + local: + *; +}; +EOF +save_LDFLAGS=$LDFLAGS +LDFLAGS=$LDFLAGS -Wl,--version-script=conftest.map +AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + void
[CVS] RPM: rpm/ CHANGES configure.ac
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Pinto Elia Root: /v/rpm/cvs Email: devzero2...@rpm5.org Module: rpm Date: 23-May-2011 15:42:07 Branch: HEAD Handle: 2011052313420700 Modified files: rpm CHANGES configure.ac Log: added suse to the per vendor change configure.ac enabler. Probably should be possible to simplify this autofu Summary: RevisionChanges Path 1.3645 +1 -0 rpm/CHANGES 2.494 +4 -1 rpm/configure.ac patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3644 -r1.3645 CHANGES --- rpm/CHANGES 23 May 2011 12:23:40 - 1.3644 +++ rpm/CHANGES 23 May 2011 13:42:07 - 1.3645 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- devzero2000: added suse to the per vendor change configure.ac enabler - devzero2000: added suse.in macros file from rpm-4.9.0-122 (http://tinyurl.com/3vo287b) - devzero2000: resurrect openwall (owl) vendor detection @@ . patch -p0 '@@ .' Index: rpm/configure.ac $ cvs diff -u -r2.493 -r2.494 configure.ac --- rpm/configure.ac 23 May 2011 12:23:40 - 2.493 +++ rpm/configure.ac 23 May 2011 13:42:07 - 2.494 @@ -2281,7 +2281,7 @@ AC_MSG_CHECKING([if building for a specfic vendor]) AC_ARG_WITH( [vendor], -AS_HELP_STRING([--with-vendor=VENDOR], [build with a supported vendor's specific set of changes: mandriva, ark, fedora, openmamba]), +AS_HELP_STRING([--with-vendor=VENDOR], [build with a supported vendor's specific set of changes: mandriva, ark, fedora, openmamba,suse]), [if test .$withval != .no; then case $withval in mandriva) @@ -2297,6 +2297,9 @@ openmamba) AC_DEFINE([RPM_VENDOR_OPENMAMBA], 1, Vendor is openmamba) ;; + suse) + AC_DEFINE([RPM_VENDOR_SUSE], 1, Vendor is suse) + ;; esac AC_MSG_RESULT([$withval]) else @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES configure.ac
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Pinto Elia Root: /v/rpm/cvs Email: devzero2...@rpm5.org Module: rpm Date: 20-May-2011 14:54:53 Branch: HEAD Handle: 2011052012545300 Modified files: rpm CHANGES configure.ac Log: Resurrect openwall (owl) vendor detection (http://cvsweb.openwall.com/cgi/cvsweb.cgi/~checkout~/Owl/packages/rpm/rpm-4.2-owl-vendor-setup.diff?rev=1.3;content-type=text%2Fplain) They are using rpm 4.2 with, apparently, the missing CVE-2010-2059 patch. This is strange enough i think http://www.openwall.com/lists/oss-security/2010/06/02/2. Submitted by: Elia Pinto Summary: RevisionChanges Path 1.3643 +4 -0 rpm/CHANGES 2.492 +2 -1 rpm/configure.ac patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3642 -r1.3643 CHANGES --- rpm/CHANGES 18 May 2011 13:32:49 - 1.3642 +++ rpm/CHANGES 20 May 2011 12:54:53 - 1.3643 @@ -1,4 +1,8 @@ 5.4.0 - 5.4.1: +- devzero2000: resurrect openwall (owl) vendor detection + (http://cvsweb.openwall.com/cgi/cvsweb.cgi/~checkout~/Owl/packages/rpm/rpm-4.2-owl-vendor-setup.diff?rev=1.3;content-type=text%2Fplain) + They are using rpm 4.2 with, apparently, the missing CVE-2010-2059 patch. This is strange enough + i think http://www.openwall.com/lists/oss-security/2010/06/02/2. - devzero2000: Sort file list for debuginfo extraction. (inspired by Robert Schiele http://lists.rpm.org/pipermail/rpm-list/2011-May/000894.html) - proyvind: update doxygen input filename paths. @@ . patch -p0 '@@ .' Index: rpm/configure.ac $ cvs diff -u -r2.491 -r2.492 configure.ac --- rpm/configure.ac 12 May 2011 10:01:48 - 2.491 +++ rpm/configure.ac 20 May 2011 12:54:53 - 2.492 @@ -1968,9 +1968,10 @@ esac RPMCANONVENDOR=$target_vendor case ${target_vendor} in -unknown|pc|ibm|redhat|pld|mandriva|conectiva|lvr|yellowdog|caos|crux|ark|momonga|openmamba) +unknown|pc|ibm|redhat|pld|mandriva|conectiva|lvr|yellowdog|caos|crux|ark|momonga|openmamba|openwall) test -f /etc/SuSE-release RPMCANONVENDOR=suse test -f /etc/momonga-release RPMCANONVENDOR=momonga +test -f /etc/owl-release -o -f /etc/owl-setup.conf -o -d /etc/mtree RPMCANONVENDOR=openwall test -f /etc/fedora-release RPMCANONVENDOR=fedora test -f /etc/redhat-release RPMCANONVENDOR=redhat test -f /etc/pld-release RPMCANONVENDOR=pld @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/scripts/ find-debuginfo.sh
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Pinto Elia Root: /v/rpm/cvs Email: devzero2...@rpm5.org Module: rpm Date: 18-May-2011 15:32:50 Branch: HEAD Handle: 2011051813324901 Modified files: rpm CHANGES rpm/scripts find-debuginfo.sh Log: Sort file list for debuginfo extraction. (inspired by Robert Schiele http://lists.rpm.org/pipermail/rpm-list/2011-May/000894.html) Submitted by: Elia Pinto Summary: RevisionChanges Path 1.3642 +2 -0 rpm/CHANGES 1.15+7 -7 rpm/scripts/find-debuginfo.sh patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3641 -r1.3642 CHANGES --- rpm/CHANGES 16 May 2011 00:33:13 - 1.3641 +++ rpm/CHANGES 18 May 2011 13:32:49 - 1.3642 @@ -1,4 +1,6 @@ 5.4.0 - 5.4.1: +- devzero2000: Sort file list for debuginfo extraction. + (inspired by Robert Schiele http://lists.rpm.org/pipermail/rpm-list/2011-May/000894.html) - proyvind: update doxygen input filename paths. - proyvind: fix assertion error when trying to install packages without required permissions. @@ . patch -p0 '@@ .' Index: rpm/scripts/find-debuginfo.sh $ cvs diff -u -r1.14 -r1.15 find-debuginfo.sh --- rpm/scripts/find-debuginfo.sh 10 Aug 2010 12:18:52 - 1.14 +++ rpm/scripts/find-debuginfo.sh 18 May 2011 13:32:50 - 1.15 @@ -176,7 +176,7 @@ # Strip ELF binaries find $RPM_BUILD_ROOT ! -path ${debugdir}/*.debug -type f \ \( -perm -0100 -or -perm -0010 -or -perm -0001 \) \ - -print | + -print | LANG=C sort | file -N -f - | sed -n -e 's/^\(.*\):[]*.*ELF.*, not stripped/\1/p' | xargs --no-run-if-empty stat -c '%h %D_%i %n' | while read nlinks inum f; do @@ -232,7 +232,7 @@ # For each symlink whose target has a .debug file, # make a .debug symlink to that file. -find $RPM_BUILD_ROOT ! -path ${debugdir}/* -type l -print | +find $RPM_BUILD_ROOT ! -path ${debugdir}/* -type l -print | LANG=C sort | while read f do t=$(readlink -m $f).debug @@ -249,19 +249,19 @@ LC_ALL=C sort -z -u $SOURCEFILE | egrep -v -z '(internal|built-in)$' | (cd $RPM_BUILD_DIR; cpio -pd0mL ${RPM_BUILD_ROOT}/usr/src/debug) # stupid cpio creates new directories in mode 0700, fixup - find ${RPM_BUILD_ROOT}/usr/src/debug -type d -print0 | + find ${RPM_BUILD_ROOT}/usr/src/debug -type d -print0 | LANG=C sort | xargs --no-run-if-empty -0 chmod a+rx fi if [ -d ${RPM_BUILD_ROOT}/usr/lib -o -d ${RPM_BUILD_ROOT}/usr/src ]; then ((nout 0)) || test ! -d ${RPM_BUILD_ROOT}/usr/lib || - (cd ${RPM_BUILD_ROOT}/usr/lib; find debug -type d) | + (cd ${RPM_BUILD_ROOT}/usr/lib; find debug -type d) | LANG=C sort | sed 's,^,%dir /usr/lib/,' $LISTFILE (cd ${RPM_BUILD_ROOT}/usr - test ! -d lib/debug || find lib/debug ! -type d - test ! -d src/debug || find src/debug -mindepth 1 -maxdepth 1 + test ! -d lib/debug || find lib/debug ! -type d | LANG=C sort + test ! -d src/debug || find src/debug -mindepth 1 -maxdepth 1 | LANG=C sort ) | sed 's,^,/usr/,' $LISTFILE fi @@ -321,7 +321,7 @@ done if ((nout 0)); then # Now add the right %dir lines to each output list. - (cd ${RPM_BUILD_ROOT}; find usr/lib/debug -type d) | + (cd ${RPM_BUILD_ROOT}; find usr/lib/debug -type d) | LANG=C sort sed 's#^.*$#\\@^//@{h;s@^.*$@%dir /@p;g;}#' | LC_ALL=C sort -ur ${LISTFILE}.dirs.sed i=0 @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/rpmio/ iosm.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 14-May-2011 22:36:14 Branch: HEAD Handle: 2011051420361400 Modified files: rpm CHANGES rpm/rpmio iosm.c Log: fix assertion error when trying to install packages without required permissions. Summary: RevisionChanges Path 1.3640 +2 -0 rpm/CHANGES 1.44+2 -1 rpm/rpmio/iosm.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3639 -r1.3640 CHANGES --- rpm/CHANGES 12 May 2011 10:01:48 - 1.3639 +++ rpm/CHANGES 14 May 2011 20:36:14 - 1.3640 @@ -1,4 +1,6 @@ 5.4.0 - 5.4.1: +- proyvind: fix assertion error when trying to install packages without + required permissions. - devzero2000: begin to put the preliminary check for SUSE - afb: yaml: fix changelog entry markup - afb: hdrfmt.c: add ISO-8601 date format @@ . patch -p0 '@@ .' Index: rpm/rpmio/iosm.c $ cvs diff -u -r1.43 -r1.44 iosm.c --- rpm/rpmio/iosm.c 29 Sep 2010 14:54:30 - 1.43 +++ rpm/rpmio/iosm.c 14 May 2011 20:36:14 - 1.44 @@ -2630,7 +2630,8 @@ rc = IOSMERR_OPEN_FAILED; } #if defined(POSIX_FADV_DONTNEED) - (void) Fadvise(iosm-wfd, 0, 0, POSIX_FADV_DONTNEED); + else + (void) Fadvise(iosm-wfd, 0, 0, POSIX_FADV_DONTNEED); #endif if (iosm-debug (stage IOSM_SYSCALL)) rpmlog(RPMLOG_DEBUG, %8s (%s, \w\) wfd %p wrbuf %p\n, cur, @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Pinto Elia Root: /v/rpm/cvs Email: devzero2...@rpm5.org Module: rpm Date: 12-May-2011 09:43:24 Branch: HEAD Handle: 2011051207432400 Modified files: rpm CHANGES Log: add to CHANGES the last three Anders F. Björklund(a...@rpm5.org) changes Summary: RevisionChanges Path 1.3637 +3 -0 rpm/CHANGES patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3636 -r1.3637 CHANGES --- rpm/CHANGES 11 May 2011 17:07:19 - 1.3636 +++ rpm/CHANGES 12 May 2011 07:43:24 - 1.3637 @@ -1,4 +1,7 @@ 5.4.0 - 5.4.1: +- afb: yaml: fix changelog entry markup +- afb: hdrfmt.c: add ISO-8601 date format +- afb: yaml: use cvs -q diff -utimestamp for timestamps - devzero2000: try to fix the %install phase of rpm.spec for multiple architecture - devzero2000: document --whatneeds and --needswhat (ref. https://bugzilla.redhat.com/show_bug.cgi?id=142651) @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES configure.ac
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Pinto Elia Root: /v/rpm/cvs Email: devzero2...@rpm5.org Module: rpm Date: 12-May-2011 12:01:48 Branch: HEAD Handle: 2011051210014800 Modified files: rpm CHANGES configure.ac Log: begin to put the preliminary check for SUSE Summary: RevisionChanges Path 1.3639 +1 -0 rpm/CHANGES 2.491 +1 -0 rpm/configure.ac patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3638 -r1.3639 CHANGES --- rpm/CHANGES 12 May 2011 07:54:56 - 1.3638 +++ rpm/CHANGES 12 May 2011 10:01:48 - 1.3639 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- devzero2000: begin to put the preliminary check for SUSE - afb: yaml: fix changelog entry markup - afb: hdrfmt.c: add ISO-8601 date format - afb: yaml: use !!timestamp for timestamps @@ . patch -p0 '@@ .' Index: rpm/configure.ac $ cvs diff -u -r2.490 -r2.491 configure.ac --- rpm/configure.ac 11 May 2011 07:55:06 - 2.490 +++ rpm/configure.ac 12 May 2011 10:01:48 - 2.491 @@ -1969,6 +1969,7 @@ RPMCANONVENDOR=$target_vendor case ${target_vendor} in unknown|pc|ibm|redhat|pld|mandriva|conectiva|lvr|yellowdog|caos|crux|ark|momonga|openmamba) + test -f /etc/SuSE-release RPMCANONVENDOR=suse test -f /etc/momonga-release RPMCANONVENDOR=momonga test -f /etc/fedora-release RPMCANONVENDOR=fedora test -f /etc/redhat-release RPMCANONVENDOR=redhat @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/doc/ rpm.8
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Pinto Elia Root: /v/rpm/cvs Email: devzero2...@rpm5.org Module: rpm Date: 11-May-2011 11:18:20 Branch: HEAD Handle: 2011051109181901 Modified files: rpm CHANGES rpm/doc rpm.8 Log: document --whatneeds and --needswhat (ref. https://bugzilla.redhat.com/show_bug.cgi?id=142651) I think it's best to document the feature and not what should belong to the ugly tricks department Submitted by: Elia Pinto Summary: RevisionChanges Path 1.3635 +2 -0 rpm/CHANGES 1.39+10 -1 rpm/doc/rpm.8 patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3634 -r1.3635 CHANGES --- rpm/CHANGES 10 May 2011 02:45:16 - 1.3634 +++ rpm/CHANGES 11 May 2011 09:18:19 - 1.3635 @@ -1,4 +1,6 @@ 5.4.0 - 5.4.1: +- devzero2000: document --whatneeds and --needswhat + (ref. https://bugzilla.redhat.com/show_bug.cgi?id=142651) - proyvind: fix an extremely subtle, corner-case memleak in parsePreamble.c - devzero2000: update Makefile.am with the new release of the arbitrarytag toy test spec - devzero2000: update the arbitrary tags description in the spec manual @@ . patch -p0 '@@ .' Index: rpm/doc/rpm.8 $ cvs diff -u -r1.38 -r1.39 rpm.8 --- rpm/doc/rpm.8 21 Sep 2010 16:08:32 - 1.38 +++ rpm/doc/rpm.8 11 May 2011 09:18:20 - 1.39 @@ -503,7 +503,7 @@ \fBrpm\fR's internal \fBftp\fR and \fBhttp\fR -client support. The \fIPACKAGE_FILE\fR argument(s), +client support. /--rqThe \fIPACKAGE_FILE\fR argument(s), if not a binary package, will be interpreted as an ASCII package manifest. Comments are permitted, starting with a '#', and each line of a package manifest file may include white space separated @@ -538,11 +538,20 @@ Query packages that are triggered by package(s) \fIPACKAGE_NAME\fR. .TP +\fB-\-needswhat \fIPACKAGE_NAME\fB\fR +List prerequisite packages of package(s) +\fIPACKAGE_NAME\fR. +.TP \fB-\-whatprovides \fICAPABILITY\fB\fR Query all packages that provide the \fICAPABILITY\fR capability. .TP \fB-\-whatrequires \fICAPABILITY\fB\fR Query all packages that require \fICAPABILITY\fR for proper functioning. +.br +Note that this does not return what requires a given package. +A package usually provides multiple capabilities and file-names on which +other packages may depend. To see the complete dependencies +for a capability, use \fB--whatneeds \fICAPABILITY\fB\fR .SS PACKAGE QUERY OPTIONS: .PP .TP @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/doc/manual/ per_transaction_dependecies
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Pinto Elia Root: /v/rpm/cvs Email: devzero2...@rpm5.org Module: rpm Date: 09-May-2011 12:51:49 Branch: HEAD Handle: 2011050910514900 Added files: rpm/doc/manual per_transaction_dependecies Modified files: rpm CHANGES Log: add a preliminary docs on per_transaction_dependecies, achieved by putting together what is already written on the subject over the years. Need some review probably. Summary: RevisionChanges Path 1.3626 +2 -0 rpm/CHANGES 1.1 +104 -0 rpm/doc/manual/per_transaction_dependecies patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3625 -r1.3626 CHANGES --- rpm/CHANGES 7 May 2011 23:30:48 - 1.3625 +++ rpm/CHANGES 9 May 2011 10:51:49 - 1.3626 @@ -1,4 +1,6 @@ 5.4.0 - 5.4.1: +- devzero2000: add a preliminary docs on per_transaction_dependecies, + achieved by putting together what is already written on the subject over the years. - mdawkins: applied vendor Openmamba patches - devzero2000: add preliminary change for momonga buildboot - devzero2000: in configure.ac distinguish properly redhat from fedora @@ . patch -p0 '@@ .' Index: rpm/doc/manual/per_transaction_dependecies $ cvs diff -u -r0 -r1.1 per_transaction_dependecies --- /dev/null 2011-05-09 12:45:30.0 +0200 +++ per_transaction_dependecies 2011-05-09 12:51:49.855599768 +0200 @@ -0,0 +1,104 @@ +RPM5 configurable per-transaction dependencies + + +RPM5 supports the ability to manually +configure additional dependencies and to enforce +automatically what is called parentdir-linkto dependencies. + +The directory to be used for per-system manual configuration +of dependencies is /etc/rpm/sysinfo/. Creating per-tag-name files, +and adding dependencies one -per-line, is the means to use +per-transaction dependencies. + +The currently supported tag files that will be read are: + Providename + Requirename + Conflictname + Obsoletename + Dirnames + Filelinktos + +E.g. a missing requirement + Requires: foo = 1.2-3 +can be satisfied by editing /etc/rpm/sysinfo/Providename and adding + foo = 1.2-3 +Note that only the dependency assertion is satsified, the underlying +reason for the dependency may still cause failures. + +For the first time, rpm now supports what the Debian Users knows as +pinning. +You can prevent a bar-5.6-7 from being removed by editing /etc/rpm/ +sysinfo/Requirename +and adding + bar = 5.6-7 +Note that rpm's file and soname dependencies can be pinned as well. +Adding these lines will prevent essential components from being +removed +libc.so.6 +/bin/sh + + +The Dirnames and Filelinktos are perhaps unknown to rpm-4.4.2 users. +RPM5, from rpm-4.4.7+i, has added two new types of dependencies to ensure that +some package owns every directory, and that there are no dangling +symlinks within packages. Although today many vendors have incorporated this check +into their packaging policy, this requires or a manual review or a for vendor +external rpm script for checking the policy. Instead with RPM5, the two tag +files have been added as a means to manually configure (and satisfy) the new +implict Requires:. The goal(s) with parentdir/linkto dependencies was: + +1) stricter/mandatory packaging rules. E.g. even though + rpm WILL create every component in the path in order + to install a file, the orphandirs will not be removed + by rpm --erase. There's other issues with metadata like + mode/owner/group (and SELinux tags) with orphandirs + because RPM has to guess what is intended for those values. + +2) using parentdir dependencies to supply additional ordering hints + Ordering packages is based on a partial order from the + dependency assertions. So the ordering is as good/bad/ugly + as the package metadata is (which is pretty bad/ugly in many cases). + By using parentdir depdnencies, additional (and quite reliable + in the case of parentdir dependencies) relations reduce + partial ordering indedeterminancy, thereby increasing + install/upgrade/erase ordering reliability. + +But while parentdir dependencies are being phased in, there are additional
[CVS] RPM: rpm/ CHANGES rpm/macros/ macros.in
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Pinto Elia Root: /v/rpm/cvs Email: devzero2...@rpm5.org Module: rpm Date: 09-May-2011 15:53:26 Branch: HEAD Handle: 2011050913532501 Modified files: rpm CHANGES rpm/macros macros.in Log: added arbitrary tag for security description and reference. Fix a typo in arbitrary_tag_tests also. Submitted by: Elia Pinto Summary: RevisionChanges Path 1.3628 +2 -0 rpm/CHANGES 1.53+4 -3 rpm/macros/macros.in patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3627 -r1.3628 CHANGES --- rpm/CHANGES 9 May 2011 12:44:48 - 1.3627 +++ rpm/CHANGES 9 May 2011 13:53:26 - 1.3628 @@ -1,4 +1,6 @@ 5.4.0 - 5.4.1: +- devzero2000: added arbitrary tag for security description and reference. + Fix a typo in arbitrary_tag_tests also. - devzero2000: fix typo, add more info to per_transaction_dependecies doc. Distribuite it also. - devzero2000: add a preliminary docs on per_transaction_dependecies, @@ . patch -p0 '@@ .' Index: rpm/macros/macros.in $ cvs diff -u -r1.52 -r1.53 macros.in --- rpm/macros/macros.in 3 Apr 2011 19:56:55 - 1.52 +++ rpm/macros/macros.in 9 May 2011 13:53:25 - 1.53 @@ -1,7 +1,7 @@ #/*! \page config_macros Default configuration: @USRLIBRPM@/macros # \verbatim # -# $Id: macros.in,v 1.52 2011/04/03 19:56:55 jbj Exp $ +# $Id: macros.in,v 1.53 2011/05/09 13:53:25 devzero2000 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 @@ -285,8 +285,9 @@ # # Colon separated list of permitted arbitrary tag names %_arbitrary_tags_debian Priority:Essential:Depends:Predepends:Recommends:Suggests:Enhances:Breaks: -$_arbitrary_tags_tests Foo:Bar -%_arbitrary_tags Class:Track:Trackprog:Depflags:Transflags:%{_arbitrary_tags_debian}:%{_arbitrary_tags_tests} +%_arbitrary_tags_tests Foo:Bar +%_arbitrary_tags_security CVEID:RHSA:RHBZ:MDVSA:SUSE-SA:CVSSv2 +%_arbitrary_tags Class:Track:Trackprog:Depflags:Transflags:%{_arbitrary_tags_debian}:%{_arbitrary_tags_tests}:%{_arbitrary_tags_security} #== # Database configuration macros. @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/rpmdb/ hdrfmt.c rpm/ rpmpopt.in
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-Apr-2011 08:09:42 Branch: HEAD Handle: 2011042006094101 Modified files: rpm CHANGES rpmpopt.in rpm/rpmdb hdrfmt.c Log: - mongo: adjust --json spewage to accomodate mongo syntax. Summary: RevisionChanges Path 1.3617 +1 -0 rpm/CHANGES 1.155 +130 -175 rpm/rpmdb/hdrfmt.c 2.95+2 -2 rpm/rpmpopt.in patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3616 -r1.3617 CHANGES --- rpm/CHANGES 12 Apr 2011 07:56:13 - 1.3616 +++ rpm/CHANGES 20 Apr 2011 06:09:41 - 1.3617 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- jbj: mongo: adjust --json spewage to accomodate mongo syntax. - devzero2000: get rid of rindex everywhere: use SUSv3 strrchr instead - jbj: mongo: templating diddle-ups, use new Date(...) in other.mongo. - jbj: mongo: wire-up a per-spewage macro expansion, more todo++. @@ . patch -p0 '@@ .' Index: rpm/rpmdb/hdrfmt.c $ cvs diff -u -r1.154 -r1.155 hdrfmt.c --- rpm/rpmdb/hdrfmt.c11 Apr 2011 23:05:24 - 1.154 +++ rpm/rpmdb/hdrfmt.c20 Apr 2011 06:09:42 - 1.155 @@ -872,92 +872,79 @@ #endif static /*@only@*/ /*@null@*/ char * -strdup_locale_convert (/*@null@*/ const char * buffer, +strdup_iconv_check (/*@null@*/ const char * buffer, /*@null@*/ const char * tocode) /*@*/ { -char *dest_str = NULL; +const char *s = buffer; +char *t = NULL; #if defined(HAVE_ICONV) -char *fromcode = _iconv_fromcode; +const char *fromcode = _iconv_fromcode; iconv_t fd; -int is_error = 0; -int done = 0; -if (buffer == NULL) - goto exit; +assert(buffer != NULL); if (tocode == NULL) tocode = _iconv_tocode; +assert(tocode != NULL); #ifdef HAVE_LANGINFO_H +/* XXX the current locale's encoding != package data encodings. */ +if (fromcode == NULL) fromcode = nl_langinfo (CODESET); #endif +assert(fromcode != NULL); -if (fromcode != NULL strcmp(tocode, fromcode) != 0 - (fd = iconv_open(tocode, fromcode)) != (iconv_t)-1) -{ - const char *pin = buffer; - char *pout = NULL; - size_t ib, ob, dest_size; - size_t err; - const char *shift_pin = NULL; - int xx; - - err = iconv(fd, NULL, ib, pout, ob); - dest_size = ob = ib = strlen(buffer); - dest_str = pout = malloc((dest_size + 1) * sizeof(*dest_str)); - if (dest_str) - *dest_str = '\0'; - if (pout != NULL) - while (done == 0 is_error == 0) { - err = iconv(fd, (char **)pin, ib, pout, ob); +if ((fd = iconv_open(tocode, fromcode)) != (iconv_t)-1) { + size_t ileft = strlen(s); + size_t nt = ileft; + char * te = t = xmalloc((nt + 1) * sizeof(*t)); + size_t oleft = ileft; + size_t err = iconv(fd, NULL, NULL, NULL, NULL); + const char *sprev = NULL; + int _iconv_errno = 0; + int done = 0; + while (done == 0 _iconv_errno == 0) { + err = iconv(fd, (char **)s, ileft, te, oleft); if (err == (size_t)-1) { switch (errno) { - case EINVAL: - done = 1; - /*@switchbreak@*/ break; case E2BIG: - { size_t used = (size_t)(pout - dest_str); - dest_size *= 2; - dest_str = realloc(dest_str, (dest_size + 1) * sizeof(*dest_str)); - if (dest_str == NULL) { - is_error = 1; - continue; - } - pout = dest_str + used; - ob = dest_size - used; + { size_t used = (size_t)(te - t); + nt *= 2; + t = xrealloc(t, (nt + 1) * sizeof(*t)); + te = t + used; + oleft = nt - used; } /*@switchbreak@*/ break; + case EINVAL: + done = 1; + /*@fallthrough@*/ case EILSEQ: - is_error = 1; - /*@switchbreak@*/ break; default: - is_error = 1; + _iconv_errno = errno;
[CVS] RPM: rpm/ CHANGES
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Pinto Elia Root: /v/rpm/cvs Email: devzero2...@rpm5.org Module: rpm Date: 20-Apr-2011 12:56:09 Branch: HEAD Handle: 2011042010560900 Modified files: rpm CHANGES Log: fix --disable-dirname-and-symlink-deps CHANGES description Summary: RevisionChanges Path 1.3618 +2 -2 rpm/CHANGES patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3617 -r1.3618 CHANGES --- rpm/CHANGES 20 Apr 2011 06:09:41 - 1.3617 +++ rpm/CHANGES 20 Apr 2011 10:56:09 - 1.3618 @@ -73,8 +73,8 @@ iterator (mdvbz#62279) - devzero2000: update INSTALL.developer with some jbj consideration on how to use multiple rpm version. -- devzero2000: permit in configure phase to enable the - optional-dirname-and-symlink-deps used by Mandriva and Ark today +- devzero2000: permit in configure phase to disable (via --disable-dirname-and-symlink-deps) + the optional-dirname-and-symlink-deps used by Mandriva and Ark today (ref https://blueprints.launchpad.net/rpm/+spec/rpm-split-vendor-config-in-autofu) - proyvind: python: export rpmEVRparse() rpmEVRcompare() in evrSplit() evrCompare(). @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Pinto Elia Root: /v/rpm/cvs Email: devzero2...@rpm5.org Module: rpm Date: 20-Apr-2011 13:58:46 Branch: HEAD Handle: 2011042011584500 Modified files: rpm CHANGES Log: add missing CHANGES of the last commit: grr Summary: RevisionChanges Path 1.3619 +1 -0 rpm/CHANGES patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3618 -r1.3619 CHANGES --- rpm/CHANGES 20 Apr 2011 10:56:09 - 1.3618 +++ rpm/CHANGES 20 Apr 2011 11:58:45 - 1.3619 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- devzero2000: add some reference to what @rpm5.org coding style refer - jbj: mongo: adjust --json spewage to accomodate mongo syntax. - devzero2000: get rid of rindex everywhere: use SUSv3 strrchr instead - jbj: mongo: templating diddle-ups, use new Date(...) in other.mongo. @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES configure.ac rpm/rpmdb/ rpmevr.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Pinto Elia Root: /v/rpm/cvs Email: devzero2...@rpm5.org Module: rpm Date: 20-Apr-2011 17:27:35 Branch: HEAD Handle: 2011042015273401 Modified files: rpm CHANGES configure.ac rpm/rpmdb rpmevr.c Log: permit in configure phase to --enable-rpmvercmp-digits-beat-alpha for reverting to the old rpmvercmp behavior where digits beat alpha as used by Mandriva, Fedora, Suse and other (ref https://blueprints.launchpad.net/rpm/+spec/rpm-split-vendor-config-in-autofu) Summary: RevisionChanges Path 1.3620 +4 -0 rpm/CHANGES 2.486 +14 -0 rpm/configure.ac 1.39+1 -1 rpm/rpmdb/rpmevr.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3619 -r1.3620 CHANGES --- rpm/CHANGES 20 Apr 2011 11:58:45 - 1.3619 +++ rpm/CHANGES 20 Apr 2011 15:27:34 - 1.3620 @@ -1,4 +1,8 @@ 5.4.0 - 5.4.1: +- devzero2000: permit in configure phase to + --enable-rpmvercmp-digits-beat-alpha for reverting to the old rpmvercmp + behavior where digits beat alpha as used by Mandriva, Fedora, Suse + and other (ref https://blueprints.launchpad.net/rpm/+spec/rpm-split-vendor-config-in-autofu) - devzero2000: add some reference to what @rpm5.org coding style refer - jbj: mongo: adjust --json spewage to accomodate mongo syntax. - devzero2000: get rid of rindex everywhere: use SUSv3 strrchr instead @@ . patch -p0 '@@ .' Index: rpm/configure.ac $ cvs diff -u -r2.485 -r2.486 configure.ac --- rpm/configure.ac 10 Apr 2011 10:50:13 - 2.485 +++ rpm/configure.ac 20 Apr 2011 15:27:34 - 2.486 @@ -377,6 +377,20 @@ ]) +dnl # Permit to revert to the old rpmvercmp behavior where digits beat alpha +dnl # called in VENDOR old-comparision-behaviour +AC_ARG_ENABLE( +[rpmvercmp-digits-beat-alpha], +AS_HELP_STRING([--enable-rpmvercmp-digits-beat-alpha],[Permit in RPM version comparison that digits beat alpha (default:no)]), +[ do_rpmvercmp_digits_beat_alpha=$enableval ], +[ do_rpmvercmp_digits_beat_alpha=no ]) + +AS_IF([test x$do_rpmvercmp_digits_beat_alpha != xno], + [ + AC_DEFINE([RPMVERCMP_DIGITS_BEAT_ALPHA],[1],[Permit in RPM version comparison that digits beat alpha]) + ]) + + dnl # FIXME: partly Linux-specific only!? dnl # (but at least it usually doesn't harm on other platforms) CFLAGS=$CFLAGS -D_GNU_SOURCE -D_REENTRANT @@ . patch -p0 '@@ .' Index: rpm/rpmdb/rpmevr.c $ cvs diff -u -r1.38 -r1.39 rpmevr.c --- rpm/rpmdb/rpmevr.c17 Jan 2011 11:27:01 - 1.38 +++ rpm/rpmdb/rpmevr.c20 Apr 2011 15:27:35 - 1.39 @@ -48,7 +48,7 @@ /* XXX Force digits to beat alphas. See bugzilla #50977. */ /*@unchecked@*/ -#if defined(RPM_VENDOR_MANDRIVA) /* old-comparision-behaviour */ +#if defined(RPM_VENDOR_MANDRIVA) || defined(RPMVERCMP_DIGITS_BEAT_ALPHA) /* old-comparision-behaviour */ static int _invert_digits_alphas_comparison = -1; #else static int _invert_digits_alphas_comparison = 1; @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/rpmdb/ hdrfmt.c
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: 12-Apr-2011 01:05:26 Branch: HEAD Handle: 2011041123052103 Modified files: rpm CHANGES rpm/rpmdb hdrfmt.c Log: - mongo: wire-up a per-spewage macro expansion, more todo++. - mongo: fix: iconv_open(UTF-8, UTF-8//IGNORE) zero tolerance transform for encoding randomness, particularly in ancient %changelog's. - mongo: fix: JSON has no escaped single quote or vertical tab. Summary: RevisionChanges Path 1.3614 +4 -0 rpm/CHANGES 1.154 +62 -43 rpm/rpmdb/hdrfmt.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3613 -r1.3614 CHANGES --- rpm/CHANGES 11 Apr 2011 14:41:35 - 1.3613 +++ rpm/CHANGES 11 Apr 2011 23:05:21 - 1.3614 @@ -1,4 +1,8 @@ 5.4.0 - 5.4.1: +- jbj: mongo: wire-up a per-spewage macro expansion, more todo++. +- jbj: mongo: fix: iconv_open(UTF-8, UTF-8//IGNORE) zero tolerance + transform for encoding randomness, particularly in ancient %changelog's. +- jbj: mongo: fix: JSON has no escaped single quote or vertical tab. - devzero2000: add more gpg keys to thkp.c test program - jbj: move multiarch* to mandriva.in. - jbj: put devel(libfoo) deps under RPM_VENDOR_MANDRIVA. @@ . patch -p0 '@@ .' Index: rpm/rpmdb/hdrfmt.c $ cvs diff -u -r1.153 -r1.154 hdrfmt.c --- rpm/rpmdb/hdrfmt.c7 Apr 2011 22:02:10 - 1.153 +++ rpm/rpmdb/hdrfmt.c11 Apr 2011 23:05:24 - 1.154 @@ -482,12 +482,12 @@ case '\b': case '\t': case '\n': - case '\v': case '\f': case '\r': - case '\': - case '\'': len += 1; /*@fallthrough@*/ + case '': + case '\\': len += 1; /*@fallthrough@*/ default:len += 1; /*@switchbreak@*/ break; + /* XXX todo: emit \u1234 here somehow */ } } return len; @@ -512,12 +512,12 @@ case '\b': *te++ = '\\'; *te++ = 'b'; /*@switchbreak@*/ break; case '\t': *te++ = '\\'; *te++ = 't'; /*@switchbreak@*/ break; case '\n': *te++ = '\\'; *te++ = 'n'; /*@switchbreak@*/ break; - case '\v': *te++ = '\\'; *te++ = 'v'; /*@switchbreak@*/ break; case '\f': *te++ = '\\'; *te++ = 'f'; /*@switchbreak@*/ break; case '\r': *te++ = '\\'; *te++ = 'r'; /*@switchbreak@*/ break; - case '\': *te++ = '\\'; *te++ = ''; /*@switchbreak@*/ break; - case '\'': *te++ = '\\'; *te++ = '\''; /*@switchbreak@*/ break; + case '': *te++ = '\\'; *te++ = ''; /*@switchbreak@*/ break; + case '\\': *te++ = '\\'; *te++ = '\\'; /*@switchbreak@*/ break; default:*te++ = (char) c; /*@switchbreak@*/ break; + /* XXX todo: emit \u1234 here somehow */ } } *te = '\0'; @@ -858,21 +858,36 @@ /**/ +#if defined(__GLIBC__) /* XXX todo: find where iconv(3) was implemented. */ +/* XXX using //TRANSLIT instead assumes known fromcode? */ +/*@unchecked@*/ +static const char * _iconv_tocode = UTF-8//IGNORE; +/*@unchecked@*/ +static const char * _iconv_fromcode = UTF-8; +#else +/*@unchecked@*/ +static const char * _iconv_tocode = UTF-8; +/*@unchecked@*/ +static const char * _iconv_fromcode = NULL; +#endif + static /*@only@*/ /*@null@*/ char * strdup_locale_convert (/*@null@*/ const char * buffer, /*@null@*/ const char * tocode) /*@*/ { -char *dest_str; +char *dest_str = NULL; #if defined(HAVE_ICONV) -char *fromcode = NULL; +char *fromcode = _iconv_fromcode; iconv_t fd; +int is_error = 0; +int done = 0; if (buffer == NULL) - return NULL; + goto exit; if (tocode == NULL) - tocode = UTF-8; + tocode = _iconv_tocode; #ifdef HAVE_LANGINFO_H fromcode = nl_langinfo (CODESET); @@ -884,8 +899,6 @@ const char *pin = buffer; char *pout = NULL; size_t ib, ob, dest_size; - int done; - int is_error; size_t err; const char *shift_pin = NULL; int xx; @@
[CVS] RPM: rpm/ CHANGES Makefile.am configure.ac rpm/macros/ kernel.in...
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 10-Apr-2011 12:50:14 Branch: HEAD Handle: 2011041010501301 Added files: rpm/macros kernel.in rpm/scripts kmod-deps.sh Modified files: rpm CHANGES Makefile.am configure.ac rpm/scripts Makefile.am Log: rpmfc: add internel dep generator helper for kernel modules. kmod-deps.sh: add dependency extractor from mandriva. Summary: RevisionChanges Path 1.3608 +2 -0 rpm/CHANGES 2.266 +3 -3 rpm/Makefile.am 2.485 +4 -3 rpm/configure.ac 1.1 +12 -0 rpm/macros/kernel.in 1.78+1 -1 rpm/scripts/Makefile.am 1.1 +61 -0 rpm/scripts/kmod-deps.sh patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3607 -r1.3608 CHANGES --- rpm/CHANGES 10 Apr 2011 05:23:25 - 1.3607 +++ rpm/CHANGES 10 Apr 2011 10:50:13 - 1.3608 @@ -1,4 +1,6 @@ 5.4.0 - 5.4.1: +- proyvind: rpmfc: add internel dep generator helper for kernel modules. +- provyind: kmod-deps.sh: add dependency extractor from mandriva. - proyvind: rpmds: implement devel(libfoo) symlink dependencies from Mandriva, but with proper ELF SONAME checking. - jbj: mongo: stub-in a /usr/lib/rpm/bin mongo shell wrapper. @@ . patch -p0 '@@ .' Index: rpm/Makefile.am $ cvs diff -u -r2.265 -r2.266 Makefile.am --- rpm/Makefile.am 1 Apr 2011 05:08:11 - 2.265 +++ rpm/Makefile.am 10 Apr 2011 10:50:13 - 2.266 @@ -112,9 +112,9 @@ pkgcfgdir = $(pkglibdir)/macros.d pkgcfg_DATA = \ - macros/cmake macros/gstreamer macros/java macros/libtool macros/mandriva \ - macros/mono macros/perl macros/pkgconfig macros/php macros/python macros/ruby \ - macros/selinux macros/tcl + macros/cmake macros/gstreamer macros/java macros/kernel macros/libtool \ + macros/mandriva macros/mono macros/perl macros/pkgconfig macros/php \ + macros/python macros/ruby macros/selinux macros/tcl noinst_HEADERS = build.h debug.h system.h @@ . patch -p0 '@@ .' Index: rpm/configure.ac $ cvs diff -u -r2.484 -r2.485 configure.ac --- rpm/configure.ac 3 Apr 2011 19:22:00 - 2.484 +++ rpm/configure.ac 10 Apr 2011 10:50:13 - 2.485 @@ -521,6 +521,7 @@ AC_PATH_PROG(__MAKE, make, %{_bindir}/make, $MYPATH) AC_PATH_PROG(__MKDIR, mkdir, /bin/mkdir, $MYPATH) AC_PATH_PROG(__MONGO, mongo, %{_bindir}/mongo, $MYPATH) +AC_PATH_PROG(__MODINFO, modinfo, /sbin/modinfo, $MYPATH) AC_PATH_PROG(__MV, mv, /bin/mv, $MYPATH) AC_PATH_PROG(__PATCH, patch, %{_bindir}/patch, $MYPATH) AC_PATH_PROG(__PAX, pax, %{_bindir}/pax, $MYPATH) @@ -2307,9 +2308,9 @@ scripts/Makefile rpmdb/DB_CONFIG macros/macros macros/macros.rpmbuild -macros/cmake macros/gstreamer macros/java macros/libtool macros/mandriva -macros/mono macros/perl macros/pkgconfig macros/php macros/python macros/ruby -macros/selinux macros/tcl +macros/cmake macros/gstreamer macros/java macros/kernel macros/libtool +macros/mandriva macros/mono macros/perl macros/pkgconfig macros/php +macros/python macros/ruby macros/selinux macros/tcl doc/Makefile doc/manual/Makefile doc/fr/Makefile doc/ja/Makefile doc/ko/Makefile doc/pl/Makefile doc/ru/Makefile doc/sk/Makefile @@ . patch -p0 '@@ .' Index: rpm/macros/kernel.in $ cvs diff -u -r0 -r1.1 kernel.in --- /dev/null 2011-04-10 12:45:29.0 +0200 +++ kernel.in 2011-04-10 12:50:13.231404616 +0200 @@ -0,0 +1,12 @@ +# Kernel specific macro definitions. +# To make use of these macros insert the following line into your spec file: +# %{load:%{_usrlibrpm}/macros.d/kernel} + +%__modinfo @__MODINFO + +# Path to scripts to autogenerate gstreamer package dependencies, +# +# Note: Used if _use_internal_dependency_generator is non-zero. The +# helpers are also used by %{_rpmhome}/rpmdeps {--provides|--requires}. +%__kernel_provides %{_rpmhome}/kmod-deps.sh --provides --modinfo %__modinfo +#%__kernel_requires %{_rpmhome}/kmod-deps.sh --requires --modinfo %__modinfo @@ . patch -p0 '@@ .'
[CVS] RPM: rpm/ CHANGES rpm/macros/ python.in
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 10-Apr-2011 13:19:24 Branch: HEAD Handle: 2011041011192400 Modified files: rpm CHANGES rpm/macros python.in Log: macros: sync with updated python macros from mandriva. Summary: RevisionChanges Path 1.3609 +1 -0 rpm/CHANGES 1.8 +28 -20 rpm/macros/python.in patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3608 -r1.3609 CHANGES --- rpm/CHANGES 10 Apr 2011 10:50:13 - 1.3608 +++ rpm/CHANGES 10 Apr 2011 11:19:24 - 1.3609 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- proyvind: macros: sync with updated python macros from mandriva. - proyvind: rpmfc: add internel dep generator helper for kernel modules. - provyind: kmod-deps.sh: add dependency extractor from mandriva. - proyvind: rpmds: implement devel(libfoo) symlink dependencies from @@ . patch -p0 '@@ .' Index: rpm/macros/python.in $ cvs diff -u -r1.7 -r1.8 python.in --- rpm/macros/python.in 1 Apr 2011 02:11:13 - 1.7 +++ rpm/macros/python.in 10 Apr 2011 11:19:24 - 1.8 @@ -6,35 +6,43 @@ # Path to scripts to autogenerate python package dependencies, # -# Note: Used iff _use_internal_dependency_generator is non-zero. The +# Note: Used if _use_internal_dependency_generator is non-zero. The # helpers are also used by %{_rpmhome}/rpmdeps {--provides|--requires}. %__python_provides %{_rpmhome}/pythoneggs.py --provides %__python_requires %{_rpmhome}/pythoneggs.py --requires # +%python_sitearch %(%{__python} -c import os; from distutils.sysconfig import get_python_lib; lib=get_python_lib(1); print os.path.islink(lib) and os.path.abspath(os.path.join(os.path.dirname(lib),os.readlink(lib))) or lib) +%python_sitelib %(%{__python} -c import os; from distutils.sysconfig import get_python_lib; lib=get_python_lib(); print os.path.islink(lib) and os.path.abspath(os.path.join(os.path.dirname(lib),os.readlink(lib))) or lib) +%python_version %(%{__python} -c import sys; print(sys.version[0:3])) + # python main version -%py_ver %(echo `python -c import sys; print sys.version[:3]`) +%py_ver %(%{__python} -c import sys; v=sys.version_info[:2]; print '%%d.%%d'%%v 2/dev/null || echo PYTHON-NOT-FOUND) +%py_prefix %(%{__python} -c import sys; print sys.prefix 2/dev/null || echo PYTHON-NOT-FOUND) +%py_platlibdir %(%{__python} -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib(standard_lib=1,plat_specific=1)' 2/dev/null || echo PYTHON-LIBDIR-NOT-FOUND) +%py_purelibdir %(%{__python} -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib(standard_lib=1,plat_specific=0)' 2/dev/null || echo PYTHON-LIBDIR-NOT-FOUND) +# backward compatibility +%py_libdir %py_purelibdir + +%py_platsitedir %(%{__python} -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib(plat_specific=1)' 2/dev/null || echo PYTHON-LIBDIR-NOT-FOUND) +%py_puresitedir %(%{__python} -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib()' 2/dev/null || echo PYTHON-LIBDIR-NOT-FOUND) +%py_sitedir %py_puresitedir -# directories -%py_prefix %(echo `python -c import sys; print sys.prefix`) -%py_libdir %{py_prefix}/lib/python%{py_ver} -%py_incdir @oldincludedir@/python%{py_ver} -%py_sitedir %{py_libdir}/site-packages -%py_dyndir %{py_libdir}/lib-dynload +%py_dyndir %{py_libdir}/lib-dynload -# pure python modules compilation -%py_comp %{__python} -c import compileall; import sys; compileall.compile_dir(sys.argv[1], ddir=sys.argv[1][len('$RPM_BUILD_ROOT'):]) +%py_incdir %(%{__python} -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_inc()' 2/dev/null || echo PYTHON-INCLUDEDIR-NOT-FOUND) -%py_ocomp%{__python} -O -c import compileall; import sys; compileall.compile_dir(sys.argv[1], ddir=sys.argv[1][len('$RPM_BUILD_ROOT'):]) +%py_compile(O) \ +find %1 -name '*.pyc' -exec rm -f {} \\; \ +%{__python} -c import sys, os, compileall; br='%{buildroot}'; compileall.compile_dir(sys.argv[1], ddir=br and (sys.argv[1][len(os.path.abspath(br)):]+'/') or None) %1 \ +%{-O: \ +find %1 -name '*.pyo'
[CVS] RPM: rpm/ CHANGES rpm/macros/ macros.rpmbuild.in mandriva.in
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: 11-Apr-2011 02:34:01 Branch: HEAD Handle: 2011041100340100 Modified files: rpm CHANGES rpm/macros macros.rpmbuild.in mandriva.in Log: - move multiarch* to mandriva.in. Summary: RevisionChanges Path 1.3612 +1 -0 rpm/CHANGES 1.7 +2 -20 rpm/macros/macros.rpmbuild.in 1.14+18 -0 rpm/macros/mandriva.in patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3611 -r1.3612 CHANGES --- rpm/CHANGES 10 Apr 2011 22:53:03 - 1.3611 +++ rpm/CHANGES 11 Apr 2011 00:34:01 - 1.3612 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- jbj: move multiarch* to mandriva.in. - jbj: put devel(libfoo) deps under RPM_VENDOR_MANDRIVA. - proyvind: merge multiarch-utils from mandriva. - proyvind: macros: sync with updated python macros from mandriva. @@ . patch -p0 '@@ .' Index: rpm/macros/macros.rpmbuild.in $ cvs diff -u -r1.6 -r1.7 macros.rpmbuild.in --- rpm/macros/macros.rpmbuild.in 10 Apr 2011 13:50:28 - 1.6 +++ rpm/macros/macros.rpmbuild.in 11 Apr 2011 00:34:01 - 1.7 @@ -1,7 +1,7 @@ #/*! \page build_macros Default configuration: @USRLIBRPM@/macros.rpmbuild # \verbatim # -# $Id: macros.rpmbuild.in,v 1.6 2011/04/10 13:50:28 pkarlsen Exp $ +# $Id: macros.rpmbuild.in,v 1.7 2011/04/11 00:34:01 jbj Exp $ # # This file contains rpmbuild configuration macros. # @@ -214,27 +214,9 @@ %_filter_GLIBC_PRIVATE 0 # -# multiarch is used to deal with situations where headers that contain -# ie. architecture specific parts to solve file conflicts between -# packages of different archs in multilib environments. -# -# Note: more details at http://wiki.mandriva.com/en/Policies/Multiarch -%multiarch_platform multiarch-%{_arch}-%{_target_os} -%multiarch_bindir%{_bindir}/%{multiarch_platform} -%multiarch_includedir%{_includedir}/%{multiarch_platform} -%multiarch_binaries()%{_rpmhome}/rpm/mkmultiarch binaries %{1} -%multiarch_includes()%{_rpmhome}/rpm/mkmultiarch includes %{1} - -# Check for need of multiarch, terminate build if needed and not used. -# -# Note: The default value should be 0 for legacy compatibility. -# TODO: fix check script and implement support for using -#%_multiarch_required_terminate_build1 - -# # Path to scripts to autogenerate package dependencies, # -# Note: Used if _use_internal_dependency_generator is zero. +# Note: Used iff _use_internal_dependency_generator is zero. #%__find_provides%{_rpmhome}/rpmdeps --provides #%__find_requires%{_rpmhome}/rpmdeps --requires %__find_provides %{_rpmhome}/find-provides @@ . patch -p0 '@@ .' Index: rpm/macros/mandriva.in $ cvs diff -u -r1.13 -r1.14 mandriva.in --- rpm/macros/mandriva.in1 Apr 2011 00:00:29 - 1.13 +++ rpm/macros/mandriva.in11 Apr 2011 00:34:01 - 1.14 @@ -92,4 +92,22 @@ %_systemdconfdir %{_sysconfdir}/systemd +# +# multiarch is used to deal with situations where headers that contain +# ie. architecture specific parts to solve file conflicts between +# packages of different archs in multilib environments. +# +# Note: more details at http://wiki.mandriva.com/en/Policies/Multiarch +%multiarch_platform multiarch-%{_arch}-%{_target_os} +%multiarch_bindir%{_bindir}/%{multiarch_platform} +%multiarch_includedir%{_includedir}/%{multiarch_platform} +%multiarch_binaries()%{_rpmhome}/rpm/mkmultiarch binaries %{1} +%multiarch_includes()%{_rpmhome}/rpm/mkmultiarch includes %{1} + +# Check for need of multiarch, terminate build if needed and not used. +# +# Note: The default value should be 0 for legacy compatibility. +# TODO: fix check script and implement support for using +#%_multiarch_required_terminate_build1 + %{load:/etc/rpm/macros.d/*.macros} @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/rpmdb/ hdrfmt.c
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: 08-Apr-2011 00:02:10 Branch: HEAD Handle: 2011040722020901 Modified files: rpm CHANGES rpm/rpmdb hdrfmt.c Log: - spewage: fix: rework sql/json markup to use the EVRD parser. Summary: RevisionChanges Path 1.3605 +1 -0 rpm/CHANGES 1.153 +71 -44 rpm/rpmdb/hdrfmt.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3604 -r1.3605 CHANGES --- rpm/CHANGES 6 Apr 2011 23:33:17 - 1.3604 +++ rpm/CHANGES 7 Apr 2011 22:02:09 - 1.3605 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- jbj: spewage: fix: rework sql/json markup to use the EVRD parser. - jbj: build: fix: resurrect %description -l XY yet again. - jbj: build: fix: attempt arbitrary '%foo' tag iff '%' is seen. - jbj: mongo: drag-in the test suite. grdfs/replica_sets todo++. @@ . patch -p0 '@@ .' Index: rpm/rpmdb/hdrfmt.c $ cvs diff -u -r1.152 -r1.153 hdrfmt.c --- rpm/rpmdb/hdrfmt.c25 Jan 2011 18:11:53 - 1.152 +++ rpm/rpmdb/hdrfmt.c7 Apr 2011 22:02:10 - 1.153 @@ -527,7 +527,8 @@ /*@unchecked@*/ /*@observer@*/ static const struct spew_s _json_spew = { .spew_name = json, -.spew_init = db.Packages.save({\n, +/* XXX non-functional atm, /usr/lib/rpm/qf *.mongo template for now. */ +.spew_init = db.%{?__mongodb_collection}%{!?__mongodb_collection:packages}.save({\n, .spew_fini = });\n, .spew_strlen = jsonstrlen, .spew_strcpy = jsonstrcpy @@ -3284,19 +3285,20 @@ } static int PRCOSkip(rpmTag tag, rpmTagData N, rpmTagData EVR, rpmTagData F, - rpmuint32_t i) + uint32_t i) /*@*/ { int a = -2, b = -2; +int rc = 0; + +assert(N.argv[i] != NULL *N.argv[i] != '\0'); -if (N.argv[i] == NULL || *N.argv[i] == '\0') - return 1; if (tag == RPMTAG_REQUIRENAME i 0 !(a=strcmp(N.argv[i], N.argv[i-1])) !(b=strcmp(EVR.argv[i], EVR.argv[i-1])) (F.ui32p[i] 0x4e) == ((F.ui32p[i-1] 0x4e))) - return 1; -return 0; + rc = 1; +return rc; } static int PRCOxmlTag(Header h, HE_t he, rpmTag EVRtag, rpmTag Ftag) @@ -3308,9 +3310,9 @@ rpmTagData EVR = { .ptr = NULL }; rpmTagData F = { .ptr = NULL }; size_t nb; -rpmuint32_t ac; -rpmuint32_t c; -rpmuint32_t i; +uint32_t ac; +uint32_t c; +uint32_t i; char *t; int rc = 1; /* assume failure */ int xx; @@ -3520,10 +3522,10 @@ rpmTagData F = { .ptr = NULL }; char instance[64]; size_t nb; -rpmuint32_t ac; -rpmuint32_t c; -rpmuint32_t i; -char *t; +uint32_t ac; +uint32_t c; +uint32_t i; +char *te; int rc = 1; /* assume failure */ int xx; @@ -3544,7 +3546,7 @@ F.ui32p = he-p.ui32p; xx = snprintf(instance, sizeof(instance), '%u', (unsigned)headerGetInstance(h)); -nb = sizeof(*he-p.argv); +nb = 0; ac = 0; for (i = 0; i c; i++) { /*@-nullstate@*/ /* EVR.argv might be NULL */ @@ -3552,63 +3554,88 @@ continue; /*@=nullstate@*/ ac++; - nb += sizeof(*he-p.argv); - nb += strlen(instance) + sizeof(, '', '', '', '', ''); + nb += strlen(instance) + sizeof(, '', '', '', '', '') - 1; if (tag == RPMTAG_REQUIRENAME) nb += sizeof(, '') - 1; nb += strlen(N.argv[i]); if (EVR.argv != NULL EVR.argv[i] != NULL *EVR.argv[i] != '\0') { - nb += strlen(EVR.argv[i]); - nb += sizeof(EQ0) - 1; + uint32_t Fx = ((F.ui32p[i] 1) 0x7); + EVR_t Revr = rpmEVRnew(Fx, 1); + int xx = rpmEVRparse(xstrdup(EVR.argv[i]), Revr); + const char * E = Revr-F[RPMEVR_E]; + const char * V = Revr-F[RPMEVR_V]; + const char * R = Revr-F[RPMEVR_R]; +#ifdef NOTYET /* XXX turning this on breaks rpmrepo */ + const char * D = Revr-F[RPMEVR_D]; +#endif + xx = xx; + nb += (sizeof(, 'EQ')-1); + nb += (sizeof(, '')-1) + strlen(E); + nb += (sizeof(, '')-1) + strlen(V); + nb += (sizeof(, '')-1) +
[CVS] RPM: rpm/ CHANGES rpm/build/ parseSpec.c
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: 07-Apr-2011 01:25:36 Branch: HEAD Handle: 2011040623253501 Modified files: rpm CHANGES rpm/build parseSpec.c Log: - build: fix: attempt arbitrary '%foo' tag iff '%' is seen. Summary: RevisionChanges Path 1.3603 +1 -0 rpm/CHANGES 2.146 +5 -4 rpm/build/parseSpec.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3602 -r1.3603 CHANGES --- rpm/CHANGES 5 Apr 2011 19:51:49 - 1.3602 +++ rpm/CHANGES 6 Apr 2011 23:25:35 - 1.3603 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- jbj: build: fix: attempt arbitrary '%foo' tag iff '%' is seen. - jbj: mongo: drag-in the test suite. grdfs/replica_sets todo++. - jbj: mongo: and re-export the mongo-c-driver through librpmio.vers. - jbj: mongo: pull in the gridfs methods from the mongo-c-driver too. @@ . patch -p0 '@@ .' Index: rpm/build/parseSpec.c $ cvs diff -u -r2.145 -r2.146 parseSpec.c --- rpm/build/parseSpec.c 20 Jan 2011 10:51:48 - 2.145 +++ rpm/build/parseSpec.c 6 Apr 2011 23:25:36 - 2.146 @@ -49,7 +49,7 @@ { PART_TRIGGERIN, 0, %trigger}, { PART_VERIFYSCRIPT, 0, %verifyscript}, { PART_SANITYCHECK,0, %sanitycheck}, /* support %sanitycheck scriptlet */ -{0, 0, 0} +{0, 0, NULL} }; /** @@ -65,7 +65,7 @@ { const char * line = spec-line; struct PartRec *p; -rpmParseState nextPart = PART_NONE; /* assume failure */ +rpmParseState nextPart = PART_NONE; /* assume plain text */ if (partList[0].len == 0) initParts(partList); @@ -77,12 +77,12 @@ c = *(line + p-len); if (c == '\0' || xisspace(c)) { nextPart = p-part; - break; + goto exit; } } /* If %foo is not found explictly, check for an arbitrary %foo tag. */ -if (nextPart == PART_NONE) { +if (line[0] == '%') { ARGV_t aTags = NULL; const char * s; /*@-noeffect@*/ @@ -109,6 +109,7 @@ } } +exit: return nextPart; } @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/build/ parseDescription.c
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: 07-Apr-2011 01:33:18 Branch: HEAD Handle: 2011040623331700 Modified files: rpm CHANGES rpm/build parseDescription.c Log: - build: fix: resurrect %description -l XY yet again. Summary: RevisionChanges Path 1.3604 +1 -0 rpm/CHANGES 2.45+12 -12 rpm/build/parseDescription.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3603 -r1.3604 CHANGES --- rpm/CHANGES 6 Apr 2011 23:25:35 - 1.3603 +++ rpm/CHANGES 6 Apr 2011 23:33:17 - 1.3604 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- jbj: build: fix: resurrect %description -l XY yet again. - jbj: build: fix: attempt arbitrary '%foo' tag iff '%' is seen. - jbj: mongo: drag-in the test suite. grdfs/replica_sets todo++. - jbj: mongo: and re-export the mongo-c-driver through librpmio.vers. @@ . patch -p0 '@@ .' Index: rpm/build/parseDescription.c $ cvs diff -u -r2.44 -r2.45 parseDescription.c --- rpm/build/parseDescription.c 16 Feb 2010 15:12:21 - 2.44 +++ rpm/build/parseDescription.c 6 Apr 2011 23:33:17 - 2.45 @@ -34,7 +34,7 @@ /*@modifies name, lang @*/ { rpmParseState nextPart = (rpmParseState) RPMRC_FAIL; /* assume error */ -rpmiob iob; +rpmiob iob = NULL; int flag = PART_SUBNAME; Package pkg; int rc, argc; @@ -54,7 +54,7 @@ if ((rc = poptParseArgvString(spec-line, argc, argv))) { rpmlog(RPMLOG_ERR, _(line %d: Error parsing %%description: %s\n), spec-lineNum, poptStrerror(rc)); - return RPMRC_FAIL; + goto exit; } name = NULL; @@ -90,7 +90,8 @@ } /* Lose the inheirited %description (if present). */ -{HE_t he = memset(alloca(sizeof(*he)), 0, sizeof(*he)); +if (spec-packages-header != pkg-header) { + HE_t he = memset(alloca(sizeof(*he)), 0, sizeof(*he)); int xx; he-tag = RPMTAG_DESCRIPTION; xx = headerGet(pkg-header, he, 0); @@ -105,16 +106,17 @@ if ((rc = readLine(spec, STRIP_TRAILINGSPACE | STRIP_COMMENTS)) 0) { nextPart = PART_NONE; -} else { - if (rc) { + goto exit; +} +if (rc 0) { nextPart = (rpmParseState) RPMRC_FAIL; goto exit; } + while ((nextPart = isPart(spec)) == PART_NONE) { iob = rpmiobAppend(iob, spec-line, 1); if (t) t-t_nlines++; - if ((rc = - readLine(spec, STRIP_TRAILINGSPACE | STRIP_COMMENTS)) 0) { + if ((rc = readLine(spec, STRIP_TRAILINGSPACE | STRIP_COMMENTS)) 0) { nextPart = PART_NONE; break; } @@ -123,17 +125,15 @@ goto exit; } } -} iob = rpmiobRTrim(iob); if (!(noLang strcmp(lang, RPMBUILD_DEFAULT_LANG))) { - (void) headerAddI18NString(pkg-header, RPMTAG_DESCRIPTION, - rpmiobStr(iob), lang); + const char * s = rpmiobStr(iob); + (void) headerAddI18NString(pkg-header, RPMTAG_DESCRIPTION, s, lang); } -iob = rpmiobFree(iob); - exit: +iob = rpmiobFree(iob); argv = _free(argv); optCon = poptFreeContext(optCon); return nextPart; @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES build.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 05-Apr-2011 21:29:41 Branch: HEAD Handle: 2011040519294000 Modified files: rpm CHANGES build.c Log: accept unicode characters. Summary: RevisionChanges Path 1.3601 +1 -0 rpm/CHANGES 2.125 +1 -1 rpm/build.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3600 -r1.3601 CHANGES --- rpm/CHANGES 3 Apr 2011 22:58:05 - 1.3600 +++ rpm/CHANGES 5 Apr 2011 19:29:40 - 1.3601 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- proyvind: rpmbuild: accept unicode characters. - jbj: mongo: drag-in the test suite. grdfs/replica_sets todo++. - jbj: mongo: and re-export the mongo-c-driver through librpmio.vers. - jbj: mongo: pull in the gridfs methods from the mongo-c-driver too. @@ . patch -p0 '@@ .' Index: rpm/build.c $ cvs diff -u -r2.124 -r2.125 build.c --- rpm/build.c 10 Feb 2010 20:24:49 - 2.124 +++ rpm/build.c 5 Apr 2011 19:29:40 - 2.125 @@ -88,7 +88,7 @@ /*@switchbreak@*/ break; /*@-boundsread@*/ default: - if (checking !(isprint(*s) || isspace(*s))) return 0; + if (checking !(isprint(*s) || isspace(*s)) *(unsigned char *)s 32) return 0; /*@switchbreak@*/ break; /*@=boundsread@*/ } @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES build.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 05-Apr-2011 21:51:49 Branch: HEAD Handle: 2011040519514900 Modified files: rpm CHANGES build.c Log: revert unicode change Summary: RevisionChanges Path 1.3602 +0 -1 rpm/CHANGES 2.127 +1 -1 rpm/build.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3601 -r1.3602 CHANGES --- rpm/CHANGES 5 Apr 2011 19:29:40 - 1.3601 +++ rpm/CHANGES 5 Apr 2011 19:51:49 - 1.3602 @@ -1,5 +1,4 @@ 5.4.0 - 5.4.1: -- proyvind: rpmbuild: accept unicode characters. - jbj: mongo: drag-in the test suite. grdfs/replica_sets todo++. - jbj: mongo: and re-export the mongo-c-driver through librpmio.vers. - jbj: mongo: pull in the gridfs methods from the mongo-c-driver too. @@ . patch -p0 '@@ .' Index: rpm/build.c $ cvs diff -u -r2.126 -r2.127 build.c --- rpm/build.c 5 Apr 2011 19:50:24 - 2.126 +++ rpm/build.c 5 Apr 2011 19:51:49 - 2.127 @@ -88,7 +88,7 @@ /*@switchbreak@*/ break; /*@-boundsread@*/ default: - if (checking !(isprint(*s) || isspace(*s))) return 0; + if (checking !(isprint(*s) || isspace(*s)) *(unsigned char *)s 32) return 0; /*@switchbreak@*/ break; /*@=boundsread@*/ } @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/misc/ Makefile.am rpm/ruby/ Makefile.am
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: 03-Apr-2011 21:22:55 Branch: HEAD Handle: 2011040319225401 Modified files: rpm CHANGES rpm/miscMakefile.am rpm/rubyMakefile.am Log: - autofu: fix: remove --with-js remnants. Summary: RevisionChanges Path 1.3596 +1 -0 rpm/CHANGES 1.57+0 -2 rpm/misc/Makefile.am 1.13+0 -1 rpm/ruby/Makefile.am patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3595 -r1.3596 CHANGES --- rpm/CHANGES 3 Apr 2011 19:21:59 - 1.3595 +++ rpm/CHANGES 3 Apr 2011 19:22:54 - 1.3596 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- jbj: autofu: fix: remove --with-js remnants. - jbj: autofu: drop --with-js=internal now that JS 1.8.5 is available. - jbj: fix: reduce false positives checking for duplicate keys (#62822). - proyvind: rpmjs: port to SpiderMonkey 1.8.5 API. @@ . patch -p0 '@@ .' Index: rpm/misc/Makefile.am $ cvs diff -u -r1.56 -r1.57 Makefile.am --- rpm/misc/Makefile.am 18 Oct 2010 04:21:18 - 1.56 +++ rpm/misc/Makefile.am 3 Apr 2011 19:22:54 - 1.57 @@ -36,7 +36,6 @@ @WITH_BEECRYPT_LDFLAGS@ \ @WITH_FICL_LDFLAGS@ \ @WITH_GPSEE_LDFLAGS@ \ - @WITH_JS_LDFLAGS@ \ @WITH_LUA_LDFLAGS@ \ @WITH_NEON_LDFLAGS@ \ @WITH_PCRE_LDFLAGS@ \ @@ -53,7 +52,6 @@ @WITH_FILE_LIBS@ \ @WITH_BEECRYPT_LIBS@ \ @WITH_GPSEE_LIBS@ \ - @WITH_JS_LIBS@ \ @WITH_LUA_LIBS@ \ @WITH_NEON_LIBS@ \ @WITH_PCRE_LIBS@ \ @@ . patch -p0 '@@ .' Index: rpm/ruby/Makefile.am $ cvs diff -u -r1.12 -r1.13 Makefile.am --- rpm/ruby/Makefile.am 16 Dec 2010 01:55:43 - 1.12 +++ rpm/ruby/Makefile.am 3 Apr 2011 19:22:55 - 1.13 @@ -14,7 +14,6 @@ -I$(top_srcdir)/misc \ @WITH_DB_CPPFLAGS@ \ @WITH_FILE_CPPFLAGS@ \ - @WITH_JS_CPPFLAGS@ \ @WITH_LUA_CPPFLAGS@ \ @WITH_SYCK_CPPFLAGS@ \ @WITH_XAR_CPPFLAGS@ \ @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/scripts/ rubygems.rb
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 01-Apr-2011 09:29:51 Branch: HEAD Handle: 2011040107295100 Modified files: rpm CHANGES rpm/scripts rubygems.rb Log: rubygems.rb: add/provide ruby(abi) dependencies for non-gems. (not my proudest work.. ;) Summary: RevisionChanges Path 1.3592 +1 -0 rpm/CHANGES 1.8 +45 -12 rpm/scripts/rubygems.rb patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3591 -r1.3592 CHANGES --- rpm/CHANGES 1 Apr 2011 05:08:11 - 1.3591 +++ rpm/CHANGES 1 Apr 2011 07:29:51 - 1.3592 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- proyvind: rubygems.rb: add/provide ruby(abi) dependencies for non-gems. - proyvind: rpmfc: add classifiers for gstreamer plugins dep generator. - proyvind: use pythoneggs.py for python deps generated by internal generator. - proyvind: rpmfc: enable ruby file classifier internal dep generator. @@ . patch -p0 '@@ .' Index: rpm/scripts/rubygems.rb $ cvs diff -u -r1.7 -r1.8 rubygems.rb --- rpm/scripts/rubygems.rb 13 Mar 2011 20:08:58 - 1.7 +++ rpm/scripts/rubygems.rb 1 Apr 2011 07:29:51 - 1.8 @@ -3,40 +3,74 @@ # Copyright 2010 Per Ãyvind Karlsen peroyv...@mandriva.org # This program is free software. It may be redistributed and/or modified under # the terms of the LGPL version 2.1 (or later). +# +# FIXME: Someone with actual ruby skills should really clean up and sanitize +# this! fugliness obvious... #++ require 'optparse' -require 'rubygems' +require 'rbconfig' provides = false requires = false opts = OptionParser.new(#{$0} --provides|--requires) opts.on(-P, --provides, Print provides) do |val| -provides = true + provides = true end opts.on(-R, --requires, Print requires) do |val| -requires= true + requires= true end rest = opts.permute(ARGV) if rest.size != 0 or (!provides and !requires) or (provides and requires) -$stderr.puts Use either --provides OR --requires -$stderr.puts opts -exit(1) + $stderr.puts Use either --provides OR --requires + $stderr.puts opts + exit(1) end -specpath = %s/specifications/.*\.gemspec$ % Gem::dir +specpatt = Config::CONFIG[rubylibdir].sub(Config::CONFIG[ruby_version], .*/specifications/.*\.gemspec$) gems = [] -for gemspec in $stdin.readlines - if gemspec.match(specpath) -gems.push(gemspec.chomp) +ruby_versioned = false +abi_provide = false + +for path in $stdin.readlines + if path.match(specpatt) +ruby_versioned = true +gems.push(path.chomp) + # this is quite ugly and lame, but the assumption made is that if any files + # found in any of these directories specific to this ruby version, the + # package is dependent on this specific version. + # FIXME: only supports current ruby version + elsif not ruby_versioned +if path.match(Config::CONFIG[rubylibdir]) + ruby_versioned = true + # even more fugly, but we make the assumption that if the package has + # this file, the package is the current ruby version, and should + # therefore provide ruby(abi) = version + if provides and path.match(Config::CONFIG[rubylibdir] + /Env.rb) + abi_provide = true + end +elsif path.match(Config::CONFIG[sitelibdir]) + ruby_versioned = true +elsif path.match(Config::CONFIG[vendorlibdir]) + ruby_versioned = true +end + end +end + +if requires or abi_provide + print ruby(abi) + if ruby_versioned +print = %s\n % Config::CONFIG[ruby_version] end end + if gems.length 0 + require 'rubygems' + if requires -require 'rbconfig' module Gem class Requirement @@ -61,7 +95,6 @@ end end -print ruby(abi) = %s\n % Config::CONFIG[ruby_version] end for gem in gems @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/build/ reqprov.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 01-Apr-2011 11:51:45 Branch: HEAD Handle: 2011040109514500 Modified files: rpm CHANGES rpm/build reqprov.c Log: filter overlapping depencies. leaving under mandriva #ifdef for now, need to properly determine 'correctness' sanity.. Summary: RevisionChanges Path 1.3593 +1 -0 rpm/CHANGES 1.95+40 -0 rpm/build/reqprov.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3592 -r1.3593 CHANGES --- rpm/CHANGES 1 Apr 2011 07:29:51 - 1.3592 +++ rpm/CHANGES 1 Apr 2011 09:51:45 - 1.3593 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- proyvind: mandriva: filter overlapping depencies. - proyvind: rubygems.rb: add/provide ruby(abi) dependencies for non-gems. - proyvind: rpmfc: add classifiers for gstreamer plugins dep generator. - proyvind: use pythoneggs.py for python deps generated by internal generator. @@ . patch -p0 '@@ .' Index: rpm/build/reqprov.c $ cvs diff -u -r1.94 -r1.95 reqprov.c --- rpm/build/reqprov.c 16 Mar 2011 15:23:45 - 1.94 +++ rpm/build/reqprov.c 1 Apr 2011 09:51:45 - 1.95 @@ -103,9 +103,49 @@ len--; if (strcmp(names[len], N)) continue; + +#if defined(RPM_VENDOR_MANDRIVA) /* filter-overlapping-dependencies */ + /* XXX: Potential drawbacks? Need to study discuess this one a + * bit further, leaving under #ifdef for now... + * TODO: auto-generated deps too + */ + if (flagtag versions != NULL) { + int overlap; + + if(*EVR !*versions[len]) { + overlap = 1; + flags[len] = Flags; + he-tag = flagtag; + he-t = RPM_UINT32_TYPE; + he-p.argv = (void *) Flags; + xx = headerMod(h, he, 0); + } else { + EVR_t lEVR = rpmEVRnew(RPMSENSE_ANY, 0), + rEVR = rpmEVRnew(RPMSENSE_ANY, 0); + + rpmEVRparse(EVR, lEVR); + rpmEVRparse(versions[len], rEVR); + lEVR-Flags = Flags | RPMSENSE_EQUAL; + rEVR-Flags = flags[len] | RPMSENSE_EQUAL; + overlap = rpmEVRoverlap(lEVR, rEVR); + lEVR = rpmEVRfree(lEVR); + rEVR = rpmEVRfree(rEVR); + } + if (overlap) { + versions[len] = EVR; + he-tag = versiontag; + he-t = RPM_STRING_ARRAY_TYPE; + he-p.argv = versions; + xx = headerMod(h, he, 0); + } else + continue; + } +#else if (flagtag versions != NULL (strcmp(versions[len], EVR) || (rpmsenseFlags)flags[len] != Flags)) continue; +#endif + if (indextag indexes != NULL indexes[len] != index) continue; @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES configure.ac rpm/js/ Makefile.am rpmaug-js.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 02-Apr-2011 04:01:53 Branch: HEAD Handle: 2011040202015300 Modified files: rpm CHANGES configure.ac rpm/js Makefile.am rpmaug-js.c Log: rpmjs: port to SpiderMonkey 1.8.5 API. Summary: RevisionChanges Path 1.3594 +1 -0 rpm/CHANGES 2.483 +4 -4 rpm/configure.ac 1.45+1 -1 rpm/js/Makefile.am 1.12+22 -16 rpm/js/rpmaug-js.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3593 -r1.3594 CHANGES --- rpm/CHANGES 1 Apr 2011 09:51:45 - 1.3593 +++ rpm/CHANGES 2 Apr 2011 02:01:53 - 1.3594 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- proyvind: rpmjs: port to SpiderMonkey 1.8.5 API. - proyvind: mandriva: filter overlapping depencies. - proyvind: rubygems.rb: add/provide ruby(abi) dependencies for non-gems. - proyvind: rpmfc: add classifiers for gstreamer plugins dep generator. @@ . patch -p0 '@@ .' Index: rpm/configure.ac $ cvs diff -u -r2.482 -r2.483 configure.ac --- rpm/configure.ac 1 Apr 2011 05:11:52 - 2.482 +++ rpm/configure.ac 2 Apr 2011 02:01:53 - 2.483 @@ -1609,12 +1609,12 @@ WITH_JS_SUBDIR= WITH_SPIDERMONKEY_SUBDIR= RPM_CHECK_LIB( -[JavaScript], [js], -[js], [JS_NewContext], [jsapi.h], -[no,internal:external:none], [js:src:src], +[JavaScript], [mozjs185], +[mozjs185], [JS_NewContext], [jsapi.h], +[no,internal:external:none], [mozjs185:src:src], [ if test .$RPM_CHECK_LIB_LOCATION = .internal; then WITH_SPIDERMONKEY_SUBDIR=$WITH_JS_SUBDIR/src - AC_DEFINE(HAVE_LIBJS, 1, [Define to 1 if you have the 'js' library (-ljs).]) + AC_DEFINE(HAVE_LIBJS, 1, [Define to 1 if you have the 'mozjs185' library (-lmozjs185).]) else WITH_JS_SUBDIR=js fi @@ . patch -p0 '@@ .' Index: rpm/js/Makefile.am $ cvs diff -u -r1.44 -r1.45 Makefile.am --- rpm/js/Makefile.am18 Sep 2010 14:12:57 - 1.44 +++ rpm/js/Makefile.am2 Apr 2011 02:01:53 - 1.45 @@ -22,7 +22,7 @@ -I$(top_srcdir)/misc \ @WITH_DB_CPPFLAGS@ \ @WITH_FILE_CPPFLAGS@ \ - @WITH_JS_CPPFLAGS@ \ + @WITH_MOZJS185_CPPFLAGS@ \ @WITH_LUA_CPPFLAGS@ \ @WITH_GPSEE_CPPFLAGS@ \ @WITH_SYCK_CPPFLAGS@ \ @@ . patch -p0 '@@ .' Index: rpm/js/rpmaug-js.c $ cvs diff -u -r1.11 -r1.12 rpmaug-js.c --- rpm/js/rpmaug-js.c10 Jan 2010 18:29:12 - 1.11 +++ rpm/js/rpmaug-js.c2 Apr 2011 02:01:53 - 1.12 @@ -303,18 +303,18 @@ } static JSFunctionSpec rpmaug_funcs[] = { -JS_FS(defvar, rpmaug_defvar, 0,0,0), -JS_FS(get, rpmaug_get, 0,0,0), -JS_FS(set, rpmaug_set, 0,0,0), -JS_FS(insert, rpmaug_insert, 0,0,0), -JS_FS(rm, rpmaug_rm, 0,0,0), -JS_FS(remove, rpmaug_rm, 0,0,0), -JS_FS(mv, rpmaug_mv, 0,0,0), -JS_FS(move,rpmaug_mv, 0,0,0), -JS_FS(match, rpmaug_match, 0,0,0), -JS_FS(save,rpmaug_save,0,0,0), -JS_FS(load,rpmaug_load,0,0,0), -JS_FS(print, rpmaug_print, 0,0,0), +JS_FS(defvar, rpmaug_defvar, 0,0), +JS_FS(get, rpmaug_get, 0,0), +JS_FS(set, rpmaug_set, 0,0), +JS_FS(insert, rpmaug_insert, 0,0), +JS_FS(rm, rpmaug_rm, 0,0), +JS_FS(remove, rpmaug_rm, 0,0), +JS_FS(mv, rpmaug_mv, 0,0), +JS_FS(move,rpmaug_mv, 0,0), +JS_FS(match, rpmaug_match, 0,0), +JS_FS(save,rpmaug_save,0,0), +JS_FS(load,rpmaug_load,0,0), +JS_FS(print, rpmaug_print, 0,0), JS_FS_END }; @@ -515,25 +515,31 @@ } static JSBool -rpmaug_ctor(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) +rpmaug_ctor( JSContext* cx, uintN argc, jsval*
[CVS] RPM: rpm/ CHANGES rpm/macros/ macros.in
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Pinto Elia Root: /v/rpm/cvs Email: devzero2...@rpm5.org Module: rpm Date: 31-Mar-2011 09:40:20 Branch: HEAD Handle: 2011033107401901 Modified files: rpm CHANGES rpm/macros macros.in Log: I misread the private review, repost as the original patch Summary: RevisionChanges Path 1.3588 +1 -0 rpm/CHANGES 1.50+3 -3 rpm/macros/macros.in patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3587 -r1.3588 CHANGES --- rpm/CHANGES 30 Mar 2011 16:27:06 - 1.3587 +++ rpm/CHANGES 31 Mar 2011 07:40:19 - 1.3588 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- devzero2000: misread the review, repost as the original patch - devzero2000: change the order for the _initddir macro assignment - proyvind: mandriva: add systemd macros (mdvbz#62741, from Andrey Borzenkov). - proyvind: dbconvert: fix conversion to older hash database format @@ . patch -p0 '@@ .' Index: rpm/macros/macros.in $ cvs diff -u -r1.49 -r1.50 macros.in --- rpm/macros/macros.in 31 Mar 2011 07:20:45 - 1.49 +++ rpm/macros/macros.in 31 Mar 2011 07:40:20 - 1.50 @@ -1,7 +1,7 @@ #/*! \page config_macros Default configuration: @USRLIBRPM@/macros # \verbatim # -# $Id: macros.in,v 1.49 2011/03/31 07:20:45 devzero2000 Exp $ +# $Id: macros.in,v 1.50 2011/03/31 07:40:20 devzero2000 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 @@ -866,9 +866,9 @@ %_mandir %{_datarootdir}/man %_localedir %{_datarootdir}/locale %_lispdir%{_datarootdir}/emacs/site-lisp +%_initddir %{_sysconfdir}/rc.d/init.d # This is a deprecated misspelling, present for backwards compatibility. -%_initrddir %{_sysconfdir}/rc.d/init.d -%_initddir %{_initrddir} +%_initrddir %{_initddir} #- # Multilibs @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/lib/ rpmfc.c rpmfc.h rpm/macros/ ruby.in
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 01-Apr-2011 04:02:18 Branch: HEAD Handle: 2011040102021701 Modified files: rpm CHANGES rpm/lib rpmfc.c rpmfc.h rpm/macros ruby.in Log: enable ruby file classifier internal dep generator. Summary: RevisionChanges Path 1.3589 +1 -0 rpm/CHANGES 1.76+22 -2 rpm/lib/rpmfc.c 1.20+2 -1 rpm/lib/rpmfc.h 1.5 +2 -2 rpm/macros/ruby.in patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3588 -r1.3589 CHANGES --- rpm/CHANGES 31 Mar 2011 07:40:19 - 1.3588 +++ rpm/CHANGES 1 Apr 2011 02:02:17 - 1.3589 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- proyvind: rpmfc: enable ruby file classifier internal dep generator. - devzero2000: misread the review, repost as the original patch - devzero2000: change the order for the _initddir macro assignment - proyvind: mandriva: add systemd macros (mdvbz#62741, from Andrey Borzenkov). @@ . patch -p0 '@@ .' Index: rpm/lib/rpmfc.c $ cvs diff -u -r1.75 -r1.76 rpmfc.c --- rpm/lib/rpmfc.c 19 Oct 2010 02:34:04 - 1.75 +++ rpm/lib/rpmfc.c 1 Apr 2011 02:02:17 - 1.76 @@ -576,6 +576,9 @@ { Mono/.Net assembly,RPMFC_MONO|RPMFC_INCLUDE }, + { ruby script text, RPMFC_RUBY|RPMFC_INCLUDE }, + { Ruby script text, RPMFC_RUBY|RPMFC_INCLUDE }, + { current ar archive, RPMFC_STATIC|RPMFC_LIBRARY|RPMFC_ARCHIVE|RPMFC_INCLUDE }, { Zip archive data, RPMFC_COMPRESSED|RPMFC_ARCHIVE|RPMFC_INCLUDE }, @@ -810,6 +813,8 @@ fc-fcolor-vals[fc-ix] |= RPMFC_PYTHON; else if (!strncmp(bn, php, sizeof(php)-1)) fc-fcolor-vals[fc-ix] |= RPMFC_PHP; + else if (!strncmp(bn, ruby, sizeof(ruby)-1)) + fc-fcolor-vals[fc-ix] |= RPMFC_RUBY; break; } @@ -865,7 +870,15 @@ xx = rpmfcHelper(fc, 'P', mono); if (is_executable) xx = rpmfcHelper(fc, 'R', mono); -} +} else +if (fc-fcolor-vals[fc-ix] RPMFC_RUBY) { + xx = rpmfcHelper(fc, 'P', ruby); +#ifdef NOTYET + if (is_executable) +#endif + xx = rpmfcHelper(fc, 'R', ruby); +} else + /*@-observertrans@*/ defaultdocdir = _free(defaultdocdir) ; /*@=observertrans@*/ @@ -954,7 +967,7 @@ /*@unchecked@*/ static struct rpmfcApplyTbl_s rpmfcApplyTable[] = { { rpmfcELF, RPMFC_ELF }, -{ rpmfcSCRIPT, (RPMFC_SCRIPT|RPMFC_PERL|RPMFC_PYTHON|RPMFC_LIBTOOL|RPMFC_PKGCONFIG|RPMFC_BOURNE|RPMFC_JAVA|RPMFC_PHP|RPMFC_MONO) }, +{ rpmfcSCRIPT, (RPMFC_SCRIPT|RPMFC_PERL|RPMFC_PYTHON|RPMFC_LIBTOOL|RPMFC_PKGCONFIG|RPMFC_BOURNE|RPMFC_JAVA|RPMFC_PHP|RPMFC_MONO|RPMFC_RUBY) }, { NULL, 0 } }; /*@=nullassign@*/ @@ -1022,6 +1035,13 @@ fn += 2; if (!strncmp(fn, /python, sizeof(/python)-1)) fc-fcolor-vals[fc-ix] |= RPMFC_PYTHON; + else if (!strncmp(fn, /ruby, sizeof(/ruby)-1)) { + const char *gem = strstr(fn, specifications); + fc-fcolor-vals[fc-ix] |= RPMFC_RUBY; + if (gem (gem = strstr(gem, .gemspec)) + gem[sizeof(.gemspec)-1] == '\0') + fc-fcolor-vals[fc-ix] |= RPMFC_MODULE; + } } } @@ . patch -p0 '@@ .' Index: rpm/lib/rpmfc.h $ cvs diff -u -r1.19 -r1.20 rpmfc.h --- rpm/lib/rpmfc.h 6 Mar 2010 15:31:29 - 1.19 +++ rpm/lib/rpmfc.h 1 Apr 2011 02:02:17 - 1.20 @@ -24,7 +24,8 @@ #define RPMFC_ELF (RPMFC_ELF32|RPMFC_ELF64|RPMFC_ELFMIPSN32) /* (1 3) leaks into package headers, reserved */ - /* bits 4-7 unused */ + /* bits 4-6 unused */ +RPMFC_RUBY = (1 7), RPMFC_PKGCONFIG = (1 8), RPMFC_LIBTOOL= (1 9), RPMFC_BOURNE = (1 10), @@ . patch -p0 '@@ .' Index: rpm/macros/ruby.in $ cvs diff -u -r1.4 -r1.5 ruby.in --- rpm/macros/ruby.in18 Oct 2010
[CVS] RPM: rpm/ CHANGES rpm/macros/ python.in
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 01-Apr-2011 04:11:14 Branch: HEAD Handle: 2011040102111300 Modified files: rpm CHANGES rpm/macros python.in Log: use pythoneggs.py for python deps generated by internal generator. Summary: RevisionChanges Path 1.3590 +1 -0 rpm/CHANGES 1.7 +2 -2 rpm/macros/python.in patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3589 -r1.3590 CHANGES --- rpm/CHANGES 1 Apr 2011 02:02:17 - 1.3589 +++ rpm/CHANGES 1 Apr 2011 02:11:13 - 1.3590 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- proyvind: use pythoneggs.py for python deps generated by internal generator. - proyvind: rpmfc: enable ruby file classifier internal dep generator. - devzero2000: misread the review, repost as the original patch - devzero2000: change the order for the _initddir macro assignment @@ . patch -p0 '@@ .' Index: rpm/macros/python.in $ cvs diff -u -r1.6 -r1.7 python.in --- rpm/macros/python.in 19 Oct 2010 03:02:00 - 1.6 +++ rpm/macros/python.in 1 Apr 2011 02:11:13 - 1.7 @@ -8,8 +8,8 @@ # # Note: Used iff _use_internal_dependency_generator is non-zero. The # helpers are also used by %{_rpmhome}/rpmdeps {--provides|--requires}. -%__python_provides %{_rpmhome}/pythondeps.sh --provides -%__python_requires %{_rpmhome}/pythondeps.sh --requires +%__python_provides %{_rpmhome}/pythoneggs.py --provides +%__python_requires %{_rpmhome}/pythoneggs.py --requires # # python main version %py_ver %(echo `python -c import sys; print sys.version[:3]`) @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/tools/ dbconvert.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 30-Mar-2011 16:16:03 Branch: HEAD Handle: 2011033014160300 Modified files: rpm CHANGES rpm/tools dbconvert.c Log: fix conversion to older hash database format resulting in missing package from rpmdb Summary: RevisionChanges Path 1.3585 +2 -0 rpm/CHANGES 2.2 +13 -2 rpm/tools/dbconvert.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3584 -r1.3585 CHANGES --- rpm/CHANGES 30 Mar 2011 10:53:26 - 1.3584 +++ rpm/CHANGES 30 Mar 2011 14:16:03 - 1.3585 @@ -1,4 +1,6 @@ 5.4.0 - 5.4.1: +- proyvind: dbconvert: fix conversion to older hash database format + resulting in missing package from rpmdb - devzero2000: add %_initddir macro for Mandriva (ref http://lists.mandriva.com/maintainers/2011-03/msg00252.php) - jbj: fix: reduce false positives checking for @@ . patch -p0 '@@ .' Index: rpm/tools/dbconvert.c $ cvs diff -u -r2.1 -r2.2 dbconvert.c --- rpm/tools/dbconvert.c 27 Jan 2011 00:57:58 - 2.1 +++ rpm/tools/dbconvert.c 30 Mar 2011 14:16:03 - 2.2 @@ -151,6 +151,17 @@ int doswap = -1; float pct = 0; uint8_t tmp; + /* + * Older rpm places number of keys as first entry of hash database, + * so any package placed at beginning of it will be missing from + * rpmdb... + */ + if (dbtype == 1){ + key.data = i; + data.data = nkeys; + key.size = data.size = sizeof(uint32_t); + xx = dbiNew-dbi_db-put(dbiNew-dbi_db, NULL, key, data, 0); + } while ((xx = dbcpCur-c_get(dbcpCur, key, data, DB_NEXT)) == 0) { tmp = pct; pct = (100*(float)++i/nkeys) + 0.5; @@ -159,8 +170,8 @@ fprintf(stderr, \rconverting %s%s/Packages: %u/%u %d%%, prefix prefix[0] ? prefix : , tmppath, i, nkeys, (int)pct); } fflush(stdout); - if(!*(uint32_t*)key.data) - continue; + if(i == 1 !*(uint32_t*)key.data) + continue; if(__builtin_expect(doswap, 1) 0) { if((htole32(*(uint32_t*)key.data) 1000 swap 0) || (htole32(*(uint32_t*)key.data) 1000 swap 0)) @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/macros/ mandriva.in
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 30-Mar-2011 16:33:34 Branch: HEAD Handle: 2011033014333400 Modified files: rpm CHANGES rpm/macros mandriva.in Log: add systemd macros from Andrey Borzenkov (mdvbz#62741) Summary: RevisionChanges Path 1.3586 +2 -1 rpm/CHANGES 1.12+15 -0 rpm/macros/mandriva.in patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3585 -r1.3586 CHANGES --- rpm/CHANGES 30 Mar 2011 14:16:03 - 1.3585 +++ rpm/CHANGES 30 Mar 2011 14:33:34 - 1.3586 @@ -1,6 +1,7 @@ 5.4.0 - 5.4.1: +- proyvind: mandriva: add systemd macros (mdvbz#62741, from Andrey Borzenkov). - proyvind: dbconvert: fix conversion to older hash database format - resulting in missing package from rpmdb + resulting in missing package from rpmdb. - devzero2000: add %_initddir macro for Mandriva (ref http://lists.mandriva.com/maintainers/2011-03/msg00252.php) - jbj: fix: reduce false positives checking for @@ . patch -p0 '@@ .' Index: rpm/macros/mandriva.in $ cvs diff -u -r1.11 -r1.12 mandriva.in --- rpm/macros/mandriva.in30 Mar 2011 14:28:09 - 1.11 +++ rpm/macros/mandriva.in30 Mar 2011 14:33:34 - 1.12 @@ -73,4 +73,19 @@ %_loop_detection_loglevel 3 +# mdvbz#62741 +# standard systemd directories +%_systemdrootdir /lib/systemd +%_systemunitdir %{_systemdrootdir}/system +%_systemgeneratordir %{_systemdrootdir}/system-generators +%_systemshutdowndir %{_systemdrootdir}/system-shutdown + +%_systemddatadir %{_datadir}/systemd +%_userunitdir%{_systemddatadir}/user + +%_systemdlibexecdir %{_libexecdir}/systemd +%_usergeneratordir %{_systemdlibexecdir}/user-generators + +%_systemdconfdir %{_sysconfdir}/systemd + %{load:/etc/rpm/macros.d/*.macros} @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/macros/ macros.in
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Pinto Elia Root: /v/rpm/cvs Email: devzero2...@rpm5.org Module: rpm Date: 30-Mar-2011 18:27:07 Branch: HEAD Handle: 2011033016270601 Modified files: rpm CHANGES rpm/macros macros.in Log: change the order for the _initddir macro assignment Summary: RevisionChanges Path 1.3587 +1 -0 rpm/CHANGES 1.48+3 -3 rpm/macros/macros.in patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3586 -r1.3587 CHANGES --- rpm/CHANGES 30 Mar 2011 14:33:34 - 1.3586 +++ rpm/CHANGES 30 Mar 2011 16:27:06 - 1.3587 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- devzero2000: change the order for the _initddir macro assignment - proyvind: mandriva: add systemd macros (mdvbz#62741, from Andrey Borzenkov). - proyvind: dbconvert: fix conversion to older hash database format resulting in missing package from rpmdb. @@ . patch -p0 '@@ .' Index: rpm/macros/macros.in $ cvs diff -u -r1.47 -r1.48 macros.in --- rpm/macros/macros.in 30 Mar 2011 11:10:59 - 1.47 +++ rpm/macros/macros.in 30 Mar 2011 16:27:07 - 1.48 @@ -1,7 +1,7 @@ #/*! \page config_macros Default configuration: @USRLIBRPM@/macros # \verbatim # -# $Id: macros.in,v 1.47 2011/03/30 11:10:59 devzero2000 Exp $ +# $Id: macros.in,v 1.48 2011/03/30 16:27:07 devzero2000 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 @@ -866,9 +866,9 @@ %_mandir %{_datarootdir}/man %_localedir %{_datarootdir}/locale %_lispdir%{_datarootdir}/emacs/site-lisp -%_initddir %{_sysconfdir}/rc.d/init.d # This is a deprecated misspelling, present for backwards compatibility. -%_initrddir %{_initddir} +%_initrddir %{_sysconfdir}/rc.d/init.d +%_initddir %{_initrdir} #- # Multilibs @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Pinto Elia Root: /v/rpm/cvs Email: devzero2...@rpm5.org Module: rpm Date: 29-Mar-2011 09:58:40 Branch: HEAD Handle: 2011032907584000 Modified files: rpm CHANGES Log: Place a more precise reference to the bugs fixed Summary: RevisionChanges Path 1.3582 +1 -1 rpm/CHANGES patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3581 -r1.3582 CHANGES --- rpm/CHANGES 27 Mar 2011 21:59:14 - 1.3581 +++ rpm/CHANGES 29 Mar 2011 07:58:40 - 1.3582 @@ -1,5 +1,5 @@ 5.4.0 - 5.4.1: -- jbj: fix: reduce false positives checking for duplicate keys (#62822). +- jbj: fix: reduce false positives checking for duplicate keys (mdvbz#62822). - jbj: uuid: permit --qf '%{RPMTAG:uuid}' UUIDv1/UUIDv5 output display. - jbj: uuid: rework for single exit return. - devzero2000: add a toy trpmluaclassify.sh script @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/macros/ macros.in rpm/ rpmpopt.in
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: 24-Mar-2011 22:25:50 Branch: HEAD Handle: 2011032421254901 Modified files: rpm CHANGES rpmpopt.in rpm/macros macros.in Log: - add a --nofsync popt alias (caveat: experimental risky). Summary: RevisionChanges Path 1.3575 +1 -0 rpm/CHANGES 1.44+3 -2 rpm/macros/macros.in 2.94+4 -16 rpm/rpmpopt.in patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3574 -r1.3575 CHANGES --- rpm/CHANGES 24 Mar 2011 13:34:23 - 1.3574 +++ rpm/CHANGES 24 Mar 2011 21:25:49 - 1.3575 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- jbj: add a --nofsync popt alias (caveat: experimental risky). - devzero2000: drop borken test on change a directory with a symlink - proyvind: always run %clean so it won't be required in .spec file. - devzero2000: permit in configure phase to enable the @@ . patch -p0 '@@ .' Index: rpm/macros/macros.in $ cvs diff -u -r1.43 -r1.44 macros.in --- rpm/macros/macros.in 10 Feb 2011 21:13:06 - 1.43 +++ rpm/macros/macros.in 24 Mar 2011 21:25:50 - 1.44 @@ -1,7 +1,7 @@ #/*! \page config_macros Default configuration: @USRLIBRPM@/macros # \verbatim # -# $Id: macros.in,v 1.43 2011/02/10 21:13:06 pkarlsen Exp $ +# $Id: macros.in,v 1.44 2011/03/24 21:25:50 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 @@ -298,7 +298,8 @@ #== # Use Berkeley DB transaction logging for rpmdb ACID behavior. -%__dbi_txn create lock log mpool txn auto_commit thread thread_count=64 +# XXX the %{?__nofsync} is passed from the --nofsync popt alias on the rpm cli. +%__dbi_txn create %{?__nofsync:nofsync} lock log mpool txn auto_commit thread thread_count=64 %__dbi_other %{?_tmppath:tmpdir=%{_tmppath}} %{?__dbi_txn} @@ . patch -p0 '@@ .' Index: rpm/rpmpopt.in $ cvs diff -u -r2.93 -r2.94 rpmpopt.in --- rpm/rpmpopt.in24 Feb 2011 19:31:23 - 2.93 +++ rpm/rpmpopt.in24 Mar 2011 21:25:49 - 2.94 @@ -2,7 +2,7 @@ # \verbatim # # @USRLIBRPM@/@configure_input@ -# $Id: rpmpopt.in,v 2.93 2011/02/24 19:31:23 pkarlsen Exp $ +# $Id: rpmpopt.in,v 2.94 2011/03/24 21:25:49 jbj Exp $ # # This file *should not be modified*. Local customizations # belong in /etc/popt, not here. This file will be replaced @@ -387,6 +387,9 @@ rpm alias --rebuilddbapi --define '_dbapi_rebuild !#:+' rpm alias --rebuilddbpath--define '_dbpath_rebuild !#:+' +# permit fsync disabling of Berkeley DB (caveat: experimental risky) +rpm alias --nofsync --define '__nofsync nofsync' + #== #[--dbpath DIRECTORYuse database in DIRECTORY rpm alias --dbpath --define '_dbpath !#:+' @@ -426,21 +429,6 @@ rpm alias --arch --qf '%-34{=NAME}\t%{ARCH}\n' \ --POPTdesc=$list package architecture #== -rpmb alias --dbpath --define '_dbpath !#:+' \ - --POPTdesc=$use database in DIRECTORY \ - --POPTargs=$DIRECTORY -rpmb alias --ftpport --define '_ftpport !#:+' -rpmb alias --ftpproxy--define '_ftpproxy !#:+' -rpmb alias --httpport--define '_httpport !#:+' -rpmb alias --httpproxy --define '_httpproxy !#:+' -rpmb alias --timecheck --define '_timecheck !#:+' -rpmb alias --with--define _with_!#:+ --with-!#:+ \ - --POPTdesc=$enable configure option for build \ - --POPTargs=$option -rpmb alias --without --define _without_!#:+--without-!#:+ \ - --POPTdesc=$disable configure option for build \ - --POPTargs=$option -#== rpmbuild alias --dbpath --define '_dbpath !#:+' \ --POPTdesc=$use database in DIRECTORY \ --POPTargs=$DIRECTORY @@ .
[CVS] RPM: rpm/ CHANGES configure.ac rpm/lib/ rpmluaext.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Pinto Elia Root: /v/rpm/cvs Email: devzero2...@rpm5.org Module: rpm Date: 23-Mar-2011 16:09:33 Branch: HEAD Handle: 2011032315093201 Modified files: rpm CHANGES configure.ac rpm/lib rpmluaext.c Log: permit in configure phase to enable the --enable-rpm-lua-extensions-based-on-rpmlib used by OpenPKG today and, for rpm.vercmp, by rpm.org (ref https://blueprints.launchpad.net/rpm/+spec/rpm-split-vendor-config-in-autofu) Pm: Submitted by: Pinto Elia Summary: RevisionChanges Path 1.3572 +3 -0 rpm/CHANGES 2.479 +13 -0 rpm/configure.ac 2.9 +1 -1 rpm/lib/rpmluaext.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3571 -r1.3572 CHANGES --- rpm/CHANGES 19 Mar 2011 14:51:50 - 1.3571 +++ rpm/CHANGES 23 Mar 2011 15:09:32 - 1.3572 @@ -1,4 +1,7 @@ 5.4.0 - 5.4.1: +- devzero2000: permit in configure phase to enable the + --enable-rpm-lua-extensions-based-on-rpmlib used by OpenPKG today + and, for rpm.vercmp, by rpm.org (ref https://blueprints.launchpad.net/rpm/+spec/rpm-split-vendor-config-in-autofu) - jbj: checksig: check explictly for per-item failures after iterating. - jbj: install: check explictly for per-item failures after iterating. - jbj: rpmgi: save per-item failures separately from iteration returns. @@ . patch -p0 '@@ .' Index: rpm/configure.ac $ cvs diff -u -r2.478 -r2.479 configure.ac --- rpm/configure.ac 9 Feb 2011 14:24:23 - 2.478 +++ rpm/configure.ac 23 Mar 2011 15:09:32 - 2.479 @@ -364,6 +364,19 @@ ]) +dnl # Adds RPM Lua extensions based on rpmlib functionality +AC_ARG_ENABLE( +[rpm-lua-extensions-based-on-rpmlib], +AS_HELP_STRING([--enable-rpm-lua-extensions-based-on-rpmlib],[Adds RPM Lua extensions based on rpmlib functionality (default:no)]), +[ do_rpm_lua_extensions_based_on_rpmlib=$enableval ], +[ do_rpm_lua_extensions_based_on_rpmlib=no ]) + +AS_IF([test x$do_rpm_lua_extensions_based_on_rpmlib != xno], + [ + AC_DEFINE([RPM_LUA_EXTENSIONS_BASED_ON_RPMLIB],[1],[Adds RPM Lua extensions based on rpmlib functionality]) + ]) + + dnl # FIXME: partly Linux-specific only!? dnl # (but at least it usually doesn't harm on other platforms) CFLAGS=$CFLAGS -D_GNU_SOURCE -D_REENTRANT @@ . patch -p0 '@@ .' Index: rpm/lib/rpmluaext.c $ cvs diff -u -r2.8 -r2.9 rpmluaext.c --- rpm/lib/rpmluaext.c 26 Mar 2009 18:07:31 - 2.8 +++ rpm/lib/rpmluaext.c 23 Mar 2011 15:09:33 - 2.9 @@ -2,7 +2,7 @@ * \file lib/rpmluaext.c */ -#if defined(RPM_VENDOR_OPENPKG) /* rpm-lua-extensions-based-on-rpm-lib-functionality */ +#if defined(RPM_VENDOR_OPENPKG) || defined(RPM_LUA_EXTENSIONS_BASED_ON_RPMLIB) /* rpm-lua-extensions-based-on-rpm-lib-functionality */ #include system.h @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/build/ parseFiles.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 23-Mar-2011 21:48:41 Branch: HEAD Handle: 2011032320484000 Modified files: rpm CHANGES rpm/build parseFiles.c Log: always run %clean so it won't be required in .spec file. Summary: RevisionChanges Path 1.3573 +1 -0 rpm/CHANGES 2.37+3 -1 rpm/build/parseFiles.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3572 -r1.3573 CHANGES --- rpm/CHANGES 23 Mar 2011 15:09:32 - 1.3572 +++ rpm/CHANGES 23 Mar 2011 20:48:40 - 1.3573 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- proyvind: always run %clean so it won't be required in .spec file. - devzero2000: permit in configure phase to enable the --enable-rpm-lua-extensions-based-on-rpmlib used by OpenPKG today and, for rpm.vercmp, by rpm.org (ref https://blueprints.launchpad.net/rpm/+spec/rpm-split-vendor-config-in-autofu) @@ . patch -p0 '@@ .' Index: rpm/build/parseFiles.c $ cvs diff -u -r2.36 -r2.37 parseFiles.c --- rpm/build/parseFiles.c3 Aug 2008 14:00:58 - 2.36 +++ rpm/build/parseFiles.c23 Mar 2011 20:48:40 - 2.37 @@ -113,7 +113,9 @@ goto exit; } } -rc = nextPart; + +/* if no %clean section, add implicit */ +rc = (nextPart == PART_NONE) ? PART_CLEAN : nextPart; exit: argv = _free(argv); @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/scripts/ rubygems.rb
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 13-Mar-2011 21:08:59 Branch: HEAD Handle: 2011031320085800 Modified files: rpm CHANGES rpm/scripts rubygems.rb Log: change dependency 'ruby = ruby_version' to 'ruby(abi) = ruby_version' Summary: RevisionChanges Path 1.3570 +2 -0 rpm/CHANGES 1.7 +1 -3 rpm/scripts/rubygems.rb patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3569 -r1.3570 CHANGES --- rpm/CHANGES 11 Mar 2011 15:59:28 - 1.3569 +++ rpm/CHANGES 13 Mar 2011 20:08:58 - 1.3570 @@ -1,4 +1,6 @@ 5.4.0 - 5.4.1: +- proyvind: rubygems.rb: change dependency 'ruby = ruby_version' to + 'ruby(abi) = ruby_version' - devzero2000: document the actual semantic of rpm5 %exclude - devzero2000: flip a toy test from the %exclude and check unpackaged file issue - proyvind: check whether provides are duplicate of package first (without @@ . patch -p0 '@@ .' Index: rpm/scripts/rubygems.rb $ cvs diff -u -r1.6 -r1.7 rubygems.rb --- rpm/scripts/rubygems.rb 13 Dec 2010 15:54:27 - 1.6 +++ rpm/scripts/rubygems.rb 13 Mar 2011 20:08:58 - 1.7 @@ -61,9 +61,7 @@ end end -# TODO: Should we add a strict dependency on ruby version here? -#print ruby %s%s\n % [Config::CONFIG[ruby_version][0..-2], Config::CONFIG[ruby_version][-1..-1].to_i + 1] -print ruby = %s\n % Config::CONFIG[ruby_version] +print ruby(abi) = %s\n % Config::CONFIG[ruby_version] end for gem in gems @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/doc/manual/ spec
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Pinto Elia Root: /v/rpm/cvs Email: devzero2...@rpm5.org Module: rpm Date: 11-Mar-2011 16:59:29 Branch: HEAD Handle: 2011031115592801 Modified files: rpm CHANGES rpm/doc/manual spec Log: document the actual semantic of rpm5 %exclude: for review Summary: RevisionChanges Path 1.3569 +1 -0 rpm/CHANGES 1.8 +9 -0 rpm/doc/manual/spec patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3568 -r1.3569 CHANGES --- rpm/CHANGES 9 Mar 2011 15:45:30 - 1.3568 +++ rpm/CHANGES 11 Mar 2011 15:59:28 - 1.3569 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- devzero2000: document the actual semantic of rpm5 %exclude - devzero2000: flip a toy test from the %exclude and check unpackaged file issue - proyvind: check whether provides are duplicate of package first (without distepoch), also ensures that package is always at end of %provideversion. @@ . patch -p0 '@@ .' Index: rpm/doc/manual/spec $ cvs diff -u -r1.7 -r1.8 spec --- rpm/doc/manual/spec 18 Feb 2008 00:40:45 - 1.7 +++ rpm/doc/manual/spec 11 Mar 2011 15:59:29 - 1.8 @@ -97,6 +97,15 @@ removed when this package is removed. This file is not required to exist at either install or uninstall time. +The %exclude subdirective permit to exclude files and directories +from inclusion in a package (i.e. everything but). Its primary use +is to simplify the writing the list of objects in %files when +using subpackage. Note that %exclude is different from a ipotetical +%ignore subattribute: it is always required that the file(s) excluded +but present in buildroot are referenced in some else subpackage %files +section: if this is not what you want then they should be eliminated +from the buildroot in %install. + The %config(noreplace) indicates that the file in the package should be installed with extension .rpmnew if there is already a modified file with the same name on the installed machine. @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpmpopt.in
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 24-Feb-2011 20:31:24 Branch: HEAD Handle: 2011022419312300 Modified files: rpm CHANGES rpmpopt.in Log: use expanded %{___NVRA} for 'rpm --last'. Summary: RevisionChanges Path 1.3564 +1 -0 rpm/CHANGES 2.93+2 -2 rpm/rpmpopt.in patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3563 -r1.3564 CHANGES --- rpm/CHANGES 16 Feb 2011 18:41:08 - 1.3563 +++ rpm/CHANGES 24 Feb 2011 19:31:23 - 1.3564 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- proyvind: use expanded %{___NVRA} for 'rpm --last'. - proyvind: set mi-mi_count in rpmmiCount() when db cursor exists rather than always doing it in rpmmiNext() - proyvind: set mi-mi_count when rpmmiNext() initializes db cursor so that @@ . patch -p0 '@@ .' Index: rpm/rpmpopt.in $ cvs diff -u -r2.92 -r2.93 rpmpopt.in --- rpm/rpmpopt.in14 Oct 2010 09:43:37 - 2.92 +++ rpm/rpmpopt.in24 Feb 2011 19:31:23 - 2.93 @@ -2,7 +2,7 @@ # \verbatim # # @USRLIBRPM@/@configure_input@ -# $Id: rpmpopt.in,v 2.92 2010/10/14 09:43:37 devzero2000 Exp $ +# $Id: rpmpopt.in,v 2.93 2011/02/24 19:31:23 pkarlsen Exp $ # # This file *should not be modified*. Local customizations # belong in /etc/popt, not here. This file will be replaced @@ -309,7 +309,7 @@ rpm alias --triggers --triggerscripts \ --POPTdesc=$list trigger scriptlets from package(s) -rpm alias --last --qf '%|INSTALLTIME?{%{INSTALLTIME}}:{0}| %{NAME}-%{VERSION}-%{RELEASE} %|INSTALLTIME?{%{INSTALLTIME:date}}:{(not installed)}|\n' \ +rpm alias --last --qf '%|INSTALLTIME?{%{INSTALLTIME}}:{0}| %{NAME}-%{VERSION}-%{RELEASE}%|DISTTAG?{-%{DISTTAG}%|DISTEPOCH?{%{DISTEPOCH}}|}|%|ARCH?{.%|SOURCERPM?{%{ARCH}}:{src}|}:{}| %|INSTALLTIME?{%{INSTALLTIME:date}}:{(not installed)}|\n' \ --pipe sort -r -n | sed 's,^[0-9]\+ ,,' | awk '{printf(\%-45s %-s\n\, $1, substr($0,length($1)+2))}' \ --POPTdesc=$list package(s) by install time, most recent first @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/rpmdb/ rpmdb.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 14-Feb-2011 02:53:34 Branch: HEAD Handle: 2011021401533300 Modified files: rpm CHANGES rpm/rpmdb rpmdb.c Log: set mi-mi_count when rpmmiNext() initializes db cursor so that rpmmiCount() won't break (mdvbz#62267) Summary: RevisionChanges Path 1.3562 +2 -0 rpm/CHANGES 1.398 +3 -0 rpm/rpmdb/rpmdb.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3561 -r1.3562 CHANGES --- rpm/CHANGES 12 Feb 2011 23:11:31 - 1.3561 +++ rpm/CHANGES 14 Feb 2011 01:53:33 - 1.3562 @@ -1,4 +1,6 @@ 5.4.0 - 5.4.1: +- proyvind: set mi-mi_count when rpmmiNext() initializes db cursor so that + rpmmiCount() won't break (mdvbz#62267) - proyvind: fix rpmmiCount() not resetting db cursor after use, breaking iterator (mdvbz#62279) - devzero2000: update INSTALL.developer with some jbj consideration @@ . patch -p0 '@@ .' Index: rpm/rpmdb/rpmdb.c $ cvs diff -u -r1.397 -r1.398 rpmdb.c --- rpm/rpmdb/rpmdb.c 12 Feb 2011 23:07:28 - 1.397 +++ rpm/rpmdb/rpmdb.c 14 Feb 2011 01:53:33 - 1.398 @@ -2155,6 +2155,9 @@ if (k.data k.size == 0) k.size = (UINT32_T) strlen((char *)k.data); if (k.data k.size == 0) k.size++; /* XXX / fixup. */ _flags = DB_SET; + if (!dbiGet(dbi, mi-mi_dbc, k, v, _flags)) + xx = dbiCount(dbi, mi-mi_dbc, mi-mi_count, 0); + } else _flags = (mi-mi_setx ? DB_NEXT_DUP : DB_SET); @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/rpmdb/ rpmdb.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 13-Feb-2011 00:07:28 Branch: HEAD Handle: 2011021223072800 Modified files: rpm CHANGES rpm/rpmdb rpmdb.c Log: fix rpmmiCount() not resetting db cursor after use, breaking iterator (mdvbz#62279) Summary: RevisionChanges Path 1.3560 +2 -0 rpm/CHANGES 1.397 +1 -0 rpm/rpmdb/rpmdb.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3559 -r1.3560 CHANGES --- rpm/CHANGES 11 Feb 2011 15:31:15 - 1.3559 +++ rpm/CHANGES 12 Feb 2011 23:07:28 - 1.3560 @@ -1,4 +1,6 @@ 5.4.0 - 5.4.1: +- fix rpmmiCount() not resetting db cursor after use, breaking iterator + (mdvbz#62279) - devzero2000: update INSTALL.developer with some jbj consideration on how to use multiple rpm version. - devzero2000: permit in configure phase to enable the @@ . patch -p0 '@@ .' Index: rpm/rpmdb/rpmdb.c $ cvs diff -u -r1.396 -r1.397 rpmdb.c --- rpm/rpmdb/rpmdb.c 1 Jan 2011 14:39:19 - 1.396 +++ rpm/rpmdb/rpmdb.c 12 Feb 2011 23:07:28 - 1.397 @@ -1646,6 +1646,7 @@ if (k.data k.size == 0) k.size++; /* XXX / fixup. */ if (!dbiGet(dbi, mi-mi_dbc, k, v, DB_SET)) xx = dbiCount(dbi, mi-mi_dbc, mi-mi_count, 0); + mi-mi_dbc = NULL; } rc = (mi ? mi-mi_count : 0); @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 13-Feb-2011 00:11:31 Branch: HEAD Handle: 2011021223113100 Modified files: rpm CHANGES Log: prefix last change with author Summary: RevisionChanges Path 1.3561 +2 -2 rpm/CHANGES patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3560 -r1.3561 CHANGES --- rpm/CHANGES 12 Feb 2011 23:07:28 - 1.3560 +++ rpm/CHANGES 12 Feb 2011 23:11:31 - 1.3561 @@ -1,6 +1,6 @@ 5.4.0 - 5.4.1: -- fix rpmmiCount() not resetting db cursor after use, breaking iterator - (mdvbz#62279) +- proyvind: fix rpmmiCount() not resetting db cursor after use, breaking + iterator (mdvbz#62279) - devzero2000: update INSTALL.developer with some jbj consideration on how to use multiple rpm version. - devzero2000: permit in configure phase to enable the @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES INSTALL.developer
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Pinto Elia Root: /v/rpm/cvs Email: devzero2...@rpm5.org Module: rpm Date: 11-Feb-2011 16:31:15 Branch: HEAD Handle: 2011021115311500 Modified files: rpm CHANGES INSTALL.developer Log: update INSTALL.developer with some jbj consideration on how to use multiple rpm version Summary: RevisionChanges Path 1.3559 +2 -0 rpm/CHANGES 1.2 +59 -0 rpm/INSTALL.developer patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3558 -r1.3559 CHANGES --- rpm/CHANGES 9 Feb 2011 14:24:22 - 1.3558 +++ rpm/CHANGES 11 Feb 2011 15:31:15 - 1.3559 @@ -1,4 +1,6 @@ 5.4.0 - 5.4.1: +- devzero2000: update INSTALL.developer with some jbj consideration + on how to use multiple rpm version. - devzero2000: permit in configure phase to enable the optional-dirname-and-symlink-deps used by Mandriva and Ark today (ref https://blueprints.launchpad.net/rpm/+spec/rpm-split-vendor-config-in-autofu) @@ . patch -p0 '@@ .' Index: rpm/INSTALL.developer $ cvs diff -u -r1.1 -r1.2 INSTALL.developer --- rpm/INSTALL.developer 24 Sep 2009 12:21:47 - 1.1 +++ rpm/INSTALL.developer 11 Feb 2011 15:31:15 - 1.2 @@ -87,3 +87,62 @@ you *know* is present cannot be found, well, examine the libfoo.vers loader map. Alternatively, just disable loader maps using AutoFu. + + ** + +HOWTO use multiple version of rpm + +I tend to have multiple versions of both rpm and distro +packaging lying around always, and need to flip between +versions/distros at a dead-run. + +So I work in tree's like /X, /Y, /Z. + +I have private configuration as (say) /X/macros: + +%_topdir/X +%_ntopdir %{_topdir}/%{name} +%_builddir %{_ntopdir} +%_sourcedir %{_ntopdir} +%_specdir %{_ntopdir} +%_rpmdir%{_ntopdir} +%_srcrpmdir %{_ntopdir} +%_rpmfilename %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm + +%_tmppath %{_topdir}/tmp + + +I have a wrapper in ~/bin/xxxrpm to reconfigure: + +#!/bin/sh + +macros=/usr/lib/rpm/macros:/usr/lib/rpm/%{_target}/macros:/etc/rpm/macros.specspo:/etc/rpm/macros.sqlite:/etc/rpm/macros.cdb:/etc/rpm/macros:/etc/rpm/%{_target}/macros:~/.rpmmacros:/X/macros + +case $1 in +-b*)rpm=/usr/bin/rpmbuild;; +*) rpm=/usr/bin/rpm;; +esac + +exec $vg $rpm --macros ${macros} $* + + +When I need to use a different version of rpm, or +add valgrind/time/strace/whatever, I edit the ~/bin/xxxrpm wrapper. +Similarly if/when I need to adjust to different macros to +be loaded, I edit the macros path. + +In each tree, packages are installed/built into /X/%{name}. + +So my packaging workflow goes something like: + + xxxrpm -i foo*.src.rpm + cd /X/foo + xxxrpm -ba foo.spec + rpm -Uvh *.i386.rpm + cd .. + rm -rf foo + +I find having everything in one directory far more +convenient than having to chdir all over the place +just to build a package. + @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES configure.ac rpm/lib/ depends.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Pinto Elia Root: /v/rpm/cvs Email: devzero2...@rpm5.org Module: rpm Date: 09-Feb-2011 15:24:23 Branch: HEAD Handle: 2011020914242201 Modified files: rpm CHANGES configure.ac rpm/lib depends.c Log: permit in configure phase to enable the optional-dirname-and-symlink-deps used by Mandriva and Ark today (ref https://blueprints.launchpad.net/rpm/+spec/rpm-split-vendor-config-in-autofu) If approved it is possible to drop the ifdef RPM_VENDOR_ for the optional-dirname-and-symlink-deps and use this for some distro not originally rpm based and also for some rpm distros that have some packaging problem in this area. BTW, it is necessary document better these rpm5 feature. TODO++ Summary: RevisionChanges Path 1.3558 +3 -0 rpm/CHANGES 2.478 +13 -0 rpm/configure.ac 1.466 +4 -4 rpm/lib/depends.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3557 -r1.3558 CHANGES --- rpm/CHANGES 27 Jan 2011 18:24:41 - 1.3557 +++ rpm/CHANGES 9 Feb 2011 14:24:22 - 1.3558 @@ -1,4 +1,7 @@ 5.4.0 - 5.4.1: +- devzero2000: permit in configure phase to enable the + optional-dirname-and-symlink-deps used by Mandriva and Ark today + (ref https://blueprints.launchpad.net/rpm/+spec/rpm-split-vendor-config-in-autofu) - proyvind: python: export rpmEVRparse() rpmEVRcompare() in evrSplit() evrCompare(). - proyvind: fix return code for ignored signals breaking ie. rpmbuild with @@ . patch -p0 '@@ .' Index: rpm/configure.ac $ cvs diff -u -r2.477 -r2.478 configure.ac --- rpm/configure.ac 9 Jan 2011 03:52:23 - 2.477 +++ rpm/configure.ac 9 Feb 2011 14:24:23 - 2.478 @@ -351,6 +351,19 @@ [ENABLE_BUILD_LAFILES], [test .$do_build_lafiles = .yes]) +dnl # optional sysmlink and parentdir dependency +AC_ARG_ENABLE( +[dirname-and-symlink-deps], +AS_HELP_STRING([--disable-dirname-and-symlink-deps],[permit to disable via macro the automatic dirname and symlink dependecy]), +[ do_optional_dirname_and_symlink_deps=$enableval ], +[ do_optional_dirname_and_symlink_deps=yes ]) + +AS_IF([test x$do_optional_dirname_and_symlink_deps != xyes], + [ + AC_DEFINE([RPM_OPTIONAL_DIRNAME_AND_SYMLINK_DEPS],[1],[permit to disable via macro the automatic dirname and symlink dependecy]) + ]) + + dnl # FIXME: partly Linux-specific only!? dnl # (but at least it usually doesn't harm on other platforms) CFLAGS=$CFLAGS -D_GNU_SOURCE -D_REENTRANT @@ . patch -p0 '@@ .' Index: rpm/lib/depends.c $ cvs diff -u -r1.465 -r1.466 depends.c --- rpm/lib/depends.c 8 Jan 2011 23:07:11 - 1.465 +++ rpm/lib/depends.c 9 Feb 2011 14:24:23 - 1.466 @@ -1567,7 +1567,7 @@ int terminate = 2; /* XXX terminate if rc = terminate */ int rc; int ourrc = 0; -#if defined(RPM_VENDOR_MANDRIVA) || defined(RPM_VENDOR_ARK) /* optional-dirname-and-symlink-deps */ +#if defined(RPM_VENDOR_MANDRIVA) || defined(RPM_VENDOR_ARK) || defined(RPM_OPTIONAL_DIRNAME_AND_SYMLINK_DEPS) /* optional-dirname-and-symlink-deps */ int dirname_deps; int symlink_deps; #endif @@ -1646,7 +1646,7 @@ } } -#if defined(RPM_VENDOR_MANDRIVA) || defined(RPM_VENDOR_ARK) /* optional-dirname-and-symlink-deps */ +#if defined(RPM_VENDOR_MANDRIVA) || defined(RPM_VENDOR_ARK) || defined(RPM_OPTIONAL_DIRNAME_AND_SYMLINK_DEPS) /* optional-dirname-and-symlink-deps */ dirname_deps = rpmExpandNumeric(%{?_check_dirname_deps}%{?!_check_dirname_deps:1}); if (dirname_deps) { #endif @@ -1690,7 +1690,7 @@ /*@switchbreak@*/ break; } } -#if defined(RPM_VENDOR_MANDRIVA) || defined(RPM_VENDOR_ARK) /* optional-dirname-and-symlink-deps */ +#if defined(RPM_VENDOR_MANDRIVA) || defined(RPM_VENDOR_ARK) || defined(RPM_OPTIONAL_DIRNAME_AND_SYMLINK_DEPS) /* optional-dirname-and-symlink-deps */ } symlink_deps = rpmExpandNumeric(%{?_check_symlink_deps}%{?!_check_symlink_deps:1}); @@ -1738,7 +1738,7 @@ /*@switchbreak@*/ break; } } -#if defined(RPM_VENDOR_MANDRIVA) || defined(RPM_VENDOR_ARK) /*
[CVS] RPM: rpm/ CHANGES rpm/rpmio/ rpmsq.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 27-Jan-2011 18:29:00 Branch: HEAD Handle: 2011012717285703 Modified files: rpm CHANGES rpm/rpmio rpmsq.c Log: fix return code for ignored signals breaking ie. rpmbuild with gnome-terminal (mdvbz#62262) Summary: RevisionChanges Path 1.3556 +2 -0 rpm/CHANGES 1.43+1 -1 rpm/rpmio/rpmsq.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3555 -r1.3556 CHANGES --- rpm/CHANGES 27 Jan 2011 00:58:02 - 1.3555 +++ rpm/CHANGES 27 Jan 2011 17:28:57 - 1.3556 @@ -1,4 +1,6 @@ 5.4.0 - 5.4.1: +- proyvind: fix return code for ignored signals breaking ie. rpmbuild with + gnome-terminal (mdvbz#62262) - proyvind: add tools/dbconvert for rpmdb conversion to/from hash/btree little/big endian (to handle upgrade/downgrade to/from older rpm versions) - jbj: remove fsync(2) after file install, its intolerably slow. @@ . patch -p0 '@@ .' Index: rpm/rpmio/rpmsq.c $ cvs diff -u -r1.42 -r1.43 rpmsq.c --- rpm/rpmio/rpmsq.c 7 Mar 2009 13:38:10 - 1.42 +++ rpm/rpmio/rpmsq.c 27 Jan 2011 17:29:00 - 1.43 @@ -291,7 +291,7 @@ int rpmsqInsert(void * elem, void * prev) { rpmsq sq = (rpmsq) elem; -int ret = -1; +int ret = (signum = 0 ? 1 : 0); if (sq != NULL) { #ifdef _RPMSQ_DEBUG @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/python/ header-py.c header-py.h rpmmodule....
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 27-Jan-2011 19:24:42 Branch: HEAD Handle: 2011012718244100 Modified files: rpm CHANGES rpm/python header-py.c header-py.h rpmmodule.c Log: python: export rpmEVRparse() rpmEVRcompare() in evrSplit() evrcompare() Summary: RevisionChanges Path 1.3557 +2 -0 rpm/CHANGES 1.113 +38 -0 rpm/python/header-py.c 1.19+10 -0 rpm/python/header-py.h 1.181 +4 -0 rpm/python/rpmmodule.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3556 -r1.3557 CHANGES --- rpm/CHANGES 27 Jan 2011 17:28:57 - 1.3556 +++ rpm/CHANGES 27 Jan 2011 18:24:41 - 1.3557 @@ -1,4 +1,6 @@ 5.4.0 - 5.4.1: +- proyvind: python: export rpmEVRparse() rpmEVRcompare() in evrSplit() + evrCompare(). - proyvind: fix return code for ignored signals breaking ie. rpmbuild with gnome-terminal (mdvbz#62262) - proyvind: add tools/dbconvert for rpmdb conversion to/from hash/btree @@ . patch -p0 '@@ .' Index: rpm/python/header-py.c $ cvs diff -u -r1.112 -r1.113 header-py.c --- rpm/python/header-py.c27 Jan 2011 18:16:24 - 1.112 +++ rpm/python/header-py.c27 Jan 2011 18:24:41 - 1.113 @@ -968,3 +968,41 @@ return Py_BuildValue(i, rc); } + +PyObject * evrCompare (PyObject * self, PyObject * args, + PyObject * kwds) +{ +EVR_t lEVR = rpmEVRnew(RPMSENSE_EQUAL, 0), + rEVR = rpmEVRnew(RPMSENSE_EQUAL, 0); +int rc; +char * evr1, * evr2; +char * kwlist[] = {evr0, evr1, NULL}; + +if (!PyArg_ParseTupleAndKeywords(args, kwds, ss, kwlist, evr1, evr2)) + return NULL; + +rpmEVRparse(evr1, lEVR); +rpmEVRparse(evr2, rEVR); +rc = rpmEVRcompare(lEVR, rEVR); +lEVR = rpmEVRfree(lEVR); +rEVR = rpmEVRfree(rEVR); + +return PyLong_FromLong(rc); +} + +PyObject * evrSplit (PyObject * self, PyObject * args, PyObject * kwds) +{ +EVR_t EVR = rpmEVRnew(RPMSENSE_EQUAL, 0); +char * evr; +char * kwlist[] = {evr, NULL}; +PyObject * tuple; + +if (!PyArg_ParseTupleAndKeywords(args, kwds, s, kwlist, evr)) + return NULL; + +rpmEVRparse(evr, EVR); +tuple = Py_BuildValue((Isss), EVR-F[RPMEVR_E] ? atoi(EVR-F[RPMEVR_E]) : 0, EVR-F[RPMEVR_V], EVR-F[RPMEVR_R], EVR-F[RPMEVR_D]); +EVR = rpmEVRfree(EVR); + +return tuple; +} @@ . patch -p0 '@@ .' Index: rpm/python/header-py.h $ cvs diff -u -r1.18 -r1.19 header-py.h --- rpm/python/header-py.h8 Dec 2008 01:20:02 - 1.18 +++ rpm/python/header-py.h27 Jan 2011 18:24:41 - 1.19 @@ -42,6 +42,16 @@ /** \ingroup py_c */ +PyObject * evrSplit (PyObject * self, PyObject * args, PyObject * kwds) + /*@*/; + +/** \ingroup py_c + */ +PyObject * evrCompare (PyObject * self, PyObject * args, PyObject * kwds) + /*@*/; + +/** \ingroup py_c + */ PyObject * labelCompare (PyObject * self, PyObject * args) /*@*/; @@ . patch -p0 '@@ .' Index: rpm/python/rpmmodule.c $ cvs diff -u -r1.180 -r1.181 rpmmodule.c --- rpm/python/rpmmodule.c1 Dec 2010 16:46:03 - 1.180 +++ rpm/python/rpmmodule.c27 Jan 2011 18:24:41 - 1.181 @@ -256,6 +256,10 @@ NULL }, { labelCompare, (PyCFunction) labelCompare, METH_VARARGS|METH_KEYWORDS, NULL }, +{ evrCompare, (PyCFunction) evrCompare, METH_VARARGS|METH_KEYWORDS, + NULL }, +{ evrSplit, (PyCFunction) evrSplit, METH_VARARGS|METH_KEYWORDS, + NULL }, { setVerbosity, (PyCFunction) setVerbosity, METH_VARARGS|METH_KEYWORDS, NULL }, { setEpochPromote, (PyCFunction) setEpochPromote, METH_VARARGS|METH_KEYWORDS, @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/tools/ Makefile.am dbconvert.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 27-Jan-2011 01:58:08 Branch: HEAD Handle: 2011012700575804 Added files: rpm/tools dbconvert.c Modified files: rpm CHANGES rpm/tools Makefile.am Log: add tools/dbconvert for rpmdb conversion to/from hash/btree little/big endian (to handle upgrade/downgrade to/from older rpm versions) Summary: RevisionChanges Path 1.3555 +2 -0 rpm/CHANGES 2.171 +5 -1 rpm/tools/Makefile.am 2.1 +399 -0 rpm/tools/dbconvert.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3554 -r1.3555 CHANGES --- rpm/CHANGES 24 Jan 2011 15:51:01 - 1.3554 +++ rpm/CHANGES 27 Jan 2011 00:58:02 - 1.3555 @@ -1,4 +1,6 @@ 5.4.0 - 5.4.1: +- proyvind: add tools/dbconvert for rpmdb conversion to/from hash/btree + little/big endian (to handle upgrade/downgrade to/from older rpm versions) - jbj: remove fsync(2) after file install, its intolerably slow. - jbj: simplify the lookup3.c valgrind logic. - devzero2000: merge Suse patch. Set %_specfile macro in the build so that people can @@ . patch -p0 '@@ .' Index: rpm/tools/Makefile.am $ cvs diff -u -r2.170 -r2.171 Makefile.am --- rpm/tools/Makefile.am 18 Oct 2010 04:21:20 - 2.170 +++ rpm/tools/Makefile.am 27 Jan 2011 00:58:02 - 2.171 @@ -24,7 +24,7 @@ EXTRA_DIST = hashtab.h bsdiff.1 bspatch.1 dotgraph.hh -EXTRA_PROGRAMS = augtool cudftool debugedit grep \ +EXTRA_PROGRAMS = augtool cudftool dbconvert debugedit grep \ nix-build nix-channel nix-collect-garbage nix-copy-closure \ nix-env nix-hash nix-install-package nix-instantiate \ nix-log2xml nix-prefetch-url nix-pull nix-push nix-store nix-worker \ @@ -78,6 +78,10 @@ cudftool_LDFLAGS = @LDFLAGS_STATIC@ $(LDFLAGS) $(shell pkg-config --libs glib-2.0) cudftool_LDADD = $(RPMIO_LDADD_COMMON) +dbconvert_SOURCES = dbconvert.c +dbconvert_LDFLAGS = @LDFLAGS_STATIC@ $(LDFLAGS) +dbconvert_LDADD =$(RPMIO_LDADD_COMMON) + debugedit_SOURCES = debugedit.c hashtab.c debugedit_LDFLAGS = @LDFLAGS_STATIC@ $(LDFLAGS) debugedit_LDADD =$(RPM_LDADD_COMMON) @@ . patch -p0 '@@ .' Index: rpm/tools/dbconvert.c $ cvs diff -u -r0 -r2.1 dbconvert.c --- /dev/null 2011-01-27 01:55:07.0 +0100 +++ dbconvert.c 2011-01-27 01:58:02.401761926 +0100 @@ -0,0 +1,399 @@ +#include fcntl.h +#include libintl.h +#include glob.h +#include errno.h +#include stdint.h + +#include popt.h + +#define _RPMDB_INTERNAL +#define _RPMTAG_INTERNAL +#define WITH_DB + +#include argv.h +#include rpmio.h +#include rpmtag.h +#include rpmdb.h +#include rpmmacro.h +#include rpmts.h +#include rpmlog.h + +#if BYTE_ORDER == LITTLE_ENDIAN +#define bswap32(x) htobe32(x) +#elif __BYTE_ORDER == BIG_ENDIAN +#define bswap32(x) htole32(x) +#endif + +static int disable_fsync(int arg) { +return 0; +} +static int +bdb_log_archive(DB_ENV *dbenv, char ***list, uint32_t flags) { + int ret; + if ((ret = dbenv-log_archive(dbenv, list, flags)) != 0) +dbenv-err(dbenv, ret, DB_ENV-log_archive); + return ret; +} + +static int +bdb_log_lsn_reset(DB_ENV *dbenv) { + int ret = 0; + char **list = NULL; + /* Reset log sequence numbers to allow for moving to new environment */ + if(!(ret = dbenv-log_archive(dbenv, list, DB_ARCH_DATA|DB_ARCH_ABS))) { +char **p = list; +for(; *p; p++) + if(!ret) + ret = dbenv-lsn_reset(dbenv, *p, 0); +_free(list); + } + return ret; +} + +static int +rpmdb_convert(const char *prefix, int dbtype, int swap, int rebuild) { + rpmts tsCur = NULL; + int xx, i; + const char *dbpath = NULL; + const char *__dbi_txn = NULL; + const char *_dbi_tags = NULL; + const char *_dbi_config = NULL; + const char *_dbi_config_Packages = NULL; + const char *fn = NULL; + const char *tmppath = NULL; + glob_t gl = { .gl_pathc = 0, .gl_pathv = NULL, .gl_offs = 0 }; + unsetenv(TMPDIR); + rpmReadConfigFiles(NULL, NULL); + + dbpath = rpmExpand(%{?_dbpath}, NULL); + __dbi_txn = rpmExpand(%{__dbi_txn}, NULL); +
[CVS] RPM: rpm/ CHANGES rpm/rpmio/ lookup3.c
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: 24-Jan-2011 16:39:04 Branch: HEAD Handle: 2011012415390301 Modified files: rpm CHANGES rpm/rpmio lookup3.c Log: - simplify the lookup3.c valgrind logic. Summary: RevisionChanges Path 1.3553 +1 -0 rpm/CHANGES 1.10+16 -36 rpm/rpmio/lookup3.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3552 -r1.3553 CHANGES --- rpm/CHANGES 20 Jan 2011 10:51:47 - 1.3552 +++ rpm/CHANGES 24 Jan 2011 15:39:03 - 1.3553 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- jbj: simplify the lookup3.c valgrind logic. - devzero2000: merge Suse patch. Set %_specfile macro in the build so that people can do specfile manipulation/data extraction in the build. - proyvind: rpmdb: set and create default log directory so that it doesn't @@ . patch -p0 '@@ .' Index: rpm/rpmio/lookup3.c $ cvs diff -u -r1.9 -r1.10 lookup3.c --- rpm/rpmio/lookup3.c 8 Jan 2011 20:21:17 - 1.9 +++ rpm/rpmio/lookup3.c 24 Jan 2011 15:39:04 - 1.10 @@ -38,9 +38,8 @@ #include rpmiotypes.h #include debug.h +#undef UNLIKELY #ifdef WITH_VALGRIND -/* If we're using GCC, use __builtin_expect() to reduce overhead of - the valgrind checks */ #if defined(__GNUC__) (__GNUC__ 2) defined(__OPTIMIZE__) # define UNLIKELY(value) __builtin_expect((value), 0) (value 0 || (value = RUNNING_ON_VALGRIND)) #else @@ -266,9 +265,6 @@ u.ptr = key; if (HASH_LITTLE_ENDIAN ((u.i 0x3) == 0)) { const rpmuint32_t *k = (const rpmuint32_t *)key;/* read 32-bit chunks */ -#ifdef WITH_VALGRIND - const rpmuint8_t *k8; -#endif /*-- all but last block: aligned reads and affect 32 bits of (a,b,c) */ while (size 12) { @@ -291,10 +287,9 @@ * noticably faster for short strings (like English words). */ #ifdef WITH_VALGRIND - if(UNLIKELY(_running_on_valgrind)) { - /* make valgrind happy */ + if (UNLIKELY(_running_on_valgrind)) { + const rpmuint8_t * k8 = (const rpmuint8_t *)k; - k8 = (const rpmuint8_t *)k; switch (size) { case 12:c += k[2]; b+=k[1]; a+=k[0];break; case 11:c += ((rpmuint32_t)k8[10])16; /*@fallthrough@*/ @@ -311,8 +306,9 @@ case 0:goto exit; } - } else { + } else #endif + { switch (size) { case 12:c += k[2]; b+=k[1]; a+=k[0]; break; case 11:c += k[2]0xff; b+=k[1]; a+=k[0]; break; @@ -328,10 +324,7 @@ case 1:a += k[0]0xff; break; case 0:goto exit; } -#ifdef WITH_VALGRIND - } -#endif /* !valgrind */ - + } } else if (HASH_LITTLE_ENDIAN ((u.i 0x1) == 0)) { const rpmuint16_t *k = (const rpmuint16_t *)key;/* read 16-bit chunks */ const rpmuint8_t *k8; @@ -479,9 +472,6 @@ u.ptr = key; if (HASH_LITTLE_ENDIAN ((u.i 0x3) == 0)) { const rpmuint32_t *k = (const rpmuint32_t *)key;/* read 32-bit chunks */ -#ifdef WITH_VALGRIND - const rpmuint8_t *k8; -#endif /*-- all but last block: aligned reads and affect 32 bits of (a,b,c) */ while (size 12) { @@ -503,10 +493,9 @@ * noticably faster for short strings (like English words). */ #ifdef WITH_VALGRIND - if(UNLIKELY(_running_on_valgrind)) { - /* make valgrind happy */ + if (UNLIKELY(_running_on_valgrind)) { + const rpmuint8_t * k8 = (const rpmuint8_t *)k; - k8 = (const rpmuint8_t *)k; switch (size) { case 12:c += k[2]; b+=k[1]; a+=k[0];break; case 11:c += ((rpmuint32_t)k8[10])16; /*@fallthrough@*/ @@ -523,8 +512,9 @@ case 0:goto exit; } - } else { + } else #endif + { switch (size) { case 12:c += k[2]; b+=k[1]; a+=k[0]; break; case 11:c += k[2]0xff; b+=k[1]; a+=k[0]; break; @@ -540,11 +530,7 @@ case 1:a += k[0]0xff; break; case 0:goto exit; } - -#ifdef WITH_VALGRIND - } -#endif /* !valgrind */ - + } } else if
[CVS] RPM: rpm/ CHANGES rpm/lib/ fsm.c
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: 24-Jan-2011 16:51:04 Branch: HEAD Handle: 2011012415510103 Modified files: rpm CHANGES rpm/lib fsm.c Log: - remove fsync(2) after file install, its intolerably slow. Summary: RevisionChanges Path 1.3554 +1 -0 rpm/CHANGES 2.194 +10 -0 rpm/lib/fsm.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3553 -r1.3554 CHANGES --- rpm/CHANGES 24 Jan 2011 15:39:03 - 1.3553 +++ rpm/CHANGES 24 Jan 2011 15:51:01 - 1.3554 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- jbj: remove fsync(2) after file install, its intolerably slow. - jbj: simplify the lookup3.c valgrind logic. - devzero2000: merge Suse patch. Set %_specfile macro in the build so that people can do specfile manipulation/data extraction in the build. @@ . patch -p0 '@@ .' Index: rpm/lib/fsm.c $ cvs diff -u -r2.193 -r2.194 fsm.c --- rpm/lib/fsm.c 10 Dec 2009 18:52:18 - 2.193 +++ rpm/lib/fsm.c 24 Jan 2011 15:51:04 - 2.194 @@ -1017,7 +1017,17 @@ (void) fsmNext(fsm, IOSM_NOTIFY); } +#ifdef DYING +/* Measurements from installing kernel-source package: + * +fsync + * total: 1 0.00 MB640.854524 secs + * +fdatasync + * total: 1 0.00 MB419.983200 secs + * w/o fsync/fdsatasync: + * total: 1 0.00 MB 12.492918 secs + */ xx = fsync(Fileno(fsm-wfd)); +#endif if (st-st_size 0 (fsm-fdigest || fsm-digest)) { void * digest = NULL; @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/build/ parseSpec.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Pinto Elia Root: /v/rpm/cvs Email: devzero2...@rpm5.org Module: rpm Date: 20-Jan-2011 11:51:49 Branch: HEAD Handle: 2011012010514701 Modified files: rpm CHANGES rpm/build parseSpec.c Log: merge Suse patch. Set %_specfile macro in the build so that people can do specfile manipulation/data extraction in the build. Summary: RevisionChanges Path 1.3552 +2 -0 rpm/CHANGES 2.145 +1 -0 rpm/build/parseSpec.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3551 -r1.3552 CHANGES --- rpm/CHANGES 13 Jan 2011 06:39:03 - 1.3551 +++ rpm/CHANGES 20 Jan 2011 10:51:47 - 1.3552 @@ -1,4 +1,6 @@ 5.4.0 - 5.4.1: +- devzero2000: merge Suse patch. Set %_specfile macro in the build so that people can + do specfile manipulation/data extraction in the build. - proyvind: rpmdb: set and create default log directory so that it doesn't get changed ie. when installing to a fresh chroot and no DB_CONFIG exists, with transaction logs ending up in a path that changes later. @@ . patch -p0 '@@ .' Index: rpm/build/parseSpec.c $ cvs diff -u -r2.144 -r2.145 parseSpec.c --- rpm/build/parseSpec.c 8 Jan 2011 23:07:11 - 2.144 +++ rpm/build/parseSpec.c 20 Jan 2011 10:51:48 - 2.145 @@ -541,6 +541,7 @@ * /.././../usr/../bin//./sh (XXX FIXME: dots not handled yet) */ spec-specFile = rpmGetPath(specFile, NULL); +addMacro(spec-macros, _specfile, NULL, spec-specFile, RMIL_SPEC); spec-fileStack = newOpenFileInfo(); spec-fileStack-fileName = xstrdup(spec-specFile); @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Pinto Elia Root: /v/rpm/cvs Email: devzero2...@rpm5.org Module: rpm Date: 12-Jan-2011 10:08:45 Branch: HEAD Handle: 2011011209084400 Modified files: rpm CHANGES Log: update CHANGES for Fix null requirement produced by mono-find-requires by Silvan Calarco Summary: RevisionChanges Path 1.3550 +2 -0 rpm/CHANGES patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3549 -r1.3550 CHANGES --- rpm/CHANGES 11 Jan 2011 23:43:09 - 1.3549 +++ rpm/CHANGES 12 Jan 2011 09:08:44 - 1.3550 @@ -1,5 +1,7 @@ 5.4.0 - 5.4.1: - proyvind: perl: fix typo breaking RPM::Transaction-problems(). +- devzero2000: Fix null requirement produced by mono-find-requires + by Silvan Calarco - proyvind: fix noarch sub-packages not having it's corresponding platform tag (mdvbz#61746). - proyvind: lookup3: fix runtime valgrind check and make it local. @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/rpmdb/ db3.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 13-Jan-2011 07:39:05 Branch: HEAD Handle: 2011011306390302 Modified files: rpm CHANGES rpm/rpmdb db3.c Log: rpmdb: set and create default log directory so that it doesn't get changed ie. when installing to a fresh chroot and no DB_CONFIG exists, with transaction logs ending up in a path that changes later. Summary: RevisionChanges Path 1.3551 +3 -0 rpm/CHANGES 1.159 +15 -0 rpm/rpmdb/db3.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3550 -r1.3551 CHANGES --- rpm/CHANGES 12 Jan 2011 09:08:44 - 1.3550 +++ rpm/CHANGES 13 Jan 2011 06:39:03 - 1.3551 @@ -1,4 +1,7 @@ 5.4.0 - 5.4.1: +- proyvind: rpmdb: set and create default log directory so that it doesn't + get changed ie. when installing to a fresh chroot and no DB_CONFIG + exists, with transaction logs ending up in a path that changes later. - proyvind: perl: fix typo breaking RPM::Transaction-problems(). - devzero2000: Fix null requirement produced by mono-find-requires by Silvan Calarco @@ . patch -p0 '@@ .' Index: rpm/rpmdb/db3.c $ cvs diff -u -r1.158 -r1.159 db3.c --- rpm/rpmdb/db3.c 24 Dec 2010 17:28:52 - 1.158 +++ rpm/rpmdb/db3.c 13 Jan 2011 06:39:05 - 1.159 @@ -920,6 +920,21 @@ } /* Logging: */ +if (eflags DB_INIT_LOG) { + const char *logdir; + + logdir = rpmGetPath(dbhome, /, log, NULL); + /* + * Create the /var/lib/rpm/log directory if it doesn't exist (root only). + */ + rpmioMkpath(logdir, 0755, getuid(), getgid()); + + xx = dbenv-set_lg_dir(dbenv, logdir); + xx = cvtdberr(dbi, dbenv-set_lg_dir, xx, _debug); + + _free(logdir); +} + /* Memory pool: */ if (eflags DB_INIT_MPOOL) { uint32_t _lo = 16 * 1024 * 1024; @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/perl/ RPM_Transaction.xs
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 12-Jan-2011 00:43:10 Branch: HEAD Handle: 2011011123430901 Modified files: rpm CHANGES rpm/perlRPM_Transaction.xs Log: perl: fix typo breaking RPM::Transaction-problems(). Summary: RevisionChanges Path 1.3549 +1 -0 rpm/CHANGES 1.20+1 -1 rpm/perl/RPM_Transaction.xs patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3548 -r1.3549 CHANGES --- rpm/CHANGES 8 Jan 2011 23:07:12 - 1.3548 +++ rpm/CHANGES 11 Jan 2011 23:43:09 - 1.3549 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- proyvind: perl: fix typo breaking RPM::Transaction-problems(). - proyvind: fix noarch sub-packages not having it's corresponding platform tag (mdvbz#61746). - proyvind: lookup3: fix runtime valgrind check and make it local. @@ . patch -p0 '@@ .' Index: rpm/perl/RPM_Transaction.xs $ cvs diff -u -r1.19 -r1.20 RPM_Transaction.xs --- rpm/perl/RPM_Transaction.xs 21 Nov 2010 11:52:31 - 1.19 +++ rpm/perl/RPM_Transaction.xs 11 Jan 2011 23:43:10 - 1.20 @@ -431,7 +431,7 @@ PPCODE: ps = rpmtsProblems(ts); if (ps rpmpsNumProblems(ps)) /* if no problem, return undef */ -XPUSHs(sv_2mortal(sv_setref_pv(newSVpv(, 0), RPM::Problem, ps))); +XPUSHs(sv_2mortal(sv_setref_pv(newSVpv(, 0), RPM::Problems, ps))); int run(ts, callback, ...) @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/ruby/ package-rb.c package-rb.h rpm-rb.c r...
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Eric Veith Root: /v/rpm/cvs Email: eve...@rpm5.org Module: rpm Date: 08-Jan-2011 20:54:15 Branch: HEAD Handle: 2011010819541302 Added files: rpm/ruby/test/fixtures mocksource-1.0.tar.gz multi_package_mock.spec rpm/ruby/test/unit test_rpmds.rb Modified files: rpm CHANGES rpm/rubypackage-rb.c package-rb.h rpm-rb.c rpm.rb rpmds-rb.c rpmds-rb.h rpmhdr-rb.c rpmts-rb.c rpmts-rb.h spec-rb.c spec-rb.h rpm/ruby/test/unit test_spec.rb Log: rb: Make classes participate correctly in GC process - Added structs with maintenance information to correctly mark related ruby class instances - Added more documentation - Added beginnings of a testcase for rpmds Summary: RevisionChanges Path 1.3546 +1 -0 rpm/CHANGES 1.3 +43 -9 rpm/ruby/package-rb.c 1.2 +21 -2 rpm/ruby/package-rb.h 1.11+2 -4 rpm/ruby/rpm-rb.c 1.3 +4 -0 rpm/ruby/rpm.rb 1.8 +352 -148 rpm/ruby/rpmds-rb.c 1.3 +56 -6 rpm/ruby/rpmds-rb.h 1.6 +1 -1 rpm/ruby/rpmhdr-rb.c 1.14+12 -4 rpm/ruby/rpmts-rb.c 1.5 +6 -0 rpm/ruby/rpmts-rb.h 1.7 +74 -52 rpm/ruby/spec-rb.c 1.4 +14 -5 rpm/ruby/spec-rb.h 1.1 BLOBrpm/ruby/test/fixtures/mocksource-1.0.tar.gz 1.1 +55 -0 rpm/ruby/test/fixtures/multi_package_mock.spec 1.1 +48 -0 rpm/ruby/test/unit/test_rpmds.rb 1.7 +1 -1 rpm/ruby/test/unit/test_spec.rb patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3545 -r1.3546 CHANGES --- rpm/CHANGES 4 Jan 2011 00:22:42 - 1.3545 +++ rpm/CHANGES 8 Jan 2011 19:54:13 - 1.3546 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- eveith: rb: Make Ruby classes participate in GC process - jbj: omp: use a thread team solely for file digests to avoid overhead. - jbj: rpmns: use binary search for name space lookup. - jbj: rpmns: optimize out strlen() calls on depsolver fast path. @@ . patch -p0 '@@ .' Index: rpm/ruby/package-rb.c $ cvs diff -u -r1.2 -r1.3 package-rb.c --- rpm/ruby/package-rb.c 13 Nov 2010 21:42:47 - 1.2 +++ rpm/ruby/package-rb.c 8 Jan 2011 19:54:14 - 1.3 @@ -19,7 +19,42 @@ #include rpmds.h -VALUE packageClass; +VALUE rpmrbPackageClass; + + +struct rpmrbPackageInstance_s { +Package pkg;/* The wrapped Package_s:: pointer */ +VALUE ds; /* Referenced RPM::Ds class instance */ +}; + +typedef struct rpmrbPackageInstance_s* rpmrbPackageInstance; + + +static void +rpmrbPackageMark(rpmrbPackageInstance pkgi) +{ +if(0 != pkgi-ds) rb_gc_mark(pkgi-ds); +} + + +static void +rpmrbPackageFree(rpmrbPackageInstance pkgi) +{ +free(pkgi); +} + + +VALUE +rpmrbPackageWrap(Package pkg) +{ +rpmrbPackageInstance pkgi = malloc(sizeof(struct rpmrbPackageInstance_s)); +pkgi = memset(pkgi, 0, sizeof(struct rpmrbPackageInstance_s)); +pkgi-pkg = pkg; + +VALUE rpmrbPackage = Data_Wrap_Struct(rpmrbPackageClass, +rpmrbPackageMark, rpmrbPackageFree, pkgi); +return rpmrbPackage; +} /** @@ -32,20 +67,19 @@ * @see rpmdsClass */ static VALUE -package_get_ds(VALUE self) +rpmrbPackageGetDs(VALUE self) { -Package pkg; -Data_Get_Struct(self, struct Package_s, pkg); - -/* TODO: Replace -1 with rpmdsFree */ -return Data_Wrap_Struct(rpmdsClass, 0, 0, pkg-ds); +rpmrbPackageInstance pkgi = NULL; +Data_Get_Struct(self, struct rpmrbPackageInstance_s, pkgi); +pkgi-ds = rpmrbDsWrap(pkgi-pkg-ds); +return pkgi-ds; } void Init_Package(void) { -packageClass = rb_define_class_under(rpmModule, Package, rb_cObject); +rpmrbPackageClass = rb_define_class_under(rpmModule, Package, rb_cObject); -rb_define_method(packageClass, ds, package_get_ds, 0); +rb_define_method(rpmrbPackageClass, ds, rpmrbPackageGetDs, 0); } @@ . patch -p0 '@@ .' Index: rpm/ruby/package-rb.h $ cvs diff -u -r1.1 -r1.2 package-rb.h --- rpm/ruby/package-rb.h 8 Nov 2010 01:18:04
[CVS] RPM: rpm/ CHANGES rpm/rpmio/ lookup3.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 08-Jan-2011 21:21:17 Branch: HEAD Handle: 2011010820211601 Modified files: rpm CHANGES rpm/rpmio lookup3.c Log: lookup3: fix runtime valgrind check and make it local. Summary: RevisionChanges Path 1.3547 +1 -0 rpm/CHANGES 1.9 +83 -62 rpm/rpmio/lookup3.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3546 -r1.3547 CHANGES --- rpm/CHANGES 8 Jan 2011 19:54:13 - 1.3546 +++ rpm/CHANGES 8 Jan 2011 20:21:16 - 1.3547 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- proyvind: lookup3: fix runtime valgrind check and make it local. - eveith: rb: Make Ruby classes participate in GC process - jbj: omp: use a thread team solely for file digests to avoid overhead. - jbj: rpmns: use binary search for name space lookup. @@ . patch -p0 '@@ .' Index: rpm/rpmio/lookup3.c $ cvs diff -u -r1.8 -r1.9 lookup3.c --- rpm/rpmio/lookup3.c 29 Dec 2010 16:33:53 - 1.8 +++ rpm/rpmio/lookup3.c 8 Jan 2011 20:21:17 - 1.9 @@ -38,6 +38,17 @@ #include rpmiotypes.h #include debug.h +#ifdef WITH_VALGRIND +/* If we're using GCC, use __builtin_expect() to reduce overhead of + the valgrind checks */ +#if defined(__GNUC__) (__GNUC__ 2) defined(__OPTIMIZE__) +# define UNLIKELY(value) __builtin_expect((value), 0) (value 0 || (value = RUNNING_ON_VALGRIND)) +#else +# define UNLIKELY(value) (value) (value 0 || (value = RUNNING_ON_VALGRIND)) +#endif +static int _running_on_valgrind = -1; +#endif + #if defined(_JLU3_SELFTEST) # define _JLU3_jlu32w1 # define _JLU3_jlu32l1 @@ -255,7 +266,7 @@ u.ptr = key; if (HASH_LITTLE_ENDIAN ((u.i 0x3) == 0)) { const rpmuint32_t *k = (const rpmuint32_t *)key;/* read 32-bit chunks */ -#ifdef VALGRIND +#ifdef WITH_VALGRIND const rpmuint8_t *k8; #endif @@ -279,29 +290,13 @@ * still catch it and complain. The masking trick does make the hash * noticably faster for short strings (like English words). */ -#ifndef VALGRIND - - switch (size) { - case 12:c += k[2]; b+=k[1]; a+=k[0]; break; - case 11:c += k[2]0xff; b+=k[1]; a+=k[0]; break; - case 10:c += k[2]0x; b+=k[1]; a+=k[0]; break; - case 9:c += k[2]0xff; b+=k[1]; a+=k[0]; break; - case 8:b += k[1]; a+=k[0]; break; - case 7:b += k[1]0xff; a+=k[0]; break; - case 6:b += k[1]0x; a+=k[0]; break; - case 5:b += k[1]0xff; a+=k[0]; break; - case 4:a += k[0]; break; - case 3:a += k[0]0xff; break; - case 2:a += k[0]0x; break; - case 1:a += k[0]0xff; break; - case 0:goto exit; - } - -#else /* make valgrind happy */ +#ifdef WITH_VALGRIND + if(UNLIKELY(_running_on_valgrind)) { + /* make valgrind happy */ k8 = (const rpmuint8_t *)k; switch (size) { - case 12:c += k[2]; b+=k[1]; a+=k[0] break; + case 12:c += k[2]; b+=k[1]; a+=k[0];break; case 11:c += ((rpmuint32_t)k8[10])16; /*...@fallthrough@*/ case 10:c += ((rpmuint32_t)k8[9])8; /*...@fallthrough@*/ case 9:c += k8[8]; /*...@fallthrough@*/ @@ -316,6 +311,25 @@ case 0:goto exit; } + } else { +#endif + switch (size) { + case 12:c += k[2]; b+=k[1]; a+=k[0]; break; + case 11:c += k[2]0xff; b+=k[1]; a+=k[0]; break; + case 10:c += k[2]0x; b+=k[1]; a+=k[0]; break; + case 9:c += k[2]0xff; b+=k[1]; a+=k[0]; break; + case 8:b += k[1]; a+=k[0]; break; + case 7:b += k[1]0xff; a+=k[0]; break; + case 6:b += k[1]0x; a+=k[0]; break; + case 5:b += k[1]0xff; a+=k[0]; break; + case 4:a += k[0]; break; + case 3:a += k[0]0xff; break; + case 2:a += k[0]0x; break; + case 1:a += k[0]0xff; break; + case 0:goto exit; + } +#ifdef WITH_VALGRIND + }
[CVS] RPM: rpm/ CHANGES rpm/build/ parseSpec.c rpm/lib/ depends.c
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 09-Jan-2011 00:07:13 Branch: HEAD Handle: 2011010823071101 Modified files: rpm CHANGES rpm/build parseSpec.c rpm/lib depends.c Log: fix noarch sub-packages not having it's corresponding platform tag (mdvbz#61746). Summary: RevisionChanges Path 1.3548 +2 -0 rpm/CHANGES 2.144 +13 -1 rpm/build/parseSpec.c 1.465 +12 -0 rpm/lib/depends.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3547 -r1.3548 CHANGES --- rpm/CHANGES 8 Jan 2011 20:21:16 - 1.3547 +++ rpm/CHANGES 8 Jan 2011 23:07:12 - 1.3548 @@ -1,4 +1,6 @@ 5.4.0 - 5.4.1: +- proyvind: fix noarch sub-packages not having it's corresponding platform + tag (mdvbz#61746). - proyvind: lookup3: fix runtime valgrind check and make it local. - eveith: rb: Make Ruby classes participate in GC process - jbj: omp: use a thread team solely for file digests to avoid overhead. @@ . patch -p0 '@@ .' Index: rpm/build/parseSpec.c $ cvs diff -u -r2.143 -r2.144 parseSpec.c --- rpm/build/parseSpec.c 6 Mar 2010 03:31:19 - 2.143 +++ rpm/build/parseSpec.c 8 Jan 2011 23:07:11 - 2.144 @@ -700,6 +700,7 @@ /* Check for description in each package and add arch and os */ { const char *platform = rpmExpand(%{_target_platform}, NULL); +const char *platformNoarch = NULL; const char *arch = rpmExpand(%{_target_cpu}, NULL); const char *os = rpmExpand(%{_target_os}, NULL); @@ -717,9 +718,18 @@ he-c = 1; xx = headerPut(pkg-header, he, 0); + /* + * If noarch subpackages of different arch, we need + * to use a separate platform tag for these (mdvbz#61746). + */ + if(pkg-noarch !platformNoarch strcmp(arch, noarch)) { + addMacro(NULL, _target_cpu, NULL, noarch, RMIL_RPMRC); + platformNoarch = rpmExpand(%{_target_platform}, NULL); + addMacro(NULL, _target_cpu, NULL, arch, RMIL_RPMRC); + } he-tag = RPMTAG_PLATFORM; he-t = RPM_STRING_TYPE; - he-p.str = platform; + he-p.str = (pkg-noarch platformNoarch ? platformNoarch : platform); he-c = 1; xx = headerPut(pkg-header, he, 0); @@ -736,6 +746,7 @@ he-p.str); he-p.ptr = _free(he-p.ptr); platform = _free(platform); + platformNoarch = _free(platformNoarch); arch = _free(arch); os = _free(os); spec = freeSpec(spec); @@ -747,6 +758,7 @@ } platform = _free(platform); +platformNoarch = _free(platformNoarch); arch = _free(arch); os = _free(os); } @@ . patch -p0 '@@ .' Index: rpm/lib/depends.c $ cvs diff -u -r1.464 -r1.465 depends.c --- rpm/lib/depends.c 29 Dec 2010 22:30:20 - 1.464 +++ rpm/lib/depends.c 8 Jan 2011 23:07:11 - 1.465 @@ -593,6 +593,18 @@ platform = rpmExpand(arch, -unknown-, os, NULL); rc = rpmPlatformScore(platform, platpat, nplatpat); +#if defined(RPM_VENDOR_MANDRIVA) + /* + * If no match on platform tag, we'll try again with arch tag + * in case platform tag is inconsistent with it, which is the case + * for older noarch sub-packages built (mdvbz#61746). + */ + if(xx rc = 0) { + platform = _free(platform); + platform = rpmExpand(arch, -unknown-, os, NULL); + rc = rpmPlatformScore(platform, platpat, nplatpat); + } +#endif if (rc = 0) { rpmps ps = rpmtsProblems(ts); he-tag = RPMTAG_NVRA; @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/lib/ rpmds.c rpm/rpmdb/ rpmns.c rpmns.h
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: 03-Jan-2011 22:20:24 Branch: HEAD Handle: 2011010321202201 Modified files: rpm CHANGES rpm/lib rpmds.c rpm/rpmdb rpmns.c rpmns.h Log: - rpmns: optimize out strlen() calls on depsolver fast path. Summary: RevisionChanges Path 1.3543 +1 -0 rpm/CHANGES 2.171 +0 -1 rpm/lib/rpmds.c 1.16+87 -77 rpm/rpmdb/rpmns.c 1.6 +8 -6 rpm/rpmdb/rpmns.h patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3542 -r1.3543 CHANGES --- rpm/CHANGES 2 Jan 2011 20:49:22 - 1.3542 +++ rpm/CHANGES 3 Jan 2011 21:20:22 - 1.3543 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- jbj: rpmns: optimize out strlen() calls on depsolver fast path. - jbj: drd: disable digest/libelf races for now. todo++. - jbj: drd: disable path/tag data races for now. todo++. - jbj: ugid: use the re-entrant user/group lookups. @@ . patch -p0 '@@ .' Index: rpm/lib/rpmds.c $ cvs diff -u -r2.170 -r2.171 rpmds.c --- rpm/lib/rpmds.c 2 Dec 2010 15:00:50 - 2.170 +++ rpm/lib/rpmds.c 3 Jan 2011 21:20:23 - 2.171 @@ -416,7 +416,6 @@ const char * Name = ds-N[ds-i]; int xx; -memset(ns, 0, sizeof(*ns)); xx = rpmnsParse(Name, ns); /*...@-compdef -userelea...@*/ /* FIX: correct annotations for ds-ns shadow */ @@ . patch -p0 '@@ .' Index: rpm/rpmdb/rpmns.c $ cvs diff -u -r1.15 -r1.16 rpmns.c --- rpm/rpmdb/rpmns.c 1 Jun 2010 22:00:27 - 1.15 +++ rpm/rpmdb/rpmns.c 3 Jan 2011 21:20:23 - 1.16 @@ -100,120 +100,130 @@ * Dependency probe table. */ /*...@unchecked@*/ /*...@observer@*/ +#define _ENTRY(_s, _type) { #_s, sizeof(#_s)-1, _type } static struct _rpmnsProbes_s { /*...@observer@*/ /*...@relnull@*/ const char * NS; +size_t NSlen; nsType Type; } rpmnsProbes[] = { -{ rpmlib, RPMNS_TYPE_RPMLIB }, -{ config, RPMNS_TYPE_CONFIG }, -{ cpuinfo, RPMNS_TYPE_CPUINFO }, -{ getconf, RPMNS_TYPE_GETCONF }, -{ uname, RPMNS_TYPE_UNAME }, -{ soname, RPMNS_TYPE_SONAME }, -{ user,RPMNS_TYPE_USER }, -{ group, RPMNS_TYPE_GROUP }, -{ mounted, RPMNS_TYPE_MOUNTED }, -{ diskspace, RPMNS_TYPE_DISKSPACE }, -{ digest, RPMNS_TYPE_DIGEST }, -{ gnupg, RPMNS_TYPE_GNUPG }, -{ macro, RPMNS_TYPE_MACRO }, -{ envvar, RPMNS_TYPE_ENVVAR }, -{ running, RPMNS_TYPE_RUNNING }, -{ sanitycheck, RPMNS_TYPE_SANITY }, -{ vcheck, RPMNS_TYPE_VCHECK }, -{ signature, RPMNS_TYPE_SIGNATURE }, -{ verify, RPMNS_TYPE_VERIFY }, -{ exists, RPMNS_TYPE_ACCESS }, -{ executable, RPMNS_TYPE_ACCESS }, -{ readable,RPMNS_TYPE_ACCESS }, -{ writable,RPMNS_TYPE_ACCESS }, -{ RWX, RPMNS_TYPE_ACCESS }, -{ RWx, RPMNS_TYPE_ACCESS }, -{ RW_, RPMNS_TYPE_ACCESS }, -{ RwX, RPMNS_TYPE_ACCESS }, -{ Rwx, RPMNS_TYPE_ACCESS }, -{ Rw_, RPMNS_TYPE_ACCESS }, -{ R_X, RPMNS_TYPE_ACCESS }, -{ R_x, RPMNS_TYPE_ACCESS }, -{ R__, RPMNS_TYPE_ACCESS }, -{ rWX, RPMNS_TYPE_ACCESS }, -{ rWx, RPMNS_TYPE_ACCESS }, -{ rW_, RPMNS_TYPE_ACCESS }, -{ rwX, RPMNS_TYPE_ACCESS }, -{ rwx, RPMNS_TYPE_ACCESS }, -{ rw_, RPMNS_TYPE_ACCESS }, -{ r_X, RPMNS_TYPE_ACCESS }, -{ r_x, RPMNS_TYPE_ACCESS }, -{ r__, RPMNS_TYPE_ACCESS }, -{ _WX, RPMNS_TYPE_ACCESS }, -{ _Wx, RPMNS_TYPE_ACCESS }, -{ _W_, RPMNS_TYPE_ACCESS }, -{ _wX, RPMNS_TYPE_ACCESS }, -{ _wx, RPMNS_TYPE_ACCESS }, -{ _w_, RPMNS_TYPE_ACCESS }, -{ __X, RPMNS_TYPE_ACCESS }, -{ __x, RPMNS_TYPE_ACCESS }, -{ ___, RPMNS_TYPE_ACCESS }, -{ NULL, 0 } +_ENTRY(rpmlib, RPMNS_TYPE_RPMLIB), +
[CVS] RPM: rpm/ CHANGES rpm/rpmdb/ rpmns.c
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: 04-Jan-2011 00:57:40 Branch: HEAD Handle: 2011010323573900 Modified files: rpm CHANGES rpm/rpmdb rpmns.c Log: - rpmns: use binary search for name space lookup. Summary: RevisionChanges Path 1.3544 +1 -0 rpm/CHANGES 1.17+62 -50 rpm/rpmdb/rpmns.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3543 -r1.3544 CHANGES --- rpm/CHANGES 3 Jan 2011 21:20:22 - 1.3543 +++ rpm/CHANGES 3 Jan 2011 23:57:39 - 1.3544 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- jbj: rpmns: use binary search for name space lookup. - jbj: rpmns: optimize out strlen() calls on depsolver fast path. - jbj: drd: disable digest/libelf races for now. todo++. - jbj: drd: disable path/tag data races for now. todo++. @@ . patch -p0 '@@ .' Index: rpm/rpmdb/rpmns.c $ cvs diff -u -r1.16 -r1.17 rpmns.c --- rpm/rpmdb/rpmns.c 3 Jan 2011 21:20:23 - 1.16 +++ rpm/rpmdb/rpmns.c 3 Jan 2011 23:57:39 - 1.17 @@ -97,7 +97,7 @@ } /** - * Dependency probe table. + * Dependency probe table (must be sorted). */ /*...@unchecked@*/ /*...@observer@*/ #define _ENTRY(_s, _type) { #_s, sizeof(#_s)-1, _type } @@ -107,71 +107,83 @@ size_t NSlen; nsType Type; } rpmnsProbes[] = { -_ENTRY(rpmlib, RPMNS_TYPE_RPMLIB), +_ENTRY(RWX, RPMNS_TYPE_ACCESS), +_ENTRY(RW_, RPMNS_TYPE_ACCESS), +_ENTRY(RWx, RPMNS_TYPE_ACCESS), +_ENTRY(R_X, RPMNS_TYPE_ACCESS), +_ENTRY(R__, RPMNS_TYPE_ACCESS), +_ENTRY(R_x, RPMNS_TYPE_ACCESS), +_ENTRY(RwX, RPMNS_TYPE_ACCESS), +_ENTRY(Rw_, RPMNS_TYPE_ACCESS), +_ENTRY(Rwx, RPMNS_TYPE_ACCESS), +_ENTRY(_WX, RPMNS_TYPE_ACCESS), +_ENTRY(_W_, RPMNS_TYPE_ACCESS), +_ENTRY(_Wx, RPMNS_TYPE_ACCESS), +_ENTRY(__X, RPMNS_TYPE_ACCESS), +_ENTRY(___, RPMNS_TYPE_ACCESS), +_ENTRY(__x, RPMNS_TYPE_ACCESS), +_ENTRY(_wX, RPMNS_TYPE_ACCESS), +_ENTRY(_w_, RPMNS_TYPE_ACCESS), +_ENTRY(_wx, RPMNS_TYPE_ACCESS), _ENTRY(config, RPMNS_TYPE_CONFIG), _ENTRY(cpuinfo, RPMNS_TYPE_CPUINFO), -_ENTRY(getconf, RPMNS_TYPE_GETCONF), -_ENTRY(uname,RPMNS_TYPE_UNAME), -_ENTRY(soname, RPMNS_TYPE_SONAME), -_ENTRY(user, RPMNS_TYPE_USER), -_ENTRY(group,RPMNS_TYPE_GROUP), -_ENTRY(mounted, RPMNS_TYPE_MOUNTED), -_ENTRY(diskspace,RPMNS_TYPE_DISKSPACE), _ENTRY(digest, RPMNS_TYPE_DIGEST), +_ENTRY(diskspace,RPMNS_TYPE_DISKSPACE), +_ENTRY(envvar, RPMNS_TYPE_ENVVAR), +_ENTRY(executable, RPMNS_TYPE_ACCESS), +_ENTRY(exists, RPMNS_TYPE_ACCESS), +_ENTRY(getconf, RPMNS_TYPE_GETCONF), _ENTRY(gnupg,RPMNS_TYPE_GNUPG), +_ENTRY(group,RPMNS_TYPE_GROUP), _ENTRY(macro,RPMNS_TYPE_MACRO), -_ENTRY(envvar, RPMNS_TYPE_ENVVAR), +_ENTRY(mounted, RPMNS_TYPE_MOUNTED), +_ENTRY(rWX, RPMNS_TYPE_ACCESS), +_ENTRY(rW_, RPMNS_TYPE_ACCESS), +_ENTRY(rWx, RPMNS_TYPE_ACCESS), +_ENTRY(r_X, RPMNS_TYPE_ACCESS), +_ENTRY(r__, RPMNS_TYPE_ACCESS), +_ENTRY(r_x, RPMNS_TYPE_ACCESS), +_ENTRY(readable, RPMNS_TYPE_ACCESS), +_ENTRY(rpmlib, RPMNS_TYPE_RPMLIB), _ENTRY(running, RPMNS_TYPE_RUNNING), +_ENTRY(rwX, RPMNS_TYPE_ACCESS), +_ENTRY(rw_, RPMNS_TYPE_ACCESS), +_ENTRY(rwx, RPMNS_TYPE_ACCESS), _ENTRY(sanitycheck, RPMNS_TYPE_SANITY), -_ENTRY(vcheck, RPMNS_TYPE_VCHECK), _ENTRY(signature,RPMNS_TYPE_SIGNATURE), +_ENTRY(soname, RPMNS_TYPE_SONAME), +_ENTRY(uname,RPMNS_TYPE_UNAME), +_ENTRY(user, RPMNS_TYPE_USER), +_ENTRY(vcheck, RPMNS_TYPE_VCHECK), _ENTRY(verify, RPMNS_TYPE_VERIFY), -_ENTRY(exists, RPMNS_TYPE_ACCESS), -_ENTRY(executable, RPMNS_TYPE_ACCESS), -_ENTRY(readable, RPMNS_TYPE_ACCESS), _ENTRY(writable,
[CVS] RPM: rpm/ CHANGES rpm/lib/ verify.c
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: 04-Jan-2011 01:22:45 Branch: HEAD Handle: 2011010400224202 Modified files: rpm CHANGES rpm/lib verify.c Log: - omp: use a thread team solely for file digests to avoid overhead. Summary: RevisionChanges Path 1.3545 +1 -0 rpm/CHANGES 2.205 +2 -14 rpm/lib/verify.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3544 -r1.3545 CHANGES --- rpm/CHANGES 3 Jan 2011 23:57:39 - 1.3544 +++ rpm/CHANGES 4 Jan 2011 00:22:42 - 1.3545 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- jbj: omp: use a thread team solely for file digests to avoid overhead. - jbj: rpmns: use binary search for name space lookup. - jbj: rpmns: optimize out strlen() calls on depsolver fast path. - jbj: drd: disable digest/libelf races for now. todo++. @@ . patch -p0 '@@ .' Index: rpm/lib/verify.c $ cvs diff -u -r2.204 -r2.205 verify.c --- rpm/lib/verify.c 1 Jan 2011 14:31:44 - 2.204 +++ rpm/lib/verify.c 4 Jan 2011 00:22:44 - 2.205 @@ -83,7 +83,7 @@ static rpmvf rpmvfNew(rpmts ts, rpmfi fi, int i, rpmVerifyAttrs omitMask) /*...@*/ { -rpmvf vf = xcalloc(1, sizeof(*vf)); +rpmvf vf = DRD_xcalloc(1, sizeof(*vf)); #ifdef NOTYET vf-_item.use = yarnNewLock(1); @@ -489,15 +489,9 @@ rpmfi fi = rpmfiNew(ts, h, RPMTAG_BASENAMES, scareMem); uint32_t fc = rpmfiFC(fi); -#if defined(_OPENMP) - #pragma omp parallel reduction(+:ec) -#endif { /* Verify header digest/signature. */ if (qva-qva_flags (VERIFY_DIGEST | VERIFY_SIGNATURE)) -#if defined(_OPENMP) -#pragma omp master -#endif { const char * horigin = headerGetOrigin(h); const char * msg = NULL; @@ -515,7 +509,7 @@ /* Verify file digests. */ if (fc 0 (qva-qva_flags VERIFY_FILES)) #if defined(_OPENMP) -#pragma omp for private(i) nowait +#pragma omp parallel for private(i) reduction(+:ec) #endif for (i = 0; i (int)fc; i++) { int fflags = fi-fflags[i]; @@ -549,9 +543,6 @@ /* Run verify/sanity scripts (if any). */ if (qva-qva_flags VERIFY_SCRIPT) -#if defined(_OPENMP) -#pragma omp master -#endif { int rc; @@ -571,9 +562,6 @@ /* Verify dependency assertions. */ if (qva-qva_flags VERIFY_DEPS) -#if defined(_OPENMP) -#pragma omp master -#endif { int save_noise = _rpmds_unspecified_epoch_noise; int rc; @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES debug.h
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: 02-Jan-2011 18:21:17 Branch: HEAD Handle: 2011010217211600 Modified files: rpm CHANGES debug.h Log: - valgrind: empty macros for *everything* to see the namespace. Summary: RevisionChanges Path 1.3539 +1 -0 rpm/CHANGES 2.9 +121 -9 rpm/debug.h patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3538 -r1.3539 CHANGES --- rpm/CHANGES 1 Jan 2011 14:39:17 - 1.3538 +++ rpm/CHANGES 2 Jan 2011 17:21:16 - 1.3539 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- jbj: valgrind: empty macros for *everything* to see the namespace. - jbj: mongo: stub-in mongo:// and mongodb:// URI's. - jbj: verify: overlap header-only signature/digest with file digests. - jbj: prelink: thread-safe helper instantiation for valgrind drd. @@ . patch -p0 '@@ .' Index: rpm/debug.h $ cvs diff -u -r2.8 -r2.9 debug.h --- rpm/debug.h 1 Jan 2011 13:54:32 - 2.8 +++ rpm/debug.h 2 Jan 2011 17:21:16 - 2.9 @@ -5,7 +5,7 @@ #define H_DEBUG #ifdef HAVE_ASSERT_H -#undef assert /* beecrypt/api.h tries to retrofit an assert(x) macro */ +#undef assert /* XXX beecrypt/api.h tries to retrofit an assert(x) macro */ #include assert.h #endif @@ -24,6 +24,13 @@ #include dmalloc.h #endif +/* If using GCC, wrap __builtin_expect() (reduces overhead in lookup3.c) */ +#if defined(__GNUC__) (__GNUC__ 2) defined(__OPTIMIZE__) +# define UNLIKELY(value) __builtin_expect((value), 0) +#else +# define UNLIKELY(value) (value) +#endif + #if defined(WITH_VALGRIND) defined(HAVE_VALGRIND_VALGRIND_H) #include valgrind/valgrind.h @@ -32,8 +39,45 @@ #include valgrind/helgrind.h #include valgrind/drd.h +static inline void * DRD_xmalloc(size_t nb) +{ +void * ptr = xmalloc(nb); +ANNOTATE_BENIGN_RACE_SIZED(ptr, nb, __FUNCTION__); /* XXX tsan sanity. */ +return ptr; +} + +static inline void * DRD_xcalloc(size_t nmemb, size_t size) +{ +size_t nb = nmemb * size; +void * ptr = DRD_xmalloc(nb); +memset(ptr, 0, nb); +return ptr; +} + +static inline void * DRD_xrealloc(void * ptr, size_t size) +{ +ptr = xrealloc(ptr, size); +ANNOTATE_BENIGN_RACE_SIZED(ptr, size, __FUNCTION__); /* XXX tsan sanity. */ +return ptr; +} + +static inline char * DRD_xstrdup(const char * s) +{ +size_t nb = strlen(s) + 1; +char * t = DRD_xmalloc(nb); +return strcpy(t, s); +} + #else +/* XXX list most everything just to see the valgrind namespace. */ + +#define RUNNING_ON_VALGRIND (0) +#define VALGRIND_DISCARD_TRANSLATIONS(_qzz_addr,_qzz_len) + +#define VALGRIND_MALLOCLIKE_BLOCK(addr, sizeB, rzB, is_zeroed) +#define VALGRIND_FREELIKE_BLOCK(addr, rzB) + #define VALGRIND_CREATE_MEMPOOL(pool, rzB, is_zeroed) #define VALGRIND_DESTROY_MEMPOOL(pool) #define VALGRIND_MEMPOOL_ALLOC(pool, addr, size) @@ -43,14 +87,21 @@ #define VALGRIND_MEMPOOL_CHANGE(pool, addrA, addrB, size) #define VALGRIND_MEMPOOL_EXISTS(pool) (0) -#define VALGRIND_HG_CLEAN_MEMORY(_qzz_start, _qzz_len) -#define ANNOTATE_HAPPENS_BEFORE(_obj) -#define ANNOTATE_HAPPENS_AFTER(_obj) -#define ANNOTATE_NEW_MEMORY(_addr, _size) -#define ANNOTATE_RWLOCK_CREATE(_lock) -#define ANNOTATE_RWLOCK_DESTROY(_lock) -#define ANNOTATE_RWLOCK_ACQUIRED(_lock) -#define ANNOTATE_RWLOCK_RELEASED(_lock) +#define VALGRIND_MAKE_MEM_NOACCESS(_qzz_addr,_qzz_len) +#define VALGRIND_MAKE_MEM_UNDEFINED(_qzz_addr,_qzz_len) +#define VALGRIND_MAKE_MEM_DEFINED(_qzz_addr,_qzz_len) +#define VALGRIND_MAKE_MEM_DEFINED_IF_ADDRESSABLE(_qzz_addr,_qzz_len) +#define VALGRIND_CREATE_BLOCK(_qzz_addr,_qzz_len, _qzz_desc) +#define VALGRIND_DISCARD(_qzz_blkindex) +#define VALGRIND_CHECK_MEM_IS_ADDRESSABLE(_qzz_addr,_qzz_len) +#define VALGRIND_CHECK_MEM_IS_DEFINED(_qzz_addr,_qzz_len) +#define VALGRIND_CHECK_VALUE_IS_DEFINED(__lvalue) +#define VALGRIND_DO_LEAK_CHECK +#define VALGRIND_DO_QUICK_LEAK_CHECK +#define VALGRIND_COUNT_LEAKS(leaked, dubious, reachable, suppressed) +#define VALGRIND_COUNT_LEAK_BLOCKS(leaked, dubious, reachable, suppressed) +#define VALGRIND_GET_VBITS(zza,zzvbits,zznbytes)
[CVS] RPM: rpm/ CHANGES rpm/rpmio/ ugid.c
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: 02-Jan-2011 20:07:59 Branch: HEAD Handle: 2011010219075801 Modified files: rpm CHANGES rpm/rpmio ugid.c Log: - ugid: use the re-entrant user/group lookups. Summary: RevisionChanges Path 1.3540 +1 -0 rpm/CHANGES 2.13+26 -20 rpm/rpmio/ugid.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3539 -r1.3540 CHANGES --- rpm/CHANGES 2 Jan 2011 17:21:16 - 1.3539 +++ rpm/CHANGES 2 Jan 2011 19:07:58 - 1.3540 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- jbj: ugid: use the re-entrant user/group lookups. - jbj: valgrind: empty macros for *everything* to see the namespace. - jbj: mongo: stub-in mongo:// and mongodb:// URI's. - jbj: verify: overlap header-only signature/digest with file digests. @@ . patch -p0 '@@ .' Index: rpm/rpmio/ugid.c $ cvs diff -u -r2.12 -r2.13 ugid.c --- rpm/rpmio/ugid.c 19 Mar 2010 22:27:43 - 2.12 +++ rpm/rpmio/ugid.c 2 Jan 2011 19:07:59 - 2.13 @@ -19,7 +19,9 @@ static size_t lastUnameLen = 0; static size_t lastUnameAlloced; static uid_t lastUid; -struct passwd * pwent; +struct passwd _pw, *pwent = NULL; +char _b[BUFSIZ]; +size_t _nb = sizeof(_b); size_t thisUnameLen; #ifdef SUSE_REFERENCE @@ -31,7 +33,7 @@ mail lp #endif -if (!thisUname) { +if (thisUname == NULL) { lastUnameLen = 0; return -1; #if !defined(RPM_VENDOR_OPENPKG) /* no-hard-coded-ugid */ @@ -47,19 +49,17 @@ { if (lastUnameAlloced thisUnameLen + 1) { lastUnameAlloced = thisUnameLen + 10; - lastUname = (char *) xrealloc(lastUname, lastUnameAlloced); + lastUname = (char *) DRD_xrealloc(lastUname, lastUnameAlloced); } strcpy(lastUname, thisUname); - pwent = getpwnam(thisUname); - if (pwent == NULL) { + if (getpwnam_r(thisUname, _pw, _b, _nb, pwent) || pwent == NULL) { /*...@-internalglobs@*/ /* FIX: shrug */ endpwent(); /*...@=internalglobs@*/ - pwent = getpwnam(thisUname); - if (pwent == NULL) return -1; + if (getpwnam_r(thisUname, _pw, _b, _nb, pwent) || pwent == NULL) + return -1; } - lastUid = pwent-pw_uid; } @@ -74,8 +74,10 @@ static size_t lastGnameLen = 0; static size_t lastGnameAlloced; static gid_t lastGid; +struct group _gr, *grent = NULL; +char _b[BUFSIZ]; +size_t _nb = sizeof(_b); size_t thisGnameLen; -struct group * grent; #ifdef SUSE_REFERENCE news @@ -99,17 +101,15 @@ { if (lastGnameAlloced thisGnameLen + 1) { lastGnameAlloced = thisGnameLen + 10; - lastGname = (char *) xrealloc(lastGname, lastGnameAlloced); + lastGname = (char *) DRD_xrealloc(lastGname, lastGnameAlloced); } strcpy(lastGname, thisGname); - grent = getgrnam(thisGname); - if (grent == NULL) { + if (getgrnam_r(thisGname, _gr, _b, _nb, grent) || grent == NULL) { /*...@-internalglobs@*/ /* FIX: shrug */ endgrent(); /*...@=internalglobs@*/ - grent = getgrnam(thisGname); - if (grent == NULL) { + if (getgrnam_r(thisGname, _gr, _b, _nb, grent) || grent == NULL) { #if !defined(RPM_VENDOR_OPENPKG) /* no-hard-coded-ugid */ /* XXX The filesystem package needs group/lock w/o getgrnam. */ if (strcmp(thisGname, lock) == 0) { @@ -148,16 +148,19 @@ } else if (uid == lastUid) { return lastUname; } else { - struct passwd * pwent = getpwuid(uid); + struct passwd _pw, *pwent = NULL; + char _b[BUFSIZ]; + size_t _nb = sizeof(_b); size_t len; - if (pwent == NULL) return NULL; + if (getpwuid_r(uid, _pw, _b, _nb, pwent) || pwent == NULL) + return NULL; lastUid = uid; len = strlen(pwent-pw_name); if (lastUnameLen len + 1) { lastUnameLen = len + 20; - lastUname = (char *) xrealloc(lastUname, lastUnameLen); + lastUname = (char *) DRD_xrealloc(lastUname, lastUnameLen); } strcpy(lastUname,
[CVS] RPM: rpm/ CHANGES rpm/rpmdb/ header.c rpm/rpmio/ macro.c
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: 02-Jan-2011 20:30:05 Branch: HEAD Handle: 2011010219300401 Modified files: rpm CHANGES rpm/rpmdb header.c rpm/rpmio macro.c Log: - drd: disable path/tag data races for now. todo++. Summary: RevisionChanges Path 1.3541 +1 -0 rpm/CHANGES 1.200 +7 -6 rpm/rpmdb/header.c 2.251 +2 -2 rpm/rpmio/macro.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3540 -r1.3541 CHANGES --- rpm/CHANGES 2 Jan 2011 19:07:58 - 1.3540 +++ rpm/CHANGES 2 Jan 2011 19:30:04 - 1.3541 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- jbj: drd: disable path/tag data races for now. todo++. - jbj: ugid: use the re-entrant user/group lookups. - jbj: valgrind: empty macros for *everything* to see the namespace. - jbj: mongo: stub-in mongo:// and mongodb:// URI's. @@ . patch -p0 '@@ .' Index: rpm/rpmdb/header.c $ cvs diff -u -r1.199 -r1.200 header.c --- rpm/rpmdb/header.c1 Jan 2011 14:19:26 - 1.199 +++ rpm/rpmdb/header.c2 Jan 2011 19:30:05 - 1.200 @@ -156,6 +156,7 @@ Header h; if (_headerPool == NULL) { +ANNOTATE_BENIGN_RACE(_headerPool, ); _headerPool = rpmioNewPool(h, sizeof(*h), -1, _hdr_debug, NULL, NULL, headerScrub); pool = _headerPool; @@ -456,7 +457,7 @@ /* Allocate all returned storage (if not already). */ if (he-p.ptr nb !he-freeData) { - void * ptr = xmalloc(nb); + void * ptr = DRD_xmalloc(nb); if (tagSwab(ptr, he, nb) != NULL) he-p.ptr = ptr; else { @@ -997,7 +998,7 @@ memset(h-h_getops, 0, sizeof(h-h_getops)); h-indexAlloced = il + 1; h-indexUsed = il; -h-index = xcalloc(h-indexAlloced, sizeof(*h-index)); +h-index = DRD_xcalloc(h-indexAlloced, sizeof(*h-index)); h-flags = HEADERFLAG_SORTED; h = headerLink(h); assert(h != NULL); @@ -1451,7 +1452,7 @@ rdl += REGION_TAG_COUNT; } - he-p.ui32p = ei = xmalloc(count); + he-p.ui32p = ei = DRD_xmalloc(count); ei[0] = (rpmuint32_t)htonl(ril); ei[1] = (rpmuint32_t)htonl(rdl); @@ -1463,7 +1464,7 @@ } else { count = (rpmTagCount)entry-length; he-p.ptr = (!minMem - ? memcpy(xmalloc(count), entry-data, count) + ? memcpy(DRD_xmalloc(count), entry-data, count) : entry-data); } break; @@ -1482,10 +1483,10 @@ /*...@-mods@*/ if (minMem) { - he-p.argv = argv = xmalloc(nb); + he-p.argv = argv = DRD_xmalloc(nb); t = entry-data; } else { - he-p.argv = argv = xmalloc(nb + entry-length); + he-p.argv = argv = DRD_xmalloc(nb + entry-length); t = (char *) argv[count]; memcpy(t, entry-data, entry-length); } @@ . patch -p0 '@@ .' Index: rpm/rpmio/macro.c $ cvs diff -u -r2.250 -r2.251 macro.c --- rpm/rpmio/macro.c 1 Jan 2011 14:39:19 - 2.250 +++ rpm/rpmio/macro.c 2 Jan 2011 19:30:04 - 2.251 @@ -215,12 +215,12 @@ if (mc-macroTable == NULL) { mc-macrosAllocated = MACRO_CHUNK_SIZE; mc-macroTable = (MacroEntry *) - xmalloc(sizeof(*(mc-macroTable)) * mc-macrosAllocated); + xmalloc(sizeof(*mc-macroTable) * mc-macrosAllocated); mc-firstFree = 0; } else { mc-macrosAllocated += MACRO_CHUNK_SIZE; mc-macroTable = (MacroEntry *) - xrealloc(mc-macroTable, sizeof(*(mc-macroTable)) * + xrealloc(mc-macroTable, sizeof(*mc-macroTable) * mc-macrosAllocated); } memset(mc-macroTable[mc-firstFree], 0, MACRO_CHUNK_SIZE * sizeof(*(mc-macroTable))); @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/rpmdb/ legacy.c rpm/rpmio/ digest.c
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: 02-Jan-2011 21:49:23 Branch: HEAD Handle: 2011010220492201 Modified files: rpm CHANGES rpm/rpmdb legacy.c rpm/rpmio digest.c Log: - drd: disable digest/libelf races for now. todo++. Summary: RevisionChanges Path 1.3542 +1 -0 rpm/CHANGES 1.46+3 -0 rpm/rpmdb/legacy.c 2.95+47 -46 rpm/rpmio/digest.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3541 -r1.3542 CHANGES --- rpm/CHANGES 2 Jan 2011 19:30:04 - 1.3541 +++ rpm/CHANGES 2 Jan 2011 20:49:22 - 1.3542 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- jbj: drd: disable digest/libelf races for now. todo++. - jbj: drd: disable path/tag data races for now. todo++. - jbj: ugid: use the re-entrant user/group lookups. - jbj: valgrind: empty macros for *everything* to see the namespace. @@ . patch -p0 '@@ .' Index: rpm/rpmdb/legacy.c $ cvs diff -u -r1.45 -r1.46 legacy.c --- rpm/rpmdb/legacy.c1 Jan 2011 14:24:19 - 1.45 +++ rpm/rpmdb/legacy.c2 Jan 2011 20:49:23 - 1.46 @@ -94,6 +94,7 @@ goto exit; yarnPossess(oneshot);/* XXX thread-safe iff compiled w USE_LOCKS */ +ANNOTATE_IGNORE_READS_AND_WRITES_BEGIN(); (void) elf_version(EV_CURRENT); /*...@-evalorder@*/ @@ -103,6 +104,7 @@ || !(ehdr.e_type == ET_DYN || ehdr.e_type == ET_EXEC)) { if (elf) (void) elf_end(elf); +ANNOTATE_IGNORE_READS_AND_WRITES_END(); yarnRelease(oneshot); goto exit; } @@ -130,6 +132,7 @@ } (void) elf_end(elf); +ANNOTATE_IGNORE_READS_AND_WRITES_END(); yarnRelease(oneshot); if (pidp != NULL bingo) { @@ . patch -p0 '@@ .' Index: rpm/rpmio/digest.c $ cvs diff -u -r2.94 -r2.95 digest.c --- rpm/rpmio/digest.c1 Jan 2011 14:19:26 - 2.94 +++ rpm/rpmio/digest.c2 Jan 2011 20:49:23 - 2.95 @@ -175,6 +175,7 @@ DIGEST_CTX ctx; if (_ctxPool == NULL) { +ANNOTATE_BENIGN_RACE(_ctxPool, ); _ctxPool = rpmioNewPool(ctx, sizeof(*ctx), -1, _ctx_debug, NULL, NULL, ctxFini); pool = _ctxPool; @@ -220,10 +221,10 @@ nctx-flags = octx-flags; nctx-asn1 = octx-asn1; nctx-param = (octx-param != NULL octx-paramsize 0) - ? memcpy(xmalloc(nctx-paramsize), octx-param, nctx-paramsize) + ? memcpy(DRD_xmalloc(nctx-paramsize), octx-param, nctx-paramsize) : NULL; nctx-salt = (octx-salt != NULL octx-blocksize 0) - ? memcpy(xmalloc(nctx-blocksize), octx-salt, nctx-blocksize) + ? memcpy(DRD_xmalloc(nctx-blocksize), octx-salt, nctx-blocksize) : NULL; return (DIGEST_CTX)rpmioLinkPoolItem((rpmioItem)nctx, __FUNCTION__, __FILE__, __LINE__); } @@ -265,7 +266,7 @@ /*...@-sizeoftype@*/ /* FIX: union, not void pointer */ ctx-paramsize = sizeof(md5Param); /*...@=sizeoftype@*/ - ctx-param = xcalloc(1, ctx-paramsize); + ctx-param = DRD_xcalloc(1, ctx-paramsize); /*...@-type@*/ ctx-Reset = (int (*)(void *)) md5Reset; ctx-Update = (int (*)(void *, const byte *, size_t)) md5Update; @@ -279,7 +280,7 @@ /*...@-sizeoftype@*/ /* FIX: union, not void pointer */ ctx-paramsize = sizeof(sha1Param); /*...@=sizeoftype@*/ - ctx-param = xcalloc(1, ctx-paramsize); + ctx-param = DRD_xcalloc(1, ctx-paramsize); /*...@-type@*/ ctx-Reset = (int (*)(void *)) sha1Reset; ctx-Update = (int (*)(void *, const byte *, size_t)) sha1Update; @@ -293,7 +294,7 @@ /*...@-sizeoftype@*/ /* FIX: union, not void pointer */ ctx-paramsize = sizeof(ripemd128Param); /*...@=sizeoftype@*/ - ctx-param = xcalloc(1, ctx-paramsize); + ctx-param = DRD_xcalloc(1, ctx-paramsize); /*...@-type@*/ ctx-Reset = (int (*)(void *)) ripemd128Reset; ctx-Update = (int (*)(void *, const byte *, size_t)) ripemd128Update; @@ -306,7 +307,7 @@ /*...@-sizeoftype@*/ /* FIX: union, not void pointer */ ctx-paramsize = sizeof(ripemd160Param); /*...@=sizeoftype@*/ - ctx-param = xcalloc(1, ctx-paramsize); + ctx-param
[CVS] RPM: rpm/ CHANGES rpm/rpmio/ rpmio_internal.h
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: 01-Jan-2011 14:49:55 Branch: HEAD Handle: 2011010113495400 Modified files: rpm CHANGES rpm/rpmio rpmio_internal.h Log: - omp: avoid thread overhead for a single digest. Summary: RevisionChanges Path 1.3531 +1 -0 rpm/CHANGES 2.128 +1 -1 rpm/rpmio/rpmio_internal.h patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3530 -r1.3531 CHANGES --- rpm/CHANGES 29 Dec 2010 22:24:19 - 1.3530 +++ rpm/CHANGES 1 Jan 2011 13:49:54 - 1.3531 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- jbj: omp: avoid thread overhead for a single digest. - jbj: rpmal: rip-out the dir/file bsearch-able store. - jbj: rpmal: stub-in the rpmfiFNBF() replacement. - jbj: revert lookup3.c+valgrind because gcc version dependent. @@ . patch -p0 '@@ .' Index: rpm/rpmio/rpmio_internal.h $ cvs diff -u -r2.127 -r2.128 rpmio_internal.h --- rpm/rpmio/rpmio_internal.h23 Jun 2010 15:52:37 - 2.127 +++ rpm/rpmio/rpmio_internal.h1 Jan 2011 13:49:54 - 2.128 @@ -562,7 +562,7 @@ if (fd-ndigests 0 buf != NULL buflen 0) { fdstat_enter(fd, FDSTAT_DIGEST); #if defined(_OPENMP) -#pragma omp parallel for +#pragma omp parallel for if (fd-ndigests 1) #endif for (i = fd-ndigests - 1; i = 0; i--) { DIGEST_CTX ctx = fd-digests[i]; @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/rpmio/ rpmmalloc.c
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: 01-Jan-2011 14:52:12 Branch: HEAD Handle: 2011010113521101 Modified files: rpm CHANGES rpm/rpmio rpmmalloc.c Log: - drd: attempt mempool annotations for valgrind drd. Summary: RevisionChanges Path 1.3532 +1 -0 rpm/CHANGES 1.30+6 -0 rpm/rpmio/rpmmalloc.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3531 -r1.3532 CHANGES --- rpm/CHANGES 1 Jan 2011 13:49:54 - 1.3531 +++ rpm/CHANGES 1 Jan 2011 13:52:11 - 1.3532 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- jbj: drd: attempt mempool annotations for valgrind drd. - jbj: omp: avoid thread overhead for a single digest. - jbj: rpmal: rip-out the dir/file bsearch-able store. - jbj: rpmal: stub-in the rpmfiFNBF() replacement. @@ . patch -p0 '@@ .' Index: rpm/rpmio/rpmmalloc.c $ cvs diff -u -r1.29 -r1.30 rpmmalloc.c --- rpm/rpmio/rpmmalloc.c 18 Oct 2010 07:08:16 - 1.29 +++ rpm/rpmio/rpmmalloc.c 1 Jan 2011 13:52:12 - 1.30 @@ -77,7 +77,9 @@ rpmioItem item; int count = 0; yarnPossess(pool-have); +VALGRIND_HG_CLEAN_MEMORY(pool, sizeof(*pool)); while ((item = pool-head) != NULL) { +VALGRIND_HG_CLEAN_MEMORY(item, pool-size); pool-head = item-pool;/* XXX pool == next */ if (item-use != NULL) item-use = yarnFreeLock(item-use); @@ -140,6 +142,7 @@ rpmioPool pool; if (item == NULL) return NULL; yarnPossess(item-use); +ANNOTATE_HAPPENS_AFTER(item); if ((pool = item-pool) != NULL pool-flags msg != NULL) { const char * imsg = (pool-dbg ? (*pool-dbg)((void *)item) : ); /*...@-modfilesys@*/ @@ -168,6 +171,7 @@ item, yarnPeekLock(item-use)+1, msg, fn, ln, imsg); /*...@=modfilesys@*/ } +ANNOTATE_HAPPENS_BEFORE(item); yarnTwist(item-use, BY, 1); return item; } @@ -186,6 +190,7 @@ assert(item-pool != NULL); /* XXX (*pool-fini) is likely necessary */ #endif yarnPossess(item-use); +ANNOTATE_HAPPENS_AFTER(item); if ((pool = item-pool) != NULL pool-flags msg != NULL) { const char * imsg = (pool-dbg ? (*pool-dbg)((void *)item) : ); /*...@-modfilesys@*/ @@ -194,6 +199,7 @@ /*...@=modfilesys@*/ } if (yarnPeekLock(item-use) = 1L) { +VALGRIND_HG_CLEAN_MEMORY(item, pool-size); if (pool != NULL pool-fini != NULL) (*pool-fini) ((void *)item); VALGRIND_MEMPOOL_FREE(pool, item + 1); @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES debug.h
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: 01-Jan-2011 14:54:32 Branch: HEAD Handle: 2011010113543200 Modified files: rpm CHANGES debug.h Log: - omp: include omp.h everywhere. Summary: RevisionChanges Path 1.3533 +1 -0 rpm/CHANGES 2.8 +4 -0 rpm/debug.h patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3532 -r1.3533 CHANGES --- rpm/CHANGES 1 Jan 2011 13:52:11 - 1.3532 +++ rpm/CHANGES 1 Jan 2011 13:54:32 - 1.3533 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- jbj: omp: include omp.h everywhere. - jbj: drd: attempt mempool annotations for valgrind drd. - jbj: omp: avoid thread overhead for a single digest. - jbj: rpmal: rip-out the dir/file bsearch-able store. @@ . patch -p0 '@@ .' Index: rpm/debug.h $ cvs diff -u -r2.7 -r2.8 debug.h --- rpm/debug.h 17 Jan 2010 12:16:30 - 2.7 +++ rpm/debug.h 1 Jan 2011 13:54:32 - 2.8 @@ -16,6 +16,10 @@ #define htons(_x) (_x) #endif +#if defined(_OPENMP) +#include omp.h +#endif + #ifdef WITH_DMALLOC #include dmalloc.h #endif @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/lib/ poptALL.c rpmal.c rpmal.h
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: 01-Jan-2011 15:11:19 Branch: HEAD Handle: 2011010114111800 Modified files: rpm CHANGES rpm/lib poptALL.c rpmal.c rpmal.h Log: - rpmal: add a memory pool. Summary: RevisionChanges Path 1.3534 +1 -0 rpm/CHANGES 2.145 +3 -0 rpm/lib/poptALL.c 2.80+52 -33 rpm/lib/rpmal.c 2.41+38 -12 rpm/lib/rpmal.h patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3533 -r1.3534 CHANGES --- rpm/CHANGES 1 Jan 2011 13:54:32 - 1.3533 +++ rpm/CHANGES 1 Jan 2011 14:11:18 - 1.3534 @@ -2,6 +2,7 @@ - jbj: omp: include omp.h everywhere. - jbj: drd: attempt mempool annotations for valgrind drd. - jbj: omp: avoid thread overhead for a single digest. +- jbj: rpmal: add a memory pool. - jbj: rpmal: rip-out the dir/file bsearch-able store. - jbj: rpmal: stub-in the rpmfiFNBF() replacement. - jbj: revert lookup3.c+valgrind because gcc version dependent. @@ . patch -p0 '@@ .' Index: rpm/lib/poptALL.c $ cvs diff -u -r2.144 -r2.145 poptALL.c --- rpm/lib/poptALL.c 13 Oct 2010 00:58:18 - 2.144 +++ rpm/lib/poptALL.c 1 Jan 2011 14:11:18 - 2.145 @@ -88,6 +88,8 @@ /*...@unchecked@*/ extern int _rpmal_debug; +/*...@unchecked@*/ +extern rpmioPool _rpmalPool; /*...@unchecked@*/ extern int _rpmds_debug; @@ -523,6 +525,7 @@ _rpmtsPool = rpmioFreePool(_rpmtsPool); _rpmtePool = rpmioFreePool(_rpmtePool); _rpmpsPool = rpmioFreePool(_rpmpsPool); +_rpmalPool = rpmioFreePool(_rpmalPool); _rpmfcPool = rpmioFreePool(_rpmfcPool); @@ . patch -p0 '@@ .' Index: rpm/lib/rpmal.c $ cvs diff -u -r2.79 -r2.80 rpmal.c --- rpm/lib/rpmal.c 29 Dec 2010 22:24:20 - 2.79 +++ rpm/lib/rpmal.c 1 Jan 2011 14:11:18 - 2.80 @@ -27,6 +27,9 @@ /*...@access fnpyKey @*/ /* XXX suggestedKeys array */ +/*...@unchecked@*/ +int _rpmal_debug = 0; + /** \ingroup rpmdep * Info about a single package to be installed. */ @@ -78,6 +81,7 @@ * Set of available packages, items, and directories. */ struct rpmal_s { +struct rpmioItem_s _item;/*! usage mutex and pool identifier. */ /*...@owned@*/ /*...@null@*/ availablePackage list; /*! Set of packages. */ struct availableIndex_s index; /*! Set of available items. */ @@ -87,20 +91,6 @@ rpmuint32_t tscolor; /*! Transaction color. */ }; -/** - * Destroy available item index. - * @param al available list - */ -static void rpmalFreeIndex(rpmal al) - /*...@modifies al @*/ -{ -availableIndex ai = al-index; -if (ai-size 0) { - ai-index = _free(ai-index); - ai-size = 0; -} -} - static inline alNum alKey2Num(/*...@unused@*/ /*...@null@*/ const rpmal al, /*...@null@*/ alKey pkgKey) /*...@*/ @@ -125,30 +115,26 @@ /*...@=nullret =temptrans =retalias @*/ } -rpmal rpmalCreate(int delta) +/** + * Destroy available item index. + * @param al available list + */ +static void rpmalFreeIndex(rpmal al) + /*...@modifies al @*/ { -rpmal al = xcalloc(1, sizeof(*al)); availableIndex ai = al-index; - -al-delta = delta; -al-size = 0; -al-list = xcalloc(al-delta, sizeof(*al-list)); -al-alloced = al-delta; - -ai-index = NULL; -ai-size = 0; - -return al; +if (ai-size 0) { + ai-index = _free(ai-index); + ai-size = 0; +} } -rpmal rpmalFree(rpmal al) +static void rpmalFini(void * _al) { +rpmal al = _al; availablePackage alp; int i; -if (al == NULL) - return NULL; - if ((alp = al-list) != NULL) for (i = 0; i al-size; i++, alp++) { (void)rpmdsFree(alp-provides); @@ -160,8 +146,41 @@ al-list = _free(al-list); al-alloced = 0; rpmalFreeIndex(al); -al = _free(al); -return NULL; +} + +/*...@unchecked@*/ /*...@only@*/ /*...@null@*/ +rpmioPool _rpmalPool; + +static rpmal rpmalGetPool(/*...@null@*/ rpmioPool pool) + /*...@globals _rpmdsPool,
[CVS] RPM: rpm/ CHANGES rpm/lib/ rpmte.c rpm/rpmdb/ header.c rpm/rpmio...
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: 01-Jan-2011 15:19:27 Branch: HEAD Handle: 2011010114192501 Modified files: rpm CHANGES rpm/lib rpmte.c rpm/rpmdb header.c rpm/rpmio digest.c rpmio.c Log: - consistent calloc-like behavior for memory pool items. Summary: RevisionChanges Path 1.3535 +1 -0 rpm/CHANGES 2.110 +3 -1 rpm/lib/rpmte.c 1.199 +3 -1 rpm/rpmdb/header.c 2.94+3 -1 rpm/rpmio/digest.c 1.232 +3 -1 rpm/rpmio/rpmio.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3534 -r1.3535 CHANGES --- rpm/CHANGES 1 Jan 2011 14:11:18 - 1.3534 +++ rpm/CHANGES 1 Jan 2011 14:19:25 - 1.3535 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- jbj: consistent calloc-like behavior for memory pool items. - jbj: omp: include omp.h everywhere. - jbj: drd: attempt mempool annotations for valgrind drd. - jbj: omp: avoid thread overhead for a single digest. @@ . patch -p0 '@@ .' Index: rpm/lib/rpmte.c $ cvs diff -u -r2.109 -r2.110 rpmte.c --- rpm/lib/rpmte.c 2 Dec 2010 15:00:50 - 2.109 +++ rpm/lib/rpmte.c 1 Jan 2011 14:19:25 - 2.110 @@ -777,7 +777,9 @@ NULL, NULL, rpmtsiFini);/* XXX _rpmtsi_debug? */ pool = _rpmtsiPool; } -return (rpmtsi) rpmioGetPool(pool, sizeof(*tsi)); +tsi = (rpmtsi) rpmioGetPool(pool, sizeof(*tsi)); +memset(((char *)tsi)+sizeof(tsi-_item), 0, sizeof(*tsi)-sizeof(tsi-_item)); +return tsi; } rpmtsi XrpmtsiInit(rpmts ts, const char * fn, unsigned int ln) @@ . patch -p0 '@@ .' Index: rpm/rpmdb/header.c $ cvs diff -u -r1.198 -r1.199 header.c --- rpm/rpmdb/header.c2 Dec 2010 14:38:08 - 1.198 +++ rpm/rpmdb/header.c1 Jan 2011 14:19:26 - 1.199 @@ -160,7 +160,9 @@ NULL, NULL, headerScrub); pool = _headerPool; } -return (Header) rpmioGetPool(pool, sizeof(*h)); +h = (Header) rpmioGetPool(pool, sizeof(*h)); +memset(((char *)h)+sizeof(h-_item), 0, sizeof(*h)-sizeof(h-_item)); +return h; } Header headerNew(void) @@ . patch -p0 '@@ .' Index: rpm/rpmio/digest.c $ cvs diff -u -r2.93 -r2.94 digest.c --- rpm/rpmio/digest.c30 May 2010 08:19:33 - 2.93 +++ rpm/rpmio/digest.c1 Jan 2011 14:19:26 - 2.94 @@ -179,7 +179,9 @@ NULL, NULL, ctxFini); pool = _ctxPool; } -return (DIGEST_CTX) rpmioGetPool(pool, sizeof(*ctx)); +ctx = (DIGEST_CTX) rpmioGetPool(pool, sizeof(*ctx)); +memset(((char *)ctx)+sizeof(ctx-_item), 0, sizeof(*ctx)-sizeof(ctx-_item)); +return ctx; } pgpHashAlgo rpmDigestAlgo(DIGEST_CTX ctx) @@ . patch -p0 '@@ .' Index: rpm/rpmio/rpmio.c $ cvs diff -u -r1.231 -r1.232 rpmio.c --- rpm/rpmio/rpmio.c 25 Dec 2010 20:39:04 - 1.231 +++ rpm/rpmio/rpmio.c 1 Jan 2011 14:19:26 - 1.232 @@ -347,7 +347,9 @@ (char * (*)(void *))fdbg, NULL, fdFini); pool = _fdPool; } -return (FD_t) rpmioGetPool(pool, sizeof(*fd)); +fd = (FD_t) rpmioGetPool(pool, sizeof(*fd)); +memset(((char *)fd)+sizeof(fd-_item), 0, sizeof(*fd)-sizeof(fd-_item)); +return fd; } /*...@-incondefs@*/ @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/rpmdb/ legacy.c
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: 01-Jan-2011 15:24:19 Branch: HEAD Handle: 2011010114241801 Modified files: rpm CHANGES rpm/rpmdb legacy.c Log: - prelink: thread-safe helper instantiation for valgrind drd. Summary: RevisionChanges Path 1.3536 +1 -0 rpm/CHANGES 1.45+37 -23 rpm/rpmdb/legacy.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3535 -r1.3536 CHANGES --- rpm/CHANGES 1 Jan 2011 14:19:25 - 1.3535 +++ rpm/CHANGES 1 Jan 2011 14:24:18 - 1.3536 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- jbj: prelink: thread-safe helper instantiation for valgrind drd. - jbj: consistent calloc-like behavior for memory pool items. - jbj: omp: include omp.h everywhere. - jbj: drd: attempt mempool annotations for valgrind drd. @@ . patch -p0 '@@ .' Index: rpm/rpmdb/legacy.c $ cvs diff -u -r1.44 -r1.45 legacy.c --- rpm/rpmdb/legacy.c10 Dec 2009 17:08:42 - 1.44 +++ rpm/rpmdb/legacy.c1 Jan 2011 14:24:19 - 1.45 @@ -74,19 +74,26 @@ GElf_Shdr shdr; GElf_Dyn dyn; int bingo; -static const char * cmd = NULL; /* XXX memleak */ +static pthread_mutex_t _mutex = PTHREAD_MUTEX_INITIALIZER; static yarnLock oneshot = NULL; /* XXX memleak */ +static const char ** cmd_av = NULL; /* XXX memleak */ +static int cmd_ac = 0; +int xx; -if (oneshot == NULL) { - cmd = rpmExpand(%{?__prelink_undo_cmd}, NULL); - VALGRIND_HG_CLEAN_MEMORY(cmd, sizeof(cmd)); +xx = pthread_mutex_lock(_mutex); +if (oneshot == NULL) oneshot = yarnNewLock(0); - VALGRIND_HG_CLEAN_MEMORY(oneshot, sizeof(oneshot)); +if (cmd_av == NULL) { + const char * cmd = rpmExpand(%{?__prelink_undo_cmd}, NULL); + (void) poptParseArgvString(cmd, cmd_ac, cmd_av); + cmd = _free(cmd); } -yarnPossess(oneshot); -if (!(cmd *cmd)) - goto elfexit; +xx = pthread_mutex_unlock(_mutex); + +if (cmd_ac == 0) + goto exit; +yarnPossess(oneshot);/* XXX thread-safe iff compiled w USE_LOCKS */ (void) elf_version(EV_CURRENT); /*...@-evalorder@*/ @@ -94,7 +101,11 @@ || elf_kind(elf) != ELF_K_ELF || gelf_getehdr(elf, ehdr) == NULL || !(ehdr.e_type == ET_DYN || ehdr.e_type == ET_EXEC)) - goto elfexit; +{ + if (elf) (void) elf_end(elf); + yarnRelease(oneshot); + goto exit; +} /*...@=evalorder@*/ bingo = 0; @@ -118,36 +129,39 @@ } } +(void) elf_end(elf); +yarnRelease(oneshot); + if (pidp != NULL bingo) { - int pipes[2]; + int pipes[2] = { -1, -1 }; pid_t pid; - int xx; xx = close(fdno); - pipes[0] = pipes[1] = -1; xx = pipe(pipes); - if (!(pid = fork())) { - const char ** av; - int ac; + pid = fork(); + switch (pid) { + case 0: + { const char ** av = NULL; + int ac = 0; xx = close(pipes[0]); xx = dup2(pipes[1], STDOUT_FILENO); xx = close(pipes[1]); - if (!poptParseArgvString(cmd, ac, av)) { + if (!poptDupArgv(cmd_ac, cmd_av, ac, av)) { av[ac-1] = path; av[ac] = NULL; unsetenv(MALLOC_CHECK_); xx = execve(av[0], (char *const *)av+1, environ); } _exit(127); + /*...@notreached@*/ + } break; + default: + fdno = pipes[0]; + xx = close(pipes[1]); + *pidp = pid; + break; } - *pidp = pid; - fdno = pipes[0]; - xx = close(pipes[1]); } - -elfexit: -if (elf) (void) elf_end(elf); -yarnRelease(oneshot); } #endif @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/lib/ verify.c
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: 01-Jan-2011 15:31:46 Branch: HEAD Handle: 2011010114314202 Modified files: rpm CHANGES rpm/lib verify.c Log: - verify: overlap header-only signature/digest with file digests. Summary: RevisionChanges Path 1.3537 +1 -0 rpm/CHANGES 2.204 +29 -14 rpm/lib/verify.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3536 -r1.3537 CHANGES --- rpm/CHANGES 1 Jan 2011 14:24:18 - 1.3536 +++ rpm/CHANGES 1 Jan 2011 14:31:42 - 1.3537 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- jbj: verify: overlap header-only signature/digest with file digests. - jbj: prelink: thread-safe helper instantiation for valgrind drd. - jbj: consistent calloc-like behavior for memory pool items. - jbj: omp: include omp.h everywhere. @@ . patch -p0 '@@ .' Index: rpm/lib/verify.c $ cvs diff -u -r2.203 -r2.204 verify.c --- rpm/lib/verify.c 24 Dec 2010 19:56:06 - 2.203 +++ rpm/lib/verify.c 1 Jan 2011 14:31:44 - 2.204 @@ -59,6 +59,7 @@ static rpmvf rpmvfFree(/*...@only@*/ rpmvf vf) /*...@modifies vf @*/ { + if (vf) { #ifdef NOTYET yarnPossess(vf-_item.use); @@ -405,6 +406,7 @@ int xx; rpmtsEmpty(ts); + #ifdef NOTYET if (hdrNum 0) (void) rpmtsAddEraseElement(ts, h, hdrNum); @@ -479,17 +481,24 @@ int showVerifyPackage(QVA_t qva, rpmts ts, Header h) { +static int scareMem = 0; rpmVerifyAttrs omitMask = ((qva-qva_flags VERIFY_ATTRS) ^ VERIFY_ATTRS); int spew = (qva-qva_mode != 'v'); /* XXX no output w verify(...) probe. */ -static int scareMem = 0; -rpmfi fi; -rpmvf vf; int ec = 0; -int rc; int i; +rpmfi fi = rpmfiNew(ts, h, RPMTAG_BASENAMES, scareMem); +uint32_t fc = rpmfiFC(fi); +#if defined(_OPENMP) + #pragma omp parallel reduction(+:ec) +#endif + { /* Verify header digest/signature. */ -if (qva-qva_flags (VERIFY_DIGEST | VERIFY_SIGNATURE)) { +if (qva-qva_flags (VERIFY_DIGEST | VERIFY_SIGNATURE)) +#if defined(_OPENMP) +#pragma omp master +#endif +{ const char * horigin = headerGetOrigin(h); const char * msg = NULL; size_t uhlen = 0; @@ -504,18 +513,14 @@ } /* Verify file digests. */ - fi = rpmfiNew(ts, h, RPMTAG_BASENAMES, scareMem); - if (fi != NULL) +if (fc 0 (qva-qva_flags VERIFY_FILES)) #if defined(_OPENMP) - #pragma omp parallel +#pragma omp for private(i) nowait #endif - { -if (qva-qva_flags VERIFY_FILES) -#if defined(_OPENMP) -#pragma omp for reduction(+:ec) private(vf,rc,i) nowait -#endif -for (i = 0; i rpmfiFC(fi); i++) { +for (i = 0; i (int)fc; i++) { int fflags = fi-fflags[i]; + rpmvf vf; + int rc; /* If not querying %config, skip config files. */ if ((qva-qva_fflags RPMFILE_CONFIG) (fflags RPMFILE_CONFIG)) @@ -539,6 +544,7 @@ ec += rc; (void) rpmvfFree(vf); + vf = NULL; } /* Run verify/sanity scripts (if any). */ @@ -547,6 +553,8 @@ #pragma omp master #endif { + int rc; + if (headerIsEntry(h, RPMTAG_VERIFYSCRIPT) || headerIsEntry(h, RPMTAG_SANITYCHECK)) { @@ -568,6 +576,8 @@ #endif { int save_noise = _rpmds_unspecified_epoch_noise; + int rc; + /*...@-mods@*/ if (rpmIsVerbose()) _rpmds_unspecified_epoch_noise = 1; @@ -590,6 +600,11 @@ rpmVSFlags vsflags, ovsflags; int ec = 0; +#if defined(_OPENMP) +(void) tagName(0); /* XXX instantiate the tagname store. */ +omp_set_nested(1); /* XXX permit nested thread teams. */ +#endif + if (qva-qva_showPackage == NULL) qva-qva_showPackage = showVerifyPackage; @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/build/ build.c parsePreamble.c parsePrep.c...
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: 01-Jan-2011 15:39:20 Branch: HEAD Handle: 2011010114391703 Modified files: rpm CHANGES rpm/build build.c parsePreamble.c parsePrep.c rpm/lib misc.c rpmts.c rpm/rpmdb rpmdb.c signature.c rpm/rpmio fts.c macro.c rpmdir.c rpmio.c rpmmg.c rpmrpc.c rpmurl.h tget.c url.c Log: - mongo: stub-in mongo:// and mongodb:// URI's. Summary: RevisionChanges Path 1.3538 +1 -0 rpm/CHANGES 2.146 +2 -0 rpm/build/build.c 2.195 +1 -0 rpm/build/parsePreamble.c 2.134 +2 -0 rpm/build/parsePrep.c 2.153 +1 -0 rpm/lib/misc.c 2.191 +4 -3 rpm/lib/rpmts.c 1.396 +5 -4 rpm/rpmdb/rpmdb.c 1.69+1 -0 rpm/rpmdb/signature.c 1.42+1 -0 rpm/rpmio/fts.c 2.250 +4 -3 rpm/rpmio/macro.c 2.13+5 -3 rpm/rpmio/rpmdir.c 1.233 +14 -9 rpm/rpmio/rpmio.c 2.14+1 -0 rpm/rpmio/rpmmg.c 2.100 +51 -19 rpm/rpmio/rpmrpc.c 1.42+2 -1 rpm/rpmio/rpmurl.h 1.21+4 -2 rpm/rpmio/tget.c 1.74+8 -0 rpm/rpmio/url.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3537 -r1.3538 CHANGES --- rpm/CHANGES 1 Jan 2011 14:31:42 - 1.3537 +++ rpm/CHANGES 1 Jan 2011 14:39:17 - 1.3538 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- jbj: mongo: stub-in mongo:// and mongodb:// URI's. - jbj: verify: overlap header-only signature/digest with file digests. - jbj: prelink: thread-safe helper instantiation for valgrind drd. - jbj: consistent calloc-like behavior for memory pool items. @@ . patch -p0 '@@ .' Index: rpm/build/build.c $ cvs diff -u -r2.145 -r2.146 build.c --- rpm/build/build.c 11 Oct 2010 18:39:35 - 2.145 +++ rpm/build/build.c 1 Jan 2011 14:39:18 - 2.146 @@ -260,6 +260,7 @@ case URL_IS_DASH: case URL_IS_PATH: case URL_IS_HKP: +case URL_IS_MONGO: /* XXX FIXME */ default: break; } @@ -321,6 +322,7 @@ case URL_IS_DASH: case URL_IS_PATH: case URL_IS_HKP: +case URL_IS_MONGO: /* XXX FIXME */ default: break; } @@ . patch -p0 '@@ .' Index: rpm/build/parsePreamble.c $ cvs diff -u -r2.194 -r2.195 parsePreamble.c --- rpm/build/parsePreamble.c 26 Oct 2010 15:58:49 - 2.194 +++ rpm/build/parsePreamble.c 1 Jan 2011 14:39:18 - 2.195 @@ -469,6 +469,7 @@ break; case URL_IS_DASH: case URL_IS_HKP: +case URL_IS_MONGO: /* XXX FIXME */ rpmlog(RPMLOG_ERR, _(Invalid icon URL: %s\n), Lurlfn); goto exit; /*...@notreached@*/ break; @@ . patch -p0 '@@ .' Index: rpm/build/parsePrep.c $ cvs diff -u -r2.133 -r2.134 parsePrep.c --- rpm/build/parsePrep.c 13 Dec 2010 19:14:54 - 2.133 +++ rpm/build/parsePrep.c 1 Jan 2011 14:39:18 - 2.134 @@ -133,6 +133,7 @@ case URL_IS_HTTP:/* XXX WRONG WRONG WRONG */ case URL_IS_FTP: /* XXX WRONG WRONG WRONG */ case URL_IS_HKP: /* XXX WRONG WRONG WRONG */ +case URL_IS_MONGO: /* XXX FIXME */ case URL_IS_PATH: case URL_IS_UNKNOWN: break; @@ -269,6 +270,7 @@ case URL_IS_HTTP:/* XXX WRONG WRONG WRONG */ case URL_IS_FTP: /* XXX WRONG WRONG WRONG */ case URL_IS_HKP: /* XXX WRONG WRONG WRONG */ +case URL_IS_MONGO: /* XXX FIXME */ case URL_IS_PATH: case URL_IS_UNKNOWN: break; @@ . patch -p0 '@@ .' Index: rpm/lib/misc.c $ cvs diff -u -r2.152 -r2.153 misc.c --- rpm/lib/misc.c3 Aug 2008 14:00:59 - 2.152 +++ rpm/lib/misc.c1 Jan 2011 14:39:19 - 2.153 @@ -36,6 +36,7 @@ break; case URL_IS_DASH: case URL_IS_HKP: + case URL_IS_MONGO: /* XXX FIXME */ break; } if (rc 0) { @@ . patch -p0 '@@ .'
[CVS] RPM: rpm/ CHANGES configure.ac rpm/lib/ psm.c
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: 29-Dec-2010 17:08:00 Branch: HEAD Handle: 2010122916075901 Modified files: rpm CHANGES configure.ac rpm/lib psm.c Log: - sync with rpm-5.4.0. Summary: RevisionChanges Path 1.3527 +4 -1 rpm/CHANGES 2.475 +2 -2 rpm/configure.ac 2.400 +4 -0 rpm/lib/psm.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3526 -r1.3527 CHANGES --- rpm/CHANGES 27 Dec 2010 16:01:20 - 1.3526 +++ rpm/CHANGES 29 Dec 2010 16:07:59 - 1.3527 @@ -1,4 +1,7 @@ -5.3.7 - 5.4a1: +5.4.0 - 5.4.1: + +5.3.7 - 5.4.0: +- jbj: remove markReplacedFiles. - jbj: build: rescusictate the ISPRAS markup. - jbj: rpmlib: rescusictate the ISPRAS markup. - jbj: rpmdb: rescusictate the ISPRAS markup. @@ . patch -p0 '@@ .' Index: rpm/configure.ac $ cvs diff -u -r2.474 -r2.475 configure.ac --- rpm/configure.ac 25 Dec 2010 18:01:38 - 2.474 +++ rpm/configure.ac 29 Dec 2010 16:07:59 - 2.475 @@ -9,7 +9,7 @@ AC_PREREQ(2.63) m4_define([PACKAGE_BUGREPORT_DEFAULT], [rpm-de...@rpm5.org]) AC_INIT([rpm],[5.4.DEVEL],[PACKAGE_BUGREPORT_DEFAULT]) -PACKAGE_TIMESTAMP=2010-09-18 dnl # [-MM[-DD[ HH[:MM +PACKAGE_TIMESTAMP=2010-12-29 dnl # [-MM[-DD[ HH[:MM AC_MSG_TITLE([RPM Package Manager (RPM)], [$PACKAGE_VERSION]) AC_MSG_HEADER([INITIALIZATION]) @@ -43,7 +43,7 @@ dnl # Interfaces added: AGE++ dnl # Interfaces removed: AGE=0 AC_SUBST(LT_CURRENT, 5) -AC_SUBST(LT_REVISION, 3) +AC_SUBST(LT_REVISION, 4) AC_SUBST(LT_AGE, 0) dnl # provide RPM exported version @@ . patch -p0 '@@ .' Index: rpm/lib/psm.c $ cvs diff -u -r2.399 -r2.400 psm.c --- rpm/lib/psm.c 18 Oct 2010 06:57:01 - 2.399 +++ rpm/lib/psm.c 29 Dec 2010 16:08:00 - 2.400 @@ -83,6 +83,7 @@ /*...@access rpmluav @*/ +#ifdef DYING /** * Mark files in database shared with this package as replaced. * @param psmpackage state machine data @@ -165,6 +166,7 @@ return RPMRC_OK; } +#endif static rpmRC createDir(rpmts ts, rpmfi fi, const char ** fn, const char * name) /*...@globals rpmGlobalMacroContext @*/ @@ -2768,8 +2770,10 @@ rc = rpmpsmNext(psm, PSM_RPMDB_ADD); if (rc) break; +#ifdef DYING if (!(rpmtsFlags(ts) RPMTRANS_FLAG_APPLYONLY)) rc = markReplacedFiles(psm); +#endif } if (psm-goal == PSM_PKGERASE) { @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/lib/ rpmrc.c rpm/rpmio/ librpmio.vers look...
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: 29-Dec-2010 17:33:54 Branch: HEAD Handle: 2010122916335201 Modified files: rpm CHANGES rpm/lib rpmrc.c rpm/rpmio librpmio.vers lookup3.c Log: - revert lookup3.c+valgrind because gcc version dependent. Summary: RevisionChanges Path 1.3528 +1 -0 rpm/CHANGES 2.291 +0 -4 rpm/lib/rpmrc.c 2.201 +0 -1 rpm/rpmio/librpmio.vers 1.8 +62 -72 rpm/rpmio/lookup3.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3527 -r1.3528 CHANGES --- rpm/CHANGES 29 Dec 2010 16:07:59 - 1.3527 +++ rpm/CHANGES 29 Dec 2010 16:33:52 - 1.3528 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- jbj: revert lookup3.c+valgrind because gcc version dependent. 5.3.7 - 5.4.0: - jbj: remove markReplacedFiles. @@ . patch -p0 '@@ .' Index: rpm/lib/rpmrc.c $ cvs diff -u -r2.290 -r2.291 rpmrc.c --- rpm/lib/rpmrc.c 25 Dec 2010 20:39:05 - 2.290 +++ rpm/lib/rpmrc.c 29 Dec 2010 16:33:53 - 2.291 @@ -1070,10 +1070,6 @@ { int rc = 0; -#ifdef WITH_VALGRIND -_running_on_valgrind = RUNNING_ON_VALGRIND; -#endif - if (!defaultsInitialized) { setDefaults(); defaultsInitialized = 1; @@ . patch -p0 '@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.200 -r2.201 librpmio.vers --- rpm/rpmio/librpmio.vers 25 Dec 2010 20:39:04 - 2.200 +++ rpm/rpmio/librpmio.vers 29 Dec 2010 16:33:53 - 2.201 @@ -881,7 +881,6 @@ mongo_simple_int_command; mongo_simple_str_command; mongo_update; -_running_on_valgrind; local: *; }; @@ . patch -p0 '@@ .' Index: rpm/rpmio/lookup3.c $ cvs diff -u -r1.7 -r1.8 lookup3.c --- rpm/rpmio/lookup3.c 25 Dec 2010 20:39:04 - 1.7 +++ rpm/rpmio/lookup3.c 29 Dec 2010 16:33:53 - 1.8 @@ -255,7 +255,7 @@ u.ptr = key; if (HASH_LITTLE_ENDIAN ((u.i 0x3) == 0)) { const rpmuint32_t *k = (const rpmuint32_t *)key;/* read 32-bit chunks */ -#ifdef WITH_VALGRIND +#ifdef VALGRIND const rpmuint8_t *k8; #endif @@ -279,29 +279,8 @@ * still catch it and complain. The masking trick does make the hash * noticably faster for short strings (like English words). */ -#ifdef WITH_VALGRIND - if(UNLIKELY(_running_on_valgrind)) { - /* make valgrind happy */ +#ifndef VALGRIND - k8 = (const rpmuint8_t *)k; - switch (size) { - case 12:c += k[2]; b+=k[1]; a+=k[0];break; - case 11:c += ((rpmuint32_t)k8[10])16; /*...@fallthrough@*/ - case 10:c += ((rpmuint32_t)k8[9])8; /*...@fallthrough@*/ - case 9:c += k8[8]; /*...@fallthrough@*/ - case 8:b += k[1]; a+=k[0]; break; - case 7:b += ((rpmuint32_t)k8[6])16; /*...@fallthrough@*/ - case 6:b += ((rpmuint32_t)k8[5])8; /*...@fallthrough@*/ - case 5:b += k8[4]; /*...@fallthrough@*/ - case 4:a += k[0]; break; - case 3:a += ((rpmuint32_t)k8[2])16; /*...@fallthrough@*/ - case 2:a += ((rpmuint32_t)k8[1])8; /*...@fallthrough@*/ - case 1:a += k8[0]; break; - case 0:goto exit; - } - - } else { -#endif switch (size) { case 12:c += k[2]; b+=k[1]; a+=k[0]; break; case 11:c += k[2]0xff; b+=k[1]; a+=k[0]; break; @@ -317,8 +296,26 @@ case 1:a += k[0]0xff; break; case 0:goto exit; } -#ifdef WITH_VALGRIND + +#else /* make valgrind happy */ + + k8 = (const rpmuint8_t *)k; + switch (size) { + case 12:c += k[2]; b+=k[1]; a+=k[0] break; + case 11:c += ((rpmuint32_t)k8[10])16; /*...@fallthrough@*/ + case 10:c += ((rpmuint32_t)k8[9])8; /*...@fallthrough@*/ + case 9:c += k8[8]; /*...@fallthrough@*/ + case 8:
[CVS] RPM: rpm/ CHANGES rpm/lib/ order.c rpmal.c rpmfi.c
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: 29-Dec-2010 20:53:07 Branch: HEAD Handle: 2010122919530601 Modified files: rpm CHANGES rpm/lib order.c rpmal.c rpmfi.c Log: - rpmal: stub-in the rpmfiFNBF() replacement. Summary: RevisionChanges Path 1.3529 +1 -0 rpm/CHANGES 2.10+1 -1 rpm/lib/order.c 2.78+8 -0 rpm/lib/rpmal.c 2.161 +4 -5 rpm/lib/rpmfi.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3528 -r1.3529 CHANGES --- rpm/CHANGES 29 Dec 2010 16:33:52 - 1.3528 +++ rpm/CHANGES 29 Dec 2010 19:53:06 - 1.3529 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- jbj: rpmal: stub-in the rpmfiFNBF() replacement. - jbj: revert lookup3.c+valgrind because gcc version dependent. 5.3.7 - 5.4.0: @@ . patch -p0 '@@ .' Index: rpm/lib/order.c $ cvs diff -u -r2.9 -r2.10 order.c --- rpm/lib/order.c 14 Dec 2010 16:53:12 - 2.9 +++ rpm/lib/order.c 29 Dec 2010 19:53:07 - 2.10 @@ -508,7 +508,7 @@ /* Avoid looking up files/directories that are owned by _THIS_ package. */ if (*N == '/') { rpmfi fi = rpmteFI(p, RPMTAG_BASENAMES); - rpmbf bf = rpmfiBloomFN(fi); + rpmbf bf = rpmfiFNBF(fi); if (bf != NULL rpmbfChk(bf, N, strlen(N)) 0) return 0; } @@ . patch -p0 '@@ .' Index: rpm/lib/rpmal.c $ cvs diff -u -r2.77 -r2.78 rpmal.c --- rpm/lib/rpmal.c 24 Dec 2010 19:50:19 - 2.77 +++ rpm/lib/rpmal.c 29 Dec 2010 19:53:07 - 2.78 @@ -6,6 +6,7 @@ #include rpmio.h #include rpmiotypes.h /* XXX fnpyKey */ +#include rpmbf.h #include rpmtag.h #include rpmtypes.h @@ -33,6 +34,8 @@ /*...@refcounted@*/ /*...@null@*/ rpmds provides; /*! Provides: dependencies. */ /*...@refcounted@*/ /*...@null@*/ +rpmbf bf;/*! File Bloom filter. */ +/*...@refcounted@*/ /*...@null@*/ rpmfi fi;/*! File info set. */ rpmuint32_t tscolor; /*! Transaction color bits. */ @@ -187,6 +190,8 @@ for (i = 0; i al-size; i++, alp++) { (void)rpmdsFree(alp-provides); alp-provides = NULL; + (void)rpmbfFree(alp-bf); + alp-bf = NULL; (void)rpmfiFree(alp-fi); alp-fi = NULL; } @@ -333,6 +338,8 @@ (void)rpmdsFree(alp-provides); alp-provides = NULL; +(void)rpmbfFree(alp-bf); +alp-bf = NULL; (void)rpmfiFree(alp-fi); alp-fi = NULL; @@ -373,6 +380,7 @@ /*...@-assignexpose -castexpose @*/ alp-provides = rpmdsLink(provides, Provides (rpmalAdd)); +alp-bf = rpmbfLink(rpmfiFNBF(fi)); alp-fi = rpmfiLink(fi, Files (rpmalAdd)); /*...@=assignexpose =castexpose @*/ @@ . patch -p0 '@@ .' Index: rpm/lib/rpmfi.c $ cvs diff -u -r2.160 -r2.161 rpmfi.c --- rpm/lib/rpmfi.c 6 Mar 2010 15:31:29 - 2.160 +++ rpm/lib/rpmfi.c 29 Dec 2010 19:53:07 - 2.161 @@ -177,8 +177,8 @@ if (fi != NULL) { if (fi-_fnbf == NULL) { char * fn = alloca(fi-fnlen + 1); - static double e = 1.0e-6; - size_t n = (fi-fc 256 ? fi-fc : 256); /* XXX necessary? */ + static double e = 1.0e-4; + size_t n = (fi-fc 10 ? fi-fc : 10); size_t m = 0; size_t k = 0; rpmbf bf; @@ -204,9 +204,7 @@ size_t rpmfiFNMaxLen(rpmfi fi) { -if (fi != NULL) - return fi-fnlen; -return 0; +return (fi ? fi-fnlen : 0); } rpmuint32_t rpmfiFFlags(rpmfi fi) @@ -1698,6 +1696,7 @@ fi-fnlen = 0; for (i = 0; i (int)fi-fc; i++) { size_t fnlen = strlen(fi-dnl[fi-dil[i]]) + strlen(fi-bnl[i]); + fnlen++;/* XXX guarantee space for pesky trailing '/' */ if (fnlen fi-fnlen) fi-fnlen = fnlen; } @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/lib/ rpmal.c
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: 29-Dec-2010 23:24:20 Branch: HEAD Handle: 2010122922241901 Modified files: rpm CHANGES rpm/lib rpmal.c Log: - rpmal: rip-out the dir/file bsearch-able store. Summary: RevisionChanges Path 1.3530 +1 -0 rpm/CHANGES 2.79+18 -347rpm/lib/rpmal.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3529 -r1.3530 CHANGES --- rpm/CHANGES 29 Dec 2010 19:53:06 - 1.3529 +++ rpm/CHANGES 29 Dec 2010 22:24:19 - 1.3530 @@ -1,4 +1,5 @@ 5.4.0 - 5.4.1: +- jbj: rpmal: rip-out the dir/file bsearch-able store. - jbj: rpmal: stub-in the rpmfiFNBF() replacement. - jbj: revert lookup3.c+valgrind because gcc version dependent. @@ . patch -p0 '@@ .' Index: rpm/lib/rpmal.c $ cvs diff -u -r2.78 -r2.79 rpmal.c --- rpm/lib/rpmal.c 29 Dec 2010 19:53:07 - 2.78 +++ rpm/lib/rpmal.c 29 Dec 2010 22:24:20 - 2.79 @@ -34,9 +34,7 @@ /*...@refcounted@*/ /*...@null@*/ rpmds provides; /*! Provides: dependencies. */ /*...@refcounted@*/ /*...@null@*/ -rpmbf bf;/*! File Bloom filter. */ -/*...@refcounted@*/ /*...@null@*/ -rpmfi fi;/*! File info set. */ +rpmbf bf;/*! File name Bloom filter. */ rpmuint32_t tscolor; /*! Transaction color bits. */ @@ -76,35 +74,6 @@ int k; /*! Current index. */ }; -typedef /*...@abstract@*/ struct fileIndexEntry_s * fileIndexEntry; -/*...@access fileindexen...@*/ - -/** \ingroup rpmdep - * A file to be installed/removed. - */ -struct fileIndexEntry_s { -/*...@dependent@*/ /*...@relnull@*/ -const char * baseName; /*! File basename. */ -size_t baseNameLen; -alNum pkgNum;/*! Containing package index. */ -rpmuint32_t ficolor; -}; - -typedef /*...@abstract@*/ struct dirInfo_s * dirInfo; -/*...@access diri...@*/ - -/** \ingroup rpmdep - * A directory to be installed/removed. - */ -struct dirInfo_s { -/*...@owned@*/ /*...@relnull@*/ -const char * dirName;/*! Directory path (+ trailing '/'). */ -size_t dirNameLen; /*! No. bytes in directory path. */ -/*...@owned@*/ -fileIndexEntry files;/*! Array of files in directory. */ -int numFiles;/*! No. files in directory. */ -}; - /** \ingroup rpmdep * Set of available packages, items, and directories. */ @@ -116,9 +85,6 @@ int size;/*! No. of pkgs in list. */ int alloced; /*! No. of pkgs allocated for list. */ rpmuint32_t tscolor; /*! Transaction color. */ -int numDirs; /*! No. of directories. */ -/*...@owned@*/ /*...@null@*/ -dirInfo dirs;/*! Set of directories. */ }; /** @@ -172,15 +138,12 @@ ai-index = NULL; ai-size = 0; -al-numDirs = 0; -al-dirs = NULL; return al; } rpmal rpmalFree(rpmal al) { availablePackage alp; -dirInfo die; int i; if (al == NULL) @@ -192,18 +155,8 @@ alp-provides = NULL; (void)rpmbfFree(alp-bf); alp-bf = NULL; - (void)rpmfiFree(alp-fi); - alp-fi = NULL; } -if ((die = al-dirs) != NULL) -for (i = 0; i al-numDirs; i++, die++) { - die-dirName = _free(die-dirName); - die-files = _free(die-files); -} -al-dirs = _free(al-dirs); -al-numDirs = 0; - al-list = _free(al-list); al-alloced = 0; rpmalFreeIndex(al); @@ -211,137 +164,20 @@ return NULL; } -/** - * Compare two directory info entries by name (qsort/bsearch). - * @param one1st directory info - * @param two2nd directory info - * @return result of comparison - */ -static int dieCompare(const void * one, const void * two) - /*...@*/ -{ -/*...@-castexpose@*/ -const dirInfo a = (const dirInfo) one; -const dirInfo b = (const dirInfo) two; -/*...@=castexpose@*/ -int lenchk = (int)a-dirNameLen - (int)b-dirNameLen; - -if (lenchk || a-dirNameLen == 0) - return lenchk; - -if (a-dirName == NULL
[CVS] RPM: rpm/ CHANGES rpm/lib/auto/ .cvsignore Makefile.am desc.in t...
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: 27-Dec-2010 16:13:03 Branch: HEAD Handle: 2010122715130201 Modified files: rpm CHANGES rpm/lib/auto.cvsignore Makefile.am desc.in types.in Log: - rpmlib: rescusictate the ISPRAS markup. Summary: RevisionChanges Path 1.3525 +1 -0 rpm/CHANGES 1.2 +2 -0 rpm/lib/auto/.cvsignore 1.3 +5 -1 rpm/lib/auto/Makefile.am 1.3 +28 -7 rpm/lib/auto/desc.in 1.4 +23 -1 rpm/lib/auto/types.in patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3524 -r1.3525 CHANGES --- rpm/CHANGES 27 Dec 2010 03:49:42 - 1.3524 +++ rpm/CHANGES 27 Dec 2010 15:13:02 - 1.3525 @@ -1,4 +1,5 @@ 5.3.7 - 5.4a1: +- jbj: rpmlib: rescusictate the ISPRAS markup. - jbj: rpmdb: rescusictate the ISPRAS markup. - jbj: rpmio: add a queue link pointer to all rpm objects. - jbj: i18n: update po files (Translation Project). @@ . patch -p0 '@@ .' Index: rpm/lib/auto/.cvsignore $ cvs diff -u -r1.1 -r1.2 .cvsignore --- rpm/lib/auto/.cvsignore 5 Mar 2010 20:12:26 - 1.1 +++ rpm/lib/auto/.cvsignore 27 Dec 2010 15:13:03 - 1.2 @@ -1,8 +1,10 @@ +compat_reports descriptors_storage header_compile_errors Makefile Makefile.in desc +logs types test_results tests @@ . patch -p0 '@@ .' Index: rpm/lib/auto/Makefile.am $ cvs diff -u -r1.2 -r1.3 Makefile.am --- rpm/lib/auto/Makefile.am 2 Nov 2010 16:55:55 - 1.2 +++ rpm/lib/auto/Makefile.am 27 Dec 2010 15:13:03 - 1.3 @@ -2,6 +2,9 @@ EXTRA_DIST = types desc +# http://ispras.linuxfoundation.org/index.php/ABI_compliance_checker +ABITEST = @abs_top_srcdir@/scripts/abi-compliance-checker.pl +# http://ispras.linuxfoundation.org/index.php/API_Sanity_Autotest AUTOTEST = @abs_top_srcdir@/scripts/api-sanity-autotest.pl TDIRS = descriptors_storage header_compile_errors test_results tests @@ -11,4 +14,5 @@ check-local: -[ -d tests ] ${AUTOTEST} -l lib -d desc -clean - -${AUTOTEST} -l lib -d desc -st types -gen -build -run + -${AUTOTEST} -l lib -d desc -st types -td test_data \ + -gen -splint-specs -build -run @@ . patch -p0 '@@ .' Index: rpm/lib/auto/desc.in $ cvs diff -u -r1.2 -r1.3 desc.in --- rpm/lib/auto/desc.in 6 Mar 2010 01:06:08 - 1.2 +++ rpm/lib/auto/desc.in 27 Dec 2010 15:13:03 - 1.3 @@ -8,6 +8,8 @@ manifest.h misc.h !-- psm.h -- +!-- rpm46compat.h -- +!-- rpm4compat.h -- rpmal.h rpmcli.h rpmds.h @@ -27,9 +29,6 @@ libs @abs_top_builddir@/lib/.libs/librpm.so - @abs_top_builddir@/rpmdb/.libs/librpmdb.so - @abs_top_builddir@/rpmio/.libs/librpmio.so - @abs_top_builddir@/misc/.libs/librpmmisc.so /libs include_paths @@ -42,10 +41,6 @@ @CFLAGS@ /gcc_options -opaque_types -/opaque_types -skip_interfaces -/skip_interfaces include_preamble stdint.h stdio.h @@ -58,5 +53,31 @@ rpmevr.h rpmtag.h /include_preamble + libs_depend + @abs_top_builddir@/rpmdb/.libs/librpmdb.so + @abs_top_builddir@/rpmio/.libs/librpmio.so + @abs_top_builddir@/misc/.libs/librpmmisc.so /libs_depend + +opaque_types +/opaque_types + +skip_interfaces +/skip_interfaces + +skip_headers + /usr/include/rpm/*.h +/skip_headers + +skip_libs +/skip_libs + +libgroup +/libgroup + +out_params +/out_params + +skip_warnings +/skip_warnings @@ . patch -p0 '@@ .' Index: rpm/lib/auto/types.in $ cvs diff -u -r1.3 -r1.4 types.in --- rpm/lib/auto/types.in 6 Mar 2010 15:30:12 - 1.3 +++ rpm/lib/auto/types.in 27 Dec 2010 15:13:03 - 1.4 @@ -1,6 +1,27 @@ ?xml version=1.0 encoding=UTF-8? collection +spec_type + kind common_env /kind + global_code +#include rpmcli.h +#include poptALL.h +#include assert.h +static struct poptOption optionsTable[] = { + { NULL, '\0',
[CVS] RPM: rpm/ CHANGES rpm/build/auto/ .cvsignore Makefile.am desc.in...
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: 27-Dec-2010 17:01:25 Branch: HEAD Handle: 2010122716012003 Modified files: rpm CHANGES rpm/build/auto .cvsignore Makefile.am desc.in types.in Log: - build: rescusictate the ISPRAS markup. Summary: RevisionChanges Path 1.3526 +1 -0 rpm/CHANGES 1.2 +2 -0 rpm/build/auto/.cvsignore 1.3 +6 -1 rpm/build/auto/Makefile.am 1.2 +28 -4 rpm/build/auto/desc.in 1.2 +23 -1 rpm/build/auto/types.in patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3525 -r1.3526 CHANGES --- rpm/CHANGES 27 Dec 2010 15:13:02 - 1.3525 +++ rpm/CHANGES 27 Dec 2010 16:01:20 - 1.3526 @@ -1,4 +1,5 @@ 5.3.7 - 5.4a1: +- jbj: build: rescusictate the ISPRAS markup. - jbj: rpmlib: rescusictate the ISPRAS markup. - jbj: rpmdb: rescusictate the ISPRAS markup. - jbj: rpmio: add a queue link pointer to all rpm objects. @@ . patch -p0 '@@ .' Index: rpm/build/auto/.cvsignore $ cvs diff -u -r1.1 -r1.2 .cvsignore --- rpm/build/auto/.cvsignore 6 Mar 2010 03:29:14 - 1.1 +++ rpm/build/auto/.cvsignore 27 Dec 2010 16:01:23 - 1.2 @@ -1,8 +1,10 @@ +compat_reports descriptors_storage header_compile_errors Makefile Makefile.in desc +logs types test_results tests @@ . patch -p0 '@@ .' Index: rpm/build/auto/Makefile.am $ cvs diff -u -r1.2 -r1.3 Makefile.am --- rpm/build/auto/Makefile.am2 Nov 2010 16:55:55 - 1.2 +++ rpm/build/auto/Makefile.am27 Dec 2010 16:01:23 - 1.3 @@ -2,6 +2,9 @@ EXTRA_DIST = types desc +# http://ispras.linuxfoundation.org/index.php/ABI_compliance_checker +ABITEST = @abs_top_srcdir@/scripts/abi-compliance-checker.pl +# http://ispras.linuxfoundation.org/index.php/API_Sanity_Autotest AUTOTEST = @abs_top_srcdir@/scripts/api-sanity-autotest.pl TDIRS = descriptors_storage header_compile_errors test_results tests @@ -11,4 +14,6 @@ check-local: -[ -d tests ] ${AUTOTEST} -l build -d desc -clean - -${AUTOTEST} -l build -d desc -st types -gen -build -run + -${AUTOTEST} -l build -d desc -st types -td test_data \ + -gen -splint-specs -build -run + @@ . patch -p0 '@@ .' Index: rpm/build/auto/desc.in $ cvs diff -u -r1.1 -r1.2 desc.in --- rpm/build/auto/desc.in6 Mar 2010 03:29:14 - 1.1 +++ rpm/build/auto/desc.in27 Dec 2010 16:01:23 - 1.2 @@ -10,10 +10,6 @@ libs @abs_top_builddir@/build/.libs/librpmbuild.so - @abs_top_builddir@/lib/.libs/librpm.so - @abs_top_builddir@/rpmdb/.libs/librpmdb.so - @abs_top_builddir@/rpmio/.libs/librpmio.so - @abs_top_builddir@/misc/.libs/librpmmisc.so /libs include_paths @@ -43,5 +39,33 @@ rpmevr.h rpmtag.h /include_preamble + libs_depend + @abs_top_builddir@/lib/.libs/librpm.so + @abs_top_builddir@/rpmdb/.libs/librpmdb.so + @abs_top_builddir@/rpmio/.libs/librpmio.so + @abs_top_builddir@/misc/.libs/librpmmisc.so /libs_depend + +opaque_types +/opaque_types + +skip_interfaces +/skip_interfaces + +skip_headers + /usr/include/rpm/*.h +/skip_headers + +skip_libs +/skip_libs + +libgroup +/libgroup + +out_params +/out_params + +skip_warnings +/skip_warnings + @@ . patch -p0 '@@ .' Index: rpm/build/auto/types.in $ cvs diff -u -r1.1 -r1.2 types.in --- rpm/build/auto/types.in 6 Mar 2010 03:29:14 - 1.1 +++ rpm/build/auto/types.in 27 Dec 2010 16:01:23 - 1.2 @@ -1,7 +1,28 @@ ?xml version=1.0 encoding=UTF-8? collection -!-- rpmio/rpmhash.h -- +spec_type + kind common_env /kind + global_code +#include rpmcli.h /* XXX rpmioItem */ +#include poptALL.h +#include assert.h +static struct poptOption optionsTable[] = { + { NULL, '\0', POPT_ARG_INCLUDE_TABLE, rpmcliAllPoptTable, 0, + Common options for all rpmio executables:, NULL }, + POPT_AUTOHELP +
[CVS] RPM: rpm/ CHANGES rpm/rpmio/ rpmiotypes.h
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: 26-Dec-2010 16:55:45 Branch: HEAD Handle: 2010122615554400 Modified files: rpm CHANGES rpm/rpmio rpmiotypes.h Log: - rpmio: add a queue link pointer to all rpm objects. Summary: RevisionChanges Path 1.3523 +1 -0 rpm/CHANGES 1.49+1 -0 rpm/rpmio/rpmiotypes.h patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3522 -r1.3523 CHANGES --- rpm/CHANGES 26 Dec 2010 14:41:51 - 1.3522 +++ rpm/CHANGES 26 Dec 2010 15:55:44 - 1.3523 @@ -1,4 +1,5 @@ 5.3.7 - 5.4a1: +- jbj: rpmio: add a queue link pointer to all rpm objects. - jbj: i18n: update po files (Translation Project). - jbj: rpmio: rescusitate the ISPRAS markup. - proyvind: lookup3: fix valgrind #ifdef and perform runtime check for @@ . patch -p0 '@@ .' Index: rpm/rpmio/rpmiotypes.h $ cvs diff -u -r1.48 -r1.49 rpmiotypes.h --- rpm/rpmio/rpmiotypes.h21 Dec 2010 05:57:37 - 1.48 +++ rpm/rpmio/rpmiotypes.h26 Dec 2010 15:55:44 - 1.49 @@ -36,6 +36,7 @@ void *use; /*! use count -- return to pool when zero */ /*...@kept@*/ /*...@null@*/ void *pool; /*! pool (or NULL if malloc'd) */ +void *next; /*! factory queue linkage */ #if defined(__LCLINT__) /*...@refs@*/ int nrefs; /*! (unused) keep splint happy */ @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/rpmdb/auto/ .cvsignore Makefile.am desc.in...
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: 27-Dec-2010 04:49:43 Branch: HEAD Handle: 2010122703494201 Modified files: rpm CHANGES rpm/rpmdb/auto .cvsignore Makefile.am desc.in types.in Log: - rpmdb: rescusictate the ISPRAS markup. Summary: RevisionChanges Path 1.3524 +3 -2 rpm/CHANGES 1.2 +3 -0 rpm/rpmdb/auto/.cvsignore 1.3 +7 -1 rpm/rpmdb/auto/Makefile.am 1.3 +33 -7 rpm/rpmdb/auto/desc.in 1.3 +129 -12rpm/rpmdb/auto/types.in patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3523 -r1.3524 CHANGES --- rpm/CHANGES 26 Dec 2010 15:55:44 - 1.3523 +++ rpm/CHANGES 27 Dec 2010 03:49:42 - 1.3524 @@ -1,11 +1,12 @@ 5.3.7 - 5.4a1: +- jbj: rpmdb: rescusictate the ISPRAS markup. - jbj: rpmio: add a queue link pointer to all rpm objects. - jbj: i18n: update po files (Translation Project). - jbj: rpmio: rescusitate the ISPRAS markup. - proyvind: lookup3: fix valgrind #ifdef and perform runtime check for valgrind in stead. -- jbj: ISPRAS: upgrade to abi-compliance-checker-1.21.9. -- jbj: ISPRAS: upgrade to api-sanity-autotest-1.11. +- jbj: ispras: upgrade to abi-compliance-checker-1.21.9. +- jbj: ispras: upgrade to api-sanity-autotest-1.11. - jbj: rpmdb: disable Depcache, --install and make test todo++. - jbj: distcheck: tests: move target from check to test. - jbj: distcheck: no globs, only explict lists, for EXTRA_DIST. @@ . patch -p0 '@@ .' Index: rpm/rpmdb/auto/.cvsignore $ cvs diff -u -r1.1 -r1.2 .cvsignore --- rpm/rpmdb/auto/.cvsignore 5 Mar 2010 13:18:31 - 1.1 +++ rpm/rpmdb/auto/.cvsignore 27 Dec 2010 03:49:43 - 1.2 @@ -1,8 +1,11 @@ +compat_reports descriptors_storage header_compile_errors Makefile Makefile.in desc +logs types test_results tests +var @@ . patch -p0 '@@ .' Index: rpm/rpmdb/auto/Makefile.am $ cvs diff -u -r1.2 -r1.3 Makefile.am --- rpm/rpmdb/auto/Makefile.am2 Nov 2010 16:55:56 - 1.2 +++ rpm/rpmdb/auto/Makefile.am27 Dec 2010 03:49:43 - 1.3 @@ -2,6 +2,9 @@ EXTRA_DIST = types desc +# http://ispras.linuxfoundation.org/index.php/ABI_compliance_checker +ABITEST =@abs_top_srcdir@/scripts/abi-compliance-checker.pl +# http://ispras.linuxfoundation.org/index.php/API_Sanity_Autotest AUTOTEST = @abs_top_srcdir@/scripts/api-sanity-autotest.pl TDIRS = descriptors_storage header_compile_errors test_results tests @@ -10,5 +13,8 @@ rm -rf $(TDIRS) check-local: + rm -rf ./var -[ -d tests ] ${AUTOTEST} -l rpmdb -d desc -clean - -${AUTOTEST} -l rpmdb -d desc -st types -gen -build -run + -${AUTOTEST} -l rpmdb -d desc -st types -td test_data \ + -gen -splint-specs -build -run + @@ . patch -p0 '@@ .' Index: rpm/rpmdb/auto/desc.in $ cvs diff -u -r1.2 -r1.3 desc.in --- rpm/rpmdb/auto/desc.in6 Mar 2010 16:06:40 - 1.2 +++ rpm/rpmdb/auto/desc.in27 Dec 2010 03:49:43 - 1.3 @@ -3,6 +3,7 @@ /version headers +!-- db_emu.h -- fprint.h !-- header_internal.h -- !-- legacy.h -- @@ -13,7 +14,9 @@ rpmdpkg.h rpmevr.h !-- rpmlio.h -- +!-- rpmmdb.h -- rpmns.h + rpmrepo.h rpmtag.h !-- rpmtd.h -- !-- rpmtxn.h -- @@ -24,8 +27,8 @@ libs @abs_top_builddir@/rpmdb/.libs/librpmdb.so - @abs_top_builddir@/rpmio/.libs/librpmio.so - @abs_top_builddir@/misc/.libs/librpmmisc.so + /usr/lib/libdb-5.1.so + /usr/lib/libdb_sql-5.1.so /libs include_paths @@ -37,18 +40,41 @@ @CFLAGS@ /gcc_options -opaque_types -/opaque_types -skip_interfaces -/skip_interfaces include_preamble stdint.h stdio.h stdlib.h string.h - assert.h rpmiotypes.h rpmtypes.h /include_preamble + libs_depend + @abs_top_builddir@/rpmio/.libs/librpmio.so + @abs_top_builddir@/misc/.libs/librpmmisc.so /libs_depend + +opaque_types +/opaque_types + +skip_interfaces +/skip_interfaces +
[CVS] RPM: rpm/ CHANGES configure.ac
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: 25-Dec-2010 19:01:44 Branch: HEAD Handle: 2010122518013701 Modified files: rpm CHANGES configure.ac Log: - distcheck: make internal neon opt-in, avoid GSS-API wrestling. Summary: RevisionChanges Path 1.3517 +1 -0 rpm/CHANGES 2.474 +1 -1 rpm/configure.ac patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3516 -r1.3517 CHANGES --- rpm/CHANGES 24 Dec 2010 19:56:05 - 1.3516 +++ rpm/CHANGES 25 Dec 2010 18:01:37 - 1.3517 @@ -1,4 +1,5 @@ 5.3.7 - 5.4a1: +- jbj: distcheck: make internal neon opt-in, avoid GSS-API wrestling. - jbj: verify: fix: NULL fnpyKey caused doubled parentdir/linkto check. - jbj: rpmal: add common exit point to control flow. - jbj: rpmdb: use Depchache store by default again. @@ . patch -p0 '@@ .' Index: rpm/configure.ac $ cvs diff -u -r2.473 -r2.474 configure.ac --- rpm/configure.ac 16 Dec 2010 01:55:42 - 2.473 +++ rpm/configure.ac 25 Dec 2010 18:01:38 - 2.474 @@ -1364,7 +1364,7 @@ RPM_CHECK_LIB( [Neon], [neon], [neon], [ne_session_create], [ne_session.h], -[yes,internal:external:none], [neon:src:src], +[no,internal:external:none], [neon:src:src], [ if test .$RPM_CHECK_LIB_LOCATION = .internal; then AC_DEFINE(HAVE_NEON_NE_GET_RESPONSE_HEADER, 1, [Define to 1 if you have ne_get_response_header() in libneon.]) @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/scripts/ Makefile.am rpm/tests/ Makefile.a...
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: 25-Dec-2010 19:07:08 Branch: HEAD Handle: 2010122518070701 Modified files: rpm CHANGES rpm/scripts Makefile.am rpm/tests Makefile.am Log: - distcheck: tests: move target from check to test. - distcheck: no globs, only explict lists, for EXTRA_DIST. Summary: RevisionChanges Path 1.3518 +2 -0 rpm/CHANGES 1.76+6 -3 rpm/scripts/Makefile.am 1.96+32 -5 rpm/tests/Makefile.am patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3517 -r1.3518 CHANGES --- rpm/CHANGES 25 Dec 2010 18:01:37 - 1.3517 +++ rpm/CHANGES 25 Dec 2010 18:07:07 - 1.3518 @@ -1,4 +1,6 @@ 5.3.7 - 5.4a1: +- jbj: distcheck: tests: move target from check to test. +- jbj: distcheck: no globs, only explict lists, for EXTRA_DIST. - jbj: distcheck: make internal neon opt-in, avoid GSS-API wrestling. - jbj: verify: fix: NULL fnpyKey caused doubled parentdir/linkto check. - jbj: rpmal: add common exit point to control flow. @@ . patch -p0 '@@ .' Index: rpm/scripts/Makefile.am $ cvs diff -u -r1.75 -r1.76 Makefile.am --- rpm/scripts/Makefile.am 1 Dec 2010 16:02:41 - 1.75 +++ rpm/scripts/Makefile.am 25 Dec 2010 18:07:08 - 1.76 @@ -16,8 +16,10 @@ executabledeps.sh \ find-debuginfo.sh find-lang.sh find-prov.pl find-req.pl \ find-provides.ksyms find-requires.ksyms kmodtool \ - cpanflute cpanflute2 Specfile.pm find-provides.perl \ - find-requires.perl freshen.sh gendiff getpo.sh http.req \ + cpanflute cpanflute2 Specfile.pm \ + find-provides.perl find-requires.perl \ + find-provides.php find-requires.php \ + freshen.sh gendiff getpo.sh http.req \ check-java-closure.sh java.prov.sh java.req.sh \ javadeps.sh libtooldeps.sh \ mono-find-provides mono-find-requires \ @@ -36,7 +38,8 @@ xiu_stdenv \ yum_filelists_sqlite yum_other_sqlite yum_primary_sqlite \ yum_filelists_xml yum_other_xml yum_primary_xml \ - find-*.php find-php-* ${HELPERS} + find-php-provides find-php-requires \ + ${HELPERS} all: @@ . patch -p0 '@@ .' Index: rpm/tests/Makefile.am $ cvs diff -u -r1.95 -r1.96 Makefile.am --- rpm/tests/Makefile.am 3 Dec 2010 18:23:19 - 1.95 +++ rpm/tests/Makefile.am 25 Dec 2010 18:07:08 - 1.96 @@ -2,10 +2,35 @@ AUTOMAKE_OPTIONS = 1.4 foreign -# Note: *.src.rpm's cannot be added here because of suffix rules. EXTRA_DIST = \ - genpgp.sh genssl.sh tpgp.c tssl.c ref/[^C]* ref/.alldigests \ - gpsee/*.js spew spew.conf + genpgp.sh \ + genssl.sh \ + gpsee/gffi.js \ + ref/.alldigests \ + ref/DB_CONFIG \ + ref/edos.manifest \ + ref/edos.qa.1 \ + ref/edos.qa.2 \ + ref/filelists.xml \ + ref/hkp \ + ref/manifest \ + ref/other.xml \ + ref/popt.Kv \ + ref/popt.Kv-beecrypt \ + ref/popt.Kv-nss \ + ref/popt.Kv-ssl \ + ref/popt.xml \ + ref/popt.yaml \ + ref/primary.xml \ + ref/querytags \ + ref/repomd.xml \ + ref/rpmdb.sql \ + ref/showrc \ + ref/sqldb-basic.out \ + ref/sqldb-basic.sql \ + ref/version \ + spew spew.conf \ + tpgp.c tssl.c EXTRA_PROGRAMS = tecdsa thkp tkey tpgp trsa tssl @@ -592,7 +617,7 @@ @echo `${now}` == $...@d}: Exporting ... | tee -a $...@d}/export for F in $/*.rpm; do \ echo -- $$F; \ - ${rpm} -qp --nosignature --json $$F | tee -a $@ | ${mongo} ${mongoserver}/$...@d}; \ + ${rpm} -qp --nosignature --json $$F | tee -a $@ | ${mongo} ${mongoserver}/$...@d} /dev/null; \ done @echo `${now}` == $...@d}: Exported. | tee -a $...@d}/export @@ -851,11 +876,13 @@ ;; \ esac -check-local: check-init check-pubkeys check-markup check-macros \ +test:check-init check-pubkeys check-markup check-macros \ check-build check-sign check-ACID check-install \ check-query check-verify check-rpmv3\ check-triggers check-convert # check-tools # check-repo +check-local: check-init
[CVS] RPM: rpm/ CHANGES rpm/macros/ macros.in
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: 25-Dec-2010 20:10:31 Branch: HEAD Handle: 2010122519103001 Modified files: rpm CHANGES rpm/macros macros.in Log: - rpmdb: disable Depcache, --install and make test todo++. Summary: RevisionChanges Path 1.3519 +1 -0 rpm/CHANGES 1.42+2 -2 rpm/macros/macros.in patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3518 -r1.3519 CHANGES --- rpm/CHANGES 25 Dec 2010 18:07:07 - 1.3518 +++ rpm/CHANGES 25 Dec 2010 19:10:30 - 1.3519 @@ -1,4 +1,5 @@ 5.3.7 - 5.4a1: +- jbj: rpmdb: disable Depcache, --install and make test todo++. - jbj: distcheck: tests: move target from check to test. - jbj: distcheck: no globs, only explict lists, for EXTRA_DIST. - jbj: distcheck: make internal neon opt-in, avoid GSS-API wrestling. @@ . patch -p0 '@@ .' Index: rpm/macros/macros.in $ cvs diff -u -r1.41 -r1.42 macros.in --- rpm/macros/macros.in 24 Dec 2010 17:31:41 - 1.41 +++ rpm/macros/macros.in 25 Dec 2010 19:10:31 - 1.42 @@ -1,7 +1,7 @@ #/*! \page config_macros Default configuration: @USRLIBRPM@/macros # \verbatim # -# $Id: macros.in,v 1.41 2010/12/24 17:31:41 jbj Exp $ +# $Id: macros.in,v 1.42 2010/12/25 19:10:31 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 @@ -334,7 +334,7 @@ %_bt_dupsortbt_dupsort primary=Packages %_h_dupsort h_dupsort primary=Packages -%_dbi_tags_3 Packages:Depcache:Name:Version:Release:Arch:Os:Basenames:Group:Providename:Requirename:Conflictname:Obsoletename:Triggername:Dirnames:Installtid:Sigmd5:Sha1header:Filedigests:Pubkeys:Packagecolor:Nvra:Sourcepkgid:Filepaths:Seqno:Btree:Hash:Queue:Recno +%_dbi_tags_3 Packages:Name:Version:Release:Arch:Os:Basenames:Group:Providename:Requirename:Conflictname:Obsoletename:Triggername:Dirnames:Installtid:Sigmd5:Sha1header:Filedigests:Pubkeys:Packagecolor:Nvra:Sourcepkgid:Filepaths:Seqno:Btree:Hash:Queue:Recno %_dbi_tags_4 Packages:Name:Version:Release:Arch:Os:Basenames:Group:Providename:Requirename:Conflictname:Obsoletename:Triggername:Dirnames:Installtid:Sigmd5:Sha1header:Filedigests:Pubkeys:Packagecolor:Nvra:Sourcepkgid:Filepaths @@ . __ RPM Package Managerhttp://rpm5.org CVS Sources Repositoryrpm-cvs@rpm5.org
[CVS] RPM: rpm/ CHANGES rpm/lib/ rpmrc.c rpm/rpmio/ librpmio.vers look...
RPM Package Manager, CVS Repository http://rpm5.org/cvs/ Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 25-Dec-2010 21:39:05 Branch: HEAD Handle: 2010122520390302 Modified files: rpm CHANGES rpm/lib rpmrc.c rpm/rpmio librpmio.vers lookup3.c rpmio.c Log: lookup3: fix valgrind #ifdef and perform runtime check for valgrind in stead. Summary: RevisionChanges Path 1.3521 +2 -0 rpm/CHANGES 2.290 +4 -0 rpm/lib/rpmrc.c 2.200 +1 -0 rpm/rpmio/librpmio.vers 1.7 +72 -62 rpm/rpmio/lookup3.c 1.231 +4 -0 rpm/rpmio/rpmio.c patch -p0 '@@ .' Index: rpm/CHANGES $ cvs diff -u -r1.3520 -r1.3521 CHANGES --- rpm/CHANGES 25 Dec 2010 19:31:46 - 1.3520 +++ rpm/CHANGES 25 Dec 2010 20:39:03 - 1.3521 @@ -1,4 +1,6 @@ 5.3.7 - 5.4a1: +- proyvind: lookup3: fix valgrind #ifdef and perform runtime check for + valgrind in stead. - jbj: ISPRAS: upgrade to abi-compliance-checker-1.21.9. - jbj: ISPRAS: upgrade to api-sanity-autotest-1.11. - jbj: rpmdb: disable Depcache, --install and make test todo++. @@ . patch -p0 '@@ .' Index: rpm/lib/rpmrc.c $ cvs diff -u -r2.289 -r2.290 rpmrc.c --- rpm/lib/rpmrc.c 10 Dec 2009 18:52:18 - 2.289 +++ rpm/lib/rpmrc.c 25 Dec 2010 20:39:05 - 2.290 @@ -1070,6 +1070,10 @@ { int rc = 0; +#ifdef WITH_VALGRIND +_running_on_valgrind = RUNNING_ON_VALGRIND; +#endif + if (!defaultsInitialized) { setDefaults(); defaultsInitialized = 1; @@ . patch -p0 '@@ .' Index: rpm/rpmio/librpmio.vers $ cvs diff -u -r2.199 -r2.200 librpmio.vers --- rpm/rpmio/librpmio.vers 11 Oct 2010 18:39:37 - 2.199 +++ rpm/rpmio/librpmio.vers 25 Dec 2010 20:39:04 - 2.200 @@ -881,6 +881,7 @@ mongo_simple_int_command; mongo_simple_str_command; mongo_update; +_running_on_valgrind; local: *; }; @@ . patch -p0 '@@ .' Index: rpm/rpmio/lookup3.c $ cvs diff -u -r1.6 -r1.7 lookup3.c --- rpm/rpmio/lookup3.c 25 Dec 2008 18:36:36 - 1.6 +++ rpm/rpmio/lookup3.c 25 Dec 2010 20:39:04 - 1.7 @@ -255,7 +255,7 @@ u.ptr = key; if (HASH_LITTLE_ENDIAN ((u.i 0x3) == 0)) { const rpmuint32_t *k = (const rpmuint32_t *)key;/* read 32-bit chunks */ -#ifdef VALGRIND +#ifdef WITH_VALGRIND const rpmuint8_t *k8; #endif @@ -279,29 +279,13 @@ * still catch it and complain. The masking trick does make the hash * noticably faster for short strings (like English words). */ -#ifndef VALGRIND - - switch (size) { - case 12:c += k[2]; b+=k[1]; a+=k[0]; break; - case 11:c += k[2]0xff; b+=k[1]; a+=k[0]; break; - case 10:c += k[2]0x; b+=k[1]; a+=k[0]; break; - case 9:c += k[2]0xff; b+=k[1]; a+=k[0]; break; - case 8:b += k[1]; a+=k[0]; break; - case 7:b += k[1]0xff; a+=k[0]; break; - case 6:b += k[1]0x; a+=k[0]; break; - case 5:b += k[1]0xff; a+=k[0]; break; - case 4:a += k[0]; break; - case 3:a += k[0]0xff; break; - case 2:a += k[0]0x; break; - case 1:a += k[0]0xff; break; - case 0:goto exit; - } - -#else /* make valgrind happy */ +#ifdef WITH_VALGRIND + if(UNLIKELY(_running_on_valgrind)) { + /* make valgrind happy */ k8 = (const rpmuint8_t *)k; switch (size) { - case 12:c += k[2]; b+=k[1]; a+=k[0] break; + case 12:c += k[2]; b+=k[1]; a+=k[0];break; case 11:c += ((rpmuint32_t)k8[10])16; /*...@fallthrough@*/ case 10:c += ((rpmuint32_t)k8[9])8; /*...@fallthrough@*/ case 9:c += k8[8]; /*...@fallthrough@*/ @@ -316,6 +300,25 @@ case 0:goto exit; } + } else { +#endif + switch (size) { + case 12:c += k[2]; b+=k[1]; a+=k[0]; break; + case 11:c += k[2]0xff; b+=k[1]; a+=k[0];