diff --git a/convertdb1static.diff b/convertdb1static.diff index 52caaf5..ad349dd 100644 --- a/convertdb1static.diff +++ b/convertdb1static.diff @@ -1,9 +1,10 @@ -Build convertdb1 as static binary so that it always works. +Build convertdb1, too. -diff -ur ./tools/Makefile.am ../rpm-4.4.2.orig/tools/Makefile.am ---- ./tools/Makefile.am 2006-09-21 19:35:56.000000000 +0200 -+++ ../rpm-4.4.2.orig/tools/Makefile.am 2006-09-21 20:59:01.000000000 +0200 -@@ -18,22 +18,26 @@ +Index: tools/Makefile.am +=================================================================== +--- tools/Makefile.am.orig ++++ tools/Makefile.am +@@ -18,22 +18,26 @@ INCLUDES = -I. \ EXTRA_DIST = rpminject.c rpmsort.c rpmxml.c rpmxp.c rpmxp.h hashtab.h @@ -26,7 +27,7 @@ diff -ur ./tools/Makefile.am ../rpm-4.4.2.orig/tools/Makefile.am bin_PROGRAMS = rpmgraph convertdb1_SOURCES = convertdb1.c -+convertdb1_LDFLAGS = $(staticLDFLAGS) ++#convertdb1_LDFLAGS = $(staticLDFLAGS) +convertdb1_LDADD = \ + $(top_builddir)/lib/librpm.la \ + @WITH_LIBELF_LIB@ diff --git a/patchrpms.diff b/patchrpms.diff index 050189d..d40482c 100644 --- a/patchrpms.diff +++ b/patchrpms.diff @@ -272,17 +272,19 @@ Index: lib/query.c if ((rc = qva->qva_showPackage(qva, ts, h)) != 0) ec = rc; if (qva->qva_source == RPMQV_DBOFFSET) -@@ -685,7 +708,15 @@ int rpmcliArgIter(rpmts ts, QVA_t qva, A +@@ -685,7 +708,17 @@ int rpmcliArgIter(rpmts ts, QVA_t qva, A switch (qva->qva_source) { case RPMQV_ALL: - qva->qva_gi = rpmgiNew(ts, RPMDBI_PACKAGES, NULL, 0); + if ((!argv || !*argv) && (qva->qva_flags & QUERY_FOR_PATCHES) != 0) { + qva->qva_gi = rpmgiNew(ts, RPMTAG_REQUIRENAME, "rpmlib(PatchRPMs)", 0); ++ qva->qva_gi->mi = rpmtsInitIterator(qva->qva_gi->ts, qva->qva_gi->tag, qva->qva_gi->keyp, qva->qva_gi->keylen); + if (qva->qva_gi->mi == NULL) { + rpmError(RPMERR_QUERYINFO, _("no patch-rpm installed\n")); + break; + } ++ qva->qva_gi->mi = rpmdbFreeIterator(qva->qva_gi->mi); + } else { + qva->qva_gi = rpmgiNew(ts, RPMDBI_PACKAGES, NULL, 0); + } diff --git a/perlprov.diff b/perlprov.diff new file mode 100644 index 0000000..631134c --- /dev/null +++ b/perlprov.diff @@ -0,0 +1,41 @@ +Index: scripts/perl.prov +=================================================================== +--- scripts/perl.prov.orig ++++ scripts/perl.prov +@@ -127,7 +127,11 @@ sub process_file { + if (m/^\s*package\s+([_:a-zA-Z0-9]+)\s*;/) { + $package=$1; + undef $version; +- $require{$package}=undef; ++ if ($package eq 'main') { ++ undef $package; ++ } else { ++ $require{$package}=undef; ++ } + } + + # after we found the package name take the first assignment to +@@ -158,7 +162,7 @@ sub process_file { + + $version= $1; + } +- $require{$package}=$version; ++ $require{$package} ||= $version; + } + + # Allow someone to have a variable that defines virtual packages +Index: scripts/perldeps.pl +=================================================================== +--- scripts/perldeps.pl.orig ++++ scripts/perldeps.pl +@@ -150,6 +150,10 @@ sub add_provide { + return if(exists($self->{'provides_check'}->{$params{'-provide'}})); + + # ++ # Skip some common false positives ++ return if $params{'-provide'} eq 'main'; ++ ++ # + # Created dependency object + my $dep = new Dependency "provide", $params{-provide}; + $dep->filename($params{-filename}); diff --git a/pythonunicode.diff b/pythonunicode.diff new file mode 100644 index 0000000..aff230a --- /dev/null +++ b/pythonunicode.diff @@ -0,0 +1,13 @@ +Index: python/rpmts-py.c +=================================================================== +--- python/rpmts-py.c.orig ++++ python/rpmts-py.c +@@ -1367,7 +1367,7 @@ fprintf(stderr, "*** rpmts_Match(%p) ts + + if (Key) { + /*@-branchstate@*/ +- if (PyString_Check(Key)) { ++ if (PyString_Check(Key) || PyUnicode_Check(Key)) { + key = PyString_AsString(Key); + len = PyString_Size(Key); + } else if (PyInt_Check(Key)) { diff --git a/rpm-python.changes b/rpm-python.changes index eb78897..4f38533 100644 --- a/rpm-python.changes +++ b/rpm-python.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri May 25 16:20:53 CEST 2007 - mls@suse.de + +- fix unicode queries + ------------------------------------------------------------------- Fri Mar 30 15:06:28 CEST 2007 - rguenther@suse.de diff --git a/rpm-python.spec b/rpm-python.spec index ad4a188..721cc24 100644 --- a/rpm-python.spec +++ b/rpm-python.spec @@ -16,7 +16,7 @@ License: GNU General Public License (GPL) Group: System/Packages Summary: Python Bindings for Manipulating RPM Packages Version: 4.4.2 -Release: 117 +Release: 122 Requires: rpm = %{version} %py_requires @@ -62,6 +62,8 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/python* %changelog +* Fri May 25 2007 - mls@suse.de +- fix unicode queries * Fri Mar 30 2007 - rguenther@suse.de - add ncurses-devel and zlib-devel BuildRequires. * Wed Oct 18 2006 - mls@suse.de diff --git a/rpm.changes b/rpm.changes index f626d7f..bec4834 100644 --- a/rpm.changes +++ b/rpm.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Fri May 25 16:18:07 CEST 2007 - mls@suse.de + +- fix patch-rpm query +- do not link convertdb1 statically [#274694] +- use --wildcards option for tar [#272519] +- fix perl.prov [#255009] +- show pre/posttrans scripts in --scripts query [#253620] +- remove popt version requires [#246871] +- fix missing file error + ------------------------------------------------------------------- Wed May 16 12:16:44 CEST 2007 - mls@suse.de diff --git a/rpm.spec b/rpm.spec index a1361d9..69b35f5 100644 --- a/rpm.spec +++ b/rpm.spec @@ -15,12 +15,12 @@ License: GNU General Public License (GPL) Group: System/Packages BuildRequires: libbz2-devel ncurses-devel zlib-devel Provides: rpminst -%define popt_version 1.7 -PreReq: %insserv_prereq %fillup_prereq popt = %{popt_version} permissions +%define popt_version 1.7 +PreReq: %insserv_prereq %fillup_prereq permissions Autoreqprov: on Summary: The RPM Package Manager Version: 4.4.2 -Release: 107 +Release: 110 Source: rpm-%{version}.tar.bz2 Source1: RPM-HOWTO.tar.bz2 Source2: RPM-Tips.html.tar.bz2 @@ -121,6 +121,10 @@ Patch91: po-file-fixes.diff Patch92: files.diff Patch93: popt-to-lib.diff Patch94: debugedit-comp-dir.diff +Patch95: pythonunicode.diff +Patch96: tarwildcards.diff +Patch97: perlprov.diff +Patch98: showtransscripts.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build # @@ -190,7 +194,7 @@ rm -f rpmdb/db.h %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 -P 85 -P 86 -P 87 -P 88 -P 89 -%patch -P 90 -P 91 -P 92 -P 93 -P 94 +%patch -P 90 -P 91 -P 92 -P 93 -P 94 -P 95 -P 96 -P 97 -P 98 chmod 755 scripts/find-supplements{,.ksyms} chmod 755 scripts/find-provides.ksyms scripts/find-requires.ksyms tar -xjvf %{SOURCE1} @@ -321,7 +325,7 @@ Summary: A C library for parsing command line parameters License: GNU Library General Public License v. 2.0 and 2.1 (LGPL) Group: System/Libraries Version: 1.7 -Release: 335 +Release: 338 # %description -n popt @@ -344,7 +348,7 @@ Summary: C Library for Parsing Command Line Parameters License: GNU Library General Public License v. 2.0 and 2.1 (LGPL) Group: System/Libraries Version: 1.7 -Release: 335 +Release: 338 Requires: popt = 1.7 Requires: glibc-devel @@ -380,6 +384,14 @@ Authors: %doc %{_mandir}/man3/popt.3* %changelog +* Fri May 25 2007 - mls@suse.de +- fix patch-rpm query +- do not link convertdb1 statically [#274694] +- use --wildcards option for tar [#272519] +- fix perl.prov [#255009] +- show pre/posttrans scripts in --scripts query [#253620] +- remove popt version requires [#246871] +- fix missing file error * Wed May 16 2007 - mls@suse.de - fix autodeps.diff mono logic * Mon May 14 2007 - coolo@suse.de diff --git a/showtransscripts.diff b/showtransscripts.diff new file mode 100644 index 0000000..322c8af --- /dev/null +++ b/showtransscripts.diff @@ -0,0 +1,49 @@ +Index: rpmpopt.in +=================================================================== +--- rpmpopt.in.orig ++++ rpmpopt.in +@@ -33,6 +33,14 @@ rpm alias --scripts --qf '\ + {%|POSTUNPROG?{postuninstall program: %{POSTUNPROG}\n}|}|\ + \ + %|VERIFYSCRIPT?{verify scriptlet:\n%{VERIFYSCRIPT}\n}|\ ++\ ++%|PRETRANS?{pretrans scriptlet\ ++%|PRETRANSPROG?{ (using %{PRETRANSPROG})}|:\n%{PRETRANS}\n}:\ ++{%|PRETRANSPROG?{pretrans program: %{PRETRANSPROG}\n}|}|\ ++\ ++%|POSTTRANS?{posttrans scriptlet\ ++%|POSTTRANSPROG?{ (using %{POSTTRANSPROG})}|:\n%{POSTTRANS}\n}:\ ++{%|POSTTRANSPROG?{posttrans program: %{POSTTRANSPROG}\n}|}|\ + ' \ + --POPTdesc=$"list install/erase scriptlets from package(s)" + +@@ -343,6 +351,14 @@ rpmq alias --scripts --qf '\ + {%|POSTUNPROG?{postuninstall program: %{POSTUNPROG}\n}|}|\ + \ + %|VERIFYSCRIPT?{verify scriptlet:\n%{VERIFYSCRIPT}\n}|\ ++\ ++%|PRETRANS?{pretrans scriptlet\ ++%|PRETRANSPROG?{ (using %{PRETRANSPROG})}|:\n%{PRETRANS}\n}:\ ++{%|PRETRANSPROG?{pretrans program: %{PRETRANSPROG}\n}|}|\ ++\ ++%|POSTTRANS?{posttrans scriptlet\ ++%|POSTTRANSPROG?{ (using %{POSTTRANSPROG})}|:\n%{POSTTRANS}\n}:\ ++{%|POSTTRANSPROG?{posttrans program: %{POSTTRANSPROG}\n}|}|\ + ' \ + --POPTdesc=$"list install/erase scriptlets from package(s)" + +@@ -462,6 +478,14 @@ rpmquery alias --scripts --qf '\ + {%|POSTUNPROG?{postuninstall program: %{POSTUNPROG}\n}|}|\ + \ + %|VERIFYSCRIPT?{verify scriptlet:\n%{VERIFYSCRIPT}\n}|\ ++\ ++%|PRETRANS?{pretrans scriptlet\ ++%|PRETRANSPROG?{ (using %{PRETRANSPROG})}|:\n%{PRETRANS}\n}:\ ++{%|PRETRANSPROG?{pretrans program: %{PRETRANSPROG}\n}|}|\ ++\ ++%|POSTTRANS?{posttrans scriptlet\ ++%|POSTTRANSPROG?{ (using %{POSTTRANSPROG})}|:\n%{POSTTRANS}\n}:\ ++{%|POSTTRANSPROG?{posttrans program: %{POSTTRANSPROG}\n}|}|\ + ' \ + --POPTdesc=$"list install/erase scriptlets from package(s)" + diff --git a/tarwildcards.diff b/tarwildcards.diff new file mode 100644 index 0000000..6530eb6 --- /dev/null +++ b/tarwildcards.diff @@ -0,0 +1,13 @@ +Index: build.c +=================================================================== +--- build.c.orig ++++ build.c +@@ -161,7 +161,7 @@ static int buildForTarget(rpmts ts, cons + /* Try again */ + (void) pclose(fp); + +- sprintf(cmd, "%s < %s | tar xOvf - \\*.spec 2>&1 > %s", ++ sprintf(cmd, "%s < %s | tar xOvf - --wildcards \\*.spec 2>&1 > %s", + zcmds[res & 0x3], arg, tmpSpecFile); + if (!(fp = popen(cmd, "r"))) { + rpmError(RPMERR_POPEN, _("Failed to open tar pipe: %m\n")); diff --git a/verifylstatfail.diff b/verifylstatfail.diff index d0fd950..852e156 100644 --- a/verifylstatfail.diff +++ b/verifylstatfail.diff @@ -1,12 +1,14 @@ Tell user the reason why the lstat failed in a verify operation. ---- ./lib/verify.c.orig 2005-12-15 15:17:41.000000000 +0000 -+++ ./lib/verify.c 2005-12-15 15:24:48.000000000 +0000 +Index: lib/verify.c +=================================================================== +--- lib/verify.c.orig ++++ lib/verify.c @@ -327,6 +327,10 @@ static int verifyHeader(QVA_t qva, const (fileAttrs & RPMFILE_README) ? 'r' : ' '), rpmfiFN(fi)); te += strlen(te); -+ if ((rc & RPMVERIFY_LSTATFAIL) != 0) { ++ if ((verifyResult & RPMVERIFY_LSTATFAIL) != 0 && errno != ENOENT) { + sprintf(te, " (%s)", strerror(errno)); + te += strlen(te); + }