From c97e7e6599f7392ba57782ea36137cb07ab0c4593858904cd2cb8a88b0e4657d Mon Sep 17 00:00:00 2001 From: OBS User buildservice-autocommit Date: Mon, 20 Jun 2011 07:23:52 +0000 Subject: [PATCH 1/3] Updating link to change in openSUSE:Factory/rpm revision 147.0 OBS-URL: https://build.opensuse.org/package/show/Base:System/rpm?expand=0&rev=e9b7b17a2fa73578dc59f1ba95b885af --- rpm-python.spec | 8 +------- rpm.spec | 13 +------------ 2 files changed, 2 insertions(+), 19 deletions(-) diff --git a/rpm-python.spec b/rpm-python.spec index 4581741..dd4b08e 100644 --- a/rpm-python.spec +++ b/rpm-python.spec @@ -26,14 +26,13 @@ License: GPLv2+ Group: System/Packages Summary: Python Bindings for Manipulating RPM Packages Version: 4.9.0 -Release: 9 +Release: 10 Requires: rpm = %{version} %py_requires Source99: rpm.spec %{expand:%(sed -n -e '/^Source:/,/^BuildRoot:/p' <%_sourcedir/rpm.spec)} %global with_python 1 - %description The rpm-python package contains a module that permits applications written in the Python programming language to use the interface @@ -52,7 +51,6 @@ Authors: %prep %{expand:%(sed -n -e '/^%%prep/,/^%%install/p' <%_sourcedir/rpm.spec | sed -e '1d' -e '$d')} - %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/usr/lib @@ -66,15 +64,11 @@ python %py_libdir/py_compile.py *.py python -O %py_libdir/py_compile.py *.py popd - %clean rm -rf $RPM_BUILD_ROOT - %files %defattr(-,root,root) %{_libdir}/python*/*/* - - %changelog diff --git a/rpm.spec b/rpm.spec index 96d66b1..36cb1b0 100644 --- a/rpm.spec +++ b/rpm.spec @@ -29,7 +29,7 @@ PreReq: %insserv_prereq %fillup_prereq permissions AutoReqProv: on Summary: The RPM Package Manager Version: 4.9.0 -Release: 17 +Release: 19 Source: rpm-%{version}.tar.bz2 Source1: RPM-HOWTO.tar.bz2 Source2: RPM-Tips.html.tar.bz2 @@ -123,7 +123,6 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build # avoid bootstrapping problem %define _binary_payload w9.bzdio - %description RPM Package Manager is the main tool for managing the software packages of the SuSE Linux distribution. @@ -147,7 +146,6 @@ Group: System/Packages Requires: rpm = %{version} Requires: popt-devel - %description devel This package contains the RPM C library and header files. These development files will simplify the process of writing programs which @@ -197,7 +195,6 @@ cp -a %{SOURCE4} suse_macros rm -f m4/libtool.m4 rm -f m4/lt*.m4 - %build export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -ffunction-sections" export LDFLAGS="-Wl,-Bsymbolic-functions -ffunction-sections" @@ -217,7 +214,6 @@ rm po/de.gmo make %{?_smp_mflags} make convertdb1 - %install mkdir -p $RPM_BUILD_ROOT/usr/lib mkdir -p $RPM_BUILD_ROOT/usr/share/locale @@ -291,11 +287,9 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la rm -f $RPM_BUILD_ROOT%{_libdir}/rpm-plugins/*.la sh $RPM_BUILD_ROOT/usr/lib/rpm/find-lang.sh $RPM_BUILD_ROOT rpm - %clean rm -rf $RPM_BUILD_ROOT - %post %{fillup_only -an services} %run_permissions @@ -309,14 +303,12 @@ fi # delete no longer maintained databases rm -f var/lib/rpm/Filemd5s var/lib/rpm/Filedigests var/lib/rpm/Requireversion var/lib/rpm/Provideversion - %postun %{insserv_cleanup} %verifyscript %verify_permissions -f /usr/lib/rpm/permlist - %files -f rpm.lang %defattr(-,root,root) %doc CHANGES.gz COPYING GROUPS @@ -344,7 +336,6 @@ rm -f var/lib/rpm/Filemd5s var/lib/rpm/Filedigests var/lib/rpm/Requireversion va %verify(not mode) %dir %attr(755,root,root) /usr/src/packages/RPMS/* /var/adm/fillup-templates/sysconfig.services-rpm - %files devel %defattr(644,root,root,755) /usr/include/rpm @@ -354,6 +345,4 @@ rm -f var/lib/rpm/Filemd5s var/lib/rpm/Filedigests var/lib/rpm/Requireversion va %{_libdir}/librpmsign.so %{_libdir}/pkgconfig/rpm.pc - - %changelog From edbd0dd1bd4832dee58cacc2c5945bc95f89604e07f876e7733fa7a53e2173ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Schr=C3=B6der?= Date: Tue, 19 Jul 2011 13:04:21 +0000 Subject: [PATCH 2/3] update to rpm-4.9.1 OBS-URL: https://build.opensuse.org/package/show/Base:System/rpm?expand=0&rev=132 --- autodeps.diff | 39 +++++++-------- buildpipe.diff | 26 ++-------- chownwarn.diff | 50 ------------------- debugedit-canon-fix.diff | 26 +++++----- emptychangelog.diff | 11 ----- emptyprep.diff | 13 ----- fileattrs.diff | 100 ++++++++++++++++---------------------- langnoc.diff | 12 ++--- magic_and_path.diff | 23 --------- rpm-4.9.0.tar.bz2 | 3 -- rpm-4.9.1.tar.bz2 | 3 ++ rpm-beecrypt.diff | 81 +++++++++++++++--------------- rpm-python.spec | 2 +- rpm.changes | 9 ++++ rpm.spec | 15 ++---- rpmdb_get_open_flags.diff | 13 ----- safemacro.diff | 21 -------- verify_p.diff | 49 ------------------- 18 files changed, 140 insertions(+), 356 deletions(-) delete mode 100644 chownwarn.diff delete mode 100644 emptychangelog.diff delete mode 100644 emptyprep.diff delete mode 100644 magic_and_path.diff delete mode 100644 rpm-4.9.0.tar.bz2 create mode 100644 rpm-4.9.1.tar.bz2 delete mode 100644 rpmdb_get_open_flags.diff delete mode 100644 safemacro.diff delete mode 100644 verify_p.diff diff --git a/autodeps.diff b/autodeps.diff index f8ad21f..ef0d3de 100644 --- a/autodeps.diff +++ b/autodeps.diff @@ -1,5 +1,5 @@ ---- ./autodeps/linux.prov.orig 2010-12-03 12:11:57.000000000 +0000 -+++ ./autodeps/linux.prov 2011-05-11 14:27:40.000000000 +0000 +--- ./autodeps/linux.prov.orig 2011-07-12 11:28:13.000000000 +0000 ++++ ./autodeps/linux.prov 2011-07-18 16:47:39.000000000 +0000 @@ -2,60 +2,72 @@ # This script reads filenames from STDIN and outputs any relevant provides @@ -101,26 +101,27 @@ + printf "%s\n" "${filelist[@]}" | /usr/lib/rpm/find-provides.ksyms "$@" exit 0 ---- ./autodeps/linux.req.orig 2010-12-03 12:11:57.000000000 +0000 -+++ ./autodeps/linux.req 2011-05-11 14:28:45.000000000 +0000 -@@ -19,18 +19,21 @@ fi +--- ./autodeps/linux.req.orig 2011-07-15 09:32:41.000000000 +0000 ++++ ./autodeps/linux.req 2011-07-18 16:51:24.000000000 +0000 +@@ -18,20 +18,21 @@ fi + # # --- Grab the file manifest and classify files. - #filelist=`sed "s/['\"]/\\\&/g"` +-#filelist=`sed "s/['\"]/\\\&/g"` -filelist=`sed "s/[]['\"*?{}]/\\\\\&/g"` --exelist=`echo $filelist | xargs -r file | grep -Ev ":.* (commands|script) " | \ -- grep ":.*executable" | cut -d: -f1` --scriptlist=`echo $filelist | xargs -r file | \ -- grep -E ":.* (commands|script) " | cut -d: -f1` --liblist=`echo $filelist | xargs -r file | \ -- grep ":.*shared object" | cut -d : -f1` +-exelist=`echo $filelist | xargs -r file | \ +#filelist=`sed "s/[]['\"*?{}]/\\\\\&/g"` +filelist=($(grep -Ev '/usr/doc/|/usr/share/doc/')) +exelist=($(printf "%s\0" "${filelist[@]}" | xargs -0 -r file | \ -+ egrep -v ":.* (commands|script) " | \ + grep -Ev ":.* (commands|script)[, ]" | \ +- grep ":.*executable" | cut -d: -f1` +-scriptlist=`echo $filelist | xargs -r file | \ +- grep -E ":.* (commands|script)[, ]" | cut -d: -f1` +-liblist=`echo $filelist | xargs -r file | \ +- grep ":.*shared object" | cut -d : -f1` + grep ":.*executable" | cut -d: -f1)) +scriptlist=($(printf "%s\0" "${filelist[@]}" | xargs -0 -r file | \ -+ egrep ":.* (commands|script) " | cut -d: -f1)) ++ grep -E ":.* (commands|script)[, ]" | cut -d: -f1)) +liblist=($(printf "%s\0" "${filelist[@]}" | xargs -0 -r file | \ + grep ":.*shared object" | cut -d : -f1)) @@ -136,7 +137,7 @@ # # --- Alpha does not mark 64bit dependencies -@@ -42,12 +45,12 @@ esac +@@ -43,12 +44,12 @@ esac if [ "$needed" -eq 0 ]; then # # --- Executable dependency sonames. @@ -154,7 +155,7 @@ gsub(/'\''"/,"\\&",$1); printf "%s'$lib64'\n", $1 } -@@ -56,12 +59,12 @@ if [ "$needed" -eq 0 ]; then +@@ -57,12 +58,12 @@ if [ "$needed" -eq 0 ]; then # # --- Library dependency sonames. @@ -172,7 +173,7 @@ gsub(/'\''"/,"\\&",$1); printf "%s'$lib64'\n", $1 } -@@ -71,30 +74,30 @@ fi +@@ -72,30 +73,30 @@ fi # # --- Script interpreters. @@ -215,7 +216,7 @@ /^$/ { START=0; } /^Dynamic Section:$/ { START=1; } (START==1) && /NEEDED/ { -@@ -111,7 +114,7 @@ for f in $liblist $exelist ; do +@@ -112,7 +113,7 @@ for f in $liblist $exelist ; do sub(/:/, "", $3); LIBNAME=$3; } @@ -224,7 +225,7 @@ print LIBNAME "(" $4 ")'$lib64'"; } ' -@@ -119,17 +122,29 @@ done | sort -u +@@ -120,17 +121,29 @@ done | sort -u # # --- Perl modules. diff --git a/buildpipe.diff b/buildpipe.diff index 9493c95..1867bda 100644 --- a/buildpipe.diff +++ b/buildpipe.diff @@ -1,6 +1,6 @@ ---- build/rpmfc.c.orig 2011-06-06 11:27:32.000000000 +0000 -+++ build/rpmfc.c 2011-06-09 08:30:25.000000000 +0000 -@@ -165,12 +165,14 @@ static int sigpipe_init(void) +--- ./build/rpmfc.c.orig 2011-07-18 17:40:37.000000000 +0000 ++++ ./build/rpmfc.c 2011-07-18 17:40:56.000000000 +0000 +@@ -182,12 +182,14 @@ static int sigpipe_init(void) fcntl(_sigpipe[1], F_SETFD, (fcntl(_sigpipe[1], F_GETFD)|FD_CLOEXEC)); /* XXX SIGPIPE too, but NSPR disables it already, dont mess with it */ signal(SIGCHLD, sigpipe_handler); @@ -15,23 +15,3 @@ close(_sigpipe[0]); close(_sigpipe[1]); _sigpipe[0] = -1; -@@ -290,6 +292,7 @@ static StringBuf getOutputFrom(ARGV_t ar - if (FD_ISSET(fromProg[0], &ibits)) { - int nbr = read(fromProg[0], buf, sizeof(buf)-1); - if (nbr < 0 && errno == EINTR) continue; -+ if (nbr == 0) break; /* EOF, we're done */ - if (nbr < 0) { - myerrno = errno; - break; -@@ -298,10 +301,9 @@ static StringBuf getOutputFrom(ARGV_t ar - appendStringBuf(readBuff, buf); - } - -- /* Child exited, we're done */ -+ /* Child exited, we're maybe done */ - if (FD_ISSET(sigpipe, &ibits)) { - while (read(sigpipe, buf, sizeof(buf)) > 0) {}; -- break; - } - } - diff --git a/chownwarn.diff b/chownwarn.diff deleted file mode 100644 index fccaa1a..0000000 --- a/chownwarn.diff +++ /dev/null @@ -1,50 +0,0 @@ -Do not abort if chown/chmod fails but the file is already correct - ---- ./lib/fsm.c.orig 2011-03-02 06:46:13.000000000 +0000 -+++ ./lib/fsm.c 2011-05-10 16:30:55.000000000 +0000 -@@ -1449,6 +1449,11 @@ static int fsmRename(FSM_t fsm) - static int fsmChown(FSM_t fsm) - { - int rc = chown(fsm->path, fsm->sb.st_uid, fsm->sb.st_gid); -+ if (rc < 0) { -+ struct stat st; -+ if (lstat(fsm->path, &st) == 0 && st.st_uid == fsm->sb.st_uid && st.st_gid == fsm->sb.st_gid) -+ rc = 0; -+ } - if (_fsm_debug && (FSM_CHOWN & FSM_SYSCALL)) - rpmlog(RPMLOG_DEBUG, " %8s (%s, %d, %d) %s\n", fileStageString(FSM_CHOWN), - fsm->path, (int)fsm->sb.st_uid, (int)fsm->sb.st_gid, -@@ -1461,6 +1466,11 @@ static int fsmLChown(FSM_t fsm) - { - int rc = 0; - rc = lchown(fsm->path, fsm->sb.st_uid, fsm->sb.st_gid); -+ if (rc < 0) { -+ struct stat st; -+ if (lstat(fsm->path, &st) == 0 && st.st_uid == fsm->sb.st_uid && st.st_gid == fsm->sb.st_gid) -+ rc = 0; -+ } - if (_fsm_debug && (FSM_LCHOWN & FSM_SYSCALL)) - rpmlog(RPMLOG_DEBUG, " %8s (%s, %d, %d) %s\n", fileStageString(FSM_LCHOWN), - fsm->path, (int)fsm->sb.st_uid, (int)fsm->sb.st_gid, -@@ -1472,6 +1482,11 @@ static int fsmLChown(FSM_t fsm) - static int fsmChmod(FSM_t fsm) - { - int rc = chmod(fsm->path, (fsm->sb.st_mode & 07777)); -+ if (rc < 0) { -+ struct stat st; -+ if (lstat(fsm->path, &st) == 0 && (st.st_mode & 07777) == (fsm->sb.st_mode & 07777)) -+ rc = 0; -+ } - if (_fsm_debug && (FSM_CHMOD & FSM_SYSCALL)) - rpmlog(RPMLOG_DEBUG, " %8s (%s, 0%04o) %s\n", fileStageString(FSM_CHMOD), - fsm->path, (unsigned)(fsm->sb.st_mode & 07777), -@@ -2033,6 +2048,9 @@ if (!(fsm->mapFlags & CPIO_ALL_HARDLINKS - st->st_mtime = rpmfiFMtimeIndex(fi, fsm->ix); - rc = fsmUtime(fsm); - st->st_mtime = mtime; -+ /* utime error is not critical for directories */ -+ if (rc && S_ISDIR(st->st_mode)) -+ rc = 0; - } - #if WITH_CAP - if (!rc && !S_ISDIR(st->st_mode) && !getuid()) { diff --git a/debugedit-canon-fix.diff b/debugedit-canon-fix.diff index f2be21b..4f758fe 100644 --- a/debugedit-canon-fix.diff +++ b/debugedit-canon-fix.diff @@ -1,6 +1,6 @@ ---- ./tools/debugedit.c.orig 2011-05-20 11:26:04.000000000 +0000 -+++ ./tools/debugedit.c 2011-05-20 11:27:56.000000000 +0000 -@@ -158,7 +158,7 @@ strptr (DSO *dso, int sec, off_t offset) +--- ./tools/debugedit.c.orig 2011-07-18 16:53:12.000000000 +0000 ++++ ./tools/debugedit.c 2011-07-18 17:15:27.000000000 +0000 +@@ -162,7 +162,7 @@ strptr (DSO *dso, int sec, off_t offset) { if (data->d_buf && offset >= data->d_off @@ -9,7 +9,7 @@ return (const char *) data->d_buf + (offset - data->d_off); } } -@@ -496,9 +496,10 @@ static int +@@ -503,9 +503,10 @@ static int edit_dwarf2_line (DSO *dso, uint32_t off, char *comp_dir, int phase) { unsigned char *ptr = debug_sections[DEBUG_LINE].data, *dir; @@ -21,15 +21,15 @@ unsigned char opcode_base; uint32_t value, dirt_cnt; size_t comp_dir_len = strlen (comp_dir); -@@ -542,6 +543,7 @@ edit_dwarf2_line (DSO *dso, uint32_t off +@@ -549,6 +550,7 @@ edit_dwarf2_line (DSO *dso, uint32_t off return 1; } -+ line_base = (char) (ptr[2] & 0xff); - opcode_base = ptr[4]; - ptr = dir = ptr + 4 + opcode_base; ++ line_base = (char) (ptr[2 + (value >= 4)] & 0xff); + opcode_base = ptr[4 + (value >= 4)]; + ptr = dir = ptr + 4 + (value >= 4) + opcode_base; -@@ -553,13 +555,13 @@ edit_dwarf2_line (DSO *dso, uint32_t off +@@ -560,13 +562,13 @@ edit_dwarf2_line (DSO *dso, uint32_t off ++value; } @@ -45,7 +45,7 @@ ptr = (unsigned char *) strchr ((char *)ptr, 0) + 1; } ptr++; -@@ -672,7 +674,7 @@ edit_dwarf2_line (DSO *dso, uint32_t off +@@ -679,7 +681,7 @@ edit_dwarf2_line (DSO *dso, uint32_t off if (dest_dir) { @@ -54,7 +54,7 @@ size_t base_len = strlen (base_dir); size_t dest_len = strlen (dest_dir); size_t shrank = 0; -@@ -686,11 +688,14 @@ edit_dwarf2_line (DSO *dso, uint32_t off +@@ -693,11 +695,14 @@ edit_dwarf2_line (DSO *dso, uint32_t off ptr = dir; } else @@ -71,7 +71,7 @@ char *orig = strdup ((const char *) srcptr); -@@ -717,10 +722,13 @@ edit_dwarf2_line (DSO *dso, uint32_t off +@@ -724,10 +729,13 @@ edit_dwarf2_line (DSO *dso, uint32_t off if (shrank > 0) { @@ -86,7 +86,7 @@ { memset (ptr, 'X', shrank); ptr += shrank; -@@ -756,21 +764,26 @@ edit_dwarf2_line (DSO *dso, uint32_t off +@@ -763,21 +771,26 @@ edit_dwarf2_line (DSO *dso, uint32_t off } dirty_section (DEBUG_STR); } diff --git a/emptychangelog.diff b/emptychangelog.diff deleted file mode 100644 index cdcc15c..0000000 --- a/emptychangelog.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- ./build/parseChangelog.c.orig 2011-05-23 14:19:48.000000000 +0000 -+++ ./build/parseChangelog.c 2011-05-23 14:20:36.000000000 +0000 -@@ -238,7 +238,7 @@ int parseChangelog(rpmSpec spec) - } - } - -- if (addChangelog(spec->packages->header, sb)) { -+ if (sb && addChangelog(spec->packages->header, sb)) { - goto exit; - } - res = nextPart; diff --git a/emptyprep.diff b/emptyprep.diff deleted file mode 100644 index 1b53278..0000000 --- a/emptyprep.diff +++ /dev/null @@ -1,13 +0,0 @@ -Do not segfault if the prep section is empty - ---- build/parsePrep.c.orig 2011-05-13 16:22:59.000000000 +0000 -+++ build/parsePrep.c 2011-05-13 16:23:41.000000000 +0000 -@@ -518,7 +518,7 @@ int parsePrep(rpmSpec spec) - } - } - -- for (ARGV_const_t lines = saveLines; *lines; lines++) { -+ for (ARGV_const_t lines = saveLines; lines && *lines; lines++) { - res = 0; - if (rstreqn(*lines, "%setup", sizeof("%setup")-1)) { - res = doSetupMacro(spec, *lines); diff --git a/fileattrs.diff b/fileattrs.diff index 155a52b..9ee1f62 100644 --- a/fileattrs.diff +++ b/fileattrs.diff @@ -1,50 +1,5 @@ -Index: fileattrs/debuginfo.attr -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ fileattrs/debuginfo.attr 2011-06-06 16:16:00.853820498 +0200 -@@ -0,0 +1,2 @@ -+%__debuginfo_provides %{_rpmconfigdir}/debuginfo.prov -+%__debuginfo_path ^/usr/lib/debug/ -Index: fileattrs/elf.attr -=================================================================== ---- fileattrs/elf.attr.orig 2011-06-06 16:15:01.591403879 +0200 -+++ fileattrs/elf.attr 2011-06-06 16:16:00.853820498 +0200 -@@ -1,4 +1,5 @@ - %__elf_provides %{_rpmconfigdir}/elfdeps --provides %{?__filter_GLIBC_PRIVATE:--filter-private} - %__elf_requires %{_rpmconfigdir}/elfdeps --requires %{?__filter_GLIBC_PRIVATE:--filter-private} --%__elf_magic ^ELF (32|64)-bit.*$ -+%__elf_magic ^ELF (32|64)-bit.*executable - %__elf_flags exeonly -+%__elf_exclude_path ^/usr/lib/debug/ -Index: fileattrs/elflib.attr -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ fileattrs/elflib.attr 2011-06-06 16:16:00.854820404 +0200 -@@ -0,0 +1,4 @@ -+%__elflib_provides %{_rpmconfigdir}/elfdeps --assume-exec --provides %{?__filter_GLIBC_PRIVATE:--filter-private} -+%__elflib_requires %{_rpmconfigdir}/elfdeps --assume-exec --requires %{?__filter_GLIBC_PRIVATE:--filter-private} -+%__elflib_magic ^ELF (32|64)-bit.*shared object -+%__elflib_exclude_path ^/usr/lib/debug/ -Index: fileattrs/firmware.attr -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ fileattrs/firmware.attr 2011-06-06 16:16:00.854820404 +0200 -@@ -0,0 +1,2 @@ -+%__firmware_provides %{_rpmconfigdir}/firmware.prov -+%__firmware_path /lib/firmware/ -Index: fileattrs/ksyms.attr -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ fileattrs/ksyms.attr 2011-06-06 16:16:00.854820404 +0200 -@@ -0,0 +1,4 @@ -+%__ksyms_provides %{_rpmconfigdir}/find-provides.ksyms %name -+%__ksyms_requires %{_rpmconfigdir}/find-requires.ksyms %name -+%__ksyms_supplements %{_rpmconfigdir}/find-supplements.ksyms %name -+%__ksyms_path (/lib/modules/.*\.ko(\.gz)?)|(/boot/vmlinu[xz].*)$ -Index: fileattrs/Makefile.am -=================================================================== ---- fileattrs/Makefile.am.orig 2011-06-06 16:15:01.590403974 +0200 -+++ fileattrs/Makefile.am 2011-06-06 16:16:08.852066946 +0200 +--- ./fileattrs/Makefile.am.orig 2011-07-12 11:28:13.000000000 +0000 ++++ ./fileattrs/Makefile.am 2011-07-18 17:29:11.000000000 +0000 @@ -5,7 +5,8 @@ include $(top_srcdir)/rpm.am fattrsdir = $(rpmconfigdir)/fileattrs @@ -56,30 +11,57 @@ Index: fileattrs/Makefile.am + debuginfo.attr elflib.attr firmware.attr ksyms.attr sysvinit.attr EXTRA_DIST = $(fattrs_DATA) -Index: fileattrs/perl.attr -=================================================================== ---- fileattrs/perl.attr.orig 2011-06-06 16:15:01.591403879 +0200 -+++ fileattrs/perl.attr 2011-06-06 16:16:00.855820310 +0200 +--- ./fileattrs/debuginfo.attr.orig 2011-07-18 17:29:11.000000000 +0000 ++++ ./fileattrs/debuginfo.attr 2011-07-18 17:29:11.000000000 +0000 +@@ -0,0 +1,2 @@ ++%__debuginfo_provides %{_rpmconfigdir}/debuginfo.prov ++%__debuginfo_path ^/usr/lib/debug/ +--- ./fileattrs/elf.attr.orig 2011-07-15 09:32:41.000000000 +0000 ++++ ./fileattrs/elf.attr 2011-07-18 17:31:52.000000000 +0000 +@@ -1,4 +1,5 @@ + %__elf_provides %{_rpmconfigdir}/elfdeps --provides %{?__filter_GLIBC_PRIVATE:--filter-private} + %__elf_requires %{_rpmconfigdir}/elfdeps --requires %{?__filter_GLIBC_PRIVATE:--filter-private} +-%__elf_magic ^(sticky )?ELF (32|64)-bit.*$ ++%__elf_magic ^(setuid )?(setgid )?(sticky )?ELF (32|64)-bit.*executable + %__elf_flags exeonly ++%__elf_exclude_path ^/usr/lib/debug/ +--- ./fileattrs/elflib.attr.orig 2011-07-18 17:29:11.000000000 +0000 ++++ ./fileattrs/elflib.attr 2011-07-18 17:32:28.000000000 +0000 +@@ -0,0 +1,4 @@ ++%__elflib_provides %{_rpmconfigdir}/elfdeps --assume-exec --provides %{?__filter_GLIBC_PRIVATE:--filter-private} ++%__elflib_requires %{_rpmconfigdir}/elfdeps --assume-exec --requires %{?__filter_GLIBC_PRIVATE:--filter-private} ++%__elflib_magic ^(setuid )?(setgid )?(sticky )?ELF (32|64)-bit.*shared object ++%__elflib_exclude_path ^/usr/lib/debug/ +--- ./fileattrs/firmware.attr.orig 2011-07-18 17:29:11.000000000 +0000 ++++ ./fileattrs/firmware.attr 2011-07-18 17:29:11.000000000 +0000 +@@ -0,0 +1,2 @@ ++%__firmware_provides %{_rpmconfigdir}/firmware.prov ++%__firmware_path /lib/firmware/ +--- ./fileattrs/ksyms.attr.orig 2011-07-18 17:29:11.000000000 +0000 ++++ ./fileattrs/ksyms.attr 2011-07-18 17:29:11.000000000 +0000 +@@ -0,0 +1,4 @@ ++%__ksyms_provides %{_rpmconfigdir}/find-provides.ksyms %name ++%__ksyms_requires %{_rpmconfigdir}/find-requires.ksyms %name ++%__ksyms_supplements %{_rpmconfigdir}/find-supplements.ksyms %name ++%__ksyms_path (/lib/modules/.*\.ko(\.gz)?)|(/boot/vmlinu[xz].*)$ +--- ./fileattrs/perl.attr.orig 2011-07-12 11:28:13.000000000 +0000 ++++ ./fileattrs/perl.attr 2011-07-18 17:29:11.000000000 +0000 @@ -1,3 +1,4 @@ -%__perl_requires %{_rpmconfigdir}/perl.req +# disabled for now +#%__perl_requires %{_rpmconfigdir}/perl.req %__perl_magic ^.*perl .*$ %__perl_flags exeonly -Index: fileattrs/perllib.attr -=================================================================== ---- fileattrs/perllib.attr.orig 2011-06-06 16:15:01.591403879 +0200 -+++ fileattrs/perllib.attr 2011-06-06 16:16:00.855820310 +0200 +--- ./fileattrs/perllib.attr.orig 2011-07-12 11:28:13.000000000 +0000 ++++ ./fileattrs/perllib.attr 2011-07-18 17:29:11.000000000 +0000 @@ -1,3 +1,4 @@ %__perllib_provides %{_rpmconfigdir}/perl.prov -%__perllib_requires %{_rpmconfigdir}/perl.req +#disabled for now +#%__perllib_requires %{_rpmconfigdir}/perl.req %__perllib_magic ^Perl[[:digit:]] module source.* -Index: fileattrs/sysvinit.attr -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ fileattrs/sysvinit.attr 2011-06-06 16:16:00.856820216 +0200 +--- ./fileattrs/sysvinit.attr.orig 2011-07-18 17:29:11.000000000 +0000 ++++ ./fileattrs/sysvinit.attr 2011-07-18 17:29:11.000000000 +0000 @@ -0,0 +1,2 @@ +%__sysvinit_provides %{_rpmconfigdir}/sysvinitdeps.sh --provides +%__sysvinit_path ^/etc/init\.d/ diff --git a/langnoc.diff b/langnoc.diff index ab99287..97cb9fa 100644 --- a/langnoc.diff +++ b/langnoc.diff @@ -1,6 +1,6 @@ ---- ./macros.in.orig 2011-05-11 15:59:44.000000000 +0000 -+++ ./macros.in 2011-05-11 16:45:30.000000000 +0000 -@@ -1247,6 +1247,7 @@ EOF +--- ./macros.in.orig 2011-07-18 17:18:24.000000000 +0000 ++++ ./macros.in 2011-07-18 17:18:36.000000000 +0000 +@@ -1249,6 +1249,7 @@ EOF # %files -f %{name}.lang # %find_lang %{_rpmconfigdir}/find-lang.sh %{buildroot} @@ -8,8 +8,8 @@ # Commands + opts to use for retrieving remote files # Proxy opts can be set through --httpproxy/--httpport popt aliases, ---- ./scripts/find-lang.sh.orig 2011-05-11 14:53:34.000000000 +0000 -+++ ./scripts/find-lang.sh 2011-05-11 16:45:30.000000000 +0000 +--- ./scripts/find-lang.sh.orig 2011-07-18 17:18:24.000000000 +0000 ++++ ./scripts/find-lang.sh 2011-07-18 17:18:36.000000000 +0000 @@ -62,6 +62,8 @@ MO= MO_NAME=$NAME.lang ALL_NAME=# @@ -99,7 +99,7 @@ /^$/d' >> $MO_NAME_NEW fi @@ -182,6 +203,8 @@ s:'"$TOP_DIR"':: - '"$ALL_NAME$QT"'s:^\([^%].*/[^/]\+_\([a-zA-Z]\{2\}_[a-zA-Z]\{2\}\)\.qm$\):%lang(\2) \1: + '"$ALL_NAME$QT"'s:^\([^%].*/[^/]\+_\([a-zA-Z]\{2\}[_@].*\)\.qm$\):%lang(\2) \1: '"$ALL_NAME$QT"'s:^\([^%].*/[^/]\+_\([a-zA-Z]\{2\}\)\.qm$\):%lang(\2) \1: s:^[^%].*:: +'"$ONLY_C"'/%lang(C)/!d diff --git a/magic_and_path.diff b/magic_and_path.diff deleted file mode 100644 index de74ea7..0000000 --- a/magic_and_path.diff +++ /dev/null @@ -1,23 +0,0 @@ -Allow "magic_and_path" flag to configure that files must -match both regexpes to be sent to the dependency generator. - ---- build/rpmfc.c.orig 2011-05-16 10:46:20.000000000 +0000 -+++ build/rpmfc.c 2011-05-16 11:02:56.000000000 +0000 -@@ -630,10 +631,13 @@ static void rpmfcAttributes(rpmfc fc, co - continue; - - /* Add attributes on libmagic type & path pattern matches */ -- if (regMatch((*attr)->magic, ftype)) -- argvAddTokens(&fc->fattrs[fc->ix], (*attr)->name); -- if (regMatch((*attr)->path, path)) -- argvAddTokens(&fc->fattrs[fc->ix], (*attr)->name); -+ if ((*attr)->magic && (*attr)->path && hasAttr((*attr)->flags, "magic_and_path")) { -+ if (regMatch((*attr)->magic, ftype) && regMatch((*attr)->path, path)) -+ argvAddTokens(&fc->fattrs[fc->ix], (*attr)->name); -+ } else { -+ if (regMatch((*attr)->magic, ftype) || regMatch((*attr)->path, path)) -+ argvAddTokens(&fc->fattrs[fc->ix], (*attr)->name); -+ } - } - } - diff --git a/rpm-4.9.0.tar.bz2 b/rpm-4.9.0.tar.bz2 deleted file mode 100644 index 5a813cd..0000000 --- a/rpm-4.9.0.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9af1a56b05fc2c54935062e04a3e02999110c74d00bfd5b5c5ff3a03dde61688 -size 3410799 diff --git a/rpm-4.9.1.tar.bz2 b/rpm-4.9.1.tar.bz2 new file mode 100644 index 0000000..7d60669 --- /dev/null +++ b/rpm-4.9.1.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b85f6c7c17ef1810362110779a198e25f81c0f683470e9ab21d4d2fdd48ee899 +size 3497021 diff --git a/rpm-beecrypt.diff b/rpm-beecrypt.diff index ecf9284..355c391 100644 --- a/rpm-beecrypt.diff +++ b/rpm-beecrypt.diff @@ -1,5 +1,5 @@ ---- ./config.h.in.orig 2011-03-02 06:46:47.000000000 +0000 -+++ ./config.h.in 2011-05-10 15:54:41.000000000 +0000 +--- ./config.h.in.orig 2011-07-15 09:37:41.000000000 +0000 ++++ ./config.h.in 2011-07-18 16:34:29.000000000 +0000 @@ -13,6 +13,9 @@ /* Define to 1 if you have the `basename' function. */ #undef HAVE_BASENAME @@ -19,7 +19,7 @@ #undef HAVE_ICONV /* Define to 1 if you have the header file. */ -@@ -224,6 +227,10 @@ +@@ -227,6 +230,10 @@ */ #undef LT_OBJDIR @@ -30,7 +30,7 @@ /* Define to 1 if `major', `minor', and `makedev' are declared in . */ #undef MAJOR_IN_MKDEV -@@ -308,6 +315,9 @@ +@@ -311,6 +318,9 @@ /* Build with acl support? */ #undef WITH_ACL @@ -40,9 +40,9 @@ /* Build with capability support? */ #undef WITH_CAP ---- ./configure.ac.orig 2011-03-02 06:46:20.000000000 +0000 -+++ ./configure.ac 2011-05-10 15:54:41.000000000 +0000 -@@ -246,12 +246,43 @@ AC_CHECK_HEADERS([dwarf.h], [ +--- ./configure.ac.orig 2011-07-15 09:37:20.000000000 +0000 ++++ ./configure.ac 2011-07-18 16:34:29.000000000 +0000 +@@ -252,12 +252,43 @@ AC_CHECK_HEADERS([dwarf.h], [ AM_CONDITIONAL(LIBDWARF,[test "$WITH_LIBDWARF" = yes]) #================= @@ -86,7 +86,7 @@ AC_CHECK_HEADERS([nspr.h nss.h sechash.h], [], [ AC_MSG_ERROR([missing required NSPR / NSS header]) ]) -@@ -260,6 +291,7 @@ AC_CHECK_LIB(nss3, NSS_NoDB_Init, [ +@@ -266,6 +297,7 @@ AC_CHECK_LIB(nss3, NSS_NoDB_Init, [ ], [ AC_MSG_ERROR([missing required NSS library 'nss3']) ]) @@ -94,17 +94,17 @@ AC_SUBST(WITH_NSS_INCLUDE) AC_SUBST(WITH_NSS_LIB) ---- ./rpmio/Makefile.am.orig 2010-12-03 12:11:57.000000000 +0000 -+++ ./rpmio/Makefile.am 2011-05-10 15:56:13.000000000 +0000 +--- ./rpmio/Makefile.am.orig 2011-07-15 09:36:33.000000000 +0000 ++++ ./rpmio/Makefile.am 2011-07-18 16:36:35.000000000 +0000 @@ -2,6 +2,7 @@ AM_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir) -I$(top_builddir)/include/ AM_CPPFLAGS += @WITH_NSS_INCLUDE@ +AM_CPPFLAGS += @WITH_BEECRYPT_INCLUDE@ - AM_CPPFLAGS += @WITH_LUA_INCLUDE@ AM_CPPFLAGS += @WITH_POPT_INCLUDE@ AM_CPPFLAGS += -I$(top_srcdir)/misc -@@ -18,10 +19,17 @@ librpmio_la_SOURCES = \ + AM_CPPFLAGS += -DRPMCONFIGDIR="\"@RPMCONFIGDIR@\"" +@@ -17,10 +18,17 @@ librpmio_la_SOURCES = \ rpmstring.c rpmfileutil.c \ rpmkeyring.c @@ -114,15 +114,15 @@ +librpmio_la_SOURCES += digest_nss.c +endif + - librpmio_la_LDFLAGS = -version-info 2:0:0 + librpmio_la_LDFLAGS = -version-info 2:1:0 librpmio_la_LIBADD = \ ../misc/libmisc.la \ @WITH_NSS_LIB@ \ + @WITH_BEECRYPT_LIB@ \ - @WITH_LUA_LIB@ \ @WITH_BZ2_LIB@ \ @WITH_ZLIB_LIB@ \ -@@ -30,6 +38,15 @@ librpmio_la_LIBADD = \ + @WITH_LIBELF_LIB@ \ +@@ -28,6 +36,15 @@ librpmio_la_LIBADD = \ @WITH_LZMA_LIB@ \ -lpthread @@ -135,11 +135,11 @@ + sed -e 's/libdir=.*/libdir=/' < $(top_builddir)/beecrypt/libbeecrypt.la > $(top_builddir)/beecrypt/libbeecrypt_nolibdir.la +endif + - if WITH_LUAEXT + if WITH_LUA AM_CPPFLAGS += -I$(top_srcdir)/luaext/ - librpmio_la_LIBADD += $(top_builddir)/luaext/libluaext.la ---- ./rpmio/base64.c.orig 2010-12-03 12:11:57.000000000 +0000 -+++ ./rpmio/base64.c 2011-05-10 15:54:41.000000000 +0000 + AM_CPPFLAGS += @LUA_CFLAGS@ +--- ./rpmio/base64.c.orig 2011-07-12 11:28:13.000000000 +0000 ++++ ./rpmio/base64.c 2011-07-18 16:34:29.000000000 +0000 @@ -4,8 +4,11 @@ #include #include @@ -157,8 +157,8 @@ #endif +#endif /* WITH_BEECRYPT */ ---- ./rpmio/digest.c.orig 2010-12-03 12:11:57.000000000 +0000 -+++ ./rpmio/digest.c 2011-05-10 16:00:19.000000000 +0000 +--- ./rpmio/digest.c.orig 2011-07-12 11:28:13.000000000 +0000 ++++ ./rpmio/digest.c 2011-07-18 16:34:29.000000000 +0000 @@ -4,25 +4,12 @@ #include "system.h" @@ -326,8 +326,8 @@ - return 0; -} - ---- ./rpmio/digest.h.orig 2010-12-03 12:11:57.000000000 +0000 -+++ ./rpmio/digest.h 2011-05-10 15:54:41.000000000 +0000 +--- ./rpmio/digest.h.orig 2011-07-12 11:28:13.000000000 +0000 ++++ ./rpmio/digest.h 2011-07-18 16:34:29.000000000 +0000 @@ -1,11 +1,6 @@ #ifndef _RPMDIGEST_H #define _RPMDIGEST_H @@ -361,8 +361,8 @@ +int pgpVerifyDSA(pgpDig dig, uint8_t *hash, size_t hashlen); + #endif /* _RPMDIGEST_H */ ---- ./rpmio/digest_beecrypt.c.orig 2011-05-10 15:54:41.000000000 +0000 -+++ ./rpmio/digest_beecrypt.c 2011-05-10 15:54:41.000000000 +0000 +--- ./rpmio/digest_beecrypt.c.orig 2011-07-18 16:34:29.000000000 +0000 ++++ ./rpmio/digest_beecrypt.c 2011-07-18 16:34:29.000000000 +0000 @@ -0,0 +1,493 @@ +#include "system.h" + @@ -857,8 +857,8 @@ + free(ctx); + return 0; +} ---- ./rpmio/digest_nss.c.orig 2011-05-10 15:54:41.000000000 +0000 -+++ ./rpmio/digest_nss.c 2011-05-10 15:54:41.000000000 +0000 +--- ./rpmio/digest_nss.c.orig 2011-07-18 16:34:29.000000000 +0000 ++++ ./rpmio/digest_nss.c 2011-07-18 16:34:29.000000000 +0000 @@ -0,0 +1,500 @@ +#include +#include @@ -1360,8 +1360,8 @@ + free(ctx); + return 0; +} ---- ./rpmio/rpmpgp.c.orig 2010-12-03 12:11:57.000000000 +0000 -+++ ./rpmio/rpmpgp.c 2011-05-10 16:01:58.000000000 +0000 +--- ./rpmio/rpmpgp.c.orig 2011-07-15 09:32:41.000000000 +0000 ++++ ./rpmio/rpmpgp.c 2011-07-18 16:42:25.000000000 +0000 @@ -20,9 +20,6 @@ static int _debug = 0; static int _print = 0; @@ -1527,7 +1527,7 @@ } pgpPrtStr("", pgpSigDSA[i]); } else { -@@ -838,49 +717,11 @@ static const uint8_t * pgpPrtPubkeyParam +@@ -842,49 +721,11 @@ static const uint8_t * pgpPrtPubkeyParam char * mpi; if (pubkey_algo == PGPPUBKEYALGO_RSA) { if (i >= 2) break; @@ -1535,7 +1535,7 @@ - if (_dig->keydata == NULL) { - _dig->keydata = pgpNewPublicKey(rsaKey); - if (_dig->keydata == NULL) -- break; /* error abort? */ +- return NULL; - } - switch (i) { - case 0: /* n */ @@ -1556,7 +1556,7 @@ - if (_dig->keydata == NULL) { - _dig->keydata = pgpNewPublicKey(dsaKey); - if (_dig->keydata == NULL) -- break; /* error abort? */ +- return NULL; - } - switch (i) { - case 0: /* p */ @@ -1579,7 +1579,7 @@ pgpPrtStr("", pgpPublicDSA[i]); } else if (pubkey_algo == PGPPUBKEYALGO_ELGAMAL_ENCRYPT) { if (i >= 3) break; -@@ -1265,15 +1106,7 @@ void pgpCleanDig(pgpDig dig) +@@ -1269,15 +1110,7 @@ void pgpCleanDig(pgpDig dig) memset(&dig->signature, 0, sizeof(dig->signature)); memset(&dig->pubkey, 0, sizeof(dig->pubkey)); @@ -1596,7 +1596,7 @@ } return; } -@@ -1315,39 +1148,6 @@ int pgpPrtPkts(const uint8_t * pkts, siz +@@ -1319,39 +1152,6 @@ int pgpPrtPkts(const uint8_t * pkts, siz return 0; } @@ -1636,15 +1636,15 @@ char *pgpIdentItem(pgpDigParams digp) { char *id = NULL; -@@ -1396,30 +1196,12 @@ rpmRC pgpVerifySig(pgpDig dig, DIGEST_CT - - /* Compare leading 16 bits of digest for quick check. */ - if (hash && memcmp(hash, sigp->signhash16, 2) == 0) { +@@ -1409,30 +1209,12 @@ rpmRC pgpVerifySig(pgpDig dig, DIGEST_CT + if (dig->keydata == NULL) { + res = RPMRC_NOKEY; + } else { - SECItem digest = { .type = siBuffer, .data = hash, .len = hashlen }; - SECItem *sig = dig->sigdata; - - /* Zero-pad RSA signature to expected size if necessary */ -- if (sigp->pubkey_algo == PGPPUBKEYALGO_RSA) { + if (sigp->pubkey_algo == PGPPUBKEYALGO_RSA) { - size_t siglen = SECKEY_SignatureLen(dig->keydata); - if (siglen > sig->len) { - size_t pad = siglen - sig->len; @@ -1664,7 +1664,6 @@ - - if (sig != dig->sigdata) { - SECITEM_ZfreeItem(sig, 1); -+ if (sigp->pubkey_algo == PGPPUBKEYALGO_RSA) { + if (!pgpVerifyRSA(dig, hash, hashlen)) + res = RPMRC_OK; + } else if (sigp->pubkey_algo == PGPPUBKEYALGO_DSA) { @@ -1673,7 +1672,7 @@ } } -@@ -1607,50 +1389,3 @@ char * pgpArmorWrap(int atype, const uns +@@ -1620,50 +1402,3 @@ char * pgpArmorWrap(int atype, const uns return val; } diff --git a/rpm-python.spec b/rpm-python.spec index dd4b08e..e379408 100644 --- a/rpm-python.spec +++ b/rpm-python.spec @@ -25,7 +25,7 @@ BuildRequires: libacl-devel libcap-devel python-devel xz-devel zlib-devel License: GPLv2+ Group: System/Packages Summary: Python Bindings for Manipulating RPM Packages -Version: 4.9.0 +Version: 4.9.1 Release: 10 Requires: rpm = %{version} %py_requires diff --git a/rpm.changes b/rpm.changes index e092d38..a9a9f2a 100644 --- a/rpm.changes +++ b/rpm.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Mon Jul 18 19:43:34 CEST 2011 - mls@suse.de + +- update to rpm-4.9.1 + * fixed a bug in signature checking + * fixed crash on rpm --import for multiple keys [bnc#704589] + * got rid of a couple of patches +- fixed dependency generation for suid binaries [bnc#702857] + ------------------------------------------------------------------- Fri Jun 17 11:14:38 UTC 2011 - fcrozat@suse.com diff --git a/rpm.spec b/rpm.spec index 36cb1b0..73d59b0 100644 --- a/rpm.spec +++ b/rpm.spec @@ -28,7 +28,7 @@ Provides: rpminst PreReq: %insserv_prereq %fillup_prereq permissions AutoReqProv: on Summary: The RPM Package Manager -Version: 4.9.0 +Version: 4.9.1 Release: 19 Source: rpm-%{version}.tar.bz2 Source1: RPM-HOWTO.tar.bz2 @@ -49,7 +49,6 @@ Patch11: debugedit.diff Patch12: localetag.diff Patch13: missingok.diff Patch14: nameversioncompare.diff -Patch15: chownwarn.diff Patch16: dbfsync.diff Patch17: dbrointerruptable.diff Patch18: extcond.diff @@ -105,17 +104,11 @@ Patch68: initscriptsprov.diff Patch69: remove-translations.diff Patch70: no_rep_autop.diff Patch71: headeradddb.diff -Patch72: rpmdb_get_open_flags.diff -Patch73: verify_p.diff Patch74: dbprivate.diff Patch75: nobuildcolor.diff Patch76: fileattrs.diff -Patch77: emptyprep.diff Patch78: nomagiccheck.diff Patch79: findsupplements.diff -Patch80: magic_and_path.diff -Patch81: safemacro.diff -Patch82: emptychangelog.diff Patch83: assumeexec.diff Patch84: buildpipe.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -174,14 +167,14 @@ chmod -R u+w db/* # will get linked from db3 rm -f rpmdb/db.h %patch -P 1 -P 2 -%patch -P 10 -P 11 -P 12 -P 13 -P 14 -P 15 -P 16 -P 17 -P 18 -P 19 +%patch -P 10 -P 11 -P 12 -P 13 -P 14 -P 16 -P 17 -P 18 -P 19 %patch -P 20 -P 21 -P 22 -P 23 -P 24 -P 25 -P 26 -P 27 -P 28 -P 29 %patch -P 30 -P 31 -P 32 -P 33 -P 34 -P 35 -P 36 -P 37 -P 38 -P 39 %patch -P 40 -P 41 -P 42 -P 43 -P 44 -P 45 -P 46 -P 47 -P 48 %patch -P 50 -P 51 -P 52 -P 53 -P 54 -P 55 -P 56 -P 57 -P 58 -P 59 %patch -P 60 -P 61 -P 62 -P 63 -P 64 -P 65 -P 66 -P 67 -P 68 -P 69 -%patch -P 70 -P 71 -P 72 -P 73 -P 74 -P 75 -P 76 -P 77 -P 78 -P 79 -%patch -P 80 -P 81 -P 82 -P 83 -P 84 +%patch -P 70 -P 71 -P 74 -P 75 -P 76 -P 78 -P 79 +%patch -P 83 -P 84 #chmod 755 scripts/find-supplements{,.ksyms} #chmod 755 scripts/find-provides.ksyms scripts/find-requires.ksyms #chmod 755 scripts/firmware.prov diff --git a/rpmdb_get_open_flags.diff b/rpmdb_get_open_flags.diff deleted file mode 100644 index eab0b19..0000000 --- a/rpmdb_get_open_flags.diff +++ /dev/null @@ -1,13 +0,0 @@ -Suppress berkeleydb error messages when doing 'rpm --verifydb'. - ---- lib/rpmdb.c.orig 2011-05-12 14:08:07.000000000 +0000 -+++ lib/rpmdb.c 2011-05-12 14:09:06.000000000 +0000 -@@ -165,7 +165,7 @@ static dbiIndex rpmdbOpenIndex(rpmdb db, - uintId, uintCmp, NULL); - } - /* If primary got created, we can safely run without fsync */ -- if ((dbiFlags(dbi) & DBI_CREATED) || db->cfg.db_no_fsync) { -+ if ((!verifyonly && (dbiFlags(dbi) & DBI_CREATED)) || db->cfg.db_no_fsync) { - rpmlog(RPMLOG_DEBUG, "disabling fsync on database\n"); - db->cfg.db_no_fsync = 1; - dbSetFSync(db->db_dbenv, 0); diff --git a/safemacro.diff b/safemacro.diff deleted file mode 100644 index 96f065a..0000000 --- a/safemacro.diff +++ /dev/null @@ -1,21 +0,0 @@ ---- rpmio/macro.c.orig 2011-05-17 08:43:40.000000000 +0000 -+++ rpmio/macro.c 2011-05-17 08:44:48.000000000 +0000 -@@ -1016,12 +1016,12 @@ expandMacro(MacroBuf mb, const char *src - char *source = NULL; - - /* Handle non-terminated substrings by creating a terminated copy */ -- if (slen > 0) { -- source = xmalloc(slen + 1); -- strncpy(source, src, slen); -- source[slen] = '\0'; -- s = source; -- } -+ if (!slen) -+ slen = strlen(src); -+ source = xmalloc(slen + 1); -+ strncpy(source, src, slen); -+ source[slen] = '\0'; -+ s = source; - - if (mb->buf == NULL) { - size_t blen = MACROBUFSIZ + strlen(s); diff --git a/verify_p.diff b/verify_p.diff deleted file mode 100644 index 8eeea06..0000000 --- a/verify_p.diff +++ /dev/null @@ -1,49 +0,0 @@ -Make 'rpm -Vp ' work again. - ---- ./lib/rpmte.c.orig 2011-05-12 15:22:06.000000000 +0000 -+++ ./lib/rpmte.c 2011-05-12 15:23:39.000000000 +0000 -@@ -905,15 +905,19 @@ int rpmteProcess(rpmte te, pkgGoal goal) - } - } - -- rpmteRunAllCollections(te, PLUGINHOOK_COLL_PRE_REMOVE); -- -- if (rpmteOpen(te, reset_fi)) { -+ if (goal == PKG_VERIFY) { - failed = rpmpsmRun(te->ts, te, goal); -- rpmteClose(te, reset_fi); -- } -+ } else { -+ rpmteRunAllCollections(te, PLUGINHOOK_COLL_PRE_REMOVE); -+ -+ if (rpmteOpen(te, reset_fi)) { -+ failed = rpmpsmRun(te->ts, te, goal); -+ rpmteClose(te, reset_fi); -+ } - -- rpmteRunAllCollections(te, PLUGINHOOK_COLL_POST_ADD); -- rpmteRunAllCollections(te, PLUGINHOOK_COLL_POST_ANY); -+ rpmteRunAllCollections(te, PLUGINHOOK_COLL_POST_ADD); -+ rpmteRunAllCollections(te, PLUGINHOOK_COLL_POST_ANY); -+ } - - /* XXX should %pretrans failure fail the package install? */ - if (failed && !scriptstage) { ---- ./lib/verify.c.orig 2011-05-12 15:22:01.000000000 +0000 -+++ ./lib/verify.c 2011-05-12 15:22:49.000000000 +0000 -@@ -267,11 +267,11 @@ static int rpmVerifyScript(rpmts ts, Hea - - if (headerIsEntry(h, RPMTAG_VERIFYSCRIPT)) { - /* fake up a erasure transaction element */ -- (void) rpmtsAddEraseElement(ts, h, -1); -- -- rc = (rpmteProcess(rpmtsElement(ts, 0), PKG_VERIFY) != RPMRC_OK); -- -+ rpmte p = rpmteNew(ts, h, TR_REMOVED, NULL, NULL); -+ rpmteSetHeader(p, h); -+ rc = (rpmteProcess(p, PKG_VERIFY) != RPMRC_OK); - /* clean up our fake transaction bits */ -+ rpmteFree(p); - rpmtsEmpty(ts); - } - From 09d5a8ee6728152f9790e425404ad5cade9858162eeed769670366d8843f4241 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Schr=C3=B6der?= Date: Wed, 20 Jul 2011 11:43:02 +0000 Subject: [PATCH 3/3] fix problem with trailing slashes on dir files OBS-URL: https://build.opensuse.org/package/show/Base:System/rpm?expand=0&rev=133 --- rpm.changes | 5 ++ rpm.spec | 132 ++++++++++++++++++++++++------------------------ trailslash.diff | 31 ++++++++++++ 3 files changed, 102 insertions(+), 66 deletions(-) create mode 100644 trailslash.diff diff --git a/rpm.changes b/rpm.changes index a9a9f2a..7443608 100644 --- a/rpm.changes +++ b/rpm.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Jul 20 13:42:16 CEST 2011 - mls@suse.de + +- fix problem with trailing slashes on dir files + ------------------------------------------------------------------- Mon Jul 18 19:43:34 CEST 2011 - mls@suse.de diff --git a/rpm.spec b/rpm.spec index 73d59b0..95c7165 100644 --- a/rpm.spec +++ b/rpm.spec @@ -49,68 +49,69 @@ Patch11: debugedit.diff Patch12: localetag.diff Patch13: missingok.diff Patch14: nameversioncompare.diff -Patch16: dbfsync.diff -Patch17: dbrointerruptable.diff -Patch18: extcond.diff -Patch19: refreshtestarch.diff -Patch20: rpmrctests.diff -Patch21: waitlock.diff -Patch22: suspendlock.diff -Patch23: weakdeps.diff -Patch24: autodeps.diff -Patch25: brp.diff -Patch26: brpcompress.diff -Patch27: checkfilesnoinfodir.diff -Patch28: finddebuginfo.diff -Patch29: findksyms.diff -Patch30: findlang.diff -Patch31: macrosin.diff -Patch32: modalias.diff -Patch33: platformin.diff -Patch34: rpmpopt.diff -Patch35: rpmrc.diff -Patch36: taggedfileindex.diff -Patch37: rpmqpack.diff -Patch38: convertdb1static.diff -Patch39: build.diff -Patch40: modalias-kernel_module.diff -Patch41: files.diff -Patch42: debugedit-comp-dir.diff -Patch43: perlprov.diff -Patch44: rpm-shorten-changelog.diff -Patch45: debugsource-package.diff -Patch46: whatrequires-doc.diff -Patch47: remove-brp-strips.diff -Patch48: requires-ge-macro.diff -Patch50: debugedit-canon-fix.diff -Patch51: finddebuginfo-absolute-links.diff -Patch52: firmware.diff -Patch53: specfilemacro.diff -Patch54: modalias-encode.diff -Patch55: disttag-macro.diff -Patch56: buildidprov.diff -Patch57: debugsubpkg.diff -Patch58: debuglink.diff -Patch59: debuginfo-mono.patch -Patch60: lazystatfs.diff -Patch61: repackage-nomd5.diff -Patch62: safeugid.diff -Patch63: noprereqdeprec.diff -Patch64: pythondeps.diff -Patch65: fontprovides.diff -Patch66: rpm-gst-provides.patch -Patch67: langnoc.diff -Patch68: initscriptsprov.diff -Patch69: remove-translations.diff -Patch70: no_rep_autop.diff -Patch71: headeradddb.diff -Patch74: dbprivate.diff -Patch75: nobuildcolor.diff -Patch76: fileattrs.diff -Patch78: nomagiccheck.diff -Patch79: findsupplements.diff -Patch83: assumeexec.diff -Patch84: buildpipe.diff +Patch15: dbfsync.diff +Patch16: dbrointerruptable.diff +Patch17: extcond.diff +Patch18: refreshtestarch.diff +Patch19: rpmrctests.diff +Patch20: waitlock.diff +Patch21: suspendlock.diff +Patch22: weakdeps.diff +Patch23: autodeps.diff +Patch24: brp.diff +Patch25: brpcompress.diff +Patch26: checkfilesnoinfodir.diff +Patch27: finddebuginfo.diff +Patch28: findksyms.diff +Patch29: findlang.diff +Patch30: macrosin.diff +Patch31: modalias.diff +Patch32: platformin.diff +Patch33: rpmpopt.diff +Patch34: rpmrc.diff +Patch35: taggedfileindex.diff +Patch36: rpmqpack.diff +Patch37: convertdb1static.diff +Patch38: build.diff +Patch39: modalias-kernel_module.diff +Patch40: files.diff +Patch41: debugedit-comp-dir.diff +Patch42: perlprov.diff +Patch43: rpm-shorten-changelog.diff +Patch44: debugsource-package.diff +Patch45: whatrequires-doc.diff +Patch46: remove-brp-strips.diff +Patch47: requires-ge-macro.diff +Patch48: debugedit-canon-fix.diff +Patch49: finddebuginfo-absolute-links.diff +Patch50: firmware.diff +Patch51: specfilemacro.diff +Patch52: modalias-encode.diff +Patch53: disttag-macro.diff +Patch54: buildidprov.diff +Patch55: debugsubpkg.diff +Patch56: debuglink.diff +Patch57: debuginfo-mono.patch +Patch58: lazystatfs.diff +Patch59: repackage-nomd5.diff +Patch60: safeugid.diff +Patch61: noprereqdeprec.diff +Patch62: pythondeps.diff +Patch63: fontprovides.diff +Patch64: rpm-gst-provides.patch +Patch65: langnoc.diff +Patch66: initscriptsprov.diff +Patch67: remove-translations.diff +Patch68: no_rep_autop.diff +Patch69: headeradddb.diff +Patch70: dbprivate.diff +Patch71: nobuildcolor.diff +Patch72: fileattrs.diff +Patch73: nomagiccheck.diff +Patch74: findsupplements.diff +Patch75: assumeexec.diff +Patch76: buildpipe.diff +Patch77: trailslash.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build # # avoid bootstrapping problem @@ -167,14 +168,13 @@ chmod -R u+w db/* # will get linked from db3 rm -f rpmdb/db.h %patch -P 1 -P 2 -%patch -P 10 -P 11 -P 12 -P 13 -P 14 -P 16 -P 17 -P 18 -P 19 +%patch -P 10 -P 11 -P 12 -P 13 -P 14 -P 15 -P 16 -P 17 -P 18 -P 19 %patch -P 20 -P 21 -P 22 -P 23 -P 24 -P 25 -P 26 -P 27 -P 28 -P 29 %patch -P 30 -P 31 -P 32 -P 33 -P 34 -P 35 -P 36 -P 37 -P 38 -P 39 -%patch -P 40 -P 41 -P 42 -P 43 -P 44 -P 45 -P 46 -P 47 -P 48 +%patch -P 40 -P 41 -P 42 -P 43 -P 44 -P 45 -P 46 -P 47 -P 48 -P 49 %patch -P 50 -P 51 -P 52 -P 53 -P 54 -P 55 -P 56 -P 57 -P 58 -P 59 %patch -P 60 -P 61 -P 62 -P 63 -P 64 -P 65 -P 66 -P 67 -P 68 -P 69 -%patch -P 70 -P 71 -P 74 -P 75 -P 76 -P 78 -P 79 -%patch -P 83 -P 84 +%patch -P 70 -P 71 -P 72 -P 73 -P 74 -P 75 -P 76 -P 77 #chmod 755 scripts/find-supplements{,.ksyms} #chmod 755 scripts/find-provides.ksyms scripts/find-requires.ksyms #chmod 755 scripts/firmware.prov diff --git a/trailslash.diff b/trailslash.diff new file mode 100644 index 0000000..58abbd6 --- /dev/null +++ b/trailslash.diff @@ -0,0 +1,31 @@ +--- ./build/files.c.orig 2011-07-20 11:37:45.000000000 +0000 ++++ ./build/files.c 2011-07-20 11:39:20.000000000 +0000 +@@ -1678,9 +1678,6 @@ static rpmRC processBinaryFile(Package p + * /.././../usr/../bin//./sh + */ + diskPath = rpmGenPath(fl->buildRoot, NULL, fileName); +- /* Arrange trailing slash on directories */ +- if (fl->isDir) +- diskPath = rstrcat(&diskPath, "/"); + + if (doGlob) { + ARGV_t argv = NULL; +@@ -1694,8 +1691,18 @@ static rpmRC processBinaryFile(Package p + goto exit; + } + ++ /* Arrange trailing slash on directories */ ++ if (fl->isDir) ++ diskPath = rstrcat(&diskPath, "/"); ++ + if (rpmGlob(diskPath, &argc, &argv) == 0 && argc >= 1) { + for (i = 0; i < argc; i++) { ++ if (fl->isDir) { ++ /* strip trailing slash again */ ++ int l = strlen(argv[i]); ++ if (l > 1 && argv[i][l - 1] == '/') ++ argv[i][l - 1] = 0; ++ } + rc = addFile(fl, argv[i], NULL); + } + argvFree(argv);