From 1250f9364c2ac2a9eb9c9c54a64988d6339ecf24 Mon Sep 17 00:00:00 2001 From: Bernhard M. Wiedemann Date: Dec 07 2020 03:40:35 +0000 Subject: commit state of 2019-09-11 --- diff --git a/adopt-language-specific-build_fooflags-macros-from-F.patch b/adopt-language-specific-build_fooflags-macros-from-F.patch new file mode 100644 index 0000000..9e87110 --- /dev/null +++ b/adopt-language-specific-build_fooflags-macros-from-F.patch @@ -0,0 +1,63 @@ +From 9a50846ceeef2add2344dd463c5562bd69496a23 Mon Sep 17 00:00:00 2001 +From: Panu Matilainen +Date: Mon, 6 May 2019 14:44:30 +0300 +Subject: [PATCH] Adopt language-specific %build_fooflags macros from Fedora + +%{optflags} has been the catchall for all compiler options but this +is quite limiting as there's no way to add for example C++ specific +options distro-wide. This adds separate %build_cflags, %build_cxxflags, +%build_fflags for the gcc-supported languages, and additionally +%build_ldflags for distro-wide LDFLAGS setting. + +Based on Florian Weimer's work in Fedoras redhat-rpm-config macros. +--- + macros.in | 26 +++++++++++++++++++++++--- + 1 file changed, 23 insertions(+), 3 deletions(-) + +diff --git a/macros.in b/macros.in +index 2ab108776..b6cb52951 100644 +--- a/macros.in ++++ b/macros.in +@@ -999,6 +999,24 @@ package or when debugging this package.\ + %_target_vendor %{_host_vendor} + %_target_os %{_host_os} + ++#============================================================================== ++# ---- compiler flags. ++ ++# C compiler flags. This is traditionally called CFLAGS in makefiles. ++# Historically also available as %%{optflags}, and %%build sets the ++# environment variable RPM_OPT_FLAGS to this value. ++%build_cflags %{optflags} ++ ++# C++ compiler flags. This is traditionally called CXXFLAGS in makefiles. ++%build_cxxflags %{optflags} ++ ++# Fortran compiler flags. Makefiles use both FFLAGS and FCFLAGS as ++# the corresponding variable names. ++%build_fflags %{optflags} %{?_fmoddir:-I%{_fmoddir}} ++ ++# Link editor flags. This is usually called LDFLAGS in makefiles. ++#%build_ldflags -Wl,-z,relro %{?_lto_cflags} ++ + #============================================================================== + # ---- specfile macros. + # Macro(s) here can be used reliably for reproducible builds. +@@ -1010,9 +1028,11 @@ package or when debugging this package.\ + # + %_configure ./configure + %configure \ +- CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \ +- CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \ +- FFLAGS="${FFLAGS:-%optflags}" ; export FFLAGS ; \ ++ CFLAGS="${CFLAGS:-%{?build_cflags}}" ; export CFLAGS ; \ ++ CXXFLAGS="${CXXFLAGS:-%{?build_cxxflags}}" ; export CXXFLAGS ; \ ++ FFLAGS="${FFLAGS:-%{?build_fflags}}" ; export FFLAGS ; \ ++ FCFLAGS="${FCFLAGS:-%{?build_fflags}}" ; export FCFLAGS ; \ ++ LDFLAGS="${LDFLAGS:-%{?build_ldflags}}" ; export LDFLAGS ; \ + %{_configure} --host=%{_host} --build=%{_build} \\\ + --program-prefix=%{?_program_prefix} \\\ + --disable-dependency-tracking \\\ +-- +2.21.0 + diff --git a/assumeexec.diff b/assumeexec.diff new file mode 100644 index 0000000..73af1a7 --- /dev/null +++ b/assumeexec.diff @@ -0,0 +1,27 @@ +--- ./tools/elfdeps.c.orig 2014-06-26 06:51:55.768815677 +0000 ++++ ./tools/elfdeps.c 2014-08-04 13:02:16.981081591 +0000 +@@ -17,6 +17,7 @@ int soname_only = 0; + int fake_soname = 1; + int filter_soname = 1; + int require_interp = 0; ++int assume_exec = 0; + + typedef struct elfInfo_s { + Elf *elf; +@@ -299,7 +300,7 @@ static int processFile(const char *fn, i + if (ehdr->e_type == ET_DYN || ehdr->e_type == ET_EXEC) { + ei->marker = mkmarker(ehdr); + ei->isDSO = (ehdr->e_type == ET_DYN); +- ei->isExec = (st.st_mode & (S_IXUSR|S_IXGRP|S_IXOTH)); ++ ei->isExec = assume_exec || (st.st_mode & (S_IXUSR|S_IXGRP|S_IXOTH)); + + processProgHeaders(ei, ehdr); + processSections(ei); +@@ -364,6 +365,7 @@ int main(int argc, char *argv[]) + { "no-fake-soname", 0, POPT_ARG_VAL, &fake_soname, 0, NULL, NULL }, + { "no-filter-soname", 0, POPT_ARG_VAL, &filter_soname, 0, NULL, NULL }, + { "require-interp", 0, POPT_ARG_VAL, &require_interp, -1, NULL, NULL }, ++ { "assume-exec", 0, POPT_ARG_VAL, &assume_exec, -1, NULL, NULL }, + POPT_AUTOHELP + POPT_TABLEEND + }; diff --git a/auto-config-update-aarch64-ppc64le.diff b/auto-config-update-aarch64-ppc64le.diff new file mode 100644 index 0000000..661d1e8 --- /dev/null +++ b/auto-config-update-aarch64-ppc64le.diff @@ -0,0 +1,28 @@ +Index: build/parseBuildInstallClean.c +=================================================================== +--- build/parseBuildInstallClean.c.orig ++++ build/parseBuildInstallClean.c +@@ -46,7 +46,22 @@ int parseBuildInstallClean(rpmSpec spec, + } else if (rc < 0) { + goto exit; + } +- ++ ++ if (parsePart == PART_BUILD) { ++ char* buf = strdup( ++ "ref=/usr/lib/rpm\n" ++ "for s in guess sub; do\n" ++ " for c in $(find -maxdepth 8 -name \"config.$s\"); do\n" ++ " grep -q config-patches@ $c || continue\n" ++ " grep -q aarch64 $c || install -m 755 $ref/config.$s $c\n" ++ " grep -q ppc64le $c || install -m 755 $ref/config.$s $c\n" ++ " done\n" ++ "done\n" ++ ); ++ appendLineStringBuf(*sbp, buf); ++ free(buf); ++ } ++ + while (! (nextPart = isPart(spec->line))) { + appendStringBuf(*sbp, spec->line); + if ((rc = readLine(spec, STRIP_NOTHING)) > 0) { diff --git a/auto-config-update-riscv64.diff b/auto-config-update-riscv64.diff new file mode 100644 index 0000000..a1ed78c --- /dev/null +++ b/auto-config-update-riscv64.diff @@ -0,0 +1,10 @@ +--- ./build/parseBuildInstallClean.c.orig 2018-02-22 10:11:50.088160024 +0000 ++++ ./build/parseBuildInstallClean.c 2018-02-22 10:11:37.592198130 +0000 +@@ -55,6 +55,7 @@ int parseBuildInstallClean(rpmSpec spec, + " grep -q config-patches@ $c || continue\n" + " grep -q aarch64 $c || install -m 755 $ref/config.$s $c\n" + " grep -q ppc64le $c || install -m 755 $ref/config.$s $c\n" ++ " grep -q 'riscv64[-:]' $c || install -m 755 $ref/config.$s $c\n" + " done\n" + "done\n" + ); diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..838e8ae --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,3 @@ +rpm +arch ppc package rpm-devel +arch sparcv9 package rpm-devel diff --git a/beecrypt-4.1.2-build.diff b/beecrypt-4.1.2-build.diff new file mode 100644 index 0000000..1834564 --- /dev/null +++ b/beecrypt-4.1.2-build.diff @@ -0,0 +1,41 @@ +--- + acinclude.m4 | 4 ++-- + configure.ac | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +Index: beecrypt-4.1.2/configure.ac +=================================================================== +--- beecrypt-4.1.2.orig/configure.ac ++++ beecrypt-4.1.2/configure.ac +@@ -1,8 +1,8 @@ + # Process this file with autoconf to produce a configure script. + + AC_INIT([beecrypt],[4.1.2],[bob.deblier@telenet.be]) +-AM_INIT_AUTOMAKE + AC_CANONICAL_TARGET ++AM_INIT_AUTOMAKE + AC_CONFIG_SRCDIR(beecrypt.h) + AC_CONFIG_HEADERS([config.h]) + +Index: beecrypt-4.1.2/acinclude.m4 +=================================================================== +--- beecrypt-4.1.2.orig/acinclude.m4 ++++ beecrypt-4.1.2/acinclude.m4 +@@ -459,7 +459,7 @@ AC_DEFUN([BEECRYPT_GNU_CC],[ + CFLAGS="$CFLAGS -Wall -pedantic" + else + # Generic optimizations, including cpu tuning +- BEECRYPT_CFLAGS_REM([-g]) ++ #BEECRYPT_CFLAGS_REM([-g]) + CFLAGS="$CFLAGS -DNDEBUG -fomit-frame-pointer" + if test "$bc_cv_c_aggressive_opt" = yes; then + case $bc_target_cpu in +@@ -571,7 +571,7 @@ AC_DEFUN([BEECRYPT_GNU_CXX],[ + CXXFLAGS="$CXXFLAGS -Wall -pedantic" + else + # Generic optimizations, including cpu tuning +- BEECRYPT_CXXFLAGS_REM([-g]) ++ #BEECRYPT_CXXFLAGS_REM([-g]) + CXXFLAGS="$CXXFLAGS -DNDEBUG" + if test "$bc_cv_c_aggressive_opt" = yes; then + case $bc_target_cpu in diff --git a/beecrypt-4.1.2.diff b/beecrypt-4.1.2.diff new file mode 100644 index 0000000..bd99c65 --- /dev/null +++ b/beecrypt-4.1.2.diff @@ -0,0 +1,52 @@ +Index: beecrypt-4.1.2/Makefile.am +=================================================================== +--- beecrypt-4.1.2/Makefile.am.orig ++++ beecrypt-4.1.2/Makefile.am +@@ -49,7 +49,7 @@ libaltdir=$(prefix)/lib@LIBALT@ + + libalt_LTLIBRARIES = libbeecrypt.la + +-libbeecrypt_la_SOURCES = aes.c base64.c beecrypt.c blockmode.c blockpad.c blowfish.c dhaes.c dldp.c dlkp.c dlpk.c dlsvdp-dh.c dsa.c elgamal.c endianness.c entropy.c fips186.c hmac.c hmacmd5.c hmacsha1.c hmacsha256.c md5.c hmacsha384.c hmacsha512.c memchunk.c mp.c mpbarrett.c mpnumber.c mpprime.c mtprng.c pkcs1.c pkcs12.c rsa.c rsakp.c rsapk.c sha1.c sha256.c sha384.c sha512.c sha_k.c timestamp.c cppglue.cxx ++libbeecrypt_la_SOURCES = aes.c base64.c beecrypt.c blockmode.c blockpad.c blowfish.c dhaes.c dldp.c dlkp.c dlpk.c dlsvdp-dh.c dsa.c elgamal.c endianness.c entropy.c fips186.c hmac.c hmacmd5.c hmacsha1.c hmacsha256.c md5.c hmacsha384.c hmacsha512.c memchunk.c mp.c mpbarrett.c mpnumber.c mpprime.c mtprng.c pkcs1.c pkcs12.c rsa.c rsakp.c rsapk.c sha1.c sha256.c sha384.c sha512.c sha_k.c timestamp.c + libbeecrypt_la_DEPENDENCIES = $(BEECRYPT_OBJECTS) + libbeecrypt_la_LIBADD = aesopt.lo blowfishopt.lo mpopt.lo sha1opt.lo + libbeecrypt_la_LDFLAGS = -no-undefined -version-info $(LIBBEECRYPT_LT_CURRENT):$(LIBBEECRYPT_LT_REVISION):$(LIBBEECRYPT_LT_AGE) +@@ -62,5 +62,11 @@ EXTRA_DIST = BENCHMARKS BUGS CONTRIBUTOR + + DISTCLEANFILES = mpopt.s aesopt.s blowfishopt.s sha1opt.s + ++BUILT_SOURCES = listobjs ++ ++.PHONY: listobjs ++listobjs: ++ @echo $(libbeecrypt_la_OBJECTS) $(libbeecrypt_la_LIBADD) > $@ ++ + bench: + (cd tests && $(MAKE) $(AM_MAKEFLAGS) bench) +Index: beecrypt-4.1.2/base64.c +=================================================================== +--- beecrypt-4.1.2/base64.c.orig ++++ beecrypt-4.1.2/base64.c +@@ -253,7 +253,6 @@ char* b64encode(const void* data, size_t + unsigned c; + + if (s == NULL) return NULL; +- if (*s == '\0') return calloc(1, sizeof(*t)); + + if (ns == 0) ns = strlen((const char*) s); + nt = ((ns + 2) / 3) * 4; +Index: beecrypt-4.1.2/c++/io/DataOutputStream.cxx +=================================================================== +--- beecrypt-4.1.2/c++/io/DataOutputStream.cxx.orig ++++ beecrypt-4.1.2/c++/io/DataOutputStream.cxx +@@ -126,8 +126,8 @@ void DataOutputStream::writeLong(javalon + void DataOutputStream::writeChar(javaint v) throw (IOException) + { + _lock.lock(); +- out.write((v >> 8) && 0xff); +- out.write((v ) && 0xff); ++ out.write((v >> 8) & 0xff); ++ out.write((v ) & 0xff); + written += 2; + _lock.unlock(); + } diff --git a/brp-compress-no-img.patch b/brp-compress-no-img.patch new file mode 100644 index 0000000..b21f386 --- /dev/null +++ b/brp-compress-no-img.patch @@ -0,0 +1,10 @@ +--- scripts/brp-compress 2013-09-02 19:00:09.000000000 +0200 ++++ scripts/brp-compress 2013-09-02 19:03:12.000000000 +0200 +@@ -47,6 +47,7 @@ do + find $d -type f ! -name dir | while read f + do + [ -f "$f" ] || continue ++ case $(file "$f") in *"image data"*) continue;; esac + + case "$f" in + *.gz|*.Z) gunzip "$f" || check_for_hard_link $d "$f"; b=`echo $f | sed -e 's/\.\(gz\|Z\)$//'`;; diff --git a/brp.diff b/brp.diff new file mode 100644 index 0000000..6518243 --- /dev/null +++ b/brp.diff @@ -0,0 +1,21 @@ +--- ./scripts/brp-strip-comment-note.orig 2017-08-10 08:08:07.150108692 +0000 ++++ ./scripts/brp-strip-comment-note 2017-12-01 14:29:56.761975721 +0000 +@@ -16,6 +16,8 @@ esac + # for already stripped elf files in the build root + for f in `find "$RPM_BUILD_ROOT" -type f \( -perm -0100 -or -perm -0010 -or -perm -0001 \) -exec file {} \; | \ + grep -v "^${RPM_BUILD_ROOT}/\?usr/lib/debug" | \ ++ grep -v ' shared object,' | \ ++ grep -v '/lib/modules/' | \ + sed -n -e 's/^\(.*\):[ ]*ELF.*, stripped.*/\1/p'`; do + note="-R .note" + if $OBJDUMP -h $f | grep '^[ ]*[0-9]*[ ]*.note[ ]' -A 1 | \ +--- ./scripts/brp-strip.orig 2017-08-10 08:08:07.150108692 +0000 ++++ ./scripts/brp-strip 2017-12-01 14:29:56.761975721 +0000 +@@ -15,6 +15,7 @@ esac + for f in `find "$RPM_BUILD_ROOT" -type f \( -perm -0100 -or -perm -0010 -or -perm -0001 \) -exec file {} \; | \ + grep -v "^${RPM_BUILD_ROOT}/\?usr/lib/debug" | \ + grep -v ' shared object,' | \ ++ grep -v '/lib/modules/' | \ + sed -n -e 's/^\(.*\):[ ]*ELF.*, not stripped.*/\1/p'`; do + $STRIP -g "$f" || : + done diff --git a/brpcompress.diff b/brpcompress.diff new file mode 100644 index 0000000..5d027fd --- /dev/null +++ b/brpcompress.diff @@ -0,0 +1,96 @@ +--- ./scripts/brp-compress.orig 2018-01-31 13:07:37.130104408 +0000 ++++ ./scripts/brp-compress 2018-01-31 13:07:16.234159981 +0000 +@@ -5,51 +5,78 @@ if [ -z "$RPM_BUILD_ROOT" -o "$RPM_BUILD + exit 0 + fi + ++LC_ALL= ++LANG= ++LC_TIME=POSIX ++ + cd "$RPM_BUILD_ROOT" + + # Compress man pages + COMPRESS=${COMPRESS:-gzip -9 -n} + COMPRESS_EXT=${COMPRESS_EXT:-.gz} + ++check_for_hard_link() ++{ ++ dir=$1 ++ b=$2 ++ ++ inode=`ls -i $b | awk '{ print $1 }'` ++ others=`find $dir -type f -inum $inode` ++ for afile in $others ; do ++ [ "$afile" != "$b" ] && rm -f "$afile" ++ done ++ ++ case $b in ++ *.Z|*.gz) gunzip $b ;; ++ *.bz2) bunzip2 $b ;; ++ *.xz|*.lzma) unxz $b ;; ++ esac ++ ++ type=${b##*.} ++ for afile in $others ; do ++ [ "${afile%.$type}" != "${b%.$type}" ] && ln ${b%.$type} ${afile%.$type} ++ done ++} ++ + for d in ./usr/man/man* ./usr/man/*/man* ./usr/info \ + ./usr/share/man/man* ./usr/share/man/*/man* ./usr/share/info \ + ./usr/kerberos/man ./usr/X11R6/man/man* ./usr/lib/perl5/man/man* \ + ./usr/share/doc/*/man/man* ./usr/lib/*/man/man* ./usr/share/fish/man/man* + do + [ -d $d ] || continue +- for f in `find $d -type f ! -name dir` ++ find $d -type f ! -name dir | while read f + do + [ -f "$f" ] || continue + + case "$f" in +- *.gz|*.Z) gunzip -f $f; b=`echo $f | sed -e 's/\.\(gz\|Z\)$//'`;; +- *.bz2) bunzip2 -f $f; b=`echo $f | sed -e 's/\.bz2$//'`;; +- *.xz|*.lzma) unxz -f $f; b=`echo $f | sed -e 's/\.\(xz\|lzma\)$//'`;; +- *) b=$f;; ++ *.gz|*.Z) gunzip "$f" || check_for_hard_link $d "$f"; b=`echo $f | sed -e 's/\.\(gz\|Z\)$//'`;; ++ *.bz2) bunzip2 "$f" || check_for_hard_link $d "$f"; b=`echo $f | sed -e 's/\.bz2$//'`;; ++ *.xz|*.lzma) unxz "$f" || check_for_hard_link $d "$f"; b=`echo $f | sed -e 's/\.\(xz\|lzma\)$//'`;; ++ *) b="$f";; + esac + +- $COMPRESS $b /dev/null || { ++ $COMPRESS "$b" /dev/null || { + inode=`ls -i $b | awk '{ print $1 }'` + others=`find $d -type f -inum $inode` + if [ -n "$others" ]; then + for afile in $others ; do +- [ "$afile" != "$b" ] && rm -f $afile ++ [ "$afile" != "$b" ] && rm -f "$afile" + done +- $COMPRESS -f $b ++ $COMPRESS -f "$b" + for afile in $others ; do +- [ "$afile" != "$b" ] && ln $b$COMPRESS_EXT $afile$COMPRESS_EXT ++ [ "$afile" != "$b" ] && ln "$b$COMPRESS_EXT" "$afile$COMPRESS_EXT" + done + else +- $COMPRESS -f $b ++ $COMPRESS -f "$b" + fi + } + done + +- for f in `find $d -type l` ++ find $d -type l | while read f + do +- l=`ls -l $f | sed -e 's/.* -> //' -e 's/\.\(gz\|Z\|bz2\|xz\|lzma\)$//'` +- rm -f $f +- b=`echo $f | sed -e 's/\.\(gz\|Z\|bz2\|xz\|lzma\)$//'` +- ln -sf $l$COMPRESS_EXT $b$COMPRESS_EXT ++ l="`ls -l "$f" | sed -e 's/.* -> //' -e 's/\.\(gz\|Z\|bz2\|xz\|lzma\)$//'`" ++ rm -f "$f" ++ b="`echo "$f" | sed -e 's/\.\(gz\|Z\|bz2\|xz\|lzma\)$//'`" ++ ln -sf "$l$COMPRESS_EXT" "$b$COMPRESS_EXT" + done + done diff --git a/build.diff b/build.diff new file mode 100644 index 0000000..a593f39 --- /dev/null +++ b/build.diff @@ -0,0 +1,28 @@ +--- db3/configure ++++ db3/configure +@@ -10,9 +10,9 @@ + # XXX edit CFLAGS= ... out of invocation args ??? + ARGS="`echo $* | sed -e 's% [^ ]*CFLAGS=[^ ]*%%' -e 's% -[^-][^ ]*%%g' -e 's% --param=[^ ]*%%g' -e 's%--cache-file=.*$%%'`" + +-CC="$CC" CFLAGS="$CFLAGS" $db_dist/configure $ARGS \ ++CC="$CC" CFLAGS="$CFLAGS" $db_dist/configure \ + --enable-shared --enable-static \ +- --with-uniquename=_rpmdb --srcdir=$db_dist ++ --with-uniquename=_rpmdb --srcdir=$db_dist --with-pic $ARGS + + mv Makefile Makefile.orig + cat Makefile.orig | sed -e '/^install[:-]/c\ +--- installplatform ++++ installplatform +@@ -118,6 +118,11 @@ + PPD="${DESTDIR}/${platformdir}/${ARCH}-${OS}" + [ -d $PPD ] || mkdir -p $PPD + ++ if [ "$VENDOR" = suse ] ; then ++ # suse doesn't do colors ++ CANONCOLOR=0 ++ fi ++ + cat $PLATFORM \ + | sed -e "s,@RPMRC_OPTFLAGS@,$RPMRC_OPTFLAGS," \ + -e "s,@RPMCANONARCH@,$CANONARCH,g" \ diff --git a/checkfilesnoinfodir.diff b/checkfilesnoinfodir.diff new file mode 100644 index 0000000..d47979f --- /dev/null +++ b/checkfilesnoinfodir.diff @@ -0,0 +1,12 @@ +Exclude /usr/share/info/dir from check-files. Probably only +interesting for SUSE. + +--- scripts/check-files.orig 2013-06-10 15:55:10.000000000 +0000 ++++ scripts/check-files 2013-07-12 11:45:37.000000000 +0000 +@@ -28,5 +28,5 @@ trap "rm -f \"${FILES_DISK}\"" 0 2 3 5 1 + # Find non-directory files in the build root and compare to the manifest. + # TODO: regex chars in last sed(1) expression should be escaped + find "${RPM_BUILD_ROOT}" -type f -o -type l | LC_ALL=C sort > "${FILES_DISK}" +-LC_ALL=C sort | diff -d "${FILES_DISK}" - | sed -n 's|^< '"${RPM_BUILD_ROOT}"'\(.*\)$| \1|gp' ++LC_ALL=C sort | diff -d "${FILES_DISK}" - | sed -n -e 's|^< '"${RPM_BUILD_ROOT}"'/usr/share/info/dir$||' -e 's|^< '"${RPM_BUILD_ROOT}"'\(.*\)$| \1|gp' + diff --git a/checksepwarn.diff b/checksepwarn.diff new file mode 100644 index 0000000..04d75bc --- /dev/null +++ b/checksepwarn.diff @@ -0,0 +1,68 @@ +--- ./build/parseReqs.c.orig 2017-10-05 10:04:56.887602165 +0000 ++++ ./build/parseReqs.c 2017-12-01 16:00:06.956343096 +0000 +@@ -42,7 +42,7 @@ static rpmRC checkEpoch(const char *s, c + return RPMRC_OK; + } + +-static rpmRC checkDep(rpmSpec spec, char *N, char *EVR, char **emsg) ++static rpmRC checkDep(rpmSpec spec, rpmsenseFlags tagflags, char *N, char *EVR, char **emsg) + { + /* + * Tokens must begin with alphanumeric, _, or /, but we don't know +@@ -65,6 +65,11 @@ static rpmRC checkDep(rpmSpec spec, char + + if (rpmExpandNumeric("%{?_wrong_version_format_terminate_build}")) + return RPMRC_FAIL; ++ if (tagflags & (RPMSENSE_FIND_REQUIRES|RPMSENSE_FIND_PROVIDES)) ++ rpmlog(RPMLOG_WARNING, "%s\n", *emsg); ++ else ++ rpmlog(RPMLOG_WARNING, _("line %d: %s: %s\n"), spec->lineNum, *emsg, spec->line); ++ *emsg = _free(*emsg); + } + } + return RPMRC_OK; +@@ -72,6 +77,7 @@ static rpmRC checkDep(rpmSpec spec, char + + struct parseRCPOTRichData { + rpmSpec spec; ++ rpmsenseFlags tagflags; + StringBuf sb; + }; + +@@ -109,7 +115,7 @@ static rpmRC parseRCPOTRichCB(void *cbda + appendStringBuf(sb, rel); + appendStringBuf(sb, EVR); + } +- rc = checkDep(data->spec, N, EVR, emsg); ++ rc = checkDep(data->spec, data->tagflags, N, EVR, emsg); + _free(N); + _free(EVR); + } else if (type == RPMRICH_PARSE_OP) { +@@ -223,6 +229,7 @@ rpmRC parseRCPOT(rpmSpec spec, Package p + goto exit; + } + data.spec = spec; ++ data.tagflags = tagflags; + data.sb = newStringBuf(); + if (rpmrichParseForTag(&r, &emsg, parseRCPOTRichCB, &data, nametag) != RPMRC_OK) { + freeStringBuf(data.sb); +@@ -274,7 +281,7 @@ rpmRC parseRCPOT(rpmSpec spec, Package p + } + + /* check that dependency is well-formed */ +- if (checkDep(spec, N, EVR, &emsg)) ++ if (checkDep(spec, tagflags, N, EVR, &emsg)) + goto exit; + + if (nametag == RPMTAG_FILETRIGGERNAME || +--- ./macros.in.orig 2017-12-01 16:00:02.705355493 +0000 ++++ ./macros.in 2017-12-01 16:00:06.957343106 +0000 +@@ -456,7 +456,7 @@ package or when debugging this package.\ + %_invalid_encoding_terminates_build 0 + + # Should invalid version format in requires, provides, ... terminate a build? +-%_wrong_version_format_terminate_build 1 ++%_wrong_version_format_terminate_build 0 + + # + # Should rpm try to download missing sources at build-time? diff --git a/db.diff b/db.diff new file mode 100644 index 0000000..dbfb293 --- /dev/null +++ b/db.diff @@ -0,0 +1,82 @@ +--- db/db/db.c.orig 2010-04-12 20:25:22.000000000 +0000 ++++ db/db/db.c 2011-05-12 11:38:59.000000000 +0000 +@@ -646,6 +646,8 @@ __env_mpool(dbp, fname, flags) + MAKE_INMEM(dbp); + return (ret); + } ++ if (LF_ISSET(DB_NOFSYNC) && mpf->mfp) ++ F_SET(mpf->mfp, MP_NOFSYNC); + + /* + * Set the open flag. We use it to mean that the dbp has gone +--- db/db/db_iface.c.orig 2010-04-12 20:25:22.000000000 +0000 ++++ db/db/db_iface.c 2011-05-12 11:21:32.000000000 +0000 +@@ -1230,6 +1230,7 @@ __db_open_arg(dbp, txn, fname, dname, ty + #define OKFLAGS \ + (DB_AUTO_COMMIT | DB_CREATE | DB_EXCL | DB_FCNTL_LOCKING | \ + DB_MULTIVERSION | DB_NOMMAP | DB_NO_AUTO_COMMIT | DB_RDONLY | \ ++ DB_NOFSYNC | \ + DB_RDWRMASTER | DB_READ_UNCOMMITTED | DB_THREAD | DB_TRUNCATE) + if ((ret = __db_fchk(env, "DB->open", flags, OKFLAGS)) != 0) + return (ret); +--- db/dbinc/mp.h.orig 2010-04-12 20:25:22.000000000 +0000 ++++ db/dbinc/mp.h 2011-05-12 12:01:32.000000000 +0000 +@@ -467,6 +467,7 @@ struct __mpoolfile { + #define MP_FAKE_UOC 0x080 /* Unlink_on_close field: fake flag. */ + #define MP_NOT_DURABLE 0x100 /* File is not durable. */ + #define MP_TEMP 0x200 /* Backing file is a temporary. */ ++#define MP_NOFSYNC 0x400 /* Don't fsync */ + u_int32_t flags; + }; + +--- db/dbinc_auto/api_flags.in.orig 2011-05-12 11:40:57.000000000 +0000 ++++ db/dbinc_auto/api_flags.in 2011-05-12 11:55:10.000000000 +0000 +@@ -83,6 +83,7 @@ + #define DB_NOORDERCHK 0x00000002 + #define DB_NOPANIC 0x00000800 + #define DB_NO_AUTO_COMMIT 0x00001000 ++#define DB_NOFSYNC 0x00040000 + #define DB_ODDFILESIZE 0x00000080 + #define DB_ORDERCHKONLY 0x00000004 + #define DB_OVERWRITE 0x00001000 +--- db/dist/s_config.orig 2010-04-12 20:25:23.000000000 +0000 ++++ db/dist/s_config 2011-05-12 12:00:34.000000000 +0000 +@@ -8,7 +8,8 @@ trap 'rm -f aclocal.m4 ; exit 0' 0 1 2 3 + . ./RELEASE + + echo "autoconf: building aclocal.m4..." +-cat aclocal/*.m4 aclocal_java/*.m4 > aclocal.m4 ++cat aclocal/*.m4 aclocal_java/*.m4 > acinclude.m4 ++aclocal + + echo "autoconf: running autoheader to build config.hin..." + rm -f config.hin +--- db/mp/mp_sync.c.orig 2010-04-12 20:25:34.000000000 +0000 ++++ db/mp/mp_sync.c 2011-05-12 11:36:58.000000000 +0000 +@@ -578,7 +578,7 @@ done: /* + if (ret == 0 && required_write) { + if (dbmfp == NULL) + ret = __memp_sync_files(env); +- else ++ else if (!F_ISSET(dbmfp->mfp, MP_NOFSYNC)) + ret = __os_fsync(env, dbmfp->fhp); + } + +@@ -665,7 +665,7 @@ __memp_sync_file(env, mfp, argp, countp, + "%s: unable to flush", (char *) + R_ADDR(dbmp->reginfo, mfp->path_off)); + } +- } else ++ } else if (!F_ISSET(dbmfp->mfp, MP_NOFSYNC)) + ret = __os_fsync(env, dbmfp->fhp); + + /* +@@ -801,6 +801,8 @@ __memp_mf_sync(dbmp, mfp, locked) + COMPQUIET(hp, NULL); + env = dbmp->env; + ++ if (F_ISSET(mfp, MP_NOFSYNC)) ++ return 0; + /* + * We need to be holding the hash lock: we're using the path name + * and __memp_nameop might try and rename the file. diff --git a/dbfsync.diff b/dbfsync.diff new file mode 100644 index 0000000..10a5844 --- /dev/null +++ b/dbfsync.diff @@ -0,0 +1,24 @@ +Support a database-local fsync setting. Needs berkeley db patch. + +--- ./lib/backend/db3.c.orig 2017-01-19 10:31:06.874215725 +0000 ++++ ./lib/backend/db3.c 2017-01-19 10:32:51.825873926 +0000 +@@ -73,8 +73,10 @@ static const struct poptOption rdbOption + { "mp_size", 0,POPT_ARG_INT, &staticcfg.db_cachesize, 0, + NULL, NULL }, + ++#if 0 + { "nofsync", 0,POPT_ARG_NONE, &staticcfg.db_no_fsync, 0, + NULL, NULL }, ++#endif + + /* Per-dbi options */ + { "nommap", 0,POPT_BIT_SET, &staticdbicfg.dbi_oflags, DB_NOMMAP, +@@ -84,6 +86,8 @@ static const struct poptOption rdbOption + NULL, NULL }, + { "lockdbfd", 0,POPT_ARG_NONE, &staticdbicfg.dbi_lockdbfd, 0, + NULL, NULL }, ++ { "nofsync", 0,POPT_BIT_SET, &staticdbicfg.dbi_oflags, DB_NOFSYNC, ++ NULL, NULL }, + + POPT_TABLEEND + }; diff --git a/dbprivate.diff b/dbprivate.diff new file mode 100644 index 0000000..75402a9 --- /dev/null +++ b/dbprivate.diff @@ -0,0 +1,11 @@ +--- ./lib/backend/db3.c.orig 2017-12-01 15:44:53.609993968 +0000 ++++ ./lib/backend/db3.c 2017-12-01 15:45:05.462959735 +0000 +@@ -416,7 +416,7 @@ static int db_init(rpmdb rdb, const char + int rdonly = ((rdb->db_mode & O_ACCMODE) == O_RDONLY); + struct dbConfig_s * cfg = &rdb->cfg; + /* This is our setup, thou shall not have other setups before us */ +- uint32_t eflags = (DB_CREATE|DB_INIT_MPOOL|DB_INIT_CDB); ++ uint32_t eflags = (DB_CREATE|DB_INIT_MPOOL|DB_INIT_CDB|DB_PRIVATE); + + if (rdb->db_dbenv != NULL) { + rdb->db_opens++; diff --git a/dbrointerruptable.diff b/dbrointerruptable.diff new file mode 100644 index 0000000..e2c77b9 --- /dev/null +++ b/dbrointerruptable.diff @@ -0,0 +1,32 @@ +--- ./lib/rpmdb.c.orig 2018-08-08 13:40:18.153941351 +0000 ++++ ./lib/rpmdb.c 2018-10-16 09:20:11.196708098 +0000 +@@ -387,9 +387,11 @@ int rpmdbClose(rpmdb db) + { + rpmdb * prev, next; + int rc = 0; ++ int dbmode; + + if (db == NULL) + goto exit; ++ dbmode = db->db_mode; + + prev = &rpmdbRock; + while ((next = *prev) != NULL && next != db) +@@ -424,7 +426,7 @@ int rpmdbClose(rpmdb db) + + db = _free(db); + +- if (rpmdbRock == NULL) { ++ if (rpmdbRock == NULL && (dbmode & (O_RDWR|O_WRONLY)) != 0) { + rpmsqActivate(0); + } + exit: +@@ -509,7 +511,7 @@ static int openDatabase(const char * pre + rc = rpmioMkpath(rpmdbHome(db), 0755, getuid(), getgid()); + if (rc == 0) { + /* Enable signal queue on the first db open */ +- if (db->db_next == NULL) { ++ if (db->db_next == NULL && (db->db_mode & (O_RDWR|O_WRONLY)) != 0) { + rpmsqActivate(1); + } + diff --git a/debugedit-macro.diff b/debugedit-macro.diff new file mode 100644 index 0000000..e2b8cd3 --- /dev/null +++ b/debugedit-macro.diff @@ -0,0 +1,94 @@ +--- ./tools/debugedit.c.orig 2017-12-15 12:17:02.564975374 +0000 ++++ ./tools/debugedit.c 2017-12-15 12:17:29.058901941 +0000 +@@ -71,6 +71,14 @@ + #define DW_FORM_ref_udata 0x15 + #define DW_FORM_indirect 0x16 + ++#define DW_MACRO_GNU_define 1 ++#define DW_MACRO_GNU_undef 2 ++#define DW_MACRO_GNU_start_file 3 ++#define DW_MACRO_GNU_end_file 4 ++#define DW_MACRO_GNU_define_indirect 5 ++#define DW_MACRO_GNU_undef_indirect 6 ++#define DW_MACRO_GNU_transparent_include 7 ++ + /* Unfortunately strtab manipulation functions were only officially added + to elfutils libdw in 0.167. Before that there were internal unsupported + ebl variants. While libebl.h isn't supported we'll try to use it anyway +@@ -2209,6 +2217,67 @@ edit_dwarf2 (DSO *dso) + } + } + ++ /* the macro section also contains offsets into the str section, ++ * so we need to update those as well if we update the strings ++ */ ++ if (need_strp_update && debug_sections[DEBUG_MACRO].data) ++ { ++ ptr = debug_sections[DEBUG_MACRO].data; ++ endsec = ptr + debug_sections[DEBUG_MACRO].size; ++ int op = 0, macro_version, macro_flags; ++ ++ while (ptr < endsec) ++ { ++ if (!op) ++ { ++ macro_version = read_16 (ptr); ++ macro_flags = read_8 (ptr); ++ if (macro_version != 4 || (macro_flags & ~2) != 0) ++ error (1, 0, "unhandled .debug_macro version/flags"); ++ if ((macro_flags & 2) != 0) ++ ptr += 4; ++ } ++ op = read_8 (ptr); ++ if (!op) ++ continue; ++ switch(op) ++ { ++ case DW_MACRO_GNU_define: ++ case DW_MACRO_GNU_undef: ++ read_uleb128 (ptr); ++ ptr = (unsigned char *) strchr ((char *) ptr, '\0') + 1; ++ break; ++ case DW_MACRO_GNU_start_file: ++ read_uleb128 (ptr); ++ read_uleb128 (ptr); ++ break; ++ case DW_MACRO_GNU_define_indirect: ++ case DW_MACRO_GNU_undef_indirect: ++ read_uleb128 (ptr); ++ if (phase == 0) ++ { ++ size_t idx = read_32 (ptr); ++ record_existing_string_entry_idx (&dso->strings, idx); ++ } ++ else ++ { ++ struct stridxentry *entry; ++ size_t idx, new_idx; ++ idx = do_read_32 (ptr); ++ entry = string_find_entry (&dso->strings, idx); ++ new_idx = strent_offset (entry->entry); ++ write_32 (ptr, new_idx); ++ } ++ break; ++ case DW_MACRO_GNU_transparent_include: ++ ptr += 4; ++ break; ++ default: ++ break; ++ } ++ } ++ } ++ + /* Same for the debug_str section. Make sure everything is + in place for phase 1 updating of debug_info + references. */ +@@ -2238,6 +2307,8 @@ edit_dwarf2 (DSO *dso) + new strp, strings and/or linep offsets. */ + if (need_strp_update || need_string_replacement || need_stmt_update) + dirty_section (DEBUG_INFO); ++ if (need_strp_update) ++ dirty_section (DEBUG_MACRO); + + /* Update any debug_info relocations addends we might have touched. */ + if (relbuf != NULL && reltype == SHT_RELA) diff --git a/debugedit.diff b/debugedit.diff new file mode 100644 index 0000000..733fc19 --- /dev/null +++ b/debugedit.diff @@ -0,0 +1,61 @@ +Make debugedit build without dwarf.h + +--- ./Makefile.am.orig 2017-12-01 14:15:13.963574699 +0000 ++++ ./Makefile.am 2017-12-01 14:16:10.634407860 +0000 +@@ -154,7 +154,6 @@ rpm2archive_LDADD += @WITH_POPT_LIB@ @WI + + + if LIBELF +-if LIBDWARF + if LIBDW + rpmconfig_SCRIPTS += scripts/find-debuginfo.sh + +@@ -168,7 +167,6 @@ else + debugedit_LDADD += @WITH_LIBDW_LIB@ -lebl + endif # HAVE_LIBDW_STRTAB + endif # LIBDW +-endif # LIBDWARF + rpmlibexec_PROGRAMS += elfdeps + elfdeps_SOURCES = tools/elfdeps.c + elfdeps_LDADD = rpmio/librpmio.la +--- ./tools/debugedit.c.orig 2017-10-05 10:04:57.714602011 +0000 ++++ ./tools/debugedit.c 2017-12-01 14:15:13.965574668 +0000 +@@ -39,7 +39,37 @@ + #include + + #include +-#include ++ ++ ++/* some defines taken from the dwarf standard */ ++ ++#define DW_TAG_compile_unit 0x11 ++ ++#define DW_AT_name 0x03 ++#define DW_AT_stmt_list 0x10 ++#define DW_AT_comp_dir 0x1b ++ ++#define DW_FORM_addr 0x01 ++#define DW_FORM_block2 0x03 ++#define DW_FORM_block4 0x04 ++#define DW_FORM_data2 0x05 ++#define DW_FORM_data4 0x06 ++#define DW_FORM_data8 0x07 ++#define DW_FORM_string 0x08 ++#define DW_FORM_block 0x09 ++#define DW_FORM_block1 0x0a ++#define DW_FORM_data1 0x0b ++#define DW_FORM_flag 0x0c ++#define DW_FORM_sdata 0x0d ++#define DW_FORM_strp 0x0e ++#define DW_FORM_udata 0x0f ++#define DW_FORM_ref_addr 0x10 ++#define DW_FORM_ref1 0x11 ++#define DW_FORM_ref2 0x12 ++#define DW_FORM_ref4 0x13 ++#define DW_FORM_ref8 0x14 ++#define DW_FORM_ref_udata 0x15 ++#define DW_FORM_indirect 0x16 + + /* Unfortunately strtab manipulation functions were only officially added + to elfutils libdw in 0.167. Before that there were internal unsupported diff --git a/debuginfo-mono.patch b/debuginfo-mono.patch new file mode 100644 index 0000000..c4a9847 --- /dev/null +++ b/debuginfo-mono.patch @@ -0,0 +1,19 @@ +--- ./scripts/find-debuginfo.sh.orig 2017-12-01 15:40:27.006764372 +0000 ++++ ./scripts/find-debuginfo.sh 2017-12-01 15:41:17.270619182 +0000 +@@ -348,6 +348,16 @@ while read nlinks inum f; do + ;; + *) continue ;; + esac ++ # double check that we really have an ELF file, ++ # to handle monodevelop-debugger-gdb and monodevelop-debugger-mdb ++ ftype=`/usr/bin/file $f | cut -d: -f2-` ++ case $ftype in ++ *ELF*) ;; ++ *) ++ echo "$f is not an ELF file, skipping" ++ continue ++ ;; ++ esac + if [ $nlinks -gt 1 ]; then + var=seen_$inum + if test -n "${!var}"; then diff --git a/debuglink.diff b/debuglink.diff new file mode 100644 index 0000000..0ff8ac4 --- /dev/null +++ b/debuglink.diff @@ -0,0 +1,11 @@ +--- ./scripts/find-debuginfo.sh.orig 2017-12-01 15:39:07.239994681 +0000 ++++ ./scripts/find-debuginfo.sh 2017-12-01 15:39:34.942914702 +0000 +@@ -321,7 +321,7 @@ debug_link() + get_debugfn() + { + dn=$(dirname "${1#$RPM_BUILD_ROOT}") +- bn=$(basename "$1" .debug)${unique_debug_suffix}.debug ++ bn=$(basename "$1")${unique_debug_suffix}.debug + debugdn=${debugdir}${dn} + debugfn=${debugdn}/${bn} + } diff --git a/debugsubpkg.diff b/debugsubpkg.diff new file mode 100644 index 0000000..58585a0 --- /dev/null +++ b/debugsubpkg.diff @@ -0,0 +1,41 @@ +--- ./scripts/find-debuginfo.sh.orig 2017-12-01 15:35:59.023537837 +0000 ++++ ./scripts/find-debuginfo.sh 2017-12-01 15:36:30.351447397 +0000 +@@ -548,19 +548,25 @@ if $run_dwz \ + fi + fi + +-# 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 | +-while read f +-do +- t=$(readlink -m "$f").debug +- f=${f#$RPM_BUILD_ROOT} +- t=${t#$RPM_BUILD_ROOT} +- if [ -f "$debugdir$t" ]; then +- echo "symlinked /usr/lib/debug$t to /usr/lib/debug${f}.debug" +- debug_link "/usr/lib/debug$t" "${f}.debug" +- fi +-done ++# We used to make a .debug symlink for each symlink whose target ++# has a .debug file to that file. This is not necessary because ++# the debuglink section contains only the destination of those links. ++# Creating those links anyway results in debuginfo packages for ++# devel packages just because of the .so symlinks in them. ++ ++## 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 | ++#while read f ++#do ++# t=$(readlink -m "$f").debug ++# f=${f#$RPM_BUILD_ROOT} ++# t=${t#$RPM_BUILD_ROOT} ++# if [ -f "$debugdir$t" ]; then ++# echo "symlinked /usr/lib/debug$t to /usr/lib/debug${f}.debug" ++# debug_link "/usr/lib/debug$t" "${f}.debug" ++# fi ++#done + + if [ -s "$SOURCEFILE" ]; then + # See also debugedit invocation. Directories must match up. diff --git a/dwz-compression.patch b/dwz-compression.patch new file mode 100644 index 0000000..dc8e28a --- /dev/null +++ b/dwz-compression.patch @@ -0,0 +1,21 @@ +diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh +index 73275a11c..3dc438ce5 100755 +--- scripts/find-debuginfo.sh ++++ scripts/find-debuginfo.sh +@@ -486,6 +486,7 @@ if $run_dwz \ + && [ -d "${RPM_BUILD_ROOT}/usr/lib/debug" ]; then + readarray dwz_files < <(cd "${RPM_BUILD_ROOT}/usr/lib/debug"; find -type f -name \*.debug | LC_ALL=C sort) + if [ ${#dwz_files[@]} -gt 0 ]; then ++ size_before=$(du -sk ${RPM_BUILD_ROOT}/usr/lib/debug | cut -f1) + dwz_multifile_name="${RPM_PACKAGE_NAME}-${RPM_PACKAGE_VERSION}-${RPM_PACKAGE_RELEASE}.${RPM_ARCH}" + dwz_multifile_suffix= + dwz_multifile_idx=0 +@@ -508,6 +509,8 @@ if $run_dwz \ + echo >&2 "*** ERROR: DWARF compression requested, but no dwz installed" + exit 2 + fi ++ size_after=$(du -sk ${RPM_BUILD_ROOT}/usr/lib/debug | cut -f1) ++ echo "original debug info size: ${size_before}kB, size after compression: ${size_after}kB" + # Remove .dwz directory if empty + rmdir "${RPM_BUILD_ROOT}/usr/lib/debug/.dwz" 2>/dev/null + if [ -f "${RPM_BUILD_ROOT}/usr/lib/debug/.dwz/${dwz_multifile_name}" ]; then diff --git a/emptymanifest.diff b/emptymanifest.diff new file mode 100644 index 0000000..9eba180 --- /dev/null +++ b/emptymanifest.diff @@ -0,0 +1,11 @@ +--- ./macros.in.orig 2017-01-20 10:15:12.677868723 +0000 ++++ ./macros.in 2017-01-20 10:15:30.385819715 +0000 +@@ -403,7 +403,7 @@ package or when debugging this package.\ + # Should empty %files manifest file terminate a build? + # + # Note: The default value should be 0 for legacy compatibility. +-%_empty_manifest_terminate_build 1 ++%_empty_manifest_terminate_build 0 + + # + # Should binaries in noarch packages terminate a build? diff --git a/enable-postin-scripts-error.diff b/enable-postin-scripts-error.diff new file mode 100644 index 0000000..251488b --- /dev/null +++ b/enable-postin-scripts-error.diff @@ -0,0 +1,26 @@ +--- ./lib/transaction.c.orig 2018-07-02 14:51:41.328051671 +0000 ++++ ./lib/transaction.c 2018-07-02 14:51:46.264038824 +0000 +@@ -1462,7 +1462,9 @@ rpmRC runScript(rpmts ts, rpmte te, Head + int warn_only = (stag != RPMTAG_PREIN && + stag != RPMTAG_PREUN && + stag != RPMTAG_PRETRANS && +- stag != RPMTAG_VERIFYSCRIPT); ++ stag != RPMTAG_VERIFYSCRIPT && ++ !(stag == RPMTAG_POSTIN && ++ rpmExpandNumeric("%{_fail_on_postinstall_errors}"))); + rpmdb rdb = rpmtsGetRdb(ts); + + /* Fake up a transaction element for triggers from rpmdb */ +--- ./macros.in.orig 2018-07-02 14:51:41.340051640 +0000 ++++ ./macros.in 2018-07-02 14:51:46.264038824 +0000 +@@ -1290,5 +1290,10 @@ end} + %{expand:%__scm_setup_%{__scm} %{!-v:-q}}\ + %{!-N:%autopatch %{-v} %{-p:-p%{-p*}}} + ++# Should errors in %post scriptlet be propagated as errors? ++# ++# Note: set to 1 for legacy compatibility. ++%_fail_on_postinstall_errors 0 ++ + # \endverbatim + #*/ diff --git a/fileattrs.diff b/fileattrs.diff new file mode 100644 index 0000000..204bb0a --- /dev/null +++ b/fileattrs.diff @@ -0,0 +1,44 @@ +--- ./fileattrs/Makefile.am.orig 2017-12-01 15:46:21.021741182 +0000 ++++ ./fileattrs/Makefile.am 2017-12-01 15:48:54.108298271 +0000 +@@ -8,6 +8,6 @@ fattrsdir = $(rpmconfigdir)/fileattrs + fattrs_DATA = \ + debuginfo.attr desktop.attr elf.attr font.attr libtool.attr metainfo.attr \ + perl.attr perllib.attr pkgconfig.attr python.attr ocaml.attr script.attr \ +- mono.attr ++ mono.attr elflib.attr + + EXTRA_DIST = $(fattrs_DATA) +--- ./fileattrs/elf.attr.orig 2017-12-01 15:46:28.171720501 +0000 ++++ ./fileattrs/elf.attr 2017-12-01 15:47:49.339485678 +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 ^(setuid,? )?(setgid,? )?(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 2017-12-01 15:46:28.171720501 +0000 ++++ ./fileattrs/elflib.attr 2017-12-01 15:46:28.171720501 +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/perl.attr.orig 2017-08-10 08:08:07.113108701 +0000 ++++ ./fileattrs/perl.attr 2017-12-01 15:46:28.172720497 +0000 +@@ -1,3 +1,4 @@ +-%__perl_requires %{_rpmconfigdir}/perl.req ++# disabled for now ++#%__perl_requires %{_rpmconfigdir}/perl.req + %__perl_magic ^.*[Pp]erl .*$ + %__perl_flags exeonly +--- ./fileattrs/perllib.attr.orig 2017-08-10 08:08:07.113108701 +0000 ++++ ./fileattrs/perllib.attr 2017-12-01 15:46:28.172720497 +0000 +@@ -1,5 +1,6 @@ + %__perllib_provides %{_rpmconfigdir}/perl.prov +-%__perllib_requires %{_rpmconfigdir}/perl.req ++#disabled for now ++#%__perllib_requires %{_rpmconfigdir}/perl.req + %__perllib_magic ^Perl[[:digit:]] module source.* + %__perllib_path \\.pm$ + %__perllib_flags magic_and_path diff --git a/find-lang-qt-qm.patch b/find-lang-qt-qm.patch new file mode 100644 index 0000000..626bbb8 --- /dev/null +++ b/find-lang-qt-qm.patch @@ -0,0 +1,13 @@ +--- ./scripts/find-lang.sh.orig 2017-12-01 16:07:23.339071251 +0000 ++++ ./scripts/find-lang.sh 2017-12-01 16:13:00.392088317 +0000 +@@ -296,7 +296,9 @@ s:%lang(C) :: + + find "$TOP_DIR" -type f -o -type l|sed ' + s:'"$TOP_DIR"':: +-'"$NO_ALL_NAME$QT"'s:\(.*/'"$NAME"'_\([a-zA-Z]\{2\}\([_@].*\)\?\)\.qm$\):%lang(\2) \1: ++'"$ALL_NAME$QT"'s:\(.*/locale/\)\([^/]\+\)\(/.\+/\)\([^/]\+_qt\.qm$\):%lang(\2) \1\2\3\4: ++'"$NO_ALL_NAME$QT"'s:\(.*/locale/\)\([^/]\+\)\(/.\+/\)\('"$NAME"'_qt\.qm$\):%lang(\2) \1\2\3\4: ++'"$NO_ALL_NAME$QT"'s:^\([^%].*/'"$NAME"'_\([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: + '"$ALL_NAME$QT"'s:^\([^%].*/[^/_]\+_\([a-zA-Z]\{2\}[_@].*\)\.qm$\):%lang(\2) \1: diff --git a/finddebuginfo-absolute-links.diff b/finddebuginfo-absolute-links.diff new file mode 100644 index 0000000..489c3cf --- /dev/null +++ b/finddebuginfo-absolute-links.diff @@ -0,0 +1,30 @@ +From: Jan Blunck +Subject: Do the symbolic links right in the first place + +Since brp-symlink relinks symbolic links to enforce a certain policy we should +do it right in the first place. So this patch changes find-debuginfo.sh scripts +behavior to reflect that policy. + +Signed-off-by: Jan Blunck + +--- ./scripts/find-debuginfo.sh.orig 2017-12-01 15:26:21.939199791 +0000 ++++ ./scripts/find-debuginfo.sh 2017-12-01 15:27:03.153081225 +0000 +@@ -305,7 +305,17 @@ debug_link() + local l="/usr/lib/debug$2" + local t="$1" + echo >> "$LINKSFILE" "$l $t" +- link_relative "$t" "$l" "$RPM_BUILD_ROOT" ++ ++ # this should correspond to what brp-symlink is doing ++ case $t in ++ /usr*) ++ link_relative "$t" "$l" "$RPM_BUILD_ROOT" ++ ;; ++ *) ++ mkdir -p "$(dirname "$RPM_BUILD_ROOT$l")" && \ ++ ln -snf "$t" "$RPM_BUILD_ROOT$l" ++ ;; ++ esac + } + + get_debugfn() diff --git a/finddebuginfo.diff b/finddebuginfo.diff new file mode 100644 index 0000000..a7c3810 --- /dev/null +++ b/finddebuginfo.diff @@ -0,0 +1,98 @@ +--- ./scripts/find-debuginfo.sh.orig 2017-10-05 10:04:57.586602035 +0000 ++++ ./scripts/find-debuginfo.sh 2017-12-01 14:45:15.439290101 +0000 +@@ -326,12 +326,18 @@ trap 'rm -rf "$temp"' EXIT + + # Build a list of unstripped ELF files and their hardlinks + touch "$temp/primary" +-find "$RPM_BUILD_ROOT" ! -path "${debugdir}/*.debug" -type f \ +- \( -perm -0100 -or -perm -0010 -or -perm -0001 \) \ +- -print | +-file -N -f - | sed -n -e 's/^\(.*\):[ ]*.*ELF.*, not stripped.*/\1/p' | +-xargs --no-run-if-empty stat -c '%h %D_%i %n' | ++find "$RPM_BUILD_ROOT" ! -path "${debugdir}/*.debug" -type f \( -perm /111 -or -name "*.so*" -or -name "*.ko" \) ! -name "*.a" -print0 | sort -z | ++xargs --no-run-if-empty -0 stat -c '%h %D_%i %n' | + while read nlinks inum f; do ++ case $(objdump -h $f 2>/dev/null | egrep -o '(debug[\.a-z_]*|gnu.version)') in ++ *debuglink*) continue ;; ++ *debug*) ;; ++ *gnu.version*) ++ echo "WARNING: "`echo $f | sed -e "s,^$RPM_BUILD_ROOT/*,/,"`" is already stripped!" ++ continue ++ ;; ++ *) continue ;; ++ esac + if [ $nlinks -gt 1 ]; then + var=seen_$inum + if test -n "${!var}"; then +@@ -364,6 +370,8 @@ do_file() + if [ "$no_recompute_build_id" = "true" ]; then + no_recompute="-n" + fi ++ mode=$(stat -c %a "$f") ++ chmod +w "$f" + id=$(${lib_rpm_dir}/debugedit -b "$debug_base_name" -d "$debug_dest_name" \ + $no_recompute -i \ + ${build_id_seed:+--build-id-seed="$build_id_seed"} \ +@@ -387,17 +395,30 @@ do_file() + # just has its file names collected and adjusted. + case "$dn" in + /usr/lib/debug/*) ++ chmod $mode "$f" + return ;; + esac + + mkdir -p "${debugdn}" +- if test -w "$f"; then +- strip_to_debug "${debugfn}" "$f" +- else +- chmod u+w "$f" +- strip_to_debug "${debugfn}" "$f" +- chmod u-w "$f" +- fi ++ objcopy --only-keep-debug "$f" "$debugfn" || : ++ ( ++ shopt -s extglob ++ strip_option="--strip-all" ++ case "$f" in ++ *.ko) ++ strip_option="--strip-debug" ;; ++ *$STRIP_KEEP_SYMTAB*) ++ if test -n "$STRIP_KEEP_SYMTAB"; then ++ strip_option="--strip-debug" ++ fi ++ ;; ++ esac ++ if test "$NO_DEBUGINFO_STRIP_DEBUG" = true ; then ++ strip_option= ++ fi ++ objcopy --add-gnu-debuglink="$debugfn" -R .comment -R .GCC.command.line $strip_option "$f" ++ chmod $mode "$f" ++ ) || : + + # strip -g implies we have full symtab, don't add mini symtab in that case. + # It only makes sense to add a minisymtab for executables and shared +@@ -507,7 +528,7 @@ if $run_dwz \ + rmdir "${RPM_BUILD_ROOT}/usr/lib/debug/.dwz" 2>/dev/null + if [ -f "${RPM_BUILD_ROOT}/usr/lib/debug/.dwz/${dwz_multifile_name}" ]; then + id="`readelf -Wn "${RPM_BUILD_ROOT}/usr/lib/debug/.dwz/${dwz_multifile_name}" \ +- 2>/dev/null | sed -n 's/^ Build ID: \([0-9a-f]\+\)/\1/p'`" ++ 2>/dev/null | sed -n 's/^.* Build ID: \([0-9a-f]\+\)/\1/p'`" + fi + + # dwz invalidates .gnu_debuglink CRC32 in the main files. +@@ -551,12 +572,14 @@ if [ -s "$SOURCEFILE" ]; then + # and non-standard modes may be inherented from original directories, fixup + find "${RPM_BUILD_ROOT}${debug_dest_name}" -type d -print0 | + xargs --no-run-if-empty -0 chmod 0755 ++ find "${RPM_BUILD_ROOT}${debug_dest_name}" -type f -print0 | ++ xargs --no-run-if-empty -0 chmod a+r + 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"; test ! -d debug || find debug -type d) | + sed 's,^,%dir /usr/lib/,' >> "$LISTFILE" + + (cd "${RPM_BUILD_ROOT}/usr" diff --git a/findlang.diff b/findlang.diff new file mode 100644 index 0000000..3f99898 --- /dev/null +++ b/findlang.diff @@ -0,0 +1,214 @@ +--- ./scripts/find-lang.sh.orig 2018-01-16 09:02:23.879253043 +0000 ++++ ./scripts/find-lang.sh 2018-01-31 13:20:30.938048419 +0000 +@@ -22,11 +22,11 @@ the top of the tree containing the files + PACKAGE_NAME is the %{name} of the package. This should also be + the basename of the .mo files. the output is written to + PACKAGE_NAME.lang unless \$3 is given in which case output is written +-to \$3. ++to \$3 (note that \$3 is appended to if given). + Additional options: +- --with-gnome find GNOME help files ++ --without-gnome do not find GNOME help files + --with-mate find MATE help files +- --with-kde find KDE help files ++ --without-kde do not find KDE help files + --with-qt find Qt translation files + --with-html find HTML files + --with-man find localized man pages +@@ -50,9 +50,9 @@ else NAMES[0]=$1 + fi + shift + +-GNOME=# ++GNOME= + MATE=# +-KDE=# ++KDE= + QT=# + MAN=# + HTML=# +@@ -74,6 +74,14 @@ while test $# -gt 0 ; do + KDE= + shift + ;; ++ --without-gnome ) ++ GNOME=# ++ shift ++ ;; ++ --without-kde ) ++ KDE=# ++ shift ++ ;; + --with-qt ) + QT= + shift +@@ -103,11 +111,13 @@ while test $# -gt 0 ; do + shift + ;; + esac +-done ++done + +-if [ -f $MO_NAME ]; then +- rm $MO_NAME ++if ! test -s $MO_NAME ; then ++ echo "%defattr (644, root, root, 755)" > $MO_NAME + fi ++MO_NAME_NEW=$MO_NAME.tmp.$$ ++rm -f $MO_NAME_NEW + + for NAME in ${NAMES[@]}; do + +@@ -117,7 +127,7 @@ s:'"$TOP_DIR"':: + '"$NO_ALL_NAME$MO"'s:\(.*/locale/\)\([^/_]\+\)\(.*/'"$NAME"'\.mo$\):%lang(\2) \1\2\3: + s:^\([^%].*\):: + s:%lang(C) :: +-/^$/d' >> $MO_NAME ++/^$/d' >> $MO_NAME_NEW + + find "$TOP_DIR" -type d|sed ' + s:'"$TOP_DIR"':: +@@ -125,27 +135,27 @@ s:'"$TOP_DIR"':: + '"$ALL_NAME$GNOME"'s:\(.*/share/help/\)\([^/_]\+\)\([^/]*\)\(/[a-zA-Z0-9.\_\-]\+\)$:%lang(\2) %doc \1\2\3\4/: + s:^\([^%].*\):: + s:%lang(C) :: +-/^$/d' >> $MO_NAME ++/^$/d' >> $MO_NAME_NEW + + find "$TOP_DIR" -type d|sed ' + s:'"$TOP_DIR"':: +-'"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'$\):%dir \1: ++'"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'$\):%dir %doc \1: + '"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'/[a-zA-Z0-9.\_\-]/.\+\):: +-'"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'\/\)\([^/_]\+\):%lang(\2) \1\2: +-'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\+$\):%dir \1: ++'"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'\/\)\([^/_]\+\):%lang(\2) %doc \1\2: ++'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\+$\):%dir %doc \1: + '"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\+/[a-zA-Z0-9.\_\-]/.\+\):: +-'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\+\/\)\([^/_]\+\):%lang(\2) \1\2: ++'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\+\/\)\([^/_]\+\):%lang(\2) %doc \1\2: + s:%lang(.*) .*/gnome/help/[a-zA-Z0-9.\_\-]\+/[a-zA-Z0-9.\_\-]\+/.*:: + s:^\([^%].*\):: + s:%lang(C) :: +-/^$/d' >> $MO_NAME ++/^$/d' >> $MO_NAME_NEW + + find "$TOP_DIR" -type d|sed ' + s:'"$TOP_DIR"':: + '"$NO_ALL_NAME$GNOME"'s:\(.*/omf/'"$NAME"'$\):%dir \1: + '"$ALL_NAME$GNOME"'s:\(.*/omf/[a-zA-Z0-9.\_\-]\+$\):%dir \1: + s:^\([^%].*\):: +-/^$/d' >> $MO_NAME ++/^$/d' >> $MO_NAME_NEW + + find "$TOP_DIR" -type f|sed ' + s:'"$TOP_DIR"':: +@@ -153,7 +163,7 @@ s:'"$TOP_DIR"':: + '"$ALL_NAME$GNOME"'s:\(.*/omf/[a-zA-Z0-9.\_\-]\+/[a-zA-Z0-9.\_\-]\+-\([^/.]\+\)\.omf\):%lang(\2) \1: + s:^[^%].*:: + s:%lang(C) :: +-/^$/d' >> $MO_NAME ++/^$/d' >> $MO_NAME_NEW + + find $TOP_DIR -type d|sed ' + s:'"$TOP_DIR"':: +@@ -166,14 +176,14 @@ s:'"$TOP_DIR"':: + s:%lang(.*) .*/mate/help/[a-zA-Z0-9.\_\-]\+/[a-zA-Z0-9.\_\-]\+/.*:: + s:^\([^%].*\):: + s:%lang(C) :: +-/^$/d' >> $MO_NAME ++/^$/d' >> $MO_NAME_NEW + + find "$TOP_DIR" -type d|sed ' + s:'"$TOP_DIR"':: + '"$NO_ALL_NAME$MATE"'s:\(.*/omf/'"$NAME"'$\):%dir \1: + '"$ALL_NAME$MATE"'s:\(.*/omf/[a-zA-Z0-9.\_\-]\+$\):%dir \1: + s:^\([^%].*\):: +-/^$/d' >> $MO_NAME ++/^$/d' >> $MO_NAME_NEW + + find "$TOP_DIR" -type f|sed ' + s:'"$TOP_DIR"':: +@@ -181,7 +191,7 @@ s:'"$TOP_DIR"':: + '"$ALL_NAME$MATE"'s:\(.*/omf/[a-zA-Z0-9.\_\-]\+/[a-zA-Z0-9.\_\-]\+-\([^/.]\+\)\.omf\):%lang(\2) \1: + s:^[^%].*:: + s:%lang(C) :: +-/^$/d' >> $MO_NAME ++/^$/d' >> $MO_NAME_NEW + + KDE3_HTML=`kde-config --expandvars --install html 2>/dev/null` + if [ x"$KDE3_HTML" != x -a -d "$TOP_DIR$KDE3_HTML" ]; then +@@ -193,7 +203,7 @@ s:'"$TOP_DIR"':: + '"$ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+$\):%lang(\2) \1\2\3: + s:^\([^%].*\):: + s:%lang(C) :: +-/^$/d' >> $MO_NAME ++/^$/d' >> $MO_NAME_NEW + fi + + KDE4_HTML=`kde4-config --expandvars --install html 2>/dev/null` +@@ -206,7 +216,7 @@ s:'"$TOP_DIR"':: + '"$ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+$\):%lang(\2) \1\2\3: + s:^\([^%].*\):: + s:%lang(C) :: +-/^$/d' >> $MO_NAME ++/^$/d' >> $MO_NAME_NEW + fi + + KF5_HTML=`kf5-config --expandvars --install html 2>/dev/null` +@@ -219,7 +229,7 @@ s:'"$TOP_DIR"':: + '"$ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+$\):%lang(\2) \1\2\3: + s:^\([^%].*\):: + s:%lang(C) :: +-/^$/d' >> $MO_NAME ++/^$/d' >> $MO_NAME_NEW + fi + + find "$TOP_DIR" -type d|sed ' +@@ -230,7 +240,7 @@ s:'"$TOP_DIR"':: + '"$ALL_NAME$HTML"'s:\(.*/doc/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+$\):%lang(\2) \1\2\3: + s:^\([^%].*\):: + s:%lang(C) :: +-/^$/d' >> $MO_NAME ++/^$/d' >> $MO_NAME_NEW + + find "$TOP_DIR" -type f -o -type l|sed ' + s:'"$TOP_DIR"':: +@@ -243,7 +253,7 @@ s:'"$TOP_DIR"':: + '"$ALL_NAME$QT"'s:^\([^%].*/[^/]\+_\([a-zA-Z]\{2\}\)\.qm$\):%lang(\2) \1: + s:^[^%].*:: + s:%lang(C) :: +-/^$/d' >> $MO_NAME ++/^$/d' >> $MO_NAME_NEW + + find "$TOP_DIR" -type d|sed ' + s:'"$TOP_DIR"':: +@@ -251,19 +261,24 @@ s:'"$TOP_DIR"':: + '"$ALL_NAME$MAN"'s:\(.*/man/\([^/_]\+\).*/man[a-z0-9]\+$\):%lang(\2) \1*: + s:^\([^%].*\):: + s:%lang(C) :: +-/^$/d' >> $MO_NAME ++/^$/d' >> $MO_NAME_NEW + + find "$TOP_DIR" -type f -o -type l|sed -r 's/\.(bz2|gz|xz|lzma|Z)$//g' | sed ' + s:'"$TOP_DIR"':: + '"$NO_ALL_NAME$MAN"'s:\(.*/man/\([^/_]\+\).*/man[a-z0-9]\+/'"$NAME"'\.[a-z0-9].*\):%lang(\2) \1*: + s:^\([^%].*\):: + s:%lang(C) :: +-/^$/d' >> $MO_NAME ++/^$/d' >> $MO_NAME_NEW + + done # for NAME in ${NAMES[@]} + +-if ! grep -q / $MO_NAME; then +- echo "No translations found for ${NAME} in ${TOP_DIR}" ++if ! grep -q / $MO_NAME_NEW; then ++ echo "No translations found for ${NAMES[*]} in ${TOP_DIR}" ++ rm -f $MO_NAME_NEW + exit 1 + fi ++ ++sort -u $MO_NAME_NEW >> $MO_NAME ++rm -f $MO_NAME_NEW ++ + exit 0 diff --git a/findsupplements.diff b/findsupplements.diff new file mode 100644 index 0000000..b5eb730 --- /dev/null +++ b/findsupplements.diff @@ -0,0 +1,26 @@ +--- ./scripts/Makefile.am.orig 2018-07-02 14:43:19.345357110 +0000 ++++ ./scripts/Makefile.am 2018-07-02 14:43:47.245284542 +0000 +@@ -17,7 +17,7 @@ EXTRA_DIST = \ + python-macro-helper \ + rpmdb_loadcvt rpm.daily rpm.log rpm.supp rpm2cpio.sh \ + tgpg vpkg-provides.sh \ +- find-requires find-provides \ ++ find-requires find-provides find-supplements \ + find-requires.php find-provides.php \ + mono-find-requires mono-find-provides \ + ocaml-find-requires.sh ocaml-find-provides.sh \ +@@ -32,7 +32,7 @@ rpmconfig_SCRIPTS = \ + check-files check-prereqs \ + check-buildroot check-rpaths check-rpaths-worker \ + debuginfo.prov \ +- find-lang.sh find-requires find-provides \ ++ find-lang.sh find-requires find-provides find-supplements \ + perl.prov perl.req pythondeps.sh pythondistdeps.py \ + python-macro-helper \ + metainfo.prov \ +--- ./scripts/find-supplements.orig 2018-07-02 14:43:12.877373928 +0000 ++++ ./scripts/find-supplements 2018-07-02 14:43:59.325253127 +0000 +@@ -0,0 +1,3 @@ ++#!/bin/sh ++ ++/usr/lib/rpm/rpmdeps --define="_use_internal_dependency_generator 1" --supplements diff --git a/getncpus.diff b/getncpus.diff new file mode 100644 index 0000000..0abfde4 --- /dev/null +++ b/getncpus.diff @@ -0,0 +1,109 @@ +--- ./configure.ac.orig 2019-02-07 14:26:10.800566817 +0000 ++++ ./configure.ac 2019-02-07 14:26:30.944514306 +0000 +@@ -770,6 +770,7 @@ AC_CHECK_FUNCS(lutimes) + AC_CHECK_FUNCS(mergesort) + AC_CHECK_FUNCS(getauxval) + AC_CHECK_FUNCS(setprogname, [], [], [#include ]) ++AC_CHECK_FUNCS(sched_getaffinity, [], [], [#include ]) + + AC_MSG_CHECKING([whether __progname is defined]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([extern const char *__progname;], +--- ./macros.in.orig 2019-02-07 14:20:03.257524913 +0000 ++++ ./macros.in 2019-02-07 14:22:46.105100409 +0000 +@@ -1056,7 +1056,7 @@ package or when debugging this package.\ + + #------------------------------------------------------------------------------ + # The "make" analogue, hiding the _smp_mflags magic from specs +-%make_build %{__make} %{_make_output_sync} %{?_smp_mflags} ++%make_build %{__make} %{_make_output_sync} %{?_smp_mflags} V=1 VERBOSE=1 + + #------------------------------------------------------------------------------ + # The make install analogue of %configure for modern autotools: +--- ./platform.in.orig 2019-02-07 14:23:06.641046876 +0000 ++++ ./platform.in 2019-02-07 14:41:12.462256547 +0000 +@@ -50,11 +50,17 @@ + + # Maximum number of CPU's to use when building, 0 for unlimited. + #%_smp_ncpus_max 0 +-%_smp_mflags %([ -z "$RPM_BUILD_NCPUS" ] \\\ +- && RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"; \\\ ++ ++%_smp_build_ncpus %([ -z "$RPM_BUILD_NCPUS" ] \\\ ++ && RPM_BUILD_NCPUS="%{getncpus}"; \\\ + ncpus_max=%{?_smp_ncpus_max}; \\\ + if [ -n "$ncpus_max" ] && [ "$ncpus_max" -gt 0 ] && [ "$RPM_BUILD_NCPUS" -gt "$ncpus_max" ]; then RPM_BUILD_NCPUS="$ncpus_max"; fi; \\\ +- if [ "$RPM_BUILD_NCPUS" -gt 1 ]; then echo "-j$RPM_BUILD_NCPUS"; fi) ++ echo "$RPM_BUILD_NCPUS";) ++ ++%_smp_mflags -j%{_smp_build_ncpus} ++ ++# Enable LTO optimization with a maximal parallelism ++%_lto_cflags -flto=%{_smp_build_ncpus} + + #============================================================================== + # ---- Build policy macros. +--- ./rpmio/macro.c.orig 2019-02-07 14:26:48.768468081 +0000 ++++ ./rpmio/macro.c 2019-02-07 14:38:59.286597550 +0000 +@@ -12,6 +12,9 @@ + extern char *optarg; + extern int optind; + #endif ++#if HAVE_SCHED_GETAFFINITY ++#include ++#endif + + #if !defined(isblank) + #define isblank(_c) ((_c) == ' ' || (_c) == '\t') +@@ -445,6 +448,23 @@ exit: + _free(buf); + } + ++static unsigned int getncpus(void) ++{ ++ unsigned int ncpus = 0; ++#if HAVE_SCHED_GETAFFINITY ++ cpu_set_t set; ++ if (sched_getaffinity (0, sizeof(set), &set) == 0) ++ ncpus = CPU_COUNT(&set); ++#endif ++ /* Fallback to sysconf() if the above isn't supported or didn't work */ ++ if (ncpus < 1) ++ ncpus = sysconf(_SC_NPROCESSORS_ONLN); ++ /* If all else fails, there's always the one we're running on... */ ++ if (ncpus < 1) ++ ncpus = 1; ++ return ncpus; ++} ++ + /** + * Parse (and execute) new macro definition. + * @param mb macro expansion state +@@ -975,6 +995,9 @@ doFoo(MacroBuf mb, int negate, const cha + } else if (STREQ("getconfdir", f, fn)) { + sprintf(buf, "%s", rpmConfigDir()); + b = buf; ++ } else if (STREQ("getncpus", f, fn)) { ++ sprintf(buf, "%u", getncpus()); ++ b = buf; + } else if (STREQ("S", f, fn)) { + for (b = buf; (c = *b) && risdigit(c);) + b++; +@@ -1271,6 +1294,7 @@ expandMacro(MacroBuf mb, const char *src + STREQ("u2p", f, fn) || + STREQ("getenv", f, fn) || + STREQ("getconfdir", f, fn) || ++ STREQ("getncpus", f, fn) || + STREQ("S", f, fn) || + STREQ("P", f, fn) || + STREQ("F", f, fn)) +--- ./rpmio/rpmio.c.orig 2019-02-07 14:39:20.886542242 +0000 ++++ ./rpmio/rpmio.c 2019-02-07 14:39:41.670489024 +0000 +@@ -796,7 +796,7 @@ static LZFILE *lzopen_internal(const cha + #ifdef HAVE_LZMA_MT + } else { + if (threads == -1) +- threads = sysconf(_SC_NPROCESSORS_ONLN); ++ threads = rpmExpandNumeric("%{getncpus}"); + lzma_mt mt_options = { + .flags = 0, + .threads = threads, diff --git a/headeradddb.diff b/headeradddb.diff new file mode 100644 index 0000000..430d527 --- /dev/null +++ b/headeradddb.diff @@ -0,0 +1,55 @@ +Add rpmtsHeaderAddDB and rpmtsHeaderRemoveDB so that +convertdb1 will build again. + +--- lib/rpmts.c.orig 2011-05-12 13:21:03.000000000 +0000 ++++ lib/rpmts.c 2011-05-12 13:26:25.000000000 +0000 +@@ -159,6 +159,24 @@ int rpmtsVerifyDB(rpmts ts) + return rc; + } + ++int rpmtsHeaderAddDB(rpmts ts, Header h) ++{ ++ if (rpmtsOpenDB(ts, (O_RDWR|O_CREAT))) ++ return RPMRC_FAIL; ++ if (rpmdbAdd(rpmtsGetRdb(ts), h) != 0) ++ return RPMRC_FAIL; ++ return RPMRC_OK; ++} ++ ++int rpmtsHeaderRemoveDB(rpmts ts, unsigned int hdrNum) ++{ ++ if (rpmtsOpenDB(ts, (O_RDWR|O_CREAT))) ++ return RPMRC_FAIL; ++ if (rpmdbRemove(rpmtsGetRdb(ts), hdrNum) != 0) ++ return RPMRC_FAIL; ++ return RPMRC_OK; ++} ++ + /* keyp might no be defined. */ + rpmdbMatchIterator rpmtsInitIterator(const rpmts ts, rpmDbiTagVal rpmtag, + const void * keyp, size_t keylen) +--- lib/rpmts.h.orig 2011-05-12 13:21:11.000000000 +0000 ++++ lib/rpmts.h 2011-05-12 13:28:32.000000000 +0000 +@@ -264,6 +264,22 @@ int rpmtsRebuildDB(rpmts ts); + int rpmtsVerifyDB(rpmts ts); + + /** \ingroup rpmts ++ * Add a header to the database used by the transaction. ++ * @param ts transaction set ++ * @param h header to add ++ * @return 0 on success ++ */ ++int rpmtsHeaderAddDB(rpmts ts, Header h); ++ ++/** \ingroup rpmts ++ * Remove a header from the database used by the transaction. ++ * @param ts transaction set ++ * @param hdrNum index of header to remove ++ * @return 0 on success ++ */ ++int rpmtsHeaderRemoveDB(rpmts ts, unsigned int hdrNum); ++ ++/** \ingroup rpmts + * Return transaction database iterator. + * @param ts transaction set + * @param rpmtag database index tag diff --git a/headerchk2.diff b/headerchk2.diff new file mode 100644 index 0000000..7920743 --- /dev/null +++ b/headerchk2.diff @@ -0,0 +1,12 @@ +--- ./lib/header.c.orig 2017-12-01 15:54:04.254399473 +0000 ++++ ./lib/header.c 2017-12-01 15:55:36.389131237 +0000 +@@ -929,7 +929,8 @@ rpmRC hdrblobImport(hdrblob blob, int fa + + rdlen += REGION_TAG_COUNT; + +- if (rdlen != blob->dl) ++ /* should be equality test, but can be off if entries are not perfectly aligned */ ++ if (rdlen > blob->dl) + goto errxit; + } + diff --git a/ignore-auxv.diff b/ignore-auxv.diff new file mode 100644 index 0000000..cea4dd9 --- /dev/null +++ b/ignore-auxv.diff @@ -0,0 +1,33 @@ +--- ./lib/rpmrc.c.orig 2014-07-03 15:11:48.572096075 +0000 ++++ ./lib/rpmrc.c 2014-09-17 12:04:27.330717791 +0000 +@@ -79,10 +79,12 @@ struct rpmOption { + int localize; + }; + ++#if defined(__linux__) && (defined(__powerpc__) || defined(__sparc__) || (defined(__arm__) && defined(__ARM_PCS_VFP))) + static struct rpmat_s { + const char *platform; + uint64_t hwcap; + } rpmat; ++#endif + + typedef struct defaultEntry_s { + char * name; +@@ -936,7 +938,7 @@ static int is_geode(void) + #endif + + +-#if defined(__linux__) ++#if defined(__linux__) && (defined(__powerpc__) || defined(__sparc__) || (defined(__arm__) && defined(__ARM_PCS_VFP))) + /** + * Populate rpmat structure with auxv values + */ +@@ -993,7 +995,7 @@ static void defaultMachine(rpmrcCtx ctx, + canonEntry canon; + int rc; + +-#if defined(__linux__) ++#if defined(__linux__) && (defined(__powerpc__) || defined(__sparc__) || (defined(__arm__) && defined(__ARM_PCS_VFP))) + /* Populate rpmat struct with hw info */ + read_auxv(); + #endif diff --git a/langnoc.diff b/langnoc.diff new file mode 100644 index 0000000..bb8ee2e --- /dev/null +++ b/langnoc.diff @@ -0,0 +1,125 @@ +--- ./macros.in.orig 2018-01-31 13:35:52.735593230 +0000 ++++ ./macros.in 2018-01-31 13:35:55.528585772 +0000 +@@ -1351,6 +1351,7 @@ EOF + # %files -f %{name}.lang + # + %find_lang %{_rpmconfigdir}/find-lang.sh %{buildroot} ++%no_lang_C --without-C + + # Commands + opts to use for retrieving remote files + # Proxy opts can be set through --httpproxy/--httpport popt aliases, +--- ./scripts/find-lang.sh.orig 2018-01-31 13:35:52.726593254 +0000 ++++ ./scripts/find-lang.sh 2018-01-31 13:36:35.806478195 +0000 +@@ -60,6 +60,8 @@ MO= + MO_NAME=${NAMES[0]}.lang + ALL_NAME=# + NO_ALL_NAME= ++ONLY_C=# ++NO_C=# + while test $# -gt 0 ; do + case "${1}" in + --with-gnome ) +@@ -103,6 +105,14 @@ while test $# -gt 0 ; do + NO_ALL_NAME=# + shift + ;; ++ --with-only-C ) ++ ONLY_C= ++ shift ++ ;; ++ --without-C ) ++ NO_C= ++ shift ++ ;; + * ) + if [ $MO_NAME != ${NAMES[$#]}.lang ]; then + NAMES[${#NAMES[@]}]=$MO_NAME +@@ -143,6 +153,8 @@ s:'"$TOP_DIR"':: + '"$ALL_NAME$MO"'s:\(.*/locale/\)\([^/_]\+\)\(.*\.mo$\):%lang(\2) \1\2\3: + '"$NO_ALL_NAME$MO"'s:\(.*/locale/\)\([^/_]\+\)\(.*/'"$NAME"'\.mo$\):%lang(\2) \1\2\3: + s:^\([^%].*\):: ++'"$ONLY_C"'/%lang(C)/!d ++'"$NO_C"'/%lang(C)/d + s:%lang(C) :: + /^$/d' >> $MO_NAME_NEW + +@@ -151,19 +163,23 @@ s:'"$TOP_DIR"':: + '"$NO_ALL_NAME$GNOME"'s:\(.*/share/help/\)\([^/_]\+\)\([^/]*\)\(/'"$NAME"'\)$:%lang(\2) %doc \1\2\3\4/: + '"$ALL_NAME$GNOME"'s:\(.*/share/help/\)\([^/_]\+\)\([^/]*\)\(/[a-zA-Z0-9.\_\-]\+\)$:%lang(\2) %doc \1\2\3\4/: + s:^\([^%].*\):: ++'"$ONLY_C"'/%lang(C)/!d ++'"$NO_C"'/%lang(C)/d + s:%lang(C) :: + /^$/d' >> $MO_NAME_NEW + + find "$TOP_DIR" -type d|sed ' + s:'"$TOP_DIR"':: +-'"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'$\):%dir %doc \1: ++'"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'$\):%lang(C) %dir %doc \1: + '"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'/[a-zA-Z0-9.\_\-]/.\+\):: + '"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'\/\)\([^/_]\+\):%lang(\2) %doc \1\2: +-'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\+$\):%dir %doc \1: ++'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\+$\):%lang(C) %dir %doc \1: + '"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\+/[a-zA-Z0-9.\_\-]/.\+\):: + '"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\+\/\)\([^/_]\+\):%lang(\2) %doc \1\2: + s:%lang(.*) .*/gnome/help/[a-zA-Z0-9.\_\-]\+/[a-zA-Z0-9.\_\-]\+/.*:: + s:^\([^%].*\):: ++'"$ONLY_C"'/%lang(C)/!d ++'"$NO_C"'/%lang(C)/d + s:%lang(C) :: + /^$/d' >> $MO_NAME_NEW + +@@ -179,6 +195,8 @@ s:'"$TOP_DIR"':: + '"$NO_ALL_NAME$GNOME"'s:\(.*/omf/'"$NAME"'/'"$NAME"'-\([^/.]\+\)\.omf\):%lang(\2) \1: + '"$ALL_NAME$GNOME"'s:\(.*/omf/[a-zA-Z0-9.\_\-]\+/[a-zA-Z0-9.\_\-]\+-\([^/.]\+\)\.omf\):%lang(\2) \1: + s:^[^%].*:: ++'"$ONLY_C"'/%lang(C)/!d ++'"$NO_C"'/%lang(C)/d + s:%lang(C) :: + /^$/d' >> $MO_NAME_NEW + +@@ -219,6 +237,8 @@ s:'"$TOP_DIR"':: + '"$ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+/\):: + '"$ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+$\):%lang(\2) \1\2\3: + s:^\([^%].*\):: ++'"$ONLY_C"'/%lang(C)/!d ++'"$NO_C"'/%lang(C)/d + s:%lang(C) :: + /^$/d' >> $MO_NAME_NEW + fi +@@ -232,6 +252,8 @@ s:'"$TOP_DIR"':: + '"$ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+/\):: + '"$ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+$\):%lang(\2) \1\2\3: + s:^\([^%].*\):: ++'"$ONLY_C"'/%lang(C)/!d ++'"$NO_C"'/%lang(C)/d + s:%lang(C) :: + /^$/d' >> $MO_NAME_NEW + fi +@@ -269,6 +291,8 @@ s:'"$TOP_DIR"':: + '"$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 ++'"$NO_C"'/%lang(C)/d + s:%lang(C) :: + /^$/d' >> $MO_NAME_NEW + +@@ -277,6 +301,8 @@ s:'"$TOP_DIR"':: + '"$ALL_NAME$MAN"'s:\(.*/man/\([^/_]\+\).*/man[a-z0-9]\+/\):: + '"$ALL_NAME$MAN"'s:\(.*/man/\([^/_]\+\).*/man[a-z0-9]\+$\):%lang(\2) \1*: + s:^\([^%].*\):: ++'"$ONLY_C"'/%lang(C)/!d ++'"$NO_C"'/%lang(C)/d + s:%lang(C) :: + /^$/d' >> $MO_NAME_NEW + +@@ -284,6 +310,8 @@ find "$TOP_DIR" -type f -o -type l|sed - + s:'"$TOP_DIR"':: + '"$NO_ALL_NAME$MAN"'s:\(.*/man/\([^/_]\+\).*/man[a-z0-9]\+/'"$NAME"'\.[a-z0-9].*\):%lang(\2) \1*: + s:^\([^%].*\):: ++'"$ONLY_C"'/%lang(C)/!d ++'"$NO_C"'/%lang(C)/d + s:%lang(C) :: + /^$/d' >> $MO_NAME_NEW + diff --git a/lazystatfs.diff b/lazystatfs.diff new file mode 100644 index 0000000..7f17c90 --- /dev/null +++ b/lazystatfs.diff @@ -0,0 +1,50 @@ +Prefer sys/vfs.h, as statvfs stats all filesystems again +--- ./configure.ac.orig 2011-05-12 12:36:32.000000000 +0000 ++++ ./configure.ac 2011-05-12 12:36:42.000000000 +0000 +@@ -402,25 +402,25 @@ dnl + found_struct_statfs=no + + if test X$found_struct_statfs = Xno ; then +-dnl Solaris 2.6+ wants to use statvfs ++dnl first try including sys/vfs.h + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #ifdef HAVE_SYS_TYPES_H + #include + #endif +-#include ]], [[struct statvfs sfs;]])],[AC_MSG_RESULT(in sys/statvfs.h) +- AC_DEFINE(STATFS_IN_SYS_STATVFS, 1, +- [statfs in (for solaris 2.6+ systems)]) ++#include ]], [[struct statfs sfs;]])],[AC_MSG_RESULT(in sys/vfs.h) ++ AC_DEFINE(STATFS_IN_SYS_VFS, 1, [statfs in (for linux systems)]) + found_struct_statfs=yes],[]) + fi + + if test X$found_struct_statfs = Xno ; then +-dnl first try including sys/vfs.h ++dnl Solaris 2.6+ wants to use statvfs + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #ifdef HAVE_SYS_TYPES_H + #include + #endif +-#include ]], [[struct statfs sfs;]])],[AC_MSG_RESULT(in sys/vfs.h) +- AC_DEFINE(STATFS_IN_SYS_VFS, 1, [statfs in (for linux systems)]) ++#include ]], [[struct statvfs sfs;]])],[AC_MSG_RESULT(in sys/statvfs.h) ++ AC_DEFINE(STATFS_IN_SYS_STATVFS, 1, ++ [statfs in (for solaris 2.6+ systems)]) + found_struct_statfs=yes],[]) + fi + +--- ./lib/transaction.c.orig 2011-05-12 12:36:55.000000000 +0000 ++++ ./lib/transaction.c 2011-05-12 12:38:03.000000000 +0000 +@@ -114,7 +114,11 @@ static rpmDiskSpaceInfo rpmtsCreateDSI(c + dsi->bneeded = 0; + dsi->ineeded = 0; + #ifdef STATFS_HAS_F_BAVAIL ++# ifdef ST_RDONLY + dsi->bavail = (sfb.f_flag & ST_RDONLY) ? 0 : sfb.f_bavail; ++# else ++ dsi->bavail = sfb.f_bavail; ++# endif + #else + /* FIXME: the statfs struct doesn't have a member to tell how many blocks are + * available for non-superusers. f_blocks - f_bfree is probably too big, but diff --git a/localetag.diff b/localetag.diff new file mode 100644 index 0000000..95d93f2 --- /dev/null +++ b/localetag.diff @@ -0,0 +1,196 @@ +Convert output to the current locale. Assumes utf8 input if the +decoding works, otherwise iso-8859-1. + +--- ./lib/tagexts.c.orig 2016-10-21 09:44:00.309962086 +0000 ++++ ./lib/tagexts.c 2017-01-19 10:27:57.243832208 +0000 +@@ -2,6 +2,7 @@ + * \file lib/formats.c + */ + ++#include + #include "system.h" + + #include +@@ -197,6 +198,114 @@ typedef enum tMode_e { + TRANSFILETRIGGER = 2, + } tMode; + ++static char * strtolocale(char *str) ++{ ++ wchar_t *wstr, *wp; ++ const unsigned char *cp; ++ char *cc; ++ int state = 0; ++ int c; ++ int ccl, cca, mb_cur_max; ++ size_t l; ++ mbstate_t ps; ++ int strisutf8 = 1; ++ int locisutf8 = 1; ++ ++ if (!str) ++ return 0; ++ if (!*str) ++ return str; ++ wstr = (wchar_t *)xmalloc((strlen(str) + 1) * sizeof(*wstr)); ++ wp = wstr; ++ cp = (const unsigned char *)str; ++ while ((c = *cp++) != 0) { ++ if (state) { ++ if ((c & 0xc0) != 0x80) { ++ /* encoding error */ ++ break; ++ } ++ c = (c & 0x3f) | (state << 6); ++ if (!(state & 0x40000000)) { ++ /* check for overlong sequences */ ++ if ((c & 0x820823e0) == 0x80000000) ++ c = 0xfdffffff; ++ else if ((c & 0x020821f0) == 0x02000000) ++ c = 0xfff7ffff; ++ else if ((c & 0x000820f8) == 0x00080000) ++ c = 0xffffd000; ++ else if ((c & 0x0000207c) == 0x00002000) ++ c = 0xffffff70; ++ } ++ } else { ++ /* new sequence */ ++ if (c >= 0xfe) ++ c = 0xfffd; ++ else if (c >= 0xfc) ++ c = (c & 0x01) | 0xbffffffc; /* 5 bytes to follow */ ++ else if (c >= 0xf8) ++ c = (c & 0x03) | 0xbfffff00; /* 4 */ ++ else if (c >= 0xf0) ++ c = (c & 0x07) | 0xbfffc000; /* 3 */ ++ else if (c >= 0xe0) ++ c = (c & 0x0f) | 0xbff00000; /* 2 */ ++ else if (c >= 0xc2) ++ c = (c & 0x1f) | 0xfc000000; /* 1 */ ++ else if (c >= 0xc0) ++ c = 0xfdffffff; /* overlong */ ++ else if (c >= 0x80) ++ c = 0xfffd; ++ } ++ state = (c & 0x80000000) ? c : 0; ++ if (state) ++ continue; ++ *wp++ = (wchar_t)c; ++ } ++ if (state) { ++ /* encoding error, assume latin1 */ ++ strisutf8 = 0; ++ cp = (const unsigned char *)str; ++ wp = wstr; ++ while ((c = *cp++) != 0) { ++ *wp++ = (wchar_t)c; ++ } ++ } ++ *wp = 0; ++ mb_cur_max = MB_CUR_MAX; ++ memset(&ps, 0, sizeof(ps)); ++ cc = xmalloc(mb_cur_max); ++ /* test locale encoding */ ++ if (wcrtomb(cc, 0x20ac, &ps) != 3 || memcmp(cc, "\342\202\254", 3)) ++ locisutf8 = 0; ++ if (locisutf8 == strisutf8) { ++ wstr = _free(wstr); ++ return str; ++ } ++ str = _free((char *)str); ++ memset(&ps, 0, sizeof(ps)); ++ ccl = cca = 0; ++ for (wp = wstr; ; wp++) { ++ l = wcrtomb(cc + ccl, *wp, &ps); ++ if (*wp == 0) ++ break; ++ if (l == (size_t)-1) { ++ if (*wp < (wchar_t)256 && mbsinit(&ps)) { ++ cc[ccl] = *wp; ++ l = 1; ++ } else ++ l = wcrtomb(cc + ccl, (wchar_t)'?', &ps); ++ } ++ if (l == 0 || l == (size_t)-1) ++ continue; ++ ccl += l; ++ if (ccl > cca) { ++ cca = ccl + 16; ++ cc = xrealloc(cc, cca + mb_cur_max); ++ } ++ } ++ wstr = _free(wstr); ++ return (char *)cc; ++} ++ + /** + * Retrieve trigger info. + * @param mode type of trigger (see tMode_e) +@@ -607,10 +716,41 @@ static int i18nTag(Header h, rpmTag tag, + #endif + + rc = headerGet(h, tag, td, HEADERGET_ALLOC); ++ if (rc && td->data) { ++ td->data = strtolocale(td->data); ++ } + return rc; + } + + /** ++ * Retrieve text and convert to locale. ++ */ ++static int localeTag(Header h, rpmTag tag, rpmtd td) ++{ ++ int rc; ++ rc = headerGet(h, tag, td, HEADERGET_ALLOC); ++ if (!rc) ++ return 0; ++ if (td->type == RPM_STRING_TYPE) { ++ td->data = strtolocale(td->data); ++ td->count = 1; ++ } else if (td->type == RPM_STRING_ARRAY_TYPE) { ++ char **arr; ++ int i; ++ arr = xmalloc(td->count * sizeof(*arr)); ++ for (i = 0; i < td->count; i++) { ++ arr[i] = xstrdup(((char **)td->data)[i]); ++ arr[i] = strtolocale(arr[i]); ++ } ++ _free(td->data); ++ td->data = arr; ++ td->flags = RPMTD_ALLOCED | RPMTD_PTR_ALLOCED; ++ } ++ return rc; ++} ++ ++ ++/** + * Retrieve summary text. + * @param h header + * @retval td tag data container +@@ -634,6 +774,16 @@ static int descriptionTag(Header h, rpmt + return i18nTag(h, RPMTAG_DESCRIPTION, td, hgflags); + } + ++static int changelognameTag(Header h, rpmtd td) ++{ ++ return localeTag(h, RPMTAG_CHANGELOGNAME, td); ++} ++ ++static int changelogtextTag(Header h, rpmtd td) ++{ ++ return localeTag(h, RPMTAG_CHANGELOGTEXT, td); ++} ++ + /** + * Retrieve group text. + * @param h header +@@ -971,6 +1121,8 @@ static const struct headerTagFunc_s rpmH + { RPMTAG_LONGARCHIVESIZE, longarchivesizeTag }, + { RPMTAG_LONGSIZE, longsizeTag }, + { RPMTAG_LONGSIGSIZE, longsigsizeTag }, ++ { RPMTAG_CHANGELOGNAME, changelognameTag }, ++ { RPMTAG_CHANGELOGTEXT, changelogtextTag }, + { RPMTAG_DBINSTANCE, dbinstanceTag }, + { RPMTAG_EVR, evrTag }, + { RPMTAG_NVR, nvrTag }, diff --git a/macrosin.diff b/macrosin.diff new file mode 100644 index 0000000..026443e --- /dev/null +++ b/macrosin.diff @@ -0,0 +1,134 @@ +--- ./macros.in.orig 2018-07-02 14:46:14.912900534 +0000 ++++ ./macros.in 2018-07-02 14:50:35.356223235 +0000 +@@ -184,7 +184,7 @@ + %{?_unique_build_ids:--build-id-seed "%{VERSION}-%{RELEASE}"} \\\ + %{?_unique_debug_names:--unique-debug-suffix "-%{VERSION}-%{RELEASE}.%{_arch}"} \\\ + %{?_unique_debug_srcs:--unique-debug-src-base "%{name}-%{VERSION}-%{RELEASE}.%{_arch}"} \\\ +- %{?_find_debuginfo_dwz_opts} \\\ ++ %{lua:if not posix.access(rpm.expand("%_sourcedir/baselibs.conf"), "r") then print(rpm.expand("%{?_find_debuginfo_dwz_opts}")) end} \\\ + %{?_find_debuginfo_opts} \\\ + %{?_debugsource_packages:-S debugsourcefiles.list} \\\ + "%{_builddir}/%{?buildsubdir}"\ +@@ -224,7 +224,8 @@ package or when debugging this package.\ + %endif\ + %{nil} + +-%_defaultdocdir %{_datadir}/doc ++%_defaultdocdir %{_datadir}/doc/packages ++%_docdir_fmt %%{NAME} + %_defaultlicensedir %{_datadir}/licenses + + # Following macros for filtering auto deps must not be used in spec files. +@@ -278,7 +279,8 @@ package or when debugging this package.\ + %_tmppath %{_var}/tmp + + # Path to top of build area. +-%_topdir %{getenv:HOME}/rpmbuild ++%_topdir %{expand:%%global _topdir %{lua:if posix.access(rpm.expand("%{_usrsrc}/packages"), "w") then print "%{_usrsrc}/packages" else print "%{getenv:HOME}/rpmbuild" end} \ ++}%_topdir + + # The path to the unzip executable (legacy, use %{__unzip} instead). + %_unzipbin %{__unzip} +@@ -382,7 +384,7 @@ package or when debugging this package.\ + # "w6.lzdio" lzma-alone level 6, lzma's default + # + #%_source_payload w9.gzdio +-#%_binary_payload w9.gzdio ++%_binary_payload w5.xzdio + + # Algorithm to use for generating file checksum digests on build. + # If not specified or 0, MD5 is used. +@@ -489,6 +491,19 @@ package or when debugging this package.\ + # + #%_include_minidebuginfo 1 + ++# Number of debugging information entries (DIEs) above which ++# dwz will stop considering file for multifile optimizations ++# and enter a low memory mode, in which it will optimize ++# in about half the memory needed otherwise. ++%_dwz_low_mem_die_limit 10000000 ++# Number of DIEs above which dwz will stop processing ++# a file altogether. ++%_dwz_max_die_limit 50000000 ++ ++%_find_debuginfo_dwz_opts --run-dwz\\\ ++ --dwz-low-mem-die-limit %{_dwz_low_mem_die_limit}\\\ ++ --dwz-max-die-limit %{_dwz_max_die_limit} ++ + # + # Include a .gdb_index section in the .debug files. + # Requires _enable_debug_packages and gdb-add-index installed. +@@ -521,7 +536,7 @@ package or when debugging this package.\ + # Same as for "separate" but if the __debug_package global is set then + # the -debuginfo package will have a compatibility link for the main + # ELF /usr/lib/debug/.build-id/xx/yyy -> /usr/lib/.build-id/xx/yyy +-%_build_id_links compat ++%_build_id_links alldebug + + # Whether build-ids should be made unique between package version/releases + # when generating debuginfo packages. If set to 1 this will pass +@@ -550,10 +565,10 @@ package or when debugging this package.\ + %_unique_debug_srcs 1 + + # Whether rpm should put debug source files into its own subpackage +-#%_debugsource_packages 1 ++%_debugsource_packages 1 + + # Whether rpm should create extra debuginfo packages for each subpackage +-#%_debuginfo_subpackages 1 ++%_debuginfo_subpackages 1 + + # + # Use internal dependency generator rather than external helpers? +@@ -566,6 +581,10 @@ package or when debugging this package.\ + # Directories whose contents should be considered as documentation. + %__docdir_path %{_datadir}/doc:%{_datadir}/man:%{_datadir}/info:%{_datadir}/gtk-doc/html:%{?_docdir}:%{?_mandir}:%{?_infodir}:%{?_javadocdir}:/usr/doc:/usr/man:/usr/info:/usr/X11R6/man + ++# maxnum,cuttime,minnum ++# 2014/10/13 (SLES12 GA) ++%_binarychangelogtrim 0,1413151200,10 ++ + # + # Path to scripts to autogenerate package dependencies, + # +@@ -576,6 +595,7 @@ package or when debugging this package.\ + %__find_requires %{_rpmconfigdir}/find-requires + #%__find_conflicts ??? + #%__find_obsoletes ??? ++%__find_supplements %{_rpmconfigdir}/find-supplements + + # + # Path to file attribute classifications for automatic dependency +@@ -654,10 +674,10 @@ package or when debugging this package.\ + # Misc BDB tuning options + %__dbi_other mp_mmapsize=128Mb mp_size=1Mb + +-%_dbi_config %{?__dbi_other} ++%_dbi_config %{?__dbi_other} nofsync + + # "Packages" should have shared/exclusive fcntl(2) lock using "lockdbfd". +-%_dbi_config_Packages %{?_dbi_config} lockdbfd ++%_dbi_config_Packages %{?__dbi_other} lockdbfd + + #============================================================================== + # ---- GPG/PGP/PGP5 signature macros. +@@ -969,7 +989,7 @@ package or when debugging this package.\ + %_build_vendor %{_host_vendor} + %_build_os %{_host_os} + %_host @host@ +-%_host_alias @host_alias@%{nil} ++%_host_alias @host@%{nil} + %_host_cpu @host_cpu@ + %_host_vendor @host_vendor@ + %_host_os @host_os@ +@@ -1095,7 +1115,9 @@ package or when debugging this package.\ + + #------------------------------------------------------------------------------ + # arch macro for all supported ARM processors +-%arm armv3l armv4b armv4l armv4tl armv5tl armv5tel armv5tejl armv6l armv6hl armv7l armv7hl armv7hnl ++%arm armv3l armv4b armv4l armv4tl armv5b armv5l armv5teb armv5tel armv5tejl armv6l armv6hl armv7l armv7hl armv7hnl ++%arml armv3l armv4l armv5l armv5tel armv6l armv6hl armv7l armv7hl armv7hnl ++%armb armv4b armv5b armv5teb + + #------------------------------------------------------------------------------ + # arch macro for 32-bit MIPS processors diff --git a/mono-find-requires.diff b/mono-find-requires.diff new file mode 100644 index 0000000..c097272 --- /dev/null +++ b/mono-find-requires.diff @@ -0,0 +1,17 @@ +--- scripts/mono-find-requires ++++ scripts/mono-find-requires +@@ -42,8 +42,12 @@ + (START==1) && /^\tName=/ { + sub(/Name=/, "", $1); + LIBNAME=$1 +- +- print "mono(" LIBNAME ") = " VERSION ++ # Allow rpm deps to be resolved for 1.0 profile version ++ if (VERSION=="1.0.3300.0") ++ OP=">=" ++ else ++ OP="=" ++ print "mono(" LIBNAME ") " OP " " VERSION + START=0 + } + ') 2> /dev/null diff --git a/nameversioncompare.diff b/nameversioncompare.diff new file mode 100644 index 0000000..e76a69a --- /dev/null +++ b/nameversioncompare.diff @@ -0,0 +1,39 @@ +Also compare the name/arch and not only the version when checking if +two packages are the same. rh#104066 + +--- ./lib/depends.c.orig 2014-06-26 06:51:54.163820067 +0000 ++++ ./lib/depends.c 2014-08-04 12:22:24.030575105 +0000 +@@ -158,6 +158,24 @@ static int skipColor(rpm_color_t tscolor + return tscolor && color && ocolor && !(color & ocolor); + } + ++static int rpmNameVersionCompare(Header first, Header second) ++{ ++ const char * one, * two; ++ int rc; ++ ++ one = headerGetString(first, RPMTAG_NAME); ++ two = headerGetString(second, RPMTAG_NAME); ++ rc = strcmp(one, two); ++ if (rc) ++ return rc; ++ one = headerGetString(first, RPMTAG_ARCH); ++ two = headerGetString(second, RPMTAG_ARCH); ++ rc = strcmp(one, two); ++ if (rc) ++ return rc; ++ return rpmVersionCompare(first, second); ++} ++ + /* Add erase elements for older packages of same color (if any). */ + static int addSelfErasures(rpmts ts, rpm_color_t tscolor, int op, + rpmte p, rpm_color_t hcolor, Header h) +@@ -172,7 +190,7 @@ static int addSelfErasures(rpmts ts, rpm + if (skipColor(tscolor, hcolor, headerGetNumber(oh, RPMTAG_HEADERCOLOR))) + continue; + +- cmp = rpmVersionCompare(h, oh); ++ cmp = rpmNameVersionCompare(h, oh); + + /* On upgrade, skip packages that contain identical NEVR. */ + if ((op == RPMTE_UPGRADE) && (cmp == 0)) diff --git a/nobuildcolor.diff b/nobuildcolor.diff new file mode 100644 index 0000000..cee312f --- /dev/null +++ b/nobuildcolor.diff @@ -0,0 +1,14 @@ +Disable file coloring for SUSE systems + +--- build/rpmfc.c.orig 2013-07-12 12:12:45.000000000 +0000 ++++ build/rpmfc.c 2013-07-12 12:15:51.000000000 +0000 +@@ -1305,7 +1305,8 @@ rpmRC rpmfcGenerateDepends(const rpmSpec + /* XXX Make sure only primary (i.e. Elf32/Elf64) colors are added. */ + for (int i = 0; i < fc->nfiles; i++) + fc->fcolor[i] &= 0x0f; +- headerPutUint32(pkg->header, RPMTAG_FILECOLORS, fc->fcolor, fc->nfiles); ++ if (rpmExpandNumeric("%{?_transaction_color}") != 0) ++ headerPutUint32(pkg->header, RPMTAG_FILECOLORS, fc->fcolor, fc->nfiles); + + /* Add classes(#classes) */ + for (rpmsid id = 1; id <= rpmstrPoolNumStr(fc->cdict); id++) { diff --git a/nomagiccheck.diff b/nomagiccheck.diff new file mode 100644 index 0000000..368fbcf --- /dev/null +++ b/nomagiccheck.diff @@ -0,0 +1,13 @@ +Don't let rpm complain about a missing /etc/magic.mgc file + +--- build/rpmfc.c.orig 2013-07-12 12:16:40.000000000 +0000 ++++ build/rpmfc.c 2013-07-12 12:17:15.000000000 +0000 +@@ -901,7 +901,7 @@ static int initAttrs(rpmfc fc) + + rpmRC rpmfcClassify(rpmfc fc, ARGV_t argv, rpm_mode_t * fmode) + { +- int msflags = MAGIC_CHECK | MAGIC_COMPRESS | MAGIC_NO_CHECK_TOKENS; ++ int msflags = MAGIC_COMPRESS | MAGIC_NO_CHECK_TOKENS; + magic_t ms = NULL; + rpmRC rc = RPMRC_FAIL; + diff --git a/noprereqdeprec.diff b/noprereqdeprec.diff new file mode 100644 index 0000000..a6bc0ba --- /dev/null +++ b/noprereqdeprec.diff @@ -0,0 +1,20 @@ +--- ./build/parsePreamble.c.orig 2017-12-01 15:42:35.766392406 +0000 ++++ ./build/parsePreamble.c 2017-12-01 15:43:29.364237520 +0000 +@@ -996,7 +996,7 @@ static struct PreambleRec_s const preamb + {RPMTAG_SUGGESTNAME, 0, 0, LEN_AND_STR("suggests")}, + {RPMTAG_SUPPLEMENTNAME, 0, 0, LEN_AND_STR("supplements")}, + {RPMTAG_ENHANCENAME, 0, 0, LEN_AND_STR("enhances")}, +- {RPMTAG_PREREQ, 2, 1, LEN_AND_STR("prereq")}, ++ {RPMTAG_PREREQ, 2, 0, LEN_AND_STR("prereq")}, + {RPMTAG_CONFLICTNAME, 0, 0, LEN_AND_STR("conflicts")}, + {RPMTAG_OBSOLETENAME, 0, 0, LEN_AND_STR("obsoletes")}, + {RPMTAG_PREFIXES, 0, 0, LEN_AND_STR("prefixes")}, +@@ -1005,7 +1005,7 @@ static struct PreambleRec_s const preamb + {RPMTAG_BUILDARCHS, 0, 0, LEN_AND_STR("buildarchitectures")}, + {RPMTAG_BUILDARCHS, 0, 0, LEN_AND_STR("buildarch")}, + {RPMTAG_BUILDCONFLICTS, 0, 0, LEN_AND_STR("buildconflicts")}, +- {RPMTAG_BUILDPREREQ, 0, 1, LEN_AND_STR("buildprereq")}, ++ {RPMTAG_BUILDPREREQ, 0, 0, LEN_AND_STR("buildprereq")}, + {RPMTAG_BUILDREQUIRES, 0, 0, LEN_AND_STR("buildrequires")}, + {RPMTAG_AUTOREQPROV, 0, 0, LEN_AND_STR("autoreqprov")}, + {RPMTAG_AUTOREQ, 0, 0, LEN_AND_STR("autoreq")}, diff --git a/platformin.diff b/platformin.diff new file mode 100644 index 0000000..69c41a8 --- /dev/null +++ b/platformin.diff @@ -0,0 +1,42 @@ +--- ./platform.in.orig 2014-06-26 06:51:54.822818260 +0000 ++++ ./platform.in 2014-08-04 12:38:55.389245494 +0000 +@@ -29,7 +29,7 @@ + %_exec_prefix @exec_prefix@ + %_bindir @bindir@ + %_sbindir @sbindir@ +-%_libexecdir @libexecdir@ ++%_libexecdir %{_exec_prefix}/lib + %_datarootdir @datarootdir@ + %_datadir @datadir@ + %_sysconfdir @sysconfdir@ +@@ -41,7 +41,7 @@ + %_oldincludedir @oldincludedir@ + %_infodir @infodir@ + %_mandir @mandir@ +-%_initddir %{_sysconfdir}/rc.d/init.d ++%_initddir %{_sysconfdir}/init.d + # Deprecated misspelling, present for backwards compatibility. + %_initrddir %{_initddir} + %_rundir @RUNDIR@ +@@ -83,3 +83,21 @@ + @apple@# + @apple@%_use_internal_dependency_generator 0 + @apple@%__so dylib ++@suse@#--------------------------------------------------------------------- ++@suse@# Expanded at end of %prep ++@suse@# ++@suse@%__id_u %{__id} -u ++@suse@%__chown_Rhf %{__chown} -Rhf ++@suse@%__chgrp_Rhf %{__chgrp} -Rhf ++@suse@%_fixowner [ `%{__id_u}` = '0' ] && %{__chown_Rhf} root ++@suse@%_fixgroup [ `%{__id_u}` = '0' ] && %{__chgrp_Rhf} root ++@suse@%_fixperms %{__chmod} -Rf @FIXPERMS@ ++@suse@ ++@suse@#--------------------------------------------------------------------- ++@suse@# Expanded at start of %build ++@suse@# ++@suse@%__spec_build_pre %{___build_pre}\ ++@suse@%{?buildroot: %__rm -rf "$RPM_BUILD_ROOT"\ ++@suse@ %__mkdir_p `dirname "$RPM_BUILD_ROOT"`\ ++@suse@ %__mkdir "$RPM_BUILD_ROOT"\ ++@suse@} diff --git a/python-rpm.changes b/python-rpm.changes new file mode 100644 index 0000000..8d8a63f --- /dev/null +++ b/python-rpm.changes @@ -0,0 +1,171 @@ +------------------------------------------------------------------- +Thu Nov 22 09:50:36 UTC 2018 - asmorodskyi@suse.com + +- Fix python-module compatibility with older distros + +------------------------------------------------------------------- +Fri Apr 6 14:11:01 CEST 2018 - mls@suse.de + +- remove rpmlint-Factory buildignore + +------------------------------------------------------------------- +Tue Mar 20 13:59:45 UTC 2018 - tchvatal@suse.com + +- Switch really to singlespec thus allowing us to build without + python2-devel present in the distribution + +------------------------------------------------------------------- +Wed Jan 31 14:45:33 CET 2018 - mls@suse.de + +- update to rpm-4.14.1 + +------------------------------------------------------------------- +Tue Dec 19 09:39:25 UTC 2017 - jengelh@inai.de + +- Update RPM groups + +------------------------------------------------------------------- +Sat Oct 28 12:19:34 UTC 2017 - ngompa13@gmail.com + +- Add a comment to note that prep and build stages come from rpm.spec + +------------------------------------------------------------------- +Mon Oct 16 13:49:18 UTC 2017 - ngompa13@gmail.com + +- Properly quote the conditional for Obsoletes+Provides + +------------------------------------------------------------------- +Sun Oct 15 04:03:00 UTC 2017 - ngompa13@gmail.com + +- Unify rpm-python and python3-rpm into singlespec +- Switch the build to use setuptools-based build, so that + the Python module is properly built with all its metadata + +------------------------------------------------------------------- +Wed Nov 20 14:41:34 CET 2013 - mls@suse.de + +- adapt to python-3.3, which no longer looks at XXXmodule.so + +------------------------------------------------------------------- +Fri Jul 12 15:36:43 CEST 2013 - mls@suse.de + +- update to rpm-4.11.1 + +------------------------------------------------------------------- +Wed Jan 2 14:25:20 UTC 2013 - dmueller@suse.com + +- Update to 4.10.2 + +------------------------------------------------------------------- +Mon Apr 23 11:16:26 CEST 2012 - mls@suse.de + +- modified capsule api diff to match rpm upstream + +------------------------------------------------------------------- +Wed Apr 11 16:54:02 UTC 2012 - klaussfreire@gmail.com + +- Fix usage of deprecated AsVoidPtr Python/C API, + replaced by Capsule API + +------------------------------------------------------------------- +Tue Jan 17 10:28:42 UTC 2012 - saschpe@suse.de + +- Spec file cleanup: + * Don't rm -rf %{buildroot} + * Removed %clean section + * Removed authors from description + +------------------------------------------------------------------- +Sun Dec 11 09:28:28 UTC 2011 - coolo@suse.com + +- add libtool as explicit buildrequire + +------------------------------------------------------------------- +Wed Feb 23 14:01:41 CET 2011 - mls@suse.de + +- drop standard python directories from filelist [bnc#229189] + +------------------------------------------------------------------- +Fri Oct 22 15:52:32 UTC 2010 - coolo@novell.com + +- adapt second spec file to changes done to rpm.spec + +------------------------------------------------------------------- +Mon Oct 18 11:03:53 CEST 2010 - dmueller@suse.de + +- adapt buildrequires + +------------------------------------------------------------------- +Thu Feb 12 16:52:26 CET 2009 - ro@suse.de + +- adapt buildrequires + +------------------------------------------------------------------- +Wed Oct 8 11:24:22 CEST 2008 - cthiel@suse.de + +- added libelf-devel to BuildRequires to fix build + +------------------------------------------------------------------- +Thu Sep 11 15:33:52 CEST 2008 - mls@suse.de + +- update to 4.4.2.3 to get rid of >50 patches + +------------------------------------------------------------------- +Sat Aug 30 21:23:38 CEST 2008 - cthiel@suse.de + +- add libselinux-devel to BuildRequires + +------------------------------------------------------------------- +Thu Aug 7 16:05:51 CEST 2008 - dmueller@suse.de + +- fix build against python 2.6 + +------------------------------------------------------------------- +Thu Mar 27 14:47:18 CET 2008 - coolo@suse.de + +- fix buildrequires + +------------------------------------------------------------------- +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 + +- add ncurses-devel and zlib-devel BuildRequires. + +------------------------------------------------------------------- +Wed Oct 18 22:59:02 CEST 2006 - mls@suse.de + +- use rpm.spec for building instead of duplication everything +- delete superfluous .a and .la files [#202604] +- create .pyc and .pyo files [#205711] + +------------------------------------------------------------------- +Sun Oct 15 23:41:37 CEST 2006 - schwab@suse.de + +- Make sure config.rpath is present. + +------------------------------------------------------------------- +Fri Sep 22 08:58:57 CEST 2006 - aj@suse.de + +- Fix for python2.5. + +------------------------------------------------------------------- +Thu Sep 21 11:41:04 CEST 2006 - lnussel@suse.de + +- do not package beecrypt python bindings as libbeecrypt is not + packaged either +- fix literal %{version} in Requires tag + +------------------------------------------------------------------- +Thu Sep 21 10:58:42 CEST 2006 - lnussel@suse.de + +- fix build with python 2.5 by overriding autodetection + +------------------------------------------------------------------- +Tue Sep 19 13:48:27 CEST 2006 - rguenther@suse.de + +- split from rpm package + diff --git a/python-rpm.spec b/python-rpm.spec new file mode 100644 index 0000000..b354212 --- /dev/null +++ b/python-rpm.spec @@ -0,0 +1,80 @@ +# +# spec file for package python-rpm +# +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 Neal Gompa . +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +# Enable Python build sourced from rpm spec +%global with_python 1 +%{?!python_module:%define python_module() python-%{**} python3-%{**}} +Name: python-rpm +Version: 4.14.2.1 +Release: 0 +Summary: Python Bindings for Manipulating RPM Packages +License: GPL-2.0-or-later +Group: Development/Libraries/Python +URL: https://rpm.org/ +#Git-Clone: https://github.com/rpm-software-management/rpm +Source99: rpm.spec +BuildRequires: %{python_module devel} +BuildRequires: file-devel +BuildRequires: libacl-devel +BuildRequires: libbz2-devel +BuildRequires: libcap-devel +BuildRequires: libelf-devel +BuildRequires: libselinux-devel +BuildRequires: libsemanage-devel +BuildRequires: libtool +BuildRequires: lua-devel +BuildRequires: ncurses-devel +BuildRequires: popt-devel +BuildRequires: python-rpm-macros +BuildRequires: xz-devel +BuildRequires: zlib-devel +BuildRequires: pkgconfig(libzstd) +Requires: rpm = %{version} +%{expand:%(sed -n -e '/^Source:/,/^BuildRoot:/p' <%{_sourcedir}/rpm.spec)} +%if "%{python_flavor}" == "python2" +Obsoletes: rpm-python < %{version}-%{release} +Provides: rpm-python = %{version}-%{release} +%endif +%python_subpackages + +%description +This package contains a module that permits applications written in +the Python programming language to use the interface supplied by +RPM Package Manager libraries. + +This package should be installed if you want to develop Python programs +that will manipulate RPM packages and databases. + +%prep +%{expand:%(sed -n -e '/^%%prep/,/^%%install/p' <%{_sourcedir}/rpm.spec | sed -e '1d' -e '$d')} + +# The build stage is already declared and pulled in from rpm.spec +pushd python +%python_build +popd + +%install +pushd python +%python_install +popd + +%files %{python_files} +%{python_sitearch}/rpm* + +%changelog diff --git a/pythondistdeps.diff b/pythondistdeps.diff new file mode 100644 index 0000000..8428fe6 --- /dev/null +++ b/pythondistdeps.diff @@ -0,0 +1,7 @@ +--- ./scripts/pythondistdeps.py.orig 2018-08-08 13:40:18.173941320 +0000 ++++ ./scripts/pythondistdeps.py 2018-10-16 09:30:49.271004917 +0000 +@@ -1,4 +1,3 @@ +-#!/usr/bin/python + # -*- coding: utf-8 -*- + # + # Copyright 2010 Per Øyvind Karlsen diff --git a/refreshtestarch.diff b/refreshtestarch.diff new file mode 100644 index 0000000..ea748bd --- /dev/null +++ b/refreshtestarch.diff @@ -0,0 +1,21 @@ +Also test architecture in "refresh" test when not colored. This allows +updates to different architectures. + +--- ./lib/psm.c.orig 2012-03-20 08:07:25.000000000 +0000 ++++ ./lib/psm.c 2012-06-01 10:22:24.000000000 +0000 +@@ -680,13 +680,14 @@ void rpmpsmNotify(rpmpsm psm, int what, + */ + static void markReplacedInstance(rpmts ts, rpmte te) + { ++ /* this must match rpmNameVersionCompare in depends.c */ + rpmdbMatchIterator mi = rpmtsInitIterator(ts, RPMDBI_NAME, rpmteN(te), 0); + rpmdbSetIteratorRE(mi, RPMTAG_EPOCH, RPMMIRE_STRCMP, rpmteE(te)); + rpmdbSetIteratorRE(mi, RPMTAG_VERSION, RPMMIRE_STRCMP, rpmteV(te)); + rpmdbSetIteratorRE(mi, RPMTAG_RELEASE, RPMMIRE_STRCMP, rpmteR(te)); ++ rpmdbSetIteratorRE(mi, RPMTAG_ARCH, RPMMIRE_STRCMP, rpmteA(te)); + /* XXX shouldn't we also do this on colorless transactions? */ + if (rpmtsColor(ts)) { +- rpmdbSetIteratorRE(mi, RPMTAG_ARCH, RPMMIRE_STRCMP, rpmteA(te)); + rpmdbSetIteratorRE(mi, RPMTAG_OS, RPMMIRE_STRCMP, rpmteO(te)); + } + diff --git a/remove-brp-strips.diff b/remove-brp-strips.diff new file mode 100644 index 0000000..f6b871f --- /dev/null +++ b/remove-brp-strips.diff @@ -0,0 +1,16 @@ +Subject: remove references to removed brp scripts + +Some brp-scripts are not used in openSUSE, remove references +to it + +--- ./platform.in.orig 2018-10-16 09:22:16.004374524 +0000 ++++ ./platform.in 2018-10-16 09:24:58.891939175 +0000 +@@ -80,8 +80,6 @@ + %__os_install_post \ + %{?__brp_compress} \ + %{?__brp_strip} \ +- %{?__brp_strip_static_archive} \ +- %{?__brp_strip_comment_note} \ + %{nil} + + %__spec_install_post\ diff --git a/remove-translations.diff b/remove-translations.diff new file mode 100644 index 0000000..7a0d6ec --- /dev/null +++ b/remove-translations.diff @@ -0,0 +1,26 @@ +--- ./scripts/find-lang.sh.orig 2018-01-31 13:25:25.229266078 +0000 ++++ ./scripts/find-lang.sh 2018-01-31 13:26:15.128133281 +0000 +@@ -119,6 +119,23 @@ fi + MO_NAME_NEW=$MO_NAME.tmp.$$ + rm -f $MO_NAME_NEW + ++# remove languages we do not yet support - but give out statistics ++test -d "$TOP_DIR/usr/share/locale/" && find "$TOP_DIR/usr/share/locale/" -maxdepth 1 -type d | sed 's:'"$TOP_DIR"/usr/share/locale/'::; /^$/d' | while read dir; do ++ if ! rpm -ql filesystem | egrep -q "/usr/share/locale/$dir"$; then ++ find $TOP_DIR/usr/share/locale/$dir -name *.mo | sed 's:'"$TOP_DIR"'::' | while read file; do ++ echo -n "removing translation $file: " ++ msgunfmt "$TOP_DIR/$file" | msgfmt --statistics -o /dev/null - ++ done ++ rm -rf $TOP_DIR/usr/share/locale/$dir ++ fi ++done ++test -d "$TOP_DIR/usr/share/help/" && find $TOP_DIR/usr/share/help/ -maxdepth 1 -type d | sed 's:'"$TOP_DIR"/usr/share/help/'::; /^$/d' | while read dir; do ++ if ! rpm -ql filesystem | egrep -q "/usr/share/help/$dir"$; then ++ echo "removing help translation /usr/share/help/$dir" ++ rm -rf $TOP_DIR/usr/share/help/$dir ++ fi ++done ++ + for NAME in ${NAMES[@]}; do + + find "$TOP_DIR" -type f -o -type l|sed ' diff --git a/requires-ge-macro.diff b/requires-ge-macro.diff new file mode 100644 index 0000000..e94f0a2 --- /dev/null +++ b/requires-ge-macro.diff @@ -0,0 +1,12 @@ +--- ./macros.in.orig 2011-05-11 15:36:05.000000000 +0000 ++++ ./macros.in 2011-05-11 15:38:44.000000000 +0000 +@@ -1027,7 +1027,8 @@ done \ + # %{perl_sitearch}/Image + # %dir %{perl_sitearch}/auto/Image + # +-%requires_eq() %(LC_ALL="C" echo '%*' | xargs -r rpm -q --qf 'Requires: %%{name} = %%{epoch}:%%{version}\\n' | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not") ++%requires_eq() %(echo '%*' | LC_ALL=C xargs -r rpm -q --qf 'Requires: %%{name} = %%{epoch}:%%{version}\\n' | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not") ++%requires_ge() %(echo '%*' | LC_ALL=C xargs -r rpm -q --qf 'Requires: %%{name} >= %%{epoch}:%%{version}\\n' | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not") + %perl_sitearch %(eval "`%{__perl} -V:installsitearch`"; echo $installsitearch) + %perl_sitelib %(eval "`%{__perl} -V:installsitelib`"; echo $installsitelib) + %perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch) diff --git a/rpm-4.12.0.1-fix-bashisms.patch b/rpm-4.12.0.1-fix-bashisms.patch new file mode 100644 index 0000000..719134a --- /dev/null +++ b/rpm-4.12.0.1-fix-bashisms.patch @@ -0,0 +1,12 @@ +diff -Ndur rpm-4.12.0.1/scripts/check-rpaths rpm-4.12.0.1-fix-bashisms/scripts/check-rpaths +--- rpm-4.12.0.1/scripts/check-rpaths 2014-06-30 11:47:14.000000000 +0300 ++++ rpm-4.12.0.1-fix-bashisms/scripts/check-rpaths 2014-11-30 04:51:05.189260640 +0200 +@@ -17,7 +17,7 @@ + + + test -z "$QA_SKIP_RPATHS" || { +- echo $"WARNING: '\$QA_SKIP_RPATHS' is obsoleted by 'QA_RPATHS=[0-7]'" >&2 ++ echo "WARNING: '\$QA_SKIP_RPATHS' is obsoleted by 'QA_RPATHS=[0-7]'" >&2 + exit 0 + } + diff --git a/rpm-deptracking.patch b/rpm-deptracking.patch new file mode 100644 index 0000000..4c97af2 --- /dev/null +++ b/rpm-deptracking.patch @@ -0,0 +1,12 @@ +--- ./macros.in.orig 2017-12-01 15:50:47.587969729 +0000 ++++ ./macros.in 2017-12-01 15:50:53.813951691 +0000 +@@ -1039,7 +1039,8 @@ package or when debugging this package.\ + --localstatedir=%{_localstatedir} \\\ + --sharedstatedir=%{_sharedstatedir} \\\ + --mandir=%{_mandir} \\\ +- --infodir=%{_infodir} ++ --infodir=%{_infodir} \\\ ++ --disable-dependency-tracking + + #------------------------------------------------------------------------------ + # Tested features of make diff --git a/rpm-findlang-inject-metainfo.patch b/rpm-findlang-inject-metainfo.patch new file mode 100644 index 0000000..8481099 --- /dev/null +++ b/rpm-findlang-inject-metainfo.patch @@ -0,0 +1,55 @@ +--- ./scripts/find-lang.sh.orig 2018-01-31 13:37:22.810352621 +0000 ++++ ./scripts/find-lang.sh 2018-01-31 13:39:38.117990971 +0000 +@@ -32,6 +32,7 @@ Additional options: + --with-man find localized man pages + --all-name match all package/domain names + --without-mo do not find locale files ++ --metainfo create a metainfo.xml file for AppStream + EOF + exit 1 + } +@@ -62,6 +63,7 @@ ALL_NAME=# + NO_ALL_NAME= + ONLY_C=# + NO_C=# ++METAINFO=# + while test $# -gt 0 ; do + case "${1}" in + --with-gnome ) +@@ -113,6 +115,11 @@ while test $# -gt 0 ; do + NO_C= + shift + ;; ++ --metainfo ) ++ METAINFO= ++ METADESKID=${2} ++ shift 2 ++ ;; + * ) + if [ $MO_NAME != ${NAMES[$#]}.lang ]; then + NAMES[${#NAMES[@]}]=$MO_NAME +@@ -323,6 +330,24 @@ if ! grep -q / $MO_NAME_NEW; then + exit 1 + fi + ++if [ -z "${METAINFO}" ] ; then ++ # create a metainfo.xml file for METADESKID ++ mkdir -p ${TOP_DIR}/usr/share/appdata ++ cat > ${TOP_DIR}/usr/share/appdata/${METADESKID}-lang.metainfo.xml < ++ ++ ++ ${METADESKID}-lang ++ ${METADESKID}.desktop ++ Translations ++ Translate the user interface ++ CC0-1.0 ++ https://bugzilla.opensuse.org ++ ++EOF ++ echo /usr/share/appdata/${METADESKID}-lang.metainfo.xml >> $MO_NAME_NEW ++fi ++ + sort -u $MO_NAME_NEW >> $MO_NAME + rm -f $MO_NAME_NEW + diff --git a/rpm-shorten-changelog.diff b/rpm-shorten-changelog.diff new file mode 100644 index 0000000..28402d1 --- /dev/null +++ b/rpm-shorten-changelog.diff @@ -0,0 +1,96 @@ +--- ./build/pack.c.orig 2017-10-11 12:39:53.009897937 +0000 ++++ ./build/pack.c 2017-12-04 16:02:29.299440578 +0000 +@@ -641,6 +641,71 @@ static rpmRC checkPackages(char *pkgchec + return RPMRC_OK; + } + ++static void trimChangelog(Header h) ++{ ++ static int oneshot; ++ static int cuttime, minnum, maxnum; ++ rpm_count_t i, keep; ++ struct rpmtd_s timestd, namestd, textstd; ++ rpm_count_t count; ++ ++ if (!oneshot) { ++ char *binarychangelogtrim = rpmExpand("%{?_binarychangelogtrim}", NULL); ++ oneshot = 1; ++ if (binarychangelogtrim && *binarychangelogtrim) { ++ maxnum = atoi(binarychangelogtrim); ++ binarychangelogtrim = strchr(binarychangelogtrim, ','); ++ if (binarychangelogtrim) ++ binarychangelogtrim++; ++ } ++ if (binarychangelogtrim && *binarychangelogtrim) { ++ cuttime = atoi(binarychangelogtrim); ++ binarychangelogtrim = strchr(binarychangelogtrim, ','); ++ if (binarychangelogtrim) ++ binarychangelogtrim++; ++ } ++ if (binarychangelogtrim && *binarychangelogtrim) { ++ minnum = atoi(binarychangelogtrim); ++ binarychangelogtrim = strchr(binarychangelogtrim, ','); ++ } ++ } ++ if (!cuttime && !minnum && !maxnum) { ++ return; ++ } ++ ++ if (!headerGet(h, RPMTAG_CHANGELOGTIME, ×td, HEADERGET_MINMEM)) ++ return; ++ count = rpmtdCount(×td); ++ if ((!cuttime || count <= minnum) && (!maxnum || count <= maxnum)) { ++ rpmtdFreeData(×td); ++ return; ++ } ++ keep = count; ++ if (maxnum && keep > maxnum) ++ keep = maxnum; ++ if (cuttime) { ++ for (i = 0; i < keep; i++) { ++ uint32_t *tp = rpmtdNextUint32(×td); ++ if (i >= minnum && tp && *tp < cuttime) ++ break; ++ } ++ keep = i; ++ } ++ if (keep >= count) { ++ rpmtdFreeData(×td); ++ return; ++ } ++ headerGet(h, RPMTAG_CHANGELOGNAME, &namestd, HEADERGET_MINMEM); ++ headerGet(h, RPMTAG_CHANGELOGTEXT, &textstd, HEADERGET_MINMEM); ++ timestd.count = namestd.count = textstd.count = keep; ++ headerMod(h, ×td); ++ headerMod(h, &namestd); ++ headerMod(h, &textstd); ++ rpmtdFreeData(&textstd); ++ rpmtdFreeData(&namestd); ++ rpmtdFreeData(×td); ++} ++ + rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating) + { + rpmRC rc; +@@ -648,6 +713,7 @@ rpmRC packageBinaries(rpmSpec spec, cons + Package pkg; + char *pkglist = NULL; + ++ trimChangelog(spec->packages->header); + for (pkg = spec->packages; pkg != NULL; pkg = pkg->next) { + char *fn; + +--- ./build/parseChangelog.c.orig 2017-10-05 10:04:56.859602170 +0000 ++++ ./build/parseChangelog.c 2017-12-04 14:47:41.249346774 +0000 +@@ -255,6 +255,11 @@ static rpmRC addChangelog(Header h, ARGV + goto exit; + } + ++ /* workaround old suse oddity */ ++ if (*s == '-' && s[1] == ' ') { ++ s += 2; ++ } ++ + /* name */ + name = s; + while (*s != '\0') s++; diff --git a/rpm.changes b/rpm.changes new file mode 100644 index 0000000..f05069a --- /dev/null +++ b/rpm.changes @@ -0,0 +1,4150 @@ +------------------------------------------------------------------- +Fri Jun 7 15:03:15 UTC 2019 - Jan Engelhardt + +- Enable decompression and creation of zstd-based payloads. +- Add homepage and repo URL. + +------------------------------------------------------------------- +Tue May 14 10:11:34 UTC 2019 - Martin LiÅ¡ka + +- Add adopt-language-specific-build_fooflags-macros-from-F.patch + (9a50846ceeef2add2344dd463c5562bd69496a23) from master. + +------------------------------------------------------------------- +Tue Apr 16 08:40:11 UTC 2019 - Stasiek Michalski + +- backport "push name/epoch/version/release macro before invoking depgens" + change for correct generation of dependencies by other dep generators + * new patch: rpmfc-push-name-epoch-version-release-macro-before-invoking-depgens.patch + +------------------------------------------------------------------- +Thu Feb 7 15:42:17 CET 2019 - mls@suse.de + +- backport getncpus macro and related changes from upstream + * make make_build macro use verbose output + * add _smp_build_ncpus macro + * add _lto_cflags macro + * new patch: getncpus.diff + +------------------------------------------------------------------- +Sun Jan 13 16:08:32 UTC 2019 - Dirk Mueller + +- update macrosin.diff: Set cutoff date to SLE12 GA to remove + changelogs from 2009-2014 from the generated RPMs. + +------------------------------------------------------------------- +Mon Oct 22 13:26:55 CEST 2018 - mls@suse.de + +- update to rpm-4.14.2.1 + * fix regression in --setperms and --setugids + +------------------------------------------------------------------- +Tue Oct 16 11:27:36 CEST 2018 - mls@suse.de + +- update to rpm-4.14.2 + * new configurable, mandatory package verification level + * new package verification phase in rpmtsRun() + * new --setcaps and --restore options + * new --whatobsoletes and --whatconflicts query options +- dropped patches: + * disttag-macro.diff + * reproducible-debuginfo.patch + * debugedit-bnc1076819.diff + * hardlinks.diff + * debugedit-riscv.patch + * safesymlinks.diff + * verifynodup.diff + +------------------------------------------------------------------- +Mon Oct 1 12:08:32 UTC 2018 - Martin LiÅ¡ka + +- Update dwz-compression.patch to latest git trunk + (62d901a22b7eb6c86c15290032a41e11427ddf87). + +------------------------------------------------------------------- +Mon Sep 17 11:04:48 UTC 2018 - Martin LiÅ¡ka + +- Add upstream patch that prints dwz compression rate + new patch: dwz-compression.patch + +------------------------------------------------------------------- +Wed Aug 8 05:12:24 UTC 2018 - bwiedemann@suse.com + +- Add reproducible-debuginfo.patch to generate debuginfo + in a reproducible way + +------------------------------------------------------------------- +Fri Jul 20 13:15:28 CEST 2018 - mls@suse.de + +- Require /usr/bin/awk so that 'rpm --last' works [bnc#1101355] + +------------------------------------------------------------------- +Mon Jul 2 16:30:51 CEST 2018 - mls@suse.de + +- Split SUSE macros and some helpers into rpm-config-SUSE + package. This is based on the work of Neal Gompa, thanks! + new patch: findsupplements.diff + dropped files: rpm-suse_macros + dropped patches: findksyms.diff, modalias.diff, firmware.diff, + modalias-encode.diff, initscriptsprov.diff + +------------------------------------------------------------------- +Fri Jun 15 12:46:10 UTC 2018 - msuchanek@suse.com + +- Add kernel export provides on openSUSE (boo#1095148). + +------------------------------------------------------------------- +Fri Jun 15 13:25:18 CEST 2018 - mls@suse.de + +- really fix symlink attacks on rpm install [bnc#943457] + [CVE-2017-7500] + new patch: safesymlinks.diff +- backport removal of user/group duplicate detection in verify + new patch: verifynodup.diff + +------------------------------------------------------------------- +Mon Jun 11 11:43:36 CEST 2018 - mls@suse.de + +- Define sle_version in leap [bnc#1094735] + +------------------------------------------------------------------- +Wed May 30 10:48:49 UTC 2018 - msuchanek@suse.com + +- openSUSE releases also preserve kabi (boo#1095148). + +------------------------------------------------------------------- +Mon May 7 16:36:45 CEST 2018 - mls@suse.de + +- Disable debuginfo dwz compression for baselibs packages + [bnc#1092189] + +------------------------------------------------------------------- +Thu Apr 19 11:53:52 CEST 2018 - mls@suse.de + +- move -fprofile-update=atomic before -fprofile-generate + +------------------------------------------------------------------- +Wed Apr 18 11:50:11 UTC 2018 - mliska@suse.cz + +- Enable -fprofile-update=atomic for PGO (boo#1040589). + +------------------------------------------------------------------- +Fri Apr 6 10:05:18 UTC 2018 - adam.majer@suse.de + +- %install_info: if we are going to fail, at least fail on install + not on attempted upgrades or uninstall [bsc#1084997] + +------------------------------------------------------------------- +Tue Mar 27 14:31:28 CEST 2018 - mls@suse.de + +- do not use the source date epoch as buildtime by default + [bnc#1087065] + new patch: source_date_epoch_buildtime.diff + +------------------------------------------------------------------- +Mon Mar 5 09:23:16 UTC 2018 - schwab@suse.de + +- handle RISC-V relocation in debugedit + new patch: debugedit-riscv.patch + +------------------------------------------------------------------- +Thu Mar 1 16:42:07 CET 2018 - mls@suse.de + +- remove no longer needed and now harmful extcond patch + [bnc#1083539] + dropped patch: extcond.diff + +------------------------------------------------------------------- +Thu Feb 22 15:14:49 UTC 2018 - fvogt@suse.com + +- Use %license (boo#1082318) + +------------------------------------------------------------------- +Thu Feb 22 11:14:38 CET 2018 - mls@suse.de + +- split riscv64 part from auto-config-update-aarch64-ppc64le.diff + to make the change rust-proof. + new patch: auto-config-update-riscv64.diff + +------------------------------------------------------------------- +Thu Feb 15 11:11:21 UTC 2018 - schwab@suse.de + +- auto-config-update-aarch64-ppc64le.diff: Update for riscv64 and enable + it there + +------------------------------------------------------------------- +Wed Feb 14 10:45:25 CET 2018 - mls@suse.de + +- change disk usage handling to take hardlinks into account + [bnc#720150] + new patch: hardlinks.diff + +------------------------------------------------------------------- +Wed Feb 7 17:23:48 UTC 2018 - msuchanek@suse.com + +- Use ksym-provides tool (bsc#1077692). + +------------------------------------------------------------------- +Wed Feb 7 09:13:41 UTC 2018 - dimstar@opensuse.org + +- Update %remove_and_set: This macro needs no fallback to + /var/adm/fillup-templates, as it does not work on files provided + by the packages, but rather constructs temporary files inside + fillup_dir. + +------------------------------------------------------------------- +Mon Feb 5 11:08:12 CET 2018 - mls@suse.de + +- remove shebang from python-macro-helper + +------------------------------------------------------------------- +Wed Jan 31 14:45:33 CET 2018 - mls@suse.de + +- update to rpm-4.14.1 + * Fix arbitrary code execution when evaluating common + python-related macros + * new artifact file marker + * less strict signature header verification [bnc#1078284] +- dropped patches: + * bigarchive.diff + * editdwarf.diff + * hardlink.diff + * rofs.diff + * transfiletriggerpostun.diff + +------------------------------------------------------------------- +Mon Jan 22 11:13:48 UTC 2018 - rguenther@suse.com + +- fix debugedit relocation offset computation (boo#1076819) + new patch: debugedit-bnc1076819.diff + +------------------------------------------------------------------- +Fri Jan 5 13:26:50 CET 2018 - mls@suse.de + +- fix signature header writing if the archive size is bigger + than 2 GByte + new patch: bigarchive.diff + +------------------------------------------------------------------- +Tue Jan 2 11:04:52 CET 2018 - mls@suse.de + +- remove shebang from pythondistdeps.py + new patch: pythondistdeps.diff + +------------------------------------------------------------------- +Tue Dec 19 09:39:25 UTC 2017 - jengelh@inai.de + +- Update RPM groups + +------------------------------------------------------------------- +Fri Dec 15 13:18:39 CET 2017 - mls@suse.de + +- patch debugedit so that it also handles the .debug.macro section + new patch: debugedit-macro.diff + +------------------------------------------------------------------- +Thu Dec 7 17:02:52 CET 2017 - mls@suse.de + +- switch build id generation to "alldebug" mode + +------------------------------------------------------------------- +Mon Dec 4 18:35:41 UTC 2017 - kukuk@suse.com + +- Replace PreReq fillup with Requires(post), so that we can + deinstall it later if we don't need it anymore + +------------------------------------------------------------------- +Fri Dec 1 17:15:13 CET 2017 - mls@suse.de + +- update to rpm-4.14.0 + * new with/without/unless rich dependencies + * multifile optimized debuginfo packages + * much improved macro engine +- dropped patches: + * 0001-set-SOURCE_DATE_EPOCH-from-changelog.patch + * 0002-Extend-changelog-to-support-full-timestamps-903.patch + * 0003-Allow-SOURCE_DATE_EPOCH-to-override-file-timestamps.patch + * 0004-Allow-SOURCE_DATE_EPOCH-to-override-RPMTAG_BUILDTIME.patch + * buildidprov.diff + * changes-doc.diff + * convertdb1static.diff + * debugedit-canon-fix.diff + * debugedit-comp-dir.diff + * debugsource-package.diff + * find-lang-python.patch + * nobfd.diff + * normalize_blocksize.diff + * perlprov-package.diff + * perlprov.diff + * python3-abi-kind.diff + * rpmrctests.diff +- new patches (backports from master): + * editdwarf.diff + * rofs.diff + * transfiletriggerpostun.diff + * hardlink.diff + +------------------------------------------------------------------- +Thu Nov 23 13:41:13 UTC 2017 - rbrown@suse.com + +- Replace references to /var/adm/fillup-templates with new + %_fillupdir macro (boo#1069468) + +------------------------------------------------------------------- +Tue Nov 7 14:27:32 UTC 2017 - rbrown@suse.com + +- Introduce new %_fillupdir macro for fillup-templates location +- Set %_fillupdir macro to /usr/share/fillup-templates +- Change fillup macros to support new %_fillupdir in addition + to old /var/adm/fillup-templates location + +------------------------------------------------------------------- +Mon Nov 6 13:53:45 UTC 2017 - mls@suse.de + +- Make %post compatibility symlink creation more resiliant + +------------------------------------------------------------------- +Mon Nov 6 10:05:10 UTC 2017 - rbrown@suse.com + +- Correct %post compatibility symlink for /usr/lib/sysimage/rpm + +------------------------------------------------------------------- +Thu Oct 26 12:10:16 UTC 2017 - rbrown@suse.com + +- Remove usr-lib-rpmdb.patch +- Add usr-lib-sysimage-rpm.patch to locate rpmdb to + /usr/lib/sysimage/rpm after discussions with upstream +- Migrates existing rpmdb in /var/lib/rpm to /usr/lib/sysimage/rpm + +------------------------------------------------------------------- +Thu Oct 5 13:28:53 UTC 2017 - rbrown@suse.com + +- Add usr-lib-rpmdb.patch to locate rpmdb to /usr/lib/rpmdb +- Migrates existing rpmdb in /var/lib/rpm to /usr/lib/rpmdb + +------------------------------------------------------------------- +Fri Sep 8 15:37:36 UTC 2017 - mmarek@suse.com + +- Generate ksym() dependencies for SLE if %is_opensuse is unset + (bsc#981083). + +------------------------------------------------------------------- +Tue Aug 29 14:21:31 UTC 2017 - mmarek@suse.com + +- Drop %supplements_kernel_module, as it is broken, undocumented + and is not used by anybody (bsc#981083). + dropped: modalias-kernel_module.diff + refreshed: modalias-encode.diff +- Split fileattrs for kernel and kmps, do not pass around %name and + simplify the helpers + refreshed: fileattrs.diff, modalias.diff + dropped: symset-table, helperenv.diff, modalias-no-kgraft.diff + +------------------------------------------------------------------- +Tue Aug 22 11:05:53 UTC 2017 - fvogt@suse.com + +- Change Supplements in rpm-suse_macros to not depend on bundle-lang-other + anymore, it does not exist in Leap and will likely be dropped from TW. + +------------------------------------------------------------------- +Wed Jul 26 12:39:40 UTC 2017 - rguenther@suse.com + +- Amend finddebuginfo.diff to adjust readelf -Wn pattern matching + to account for fixed readelf no longer emitting spurious newlines + with -W. + +------------------------------------------------------------------- +Mon Jul 10 12:03:08 UTC 2017 - dimstar@opensuse.org + +- Drop net-tools Requires from rpm-build: net-tools only ships + uninteresting binaries. Most people would probably rather have + net-tools-depreacted expected (e.g. ifconfig), but as we did not + pull this in neither, we can just ignore this. + +------------------------------------------------------------------- +Wed Jul 5 16:28:46 CEST 2017 - ngompa13@gmail.com + +- Define %_sharedstatedir as /var/lib, which is the path for + shared state content in Red Hat/Fedora; Mageia; and Debian/Ubuntu. + The old path (/usr/com) isn't recognized by FHS, whereas /var/lib + is recognized as suitable for this purpose. +- Change the RPM binary payload from old-lzma to xz, + in line with payload settings for RH/Fedora and Mageia +- Backport upstream commit to read changelog entries with full + timestamps + New patch: changes-doc.diff + +------------------------------------------------------------------- +Thu Jun 15 07:08:45 UTC 2017 - alarrosa@suse.com + +- Added a %rpm_vercmp macro which accepts two versions as parameters and + returns -1, 0, 1 if the first version is less than, equal or + greater than the second version respectively. +- Added a %pkg_version macro that accepts a package or capability name + as argument and returns the version number of the installed package. If + no package provides the argument, it returns the string ~~~ +- Added a %pkg_vcmp macro that accepts 3 parameters. The first parameter + is a package name or provided capability name, the second argument is an + operator ( < <= = >= > != ) and the third parameter is a version string + to compare the installed version of the first argument with. +- Added a %pkg_version_cmp macro which accepts a package or capability name + as first argument and a version number as second argument and returns + -1, 0, 1 or ~~~ . The number values have the same meaning as in %rpm_vercmp + and the ~~~ string is returned if the package or capability can't be found. + +------------------------------------------------------------------- +Fri Jun 9 15:33:01 UTC 2017 - sriedel@suse.com + +- Add patch to handle newer package statement variations for Perl + 5.12+ + * perlprov-package.diff + +------------------------------------------------------------------- +Mon Apr 10 14:25:07 UTC 2017 - fvogt@suse.com + +- Add patch to handle special case of .qm file paths correctly (boo#1027925): + * find-lang-qt-qm.patch + +------------------------------------------------------------------- +Fri Mar 17 18:14:37 UTC 2017 - kukuk@suse.com + +- Convert rpmconfigcheck init script to systemd unit + +------------------------------------------------------------------- +Mon Mar 6 12:37:48 UTC 2017 - rguenther@suse.com + +- Tweak debugsubpkg.diff to no longer use obsoleted RPM interfaces + and add support for debuginfo compressed by DWZ. +- Add %_find_debuginfo_dwz_opts and DWZ limits to macrosin.diff. +- Add dwz requires to rpm-build. [fate#322957] + +------------------------------------------------------------------- +Wed Mar 1 13:55:51 CET 2017 - mls@suse.de + +- Tweak debugedit-comp-dir patch so that debugedit does not crash + with a NULL comp_dir [bnc#1027228] + +------------------------------------------------------------------- +Mon Feb 27 13:24:26 UTC 2017 - rguenther@suse.com + +- Fix debugedit-canon-fix.diff to handle directory table size + shrinking by 1 byte correctly. + +------------------------------------------------------------------- +Wed Feb 22 12:54:05 UTC 2017 - bwiedemann@suse.com + +- Add upstream patches 0001-set-SOURCE_DATE_EPOCH-from-changelog.patch + 0002-Extend-changelog-to-support-full-timestamps-903.patch + 0003-Allow-SOURCE_DATE_EPOCH-to-override-file-timestamps.patch + 0004-Allow-SOURCE_DATE_EPOCH-to-override-RPMTAG_BUILDTIME.patch + in order to allow for building bit-identical rpms as described in + https://github.com/rpm-software-management/rpm/pull/144 + +------------------------------------------------------------------- +Mon Feb 20 14:17:26 CET 2017 - mls@suse.de + +- update to rpm-4.13.0.1 + * fix several out of bounds reads in the OpenPGP parser + * fix handling of OpenPGP reserved tag (should be rejected) + * fix various crashes from malformed packages with invalid tags + * fix transfiletriggerpostun nondeterministic behavior + +------------------------------------------------------------------- +Thu Jan 19 15:10:48 CET 2017 - mls@suse.de + +- update to rpm-4.13.0 + * support of rich (boolean) dependencies + * support of file triggers +- new patches: + * nobfd.diff + * emptymanifest.diff +- dropped patches: + * rpm-4.12.0.1-lua-5.3.patch + * fixsizeforbigendian.diff + * repackage-nomd5.diff + +------------------------------------------------------------------- +Sun Oct 30 14:46:36 UTC 2016 - jengelh@inai.de + +- Correct summary/description of -lang subpackages + +------------------------------------------------------------------- +Tue May 31 13:58:28 CEST 2016 - mls@suse.de + +- add is_opensuse and leap_version macros to suse_macros + [bnc#940315] + +------------------------------------------------------------------- +Thu May 19 10:44:52 UTC 2016 - dimstar@opensuse.org + +- Add rpm-findlang-inject-metainfo.patch: allow packagers to inject + a metainfo.xml file for the -lang package, which can then serve + AppStream based Software Centers to show -lang packages as + extensions to applications (boo#980583). + +------------------------------------------------------------------- +Mon May 2 13:50:24 CEST 2016 - mls@suse.de + +- work around bug in rpm's macro expandsion [bnc#969381] + +------------------------------------------------------------------- +Thu Apr 21 15:08:22 CEST 2016 - mls@suse.de + +- tweak rpm-4.12.0.1-lua-5.3.patch so that it does not need + the -p1 option +- add option to make postinstall scriptlet errors fatal + [bnc#967728] + new patch: enable-postin-scripts-error.diff +- rework nfs-blocksize-free.patch to always normalize big + blocksizes to 4096 bytes + [bnc#894610] [bnc#829717] [bnc#965322] + removed patch: nfs-blocksize-free.patch + new patch: normalize_blocksize.diff +- drop service_del_preun, service_del_postun macros, they are + provided by the systemd package +- change restart_on_update and stop_on_removal macros to use + service_del_preun and service_del_postun + [bnc#968405] [bnc#969381] + +------------------------------------------------------------------- +Fri Jan 15 19:20:15 UTC 2016 - stefan.bruens@rwth-aachen.de + +- add beecrypt-4.1.2-build.diff: + * make sure debug info is not stripped from internal beecrypt + +------------------------------------------------------------------- +Sat Oct 17 10:34:53 UTC 2015 - schwab@linux-m68k.org + +- %install_info_delete: only delete if package is removed + +------------------------------------------------------------------- +Thu Oct 1 14:35:04 UTC 2015 - fvogt@suse.com + +- Add nfs-blocksize-free.patch: + * Blocksize of NFS shouldn't be used directly +- Fixes bsc#894610 and bsc#829717 + +------------------------------------------------------------------- +Mon Sep 21 07:43:58 UTC 2015 - schwab@suse.de + +- Add armv6hl to %arml macro + +------------------------------------------------------------------- +Sat Jul 18 09:01:11 UTC 2015 - i@marguerite.su + +- add patch: rpm-4.12.0.1-lua-5.3.patch + * replace luaL_optint/luaL_checkint w/ (int)luaL_optinteger + (int)luaL_checkinteger for compatibility w/ lua 5.3 + +------------------------------------------------------------------- +Sun Jun 21 16:41:03 UTC 2015 - lmuelle@suse.com + +- add a space when printing information about updating a sysconfig file + +------------------------------------------------------------------- +Fri Feb 27 12:21:40 UTC 2015 - coolo@suse.com + +- apply db.diff from the subdir to avoid patching through a symlink + (to please new patch) +- comment gcc-PIE for now + +------------------------------------------------------------------- +Fri Feb 20 12:26:17 UTC 2015 - meissner@suse.com + +- add gcc-PIE to requires of rpm-build to make PIE building + default. bsc#912298 + +------------------------------------------------------------------- +Sun Nov 30 02:59:00 UTC 2014 - Led + +- fix bashisms in brp-compress, symset-table and check-rpaths + scripts +- fix shebang in find-supplements.ksyms script that contains + bash-specific constructions +- updated patches: + * modalias.diff + * modalias-kernel_module.diff + * brpcompress.diff +- add patches: + * rpm-4.12.0.1-fix-bashisms.patch + +------------------------------------------------------------------- +Tue Nov 11 10:51:37 UTC 2014 - mmarek@suse.cz + +- Do not generate supplements for kgraft patches (bnc#904848) + new patch: modalias-no-kgraft.diff + +------------------------------------------------------------------- +Mon Oct 6 15:08:17 CEST 2014 - mls@suse.de + +- fix size and payloadsize generation for big endian platforms + new patch: fixsizeforbigendian.diff + +------------------------------------------------------------------- +Thu Sep 18 13:40:43 CEST 2014 - mls@suse.de + +- update to rpm-4.12.0.1 + * fixes archivesize being off a couple of bytes + +------------------------------------------------------------------- +Tue Sep 16 13:55:09 CEST 2014 - mls@suse.de + +- update to rpm-4.12.0 + * weakdeps support is now upstream + * new optional payload format to support files > 4GB + * lots of cleanups all over the codebase +- dropped patches: + autodeps.diff, psm-errno.diff, exportoldtags.diff, pythondeps.diff, + newweakdeps.diff, findsupplements.diff, rpm-gst-provides.patch, + noposttrans.diff, fontprovides.diff + +------------------------------------------------------------------- +Mon Sep 8 18:51:28 CEST 2014 - mls@suse.de + +- update to rpm-4.11.3 + * consists of cherry picked bug fixes + * fix double-free on malformed signature header (RhBug:1133885) + * fix curl globbing being enabled on remote retrieval (RhBug:1076277) + * fix verification of SHA224 signatures (RhBug:1066494) + * fix buffer overflows on malformed macro define/undefine (RhBug:1087000) + * fix buffer overflow on unterminated macro options + * fix file actions sometimes carrying state across multiple + rpmtsRun() calls (RhBug:1076552, RhBug:1128359) + * fix %autopatch options getting expanded twice + * add support for %autosetup -S git_am (RhBug:1082038) +- dropped patches: gentlyadjustmacros.diff, rundir.diff, + m68k.patch, debugedit-m68k.patch + +------------------------------------------------------------------- +Mon Aug 18 14:50:33 CEST 2014 - mls@suse.de + +- rename SuSE to SUSE [bnc#888990] +- add correct self-provides to debuginfo subpackages + +------------------------------------------------------------------- +Thu May 22 16:40:35 CEST 2014 - mls@suse.de + +- adapt restart_on_update and stop_on_removal to use + systemctl [bnc#878255] + +------------------------------------------------------------------- +Fri May 9 13:33:09 CEST 2014 - mls@suse.de + +- fix macro adjusting in installplatform + the old code broke macos like GNUconfigure [bnc#874897] + new patch: gentlyadjustmacros.diff + +------------------------------------------------------------------- +Fri Apr 25 15:41:57 CEST 2014 - mls@suse.de + +- make _rundir configurable + new patch: rundir.diff + +------------------------------------------------------------------- +Tue Apr 22 09:53:19 UTC 2014 - coolo@suse.com + +- offer a %_rundir to avoid hardcoding /run - and packages wanting + to support older distros, can have /var/run as fallback for the macro + +------------------------------------------------------------------- +Mon Mar 10 14:28:45 CET 2014 - mls@suse.de + +- export the old weak dependency tags so that they are + accessible from python + new patch: exportoldtags.diff + +------------------------------------------------------------------- +Tue Feb 25 15:19:48 CET 2014 - mls@suse.de + +- fix bug in weakdepscompa.diff patch + +------------------------------------------------------------------- +Fri Feb 21 13:33:48 CET 2014 - mls@suse.de + +- make the 'douple separator' error a warning + new patch: checksepwarn.diff + +------------------------------------------------------------------- +Thu Feb 20 16:24:24 CET 2014 - mls@suse.de + +- cherry-pick new weakdeps tags from upstream + new patch: newweakdeps.diff + dropped: weakdeps.diff +- add weakdepscompat.diff to support querying the old tags + +------------------------------------------------------------------- +Thu Feb 20 15:37:49 CET 2014 - mls@suse.de + +- drop outdated and non-free RPM-Tips tarball [bnc#849465] + +------------------------------------------------------------------- +Thu Feb 20 14:17:58 CET 2014 - mls@suse.de + +- update to rpm-4.11.2 + * dropped patches: appdata_provides.diff, application_provides.diff, + beedigest.diff, debug_gdb_scripts.diff, getauxval.diff, + ignore_poolstr_dummy_entries.diff, ppc64le.diff, + selfconflicts.diff, strpoolrehash.diff + +------------------------------------------------------------------- +Fri Jan 31 09:00:48 UTC 2014 - lnussel@suse.de + +- package /usr/lib/rpm/macros.d + +------------------------------------------------------------------- +Mon Dec 2 16:18:36 UTC 2013 - adrian@suse.de + +- activate config.guess and config.sub update also for ppc64le + +------------------------------------------------------------------- +Fri Nov 29 11:54:44 UTC 2013 - dvaleev@suse.com + +- Rename and extend auto-config-update-aarch64.diff to + auto-config-update-aarch64-ppc64le.diff to apply same hack to + powerpc64le architecture + +------------------------------------------------------------------- +Thu Nov 28 08:08:55 UTC 2013 - schwab@suse.de + +- Substitute current values of %suse_release, %sles_release, %ul_release + into suse_macros (bnc#851877) + +------------------------------------------------------------------- +Mon Nov 11 10:02:43 UTC 2013 - speilicke@suse.com + +- Add find-lang-python.patch: Support for finding translations in + %python_sitelib/python_sitearch. + +------------------------------------------------------------------- +Wed Nov 6 18:07:49 UTC 2013 - dvaleev@suse.com + +- Add support for ppc64le (ppc64le.diff) + those are upstream commits: + ef1497b1f81966fed56f008bc8ee8ba42102efd6 + cf07feda05822377d62b973adc4010c0d7f9eaa0 + +------------------------------------------------------------------- +Wed Oct 30 10:19:00 UTC 2013 - schwab@suse.de + +- debugedit-m68k.patch: Add support for m68k + +------------------------------------------------------------------- +Wed Oct 9 09:49:47 UTC 2013 - schwab@suse.de + +- m68k.patch: Add support for m68k + +------------------------------------------------------------------- +Wed Oct 2 18:24:42 CEST 2013 - mls@suse.de + +- add application_provides.diff and appdata_provides.diff to + generate provides for .desktop files + (both patches are sent to upstream) + +------------------------------------------------------------------- +Fri Sep 27 15:13:45 CEST 2013 - mls@suse.de + +- add selfconflicts.diff: fix self-conflicts and self-obsoletes + handling for verify operations [bnc#838133] + +------------------------------------------------------------------- +Tue Sep 24 10:36:15 UTC 2013 - mail@bernhard-voelker.de + +- replace obsoleted "find -perm +NNN" syntax [bnc#842004] + to "-perm /NNN" in debugsource-package.diff and + finddebuginfo.diff. + +------------------------------------------------------------------- +Wed Sep 11 18:28:39 CEST 2013 - mls@suse.de + +- fix two bugs in the rpmstrPoolRehash() function: + adding strpoolrehash.diff and ignore_poolstr_dummy_entries.diff + +------------------------------------------------------------------- +Thu Sep 5 12:01:51 UTC 2013 - schwab@linux-m68k.org + +- brp-compress-no-img.patch: don't compress image files + +------------------------------------------------------------------- +Thu Aug 29 17:49:27 CEST 2013 - mls@suse.de + +- add beedigest.diff to plug memory leaks and support DSA signatures + with hashes other than sha-1 (already upstream) + +------------------------------------------------------------------- +Mon Aug 5 15:45:38 UTC 2013 - dmueller@suse.com + +- weakdeps.diff: readd support for recommends, suggests, enhances + supplements + +------------------------------------------------------------------- +Thu Aug 1 15:34:49 CEST 2013 - mls@suse.de + +- fix typo in .debug_gdb_scripts name [bnc#818502] + +------------------------------------------------------------------- +Mon Jul 15 16:17:45 CEST 2013 - mls@suse.de + +- backport noposttrans.diff from rpm master [bnc#773575] + +------------------------------------------------------------------- +Fri Jul 12 15:36:43 CEST 2013 - mls@suse.de + +- update to rpm-4.11.1 + * fix bogus file conflict on symlink permissions + * fix replaced files not getting reported at all during verification + * fix explicit file conflicts in installed packages being ignored + * fix multiple corner cases in config file handling + * fix disk-space accounting bugs + * report replacing directories with non-directories as file conflict +- package rpmdb_* database tools +- get rid of kernel symbol requires/provides, instead add simple + package provides/requires like in Fedora +- delete files.diff patch, it caused more harm than good + +------------------------------------------------------------------- +Tue Jul 2 09:53:02 UTC 2013 - dmueller@suse.com + +- extend the armv7hl hack also to armv6hl + +------------------------------------------------------------------- +Thu Jun 27 22:03:51 UTC 2013 - dmueller@suse.com + +- add support for armv6hl target + +------------------------------------------------------------------- +Sun Jun 23 19:03:27 UTC 2013 - schwab@linux-m68k.org + +- psm-errno.patch: avoid losing errno from failures to unpack archive + +------------------------------------------------------------------- +Thu Jun 20 13:47:46 UTC 2013 - coolo@suse.com + +- use gettext-devel instead of real package name gettext-tools + to use the (for bootstrapping) preferred gettext-tools-mini + +------------------------------------------------------------------- +Thu Jun 20 09:46:47 UTC 2013 - coolo@suse.com + +- add systemd-rpm-macros to essential list + +------------------------------------------------------------------- +Sun May 19 14:05:14 UTC 2013 - schwab@suse.de + +- auto-config-update-aarch64.diff: increase level to 8 + +------------------------------------------------------------------- +Wed May 8 22:25:09 UTC 2013 - schwab@suse.de + +- Remove unused files + +------------------------------------------------------------------- +Wed May 8 14:56:15 UTC 2013 - dmueller@suse.com + +- auto-config-update-aarch64.diff: + * search up to 5 levels for interesting files to patch + +------------------------------------------------------------------- +Mon Apr 22 22:00:14 UTC 2013 - dmueller@suse.com + +- add auto-config-update-aarch64.diff: + * optionally automatically update config.guess/sub during build + +------------------------------------------------------------------- +Fri Apr 5 18:47:53 UTC 2013 - dmueller@suse.com + +- update to 4.10.3.1: + * Fix install-regression introduced in RPM 4.10.0 which can + cause creation of real files and directories skipped when + the path is shared with a %ghost. + * translation updates + +------------------------------------------------------------------- +Fri Apr 5 12:39:12 UTC 2013 - idonmez@suse.com + +- Add Source URL, see https://en.opensuse.org/SourceUrls + +------------------------------------------------------------------- +Sat Mar 30 13:53:48 UTC 2013 - coolo@suse.com + +- which is essential for man packages + +------------------------------------------------------------------- +Mon Mar 25 13:38:45 UTC 2013 - schwab@suse.de + +- debugedit-aarch64.diff: handle aarch64 relocation + +------------------------------------------------------------------- +Fri Feb 15 15:29:25 UTC 2013 - dmueller@suse.com + +- add ignore-auxv.diff: + * avoid auxv parsing for any platform other than powerpc +- add config-guess-sub-update.diff: + * update config.guess/sub for aarch64 support +- update rpmrc.diff, build.diff: + * Support aarch64 + +------------------------------------------------------------------- +Thu Jan 10 12:04:15 UTC 2013 - coolo@suse.com + +- remove the macros that were documented to be removed january 2013: + %run_permissions, use %set_permissions instead + %run_suseconfig, SuSEconfig is gone + %suse_update_config + +------------------------------------------------------------------- +Wed Jan 2 13:46:17 UTC 2013 - dmueller@suse.com + +- update to 4.10.2 (bnc#796375): + * Fix missing error code on unparseable signature in packages, + regression introduced in rpm 4.10.0. This could result in packages + with malformed signature falling through signature checking. + * Fix missing error code on --import on bogus key file (RhBug:869667) + * Fix installation of packages containing skipped hardlinks (RhBug:864622) + * Fix --setperms regression introduced in rpm 4.10.0 (RhBug:881835) + * Fix locale dependent behavior in rpm2cpio.sh (RhBug:878363) + * Add --undefine cli switch for undefining macros (related to RhBug:876308) + * Fix warnings when building with gcc >= 4.7 + * Permit key imports on transactions where signature checking is + disabled, regression of sorts introduced in 4.10.0 (RhBug:856225) + * Fix RPMPROB_FILTER_FORCERELOCATE aka --badreloc, regression introduced in + 4.9.0 (RhBug:828784) + * Verify files from non-installed packages again, regression introduced + in 4.9.0 (RhBug:826589) + * Fix large (> 4GB) package support, regression introduced in + 4.9.0 (RhBug:844936) + * Only create the first instance of a file shared between multiple + packages on install (speedup + improved verification timestamp behavior) + * Report config and missinok flags too in deptype format extension + * Fix relative path handling in --whatprovides query + * Add --noclean and --nocheck options to rpmbuild (RhBug:756531) + * Permit non-existent %ghost directories to be packaged (RhBug:839656) + * Dont silence patch by default (RhBug:678000, RhBug:773503) + * Accept "owner" as an alias to "user" %verify attribute (RhBug:838657) + * Add "power64" arch macro for all supported PowerPC 64 processors (RhBug:818320) + * Fix bogus "unclosed %if" error when %include is used in conditionals + * Report starting line for unclosed %if errors in spec + * Always print out package dependencies on build + * Restore pre-4.10.0 fdFree() behavior, ie return the fd itself while + references exist, returning NULL introduced fd leak regressions. +* Remove up-streamed patches: + - obsoletesdeptag.diff, fdopen_strncat.diff, powerpc-fix-platform.diff, missingok.diff + +------------------------------------------------------------------- +Tue Nov 20 18:47:06 UTC 2012 - dimstar@opensuse.org + +- Change user_group_add macro to not invoke useradd and groupadd + with -o parameter. Non-unique does not make sense when not + passing -u/-g (useradd/groupadd) and fails on newer pwdutils/ + shadowurils implementations. The macro does not allow for a + uid/gid being passed. + +------------------------------------------------------------------- +Mon Nov 12 10:29:13 UTC 2012 - coolo@suse.com + +- buildrequire rpm-build - it's ignored otherwise + +------------------------------------------------------------------- +Fri Nov 9 06:30:41 UTC 2012 - coolo@suse.com + +- remove pwdutils and timezone from default essentials, timezone + is only required by very specific test suites, the builds happen + in UTC anyway - and pwdutils hides packaging bugs + +------------------------------------------------------------------- +Sun Nov 4 10:16:54 UTC 2012 - coolo@suse.com + +- insserv is not required any more + +------------------------------------------------------------------- +Sun Nov 4 08:53:46 UTC 2012 - coolo@suse.com + +- extend the list of build essentials - 4 drop candidates + +------------------------------------------------------------------- +Sun Nov 4 07:56:25 UTC 2012 - coolo@suse.com + +- glibc-locale is build essential too - too many things go wrong + without locales + +------------------------------------------------------------------- +Sun Oct 28 05:20:40 UTC 2012 - coolo@suse.com + +- gawk and file are build essentials too + +------------------------------------------------------------------- +Tue Oct 16 18:39:11 CEST 2012 - ro@suse.de + +- new patch: powerpc-fix-platform.diff + fix platform detection for ppc vs ppc64 (failed on ppc64 with + personality changed to ppc) + +------------------------------------------------------------------- +Wed Oct 10 07:03:41 UTC 2012 - adrian@suse.de + +- follow armv5tel architecture switch from armv5el + +------------------------------------------------------------------- +Wed Sep 26 14:13:48 UTC 2012 - coolo@suse.com + +- fix rpm leaking file descriptors of packages: + patch fix-fd-leak.diff + +------------------------------------------------------------------- +Mon Sep 24 11:43:13 UTC 2012 - coolo@suse.com + +- put an end date as echo into + %run_permissions + %run_suseconfig + %suse_update_config + +------------------------------------------------------------------- +Mon Sep 17 10:12:03 UTC 2012 - coolo@suse.com + +- disarm the additional links for debuginfos as they break our + "debuginfo per subpackage" functionality. + +------------------------------------------------------------------- +Thu Sep 13 14:05:57 UTC 2012 - coolo@suse.com + +- add net-tools and util-linux as basic build requires + +------------------------------------------------------------------- +Tue Aug 28 15:30:47 CEST 2012 - mls@suse.de + +- update to rpm-4.10.0 + * get rid of a couple of patches + +------------------------------------------------------------------- +Wed Aug 8 10:59:14 UTC 2012 - pgajdos@suse.com + +- remove %run_suseconfig_fonts macro (openFATE#313536); new macros + using fonts-config directly exist in M17N:fonts/fontpackages + +------------------------------------------------------------------- +Thu Jul 19 08:52:02 UTC 2012 - coolo@suse.com + +- add tar to the rpm build essentials + +------------------------------------------------------------------- +Wed Jul 18 15:52:25 UTC 2012 - coolo@suse.com + +- add an -r option to %lang_package (bnc#513786) + +------------------------------------------------------------------- +Wed Jul 4 18:04:54 CEST 2012 - fcrozat@suse.com + +- Add systemctl daemon-reload call when installing initscript + (bnc#769973). + +------------------------------------------------------------------- +Wed Jun 13 13:24:28 CEST 2012 - ro@suse.de + +- set suse_version to 1220 + +------------------------------------------------------------------- +Thu May 24 20:42:30 UTC 2012 - adrian@suse.de + +- set armv5tel architecture (similar to armv7hl approach) + +------------------------------------------------------------------- +Thu May 10 10:51:41 UTC 2012 - coolo@suse.com + +- remove duplicated rb_ macros - they are in ruby + +------------------------------------------------------------------- +Fri Apr 20 14:40:50 CEST 2012 - mls@suse.de + +- fix some more crashes on malformed header data + [bnc#754281] [bnc#754284] [bnc#754285] +- fix quoting in brp-python-hardlink [bnc#756087] +- change env handling for supplements [bnc#741543] +- fix _fix macros [bnc#728682] +- fix obsoletes handling of installed packages [bnc#714724] +- implement tilde support in version comparison [bnc#466994] + +------------------------------------------------------------------- +Mon Mar 26 07:37:10 UTC 2012 - vuntz@opensuse.org + +- Update remove-translations.diff to fix a echo statement that was + using -n. + +------------------------------------------------------------------- +Tue Mar 13 21:53:12 UTC 2012 - dimstar@opensuse.org + +- Add rpm-gcc47.patch: Fix build with gcc 4.7 by correcting a + strncat call and including missing headers. + +------------------------------------------------------------------- +Tue Mar 13 14:40:47 UTC 2012 - vuntz@opensuse.org + +- Add findlang-new-help.diff: patch based on git commit 6047ddf6 to + make find-lang know about the new gnome help layout. +- Add findlang-new-help-fix.diff: additional fix to above patch, so + that locales with a territory work too (for instance, fr_FR). +- Rebase langnoc.diff on top of findlang-new-help.diff, so that we + won't need to rebase it with a future release containing + findlang-new-help.diff. +- Update remove-translations.diff to also remove help translations + for languages that are not supported by the filesystem package. + +------------------------------------------------------------------- +Tue Jan 31 11:06:52 UTC 2012 - lnussel@suse.de + +- avoid error message if /usr/lib/rpm/brp-suse.d is empty + +------------------------------------------------------------------- +Sat Jan 28 14:18:25 UTC 2012 - coolo@suse.com + +- make the buildrequires more inclusive, rpm is special + +------------------------------------------------------------------- +Fri Jan 20 11:43:05 UTC 2012 - mvyskocil@suse.cz + +- push Stopgap fix for rhbz#461683 from to SUSE + set_javacmd preffers JRE over JDK + +------------------------------------------------------------------- +Fri Jan 20 11:58:23 CET 2012 - dmueller@suse.de + +- check exit code of suse brp scripts and abort if false + +------------------------------------------------------------------- +Tue Jan 17 10:28:00 UTC 2012 - saschpe@suse.de + +- Spec file cleanup: + * Removed authors from description + * Spec-cleaner + +------------------------------------------------------------------- +Mon Jan 16 16:18:59 UTC 2012 - lnussel@suse.de + +- fix automatic kernel supplements (bnc#741543) + +------------------------------------------------------------------- +Mon Jan 16 14:12:58 UTC 2012 - werner@suse.de + +- Add patch from upstream to reflect changes of perl and python + fileattrs to file 5.10 magics + +------------------------------------------------------------------- +Fri Jan 13 14:16:14 UTC 2012 - coolo@suse.com + +- split rpmbuild into a package of its own, which then requires basic + tools to build rpms + +------------------------------------------------------------------- +Mon Jan 9 17:12:05 CET 2012 - dmueller@suse.de + +- add a python3-rpm subspecfile + +------------------------------------------------------------------- +Sat Jan 7 10:50:31 CET 2012 - dmueller@suse.de + +- go back to lua 5.1 for now (no easy port to 5.2 possible) + +------------------------------------------------------------------- +Mon Dec 19 16:01:17 UTC 2011 - coolo@suse.de + +- define %suse_update_config as obsolete and make it a wrapper + around autoreconf --force --install +- show diff in %suse_update_libdir + +------------------------------------------------------------------- +Thu Dec 15 12:48:24 UTC 2011 - coolo@suse.com + +- readd desktop.attr again, moving back from update-desktop-file + +------------------------------------------------------------------- +Mon Dec 12 11:02:10 UTC 2011 - coolo@suse.com + +- readd brp-compress + +------------------------------------------------------------------- +Fri Dec 9 13:55:31 UTC 2011 - coolo@suse.com + +- do not hardcode brp check list, but call everything below + /usr/lib/rpm/brp-suse.d - and move our own brp scripts to + brp-check-suse + +------------------------------------------------------------------- +Wed Nov 23 12:49:15 UTC 2011 - coolo@suse.com + +- add libtool as buildrequire to avoid implicit dependency + +------------------------------------------------------------------- +Tue Nov 15 21:36:05 UTC 2011 - crrodriguez@opensuse.org + +- The %configure macro should use --disable-dependency-tracking + that feature makes no sense when building rpms and only generates + extra I/O and uglify log files. Fedora uses it since + redhat-rpm-config version 9.1.0 too. + +------------------------------------------------------------------- +Wed Oct 19 18:28:39 CEST 2011 - mls@suse.de + +- update to rpm-4.9.1.2 + * fixes some securities issues + * makes two local patches obsolete +- add other security checks +- use ~/rpmbuild as topdir is /usr/src/packages in not writeable + [bnc#658536] +- bump suse_version macro + +------------------------------------------------------------------- +Fri Sep 30 06:42:49 UTC 2011 - adrian@suse.de + +- enforce armv7hl plattform by default, despite the kernel only + reports armv7l via uname. +- make armv7hl backward compatible to armv7l + +------------------------------------------------------------------- +Thu Sep 29 18:49:33 CEST 2011 - dmueller@suse.de + +- fix architecture definition for armv5el + +------------------------------------------------------------------- +Thu Sep 29 15:16:11 UTC 2011 - adrian@suse.de + +- use -O0 for soft FPU ARM + +------------------------------------------------------------------- +Tue Sep 27 13:34:41 UTC 2011 - adrian@suse.de + +- define rpmv7hl architecture for hard fpu support + +------------------------------------------------------------------- +Tue Sep 6 11:16:29 UTC 2011 - vuntz@opensuse.org + +- Update findlang.diff: do not mark standard gettext translation + files as %doc. +- Rebase langnoc.diff and remove-translations.diff appropriately + after this change.. + +------------------------------------------------------------------- +Wed Aug 24 12:40:05 UTC 2011 - meissner@novell.com + +- restore old debugedit behaviour for stabs, otherwise + binaries with stabs in it will fail the build (e.g. vmlinux images + on Power) + +------------------------------------------------------------------- +Mon Aug 15 01:04:17 CEST 2011 - ro@suse.de + +- workaround in mono-find-requires: use >= as operator when finding + .NET 1.0 dependencies, the .NET 1.5 libraries are compatible + (note mono-find-requires and mono-find-provides as used by the + internal dependency generator are really outdated) + +------------------------------------------------------------------- +Wed Aug 10 02:40:22 UTC 2011 - crrodriguez@opensuse.org + +- Do not use -fno-strict-aliasing globally, the code + already does in places where really needed. + +------------------------------------------------------------------- +Tue Jul 26 19:09:31 CEST 2011 - mls@suse.de + +- fix defattr handling for doc files + +------------------------------------------------------------------- +Thu Jul 21 13:00:47 CEST 2011 - mls@suse.de + +- fix problem with trailings slashes and recursive file adding + +------------------------------------------------------------------- +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 + +- 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 + +- update brp.diff to not convert /sbin/init to absolute symlink + (needed for kiwi and systemd). + +------------------------------------------------------------------- +Wed Jun 8 12:02:51 CEST 2011 - mls@suse.de + +- change sigpipe fix so that the code really reads everything + from the pipe + +------------------------------------------------------------------- +Mon Jun 6 14:16:49 UTC 2011 - coolo@novell.com + +- move desktop.attr to update-desktop-files + +------------------------------------------------------------------- +Mon Jun 6 13:30:05 CEST 2011 - mls@suse.de + +- ignore SIGPIPE when writing to dependency helpers, so that + builds don't randomly abort when a helper is missing + +------------------------------------------------------------------- +Fri Jun 3 15:19:02 CEST 2011 - mls@suse.de + +- add --assume-exec option to elfdeps, so that the dependency + generator really works for libs without x-bits + +------------------------------------------------------------------- +Mon May 23 16:21:52 CEST 2011 - mls@suse.de + +- do not die if the changelog section is empty [bnc#695400] + +------------------------------------------------------------------- +Fri May 20 13:28:37 CEST 2011 - mls@suse.de + +- get rid of "unexpectedly shrank by one" error + +------------------------------------------------------------------- +Thu May 19 14:51:13 CEST 2011 - mls@suse.de + +- remove gstreamer from fileattrs +- remove unused var from magic_and_path patch + +------------------------------------------------------------------- +Thu May 19 11:59:38 CEST 2011 - mls@suse.de + +- disable perl requires generation completely + +------------------------------------------------------------------- +Wed May 18 11:34:17 CEST 2011 - mls@suse.de + +- split elflib from elf fileattrs so that libraries without + x-bits are also scanned + +------------------------------------------------------------------- +Tue May 17 10:47:00 CEST 2011 - mls@suse.de + +- allow macro undef/change while expanding the macro itself + +------------------------------------------------------------------- +Mon May 16 14:45:05 CEST 2011 - mls@suse.de + +- update to rpm-4.9.0: + * use internal dependency generator + * pluggable autodeps generators + * update to berkeleydb 4.8.30 + * fixed dependency match corner cases + * experimental collection implementation + +------------------------------------------------------------------- +Wed May 4 12:42:33 UTC 2011 - mmarek@novell.com + +- rpmsort + + Fix comparison function to match rpm (bnc#644515, thanks to + Michael Schroeder). + + Add --test option to verify result against zypper vcmp. + +------------------------------------------------------------------- +Sat Feb 19 12:39:31 CET 2011 - vuntz@opensuse.org + +- Don't call /sbin/conf.d/SuSEconfig.pango in + %run_suseconfig_fonts: it has been removed during 11.4 + development. + +------------------------------------------------------------------- +Fri Jan 14 08:58:40 UTC 2011 - coolo@novell.com + +- let %find_lang remove (with a comment) languages not supported. + Supported languages are in filesystem.rpm's file list (bnc#659001) + +------------------------------------------------------------------- +Mon Dec 20 11:50:55 CET 2010 - mls@suse.de + +- fix depflag_strong filter, all weak deps were shown as + strong (bnc#359566). + +------------------------------------------------------------------- +Thu Dec 9 16:44:10 UTC 2010 - meissner@novell.com + +- fixed two more remaining filenames with spaces issues. + +------------------------------------------------------------------- +Wed Dec 8 13:05:06 UTC 2010 - meissner@novell.com + +- handle spaces in manpage filenames (like e.g. in boost). + +------------------------------------------------------------------- +Tue Dec 7 14:33:33 UTC 2010 - coolo@novell.com + +- add script to provide sysvinit() from /etc/init.d/* + +------------------------------------------------------------------- +Fri Nov 19 16:09:20 UTC 2010 - chris@computersalat.de + +- remove perl macro stuff from suse_macros + o provided with perl /etc/rpm/macros.perl + +------------------------------------------------------------------- +Tue Nov 16 15:25:45 UTC 2010 - lnussel@suse.de + +- fix %verify_permissions to actually only warn +- introduce %set_permissions to replace %run_permissions in the future + +------------------------------------------------------------------- +Tue Nov 9 15:07:52 UTC 2010 - lnussel@suse.de + +- don't call /usr/bin/Check at all anymore. superfluous + +------------------------------------------------------------------- +Tue Nov 9 13:04:21 UTC 2010 - lnussel@suse.de + +- change %verify_permissions to use new system mode of chkstat + +------------------------------------------------------------------- +Fri Oct 29 15:03:50 CEST 2010 - mls@suse.de + +- add support --with-only-C and --without-C options to find-lang.sh, + add %no_lang_C macro to allow compatible builds [bnc#449847] + +------------------------------------------------------------------- +Mon Oct 4 17:34:52 UTC 2010 - cristian.rodriguez@opensuse.org + +- Enable libcap support so we can use the %caps macro in spec + files to set POSIX capabilities. + +------------------------------------------------------------------- +Wed Sep 8 11:35:46 CEST 2010 - ro@suse.de + +- add leading / where appropriate in rpm-suse_macros (bnc#625763) + +------------------------------------------------------------------- +Thu Sep 2 10:26:05 UTC 2010 - dimstar@opensuse.org + +- Add rpm-gst-provides.patch to allow rpm to collect provides of + gstreamer codecs. This will help pk-gstreamer-install to also + find the codecs it is looking for. + +------------------------------------------------------------------- +Thu Aug 12 17:17:49 CEST 2010 - vuntz@opensuse.org + +- Add pkgconfig-0.24.diff: starting with pkg-config 0.24, the + --print-requires command was upstreamed, but split in + --print-requires and --print-requires-private. We need both in + pkgconfigdeps.sh, though. If accepted, the patch should get + upstreamed. + +------------------------------------------------------------------- +Tue Jul 20 11:47:29 UTC 2010 - coolo@novell.com + +- make suse_version 1140 + +------------------------------------------------------------------- +Mon Jun 28 06:38:35 UTC 2010 - jengelh@medozas.de + +- use %_smp_mflags + +------------------------------------------------------------------- +Fri Jun 4 16:44:29 CEST 2010 - mls@suse.de + +- update changelog trim date + +------------------------------------------------------------------- +Fri Jun 4 15:00:54 CEST 2010 - mls@suse.de + +- fix sbit removal code [bnc#610941] +- sort permlist file + +------------------------------------------------------------------- +Fri Apr 9 12:00:29 CEST 2010 - mls@suse.de + +- do not load keyring if signature checking is disabled [bnc#554552] +- fix nosource/nopatch srpm tag generation + +------------------------------------------------------------------- +Thu Apr 8 17:11:08 CEST 2010 - mls@suse.de + +- backport some fixes from upstream +- add generation of python/font/pkgconfig dependencies + +------------------------------------------------------------------- +Wed Apr 7 16:59:58 CEST 2010 - mls@suse.de + +- work around spurious tar message [bnc#558475] +- fix defattr reset bug [bnc#594310] +- make 'rpmconfigcheck status' exit with 4 [bnc#592269] +- don't consider prereq deprecated for now + +------------------------------------------------------------------- +Fri Mar 26 16:29:36 CET 2010 - mls@suse.de + +- port sles11-sp1 repackage-nomd5.diff and safeugid.diff + +------------------------------------------------------------------- +Fri Mar 26 11:49:59 CET 2010 - mls@suse.de + +- update to rpm-4.8.0 + * updated python bindings + * new transaction ordering code + +------------------------------------------------------------------- +Wed Feb 24 11:57:30 CET 2010 - mls@suse.de + +- fix readLine segfault [bnc#582599] + +------------------------------------------------------------------- +Sat Dec 12 23:42:26 CET 2009 - jengelh@medozas.de + +- add baselibs.conf as a source +- add SPARC baselibs + +------------------------------------------------------------------- +Wed Nov 4 09:43:43 UTC 2009 - coolo@novell.com + +- set suse_version to 1130 + +------------------------------------------------------------------- +Wed Nov 4 08:52:48 UTC 2009 - coolo@novell.com + +- do not overwrite the default fuzz factor any longer +- change the payload compression to 5 + +------------------------------------------------------------------- +Fri Oct 23 17:56:28 CEST 2009 - mls@suse.de + +- add make_install macro definition for real + +------------------------------------------------------------------- +Tue Sep 8 02:40:55 CEST 2009 - crrodriguez@suse.de + +- make lang_package(s) Noarch + +------------------------------------------------------------------- +Fri Sep 4 11:32:33 CEST 2009 - mls@suse.de + +- do not statfs all filesystems until there is something + to report +- cherry pick default clean section patch from upstream +- add make_install macro definition + +------------------------------------------------------------------- +Wed Sep 2 17:16:37 CEST 2009 - mls@suse.de + +- allow ufdio payload +- pack db.h include file +- fix abs filelist specification [bnc#535594] +- fix query return value [bnc#527191] + +------------------------------------------------------------------- +Mon Aug 31 18:59:12 UTC 2009 - aj@suse.de + +- Fix debuginfo handling for monodevelop-debugger-gdb and + monodevelop-debugger-mdb packages (bnc#535543). + +------------------------------------------------------------------- +Wed Aug 26 14:39:44 CEST 2009 - mls@suse.de + +- set fuzz factor back to 2 for now + +------------------------------------------------------------------- +Mon Aug 24 15:06:57 CEST 2009 - mls@suse.de + +- update to rpm-4.7.1 + +------------------------------------------------------------------- +Mon Jul 27 18:02:37 CEST 2009 - rguenther@suse.de + +- add description to debuginfo packages + +------------------------------------------------------------------- +Mon Jul 27 15:46:36 CEST 2009 - rguenther@suse.de + +- do not strip .debug suffix during debug-link generation +- do not add requires based on private ELF flags [bnc#524681] +- remove requires on debuginfo from debugsource package + +------------------------------------------------------------------- +Sat Jul 25 12:04:11 CEST 2009 - rguenther@suse.de + +- fix debuginfo package generation for binaries without build-id + +------------------------------------------------------------------- +Fri Jul 24 11:39:04 CEST 2009 - rguenther@suse.de + +- revert SUSEBuildCnt patch +- fix debuginfo package generation for build root URLs with macros + +------------------------------------------------------------------- +Thu Jul 23 12:48:50 CEST 2009 - rguenther@suse.de + +- add support for SUSEBuildCnt tag + +------------------------------------------------------------------- +Thu Jul 23 11:41:54 CEST 2009 - rguenther@suse.de + +- generate debuginfo packages for each sub-package with corresponding + debug information + +------------------------------------------------------------------- +Mon Jul 13 12:50:30 CEST 2009 - coolo@novell.com + +- the correct value for libexecdir is exec_prefix/lib (as the + comment rightfully already mentioned) + +------------------------------------------------------------------- +Tue Jun 9 11:53:50 CEST 2009 - mmarek@suse.cz + +- findksyms.diff: also generate provides for kernel packages. + +------------------------------------------------------------------- +Mon Apr 6 02:09:43 CEST 2009 - ro@suse.de + +- fix typo in brp-symlink (bnc#457908) + +------------------------------------------------------------------- +Tue Mar 31 11:25:14 CEST 2009 - mmarek@suse.cz + +- findksyms.diff: don't check for /boot/symsets-*, generate ksym() + requires if not present. + +------------------------------------------------------------------- +Thu Mar 19 15:42:20 CET 2009 - ro@suse.de + +- rpm-suse_macros: suse_version to 1120 + +------------------------------------------------------------------- +Thu Feb 19 11:05:37 CET 2009 - schwab@suse.de + +- Add support for xz compressed sources. + +------------------------------------------------------------------- +Wed Feb 18 11:04:35 CET 2009 - jblunck@suse.de + +- Add debuginfo.prov helper script for build-id provides. + +------------------------------------------------------------------- +Mon Feb 16 17:10:31 CET 2009 - ro@suse.de + +- fix sort call in finddebuginfo again + +------------------------------------------------------------------- +Wed Feb 11 14:01:51 CET 2009 - coolo@suse.de + +- sort the result of find to make symlinks stable in finddebuginfo + +------------------------------------------------------------------- +Wed Feb 11 13:02:12 CET 2009 - coolo@suse.de + +- adapt to new API of xz, sticking with the old LZMA format (not XZ) + +------------------------------------------------------------------- +Mon Feb 9 14:16:52 CET 2009 - ro@suse.de + +- define disttag as optional tag with macro just like disturl + +------------------------------------------------------------------- +Thu Jan 29 10:34:22 CET 2009 - olh@suse.de + +- obsolete old -XXbit packages (bnc#437293) + +------------------------------------------------------------------- +Tue Jan 27 21:19:51 CET 2009 - agruen@suse.de + +- find-supplements.ksyms: Fix "Supplements: packageand( + kernel-$flavor:$package)" dependency (bnc#429254). + +------------------------------------------------------------------- +Mon Jan 5 15:37:07 CET 2009 - mmarek@suse.cz + +- findksyms.diff: make sure that the input files for join are + sorted properly (bnc#450714) + +------------------------------------------------------------------- +Fri Dec 19 15:26:30 CET 2008 - mls@suse.de + +- add popt-devel and rpm-devel to baselibs config (bnc#445037) + +------------------------------------------------------------------- +Thu Dec 11 17:18:49 CET 2008 - ro@suse.de + +- brp-symlink: whitelist kde4 doc path (bnc#457908) + +------------------------------------------------------------------- +Thu Dec 11 08:14:27 CET 2008 - agruen@suse.de + +- find-supplements.ksyms: Module aliases may contain special + characters that rpm does not allow in dependencies, such as + commas. Encode those as %XX to avoid generating broken + dependencies (bnc#456695). + +------------------------------------------------------------------- +Tue Dec 9 16:45:44 CET 2008 - schwab@suse.de + +- find-debuginfo.sh: Don't convert to binary. + +------------------------------------------------------------------- +Mon Dec 1 12:35:39 CET 2008 - ro@suse.de + +- add rpm to baselibs.conf (for net-snmp) +- append a "nil" after suse_install_update_script and _message + +------------------------------------------------------------------- +Fri Nov 28 15:15:10 CET 2008 - dmueller@suse.de + +- fix build +- fix stack based buffer overflow in filelist parsing (bnc#397006) +- add macros for update messages and update scripts + +------------------------------------------------------------------- +Fri Nov 28 14:46:04 CET 2008 - mls@suse.de + +- disable debug package requires for now, they cause more harm + than benefits + +------------------------------------------------------------------- +Thu Nov 27 11:37:30 CET 2008 - mls@suse.de + +- remove '-m64' from ppc64 optflags [bnc#447002] +- add _specfile macro +- set RPMBUILD_ env vars for file helpers +- make find-supplements.ksyms use RPMBUILD_SPECFILE [bnc#443815] + +------------------------------------------------------------------- +Tue Nov 25 17:10:40 CET 2008 - jblunck@suse.de + +- find-debuginfo.sh: fix for handling absolute symlinks + +------------------------------------------------------------------- +Fri Nov 21 16:30:19 CET 2008 - mls@suse.de + +- add firmware.prov provides helper + +------------------------------------------------------------------- +Fri Nov 21 14:38:57 CET 2008 - mmarek@suse.cz + +- fixed sed expression in find-provides.ksyms + +------------------------------------------------------------------- +Tue Nov 18 17:46:53 CET 2008 - jblunck@suse.de + +- find-debuginfo.sh: Create symlinks reflecting the policy from brp-symlink + +------------------------------------------------------------------- +Thu Nov 13 18:16:14 CET 2008 - agruen@suse.de + +- Fix the ksym(...) provides to also include the kernel flavor + (bnc#444698). + +------------------------------------------------------------------- +Fri Nov 7 15:03:25 CET 2008 - ro@suse.de + +- update gcc flags to current set + +------------------------------------------------------------------- +Fri Oct 31 18:59:25 CET 2008 - coolo@suse.de + +- moved suse_update_desktop_files to package update_desktop_files + +------------------------------------------------------------------- +Tue Oct 28 19:07:02 CET 2008 - jblunck@suse.de + +- debugedit: Don't emit NOPs at the end of the line number program but at the + beginning (bnc #433182 again) +- debugedit: Fix an uninitialized variable use that lead to segfaults from + time to time + +------------------------------------------------------------------- +Tue Oct 28 17:18:03 CET 2008 - mls@suse.de + +- fix fingerprint computation for gpg checksums + +------------------------------------------------------------------- +Tue Oct 21 11:22:22 CEST 2008 - jblunck@suse.de + +- debugedit: Fix debuginfo problems introduced by last patch (bnc #433182) + +------------------------------------------------------------------- +Mon Oct 20 16:16:01 CEST 2008 - mls@suse.de + +- drop static libraries and libtool archives + +------------------------------------------------------------------- +Thu Oct 2 18:30:41 CEST 2008 - vuntz@suse.de + +- support the new -t option of suse_update_desktop_file.sh in + rpm-suse_macros + +------------------------------------------------------------------- +Thu Oct 2 17:43:59 CEST 2008 - mls@suse.de + +- fix rpmrc compile options for ia64 [bnc#431345] + +------------------------------------------------------------------- +Thu Oct 2 16:19:03 CEST 2008 - jblunck@suse.de + +- debugedit: Fix some compilation warnings and the canonicalization error. + +------------------------------------------------------------------- +Tue Sep 16 01:01:30 CEST 2008 - ro@suse.de + +- fix find-debuginfo.sh and debugsource-package.diff to even + apply (directory depth) +- add hack from jblunck using home made elfcmp + +------------------------------------------------------------------- +Mon Sep 15 20:32:32 CEST 2008 - jblunck@suse.de + +- fix find-debuginfo.sh to work on filenames with spaces in + +------------------------------------------------------------------- +Fri Sep 12 18:16:33 CEST 2008 - mls@suse.de + +- fix changelog cutter +- fix find-requires script +- add mimetype.diff patch from Scott Reeves + +------------------------------------------------------------------- +Thu Sep 11 15:33:52 CEST 2008 - mls@suse.de + +- update to 4.4.2.3 to get rid of >50 patches +- make changelog cutter configurable +- update rpm-suse_macros + +------------------------------------------------------------------- +Fri Sep 5 16:56:23 CEST 2008 - dmueller@suse.de + +- strip .comment and .GCC.command.line sections from ELF binaries + +------------------------------------------------------------------- +Mon Aug 25 14:48:28 CEST 2008 - prusnak@suse.cz + +- enabled SELinux support [Fate#303662] + +------------------------------------------------------------------- +Thu Aug 21 01:49:00 CEST 2008 - ro@suse.de + +- update rpm-suse_macros + +------------------------------------------------------------------- +Wed Aug 20 12:39:53 CEST 2008 - agruen@suse.de + +- rpmconfigcheck: set Required-Stop to $null; this init script + only performs some checks when started. +- /usr/lib/python* belongs to the rpm-python package; remove from + the main rpm package. + +------------------------------------------------------------------- +Mon Jun 30 14:02:35 CEST 2008 - dmueller@suse.de + +- add a requires_ge macro as well + +------------------------------------------------------------------- +Thu Jun 26 18:40:46 CEST 2008 - schwab@suse.de + +- Fix db configure script. + +------------------------------------------------------------------- +Thu May 15 14:31:51 CEST 2008 - dmueller@suse.de + +- remove references to brp-strip-comment-note (bnc#390163) + +------------------------------------------------------------------- +Tue May 6 18:01:34 CEST 2008 - mls@suse.de + +- enable all parts of the noprovides patch again, making our rpm + compatible to rpm4 + +------------------------------------------------------------------- +Fri May 2 15:50:17 CEST 2008 - dmueller@suse.de + +- add at least one supplements prefering the right kernel flavour + if no modalias could be generated (bnc#384084) + +------------------------------------------------------------------- +Thu May 1 22:43:17 CEST 2008 - agruen@suse.de + +- For kernel modules, require "kernel(flavor:symset) = version" + instead of "kernel(symset) = version". This disambiguates + the case where several kernel flavors end up with the same + modver checksums (190163, 355628). + +------------------------------------------------------------------- +Wed Apr 16 17:57:43 CEST 2008 - jblunck@suse.de + +- Get rid of noise when no debuginfo was generated +- Never strip static libraries in find-debuginfo script + +------------------------------------------------------------------- +Thu Apr 10 12:50:33 CEST 2008 - ro@suse.de + +- added baselibs.conf file for xxbit packages + +------------------------------------------------------------------- +Thu Apr 10 12:32:46 CEST 2008 - jw@suse.de + +- added whatrequires-doc.diff + Adds a hint to the misleading --whatrequires option, pointing to + the more useful -e --test. + Motivated by a talk thread started by Hubert. + +------------------------------------------------------------------- +Wed Apr 9 23:15:48 CEST 2008 - mrueckert@suse.de + +- revert the last change as it leads to duplicated entries in the + file list + +------------------------------------------------------------------- +Wed Apr 9 21:00:30 CEST 2008 - jblunck@suse.de + +- Fix a bug in last commit that leads to /usr/src/debug not belonging + to any package. + +------------------------------------------------------------------- +Wed Apr 9 12:56:57 CEST 2008 - jblunck@suse.de + +- Put debug sources into separate -debugsource package. + +------------------------------------------------------------------- +Fri Mar 28 14:54:04 CET 2008 - coolo@suse.de + +- leave the rpm package itself with bzip payload to + avoid blocking updates from within running system + +------------------------------------------------------------------- +Thu Mar 27 14:43:24 CET 2008 - coolo@suse.de + +- switch payload default to lzma -2 +- flag GNOME docu as %doc (bnc#358838) + +------------------------------------------------------------------- +Tue Mar 18 17:12:00 CET 2008 - mls@suse.de + +- make ia32 compatible to ia64, like it was in SLES9 [bnc#367705] +- fix memory leak and endless loops in lzma code +- make rpm provide the right lzma rpmlib name + +------------------------------------------------------------------- +Tue Mar 18 13:33:25 CET 2008 - schwab@suse.de + +- Fix broken db configuration. + +------------------------------------------------------------------- +Fri Mar 14 21:54:57 CET 2008 - coolo@suse.de + +- change it to the "alone" file format used by stable + distributions of 7zip and lzma + +------------------------------------------------------------------- +Fri Mar 14 18:05:18 CET 2008 - coolo@suse.de + +- daring some more compression time to get an overall picture + +------------------------------------------------------------------- +Thu Mar 13 08:11:47 CET 2008 - coolo@suse.de + +- support lzma payload using liblzma + +------------------------------------------------------------------- +Thu Feb 21 21:58:39 CET 2008 - mls@suse.de + +- do not configure autoreloc or colors + +------------------------------------------------------------------- +Thu Jan 31 15:12:55 CET 2008 - ro@suse.de + +- brp-symlink: whitelist /opt/kde3/share/doc*/HTML/*/common + +------------------------------------------------------------------- +Mon Jan 28 16:35:46 CET 2008 - ro@suse.de + +- finddebuginfo.diff: disable debuginfo for mono at the moment + +------------------------------------------------------------------- +Mon Jan 21 12:27:18 CET 2008 - mls@suse.de + +- change vendor detection so that it works in build service, too + +------------------------------------------------------------------- +Sat Jan 19 17:14:55 CET 2008 - mls@suse.de + +- update rpm-suse_macros so that the build service can build, too + +------------------------------------------------------------------- +Thu Jan 17 19:19:09 CET 2008 - wberrier@suse.de + +- autodeps.diff + pass .config files to mono-find-requires, not mono-find-provides + +------------------------------------------------------------------- +Mon Dec 3 13:38:20 CET 2007 - dmueller@suse.de + +- list email address completely again (#344147) + +------------------------------------------------------------------- +Fri Nov 16 20:46:42 CET 2007 - dmueller@suse.de + +- shorten changelogs in binary rpms (#308569) + * saves 4.3MB for the one CD media + +------------------------------------------------------------------- +Thu Oct 11 13:37:16 CEST 2007 - schwab@suse.de + +- Add support for lzma compressed archives. + +------------------------------------------------------------------- +Sun Sep 30 18:28:23 CEST 2007 - rguenther@suse.de + +- fix build with gcc43 + +------------------------------------------------------------------- +Mon Sep 3 13:27:57 CEST 2007 - dmueller@suse.de + +- change %lang_package implementation once again + to support bundle-lang-other for only one desktop (#302270) + +------------------------------------------------------------------- +Fri Aug 31 18:41:04 CEST 2007 - dmueller@suse.de + +- implement supplements for lang_packages (#306412) + +------------------------------------------------------------------- +Fri Aug 10 16:40:10 CEST 2007 - dmueller@suse.de + +- package size reduction (#217472) + +------------------------------------------------------------------- +Wed Aug 8 23:25:56 CEST 2007 - dmueller@suse.de + +- support optional -n parameter in %lang_package +- make %lang_package export a -all provides that + can be used to resolve conflicts with the bundle + +------------------------------------------------------------------- +Thu Aug 2 15:28:09 CEST 2007 - mls@suse.de + +- let the debug_package_requires macro overwrite the + default requires in the debuginfo package + +------------------------------------------------------------------- +Tue Jul 24 13:29:10 CEST 2007 - dmueller@suse.de + +- hardcode rpm in patch name + +------------------------------------------------------------------- +Fri Jun 15 08:30:07 CEST 2007 - dmueller@suse.de + +- package size reduction (28%) + +------------------------------------------------------------------- +Sun May 27 16:43:25 CEST 2007 - schwab@suse.de + +- Remove duplicate rpmpopt alias. + +------------------------------------------------------------------- +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 + +- fix autodeps.diff mono logic + +------------------------------------------------------------------- +Mon May 14 13:47:02 CEST 2007 - coolo@suse.de + +- correctly mark KDE documentation as %doc in find-lang.sh + +------------------------------------------------------------------- +Fri May 11 14:34:35 CEST 2007 - coolo@suse.de + +- adding %lang_package to simplify seperating translations + +------------------------------------------------------------------- +Sat Apr 28 00:43:30 CEST 2007 - wberrier@suse.de + +- autodeps.diff - bnc #227362 + -Print warning if mono assembiles are found but mono-find-* fails + (solution is to make sure mono-devel is installed) + -Also include .config files when searching for mono assemblies. + (bnc #210224) + +------------------------------------------------------------------- +Tue Apr 24 17:12:47 CEST 2007 - mls@suse.de + +- enable noprovides patch again. + disable part of the patch so that rpm checks the package provides + again instead of just package name when going through the + obsoletes list. This makes rpm behaviour consistent with the + updated libzypp. [#232127] + +------------------------------------------------------------------- +Sun Apr 22 15:23:12 CEST 2007 - dmueller@suse.de + +- fix stripping of symbol table + +------------------------------------------------------------------- +Tue Apr 17 14:24:01 CEST 2007 - dmueller@suse.de + +- strip comment and gcc command line sections from the packages +- rework SYMTAB_KEEP to accept a file pattern + +------------------------------------------------------------------- +Sun Apr 8 23:22:12 CEST 2007 - schwab@suse.de + +- Include compilation directory in debuginfo file list. + +------------------------------------------------------------------- +Sat Mar 24 12:22:23 CET 2007 - ro@suse.de + +- added libbz2-devel to BuildRequires and Requires for -devel + +------------------------------------------------------------------- +Fri Mar 23 16:14:28 CET 2007 - dmueller@suse.de + +- drop custom libpopt so versioning +- move libpopt to /lib(64) for cryptsetup +- adjust installed libtool files +- Fix rpm buildrequires / devel requires + +------------------------------------------------------------------- +Thu Mar 22 16:41:44 CET 2007 - stbinner@suse.de + +- files.diff: when checking %files list also show unpackaged files + after "not found" error message [#255780] + +------------------------------------------------------------------- +Thu Mar 22 10:45:08 CET 2007 - dmueller@suse.de + +- remove strangely duplicated libpopt +- remove static popt and corresponding .la file to reduce + dependencies +- Fix various format string errors in german translation + which cause crashes + +------------------------------------------------------------------- +Mon Mar 19 16:48:22 CET 2007 - rguenther@suse.de + +- do not require build-key + +------------------------------------------------------------------- +Tue Mar 6 20:19:40 CET 2007 - rguenther@suse.de + +- adjust cflags_profile_generate and cflags_profile_feedback to + enable tree profiling + +------------------------------------------------------------------- +Fri Jan 26 16:55:15 CET 2007 - mls@suse.de + +- create /var/spool/repackage directory [#230866] +- do not run pre/posttrans scripts in test mode [#235361] + +------------------------------------------------------------------- +Thu Nov 30 14:04:56 CET 2006 - mls@suse.de + +- disable noprovides patch [#224824] + +------------------------------------------------------------------- +Fri Nov 24 14:48:38 CET 2006 - mls@suse.de + +- fix buffer overflow in query function [#218983] +- fix off-by-two error in formatStrong [#210135] +- fix typo in (unused) beecrypt code [#219738] +- add standard buildservice macros + +------------------------------------------------------------------- +Tue Nov 14 16:51:26 CET 2006 - agruen@suse.de + +- Add %supplements_kernel_module macro for use in firmware and + similar packages which are related to modules in a + kernel-$flavor package: RPM then extracts the modaliases from + the specified module(s) and adds them as Supplements: + modalias(...) tags, so that the package magaer will add + such packages automatically when the respective hardware is + present. + +------------------------------------------------------------------- +Wed Nov 8 15:29:47 CET 2006 - agruen@suse.de + +- Move the Kernel Module specific macros into the kernel-source + package. + +------------------------------------------------------------------- +Fri Oct 20 17:53:30 CEST 2006 - agruen@suse.de + +- Support the distribution-independent macros + %kernel_module_package_buildreq, %kernel_module_package, and + inside %kernel_module_package, the macros %flavors_to_build and + %kernel_source. + +------------------------------------------------------------------- +Wed Oct 18 22:56:36 CEST 2006 - mls@suse.de + +- split up jumbo patch in 78 small patches +- fix lua directory handling [#201518] +- add /etc/rpm directory to filelist [#208762] + +------------------------------------------------------------------- +Mon Oct 16 17:46:38 CEST 2006 - agruen@suse.de + +- Fix the KMP Package spec file template so that whenever the + initrd contains a module that the KMP includes, the initrd will + be regenerated (211646). + +------------------------------------------------------------------- +Sun Oct 15 23:41:37 CEST 2006 - schwab@suse.de + +- Make sure config.rpath is present. + +------------------------------------------------------------------- +Mon Oct 2 18:02:21 CEST 2006 - agruen@suse.de + +- %suse_kernel_module_package: Abort when trying to build for a + kernel that doesn't have an associated /boot/symsets-$krel.tar.gz + file: we cannot generate the appropriate dependencies without. + +------------------------------------------------------------------- +Mon Oct 2 14:59:50 CEST 2006 - agruen@suse.de + +- Allow kernel modules in packages even when the dependencies + between those packages and the matching kernel packages cannot + be tracked (199474). + +------------------------------------------------------------------- +Sun Oct 1 00:05:46 CEST 2006 - agruen@suse.de + +- Make find-*.ksyms more robust. + +------------------------------------------------------------------- +Tue Sep 19 13:47:56 CEST 2006 - rguenther@suse.de + +- split rpm-python to separate spec file +- remove python-devel BuildRequires + +------------------------------------------------------------------- +Tue Aug 15 00:59:12 CEST 2006 - ro@suse.de + +- workaround for gettext using MKINSTALLDIRS in configure.ac + +------------------------------------------------------------------- +Wed Jun 14 15:55:36 CEST 2006 - mls@suse.de + +- make rpmlib provide rpmlib(PatchRPMs) [#184856] + +------------------------------------------------------------------- +Wed Apr 26 01:14:33 CEST 2006 - agruen@suse.de + +- rpm-suse-kernel-module-subpackage: Use a temporary file location + that only root can write to (169378). + +------------------------------------------------------------------- +Fri Apr 21 16:05:54 CEST 2006 - mls@suse.de + +- copy suse_macros file back into source rpm + +------------------------------------------------------------------- +Mon Apr 10 18:31:32 CEST 2006 - agruen@suse.de + +- rpm-suse-kernel-module-subpackage: Arguments to -p and -f should + be relative to %_sourcedir. + +------------------------------------------------------------------- +Fri Mar 24 16:43:22 CET 2006 - mls@suse.de + +- fix uninitialized variable in unused file code [#160434] + +------------------------------------------------------------------- +Fri Mar 24 16:10:39 CET 2006 - agruen@suse.de + +- %suse_kernel_module_package: Fix -x case when multiple flavors + to include are specified. Do not build KMP packages without + modversions or kernel(...) requirements. + +------------------------------------------------------------------- +Tue Mar 21 19:00:50 CET 2006 - mls@suse.de + +- fix PGP signature checking when there is no RSA sig + +------------------------------------------------------------------- +Mon Mar 20 14:51:02 CET 2006 - agruen@suse.de + +- Switch from modalias(foo) to modalias(kernel-flavor:foo) + supplements to give the resolver enough information to do "the + right thing". + +------------------------------------------------------------------- +Sun Mar 19 20:27:11 CET 2006 - agruen@suse.de + +- Allow paths relative to %_sourcedir in + %suse_kernel_module_package. + +------------------------------------------------------------------- +Sat Mar 18 08:24:12 CET 2006 - agruen@suse.de + +- Clarify rpm --help texts. + +------------------------------------------------------------------- +Fri Mar 17 19:08:18 CET 2006 - mls@suse.de + +- fix cond queries that return no result + +------------------------------------------------------------------- +Fri Mar 17 16:30:49 CET 2006 - mls@suse.de + +- work around broken patchrpm database entries [#156347] +- add query support for suggests/recommends/enhances/supplements + [#155301] + +------------------------------------------------------------------- +Sun Mar 12 13:19:29 CET 2006 - agruen@suse.de + +- find-supplements.ksyms: Don't generate too many Supplements; + anything that does not have a colon in it (like pci:...) is not + a modalias. + +------------------------------------------------------------------- +Sat Mar 11 12:46:51 CET 2006 - ro@suse.de + +- find-debuginfo: only "strip-debug" for static libs, + do not use "strip-all" there + +------------------------------------------------------------------- +Fri Mar 10 21:18:38 CET 2006 - agruen@suse.de + +- Make KMP sub-packages require kernel-$flavor instead of kernel + (mostly cosmetic). + +------------------------------------------------------------------- +Fri Mar 10 16:36:15 CET 2006 - dmueller@suse.de + +- patch for improved debuginfo extraction (#150940) + +------------------------------------------------------------------- +Thu Mar 9 16:23:23 CET 2006 - agruen@suse.de + +- find-scripts.diff: Add support for %__find_enhances and + %__find_supplements scripts (from mls@suse.de). +- modalias.diff: Add modalias(...) Supplements tags that define + the hardware that kernel module packages support (e.g., + modalias(pci:vBADOFBADdDEADBEEFsv*sd*bc*sc*i*)). + +------------------------------------------------------------------- +Mon Mar 6 17:03:08 CET 2006 - agruen@suse.de + +- %suse_kernel_module_package: Add a -p option for defining + additional preamble lines in sub-packages, subject to the same + macro expansion as the sub-package (-s) itself. + +------------------------------------------------------------------- +Wed Mar 1 21:57:08 CET 2006 - schwab@suse.de + +- Fix logic error in find_debuginfo.sh [#144629]. + +------------------------------------------------------------------- +Fri Feb 24 12:38:02 CET 2006 - mls@suse.de + +- fix cursor leak in rpmdbGrowIterator [#151953] +- print error message if scriptlet fork fails [#152779] + +------------------------------------------------------------------- +Sun Feb 19 13:35:40 CET 2006 - agruen@suse.de + +- scripts/find-requires.ksyms: Fix bug in last find-requires.ksyms + fix. + +------------------------------------------------------------------- +Sat Feb 18 15:17:50 CET 2006 - ro@suse.de + +- allow debuginfo packages also for noarch (for mono,java) + +------------------------------------------------------------------- +Fri Feb 17 15:00:28 CET 2006 - mls@suse.de + +- put mono debug files in debuginfo packages [#151353] +- fix off-by-one error in glob code +- define _libexecdir to be _libdir [#136762] +- rename improves to supplements + +------------------------------------------------------------------- +Thu Feb 16 09:41:53 CET 2006 - agruen@suse.de + +- scripts/find-requires.ksyms: Tolerate kernel modules that have + more than one vermagic info entry (it happened!). + +------------------------------------------------------------------- +Mon Feb 13 14:33:40 CET 2006 - agruen@suse.de + +- rpm-suse-kernel-module-subpackage: + + Search for the spec file in %_sourcedir and %_specdir (150119). + + If no KMP subpackage exists, use the Group and Summary tags + of the main package. + +------------------------------------------------------------------- +Fri Feb 10 17:02:14 CET 2006 - mls@suse.de + +- add back missing chunk of srcdefattr patch [#48870] +- add rpmvercmp patch from Peter Bowan +- add -m32 to ix86 optflags to make --target work [#141206] + +------------------------------------------------------------------- +Sat Feb 4 23:23:06 CET 2006 - agruen@suse.de + +- rpm-suse-kernel-module-subpackage: Allow to specify a list of + kernel flavors to build (-x) instead of specifying an exclude + list. + +------------------------------------------------------------------- +Fri Feb 3 15:10:04 CET 2006 - mls@suse.de + +- use RPMSENSE_STRONG instead of RPMSENSE_WEAK +- drop support for EssentialFor + +------------------------------------------------------------------- +Wed Feb 1 23:11:19 CET 2006 - agruen@suse.de + +- rpm-suse-kernel-module-subpackage: Allow to specify a custom + %files list for the kernel-specific sub-packages. Use the + Summary and Group tags, and the %description section from the + KMP sub-package for the kernel-specific sub-packages. + +------------------------------------------------------------------- +Tue Jan 31 12:22:16 CET 2006 - agruen@suse.de + +- rpm-suse-kernel-module-subpackage: Add version to additional + Provides tag. We may need this for future Obsoletes. + +------------------------------------------------------------------- +Fri Jan 27 22:24:45 CET 2006 - mls@suse.de + +- added support for EssentialFor and Supports +- enabled support for lua scripts + +------------------------------------------------------------------- +Fri Jan 27 20:38:25 CET 2006 - agruen@suse.de + +- rpm-suse-kernel-module-subpackage: Add "Requires: kernel". Add + -r option to override the release number. Clean up. + +------------------------------------------------------------------- +Thu Jan 26 19:01:13 CET 2006 - agruen@suse.de + +- rpm-suse_macros: Add -v option to %suse_kernel_module_package + to allow specifying a kernel module version different from the + main package version. Restore the %version, %summary, and + %group macros of the main package at the end of + %suse_kernel_module_package. + +------------------------------------------------------------------- +Wed Jan 25 21:30:55 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Tue Jan 17 01:31:03 CET 2006 - agruen@suse.de + +- rpm-suse_macros: Add %suse_kernel_module_package macro for + building kernel module packages. + +------------------------------------------------------------------- +Wed Jan 11 16:11:00 CET 2006 - agruen@suse.de + +- rpm-4.4.2.diff: find-requires.ksyms must not print "Requires:". + Remove trailing whitespace. + +------------------------------------------------------------------- +Wed Dec 21 16:30:57 CET 2005 - mls@suse.de + +- make transaction lock --root aware + +------------------------------------------------------------------- +Mon Dec 19 18:53:47 CET 2005 - mls@suse.de + +- don't ignore getcwd return value in build.c + +------------------------------------------------------------------- +Mon Dec 19 18:06:49 CET 2005 - mls@suse.de + +- fix find-lang.sh script + +------------------------------------------------------------------- +Sun Dec 18 22:44:03 CET 2005 - mls@suse.de + +- fix find-debuginfo script + +------------------------------------------------------------------- +Sun Dec 18 17:26:28 CET 2005 - mls@suse.de + +- don't assume root:root defattr + +------------------------------------------------------------------- +Sun Dec 18 01:06:45 CET 2005 - agruen@suse.de + +- fix wrong buildsubdir macro name + +------------------------------------------------------------------- +Thu Dec 15 16:46:19 CET 2005 - mls@suse.de + +- update to version 4.4.2 + for now without lua, rpc, dav support + +------------------------------------------------------------------- +Wed Dec 7 04:27:28 CET 2005 - agruen@suse.de + +- Add find-{requires,provides}.ksyms and invoke them from the + global find-{requires,provides} scripts. The scripts add + "kernel(symbol set) = version" and "kver(symbol) = version" + provides and requires to kernel module packages. +- Add symset-table script used to generate a table of known + kernel symbol sets from /boot/symsets-*.tar.gz. +- Add rpmsort script to sort a file into RPM version order. Used + in kernel scripts to sort kernel packages by version. + +------------------------------------------------------------------- +Tue Nov 22 01:17:34 CET 2005 - ro@suse.de + +- change NO_BRP_STRIP_DEBUG to NO_DEBUGINFO_STRIP_DEBUG +- fix patchrpm code not to modify immutable header parts + +------------------------------------------------------------------- +Fri Nov 18 13:05:33 CET 2005 - ro@suse.de + +- honor NO_BRP_STRIP_DEBUG in find-debuginfo.sh + +------------------------------------------------------------------- +Sat Oct 29 00:28:08 CEST 2005 - mls@suse.de + +- use lstat instead of stat when globbing (#129434) +- add RPMTAG_PKGID and RPMTAG_HDRID +- make python always return requires/provides/obsoletes/conflicts + as array + +------------------------------------------------------------------- +Mon Oct 24 02:34:43 CEST 2005 - ro@suse.de + +- find-requires/find-provides: fix MONO_PATH + +------------------------------------------------------------------- +Thu Oct 20 17:57:28 CEST 2005 - ro@suse.de + +- find-requires/find-provides: update mono hooks + +------------------------------------------------------------------- +Wed Sep 7 18:13:11 CEST 2005 - matz@suse.de + +- Make debuginfo packages require exact version of base rpm. + + +------------------------------------------------------------------- +Fri Sep 2 13:07:08 CEST 2005 - mls@suse.de + +- backport CLOEXEC workaround [#93727] +- fix typo in man page [#114909] + +------------------------------------------------------------------- +Thu Aug 25 14:21:36 CEST 2005 - mls@suse.de + +- don't catch ignored signals [#74560] +- unblock all signals when running scripts + +------------------------------------------------------------------- +Mon Aug 22 13:51:49 CEST 2005 - mls@suse.de + +- do not try to mmap zero sized files in domd5() + +------------------------------------------------------------------- +Fri Aug 12 16:59:47 CEST 2005 - mls@suse.de + +- change -mcpu to -mtune and add -D_FORTIFY_SOURCE=2 [#104241] + +------------------------------------------------------------------- +Wed Aug 3 15:23:23 CEST 2005 - mls@suse.de + +- ignore /media when creating fdilesystem list +- allow --ignoresize when erasing packages + +------------------------------------------------------------------- +Fri Jul 1 15:11:33 CEST 2005 - schwab@suse.de + +- Fix ppc assembly syntax. + +------------------------------------------------------------------- +Wed Jun 8 12:08:09 CEST 2005 - matz@suse.de + +- add STRIP_KEEP_SYMTAB to find-debuginfo.sh + +------------------------------------------------------------------- +Sat May 21 22:20:28 CEST 2005 - schwab@suse.de + +- find-debuginfo.sh: make writable before extracting debug info, simplify. + +------------------------------------------------------------------- +Thu May 19 10:27:37 CEST 2005 - schwab@suse.de + +- Replace absolute symlinks when copying sources for debuginfo package. + +------------------------------------------------------------------- +Wed Apr 6 18:39:23 CEST 2005 - schwab@suse.de + +- Cleanup neededforbuild. + +------------------------------------------------------------------- +Wed Apr 6 08:01:58 CEST 2005 - meissner@suse.de + +- Added gettext-devel + +------------------------------------------------------------------- +Tue Apr 5 11:48:14 CEST 2005 - bg@suse.de + +- add noarch to valid hppa architectures + +------------------------------------------------------------------- +Thu Mar 24 15:53:12 CET 2005 - uli@suse.de + +- better ARM support + +------------------------------------------------------------------- +Sun Feb 20 03:23:09 CET 2005 - od@suse.de + +- fix debugedit for relocatable files (kernel modules) on ppc + +------------------------------------------------------------------- +Fri Feb 18 16:35:57 CET 2005 - mls@suse.de + +- update debugedit program + +------------------------------------------------------------------- +Fri Feb 18 14:16:15 CET 2005 - od@suse.de + +- make find-debuginfo.sh handle kernel modules + +------------------------------------------------------------------- +Wed Feb 16 15:50:42 CET 2005 - mls@suse.de + +- fix --rebuilddb with --root [#50993] + +------------------------------------------------------------------- +Fri Feb 11 17:46:08 CET 2005 - mls@suse.de + +- update to elfutils-0.97 [#47746], [#48471] +- update to db-4.2.52 [#44193] +- pack brp-symlink + +------------------------------------------------------------------- +Fri Feb 11 00:02:50 CET 2005 - ro@suse.de + +- remove -fsigned-char from rpmrc (#49877) + +------------------------------------------------------------------- +Sat Feb 5 18:45:58 CET 2005 - schwab@suse.de + +- Fix building with gcc 4. + +------------------------------------------------------------------- +Fri Feb 4 20:17:15 CET 2005 - mls@suse.de + +- make python-2.4 work [#49990] +- fix --setguids / --setperms [#47122] +- makd gpgv4 signatures work [#42282] +- add brp-symlink [#49596] + +------------------------------------------------------------------- +Fri Feb 4 00:50:00 CET 2005 - ro@suse.de + +- fix one regexp in find_lang change + +------------------------------------------------------------------- +Thu Feb 3 17:09:32 CET 2005 - ro@suse.de + +- hppa may install noarch + +------------------------------------------------------------------- +Wed Feb 2 01:09:53 CET 2005 - schwab@suse.de + +- Remove compatibility provides on ia64. + +------------------------------------------------------------------- +Mon Jan 31 16:41:54 CET 2005 - adrian@suse.de + +- handle also ??_?? languages in %find_lang. + +------------------------------------------------------------------- +Fri Jan 28 17:21:22 CET 2005 - coolo@suse.de + +- let the debuginfo packages work again + +------------------------------------------------------------------- +Fri Jan 21 16:30:25 CET 2005 - skh@suse.de + +- changed jpackage macros + +------------------------------------------------------------------- +Fri Jan 21 16:30:05 CET 2005 - coolo@suse.de + +- use binutils for debuginfo packages + +------------------------------------------------------------------- +Fri Jan 14 14:31:04 CET 2005 - coolo@suse.de + +- name the debug package -debuginfo to sync with redhat/fedora + +------------------------------------------------------------------- +Mon Dec 13 23:49:25 CET 2004 - sndirsch@suse.de + +- moved chinese popt mo file to correct directory (Bug #47262) + +------------------------------------------------------------------- +Fri Dec 3 16:11:03 CET 2004 - mls@suse.de + +- fix update of rpm with same name/version/release but different + architecture + +------------------------------------------------------------------- +Thu Nov 25 23:47:44 CET 2004 - ro@suse.de + +- fix build with python-2.4 + +------------------------------------------------------------------- +Tue Nov 16 00:26:15 CET 2004 - ro@suse.de + +- update permissions handling + +------------------------------------------------------------------- +Tue Oct 19 00:33:55 CEST 2004 - ro@suse.de + +- locale rename: no -> nb + +------------------------------------------------------------------- +Mon Sep 27 19:22:13 CEST 2004 - mls@suse.de + +- move TE type initializaten before the addTE call to make + relocations work [#34871, #43557] + +------------------------------------------------------------------- +Fri Sep 24 15:50:28 CEST 2004 - mls@suse.de + +- check payloadformat for "cpio", print extra deltarpm message +- don't skip directories in the fingerprint check when deleting rpms + +------------------------------------------------------------------- +Thu Sep 23 16:24:30 CEST 2004 - mls@suse.de + +- allow database read access in scripts + +------------------------------------------------------------------- +Wed Sep 22 19:57:17 CEST 2004 - mls@suse.de + +- only retry locking if errno is EAGAIN [#45704] + +------------------------------------------------------------------- +Fri Sep 17 12:16:21 CEST 2004 - mls@suse.de + +- fix isSpecfile fix +- reset SIGILL handler in RPMClass() + +------------------------------------------------------------------- +Mon Sep 13 21:10:29 CEST 2004 - mls@suse.de + +- glob.h: add workaround for invalid prototypes + +------------------------------------------------------------------- +Thu Sep 9 17:53:49 CEST 2004 - mls@suse.de + +- fix jpackage macros +- change binary payload compression to w9.bzdio +- fix localization of query results [#38474] +- delete unmaintained cpanflute scripts [#39988] +- patch isSpecfile to be less restrictive [#40328] +- wait up to 3 minutes for the package lock [#40961] + +------------------------------------------------------------------- +Thu Sep 2 14:49:01 CEST 2004 - mls@suse.de + +- add jpackage macros + +------------------------------------------------------------------- +Fri Aug 6 17:45:37 CEST 2004 - mls@suse.de + +- make it build with new automake + +------------------------------------------------------------------- +Wed Jun 23 15:15:09 CEST 2004 - mls@suse.de + +- add support for mono provides/requires autodetection. + limited to *.exe and *.dll for now. + +------------------------------------------------------------------- +Sun May 23 01:10:14 CEST 2004 - schwab@suse.de + +- Don't record timestamp in compressed manpages. + +------------------------------------------------------------------- +Thu Apr 22 17:54:55 CEST 2004 - mls@suse.de + +- add DISABLE_RESTART_ON_UPDATE and DISABLE_STOP_ON_REMOVAL + sysconfig variables + +------------------------------------------------------------------- +Mon Apr 19 15:52:36 CEST 2004 - mls@suse.de + +- go back to libpopt.so.0.0.0 +- also create and pack libpopt.so.1.0.0 for compatibility + +------------------------------------------------------------------- +Wed Mar 31 21:04:02 CEST 2004 - uli@suse.de + +- added detection of i686-capable Transmeta Crusoe that reports + as being i586 (bug #37713). This patch is necessary because YaST + (rightfully) tries to install an i686 glibc on machines with this CPU, but + RPM refuses to do so -> BOOM. This patch is safe because it only uses + cpuid functions already used earlier in RPMClass() and does not do + anything if the CPU identification string does not end in "ineTMx86". + +------------------------------------------------------------------- +Wed Mar 31 12:34:54 CEST 2004 - ke@suse.de + +- remove broken german translation file [#30665], + +------------------------------------------------------------------- +Fri Mar 26 17:13:29 CET 2004 - mls@suse.de + +- use the system's zlib, fixes python segfault [#36810] + +------------------------------------------------------------------- +Sun Mar 21 11:48:21 CET 2004 - aj@suse.de + +- Work around lvalue used as cast problems. + +------------------------------------------------------------------- +Thu Mar 18 16:15:56 CET 2004 - mls@suse.de + +- convert query results to locale encoding [#28347] +- don't check provides if filename doesn't contain '/' [#32078] +- allow interrups if database is RDONLY [#33026] +- added _srcdefattr macro to set defattr for srpms [#33870] +- drop sbits from old files if installing new version [#35376] +- remove bogus entries from .la files [#36346] +- add _docdir_fmt macro to make it possible to create rpms + for other distributions + +------------------------------------------------------------------- +Sat Mar 6 11:38:01 CET 2004 - ro@suse.de + +- readd lost patch hunk from last change: + set docdir default back to .../packages/%name (w/o version) + +------------------------------------------------------------------- +Fri Mar 5 16:50:47 CET 2004 - mls@suse.de + +- backport some fixes from rpm-4.2 +- match py_libdir macro definition with python +- clean and re-create buildroot in a safe way + +------------------------------------------------------------------- +Sat Feb 28 15:33:06 CET 2004 - schwab@suse.de + +- Remove anchor from pattern in find-requires. + +------------------------------------------------------------------- +Fri Feb 27 18:19:08 CET 2004 - schwab@suse.de + +- Silence error from find. + +------------------------------------------------------------------- +Fri Feb 27 14:18:49 CET 2004 - mls@suse.de + +- fix definition of _initrddir +- set sysconfdir to /etc +- set localstatedir to /var + +------------------------------------------------------------------- +Thu Feb 26 18:42:10 CET 2004 - schwab@suse.de + +- Handle more cases of filenames with spaces. + +------------------------------------------------------------------- +Thu Feb 26 12:36:04 CET 2004 - ro@suse.de + +- some fixes in linux.prov to survive filenames with spaces + +------------------------------------------------------------------- +Thu Feb 12 20:08:03 CET 2004 - mls@suse.de + +- fixed linux.req soname generation (#21664) +- disable nptl for now + +------------------------------------------------------------------- +Mon Feb 9 14:04:45 CET 2004 - kukuk@suse.de + +- linux.req: Fix finding of interpreters + +------------------------------------------------------------------- +Sat Feb 7 18:08:00 CET 2004 - olh@suse.de + +- disable redhat's uname hack for ppc + +------------------------------------------------------------------- +Thu Feb 5 16:37:03 CET 2004 - ro@suse.de + +- linux.prov: don't block soname in versioned-requires +- linux.req: disable perl-requires, it's broken + +------------------------------------------------------------------- +Tue Feb 3 23:44:41 CET 2004 - schwab@suse.de + +- Readd ia64 64bit provides hack. + +------------------------------------------------------------------- +Tue Feb 3 13:56:42 CET 2004 - kukuk@suse.de + +- Remove all special find-requires scripts and use the default one + +------------------------------------------------------------------- +Sat Jan 17 03:14:02 CET 2004 - schwab@suse.de + +- Filter out linux-gate.so. + +------------------------------------------------------------------- +Thu Jan 15 16:53:21 CET 2004 - schwab@suse.de + +- For ia64 require 64bit symbols and provide them both with and without + 64bit. + +------------------------------------------------------------------- +Tue Jan 13 09:14:30 CET 2004 - adrian@suse.de + +- call ldconfig +- add missing Requires in -devel packages +- add %defattr + +------------------------------------------------------------------- +Fri Jan 9 15:38:17 CET 2004 - kukuk@suse.de + +- Coompile with "-fno-strict-aliasing" + +------------------------------------------------------------------- +Fri Nov 14 13:21:17 CET 2003 - bg@suse.de + +- added changes for hppa +- fix build for hppa + +------------------------------------------------------------------- +Fri Oct 10 15:25:26 CEST 2003 - sf@suse.de + +- added alias 'amd64' for 'x86_64' + +------------------------------------------------------------------- +Fri Oct 10 01:26:57 CEST 2003 - ro@suse.de + +- ignore "linux-gate.so" in ldd output (on 2.6 systems) + +------------------------------------------------------------------- +Wed Oct 8 15:22:01 CEST 2003 - schwab@suse.de + +- Add popt to prerequires for rpm. + +------------------------------------------------------------------- +Tue Sep 23 16:28:12 CEST 2003 - mls@suse.de + +- really disable rpmconfigcheck + +------------------------------------------------------------------- +Sat Sep 20 15:58:59 CEST 2003 - kukuk@suse.de + +- Don't enable rpmconfigcheck per default + +------------------------------------------------------------------- +Fri Sep 19 23:47:44 CEST 2003 - schwab@suse.de + +- Fix descriptor leak [#31450]. + +------------------------------------------------------------------- +Mon Sep 15 14:04:25 CEST 2003 - mls@suse.de + +- remove redhat options from popt (#30302) +- check name and arch to find out if two packages are the same + +------------------------------------------------------------------- +Fri Sep 5 21:30:06 CEST 2003 - mls@suse.de + +- fix rpmalMakeIndex and off by one error in rpmalAllSatisfiesDepend + +------------------------------------------------------------------- +Fri Sep 5 20:02:36 CEST 2003 - mls@suse.de + +- use mkstemp in build.c +- fix --noghost query option + +------------------------------------------------------------------- +Fri Sep 5 13:42:54 CEST 2003 - mls@suse.de + +- escape '+' in MIRE_DEFAULT iterator +- use MIRE_STRCMP when going for an exact match +- update rpmrc + +------------------------------------------------------------------- +Wed Sep 3 14:16:15 CEST 2003 - mls@suse.de + +- speed up installation by making nofsync local and setting it + for all databases but Packages +- fix database locking issue (#29407) +- don't open temporary databases in chroot case (may fix #29584) + +------------------------------------------------------------------- +Mon Sep 1 21:43:09 CEST 2003 - schwab@suse.de + +- Fix assembler routines to not clobber predicate registers. + +------------------------------------------------------------------- +Fri Aug 29 18:19:31 CEST 2003 - mcihar@suse.cz + +- rpm-python require same python version as it was built with + +------------------------------------------------------------------- +Fri Aug 22 17:58:40 CEST 2003 - mls@suse.de + +- make usage of / in post section consistent +- don't force the activation of rpmconfigcheck + +------------------------------------------------------------------- +Tue Aug 5 15:06:37 CEST 2003 - coolo@suse.de + +- give libpopt a soname > 0 as it's not compatible to the libpopt + on SL 8.2 (now that we link shared, it does matter) + +------------------------------------------------------------------- +Fri Aug 1 14:59:50 CEST 2003 - mls@suse.de + +- fix segfault in rpmdbFindByFile + +------------------------------------------------------------------- +Thu Jul 31 14:46:14 CEST 2003 - mls@suse.de + +- added directory tagging to speed up installation/updates + +------------------------------------------------------------------- +Tue Jul 29 12:33:50 CEST 2003 - mls@suse.de + +- add support for patch-rpms +- fix --root option (#28266) +- fix erase exit status (#28267) +- fix database open ignoring locks the second time + +------------------------------------------------------------------- +Fri Jul 11 15:04:35 CEST 2003 - mls@suse.de + +- add perl_vendorlib and perl_vendorarch +- integrate patches + +------------------------------------------------------------------- +Tue Jul 1 16:28:42 CEST 2003 - coolo@suse.de + +- update find-debuginfo.sh to fix permissions of copied files +- give warning on already stripped files + +------------------------------------------------------------------- +Fri Jun 27 15:55:19 CEST 2003 - schwab@suse.de + +- Fix configure scripts. +- Don't link rpm statically. + +------------------------------------------------------------------- +Fri Jun 20 11:13:46 CEST 2003 - kukuk@suse.de + +- use -fPIC, not -fpic to compile elfutils + +------------------------------------------------------------------- +Thu Jun 19 17:31:03 CEST 2003 - ro@suse.de + +- fix build (gettext and definition of mkinstalldirs) + +------------------------------------------------------------------- +Mon Jun 16 10:10:27 CEST 2003 - kukuk@suse.de + +- Don't call find on /usr/share/locale if directory does not exist. + +------------------------------------------------------------------- +Sat Jun 14 16:44:43 CEST 2003 - coolo@suse.de + +- avoid stale links in /usr/src/debug + +------------------------------------------------------------------- +Fri Jun 13 14:35:08 CEST 2003 - mls@suse.de + +- make PreReqs work again if --nodeps is used +- fix rpmconfigcheck +- apply find-debuginfo.sh patch from coolo + +------------------------------------------------------------------- +Thu Jun 12 23:37:15 CEST 2003 - kukuk@suse.de + +- Fix find-lang.sh (special /usr/share/locale handling) + +------------------------------------------------------------------- +Thu Jun 12 11:44:14 CEST 2003 - coolo@suse.de + +- enhancing find-lang.sh to take KDE/GNOME into account and label + them correctly + +------------------------------------------------------------------- +Wed Jun 11 16:05:40 CEST 2003 - kukuk@suse.de + +- Remove translated manual pages + +------------------------------------------------------------------- +Fri Jun 6 14:02:35 CEST 2003 - mls@suse.de + +- fix vendor for s390/s390x + +------------------------------------------------------------------- +Thu Jun 5 16:13:15 CEST 2003 - mls@suse.de + +- no longer build rpm static +- add --fileclass and --filecolor macros to rpmpopt + +------------------------------------------------------------------- +Thu Jun 5 09:35:31 CEST 2003 - ro@suse.de + +- remove dangling rpmpopt symlink + +------------------------------------------------------------------- +Mon Jun 2 17:35:22 CEST 2003 - mls@suse.de + +- convertdb1: call providePackageNVR to retrofit "Provide: name = EVR" + into converted headers + +------------------------------------------------------------------- +Fri May 23 15:53:38 CEST 2003 - ro@suse.de + +- fixed brp-compress to convert bzip2 man pages into gziped ones + (even if hardlinked). (#21121) (from ma) + +------------------------------------------------------------------- +Fri May 16 15:19:39 CEST 2003 - mls@suse.de + +- fixed x86_64 build + +------------------------------------------------------------------- +Thu May 15 12:38:07 CEST 2003 - mls@suse.de + +- update to rpm-4.1.1 + +------------------------------------------------------------------- +Tue May 13 19:18:34 CEST 2003 - mls@suse.de + +- don't obsolete own package when refreshing +- fix parsing of nested conditionals (again) + +------------------------------------------------------------------- +Tue May 13 12:10:35 CEST 2003 - mls@suse.de + +- created rpm-python subpackage +- fix check-files/fixowner, second try + +------------------------------------------------------------------- +Mon May 12 17:53:23 CEST 2003 - mls@suse.de + +- fix check-files to work without buildroot + +------------------------------------------------------------------- +Mon May 12 17:36:03 CEST 2003 - mls@suse.de + +- re-activate fixowner/group/perms +- allow /usr/share/info/dir in check-files +- fix 'head -n 1' in /usr/lib/rpm/find-requires + +------------------------------------------------------------------- +Thu May 8 21:27:03 CEST 2003 - mls@suse.de + +- update to rpm-4.1 + +------------------------------------------------------------------- +Mon Apr 7 12:36:55 CEST 2003 - ro@suse.de + +- fix for new head(1) syntax + +------------------------------------------------------------------- +Mon Mar 10 10:55:29 CET 2003 - mls@suse.de + +- fix exit status if file to be installed is not a rpm package + +------------------------------------------------------------------- +Fri Feb 28 14:29:31 CET 2003 - mls@suse.de + +- use mkstemp instead of tempnam (#24478) + +------------------------------------------------------------------- +Thu Feb 20 13:33:41 CET 2003 - ma@suse.de + +- Work arround rpm2cpio wrongly reporting an error, if the rpm file + is read from stdin. (#16800) + +------------------------------------------------------------------- +Mon Feb 17 17:53:09 CET 2003 - mls@suse.de + +- made rpmconfigcheck add new files to /var/log/update-messages + +------------------------------------------------------------------- +Fri Feb 14 17:45:22 CET 2003 - schwab@suse.de + +- Save errno inside Fclose, its return value is never checked anyway. + +------------------------------------------------------------------- +Fri Feb 14 16:14:16 CET 2003 - pthomas@suse.de + +- find-provides for elf64 systems used to omit symbol versions + if they contained the soname, fixed by find_provides_soname.diff. + +------------------------------------------------------------------- +Wed Feb 12 13:35:04 CET 2003 - mls@suse.de + +- removed runlevels '1' and 'S' from rpmconfigcheck + +------------------------------------------------------------------- +Fri Feb 7 18:18:27 CET 2003 - mls@suse.de + +- speed up rpmconfigcheck by just checking the old conflicts if + no rpm was installed +- rerun gpg if gpg fails with "option file created" +- set LC_ALL to C before calling gpg + +------------------------------------------------------------------- +Tue Jan 28 15:44:04 CET 2003 - kukuk@suse.de + +- Remove wrong Provides "rpm-devel" and "rpm-python" from Provides + +------------------------------------------------------------------- +Sun Jan 26 21:22:09 CET 2003 - olh@suse.de + +- the official arch_canon value for ppc64 is 16, not 5 + +------------------------------------------------------------------- +Thu Jan 16 19:45:43 CET 2003 - ma@suse.de + +- update subpackage popt to 1.6.4 + +------------------------------------------------------------------- +Thu Dec 19 22:50:22 CET 2002 - schwab@suse.de + +- Update autogen patch. + +------------------------------------------------------------------- +Mon Nov 18 18:43:38 CET 2002 - stepan@suse.de + +- add m68k as chanonical architecture to configure.in + +------------------------------------------------------------------- +Mon Nov 18 17:01:03 CET 2002 - ro@suse.de + +- adapt to latest autoconf +- use host instead of host_alias for %host_alias since the latter + is not set + +------------------------------------------------------------------- +Mon Nov 11 16:34:57 CET 2002 - ma@suse.de + +- let linux.prov list vrsion definitions in libraries/plugins without + soname. (find_provides.diff) (#21664) + +------------------------------------------------------------------- +Fri Oct 25 14:58:24 CEST 2002 - sf@suse.de + +- corrected %_libdir-macro (rpm-3.0.6-platform.diff) + +------------------------------------------------------------------- +Mon Oct 21 10:47:49 CEST 2002 - schwab@suse.de + +- Fix read beyond EOS. + +------------------------------------------------------------------- +Mon Oct 7 17:15:16 CEST 2002 - ro@suse.de + +- fixed brp-compress script for current fileutils + (add LC_TIME=POSIX, this bug lead to broken tcl man pages) + +------------------------------------------------------------------- +Wed Oct 2 15:29:39 MEST 2002 - mls@suse.de + +- update unpatched files in patchrpms even if --nodeps is used + [Bug #20418] + +------------------------------------------------------------------- +Sat Aug 24 11:37:29 CEST 2002 - ro@suse.de + +- fix popt-devel requires + +------------------------------------------------------------------- +Sun Aug 18 10:19:51 CEST 2002 - olh@suse.de + +- adding -mminimal-toc to each package is a boring job + use it per default on ppc64 + +------------------------------------------------------------------- +Thu Aug 15 18:37:43 CEST 2002 - kukuk@suse.de + +- Add insserv PreRequires [Bug #17969] + +------------------------------------------------------------------- +Mon Aug 12 20:09:36 MEST 2002 - bk@suse.de + +- rpmrc/s390{,x}: change dummy -fomit-frame-pointer to -fsigned-char + +------------------------------------------------------------------- +Sat Aug 10 21:28:27 CEST 2002 - schwab@suse.de + +- Make ia64 arch_compat to i686. + +------------------------------------------------------------------- +Sat Aug 10 11:56:34 CEST 2002 - kukuk@suse.de + +- Fix version number of popt-devel + +------------------------------------------------------------------- +Fri Aug 9 21:15:53 CEST 2002 - kukuk@suse.de + +- Fix typo + +------------------------------------------------------------------- +Fri Aug 9 15:11:24 CEST 2002 - kukuk@suse.de + +- Fix requires of rpm-devel and popt-devel + +------------------------------------------------------------------- +Fri Aug 9 00:17:53 CEST 2002 - ro@suse.de + +- adapt automake version in configure + +------------------------------------------------------------------- +Fri Jul 26 12:38:39 CEST 2002 - mls@suse.de + +- Added perl/python macros from conectiva + +------------------------------------------------------------------- +Fri Jul 26 09:53:41 CEST 2002 - kukuk@suse.de + +- Create rpm-devel and popt-devel subpackages [Bug #17225] + +------------------------------------------------------------------- +Fri Jul 26 09:45:31 CEST 2002 - kukuk@suse.de + +- Change Requires for suse-build-key to build-key + +------------------------------------------------------------------- +Wed Jul 25 12:13:17 MEST 2002 - mls@suse.de + +- renamed rpmconfigscan to rpmconfigcheck +- fixed elf64-linux.req to ignore scripts without #! +- disabled tag check in rpmdbFindByFile, too dangerous + +------------------------------------------------------------------- +Tue Jul 18 12:05:55 MEST 2002 - mls@suse.de + +- fixed double free of header if the postinstall script failed +- return exit status when doing --initdb + +------------------------------------------------------------------- +Thu Jul 11 12:03:35 MEST 2002 - mls@suse.de + +- use "officially reserved" value of RPMFILE_UNPATCHED +- added rpmconfigcheck script to search for unresolved config + file changes + +------------------------------------------------------------------- +Mon Jul 8 14:01:31 MEST 2002 - mls@suse.de + +- new version of patchrpm diff: handle patch "freshen" operations + gracefully +- documented patchrpm options +- taggedindex diff: add directory tags to the fileindex to speed + up file conflict detection + +------------------------------------------------------------------- +Tue Jul 2 16:36:05 CEST 2002 - ke@suse.de + +- Update German program messages using translations by Christian + Kirsch. Add as Source7; drop Patch19 [# 8442]. + +------------------------------------------------------------------- +Fri Jun 21 00:03:09 CEST 2002 - ro@suse.de + +- automake is 1.6.2 + +------------------------------------------------------------------- +Wed Jun 12 11:31:55 CEST 2002 - bk@suse.de + +- ppc: fix arch for elf64.prov and elf64.req to powerpc(from olh) +- s390x: fix brp-lib64-linux to ignore */lib/ld64.so.1 in lib check +- remove obsolete x64_64 scripts, replaced by generic elf64 scripts +- rpm-3.0.6.pkg_build.diff: remove obsolete diff for sparc-linux.req + +------------------------------------------------------------------- +Fri May 31 17:33:48 CEST 2002 - olh@suse.de + +- remove ppc64 hack + +------------------------------------------------------------------- +Mon May 27 14:58:27 CEST 2002 - bk@suse.de + +- all lib64 platforms use the same brp, req and prov scripts now. +- merge mips diff to not include private flags into linux.req.suse +- merge last rpm-3.0.6-s390x-lib64.diff into rpm-3.0.6.config.diff +- add (64bit) fix for empty soname in elf64.prov from sles7-s390x + +------------------------------------------------------------------- +Fri May 17 18:25:34 CEST 2002 - olh@suse.de + +- add more ppc64 changes, add brp-ppc64-linux +- apply mips, x86_64 and s390x patches on all archs +- rpm-3.0.6.lib64.diff: merged all lib64 stuff and add SUBSTS macros + for uname->target_cpu handling on ppc64, s390 and x86_64 + +------------------------------------------------------------------- +Wed May 15 14:15:41 CEST 2002 - ro@suse.de + +- update brp-x86_64-linux + +------------------------------------------------------------------- +Wed May 15 12:53:29 CEST 2002 - mfabian@suse.de + +- fix ja.po, it contained some junk which caused mojibake on + output, especially in ja_JP.UTF-8 locale. Remove a lot + of fuzzies which had correct translations. + +------------------------------------------------------------------- +Mon May 13 09:33:34 CEST 2002 - olh@suse.de + +- do not translate ppc64 to ppc anymore + +------------------------------------------------------------------- +Fri Apr 26 16:58:57 CEST 2002 - sf@suse.de + +- fixed brp-x86_64-linux script +- added *.a-files to brp-script +- look _only_ for files or links with names *.a, *.so* +- added /opt/gnome/lib and /opt/kde/lib + +------------------------------------------------------------------- +Wed Apr 24 16:01:11 CEST 2002 - sf@suse.de + +- added script to show requires and provides with 64 bit + (like s390 and sparc64) +- rpm will now stop (on x86_64) if a 64-bit binary + (or a link to one) is found in + $RPM_BUILD_ROOT{, /usr, /usr/X11R6}/lib + +------------------------------------------------------------------- +Wed Apr 24 14:47:42 CEST 2002 - ke@suse.de + +- patch19: Fix 1 german message (3 strings) in de.po [# 8442]. + +------------------------------------------------------------------- +Mon Apr 22 12:26:12 CEST 2002 - kukuk@suse.de + +- Remove broken s390x try to fix lib64 library location + +------------------------------------------------------------------- +Thu Apr 18 08:22:22 CEST 2002 - kukuk@suse.de + +- x86_64 can also build noarch packages + +------------------------------------------------------------------- +Wed Apr 17 17:37:36 CEST 2002 - sf@suse.de + +- install i386-rpms on x86_64 +- patch65 only, if not on s390x (doesn't apply) +- patch to build with new automake (ro) + +------------------------------------------------------------------- +Fri Apr 12 14:25:16 CEST 2002 - kukuk@suse.de + +- Don't apply s390x 64bit hacks on sparc64, sparc64 has a working + libtool + +------------------------------------------------------------------- +Thu Apr 11 15:40:54 MEST 2002 - mls@suse.de + +- fixed bug in patchrpm case that prevented the reuse of + old timestamps in unpatched files in some cases +- fixed patchrpm dependency failure message + +------------------------------------------------------------------- +Wed Apr 10 18:22:23 CEST 2002 - sf@suse.de + +- added x86_64 architecture +- added --libdir to autogen.sh to copy the libs depending on + architecture (lib / lib64) + +------------------------------------------------------------------- +Fri Mar 29 18:20:59 CET 2002 - schwab@suse.de + +- Fix for new autotools. + +------------------------------------------------------------------- +Fri Mar 22 20:23:59 MET 2002 - mls@suse.de + +- added rpmqpack program to speed up susehelp + +------------------------------------------------------------------- +Wed Mar 20 00:16:36 CET 2002 - ro@suse.de + +- modified config.diff for currently used optflags (#15123) + +------------------------------------------------------------------- +Mon Mar 18 17:08:16 CET 2002 - schwab@suse.de + +- Don't lose errno. + +------------------------------------------------------------------- +Mon Mar 11 21:55:51 CET 2002 - mls@suse.de + +- use gpg --keyring when checking keys with uid != 0 +- use hardcoded keyring path if _gpg_path is not set and uid == 0 +- removed _gpg_path from suse_macros + +------------------------------------------------------------------- +Fri Mar 9 20:12:44 CET 2002 - bk@suse.de + +- brp-s390x-linux: merge lib64 fix: patch .la files when moving + +------------------------------------------------------------------- +Fri Mar 8 16:20:51 CET 2002 - ma@suse.de + +- introduced x86_64 architecture in rpmrc (#14110) + +------------------------------------------------------------------- +Fri Mar 8 12:55:17 MET 2002 - mls@suse.de + +- backported rpm4 fix to get mtime right on s390x + +------------------------------------------------------------------- +Mon Feb 25 18:34:20 MET 2002 - mls@suse.de + +- added patchrpm support +- changed rpm -qi to include the distribution + +------------------------------------------------------------------- +Thu Feb 21 10:54:54 CET 2002 - schwab@suse.de + +- Fix to build with new gettext. + +------------------------------------------------------------------- +Mon Feb 18 18:10:49 CET 2002 - ro@suse.de + +- added requires for suse-build-key + +------------------------------------------------------------------- +Mon Feb 11 23:22:33 CET 2002 - ro@suse.de + +- tar option for bz2 is now "j" (re-added) + +------------------------------------------------------------------- +Mon Feb 11 22:16:33 CET 2002 - ma@suse.de + +- unk_ugname_cached.diff: Upon building a package, unpacking sources + by calling tar from the spec file, may lead to files with unknown + user/group names. If those files are to be included in the final + package, it's not appropriate to simply map unknown user/group names + to the builders user/group (usg. root). This behaviour has been disabled + and building the package will fail. There are ample means to propperly + define file attributes. If a spec file does not use them, although it + should, it's considered broken. + Unknown user/group names lead to NULL entries in rpms user/group name cache, + which may cause a segmentation fault on cache lookup. This has been fixed. + +------------------------------------------------------------------- +Sat Jan 26 11:37:18 CET 2002 - ro@suse.de + +- apply configure-diff also on s390x + +------------------------------------------------------------------- +Mon Jan 21 22:34:19 CET 2002 - bk@suse.de + +- use RPM_OPT_FLAGS for compilation +- add lib64 support for s390x +- update srcdir-supplied rpm-suse_macros file to newest version + adds: %_lib handling for ltconfig/-main and macro suse_update_libdir +- sparc64 and s390x: call scripts/brp-%_arch-linux at the end of install + +------------------------------------------------------------------- +Wed Jan 16 17:08:04 CET 2002 - schwab@suse.de + +- Fix parsing of nested conditionals. + +------------------------------------------------------------------- +Wed Jan 2 13:42:58 CET 2002 - schwab@suse.de + +- Remove wrong assertion. + +------------------------------------------------------------------- +Tue Dec 18 17:39:22 CET 2001 - adrian@suse.de + +- fix find-requires for objdump with private flags finaly + +------------------------------------------------------------------- +Mon Dec 17 16:27:14 CET 2001 - adrian@suse.de + +- apply mips patch only on mips architecture +- fix mips patch + +------------------------------------------------------------------- +Sun Dec 16 19:52:32 UTC 2001 - adrian@suse.de + +- fix find-requires script for mips + ( do not include private flags from objdump to dependencies ) + +------------------------------------------------------------------- +Wed Dec 5 16:59:42 CET 2001 - schwab@suse.de + +- Use optind = 0 to reset getopt in glibc. + +------------------------------------------------------------------- +Mon Dec 3 12:06:20 CET 2001 - schwab@suse.de + +- Fix another endian bug due to pointer mismatch. + +------------------------------------------------------------------- +Thu Nov 22 18:53:31 MET 2001 - mls@suse.de + +- reset getopt in grabArgs() macro expansion + +------------------------------------------------------------------- +Thu Nov 15 17:50:07 CET 2001 - ma@suse.de + +- Fixed: copyFile() in rpmchecksig didn't recognize 'No space left on + device' condition, when creating tempfiles. rpm reported that the + signature was not ok instead. (#12294) + +------------------------------------------------------------------- +Thu Nov 8 13:42:24 CET 2001 - adrian@suse.de + +- name mips big endian as "mips" instead of "mipseb" + this is compatible to all GNU tools and to the SGI distribution + +------------------------------------------------------------------- +Sat Nov 3 00:50:01 CET 2001 - ro@suse.de + +- accept automake 1.5 (still needs depcomp added) + +------------------------------------------------------------------- +Tue Sep 4 11:53:10 CEST 2001 - schwab@suse.de + +- Accept libtool 1.4.1. + +------------------------------------------------------------------- +Fri Aug 17 18:11:03 CEST 2001 - ro@suse.de + +- Exclude /usr/share/doc from Requires + +------------------------------------------------------------------- +Sat Jul 21 20:56:34 CEST 2001 - schwab@suse.de + +- Adapt for autoconf 2.52. +- Allow libtool version suffix. + +------------------------------------------------------------------- +Tue Jul 3 09:46:09 CEST 2001 - kukuk@suse.de + +- Fix typo in last change + +------------------------------------------------------------------- +Mon Jul 2 13:45:06 CEST 2001 - ma@suse.de + +- Change -m486 to -mcpu=i486 in optflags + +------------------------------------------------------------------- +Wed Jun 20 12:33:32 CEST 2001 - ma@suse.de + +- Don't define popt version via macro. Abuild does not like it (#8224). +- Patches for rpmrc.in (ia64.dif,ppc64.rpmrc.diff) incorporated + into config.diff. +- Patches for brp scripts (strip_no_lib.dif) and sparc64-linux.{req,prov} + scripts (sparc64.dif) incorporated into pkg_build.diff. + +------------------------------------------------------------------- +Wed Jun 13 15:42:07 UTC 2001 - bk@suse.de + +- rpm-3.0.6.config.diff: add s390x support + +------------------------------------------------------------------- +Mon Jun 11 19:23:54 CEST 2001 - olh@suse.de + +- add ppc64 diff + +------------------------------------------------------------------- +Fri Jun 8 14:23:22 CEST 2001 - schwab@suse.de + +- Fix endian bugs. + +------------------------------------------------------------------- +Mon Jun 4 20:34:34 CEST 2001 - kukuk@suse.de + +- Fix requires/provides scripts for sparc64 + +------------------------------------------------------------------- +Fri Jun 1 16:53:54 CEST 2001 - schwab@suse.de + +- Fix for new configure tools. + +------------------------------------------------------------------- +Wed May 9 18:21:15 CEST 2001 - mfabian@suse.de + +- bzip2 sources + +------------------------------------------------------------------- +Thu May 3 12:57:56 CEST 2001 - ma@suse.de + +- provides script shouldn't block soname as version + +------------------------------------------------------------------- +Tue May 1 20:01:52 CEST 2001 - kukuk@suse.de + +- modify spec file for sparc64 + +------------------------------------------------------------------- +Thu Apr 12 16:46:53 CEST 2001 - ro@suse.de + +- gettextize to compile with new gettext + +------------------------------------------------------------------- +Fri Apr 6 18:33:29 CEST 2001 - kukuk@suse.de + +- Make some changes to the changes entries so rpm likes it again + +------------------------------------------------------------------- +Thu Mar 29 01:13:14 CEST 2001 - ro@suse.de + +- provides/requires script: add "-n200" to xargs arguments + +------------------------------------------------------------------- +Mon Feb 26 00:50:46 CET 2001 - ro@suse.de + +- no optimization for alpha for now ... + +------------------------------------------------------------------- +Wed Feb 14 11:23:56 CET 2001 - ma@suse.de + +- Fix rpmio (unknown type off64_t) with glibc >= 2.2 +- Fix configure.in to recognize SuSE as platform specific vendor + +------------------------------------------------------------------- +Tue Feb 6 01:25:45 CET 2001 - ro@suse.de + +- popt: include float.h to make it compile + +------------------------------------------------------------------- +Wed Jan 17 12:10:47 CET 2001 - schwab@suse.de + +- Mark ia64 as compatible to i386. + +------------------------------------------------------------------- +Mon Jan 8 16:16:05 CET 2001 - ma@suse.de + +- fixed previous fix (error occuring outside %doc was lost) + +------------------------------------------------------------------- +Sat Jan 6 14:44:54 CET 2001 - ma@suse.de + +- fixed rpm does not abort build if %doc file is missing (#503) + +------------------------------------------------------------------- +Mon Nov 27 15:43:35 CET 2000 - ma@suse.de + +- wrongly free() after alloca() fixed + +------------------------------------------------------------------- +Thu Nov 23 14:19:47 CET 2000 - bk@suse.de + +- removed old s390 hack(not needed-breaks with new rpm and glibc) + +------------------------------------------------------------------- +Tue Nov 14 10:00:43 CET 2000 - ro@suse.de + +- added patch not to strip all shared libs and + files with "/lib/modules/" in path + +------------------------------------------------------------------- +Fri Nov 3 12:49:11 CET 2000 - ma@suse.de + +- let 'rpm -e --root ..' remove files/dirs chroot. + +------------------------------------------------------------------- +Wed Oct 25 12:26:36 CEST 2000 - ma@suse.de + +- update subpackage popt to 1.6 + +------------------------------------------------------------------- +Tue Oct 17 21:40:00 CEST 2000 - ma@suse.de + +- fixed missing libpopt.so in popt subpackage + +------------------------------------------------------------------- +Fri Oct 6 17:30:16 CEST 2000 - ma@suse.de + +- update to 3.0.6 + +------------------------------------------------------------------- +Fri Sep 29 17:00:17 CEST 2000 - schwab@suse.de + +- Fix last change to stay compatible with glibc < 2.2. + +------------------------------------------------------------------- +Fri Sep 29 12:18:13 CEST 2000 - schwab@suse.de + +- Fix libio cookie function pointer clash in rpmio. + +------------------------------------------------------------------- +Fri Jul 28 17:08:04 CEST 2000 - ma@suse.de + +- update to 3.0.5 (handles RPM v4 packages) +- ia64/s309 patches incorporated + +------------------------------------------------------------------- +Wed Jul 26 16:29:12 CEST 2000 - ma@suse.de + +- ignore chown() errors eg. if files are installed on a DOS partition + +------------------------------------------------------------------- +Fri Jul 14 11:32:06 CEST 2000 - ma@suse.de + +- fixed: ignore dependencies below /usr/share/doc. +- rpmrc: synced s390 entries with those in rpm-4.0. + +------------------------------------------------------------------- +Mon Jun 26 02:17:57 CEST 2000 - bk@suse.de + +- build static on s390 too. + +------------------------------------------------------------------- +Fri May 26 18:13:56 CEST 2000 - schwab@suse.de + +- For for new libbz2 API. + +------------------------------------------------------------------- +Thu May 18 17:13:47 CEST 2000 - kasal@suse.de + +- hope now rpm-3.0.4-macro-grabArgs.patch works + +------------------------------------------------------------------- +Wed May 17 18:09:32 MEST 2000 - kasal@suse.cz + +- fixed a typo in rpm-3.0.4-macro-grabArgs.patch (c=='?') +- fixed a problem when + ifarch someother + define macro sometext + endif + defined macro anyway + +------------------------------------------------------------------- +Tue May 16 10:35:49 CEST 2000 - kasal@suse.cz + +- fixed the bug with {?suse_update_config:%{suse_update_config -f}} + +------------------------------------------------------------------- +Fri May 12 14:52:40 CEST 2000 - schwab@suse.de + +- Make ia64 compatible with noarch. + +------------------------------------------------------------------- +Wed Apr 26 18:29:57 CEST 2000 - ma@suse.de + +- updated 3.0.4, removed obsolete patches, builds on + libc5 + +------------------------------------------------------------------- +Fri Apr 14 18:00:30 CEST 2000 - ma@suse.de + +- Update for RPM-HOWTO +- Fix in config.diff (use Makefile.am not Makefile.in) + +------------------------------------------------------------------- +Mon Apr 10 11:09:05 CEST 2000 - schwab@suse.de + +- Fix config patch. + +------------------------------------------------------------------- +Thu Apr 6 22:54:19 CEST 2000 - bk@suse.de + +- added /lib/libpopt.so* to filelist on s390 + +------------------------------------------------------------------- +Wed Apr 5 00:36:56 CEST 2000 - bk@suse.de + +- uses autoconf and automake now +- added /lib/libbz2.so* and /lib/libz.so* to filelist on s390 + +------------------------------------------------------------------- +Sat Apr 1 23:20:17 GMT 2000 - bk@suse.de + +- add s390 architecture support to rpm +- add required %suse_update_config for s390 +- rpm is NOT linked statically on s390 for now + +------------------------------------------------------------------- +Tue Mar 28 16:15:48 CEST 2000 - ma@suse.de + +- rpm.spec: avoid macro usage in 'Version:' entry + +------------------------------------------------------------------- +Thu Mar 2 16:23:41 CET 2000 - schwab@suse.de + +- Fix md5 for ia64. + +------------------------------------------------------------------- +Mon Feb 28 18:06:21 CET 2000 - ma@suse.de + +- remove 'libNoVersion' in find-requires + +------------------------------------------------------------------- +Wed Feb 23 21:28:01 CET 2000 - schwab@suse.de + +- recognize ia64 as architecture. + +------------------------------------------------------------------- +Mon Feb 7 17:07:57 CET 2000 - ma@suse.de + +- rebuilddb fix +- set info/mandir macros to /usr/share/... + +------------------------------------------------------------------- +Wed Feb 2 18:31:11 CET 2000 - ma@suse.de + +- update to 3.0.4 (popt-1.5) +- new subpackage: popt + +------------------------------------------------------------------- +Sat Nov 13 13:08:53 MET 1999 - kukuk@suse.de + +- Add sparc64 directory +- Fix installation into RPM_BUILD_ROOT directory + +------------------------------------------------------------------- +Mon Nov 8 19:58:14 MET 1999 - kukuk@suse.de + +- add directory /usr/src/packages/RPMS/sparc + +------------------------------------------------------------------- +Thu Nov 4 16:55:45 CET 1999 - bs@suse.de + +- fixed bug in find-requires regarding pseudo scripts + starting with "#! --" + +------------------------------------------------------------------- +Thu Oct 28 16:11:46 CEST 1999 - bs@suse.de + +- added directories /usr/src/packages/RPMS/{ppc,noarch} + +------------------------------------------------------------------- +Wed Oct 27 13:30:41 MEST 1999 - ma@suse.de + +- place suse_macrofile in source/binary package +- don't check reqires below /usr/doc/ + +------------------------------------------------------------------- +Mon Sep 13 17:23:57 CEST 1999 - bs@suse.de + +- ran old prepare_spec on spec file to switch to new prepare_spec. + +------------------------------------------------------------------- +Thu Sep 9 12:15:28 CEST 1999 - bs@suse.de + +- fixed call of Check at the end of %install section + +------------------------------------------------------------------- +Mon Jul 19 16:00:50 MEST 1999 - ma@suse.de + +- again rebuilddb.patch + +------------------------------------------------------------------- +Wed Jul 14 14:30:15 MEST 1999 - ro@suse.de + +- update to 3.0.3 + +------------------------------------------------------------------- +Mon Jun 28 00:05:14 MEST 1999 - ro@suse.de + +- changed macros.in for libc5 : no "h" parameter for chown,chmod + +------------------------------------------------------------------- +Fri Jun 25 01:00:19 MEST 1999 - ro@suse.de + +- update to rpm-3.0.2 +- added librpmbuild.a to filelist +- added patch not to generate dependency for libNoVersion +- rebuilddb.patch removed (incorporated in source) + +------------------------------------------------------------------- +Thu Jun 17 20:22:48 MEST 1999 - ma@suse.de + +- fixed bug when --rebuilddb and --root where used + at the same time. + +------------------------------------------------------------------- +Wed May 26 11:43:53 MEST 1999 - ro@suse.de + +- update to 3.0.1 + +------------------------------------------------------------------- +Mon Apr 26 20:38:17 CEST 1999 - werner@suse.de + +- Speed up find-requires for linux + +------------------------------------------------------------------- +Mon Apr 26 18:00:01 MEST 1999 - ro@suse.de + +- update to 3.0 (noreplace fix has been incorporated) + +------------------------------------------------------------------- +Mon Apr 12 15:34:40 MEST 1999 - ro@suse.de + +- update to 2.93 + +------------------------------------------------------------------- +Fri Mar 19 00:46:37 MET 1999 - ro@suse.de + +- update to 2.92 + +------------------------------------------------------------------- +Thu Mar 18 02:03:59 MET 1999 - ro@suse.de + +- respect movement of libz to usr/lib + +------------------------------------------------------------------- +Sun Feb 28 11:07:27 MET 1999 - ro@suse.de + +- update to rpm-src from 99/02/25 + +------------------------------------------------------------------- +Sat Feb 27 11:56:52 MET 1999 - ro@suse.de + +- install both dirs RPM/i386 and RPM/alpha (since buildarch doesn't + seem to be defined now ?) + +------------------------------------------------------------------- +Tue Feb 23 11:49:52 MET 1999 - ro@suse.de + +- adapted macros file to SuSE +- fixed segfault when not using BuildRoot + +------------------------------------------------------------------- +Tue Feb 23 10:12:29 MET 1999 - ro@suse.de + +- modified diff-style +- use additional parameter "-h" on chown after unpacking in build + +------------------------------------------------------------------- +Mon Feb 22 15:08:09 MET 1999 - ro@suse.de + +- update to 2.91 +- ported ma's fixes + +------------------------------------------------------------------- +Wed Nov 25 19:06:11 MET 1998 - ma@suse.de + +- new version 2.5.5 +- fixed in 2.5.5: find-requires/provides bug +- fixed in 2.5.5: rebuilddb + +------------------------------------------------------------------- +Wed Nov 18 21:49:22 MET 1998 - ma@suse.de + +- link rpm.dyn dynamic against libc only + +------------------------------------------------------------------- +Mon Nov 16 18:17:53 MET 1998 - ma@suse.de + +- shared binary (/usr/lib/rpm/rpm.dyn) added + +------------------------------------------------------------------- +Tue Nov 10 10:09:40 MET 1998 - ro@suse.de + +- fixed find-requires (linux.req) + +------------------------------------------------------------------- +Mon Nov 9 12:29:39 MET 1998 - ro@suse.de + +- added %post: do rpm --initdb if triggerindex.rpm doesn't exist +- do chown root.root for RPM-HOWTO + +------------------------------------------------------------------- +Thu Nov 5 18:41:54 MET 1998 - ma@suse.de + +- new version 2.5.4 +- fix for rebuilddb +- fix for %config(noreplace) +- RPM-Changes html document that describes the important changes + in RPM since what is documented in Maximum RPM. + +------------------------------------------------------------------- +Tue Nov 3 17:07:32 MET 1998 - ro@suse.de + +- disabled glibc-patch for build in glibc-2.0 + +------------------------------------------------------------------- +Sun Sep 20 17:35:29 MEST 1998 - ro@suse.de + +- use libdb185.a for rpm in glibc system + +------------------------------------------------------------------- +Thu Sep 3 18:50:06 MEST 1998 - ma@suse.de + +- glibc patches + +------------------------------------------------------------------- +Thu Feb 5 15:27:26 MET 1998 - ro@suse.de + +- update to 2.4.12 + +------------------------------------------------------------------- +Tue Dec 9 15:07:10 MET 1997 - bs@suse.de + +- skip *.SuSE-dynamic in find-requires + +------------------------------------------------------------------- +Wed Nov 12 16:15:46 MET 1997 - ma@suse.de + +- new version 2.4.10 + +------------------------------------------------------------------- +Sat Nov 8 16:51:29 MET 1997 - ma@suse.de + +- patch: rpmdbFindByFile() didn't work for "/". Thus "/" wasn't + handled correctly in querries and upon updates ("rmdir /"). + +------------------------------------------------------------------- +Mon Oct 27 15:29:41 MET 1997 - ma@suse.de + +- new version 2.4.8 +- spec file for autobuild provided + - dirs below /usr/src/packages are installed mode 1777 +- obsolete: patch to allow installing rpm v1 packages (from Aug 7 1997) + Seems to be fixed in 2.4.8 +- patch: always 'chdir /' before executing scripts. +- patch: remove empty dirs when installing a symlink +- patch: ignore errors when installing a symlink and called from YaST +- de.po update + +------------------------------------------------------------------- +Thu Aug 7 17:46:48 MEST 1997 - ma@suse.de + +- duplicate '--nodeps' entry in rpm manpage deleted. +- quick patch to allow installing rpm v1 packages. +- workaround to skip installing a symlink (Jul 15 1997) + is disabeled, unless environment variable RPM_IgnoreFailedSymlinks + is set. + +------------------------------------------------------------------- +Tue Jul 15 13:24:22 MEST 1997 - ro@suse.de + +- added workaround to skip installing a symlink when + impossible to remove an existing directory + +------------------------------------------------------------------- +Thu Jun 26 19:10:48 MEST 1997 - ma@suse.de + +- introducing rpm, version 2.4.1 +- documentation (ascii,html) in usr/doc/packages/rpm + diff --git a/rpm.spec b/rpm.spec new file mode 100644 index 0000000..e535741 --- /dev/null +++ b/rpm.spec @@ -0,0 +1,437 @@ +# +# spec file for package rpm +# +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +#Compat macro for new _fillupdir macro introduced in Nov 2017 +%{?!_fillupdir:%define _fillupdir /var/adm/fillup-templates} + +Name: rpm +BuildRequires: binutils +BuildRequires: bzip2 +BuildRequires: file-devel +BuildRequires: findutils +BuildRequires: gcc +BuildRequires: gettext-devel +BuildRequires: glibc-devel +BuildRequires: gzip +BuildRequires: libacl-devel +BuildRequires: libbz2-devel +BuildRequires: libcap-devel +BuildRequires: libdw-devel +BuildRequires: libelf-devel +BuildRequires: libselinux-devel +BuildRequires: libsemanage-devel +BuildRequires: libtool +BuildRequires: lua-devel +BuildRequires: make +BuildRequires: ncurses-devel +BuildRequires: patch +BuildRequires: perl-base +BuildRequires: popt-devel +BuildRequires: rpm-build +BuildRequires: xz-devel +BuildRequires: zlib-devel +BuildRequires: pkgconfig(libzstd) +#!BuildIgnore: rpmlint-Factory +Provides: rpminst +Requires(post): %fillup_prereq +Requires: rpm-config-SUSE +# awk is needed for rpm --last +Requires: /usr/bin/awk +Summary: The RPM Package Manager +License: GPL-2.0-or-later +Group: System/Packages +Version: 4.14.2.1 +Release: 0 +URL: https://rpm.org/ +#Git-Clone: https://github.com/rpm-software-management/rpm +Source: http://ftp.rpm.org/releases/rpm-4.14.x/rpm-%{version}.tar.bz2 +Source1: RPM-HOWTO.tar.bz2 +Source5: rpmsort +Source8: rpmconfigcheck +Source9: sysconfig.services-rpm +Source10: beecrypt-4.1.2.tar.bz2 +Source11: db-4.8.30.tar.bz2 +Source12: baselibs.conf +Source13: rpmconfigcheck.service +Patch1: beecrypt-4.1.2.diff +Patch2: db.diff +Patch3: rpm-4.12.0.1-fix-bashisms.patch +Patch4: beecrypt-4.1.2-build.diff +Patch5: usr-lib-sysimage-rpm.patch +# quilt patches start here +Patch11: debugedit.diff +Patch13: ignore-auxv.diff +Patch12: localetag.diff +Patch14: nameversioncompare.diff +Patch15: dbfsync.diff +Patch16: dbrointerruptable.diff +Patch18: refreshtestarch.diff +Patch20: waitlock.diff +Patch21: suspendlock.diff +Patch24: brp.diff +Patch25: brpcompress.diff +Patch26: checkfilesnoinfodir.diff +Patch27: finddebuginfo.diff +Patch29: findlang.diff +Patch30: macrosin.diff +Patch32: platformin.diff +Patch33: rpmpopt.diff +Patch34: rpmrc.diff +Patch35: taggedfileindex.diff +Patch36: rpmqpack.diff +Patch38: build.diff +Patch43: rpm-shorten-changelog.diff +Patch45: whatrequires-doc.diff +Patch46: remove-brp-strips.diff +Patch47: requires-ge-macro.diff +Patch49: finddebuginfo-absolute-links.diff +Patch51: specfilemacro.diff +Patch55: debugsubpkg.diff +Patch56: debuglink.diff +Patch57: debuginfo-mono.patch +Patch58: lazystatfs.diff +Patch60: safeugid.diff +Patch61: noprereqdeprec.diff +Patch66: remove-translations.diff +Patch67: headeradddb.diff +Patch68: dbprivate.diff +Patch69: nobuildcolor.diff +Patch70: fileattrs.diff +Patch71: nomagiccheck.diff +Patch73: assumeexec.diff +Patch74: mono-find-requires.diff +Patch75: rpm-deptracking.patch +Patch77: langnoc.diff +Patch78: headerchk2.diff +Patch85: brp-compress-no-img.patch +Patch93: weakdepscompat.diff +Patch94: checksepwarn.diff +Patch99: enable-postin-scripts-error.diff +Patch100: rpm-findlang-inject-metainfo.patch +Patch102: emptymanifest.diff +Patch103: find-lang-qt-qm.patch +Patch108: debugedit-macro.diff +Patch109: pythondistdeps.diff +Patch114: source_date_epoch_buildtime.diff +Patch117: findsupplements.diff +Patch118: dwz-compression.patch +Patch119: getncpus.diff +Patch120: rpmfc-push-name-epoch-version-release-macro-before-invoking-depgens.patch +Patch121: adopt-language-specific-build_fooflags-macros-from-F.patch +Patch6464: auto-config-update-aarch64-ppc64le.diff +Patch6465: auto-config-update-riscv64.diff +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. + +RPM can be used to install and remove software packages. With rpm, it +is easy to update packages. RPM keeps track of all these manipulations +in a central database. This way it is possible to get an overview of +all installed packages. RPM also supports database queries. + +%package devel +Summary: Development files for librpm +Group: Development/Libraries/C and C++ +Requires: rpm = %{version} +# for people confusing the one with the other +Recommends: rpm-build = %{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 +manipulate RPM packages and databases and are intended to make it +easier to create graphical package managers or any other tools that +need an intimate knowledge of RPM packages in order to function. + +%package build +Summary: Tools and Scripts to create rpm packages +Group: System/Packages +Requires: rpm = %{version} +Provides: rpm:%_bindir/rpmbuild +Provides: rpmbuild +# SUSE's build essentials +Requires: binutils +Requires: bzip2 +Requires: coreutils +Requires: diffutils +Requires: dwz +Requires: file +Requires: findutils +Requires: gawk +Requires: gcc +#Requires: gcc-PIE +Requires: gettext-tools +Requires: glibc-devel +Requires: glibc-locale +Requires: grep +Requires: gzip +Requires: make +Requires: patch +Requires: perl-base +Requires: sed +Requires: systemd-rpm-macros +Requires: tar +Requires: util-linux +Requires: which +Requires: xz +# drop candidates +Requires: cpio +Requires: file + +%description build +If you want to build a rpm, you need this package. It provides rpmbuild +and requires some packages that are usually required. + +%prep +%setup -q -n rpm-%{version} +rm -rf sqlite +rm -rf beecrypt +tar xjf %{SOURCE10} +tar xjf %{SOURCE11} +ln -s db-4.8.30 db +cd db +%patch2 -p1 +cd .. +ln -s beecrypt-4.1.2 beecrypt +chmod -R u+w db/* +rm -f rpmdb/db.h +%patch -P 1 +%patch3 -p1 +%patch -P 4 +%patch5 -p1 +%patch -P 11 -P 12 -P 13 -P 14 -P 15 -P 16 -P 18 +%patch -P 20 -P 21 -P 24 -P 25 -P 26 -P 27 -P 29 +%patch -P 30 -P 32 -P 33 -P 34 -P 35 -P 36 -P 38 +%patch -P 43 -P 45 -P 46 -P 47 -P 49 +%patch -P 51 -P 55 -P 56 -P 57 -P 58 +%patch -P 60 -P 61 -P 66 -P 67 -P 68 -P 69 +%patch -P 70 -P 71 -P 73 -P 74 -P 75 -P 77 -P 78 +%patch -P 85 +%patch -P 93 -P 94 -P 99 +%patch -P 100 -P 102 -P 103 -P 108 +%patch -P 109 -P 114 -P 117 -P 118 +%patch -P 119 -P 120 +%patch121 -p1 + +%ifarch aarch64 ppc64le riscv64 +%patch6464 +%endif +%ifarch riscv64 +%patch6465 +%endif + +cp config.guess config.sub db/dist/ +cp config.guess config.sub beecrypt/ +tar -xjvf %{SOURCE1} +rm -f m4/libtool.m4 +rm -f m4/lt*.m4 + +%build +export CFLAGS="%{optflags} -ffunction-sections" +export LDFLAGS="-Wl,-Bsymbolic-functions -ffunction-sections" +%ifarch alpha +export CFLAGS="-g -O0 -fno-strict-aliasing -ffunction-sections" +%endif + +%ifarch %arm +BUILDTARGET="--build=%{_target_cpu}-suse-linux-gnueabi" +%else +BUILDTARGET="--build=%{_target_cpu}-suse-linux" +%endif + +#cp -p /usr/share/gettext/config.rpath . +cp autogen.sh beecrypt +pushd beecrypt +./autogen.sh --disable-dependency-tracking --with-pic --without-python $BUILDTARGET +make %{?_smp_mflags} +popd + +autoreconf -fi +./configure --disable-dependency-tracking --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \ +--libdir=%{_libdir} --sysconfdir=/etc --localstatedir=/var --sharedstatedir=/var/lib --with-lua \ +--without-external-db \ +--with-vendor=suse \ +--with-rundir=/run \ +--without-archive \ +--with-selinux --with-internal-beecrypt \ +--with-acl --with-cap --enable-shared %{?with_python: --enable-python} $BUILDTARGET + +rm po/de.gmo +make %{?_smp_mflags} + +%install +mkdir -p %{buildroot}/usr/lib +mkdir -p %{buildroot}/usr/share/locale +ln -s ../share/locale %{buildroot}/usr/lib/locale +%make_install +mkdir -p %{buildroot}/bin +ln -s /usr/bin/rpm %{buildroot}/bin/rpm +install -m 644 db3/db.h %{buildroot}/usr/include/rpm +# remove .la file and the static variant of libpopt +# have to remove the dependency from other .la files as well +for f in %{buildroot}/%{_libdir}/*.la; do + sed -i -e "s,/%_lib/libpopt.la,-lpopt,g" $f +done +mkdir -p %{buildroot}/usr/sbin +install -m 755 %{SOURCE8} %{buildroot}/usr/sbin +mkdir -p %{buildroot}/usr/lib/systemd/system +install -m 644 %{SOURCE13} %{buildroot}/usr/lib/systemd/system/ +mkdir -p %{buildroot}/usr/lib/rpm/macros.d +mkdir -p %{buildroot}/usr/lib/rpm/suse +for d in BUILD RPMS SOURCES SPECS SRPMS BUILDROOT ; do + mkdir -p %{buildroot}/usr/src/packages/$d + chmod 755 %{buildroot}/usr/src/packages/$d +done +for d in %{buildroot}/usr/lib/rpm/platform/*-linux/macros ; do + dd=${d%%-linux/macros} + dd=${dd##*/} + mkdir %{buildroot}/usr/src/packages/RPMS/$dd + chmod 755 %{buildroot}/usr/src/packages/RPMS/$dd +done +mkdir -p %{buildroot}/usr/lib/sysimage/rpm +mkdir -p %{buildroot}/var/lib/rpm +gzip -9 %{buildroot}/%{_mandir}/man[18]/*.[18] +export RPM_BUILD_ROOT +%ifarch s390x +[ -f scripts/brp-%_arch-linux ] && sh scripts/brp-%_arch-linux +%endif +chmod 755 doc/manual +rm -rf doc/manual/Makefile* +rm -f %{buildroot}/usr/lib/rpmpopt +rm -rf %{buildroot}%{_mandir}/{fr,ja,ko,pl,ru,sk} +rm -f %{buildroot}%{_prefix}/share/locale/de/LC_MESSAGES/rpm.mo +mkdir -p %{buildroot}%{_fillupdir} +install -c -m0644 %{SOURCE9} %{buildroot}%{_fillupdir}/ +rm -f %{buildroot}/usr/lib/rpm/cpanflute %{buildroot}/usr/lib/rpm/cpanflute2 +install -m 755 %{SOURCE5} %{buildroot}/usr/lib/rpm +install -m 755 scripts/debuginfo.prov %{buildroot}/usr/lib/rpm +rm -f %{buildroot}/usr/lib/locale %{buildroot}/usr/lib/rpmrc +mkdir -p %{buildroot}/etc/rpm +chmod 755 %{buildroot}/etc/rpm +# remove some nonsense or non-working scripts +pushd %{buildroot}/usr/lib/rpm/ +for f in rpm2cpio.sh rpm.daily rpmdiff* rpm.log rpm.xinetd freshen.sh u_pkg.sh \ + magic magic.mgc magic.mime* rpmfile *.pl javadeps brp-redhat \ + brp-strip-static-archive vpkg-provides*.sh http.req sql.req tcl.req \ + brp-sparc64-linux brp-strip-comment-note brp-java-gcjcompile +do + rm -f $f +done +for i in /usr/share/automake-*/*; do + if test -f "$i" && test -f "${i##*/}"; then + rm -f "${i##*/}" + fi +done +popd +%ifarch aarch64 ppc64le riscv64 +install -m 755 config.guess %{buildroot}/usr/lib/rpm +install -m 755 config.sub %{buildroot}/usr/lib/rpm +%endif +rm -rf %{buildroot}/%{_libdir}/python%{py_ver} +rm -f %{buildroot}%{_libdir}/*.la +rm -f %{buildroot}%{_libdir}/rpm-plugins/*.la +sh %{buildroot}/usr/lib/rpm/find-lang.sh %{buildroot} rpm +# On arm the kernel architecture is ignored. Not the best idea, but lets stay compatible with other distros +%ifarch armv7hl armv6hl +# rpm is using the host_cpu as default for the platform, but armv6/7hl is not known by the kernel. +# so we need to enforce the platform here. +echo -n "%{_target_cpu}-suse-linux-gnueabi" > %{buildroot}/etc/rpm/platform +%endif + +%post +%{fillup_only -an services} + +# var/lib/rpm migration: set forwards compatible symlink for /usr/lib/sysimage/rpm so scriptlets in same transaction will still work +if test ! -L var/lib/rpm -a -f var/lib/rpm/Packages -a ! -f usr/lib/sysimage/rpm/Packages ; then + rmdir usr/lib/sysimage/rpm + ln -s ../../../var/lib/rpm usr/lib/sysimage/rpm +fi + +test -f usr/lib/sysimage/rpm/Packages || rpmdb --initdb + +%posttrans +# var/lib/rpm migration +if test ! -L var/lib/rpm ; then + # delete no longer maintained databases + rm -f var/lib/rpm/Filemd5s var/lib/rpm/Filedigests var/lib/rpm/Requireversion var/lib/rpm/Provideversion + + if test -f var/lib/rpm/Packages ; then + echo "migrating rpmdb from /var/lib/rpm to /usr/lib/sysimage/rpm..." + + # remove forwards compatible symlink + if test -L usr/lib/sysimage/rpm ; then + rm -f usr/lib/sysimage/rpm + mkdir -p usr/lib/sysimage/rpm + fi + + mv -f var/lib/rpm/.[!.]* usr/lib/sysimage/rpm/ + mv -f var/lib/rpm/* usr/lib/sysimage/rpm/ + fi + rmdir var/lib/rpm && ln -s ../../usr/lib/sysimage/rpm var/lib/rpm +fi + +%files -f rpm.lang +%defattr(-,root,root) +%license COPYING +%doc doc/manual +%doc RPM-HOWTO + /etc/rpm + /bin/rpm + /usr/bin/* + %exclude /usr/bin/rpmbuild + /usr/sbin/rpmconfigcheck + /usr/lib/systemd/system/rpmconfigcheck.service + /usr/lib/rpm + %{_libdir}/rpm-plugins + %{_libdir}/librpm.so.* + %{_libdir}/librpmbuild.so.* + %{_libdir}/librpmio.so.* + %{_libdir}/librpmsign.so.* +%doc %{_mandir}/man[18]/*.[18]* +%dir /usr/lib/sysimage +%dir /usr/lib/sysimage/rpm +%dir /var/lib/rpm +%dir %attr(755,root,root) /usr/src/packages/BUILD +%dir %attr(755,root,root) /usr/src/packages/SPECS +%dir %attr(755,root,root) /usr/src/packages/SOURCES +%dir %attr(755,root,root) /usr/src/packages/SRPMS +%dir %attr(755,root,root) /usr/src/packages/RPMS +%dir %attr(755,root,root) /usr/src/packages/BUILDROOT +%dir %attr(755,root,root) /usr/src/packages/RPMS/* + %{_fillupdir}/sysconfig.services-rpm + +%files build +%defattr(-,root,root) +/usr/bin/rpmbuild + +%files devel +%defattr(644,root,root,755) + /usr/include/rpm + %{_libdir}/librpm.so + %{_libdir}/librpmbuild.so + %{_libdir}/librpmio.so + %{_libdir}/librpmsign.so + %{_libdir}/pkgconfig/rpm.pc + +%changelog diff --git a/rpmconfigcheck b/rpmconfigcheck new file mode 100644 index 0000000..62a327a --- /dev/null +++ b/rpmconfigcheck @@ -0,0 +1,45 @@ +#! /bin/bash +# Copyright (c) 2002 SUSE GmbH Nuernberg, Germany. +# +# Author: Michael Schroeder +# +# Script to scan for unresolved .rpmnew, .rpmorig, and .rpmsave files +# + +configcheckfile=/var/adm/rpmconfigcheck +packages=/var/lib/rpm/Packages + +if test -s $packages -a \( ! -e $configcheckfile -o -s $configcheckfile -o ! $packages -ot $configcheckfile \) ; then + echo "Searching for unresolved configuration files" + if test ! -e $configcheckfile -o ! $packages -ot $configcheckfile ; then + test -e $configcheckfile && mv -f $configcheckfile $configcheckfile.old + rpm -qalc | sort | perl -lne '-e "$_.rpmnew" and print "$_.rpmnew"; -e "$_.rpmorig" and print "$_.rpmorig"; -e "$_.rpmsave" and print "$_.rpmsave"' > $configcheckfile + else + mv -f $configcheckfile $configcheckfile.old + while read l; do + test -e $l && echo $l + done < $configcheckfile.old > $configcheckfile + fi + if test -s $configcheckfile; then + echo "Please check the following files (see /var/adm/rpmconfigcheck):" + sed -e 's/^/ /' < $configcheckfile + touch $configcheckfile.old + cat $configcheckfile $configcheckfile.old | sort | uniq -d > $configcheckfile.dup + cat $configcheckfile $configcheckfile.dup | sort | uniq -u > $configcheckfile.new + if test -s $configcheckfile.new ; then + ( + echo "----------------------------------------------------------------------" + echo "----------------------------------------------------------------------" + echo "rpmconfigcheck" + date + echo "----------------------------------------" + echo "This is a warning message." + echo "rpmconfigcheck has found the following new unresolved config files" + echo "(all files are listed in /var/adm/rpmconfigcheck):" + cat $configcheckfile.new + echo "----------------------------------------" + ) >> /var/log/update-messages + fi + fi + rm -f $configcheckfile.old $configcheckfile.dup $configcheckfile.new +fi diff --git a/rpmconfigcheck.service b/rpmconfigcheck.service new file mode 100644 index 0000000..31cbfde --- /dev/null +++ b/rpmconfigcheck.service @@ -0,0 +1,10 @@ +[Unit] +Description=Scan for unresolved .rpmnew, .rpmorig, and .rpmsave files +After=local-fs.target + +[Service] +Type=oneshot +ExecStart=/usr/sbin/rpmconfigcheck + +[Install] +WantedBy=default.target diff --git a/rpmfc-push-name-epoch-version-release-macro-before-invoking-depgens.patch b/rpmfc-push-name-epoch-version-release-macro-before-invoking-depgens.patch new file mode 100644 index 0000000..158ba4b --- /dev/null +++ b/rpmfc-push-name-epoch-version-release-macro-before-invoking-depgens.patch @@ -0,0 +1,58 @@ +From 0d2176c9a3ae44fd0a67c9983b1a5ba0a00388fd Mon Sep 17 00:00:00 2001 +From: Igor Gnatenko +Date: Mon, 15 Oct 2018 19:49:57 +0200 +Subject: [PATCH] rpmfc: push name/epoch/version/release macro before invoking + depgens + +Fixes: https://github.com/rpm-software-management/rpm/issues/502 +Signed-off-by: Igor Gnatenko +--- + build/rpmfc.c | 25 +++++++++++++++++++++++++ + 1 file changed, 25 insertions(+) + +diff --git build/rpmfc.c build/rpmfc.c +index 2fbfc69ab..eccd6582a 100644 +--- build/rpmfc.c ++++ build/rpmfc.c +@@ -1334,9 +1334,31 @@ static rpmRC rpmfcApplyExternal(rpmfc fc) + return rc; + } + ++typedef const struct macroExport_s { ++ const char * name; ++ rpmTagVal tag; ++} * macroExport; ++ ++static struct macroExport_s const macroExportList[] = { ++ { "name", RPMTAG_NAME }, ++ { "epoch", RPMTAG_EPOCH }, ++ { "version", RPMTAG_VERSION }, ++ { "release", RPMTAG_RELEASE }, ++ { NULL, 0 } ++}; ++ + rpmRC rpmfcApply(rpmfc fc) + { + rpmRC rc; ++ Package pkg = fc->pkg; ++ macroExport me; ++ for (me = macroExportList; me->name; me++) { ++ char *val = headerGetAsString(pkg->header, me->tag); ++ if (val) { ++ rpmPushMacro(NULL, me->name, NULL, val, RMIL_SPEC); ++ free(val); ++ } ++ } + /* If new-fangled dependency generation is disabled ... */ + if (!rpmExpandNumeric("%{?_use_internal_dependency_generator}")) { + /* ... then generate dependencies using %{__find_requires} et al. */ +@@ -1347,6 +1369,9 @@ rpmRC rpmfcApply(rpmfc fc) + /* ... otherwise generate per-file dependencies */ + rc = rpmfcApplyInternal(fc); + } ++ for (me = macroExportList; me->name; me++) ++ if (headerIsEntry(pkg->header, me->tag)) ++ rpmPopMacro(NULL, me->name); + return rc; + } + diff --git a/rpmpopt.diff b/rpmpopt.diff new file mode 100644 index 0000000..fcff9e4 --- /dev/null +++ b/rpmpopt.diff @@ -0,0 +1,12 @@ +--- ./rpmpopt.in.orig 2017-12-01 14:58:11.404041985 +0000 ++++ ./rpmpopt.in 2017-12-01 14:59:06.275882759 +0000 +@@ -101,7 +101,8 @@ Relocations : %|PREFIXES?{[%{PREFIXES} ] + %|URL?{URL : %{URL}\n}|\ + %|BUGURL?{Bug URL : %{BUGURL}\n}|\ + Summary : %{SUMMARY}\n\ +-Description :\n%{DESCRIPTION}\n' \ ++Description :\n%{DESCRIPTION}\n\ ++Distribution: %{DISTRIBUTION}\n' \ + --POPTdesc=$"list descriptive information from package(s)" + + rpm alias --changelog --qf '[* %{CHANGELOGTIME:day} %{CHANGELOGNAME}\n%{CHANGELOGTEXT}\n\n]' \ diff --git a/rpmqpack.diff b/rpmqpack.diff new file mode 100644 index 0000000..d336845 --- /dev/null +++ b/rpmqpack.diff @@ -0,0 +1,114 @@ +--- ./Makefile.am.orig 2017-12-01 15:04:09.723014378 +0000 ++++ ./Makefile.am 2017-12-01 15:04:13.396003910 +0000 +@@ -187,6 +187,10 @@ rpmgraph_LDADD = lib/librpm.la rpmio/lib + + dist_bin_SCRIPTS = scripts/gendiff + ++bin_PROGRAMS += rpmqpack ++rpmqpack_SOURCES = rpmqpack.c ++rpmqpack_LDADD = lib/librpm.la ++ + rpmconfig_DATA = rpmrc + rpmrc: $(top_srcdir)/rpmrc.in + @$(SED) \ +--- ./doc/Makefile.am.orig 2017-12-01 15:04:13.397003907 +0000 ++++ ./doc/Makefile.am 2017-12-01 15:04:42.681920389 +0000 +@@ -8,7 +8,7 @@ EXTRA_DIST += $(man_man1_DATA) + + man_man8dir = $(mandir)/man8 + man_man8_DATA = rpm.8 rpm-misc.8 rpmbuild.8 rpmdeps.8 rpmgraph.8 rpm2cpio.8 +-man_man8_DATA += rpmdb.8 rpmkeys.8 rpmsign.8 rpmspec.8 ++man_man8_DATA += rpmdb.8 rpmkeys.8 rpmsign.8 rpmspec.8 rpmqpack.8 + man_man8_DATA += rpm-plugin-systemd-inhibit.8 + EXTRA_DIST += $(man_man8_DATA) + +--- ./doc/rpmqpack.8.orig 2017-12-01 15:04:13.397003907 +0000 ++++ ./doc/rpmqpack.8 2017-12-01 15:04:13.397003907 +0000 +@@ -0,0 +1,25 @@ ++.TH RPMQPACK 8 "Mar 2002" ++.SH NAME ++rpmqpack \- check for installed rpm packages ++ ++.SH SYNOPSIS ++.B rpmqpack ++.RI [ pack1 "] [" pack2 ]... ++ ++.SH DESCRIPTION ++rpmqpack checks if packages given as arguments are installed in ++the system. It prints each installed package to stdout. ++If no arguments are given all installed packages are printed. ++ ++.SH EXIT STATUS ++rpmqpack returns 0 if all given packages are installed, otherwise ++1. ++ ++.SH SEE ALSO ++.BR rpm (1) ++ ++.SH COPYRIGHT ++2002 SUSE Linux AG Nuernberg, Germany. ++ ++.SH AUTHOR ++Michael Schroeder +--- ./rpmqpack.c.orig 2017-12-01 15:04:13.398003904 +0000 ++++ ./rpmqpack.c 2017-12-01 15:04:13.398003904 +0000 +@@ -0,0 +1,59 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++ ++DBT key; ++DBT data; ++ ++int ++main(int argc, char **argv) ++{ ++ DB *db = 0; ++ DBC *dbc = 0; ++ int ret = 0; ++ ++ if (db_create(&db, 0, 0)) ++ { ++ perror("db_create"); ++ exit(1); ++ } ++ if (db->open(db, 0, "/var/lib/rpm/Name", 0, DB_UNKNOWN, DB_RDONLY, 0664)) ++ { ++ perror("db->open"); ++ exit(1); ++ } ++ if (argc == 1) ++ { ++ if (db->cursor(db, NULL, &dbc, 0)) ++ { ++ perror("db->cursor"); ++ exit(1); ++ } ++ while (dbc->c_get(dbc, &key, &data, DB_NEXT) == 0) ++ printf("%*.*s\n", (int)key.size, (int)key.size, (char *)key.data); ++ dbc->c_close(dbc); ++ } ++ else ++ { ++ argc--; ++ while (argc--) ++ { ++ argv++; ++ key.data = (void *)*argv; ++ key.size = strlen(*argv); ++ data.data = NULL; ++ data.size = 0; ++ if (db->get(db, 0, &key, &data, 0) == 0) ++ printf("%s\n", *argv); ++ else ++ ret = 1; ++ } ++ } ++ db->close(db, 0); ++ return ret; ++} diff --git a/rpmrc.diff b/rpmrc.diff new file mode 100644 index 0000000..daa7bf4 --- /dev/null +++ b/rpmrc.diff @@ -0,0 +1,183 @@ +--- ./rpmrc.in.orig 2017-10-05 10:04:57.571602038 +0000 ++++ ./rpmrc.in 2017-12-01 15:03:23.956144776 +0000 +@@ -12,16 +12,16 @@ + # "fat" binary with both archs, for Darwin + optflags: fat -O2 -g -arch i386 -arch ppc + +-optflags: i386 -O2 -g -march=i386 -mtune=i686 +-optflags: i486 -O2 -g -march=i486 +-optflags: i586 -O2 -g -march=i586 +-optflags: i686 -O2 -g -march=i686 +-optflags: pentium3 -O2 -g -march=pentium3 +-optflags: pentium4 -O2 -g -march=pentium4 +-optflags: athlon -O2 -g -march=athlon ++optflags: i386 -O2 -g -m32 -march=i486 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables ++optflags: i486 -O2 -g -m32 -march=i486 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables ++optflags: i586 -O2 -g -m32 -march=i586 -mtune=i686 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables ++optflags: i686 -O2 -g -m32 -march=i686 -mtune=i686 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables ++optflags: pentium3 -O2 -g -m32 -march=pentium3 ++optflags: pentium4 -O2 -g -m32 -march=pentium4 ++optflags: athlon -O2 -g -m32 -march=athlon + optflags: geode -Os -g -m32 -march=geode +-optflags: ia64 -O2 -g +-optflags: x86_64 -O2 -g ++optflags: ia64 -O2 -g -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables ++optflags: x86_64 -O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables + optflags: amd64 -O2 -g + optflags: ia32e -O2 -g + +@@ -41,17 +41,18 @@ optflags: sparc64v -O2 -g -m64 -mtune=ni + + optflags: m68k -O2 -g -fomit-frame-pointer + +-optflags: ppc -O2 -g +-optflags: ppc8260 -O2 -g +-optflags: ppc8560 -O2 -g +-optflags: ppc32dy4 -O2 -g +-optflags: ppciseries -O2 -g +-optflags: ppcpseries -O2 -g +-optflags: ppc64 -O2 -g +-optflags: ppc64le -O2 -g +-optflags: ppc64p7 -O3 -mtune=power7 -mcpu=power7 -g ++optflags: ppc -O2 -g -m32 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables ++optflags: ppc8260 -O2 -g -m32 ++optflags: ppc8560 -O2 -g -m32 ++optflags: ppc32dy4 -O2 -g -m32 ++optflags: ppciseries -O2 -g -m32 ++optflags: ppcpseries -O2 -g -m32 ++optflags: ppc64 -O2 -g -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables ++optflags: ppc64le -O2 -g -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables ++optflags: ppc64p7 -O3 -mtune=power7 -mcpu=power7 -g -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables + + optflags: parisc -O2 -g -mpa-risc-1-0 ++optflags: hppa -O2 -g -mpa-risc-1-0 + optflags: hppa1.0 -O2 -g -mpa-risc-1-0 + optflags: hppa1.1 -O2 -g -mpa-risc-1-0 + optflags: hppa1.2 -O2 -g -mpa-risc-1-0 +@@ -75,10 +76,10 @@ optflags: armv5tl -O2 -g -march=armv5t + optflags: armv5tel -O2 -g -march=armv5te + optflags: armv5tejl -O2 -g -march=armv5te + optflags: armv6l -O2 -g -march=armv6 +-optflags: armv6hl -O2 -g -march=armv6 -mfloat-abi=hard -mfpu=vfp ++optflags: armv6hl -O2 -g -march=armv6 -mfloat-abi=hard -mabi=aapcs-linux + + optflags: armv7l -O2 -g -march=armv7 +-optflags: armv7hl -O2 -g -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 ++optflags: armv7hl -O2 -g -march=armv7-a -mfloat-abi=hard -mthumb -mabi=aapcs-linux + optflags: armv7hnl -O2 -g -march=armv7-a -mfloat-abi=hard -mfpu=neon + + optflags: m68k -O2 -g -fomit-frame-pointer +@@ -91,8 +92,8 @@ optflags: atariclone -O2 -g -fomit-frame + optflags: milan -O2 -g -fomit-frame-pointer + optflags: hades -O2 -g -fomit-frame-pointer + +-optflags: s390 -O2 -g +-optflags: s390x -O2 -g ++optflags: s390 -O2 -g -m31 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables ++optflags: s390x -O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables + + optflags: sh3 -O2 -g + optflags: sh4 -O2 -g -mieee +@@ -288,17 +289,17 @@ os_canon: MacOSX: macosx 21 + ############################################################# + # For a given uname().machine, the default build arch + +-buildarchtranslate: osfmach3_i686: i386 +-buildarchtranslate: osfmach3_i586: i386 ++buildarchtranslate: osfmach3_i686: i586 ++buildarchtranslate: osfmach3_i586: i586 + buildarchtranslate: osfmach3_i486: i386 + buildarchtranslate: osfmach3_i386: i386 + +-buildarchtranslate: athlon: i386 +-buildarchtranslate: geode: i386 +-buildarchtranslate: pentium4: i386 +-buildarchtranslate: pentium3: i386 +-buildarchtranslate: i686: i386 +-buildarchtranslate: i586: i386 ++buildarchtranslate: athlon: i586 ++buildarchtranslate: geode: i586 ++buildarchtranslate: pentium4: i586 ++buildarchtranslate: pentium3: i586 ++buildarchtranslate: i686: i586 ++buildarchtranslate: i586: i586 + buildarchtranslate: i486: i386 + buildarchtranslate: i386: i386 + +@@ -320,6 +321,7 @@ buildarchtranslate: sparc64v: sparc64 + buildarchtranslate: osfmach3_ppc: ppc + buildarchtranslate: powerpc: ppc + buildarchtranslate: powerppc: ppc ++buildarchtranslate: powerpc64: ppc64 + buildarchtranslate: ppc8260: ppc + buildarchtranslate: ppc8560: ppc + buildarchtranslate: ppc32dy4: ppc +@@ -381,6 +383,15 @@ buildarchtranslate: aarch64: aarch64 + buildarchtranslate: riscv: riscv64 + buildarchtranslate: riscv64: riscv64 + ++buildarchtranslate: parisc: hppa ++buildarchtranslate: hppa2.0: hppa ++buildarchtranslate: hppa64: hppa ++ ++buildarchtranslate: armv5l: armv4l ++buildarchtranslate: armv5tel: armv4l ++buildarchtranslate: armv5b: armv4b ++buildarchtranslate: armv5teb: armv4b ++ + ############################################################# + # Architecture compatibility + +@@ -445,15 +456,21 @@ arch_compat: mips64r6el: mipsr6el + arch_compat: hppa2.0: hppa1.2 + arch_compat: hppa1.2: hppa1.1 + arch_compat: hppa1.1: hppa1.0 +-arch_compat: hppa1.0: parisc ++arch_compat: hppa1.0: hppa ++arch_compat: hppa: parisc + arch_compat: parisc: noarch + ++arch_compat: armv5teb: armv5b ++arch_compat: armv5b: armv4b + arch_compat: armv4b: noarch ++arch_compat: armv7hl: armv7l + arch_compat: armv7l: armv6l ++arch_compat: armv6hl: armv6l + arch_compat: armv6l: armv5tejl + arch_compat: armv5tejl: armv5tel + arch_compat: armv5tel: armv5tl +-arch_compat: armv5tl: armv4tl ++arch_compat: armv5tl: armv5l ++arch_compat: armv5l: armv4tl + arch_compat: armv4tl: armv4l + arch_compat: armv4l: armv3l + arch_compat: armv3l: noarch +@@ -475,7 +492,7 @@ arch_compat: i370: noarch + arch_compat: s390: noarch + arch_compat: s390x: s390 noarch + +-arch_compat: ia64: noarch ++arch_compat: ia64: i686 noarch + + arch_compat: x86_64: amd64 em64t athlon noarch + arch_compat: amd64: x86_64 em64t athlon noarch +@@ -578,7 +595,9 @@ buildarch_compat: mips64r6: noarch + buildarch_compat: mips64r6el: noarch + + buildarch_compat: armv4b: noarch ++buildarch_compat: armv7hl: armv7l + buildarch_compat: armv7l: armv6l ++buildarch_compat: armv6hl: armv6l + buildarch_compat: armv6l: armv5tejl + buildarch_compat: armv5tejl: armv5tel armv5tl + buildarch_compat: armv5tel: armv4tl armv5tl +@@ -594,7 +613,8 @@ buildarch_compat: armv6hl: noarch + buildarch_compat: hppa2.0: hppa1.2 + buildarch_compat: hppa1.2: hppa1.1 + buildarch_compat: hppa1.1: hppa1.0 +-buildarch_compat: hppa1.0: parisc ++buildarch_compat: hppa1.0: hppa ++buildarch_compat: hppa: parisc + buildarch_compat: parisc: noarch + + buildarch_compat: atarist: m68kmint noarch diff --git a/rpmsort b/rpmsort new file mode 100644 index 0000000..75629fc --- /dev/null +++ b/rpmsort @@ -0,0 +1,102 @@ +#! /usr/bin/perl -w + +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, +# USA. + +use Getopt::Long qw(:config gnu_getopt); + +sub do_rpm_cmp_versions { + my ($evr1, $evr2) = @_; + + sub _rpm_cmp { + my ($s1, $s2) = @_; + + return defined $s1 <=> defined $s2 + unless defined $s1 && defined $s2; + + my ($r, $x1, $x2); + do { + $s1 =~ s/^[^a-zA-Z0-9]+//; + $s2 =~ s/^[^a-zA-Z0-9]+//; + if ($s1 =~ /^\d/ || $s2 =~ /^\d/) { + $s1 =~ s/^(0*(\d*))//; $x1 = $2; + return -1 if $1 eq ''; + $s2 =~ s/^(0*(\d*))//; $x2 = $2; + return 1 if $1 eq ''; + $r = length $x1 <=> length $x2 || $x1 cmp $x2; + } else { + $s1 =~ s/^([a-zA-Z]*)//; $x1 = $1; + $s2 =~ s/^([a-zA-Z]*)//; $x2 = $1; + return 0 + if $x1 eq '' && $x2 eq ''; + $r = $x1 cmp $x2; + } + } until $r; + return $r; + } + + my ($e1, $v1, $r1) = $evr1 =~ /^(?:(\d*):)?(.*?)(?:-([^-]*))?$/; + my ($e2, $v2, $r2) = $evr2 =~ /^(?:(\d*):)?(.*?)(?:-([^-]*))?$/; + my $r = _rpm_cmp($e1 || 0, $e2 || 0); + $r = _rpm_cmp($v1, $v2) + unless $r; + $r = _rpm_cmp($r1, $r2) + unless $r; + return $r; +} + +my $reorder = sub { return @_ }; +my $key = 0; +my $test = 0; + +sub rpm_cmp_versions { + my ($evr1, $evr2) = @_; + + chomp($evr1, $evr2); + my $res1 = do_rpm_cmp_versions($evr1, $evr2); + if ($test) { + open(my $fd, '-|', 'zypper', '--terse', 'versioncmp', + $evr1, $evr2) or die "zypper: $!\n"; + my $res2 = <$fd>; + close($fd) or die "zypper: $!\n"; + chomp $res2; + if ($res1 != $res2) { + my @operators = qw(< == >); + my $op1 = $operators[$res1 + 1]; + my $op2 = $operators[$res2 + 1]; + + print STDERR "BUG: $evr1 $op1 $evr2 vs. zypper: $evr1 $op2 $evr2\n"; + } + } + return $res1; +} + +GetOptions ("r|reverse" => sub { $reorder = sub { return reverse @_ } }, + "k|key=i" => \$key, + "test" => \$test) +or do { + print STDERR "Usage $0 [-r, --reverse] [-k N, --key=N] [--test]\n"; + exit 1; +}; + +if ($key == 0) { + # Sort by entire lines + map { print } &$reorder(sort { rpm_cmp_versions($a, $b) } <>); +} else { + # Sort by field $key + my @data = map { [(split)[$key-1], $_] } <>; + map { print } &$reorder(map { $_->[1] } + sort { rpm_cmp_versions($a->[0], $b->[0]) } @data); +} diff --git a/safeugid.diff b/safeugid.diff new file mode 100644 index 0000000..1181fc6 --- /dev/null +++ b/safeugid.diff @@ -0,0 +1,211 @@ +--- ./lib/rpmchroot.c.orig 2012-11-07 12:55:24.000000000 +0000 ++++ ./lib/rpmchroot.c 2014-02-20 12:50:05.360815211 +0000 +@@ -66,6 +66,7 @@ int rpmChrootIn(void) + } else if (rootState.chrootDone == 0) { + if (chdir("/") == 0 && chroot(rootState.rootDir) == 0) { + rootState.chrootDone = 1; ++ rpmugChroot(1); + } else { + rpmlog(RPMLOG_ERR, _("Unable to change root directory: %m\n")); + rc = -1; +@@ -91,6 +92,7 @@ int rpmChrootOut(void) + } else if (rootState.chrootDone == 1) { + if (chroot(".") == 0 && fchdir(rootState.cwd) == 0) { + rootState.chrootDone = 0; ++ rpmugChroot(0); + } else { + rpmlog(RPMLOG_ERR, _("Unable to restore root directory: %m\n")); + rc = -1; +--- ./lib/rpmug.c.orig 2014-02-05 13:04:37.000000000 +0000 ++++ ./lib/rpmug.c 2014-02-20 12:50:05.361815211 +0000 +@@ -10,6 +10,47 @@ + #include "lib/rpmug.h" + #include "debug.h" + ++#if defined(__GLIBC__) ++ ++static int inchroot; ++ ++/* ++ * Unfortunatelly glibc caches nss/nscd data and there is no ++ * good way to flush those caches when we did a chroot(). Thus ++ * we need to parse /etc/passwd and /etc/group ourselfs. ++ */ ++static int safe_lookup(const char * file, const char * name) ++{ ++ FILE *fp; ++ int l; ++ char buf[4096], *p; ++ ++ if (!name || !*name) ++ return -1; ++ l = strlen(name); ++ if ((fp = fopen(file, "r")) == 0) ++ return -1; ++ while ((p = fgets(buf, sizeof(buf), fp)) != 0) { ++ if (*p == '#') ++ continue; ++ while (*p && (*p == ' ' || *p == '\t')) ++ p++; ++ if (strncmp(p, name, l) != 0 || p[l] != ':') ++ continue; ++ p = strchr(p + l + 1, ':'); ++ if (!p) ++ continue; ++ fclose(fp); ++ p++; ++ while (*p && (*p == ' ' || *p == '\t')) ++ p++; ++ return atoi(p); ++ } ++ fclose(fp); ++ return -1; ++} ++#endif ++ + /* + * These really ought to use hash tables. I just made the + * guess that most files would be owned by root or the same person/group +@@ -43,17 +84,28 @@ int rpmugUid(const char * thisUname, uid + lastUnameAlloced = thisUnameLen + 10; + lastUname = xrealloc(lastUname, lastUnameAlloced); /* XXX memory leak */ + } +- strcpy(lastUname, thisUname); + +- pwent = getpwnam(thisUname); +- if (pwent == NULL) { +- /* FIX: shrug */ +- endpwent(); ++#if defined(__GLIBC__) ++ if (inchroot) { ++ int uid = safe_lookup("/etc/passwd", thisUname); ++ if (uid < 0) ++ return -1; ++ lastUid = uid; ++ } else ++#endif ++ { + pwent = getpwnam(thisUname); +- if (pwent == NULL) return -1; ++ if (pwent == NULL) { ++ /* FIX: shrug */ ++ endpwent(); ++ pwent = getpwnam(thisUname); ++ if (pwent == NULL) return -1; ++ } ++ lastUid = pwent->pw_uid; + } + +- lastUid = pwent->pw_uid; ++ strcpy(lastUname, thisUname); ++ lastUnameLen = thisUnameLen; + } + + *uid = lastUid; +@@ -86,18 +138,29 @@ int rpmugGid(const char * thisGname, gid + lastGnameAlloced = thisGnameLen + 10; + lastGname = xrealloc(lastGname, lastGnameAlloced); /* XXX memory leak */ + } +- strcpy(lastGname, thisGname); + +- grent = getgrnam(thisGname); +- if (grent == NULL) { +- /* FIX: shrug */ +- endgrent(); ++#if defined(__GLIBC__) ++ if (inchroot) { ++ int gid = safe_lookup("/etc/group", thisGname); ++ if (gid < 0) ++ return -1; ++ lastGid = gid; ++ } else ++#endif ++ { + grent = getgrnam(thisGname); + if (grent == NULL) { +- return -1; ++ /* FIX: shrug */ ++ endgrent(); ++ grent = getgrnam(thisGname); ++ if (grent == NULL) { ++ return -1; ++ } + } ++ lastGid = grent->gr_gid; + } +- lastGid = grent->gr_gid; ++ strcpy(lastGname, thisGname); ++ lastGnameLen = thisGnameLen; + } + + *gid = lastGid; +@@ -109,7 +172,7 @@ const char * rpmugUname(uid_t uid) + { + static uid_t lastUid = (uid_t) -1; + static char * lastUname = NULL; +- static size_t lastUnameLen = 0; ++ static size_t lastUnameAlloced = 0; + + if (uid == (uid_t) -1) { + lastUid = (uid_t) -1; +@@ -126,9 +189,9 @@ const char * rpmugUname(uid_t uid) + + lastUid = uid; + len = strlen(pwent->pw_name); +- if (lastUnameLen < len + 1) { +- lastUnameLen = len + 20; +- lastUname = xrealloc(lastUname, lastUnameLen); ++ if (lastUnameAlloced < len + 1) { ++ lastUnameAlloced = len + 20; ++ lastUname = xrealloc(lastUname, lastUnameAlloced); + } + strcpy(lastUname, pwent->pw_name); + +@@ -140,7 +203,7 @@ const char * rpmugGname(gid_t gid) + { + static gid_t lastGid = (gid_t) -1; + static char * lastGname = NULL; +- static size_t lastGnameLen = 0; ++ static size_t lastGnameAlloced = 0; + + if (gid == (gid_t) -1) { + lastGid = (gid_t) -1; +@@ -157,9 +220,9 @@ const char * rpmugGname(gid_t gid) + + lastGid = gid; + len = strlen(grent->gr_name); +- if (lastGnameLen < len + 1) { +- lastGnameLen = len + 20; +- lastGname = xrealloc(lastGname, lastGnameLen); ++ if (lastGnameAlloced < len + 1) { ++ lastGnameAlloced = len + 20; ++ lastGname = xrealloc(lastGname, lastGnameAlloced); + } + strcpy(lastGname, grent->gr_name); + +@@ -189,3 +252,16 @@ void rpmugFree(void) + rpmugUname(-1); + rpmugGname(-1); + } ++ ++void rpmugChroot(int in) ++{ ++ /* tell libc to drop caches / file descriptors */ ++ endpwent(); ++ endgrent(); ++ /* drop our own caches */ ++ rpmugUid(NULL, NULL); ++ rpmugGid(NULL, NULL); ++#if defined(__GLIBC__) ++ inchroot = in; ++#endif ++} +--- ./lib/rpmug.h.orig 2014-02-05 13:04:02.000000000 +0000 ++++ ./lib/rpmug.h 2014-02-20 12:50:05.362815211 +0000 +@@ -15,4 +15,6 @@ int rpmugInit(void); + + void rpmugFree(void); + ++void rpmugChroot(int in); ++ + #endif /* _RPMUG_H */ diff --git a/source_date_epoch_buildtime.diff b/source_date_epoch_buildtime.diff new file mode 100644 index 0000000..e08fce5 --- /dev/null +++ b/source_date_epoch_buildtime.diff @@ -0,0 +1,11 @@ +--- ./build/pack.c.orig 2018-03-27 12:21:03.036841297 +0000 ++++ ./build/pack.c 2018-03-27 12:29:56.050400820 +0000 +@@ -161,7 +161,7 @@ static rpm_time_t * getBuildTime(void) + + if (buildTime[0] == 0) { + srcdate = getenv("SOURCE_DATE_EPOCH"); +- if (srcdate) { ++ if (srcdate && rpmExpandNumeric("%{?use_source_date_epoch_as_buildtime}")) { + errno = 0; + epoch = strtol(srcdate, &endptr, 10); + if (srcdate == endptr || *endptr || errno != 0) diff --git a/specfilemacro.diff b/specfilemacro.diff new file mode 100644 index 0000000..2a5f5eb --- /dev/null +++ b/specfilemacro.diff @@ -0,0 +1,10 @@ +--- ./build/parseSpec.c.orig 2013-06-10 15:55:10.000000000 +0000 ++++ ./build/parseSpec.c 2013-07-12 12:04:11.000000000 +0000 +@@ -561,6 +561,7 @@ static rpmSpec parseSpec(const char *spe + spec = newSpec(); + + spec->specFile = rpmGetPath(specFile, NULL); ++ addMacro(spec->macros, "_specfile", NULL, spec->specFile, RMIL_SPEC); + pushOFI(spec, spec->specFile); + /* If buildRoot not specified, use default %{buildroot} */ + if (buildRoot) { diff --git a/suspendlock.diff b/suspendlock.diff new file mode 100644 index 0000000..0947093 --- /dev/null +++ b/suspendlock.diff @@ -0,0 +1,117 @@ +Suspend exclusive database lock when scriptlets get called, allowing +read access in scriptlets. Only needed for DB_PRIVATE (aka global) +locking. + +--- ./lib/backend/db3.c.orig 2017-12-01 14:27:03.193486711 +0000 ++++ ./lib/backend/db3.c 2017-12-01 14:27:23.747426200 +0000 +@@ -552,6 +552,46 @@ static void db3_dbSetFSync(rpmdb rdb, in + + static int db3_Ctrl(rpmdb rdb, dbCtrlOp ctrl) + { ++ struct flock l; ++ int tries; ++ int fdno = -1; ++ dbiIndex dbi; ++ DB * db; ++ ++ switch (ctrl) { ++ case DB_CTRL_SUSPEND_DBLOCK: ++ case DB_CTRL_RESUME_DBLOCK: ++ dbi = rdb->db_pkgs; /* packages db only */ ++ if (!dbi) ++ return 1; ++ if (!dbi->cfg.dbi_lockdbfd || (dbi->dbi_flags & DBI_VERIFYONLY) != 0) ++ return 0; ++ if (!(dbi->dbi_rpmdb->db_mode & (O_RDWR|O_WRONLY))) ++ return 0; ++ if (_lockdbfd == 0) ++ return 0; ++ db = dbi->dbi_db; ++ if (!(db->fd(db, &fdno) == 0 && fdno >= 0)) ++ return 1; ++ for (tries = 0; tries < 2; tries++) { ++ memset(&l, 0, sizeof(l)); ++ l.l_whence = 0; ++ l.l_start = 0; ++ l.l_len = 0; ++ l.l_type = ctrl == DB_CTRL_SUSPEND_DBLOCK ? F_RDLCK : F_WRLCK; ++ if (!fcntl(fdno, tries ? F_SETLKW : F_SETLK, (void *)&l)) ++ return 0; ++ if (ctrl == DB_CTRL_SUSPEND_DBLOCK) { ++ rpmlog(RPMLOG_WARNING, _("could not suspend database lock\n")); ++ return 1; ++ } ++ if (tries == 0) ++ rpmlog(RPMLOG_WARNING, _("waiting to reestablish exclusive database lock\n")); ++ } ++ return 1; ++ default: ++ break; ++ } + return 0; + } + +--- ./lib/backend/dbi.h.orig 2017-12-01 14:27:03.193486711 +0000 ++++ ./lib/backend/dbi.h 2017-12-01 14:27:23.747426200 +0000 +@@ -17,7 +17,9 @@ typedef enum dbCtrlOp_e { + DB_CTRL_UNLOCK_RO = 2, + DB_CTRL_LOCK_RW = 3, + DB_CTRL_UNLOCK_RW = 4, +- DB_CTRL_INDEXSYNC = 5 ++ DB_CTRL_INDEXSYNC = 5, ++ DB_CTRL_SUSPEND_DBLOCK = 100, ++ DB_CTRL_RESUME_DBLOCK = 101 + } dbCtrlOp; + + typedef struct dbiIndex_s * dbiIndex; +--- ./lib/rpmdb.c.orig 2017-12-01 14:27:03.190486720 +0000 ++++ ./lib/rpmdb.c 2017-12-01 14:27:23.748426197 +0000 +@@ -2639,6 +2639,12 @@ int rpmdbCtrl(rpmdb db, rpmdbCtrlOp ctrl + case RPMDB_CTRL_INDEXSYNC: + dbctrl = DB_CTRL_INDEXSYNC; + break; ++ case RPMDB_CTRL_SUSPEND_DBLOCK: ++ dbctrl = DB_CTRL_SUSPEND_DBLOCK; ++ break; ++ case RPMDB_CTRL_RESUME_DBLOCK: ++ dbctrl = DB_CTRL_RESUME_DBLOCK; ++ break; + } + return dbctrl ? dbCtrl(db, dbctrl) : 1; + } +--- ./lib/rpmdb.h.orig 2017-10-05 10:04:57.035602138 +0000 ++++ ./lib/rpmdb.h 2017-12-01 14:27:23.748426197 +0000 +@@ -35,7 +35,9 @@ typedef enum rpmdbCtrlOp_e { + RPMDB_CTRL_UNLOCK_RO = 2, + RPMDB_CTRL_LOCK_RW = 3, + RPMDB_CTRL_UNLOCK_RW = 4, +- RPMDB_CTRL_INDEXSYNC = 5 ++ RPMDB_CTRL_INDEXSYNC = 5, ++ RPMDB_CTRL_SUSPEND_DBLOCK = 100, ++ RPMDB_CTRL_RESUME_DBLOCK = 101 + } rpmdbCtrlOp; + + /** \ingroup rpmdb +--- ./lib/transaction.c.orig 2017-12-01 14:27:23.750426192 +0000 ++++ ./lib/transaction.c 2017-12-01 14:28:43.232192224 +0000 +@@ -1457,6 +1457,7 @@ rpmRC runScript(rpmts ts, rpmte te, Head + stag != RPMTAG_PREUN && + stag != RPMTAG_PRETRANS && + stag != RPMTAG_VERIFYSCRIPT); ++ rpmdb rdb = rpmtsGetRdb(ts); + + /* Fake up a transaction element for triggers from rpmdb */ + if (te == NULL) { +@@ -1468,10 +1469,12 @@ rpmRC runScript(rpmts ts, rpmte te, Head + if (sfd == NULL) + sfd = rpmtsScriptFd(ts); + ++ rpmdbCtrl(rdb, RPMDB_CTRL_SUSPEND_DBLOCK); + rpmswEnter(rpmtsOp(ts, RPMTS_OP_SCRIPTLETS), 0); + rc = rpmScriptRun(script, arg1, arg2, sfd, + prefixes, warn_only, rpmtsPlugins(ts)); + rpmswExit(rpmtsOp(ts, RPMTS_OP_SCRIPTLETS), 0); ++ rpmdbCtrl(rdb, RPMDB_CTRL_RESUME_DBLOCK); + + /* Map warn-only errors to "notfound" for script stop callback */ + stoprc = (rc != RPMRC_OK && warn_only) ? RPMRC_NOTFOUND : rc; diff --git a/sysconfig.services-rpm b/sysconfig.services-rpm new file mode 100644 index 0000000..18643bc --- /dev/null +++ b/sysconfig.services-rpm @@ -0,0 +1,17 @@ +## Path: System/Services + +## Type: yesno +## Default: no +# +# Do you want to disable the automatic restart of services when +# a new version gets installed? +# +DISABLE_RESTART_ON_UPDATE="no" + +## Type: yesno +## Default: no +# +# Do you want to disable the automatic shutdown of services when +# the corresponding package gets erased? +# +DISABLE_STOP_ON_REMOVAL="no" diff --git a/taggedfileindex.diff b/taggedfileindex.diff new file mode 100644 index 0000000..0324a7f --- /dev/null +++ b/taggedfileindex.diff @@ -0,0 +1,15 @@ +This used to be the taggedfileindex patch, but it's gone. +The remaining part just strips off the tag. + +--- ./lib/backend/db3.c.orig 2017-01-19 12:54:16.141112342 +0000 ++++ ./lib/backend/db3.c 2017-01-19 12:55:14.587945851 +0000 +@@ -1024,6 +1024,9 @@ static int dbt2set(dbiIndex dbi, DBT * d + _DBSWAP(hdrNum); + _DBSWAP(tagNum); + } ++ /* remove tagged directory info */ ++ if (tagNum.ui & 0x80000000) ++ tagNum.ui &= 0x0000ffff; + set->recs[i].hdrNum = hdrNum.ui; + set->recs[i].tagNum = tagNum.ui; + } diff --git a/usr-lib-sysimage-rpm.patch b/usr-lib-sysimage-rpm.patch new file mode 100644 index 0000000..d844a77 --- /dev/null +++ b/usr-lib-sysimage-rpm.patch @@ -0,0 +1,11 @@ +--- rpm-4.13.0.1/macros.in.orig 2017-10-04 17:05:17.198681581 +0200 ++++ rpm-4.13.0.1/macros.in 2017-10-04 17:07:37.122679969 +0200 +@@ -165,7 +165,7 @@ + %_bzip2bin %{__bzip2} + + # The location of the rpm database file(s). +-%_dbpath %{_var}/lib/rpm ++%_dbpath %{_usr}/lib/sysimage/rpm + + # The location of the rpm database file(s) after "rpm --rebuilddb". + %_dbpath_rebuild %{_dbpath} diff --git a/waitlock.diff b/waitlock.diff new file mode 100644 index 0000000..d565a77 --- /dev/null +++ b/waitlock.diff @@ -0,0 +1,111 @@ +Fix global (DB_PRIVATE) lock code: fix recursion counter, retry +failed lock operations for up to 3 minutes. + +--- ./lib/backend/db3.c.orig 2017-01-19 14:59:01.432807649 +0000 ++++ ./lib/backend/db3.c 2017-01-19 15:13:18.034716068 +0000 +@@ -33,6 +33,8 @@ struct dbiCursor_s { + static struct dbiConfig_s staticdbicfg; + static struct dbConfig_s staticcfg; + ++static int _lockdbfd = 0; ++ + /** \ingroup dbi + */ + static const struct poptOption rdbOptions[] = { +@@ -744,6 +746,8 @@ static int db3_dbiClose(dbiIndex dbi, un + + rpmlog(RPMLOG_DEBUG, "closed db index %s/%s\n", + dbhome, dbi->dbi_file); ++ if (dbi->cfg.dbi_lockdbfd && !(dbi->dbi_flags & DBI_VERIFYONLY) && _lockdbfd) ++ _lockdbfd--; + } + + db_fini(rdb, dbhome ? dbhome : ""); +@@ -783,6 +787,7 @@ static int dbiFlock(dbiIndex dbi, int mo + rc = 1; + } else { + const char *dbhome = rpmdbHome(dbi->dbi_rpmdb); ++ int tries; + struct flock l; + memset(&l, 0, sizeof(l)); + l.l_whence = 0; +@@ -792,20 +797,38 @@ static int dbiFlock(dbiIndex dbi, int mo + ? F_RDLCK : F_WRLCK; + l.l_pid = 0; + +- rc = fcntl(fdno, F_SETLK, (void *) &l); +- if (rc) { +- uint32_t eflags = db_envflags(db); +- /* Warning iff using non-private CDB locking. */ +- rc = (((eflags & DB_INIT_CDB) && !(eflags & DB_PRIVATE)) ? 0 : 1); +- rpmlog( (rc ? RPMLOG_ERR : RPMLOG_WARNING), +- _("cannot get %s lock on %s/%s\n"), +- ((mode & O_ACCMODE) == O_RDONLY) +- ? _("shared") : _("exclusive"), +- dbhome, dbi->dbi_file); +- } else { +- rpmlog(RPMLOG_DEBUG, +- "locked db index %s/%s\n", +- dbhome, dbi->dbi_file); ++ for (tries = 0; ; tries++) { ++ rc = fcntl(fdno, F_SETLK, (void *) &l); ++ if (rc) { ++ uint32_t eflags = db_envflags(db); ++ /* Warning iff using non-private CDB locking. */ ++ rc = (((eflags & DB_INIT_CDB) && !(eflags & DB_PRIVATE)) ? 0 : 1); ++ if (errno == EAGAIN && rc) { ++ struct timespec ts; ++ if (tries == 0) ++ rpmlog(RPMLOG_WARNING, ++ _("waiting for %s lock on %s/%s\n"), ++ ((mode & O_ACCMODE) == O_RDONLY) ++ ? _("shared") : _("exclusive"), ++ dbhome, dbi->dbi_file); ++ ts.tv_sec = (time_t)0; ++ ts.tv_nsec = 100000000; /* .1 seconds */ ++ if (tries < 10*60*3) { /* 3 minutes */ ++ nanosleep(&ts, (struct timespec *)0); ++ continue; ++ } ++ } ++ rpmlog( (rc ? RPMLOG_ERR : RPMLOG_WARNING), ++ _("cannot get %s lock on %s/%s\n"), ++ ((mode & O_ACCMODE) == O_RDONLY) ++ ? _("shared") : _("exclusive"), ++ dbhome, dbi->dbi_file); ++ } else { ++ rpmlog(RPMLOG_DEBUG, ++ "locked db index %s/%s\n", ++ dbhome, dbi->dbi_file); ++ } ++ break; + } + } + return rc; +@@ -822,7 +845,6 @@ static int db3_dbiOpen(rpmdb rdb, rpmDbi + DB * db = NULL; + DBTYPE dbtype = DB_UNKNOWN; + uint32_t oflags; +- static int _lockdbfd = 0; + + if (dbip) + *dbip = NULL; +@@ -902,6 +924,8 @@ static int db3_dbiOpen(rpmdb rdb, rpmDbi + dbi->dbi_flags |= DBI_CREATED; + if (oflags & DB_RDONLY) + dbi->dbi_flags |= DBI_RDONLY; ++ if (verifyonly) ++ dbi->dbi_flags |= DBI_VERIFYONLY; + + if (!verifyonly && rc == 0 && dbi->cfg.dbi_lockdbfd && _lockdbfd++ == 0) { + rc = dbiFlock(dbi, rdb->db_mode); +--- ./lib/backend/dbi.h.orig 2017-01-19 15:12:26.833899257 +0000 ++++ ./lib/backend/dbi.h 2017-01-19 15:05:43.958347554 +0000 +@@ -83,6 +83,7 @@ enum dbiFlags_e { + DBI_NONE = 0, + DBI_CREATED = (1 << 0), + DBI_RDONLY = (1 << 1), ++ DBI_VERIFYONLY = (1 << 2), + }; + + enum dbcFlags_e { diff --git a/weakdepscompat.diff b/weakdepscompat.diff new file mode 100644 index 0000000..679b4bc --- /dev/null +++ b/weakdepscompat.diff @@ -0,0 +1,10 @@ +--- ./build/parsePreamble.c.orig 2014-08-04 13:10:07.530953406 +0000 ++++ ./build/parsePreamble.c 2014-08-04 13:10:12.852929355 +0000 +@@ -343,6 +343,7 @@ static struct tokenBits_s const installS + { "verify", RPMSENSE_SCRIPT_VERIFY }, + { "pretrans", RPMSENSE_PRETRANS }, + { "posttrans", RPMSENSE_POSTTRANS }, ++ { "hint", RPMSENSE_MISSINGOK }, + { NULL, 0 } + }; + diff --git a/whatrequires-doc.diff b/whatrequires-doc.diff new file mode 100644 index 0000000..035d0e1 --- /dev/null +++ b/whatrequires-doc.diff @@ -0,0 +1,14 @@ +--- ./doc/rpm.8.orig 2018-08-21 10:38:02.035078442 +0000 ++++ ./doc/rpm.8 2018-10-16 09:21:26.948505637 +0000 +@@ -632,6 +632,11 @@ Query all packages that provide the \fIC + .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 package, use \fB-e --test \fIPACKAGE_NAME\fB\fR + .TP + \fB--whatconflicts \fICAPABILITY\fB\fR + Query all packages that conflict with \fICAPABILITY\fR.