commit dd10ba1e79123f04a41ad570497f6d145976c1d8 Author: Adrian Schröter Date: Wed Aug 16 16:48:39 2023 +0200 Sync from SUSE:ALP:Source:Standard:1.0 rpm revision 0fba2a0dd71a42316083bcbdabf043ac diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fecc750 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..0eb3948 --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + +python-rpm + diff --git a/assumeexec.diff b/assumeexec.diff new file mode 100644 index 0000000..a02e816 --- /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..ef59b7d --- /dev/null +++ b/auto-config-update-aarch64-ppc64le.diff @@ -0,0 +1,36 @@ +Index: build/parseSpec.c +=================================================================== +--- build/parseSpec.c.orig ++++ build/parseSpec.c +@@ -942,7 +942,30 @@ static rpmSpec parseSpec(const char *spe + &(spec->buildrequires)); + break; + case PART_BUILD: +- parsePart = parseSimpleScript(spec, "%build", &(spec->build)); ++ if (spec->build) { ++ rpmlog(RPMLOG_ERR, _("line %d: second %s\n"), spec->lineNum, "%build"); ++ parsePart = PART_ERROR; ++ break; ++ } ++ spec->build = newStringBuf(); ++ appendLineStringBuf(spec->build, ++ "ref=/usr/lib/rpm\n" ++ "mints=0\n" ++ "case $(uname -m) in\n" ++ " aarch64) mints=20120610;;\n" ++ " ppc64le) mints=20130610;;\n" ++ " riscv64) mints=20160911;;\n" ++ "esac\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" ++ " timestamp=$(sed -n \"/^timestamp=/{s///;s/[-'\\\"]//g;p;q;}\" $c)\n" ++ " test -n \"$timestamp\" || timestamp=0\n" ++ " test $timestamp -ge $mints || install -m 755 $ref/config.$s $c\n" ++ " done\n" ++ "done\n" ++ ); ++ parsePart = parseLines(spec, STRIP_NOTHING, NULL, &(spec->build)); + break; + case PART_INSTALL: + parsePart = parseSimpleScript(spec, "%install", &(spec->install)); 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/brp-compress-no-img.patch b/brp-compress-no-img.patch new file mode 100644 index 0000000..7a2b78c --- /dev/null +++ b/brp-compress-no-img.patch @@ -0,0 +1,11 @@ +--- scripts/brp-compress.orig 2022-12-02 13:18:54.498881077 +0000 ++++ scripts/brp-compress 2022-12-02 13:20:00.038727777 +0000 +@@ -52,6 +52,8 @@ do + while IFS= read -r -d '' f; do + [ -f "$f" ] || continue + ++ case $(file "$f") in *"image data"*) continue;; esac ++ + case "$f" in + *.gz|*.Z) gunzip -f "$f"; check_for_hard_link $d "$f"; b=`echo "$f" | sed -e 's/\.\(gz\|Z\)$//'`;; + *.bz2) bunzip2 -f "$f"; check_for_hard_link $d "$f"; b=`echo "$f" | sed -e 's/\.bz2$//'`;; diff --git a/brp.diff b/brp.diff new file mode 100644 index 0000000..7a62141 --- /dev/null +++ b/brp.diff @@ -0,0 +1,19 @@ +--- scripts/brp-strip-comment-note.orig 2022-04-07 11:13:19.072518377 +0000 ++++ scripts/brp-strip-comment-note 2022-12-02 13:07:03.700394762 +0000 +@@ -15,7 +15,7 @@ esac + + # Strip .comment and .note sections (the latter only if it is not allocated) + # 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 \) -print0 | xargs -0 -r -P$NCPUS -n32 sh -c "file \"\\$@\" | grep -v \"^${RPM_BUILD_ROOT}/\?usr/lib/debug\" | sed -n -e 's/^\(.*\):[ ]*ELF.*, stripped.*/\1/p'" ARG0`; do ++for f in `find "$RPM_BUILD_ROOT" -type f \( -perm -0100 -or -perm -0010 -or -perm -0001 \) -print0 | xargs -0 -r -P$NCPUS -n32 sh -c "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'" ARG0`; do + note="-R .note" + if $OBJDUMP -h $f | grep '^[ ]*[0-9]*[ ]*.note[ ]' -A 1 | \ + grep ALLOC >/dev/null; then +--- scripts/brp-strip.orig 2022-04-07 11:13:19.072518377 +0000 ++++ scripts/brp-strip 2022-12-02 13:04:21.392758270 +0000 +@@ -14,4 +14,4 @@ esac + + # Strip ELF binaries + find "$RPM_BUILD_ROOT" -type f \! -regex "${RPM_BUILD_ROOT}/*usr/lib/debug.*" \! -name "*.go" -print0 | \ +- xargs -0 -r -P$NCPUS -n32 sh -c "file \"\$@\" | sed -n -e 's/^\(.*\):[ ]*ELF.*, not stripped.*/\1/p' | grep -v 'no machine' | xargs -I\{\} $STRIP -g \{\}" ARG0 ++ xargs -0 -r -P$NCPUS -n32 sh -c "file \"\$@\" | grep -v ' shared object,' | grep -v '/lib/modules/ | sed -n -e 's/^\(.*\):[ ]*ELF.*, not stripped.*/\1/p' | grep -v 'no machine' | xargs -I\{\} $STRIP -g \{\}" ARG0 diff --git a/brpcompress.diff b/brpcompress.diff new file mode 100644 index 0000000..635134e --- /dev/null +++ b/brpcompress.diff @@ -0,0 +1,80 @@ +--- scripts/brp-compress.orig 2022-04-07 11:13:19.072518377 +0000 ++++ scripts/brp-compress 2022-12-02 13:12:31.239774558 +0000 +@@ -5,6 +5,9 @@ if [ -z "$RPM_BUILD_ROOT" ] || [ "$RPM_B + exit 0 + fi + ++LC_ALL= ++LANG= ++LC_TIME=POSIX + PREFIX=${1:-/usr} + + cd "$RPM_BUILD_ROOT" +@@ -13,6 +16,30 @@ cd "$RPM_BUILD_ROOT" + 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 ;; ++ *.zst|*.zstd) unzstd --rm $b ;; ++ esac ++ ++ type=${b##*.} ++ for afile in $others ; do ++ [ "${afile%.$type}" != "${b%.$type}" ] && ln ${b%.$type} ${afile%.$type} ++ done ++} ++ + for d in .${PREFIX}/man/man* .${PREFIX}/man/*/man* .${PREFIX}/info \ + .${PREFIX}/share/man/man* .${PREFIX}/share/man/*/man* \ + .${PREFIX}/share/info .${PREFIX}/kerberos/man \ +@@ -26,10 +53,10 @@ 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\)$//'`;; +- *.zst|*.zstd) unzstd -f --rm $f; b=`echo "$f" | sed -e 's/\.\(zst\|zstd\)$//'`;; ++ *.gz|*.Z) gunzip -f "$f"; check_for_hard_link $d "$f"; b=`echo "$f" | sed -e 's/\.\(gz\|Z\)$//'`;; ++ *.bz2) bunzip2 -f "$f"; check_for_hard_link $d "$f"; b=`echo "$f" | sed -e 's/\.bz2$//'`;; ++ *.xz|*.lzma) unxz -f "$f"; check_for_hard_link $d "$f"; b=`echo "$f" | sed -e 's/\.\(xz\|lzma\)$//'`;; ++ *.zst|*.zstd) unzstd -f --rm $f; check_for_hard_link $d "$f"; b=`echo "$f" | sed -e 's/\.\(zst\|zstd\)$//'`;; + *) b="$f";; + esac + +@@ -38,7 +65,7 @@ do + 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" + for afile in $others ; do +@@ -52,9 +79,9 @@ do + + find $d -type l -print0 | + while IFS= read -r -d '' f; do +- l=`ls -l $f | sed -e 's/.* -> //' -e 's/\.\(gz\|Z\|bz2\|xz\|lzma\|zst\|zstd\)$//'` +- rm -f $f +- b=`echo $f | sed -e 's/\.\(gz\|Z\|bz2\|xz\|lzma\|zst\|zstd\)$//'` ++ l=`ls -l "$f" | sed -e 's/.* -> //' -e 's/\.\(gz\|Z\|bz2\|xz\|lzma\|zst\|zstd\)$//'` ++ rm -f "$f" ++ b=`echo "$f" | sed -e 's/\.\(gz\|Z\|bz2\|xz\|lzma\|zst\|zstd\)$//'` + ln -sf "$l$COMPRESS_EXT" "$b$COMPRESS_EXT" + done + done diff --git a/build.diff b/build.diff new file mode 100644 index 0000000..88983e2 --- /dev/null +++ b/build.diff @@ -0,0 +1,14 @@ +--- 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..33d82a4 --- /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 2020-09-30 12:36:56.398762048 +0000 ++++ scripts/check-files 2020-09-30 12:41:15.294176572 +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}"'\(.*\)$! \2!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}"'\(.*\)$! \2!gp' + diff --git a/checksepwarn.diff b/checksepwarn.diff new file mode 100644 index 0000000..66c5896 --- /dev/null +++ b/checksepwarn.diff @@ -0,0 +1,68 @@ +--- build/parseReqs.c.orig 2019-06-26 14:17:31.396985719 +0000 ++++ build/parseReqs.c 2019-10-02 12:10:51.879570016 +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_OBSOLETENAME) { +--- macros.in.orig 2019-10-02 12:10:45.431583601 +0000 ++++ macros.in 2019-10-02 12:10:51.879570016 +0000 +@@ -452,7 +452,7 @@ package or when debugging this package.\ + %_invalid_encoding_terminates_build 1 + + # 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/cpuid_lzcnt.patch b/cpuid_lzcnt.patch new file mode 100644 index 0000000..722cbe6 --- /dev/null +++ b/cpuid_lzcnt.patch @@ -0,0 +1,48 @@ +From 6b7c58474df3b416b1acb8b58e73b7edf73b8c43 Mon Sep 17 00:00:00 2001 +From: Fabian Vogt +Date: Mon, 6 Mar 2023 17:50:42 +0100 +Subject: [PATCH] The bit for LZCNT is in CPUID 0x80000001, not 1 + +The GCC headers put bit_LZCNT into the list for CPUID 1 %ecx values, but that +corresponds to VMX. LZCNT is actually advertised in CPUID 0x80000001 %ecx, +which is also referred to as "ABM" by AMD and some other places. +--- + lib/rpmrc.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git lib/rpmrc.c lib/rpmrc.c +index fc2ed5fe2..66ce947ae 100644 +--- lib/rpmrc.c ++++ lib/rpmrc.c +@@ -747,7 +747,6 @@ static inline void cpuid(uint32_t op, uint32_t op2, uint32_t *eax, uint32_t *ebx + /* Features (%eax == 1) */ + /* %ecx */ + #define bit_SSE3 (1 << 0) +-#define bit_LZCNT (1 << 5) + #define bit_SSSE3 (1 << 9) + #define bit_FMA (1 << 12) + #define bit_CMPXCHG16B (1 << 13) +@@ -762,6 +761,7 @@ static inline void cpuid(uint32_t op, uint32_t op2, uint32_t *eax, uint32_t *ebx + /* Extended Features (%eax == 0x80000001) */ + /* %ecx */ + #define bit_LAHF_LM (1 << 0) ++#define bit_LZCNT (1 << 5) + + /* Extended Features (%eax == 7) */ + /* %ebx */ +@@ -787,9 +787,10 @@ static int get_x86_64_level(void) + if ((op_1_ecx & op_1_ecx_lv2) == op_1_ecx_lv2 && (op_80000001_ecx & bit_LAHF_LM)) + level = 2; + +- const unsigned int op_1_ecx_lv3 = bit_LZCNT | bit_FMA | bit_MOVBE | bit_OSXSAVE | bit_AVX | bit_F16C; ++ const unsigned int op_1_ecx_lv3 = bit_FMA | bit_MOVBE | bit_OSXSAVE | bit_AVX | bit_F16C; + const unsigned int op_7_ebx_lv3 = bit_BMI | bit_AVX2 | bit_BMI2; +- if (level == 2 && (op_1_ecx & op_1_ecx_lv3) == op_1_ecx_lv3 && (op_7_ebx & op_7_ebx_lv3) == op_7_ebx_lv3) ++ if (level == 2 && (op_1_ecx & op_1_ecx_lv3) == op_1_ecx_lv3 && (op_7_ebx & op_7_ebx_lv3) == op_7_ebx_lv3 ++ && (op_80000001_ecx & bit_LZCNT)) + level = 3; + + const unsigned int op_7_ebx_lv4 = bit_AVX512F | bit_AVX512DQ | bit_AVX512CD | bit_AVX512BW | bit_AVX512VL; +-- +2.39.2 + diff --git a/db_conversion.diff b/db_conversion.diff new file mode 100644 index 0000000..93ca78c --- /dev/null +++ b/db_conversion.diff @@ -0,0 +1,169 @@ +--- lib/backend/bdb_ro.c.orig 2022-04-07 11:13:18.994517848 +0000 ++++ lib/backend/bdb_ro.c 2022-12-02 13:22:16.726408071 +0000 +@@ -793,6 +793,7 @@ static unsigned int bdbro_pkgdbKey(dbiIn + struct rpmdbOps_s bdbro_dbops = { + .name = "bdb_ro", + .path = "Packages", ++ .readonly = 1, + + .open = bdbro_Open, + .close = bdbro_Close, +--- lib/backend/dbi.c.orig 2022-04-07 11:13:18.994517848 +0000 ++++ lib/backend/dbi.c 2022-12-02 13:22:16.726408071 +0000 +@@ -138,11 +138,20 @@ exit: + } + + rdb->db_descr = rdb->db_ops->name; ++ rdb->db_ops_config = cfg; + + if (db_backend) + free(db_backend); + } + ++int dbiNeedConversion(rpmdb rdb) ++{ ++ if (!rdb->db_ops) ++ dbDetectBackend(rdb); ++ return rdb->db_ops->readonly && rdb->db_ops_config ++ && rdb->db_ops_config->path && !rdb->db_ops_config->readonly; ++} ++ + const char * dbiName(dbiIndex dbi) + { + return dbi->dbi_file; +--- lib/backend/dbi.h.orig 2022-04-07 11:13:18.994517848 +0000 ++++ lib/backend/dbi.h 2022-12-02 13:22:16.726408071 +0000 +@@ -13,6 +13,7 @@ enum rpmdbFlags { + RPMDB_FLAG_REBUILD = (1 << 1), + RPMDB_FLAG_VERIFYONLY = (1 << 2), + RPMDB_FLAG_SALVAGE = (1 << 3), ++ RPMDB_FLAG_CONVERT = (1 << 4), + }; + + typedef enum dbCtrlOp_e { +@@ -53,6 +54,7 @@ struct rpmdb_s { + int db_buildindex; /*!< Index rebuild indicator */ + + const struct rpmdbOps_s * db_ops; /*!< backend ops */ ++ const struct rpmdbOps_s * db_ops_config; /*!< configured backend ops */ + + /* dbenv and related parameters */ + void * db_dbenv; /*!< Backend private handle */ +@@ -197,6 +199,14 @@ RPM_GNUC_INTERNAL + const char * dbiName(dbiIndex dbi); + + /** \ingroup dbi ++ * Check if the database needs to be converted to a different format ++ * @param db rpm database ++ * @return boolean ++ */ ++RPM_GNUC_INTERNAL ++int dbiNeedConversion(rpmdb rdb); ++ ++/** \ingroup dbi + * Open a database cursor. + * @param dbi index database handle + * @param flags DBC_WRITE if writing, or 0 (DBC_READ) for reading +@@ -240,6 +250,7 @@ const void * idxdbKey(dbiIndex dbi, dbiC + struct rpmdbOps_s { + const char *name; /* backend name */ + const char *path; /* main database name */ ++ int readonly; /* cannot modify database */ + + int (*open)(rpmdb rdb, rpmDbiTagVal rpmtag, dbiIndex * dbip, int flags); + int (*close)(dbiIndex dbi, unsigned int flags); +--- lib/backend/ndb/rpmpkg.c.orig 2022-04-07 11:13:18.997517869 +0000 ++++ lib/backend/ndb/rpmpkg.c 2022-12-02 13:22:16.726408071 +0000 +@@ -1116,11 +1116,12 @@ static int rpmpkgPutInternal(rpmpkgdb pk + if (rpmpkgWriteBlob(pkgdb, pkgidx, blkoff, blkcnt, blob, blobl, pkgdb->generation)) { + return RPMRC_FAIL; + } ++ /* update nextpkgidx if needed */ ++ if (pkgidx >= pkgdb->nextpkgidx) { ++ pkgdb->nextpkgidx = pkgidx + 1; ++ } + /* write slot */ + slotno = oldslot ? oldslot->slotno : pkgdb->freeslot; +- if (!slotno) { +- return RPMRC_FAIL; +- } + if (rpmpkgWriteslot(pkgdb, slotno, pkgidx, blkoff, blkcnt)) { + free(pkgdb->slots); + pkgdb->slots = 0; +--- lib/rpmdb.c.orig 2022-09-20 12:08:27.197920294 +0000 ++++ lib/rpmdb.c 2022-12-02 13:24:02.830159868 +0000 +@@ -469,7 +469,12 @@ static int openDatabase(const char * pre + /* Open just bare minimum when rebuilding a potentially damaged db */ + int justPkgs = (db->db_flags & RPMDB_FLAG_REBUILD) && + ((db->db_mode & O_ACCMODE) == O_RDONLY); +- rc = doOpen(db, justPkgs); ++ if (!db->db_pkgs && !justCheck && (mode & O_ACCMODE) == O_RDWR && dbiNeedConversion(db)) { ++ rc = rpmdbRebuild(prefix, NULL, NULL, RPMDB_REBUILD_FLAG_CONVERT); ++ db->db_ops = NULL; /* force re-detection of backend */ ++ } ++ if (!rc) ++ rc = doOpen(db, justPkgs); + + if (!db->db_descr) + db->db_descr = "unknown db"; +@@ -2228,6 +2233,15 @@ int rpmdbAdd(rpmdb db, Header h) + if (db == NULL) + return 0; + ++ if ((db->db_flags & RPMDB_FLAG_CONVERT) != 0) { ++ /* keep old instance numbers when converting */ ++ hdrNum = headerGetInstance(h); ++ if (hdrNum == 0) { ++ ret = -1; ++ goto exit; ++ } ++ } ++ + hdrBlob = headerExport(h, &hdrLen); + if (hdrBlob == NULL || hdrLen == 0) { + ret = -1; +@@ -2423,7 +2437,22 @@ int rpmdbRebuild(const char * prefix, rp + } + rootdbpath = rpmGetPath(prefix, dbpath, NULL); + +- newdbpath = rpmGetPath("%{?_dbpath_rebuild}", NULL); ++ if ((rebuildflags & RPMDB_REBUILD_FLAG_CONVERT) != 0) { ++ char lbuf[PATH_MAX]; ++ ssize_t s = readlink(rootdbpath, lbuf, PATH_MAX); ++ if (s > 0 && s < PATH_MAX) { ++ lbuf[s] = 0; ++ free(dbpath); ++ if (lbuf[0] == '/') ++ dbpath = strdup(lbuf); ++ else ++ dbpath = rpmGetPath("%{?_dbpath}", "/../", lbuf, NULL); ++ free(rootdbpath); ++ rootdbpath = rpmGetPath(prefix, dbpath, NULL); ++ } ++ newdbpath = strdup(""); ++ } else ++ newdbpath = rpmGetPath("%{?_dbpath_rebuild}", NULL); + if (rstreq(newdbpath, "") || rstreq(newdbpath, dbpath)) { + newdbpath = _free(newdbpath); + rasprintf(&newdbpath, "%srebuilddb.%d", dbpath, (int) getpid()); +@@ -2449,7 +2478,9 @@ int rpmdbRebuild(const char * prefix, rp + goto exit; + } + if (openDatabase(prefix, newdbpath, &newdb, +- (O_RDWR | O_CREAT), 0644, RPMDB_FLAG_REBUILD)) { ++ (O_RDWR | O_CREAT), 0644, RPMDB_FLAG_REBUILD | ++ (rebuildflags & RPMDB_REBUILD_FLAG_CONVERT ? ++ RPMDB_FLAG_CONVERT : 0))) { + rc = 1; + goto exit; + } +--- lib/rpmdb_internal.h.orig 2022-04-07 11:13:19.014517984 +0000 ++++ lib/rpmdb_internal.h 2022-12-02 13:22:16.726408071 +0000 +@@ -25,6 +25,7 @@ extern "C" { + + enum rpmdbRebuildFlags_e { + RPMDB_REBUILD_FLAG_SALVAGE = (1 << 0), ++ RPMDB_REBUILD_FLAG_CONVERT = (1 << 1), + }; + + /** \ingroup rpmdb diff --git a/emptymanifest.diff b/emptymanifest.diff new file mode 100644 index 0000000..80fd65b --- /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..443c871 --- /dev/null +++ b/enable-postin-scripts-error.diff @@ -0,0 +1,34 @@ +--- lib/rpmscript.c ++++ lib/rpmscript.c +@@ -390,7 +390,7 @@ rpmRC rpmScriptRun(rpmScript script, int + if (script == NULL) return RPMRC_OK; + + ARGV_t args = NULL; +- rpmlogLvl lvl = (script->flags & RPMSCRIPT_FLAG_CRITICAL) ? ++ rpmlogLvl lvl = (rpmScriptFlags(script) & RPMSCRIPT_FLAG_CRITICAL) ? + RPMLOG_ERR : RPMLOG_WARNING; + rpmRC rc; + int script_type = RPMSCRIPTLET_FORK | RPMSCRIPTLET_EXEC; +@@ -637,5 +637,8 @@ rpmscriptTypes rpmScriptType(rpmScript s + + rpmscriptFlags rpmScriptFlags(rpmScript script) + { +- return (script != NULL) ? script->flags : 0; ++ rpmscriptFlags flags = (script != NULL) ? script->flags : 0; ++ if (script && script->tag == RPMTAG_POSTIN && rpmExpandNumeric("%{_fail_on_postinstall_errors}")) ++ flags |= RPMSCRIPT_FLAG_CRITICAL; ++ return flags; + } +--- macros.in ++++ macros.in +@@ -1293,5 +1293,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..c62e237 --- /dev/null +++ b/fileattrs.diff @@ -0,0 +1,25 @@ +--- fileattrs/elf.attr.orig 2021-09-23 19:29:51.474079693 +0000 ++++ fileattrs/elf.attr 2021-09-23 19:35:43.413332593 +0000 +@@ -1,3 +1,4 @@ + %__elf_provides %{_rpmconfigdir}/elfdeps --provides + %__elf_requires %{_rpmconfigdir}/elfdeps --requires + %__elf_magic ^(setuid,? )?(setgid,? )?(sticky )?ELF (32|64)-bit.*$ ++%__elf_exclude_path ^/usr/lib/debug/ +--- fileattrs/perl.attr.orig 2021-06-21 12:00:44.587611741 +0000 ++++ fileattrs/perl.attr 2021-09-23 19:29:51.474079693 +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 2021-06-21 12:00:44.587611741 +0000 ++++ fileattrs/perllib.attr 2021-09-23 19:29:51.478079685 +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..f6c44fe --- /dev/null +++ b/find-lang-qt-qm.patch @@ -0,0 +1,13 @@ +--- scripts/find-lang.sh.orig 2021-09-23 19:57:49.046595975 +0000 ++++ scripts/find-lang.sh 2021-09-23 19:59:36.182374732 +0000 +@@ -305,7 +305,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]\+\([_@].*\)\?\)\.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]\+\([_@].*\)\?\)\.qm$\):%lang(\2) \1: + '"$ALL_NAME$QT"'s:^\([^%].*/\([a-zA-Z]\+[_@].*\)\.qm$\):%lang(\2) \1: + '"$ALL_NAME$QT"'s:^\([^%].*/\([a-zA-Z]\+\)\.qm$\):%lang(\2) \1: + '"$ALL_NAME$QT"'s:^\([^%].*/[^/_]\+_\([a-zA-Z]\+[_@].*\)\.qm$\):%lang(\2) \1: diff --git a/findlang.diff b/findlang.diff new file mode 100644 index 0000000..9ced3b4 --- /dev/null +++ b/findlang.diff @@ -0,0 +1,214 @@ +--- scripts/find-lang.sh.orig 2021-06-21 12:00:44.650612737 +0000 ++++ scripts/find-lang.sh 2021-09-23 19:12:01.428275661 +0000 +@@ -37,11 +37,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 +@@ -65,9 +65,9 @@ else NAMES[0]=$1 + fi + shift + +-GNOME=# ++GNOME= + MATE=# +-KDE=# ++KDE= + QT=# + MAN=# + HTML=# +@@ -89,6 +89,14 @@ while test $# -gt 0 ; do + KDE= + shift + ;; ++ --without-gnome ) ++ GNOME=# ++ shift ++ ;; ++ --without-kde ) ++ KDE=# ++ shift ++ ;; + --with-qt ) + QT= + shift +@@ -118,11 +126,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 + +@@ -132,7 +142,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"':: +@@ -140,27 +150,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"':: +@@ -168,7 +178,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"':: +@@ -181,14 +191,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"':: +@@ -196,7 +206,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 ] && [ -d "$TOP_DIR$KDE3_HTML" ]; then +@@ -208,7 +218,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` +@@ -221,7 +231,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` +@@ -234,7 +244,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 ' +@@ -245,7 +255,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"':: +@@ -258,7 +268,7 @@ s:'"$TOP_DIR"':: + '"$ALL_NAME$QT"'s:^\([^%].*/[^/]\+_\([a-zA-Z]\+\)\.qm$\):%lang(\2) \1: + s:^[^%].*:: + s:%lang(C) :: +-/^$/d' >> $MO_NAME ++/^$/d' >> $MO_NAME_NEW + + find "$TOP_DIR" -type d|sed ' + s:'"$TOP_DIR"':: +@@ -266,19 +276,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..0fdc416 --- /dev/null +++ b/findsupplements.diff @@ -0,0 +1,26 @@ +--- scripts/Makefile.am.orig 2022-04-07 11:13:19.072518377 +0000 ++++ scripts/Makefile.am 2022-12-02 13:21:08.886566747 +0000 +@@ -18,7 +18,7 @@ EXTRA_DIST = \ + rpm.daily rpm.log rpm.supp rpm2cpio.sh \ + rpm_macros_provides.sh \ + tgpg vpkg-provides.sh \ +- find-requires find-provides \ ++ find-requires find-provides find-supplements \ + ocamldeps.sh \ + pkgconfigdeps.sh \ + fontconfig.prov script.req +@@ -30,7 +30,7 @@ rpmconfig_SCRIPTS = \ + brp-remove-la-files \ + check-files check-prereqs \ + check-buildroot check-rpaths check-rpaths-worker \ +- find-lang.sh find-requires find-provides \ ++ find-lang.sh find-requires find-provides find-supplements \ + perl.prov perl.req \ + pkgconfigdeps.sh \ + ocamldeps.sh \ +--- scripts/find-supplements.orig 2022-12-02 13:21:08.886566747 +0000 ++++ scripts/find-supplements 2022-12-02 13:21:08.886566747 +0000 +@@ -0,0 +1,3 @@ ++#!/bin/sh ++ ++/usr/lib/rpm/rpmdeps --define="_use_internal_dependency_generator 1" --supplements diff --git a/headeradddb.diff b/headeradddb.diff new file mode 100644 index 0000000..0160193 --- /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) +--- include/rpm/lib/rpmts.h.orig 2011-05-12 13:21:11.000000000 +0000 ++++ include/rpm/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..1144b93 --- /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..9e7e0a6 --- /dev/null +++ b/ignore-auxv.diff @@ -0,0 +1,33 @@ +--- lib/rpmrc.c.orig 2020-09-30 07:48:01.215567727 +0000 ++++ lib/rpmrc.c 2020-09-30 12:22:46.612692258 +0000 +@@ -78,10 +78,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; +@@ -948,7 +950,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 + */ +@@ -1004,7 +1006,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..44a14f9 --- /dev/null +++ b/langnoc.diff @@ -0,0 +1,125 @@ +--- macros.in.orig 2021-09-23 19:54:19.515028659 +0000 ++++ macros.in 2021-09-23 19:54:25.495016311 +0000 +@@ -1150,6 +1150,7 @@ package or when debugging this package.\ + # %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 2021-09-23 19:54:19.507028675 +0000 ++++ scripts/find-lang.sh 2021-09-23 19:54:25.495016311 +0000 +@@ -75,6 +75,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 ) +@@ -118,6 +120,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 +@@ -158,6 +168,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 + +@@ -166,19 +178,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 + +@@ -194,6 +210,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 + +@@ -234,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 +@@ -247,6 +267,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 +@@ -284,6 +306,8 @@ s:'"$TOP_DIR"':: + '"$ALL_NAME$QT"'s:^\([^%].*/[^/]\+_\([a-zA-Z]\+[_@].*\)\.qm$\):%lang(\2) \1: + '"$ALL_NAME$QT"'s:^\([^%].*/[^/]\+_\([a-zA-Z]\+\)\.qm$\):%lang(\2) \1: + s:^[^%].*:: ++'"$ONLY_C"'/%lang(C)/!d ++'"$NO_C"'/%lang(C)/d + s:%lang(C) :: + /^$/d' >> $MO_NAME_NEW + +@@ -292,6 +316,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 + +@@ -299,6 +325,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/libmagic-exceptions.patch b/libmagic-exceptions.patch new file mode 100644 index 0000000..0568792 --- /dev/null +++ b/libmagic-exceptions.patch @@ -0,0 +1,29 @@ +From 4e244280db8d780ac90313785598487f888b8924 Mon Sep 17 00:00:00 2001 +From: Martin Liska +Date: Wed, 15 Mar 2023 19:15:00 +0100 +Subject: [PATCH] add more libmagic exceptions for HTML, SVG and PNG + +I noticed there are ~150K .html files in all libreoffice rpm files +and the detection is significantly delaying package build. Thus, I +introduce more exceptions for commonly used file formats. +--- + build/rpmfc.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git build/rpmfc.c build/rpmfc.c +index 763a68603..cd9e64348 100644 +--- build/rpmfc.c ++++ build/rpmfc.c +@@ -1181,6 +1181,9 @@ static const struct skipped_extension_s skipped_extensions[] = { + { ".h", "C Header", "text/x-c" }, + { ".la", "libtool library file", "text/plain" }, + { ".pc", "pkgconfig file", "text/plain" }, ++ { ".html", "HTML document", "text/html" }, ++ { ".png", "PNG image data", "image/png" }, ++ { ".svg", "SVG Scalable Vector Graphics image", "image/svg+xml" }, + { NULL, NULL, NULL } + }; + +-- +2.39.2 + diff --git a/localetag.diff b/localetag.diff new file mode 100644 index 0000000..e6d88bf --- /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 2021-06-21 12:00:44.615612184 +0000 ++++ lib/tagexts.c 2021-09-23 18:58:58.461872258 +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 + * @param[out] 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..7fb35d2 --- /dev/null +++ b/macrosin.diff @@ -0,0 +1,140 @@ +Index: macros.in +=================================================================== +--- macros.in.orig ++++ macros.in +@@ -148,6 +148,7 @@ + %{?_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 posix.access(rpm.expand("%_sourcedir/baselibs.conf"), "r") then print("--dwz-single-file-mode") end} \\\ + %{?_find_debuginfo_opts} \\\ + %{?_debugsource_packages:-S debugsourcefiles.list} \\\ + "%{_builddir}/%{?buildsubdir}"\ +@@ -187,7 +188,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. +@@ -247,7 +249,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 + + #============================================================================== + # ---- Optional rpmrc macros. +@@ -349,7 +352,7 @@ package or when debugging this package.\ + # "w.ufdio" uncompressed + # + #%_source_payload w9.gzdio +-#%_binary_payload w9.gzdio ++%_binary_payload w19.zstdio + + # Algorithm to use for generating file checksum digests on build. + # If not specified or 0, MD5 is used. +@@ -459,6 +462,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. +@@ -491,39 +507,39 @@ 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 + # --build-id-seed "%{VERSION}-%{RELEASE}" to find-debuginfo.sh which will + # pass it onto debugedit --build-id-seed to be used to prime the build-id + # note hash. +-%_unique_build_ids 1 ++#%_unique_build_ids 1 + + # Do not recompute build-ids but keep whatever is in the ELF file already. + # Cannot be used together with _unique_build_ids (which forces recomputation). + # Defaults to undefined (unset). +-#%_no_recompute_build_ids 1 ++%_no_recompute_build_ids 1 + + # Whether .debug files should be made unique between package version, + # release and architecture. If set to 1 this will pass + # --unique-debug-suffix "-%{VERSION}-%{RELEASE}.%{_arch} find-debuginfo.sh + # to create debuginfo files which end in --..debug + # Requires _unique_build_ids. +-%_unique_debug_names 1 ++#%_unique_debug_names 1 + + # Whether the /usr/debug/src/ directories should be unique between + # package version, release and architecture. If set to 1 this will pass + # --unique-debug-src-base "%{name}-%{VERSION}-%{RELEASE}.%{_arch}" to + # find-debuginfo.sh to name the directory under /usr/debug/src as + # --.. +-%_unique_debug_srcs 1 ++#%_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? +@@ -542,6 +558,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 +@@ -926,7 +943,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@ +@@ -1045,11 +1062,13 @@ package or when debugging this package.\ + + #------------------------------------------------------------------------------ + # arch macro for all supported 32-bit ARM processors +-%arm32 armv3l armv4b armv4l armv4tl armv5tl armv5tel armv5tejl armv6l armv6hl armv7l armv7hl armv7hnl armv8l armv8hl armv8hnl armv8hcnl ++%arm32 armv3l armv4b armv4l armv4tl armv5b armv5l armv5teb armv5tel armv5tejl armv6l armv6hl armv7l armv7hl armv7hnl armv8l armv8hl armv8hnl armv8hcnl + + #------------------------------------------------------------------------------ + # arch macro for all supported 32-bit ARM processors (legacy, use %%arm32 instead) + %arm %{arm32} ++%arml armv3l armv4l armv5l armv5tel armv6l armv6hl armv7l armv7hl armv7hnl armv8l armv8hl armv8hnl armv8hcnl ++%armb armv4b armv5b armv5teb + + #------------------------------------------------------------------------------ + # arch macro for all supported 64-bit ARM processors diff --git a/nextiteratorheaderblob.diff b/nextiteratorheaderblob.diff new file mode 100644 index 0000000..4484557 --- /dev/null +++ b/nextiteratorheaderblob.diff @@ -0,0 +1,68 @@ +--- lib/rpmdb.c.orig 2020-11-27 13:09:17.968992873 +0000 ++++ lib/rpmdb.c 2020-11-27 13:14:21.524165780 +0000 +@@ -2679,6 +2679,48 @@ int rpmdbCtrl(rpmdb db, rpmdbCtrlOp ctrl + return dbctrl ? dbCtrl(db, dbctrl) : 1; + } + ++const unsigned char *rpmdbNextIteratorHeaderBlob(rpmdbMatchIterator mi, unsigned int *size) ++{ ++ dbiIndex dbi = NULL; ++ unsigned char * uh; ++ unsigned int uhlen; ++ int rc; ++ if (mi == NULL || mi->mi_re != NULL) ++ return NULL; ++ if (pkgdbOpen(mi->mi_db, 0, &dbi)) ++ return NULL; ++ if (mi->mi_dbc == NULL) ++ mi->mi_dbc = dbiCursorInit(dbi, mi->mi_cflags); ++ miFreeHeader(mi, dbi); ++ uh = NULL; ++ uhlen = 0; ++ do { ++ if (mi->mi_set) { ++ if (!(mi->mi_setx < mi->mi_set->count)) ++ return NULL; ++ mi->mi_offset = dbiIndexRecordOffset(mi->mi_set, mi->mi_setx); ++ mi->mi_filenum = dbiIndexRecordFileNumber(mi->mi_set, mi->mi_setx); ++ } else { ++ rc = pkgdbGet(dbi, mi->mi_dbc, 0, &uh, &uhlen); ++ if (rc == 0) ++ mi->mi_offset = pkgdbKey(dbi, mi->mi_dbc); ++ ++ /* Terminate on error or end of keys */ ++ if (rc || (mi->mi_setx && mi->mi_offset == 0)) ++ return NULL; ++ } ++ mi->mi_setx++; ++ } while (mi->mi_offset == 0); ++ if (uh == NULL) { ++ rc = pkgdbGet(dbi, mi->mi_dbc, mi->mi_offset, &uh, &uhlen); ++ if (rc || uh == NULL) ++ return NULL; ++ } ++ if (size) ++ *size = uhlen; ++ return uh; ++} ++ + char *rpmdbCookie(rpmdb db) + { + void *cookie = NULL; +--- include/rpm/rpmdb.h.orig 2020-11-27 13:09:17.968992873 +0000 ++++ include/rpm/rpmdb.h 2020-11-27 13:09:36.352942782 +0000 +@@ -253,6 +253,14 @@ int rpmdbStat(const char *prefix, struct + */ + int rpmdbFStat(rpmdb db, struct stat *statbuf); + ++/** \ingroup rpmdb ++ * Return next unverified package header blob from iteration. ++ * @param mi rpm database iterator ++ * @retval size header blob size in bytes ++ * @return NULL on end of iteration. ++ */ ++const unsigned char *rpmdbNextIteratorHeaderBlob(rpmdbMatchIterator mi, unsigned int *size); ++ + #ifdef __cplusplus + } + #endif diff --git a/nobuildcolor.diff b/nobuildcolor.diff new file mode 100644 index 0000000..251d7c0 --- /dev/null +++ b/nobuildcolor.diff @@ -0,0 +1,14 @@ +Disable file coloring for SUSE systems + +--- build/rpmfc.c.orig 2020-09-30 13:06:07.502865543 +0000 ++++ build/rpmfc.c 2020-09-30 13:07:08.530734545 +0000 +@@ -1607,7 +1607,8 @@ rpmRC rpmfcGenerateDepends(const rpmSpec + goto exit; + + /* Add per-file colors(#files) */ +- 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..9159738 --- /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 2020-09-30 13:08:18.770584384 +0000 ++++ build/rpmfc.c 2020-09-30 13:08:54.306508417 +0000 +@@ -1159,7 +1159,7 @@ static uint32_t getElfColor(const char * + + rpmRC rpmfcClassify(rpmfc fc, ARGV_t argv, rpm_mode_t * fmode) + { +- int msflags = MAGIC_CHECK | MAGIC_COMPRESS | MAGIC_NO_CHECK_TOKENS | MAGIC_ERROR; ++ int msflags = MAGIC_COMPRESS | MAGIC_NO_CHECK_TOKENS | MAGIC_ERROR; + int mimeflags = msflags | MAGIC_MIME_TYPE; + int nerrors = 0; + rpmRC rc = RPMRC_FAIL; diff --git a/noprereqdeprec.diff b/noprereqdeprec.diff new file mode 100644 index 0000000..8586725 --- /dev/null +++ b/noprereqdeprec.diff @@ -0,0 +1,20 @@ +--- build/parsePreamble.c.orig 2019-10-02 11:38:15.807736662 +0000 ++++ build/parsePreamble.c 2019-10-02 11:39:12.495617575 +0000 +@@ -1032,7 +1032,7 @@ static struct PreambleRec_s const preamb + {RPMTAG_SUGGESTNAME, 0, 0, 0, LEN_AND_STR("suggests")}, + {RPMTAG_SUPPLEMENTNAME, 0, 0, 0, LEN_AND_STR("supplements")}, + {RPMTAG_ENHANCENAME, 0, 0, 0, LEN_AND_STR("enhances")}, +- {RPMTAG_PREREQ, 2, 1, 0, LEN_AND_STR("prereq")}, ++ {RPMTAG_PREREQ, 2, 0, 0, LEN_AND_STR("prereq")}, + {RPMTAG_CONFLICTNAME, 0, 0, 0, LEN_AND_STR("conflicts")}, + {RPMTAG_OBSOLETENAME, 0, 0, 0, LEN_AND_STR("obsoletes")}, + {RPMTAG_PREFIXES, 0, 0, 1, LEN_AND_STR("prefixes")}, +@@ -1041,7 +1041,7 @@ static struct PreambleRec_s const preamb + {RPMTAG_BUILDARCHS, 0, 0, 0, LEN_AND_STR("buildarchitectures")}, + {RPMTAG_BUILDARCHS, 0, 0, 0, LEN_AND_STR("buildarch")}, + {RPMTAG_BUILDCONFLICTS, 0, 0, 0, LEN_AND_STR("buildconflicts")}, +- {RPMTAG_BUILDPREREQ, 0, 1, 0, LEN_AND_STR("buildprereq")}, ++ {RPMTAG_BUILDPREREQ, 0, 0, 0, LEN_AND_STR("buildprereq")}, + {RPMTAG_BUILDREQUIRES, 0, 0, 0, LEN_AND_STR("buildrequires")}, + {RPMTAG_AUTOREQPROV, 0, 0, 0, LEN_AND_STR("autoreqprov")}, + {RPMTAG_AUTOREQ, 0, 0, 0, LEN_AND_STR("autoreq")}, diff --git a/platformin.diff b/platformin.diff new file mode 100644 index 0000000..9617bb1 --- /dev/null +++ b/platformin.diff @@ -0,0 +1,33 @@ +--- platform.in.orig 2014-06-26 06:51:54.822818260 +0000 ++++ platform.in 2014-08-04 12:38:55.389245494 +0000 +@@ -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 a+rX,u+w,g-w,o-w ++@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/posttrans.diff b/posttrans.diff new file mode 100644 index 0000000..de786f5 --- /dev/null +++ b/posttrans.diff @@ -0,0 +1,376 @@ +--- include/rpm/rpmcli.h.orig 2022-04-07 11:13:18.983517774 +0000 ++++ include/rpm/rpmcli.h 2022-12-02 13:43:44.899359176 +0000 +@@ -306,6 +306,7 @@ enum rpmInstallFlags_e { + INSTALL_ALLMATCHES = (1 << 9), /*!< from --allmatches */ + INSTALL_REINSTALL = (1 << 10), /*!< from --reinstall */ + INSTALL_RESTORE = (1 << 11), /*!< from --restore */ ++ INSTALL_RUNPOSTTRANS = (1 << 12), /*!< from --runposttrans */ + }; + + typedef rpmFlags rpmInstallFlags; +@@ -396,6 +397,15 @@ int rpmErase(rpmts ts, struct rpmInstall + int rpmRestore(rpmts ts, struct rpmInstallArguments_s * ia, ARGV_const_t argv); + + /** \ingroup rpmcli ++ * Run posttrans scriptlets ++ * @param ts transaction set ++ * @param ia control args/bits ++ * @param argv array of trigger manifest file names (NULL terminated) ++ * @return 0 on success ++ */ ++int rpmRunPostTrans(rpmts ts, struct rpmInstallArguments_s * ia, ARGV_const_t argv); ++ ++/** \ingroup rpmcli + */ + extern struct rpmInstallArguments_s rpmIArgs; + +--- include/rpm/rpmts.h.orig 2022-12-02 13:27:05.109729552 +0000 ++++ include/rpm/rpmts.h 2022-12-02 13:27:08.881720646 +0000 +@@ -249,6 +249,15 @@ int rpmtsOrder(rpmts ts); + int rpmtsRun(rpmts ts, rpmps okProbs, rpmprobFilterFlags ignoreSet); + + /** \ingroup rpmts ++ * Run all posttrans scriptlets described in the manifest data. ++ * ++ * @param ts transaction set ++ * @param manifest the manifest data ++ * @return 0 on success, -1 on error ++ */ ++int rpmtsRunPostTrans(rpmts ts, ARGV_const_t manifest); ++ ++/** \ingroup rpmts + * Reference a transaction set instance. + * @param ts transaction set + * @return new transaction set reference +--- lib/poptI.c.orig 2022-04-07 11:13:19.010517957 +0000 ++++ lib/poptI.c 2022-12-02 13:27:08.877720656 +0000 +@@ -273,6 +273,10 @@ struct poptOption rpmInstallPoptTable[] + &rpmIArgs.installInterfaceFlags, (INSTALL_RESTORE), + N_("restore package(s)"), + N_("+") }, ++ { "runposttrans", '\0', POPT_BIT_SET, ++ &rpmIArgs.installInterfaceFlags, INSTALL_RUNPOSTTRANS, ++ N_("run posttrans scriptlet"), ++ N_("") }, + + POPT_TABLEEND + }; +--- lib/psm.c.orig 2022-12-02 13:27:05.093729590 +0000 ++++ lib/psm.c 2022-12-02 13:27:08.877720656 +0000 +@@ -826,7 +826,7 @@ static rpmRC rpmPackageErase(rpmts ts, r + } + if (rc) break; + +- if (!(rpmtsFlags(ts) & (RPMTRANS_FLAG_NOPOSTTRANS|RPMTRANS_FLAG_NOTRIGGERPOSTUN))) { ++ if (ts->dump_posttrans || !(rpmtsFlags(ts) & (RPMTRANS_FLAG_NOPOSTTRANS|RPMTRANS_FLAG_NOTRIGGERPOSTUN))) { + /* Prepare post transaction uninstall triggers */ + rpmtriggersPrepPostUnTransFileTrigs(psm->ts, psm->te); + } +--- lib/rpminstall.c.orig 2022-09-02 05:48:29.712846716 +0000 ++++ lib/rpminstall.c 2022-12-02 13:27:08.877720656 +0000 +@@ -6,6 +6,8 @@ + + #include + ++#include ++ + #include + #include + #include /* rpmReadPackageFile, vercmp etc */ +@@ -812,3 +814,32 @@ int rpmInstallSource(rpmts ts, const cha + return rc; + } + ++int rpmRunPostTrans(rpmts ts, struct rpmInstallArguments_s * ia, ARGV_const_t fileArgv) ++{ ++ ARGV_t manifest = NULL; ++ FILE *f; ++ char line[BUFSIZ], *s, *p; ++ int rc = 1; ++ ++ if (fileArgv == NULL) return 0; ++ if (!fileArgv[0] || fileArgv[1] != NULL) { ++ rpmlog(RPMLOG_ERR, _("runposttrans needs exactly one manifest file\n")); ++ goto exit; ++ } ++ if (!(f = fopen(fileArgv[0], "r"))) { ++ rpmlog(RPMLOG_ERR, _("cannot open %s: %s\n"), fileArgv[0], strerror(errno)); ++ goto exit; ++ } ++ while ((s = fgets(line, sizeof(line) - 1, f)) != 0) { ++ if (p = strrchr(s, '\n')) ++ *p = 0; ++ argvAdd(&manifest, s); ++ } ++ fclose(f); ++ rpmlog(RPMLOG_DEBUG, "running posttrans scriptlets\n"); ++ rpmtsClean(ts); ++ rc = rpmtsRunPostTrans(ts, manifest); ++exit: ++ argvFree(manifest); ++ return rc; ++} +--- lib/rpmtriggers.c.orig 2022-04-07 11:13:19.020518024 +0000 ++++ lib/rpmtriggers.c 2022-12-02 13:27:08.877720656 +0000 +@@ -1,5 +1,6 @@ + #include "system.h" + ++#include + #include + #include + #include +@@ -34,7 +35,7 @@ rpmtriggers rpmtriggersFree(rpmtriggers + return NULL; + } + +-static void rpmtriggersAdd(rpmtriggers trigs, unsigned int hdrNum, ++void rpmtriggersAdd(rpmtriggers trigs, unsigned int hdrNum, + unsigned int tix, unsigned int priority) + { + if (trigs->count == trigs->alloced) { +@@ -178,6 +179,14 @@ int runPostUnTransFileTrigs(rpmts ts) + if (trigH == NULL) + continue; + ++ if (ts->dump_posttrans) { ++ char *trigNEVRA = headerGetAsString(trigH, RPMTAG_NEVRA); ++ rpmlog(RPMLOG_NOTICE, "dump_posttrans: transfiletriggerpostun %u %u %s\n", trigs->triggerInfo[i].tix, trigs->triggerInfo[i].hdrNum, trigNEVRA); ++ free(trigNEVRA); ++ headerFree(trigH); ++ continue; ++ } ++ + /* Prepare and run script */ + script = rpmScriptFromTriggerTag(trigH, + triggertag(RPMSENSE_TRIGGERPOSTUN), +@@ -587,6 +596,16 @@ rpmRC runImmedFileTriggers(rpmts ts, rpm + rpmTagVal priorityTag; + rpmtriggers triggers; + ++ if (sense == RPMSENSE_TRIGGERIN && tm == RPMSCRIPT_TRANSFILETRIGGER && ts->dump_posttrans) { ++ unsigned int hdrNum = headerGetInstance(trigH); ++ if (hdrNum) { ++ char *trigNEVRA = headerGetAsString(trigH, RPMTAG_NEVRA); ++ rpmlog(RPMLOG_NOTICE, "dump_posttrans: install %u %s\n", hdrNum, trigNEVRA); ++ free(trigNEVRA); ++ } ++ headerFree(trigH); ++ return RPMRC_OK; ++ } + if (tm == RPMSCRIPT_FILETRIGGER) { + priorityTag = RPMTAG_FILETRIGGERPRIORITIES; + } else { +--- lib/rpmtriggers.h.orig 2022-04-07 11:13:19.020518024 +0000 ++++ lib/rpmtriggers.h 2022-12-02 13:27:08.881720646 +0000 +@@ -27,6 +27,10 @@ rpmtriggers rpmtriggersCreate(unsigned i + RPM_GNUC_INTERNAL + rpmtriggers rpmtriggersFree(rpmtriggers triggers); + ++RPM_GNUC_INTERNAL ++void rpmtriggersAdd(rpmtriggers trigs, unsigned int hdrNum, ++ unsigned int tix, unsigned int priority); ++ + /* + * Prepare post trans uninstall file triggers. After transcation uninstalled + * files are not saved anywhere. So we need during uninstalation of every +--- lib/rpmts_internal.h.orig 2022-04-07 11:13:19.021518031 +0000 ++++ lib/rpmts_internal.h 2022-12-02 13:44:39.803225928 +0000 +@@ -94,6 +94,8 @@ struct rpmts_s { + int min_writes; /*!< macro minimize_writes used */ + + time_t overrideTime; /*!< Time value used when overriding system clock. */ ++ ++ int dump_posttrans; /*!< macro dump_posttrans used */ + }; + + #ifdef __cplusplus +--- lib/transaction.c.orig 2022-08-30 11:42:23.784853830 +0000 ++++ lib/transaction.c 2022-12-02 13:27:08.881720646 +0000 +@@ -1478,6 +1478,8 @@ static int rpmtsSetup(rpmts ts, rpmprobF + /* Get available space on mounted file systems. */ + (void) rpmtsInitDSI(ts); + ++ /* Initialize the dump_posttrans flag */ ++ ts->dump_posttrans = (rpmExpandNumeric("%{?_dump_posttrans}") > 0); + return 0; + } + +@@ -1856,22 +1858,26 @@ int rpmtsRun(rpmts ts, rpmps okProbs, rp + /* Actually install and remove packages */ + nfailed = rpmtsProcess(ts); + ++ if (ts->dump_posttrans) { ++ rpmlog(RPMLOG_NOTICE, "dump_posttrans: enabled\n"); ++ } ++ + /* Run %posttrans scripts unless disabled */ +- if (!(rpmtsFlags(ts) & (RPMTRANS_FLAG_NOPOSTTRANS))) { ++ if (!ts->dump_posttrans && !(rpmtsFlags(ts) & (RPMTRANS_FLAG_NOPOSTTRANS))) { + rpmlog(RPMLOG_DEBUG, "running post-transaction scripts\n"); + runTransScripts(ts, PKG_POSTTRANS); + } + + /* Run %transfiletriggerpostun scripts unless disabled */ +- if (!(rpmtsFlags(ts) & (RPMTRANS_FLAG_NOPOSTTRANS|RPMTRANS_FLAG_NOTRIGGERIN))) { ++ if (!ts->dump_posttrans && !(rpmtsFlags(ts) & (RPMTRANS_FLAG_NOPOSTTRANS|RPMTRANS_FLAG_NOTRIGGERIN))) { + runFileTriggers(ts, NULL, RPMSENSE_TRIGGERIN, RPMSCRIPT_TRANSFILETRIGGER, 0); + } +- if (!(rpmtsFlags(ts) & (RPMTRANS_FLAG_NOPOSTTRANS|RPMTRANS_FLAG_NOTRIGGERPOSTUN))) { ++ if (ts->dump_posttrans || !(rpmtsFlags(ts) & (RPMTRANS_FLAG_NOPOSTTRANS|RPMTRANS_FLAG_NOTRIGGERPOSTUN))) { + runPostUnTransFileTrigs(ts); + } + + /* Run %transfiletriggerin scripts unless disabled */ +- if (!(rpmtsFlags(ts) & (RPMTRANS_FLAG_NOPOSTTRANS|RPMTRANS_FLAG_NOTRIGGERIN))) { ++ if (ts->dump_posttrans || !(rpmtsFlags(ts) & (RPMTRANS_FLAG_NOPOSTTRANS|RPMTRANS_FLAG_NOTRIGGERIN))) { + runTransScripts(ts, PKG_TRANSFILETRIGGERIN); + } + /* Final exit code */ +@@ -1894,3 +1900,110 @@ exit: + sigaction(SIGPIPE, &oact, NULL); + return rc; + } ++ ++static unsigned int runPostTransFindPkgNum(const char **lpp) ++{ ++ const char *lp = *lpp; ++ unsigned int num = strtoul(lp, 0, 10); ++ while (*lp >= '0' && *lp <= '9') ++ lp++; ++ while (*lp == ' ') ++ lp++; ++ *lpp = lp; ++ return num; ++} ++ ++static Header runPostTransFindPkg(rpmts ts, const char *lp) ++{ ++ rpmdbMatchIterator mi; ++ Header h = NULL; ++ unsigned int hdrnum = runPostTransFindPkgNum(&lp); ++ if (!*lp) ++ return NULL; ++ if (hdrnum) { ++ mi = rpmtsInitIterator(ts, RPMDBI_PACKAGES, &hdrnum, sizeof(hdrnum)); ++ h = headerLink(rpmdbNextIterator(mi)); ++ rpmdbFreeIterator(mi); ++ } ++ if (h) { ++ char *NEVRA = headerGetAsString(h, RPMTAG_NEVRA); ++ if (!NEVRA || strcmp(NEVRA, lp) != 0) ++ h = headerFree(h); ++ _free(NEVRA); ++ } ++ if (!h) { ++ mi = rpmtsInitIterator(ts, RPMDBI_LABEL, lp, strlen(lp)); ++ h = headerLink(rpmdbNextIterator(mi)); ++ rpmdbFreeIterator(mi); ++ } ++ if (!h) ++ rpmlog(RPMLOG_WARNING, "package %s is not installed\n", lp); ++ return h; ++} ++ ++int rpmtsRunPostTrans(rpmts ts, ARGV_const_t manifest) ++{ ++ int rc = -1; /* assume failure */ ++ /* setup */ ++ tsMembers tsmem = rpmtsMembers(ts); ++ rpmtxn txn = NULL; ++ /* Ignore SIGPIPE for the duration of transaction */ ++ rpmsqAction_t oact = rpmsqSetAction(SIGPIPE, RPMSQ_IGN); ++ /* Force default 022 umask during transaction for consistent results */ ++ mode_t oldmask = umask(022); ++ ++ if (tsmem->orderCount) ++ goto exit; ++ char *line; ++ while ((line = *manifest++) != 0) { ++ if (!strncmp(line, "dump_posttrans: install ", 24)) { ++ const char *lp = line + 24; ++ Header h = runPostTransFindPkg(ts, lp); ++ if (!h) ++ continue; ++ rpmte p = rpmteNew(ts, h, TR_ADDED, line + 45, NULL, RPMTE_INSTALL); ++ if (tsmem->orderCount >= tsmem->orderAlloced) { ++ tsmem->orderAlloced += (tsmem->orderCount - tsmem->orderAlloced) + tsmem->delta; ++ tsmem->order = xrealloc(tsmem->order, tsmem->orderAlloced * sizeof(*tsmem->order)); ++ } ++ tsmem->order[tsmem->orderCount++] = p; ++ ++ if (tsmem->addedPackages == NULL) ++ tsmem->addedPackages = rpmalCreate(ts, 5); ++ rpmalAdd(tsmem->addedPackages, p); ++ packageHashAddEntry(tsmem->installedPackages, headerGetInstance(h), p); ++ } else if (!strncmp(line, "dump_posttrans: transfiletriggerpostun ", 39)) { ++ const char *lp = line + 39; ++ unsigned int tix = runPostTransFindPkgNum(&lp); ++ Header h = runPostTransFindPkg(ts, lp); ++ struct rpmtd_s priorities; ++ if (!h) ++ continue; ++ headerGet(h, RPMTAG_TRANSFILETRIGGERPRIORITIES, &priorities, HEADERGET_MINMEM); ++ if (rpmtdSetIndex(&priorities, tix) >= 0) ++ rpmtriggersAdd(ts->trigs2run, headerGetInstance(h), tix, *rpmtdGetUint32(&priorities)); ++ headerFree(h); ++ } ++ } ++ ++ if (!(txn = rpmtxnBegin(ts, RPMTXN_WRITE))) ++ goto exit; ++ ++ /* run posttrans scripts */ ++ rpmlog(RPMLOG_DEBUG, "running post-transaction scripts\n"); ++ runTransScripts(ts, PKG_POSTTRANS); ++ /* run %transfiletriggerin scripts */ ++ runFileTriggers(ts, NULL, RPMSENSE_TRIGGERIN, RPMSCRIPT_TRANSFILETRIGGER, 0); ++ /* run %transfiletriggerpostun scrips */ ++ runPostUnTransFileTrigs(ts); ++ /* Run immed %transfiletriggerin scripts */ ++ runTransScripts(ts, PKG_TRANSFILETRIGGERIN); ++ rc = 0; ++ ++exit: ++ (void) umask(oldmask); ++ rpmtxnEnd(txn); ++ rpmsqSetAction(SIGPIPE, oact); ++ rpmtsEmpty(ts); ++ return rc; ++} +--- rpm.c.orig 2022-04-07 11:13:19.067518343 +0000 ++++ rpm.c 2022-12-02 13:55:52.969592594 +0000 +@@ -21,6 +21,7 @@ enum modes { + MODE_ERASE = (1 << 2), + MODE_RESTORE = (1 << 4), + #define MODES_IE (MODE_INSTALL | MODE_ERASE) ++ MODE_RUNPOSTTRANS = (1 << 5), + + MODE_UNKNOWN = 0 + }; +@@ -115,6 +116,11 @@ int main(int argc, char *argv[]) + int eflags = (ia->installInterfaceFlags & INSTALL_ERASE); + int rflags = (ia->installInterfaceFlags & INSTALL_RESTORE); + ++ if (ia->installInterfaceFlags & INSTALL_RUNPOSTTRANS) { ++ if (iflags || eflags || rflags) ++ argerror(_("only one major mode may be specified")); ++ bigMode = MODE_RUNPOSTTRANS; ++ } + if (iflags & eflags & rflags) + argerror(_("only one major mode may be specified")); + else if (iflags) +@@ -293,6 +299,14 @@ int main(int argc, char *argv[]) + ec = rpmcliVerify(ts, qva, (ARGV_const_t) poptGetArgs(optCon)); + } break; + ++ case MODE_RUNPOSTTRANS: ++ if (!poptPeekArg(optCon)) { ++ argerror(_("need posttrans manifest for --runposttrans")); ++ } else { ++ ec += rpmRunPostTrans(ts, ia, (ARGV_const_t) poptGetArgs(optCon)); ++ } ++ break; ++ + case MODE_UNKNOWN: + if (poptPeekArg(optCon) != NULL || argc <= 1) { + printUsage(optCon, stderr, 0); diff --git a/python-rpm.changes b/python-rpm.changes new file mode 100644 index 0000000..cb2bd11 --- /dev/null +++ b/python-rpm.changes @@ -0,0 +1,211 @@ +------------------------------------------------------------------- +Tue May 30 09:07:28 UTC 2023 - Jiri Srain + +- add _multibuild for multiple .spec-files + +------------------------------------------------------------------- +Fri Dec 2 15:09:55 CET 2022 - mls@suse.de + +- update to rpm-4.18.0 + +------------------------------------------------------------------ +Thu Jul 21 16:11:22 CEST 2022 - mls@suse.de + +- update to rpm-4.17.1 + +------------------------------------------------------------------- +Thu Sep 23 20:57:45 CEST 2021 - mls@suse.de + +- update to rpm-4.17.0 + +------------------------------------------------------------------- +Tue Mar 30 11:15:44 CEST 2021 - mls@suse.de + +- update to rpm-4.16.1.3 + +------------------------------------------------------------------- +Wed Sep 30 14:17:40 CEST 2020 - mls@suse.de + +- update to rpm-4.16.0 + +------------------------------------------------------------------- +Tue Nov 19 11:09:08 CET 2019 - mls@suse.de + +- update to rpm-4.15.1 + +------------------------------------------------------------------- +Wed Oct 2 14:53:19 CEST 2019 - mls@suse.de + +- update to rpm-4.15.0 + +------------------------------------------------------------------- +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..144a4ac --- /dev/null +++ b/python-rpm.spec @@ -0,0 +1,81 @@ +# +# spec file for package python-rpm +# +# Copyright (c) 2023 SUSE LLC +# 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 https://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.18.0 +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 +BuildRequires: %{python_module devel} +BuildRequires: file-devel +BuildRequires: libacl-devel +BuildRequires: libbz2-devel +BuildRequires: libcap-devel +BuildRequires: libelf-devel +BuildRequires: libgcrypt-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)} +Source99: 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/refreshtestarch.diff b/refreshtestarch.diff new file mode 100644 index 0000000..af35f88 --- /dev/null +++ b/refreshtestarch.diff @@ -0,0 +1,16 @@ +Also test architecture in "refresh" test when not colored. This allows +updates to different architectures. + +--- lib/psm.c.orig 2019-10-02 09:54:56.180565818 +0000 ++++ lib/psm.c 2019-10-02 09:55:02.700552941 +0000 +@@ -518,9 +518,9 @@ static void markReplacedInstance(rpmts t + 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-awk-dependency.patch b/remove-awk-dependency.patch new file mode 100644 index 0000000..17b7614 --- /dev/null +++ b/remove-awk-dependency.patch @@ -0,0 +1,27 @@ +From 224095542246e762617d38e2096fdeba13d266e3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Dirk=20M=C3=BCller?= +Date: Tue, 8 Aug 2023 13:53:38 +0200 +Subject: [PATCH] Rewrite --last to just use sed for formatting + +This is the only dependency on awk in the runtime commandline part of +rpm, which is bloating minimal container images a bit. We can rewrite +that into a single sed statement. We love you anyway, awk. +--- + rpmpopt.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/rpmpopt.in b/rpmpopt.in +index 8022b0f54a..1223e1a862 100644 +--- ./rpmpopt.in ++++ ./rpmpopt.in +@@ -133,8 +133,8 @@ rpm alias --filetriggerscripts --qf '\ + rpm alias --filetriggers --filetriggerscripts \ + --POPTdesc=$"list filetrigger scriptlets from package(s)" + +-rpm alias --last --qf '%|INSTALLTIME?{%{INSTALLTIME}}:{000000000}| %{NVRA} %|INSTALLTIME?{%{INSTALLTIME:date}}:{(not installed)}|\n' \ +- --pipe "LC_NUMERIC=C sort -r -n | sed 's,^[0-9]\+ ,,' | awk '{printf(\"%-45s %-s\n\", $1, substr($0,length($1)+2))}' " \ ++rpm alias --last --qf '%|INSTALLTIME?{%{INSTALLTIME}}:{000000000}| %-45{NVRA} %|INSTALLTIME?{%{INSTALLTIME:date}}:{(not installed)}|\n' \ ++ --pipe "LC_NUMERIC=C sort -r -n | sed 's,^[0-9]\+ ,,' " \ + --POPTdesc=$"list package(s) by install time, most recent first" + + rpm alias --dupes --qf '%|SOURCERPM?{%{name}.%{arch}}:{%|ARCH?{%{name}}:{%{name}-%{version}}|}|\n' --pipe "sort | uniq -d" \ diff --git a/remove-brp-strips.diff b/remove-brp-strips.diff new file mode 100644 index 0000000..396b920 --- /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 2021-09-23 19:23:57.822814696 +0000 ++++ platform.in 2021-09-23 19:24:31.534745951 +0000 +@@ -96,8 +96,6 @@ + %{?__brp_compress} \ + %{?__brp_elfperms} \ + %{?__brp_strip} \ +- %{?__brp_strip_static_archive} \ +- %{?__brp_strip_comment_note} \ + %{?__brp_remove_la_files} \ + %{nil} + diff --git a/remove-translations.diff b/remove-translations.diff new file mode 100644 index 0000000..8da0524 --- /dev/null +++ b/remove-translations.diff @@ -0,0 +1,28 @@ +Index: scripts/find-lang.sh +=================================================================== +--- scripts/find-lang.sh.orig ++++ scripts/find-lang.sh +@@ -134,6 +134,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 | grep -E -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 | grep -E -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/rpm-4.18.0.tar.bz2 b/rpm-4.18.0.tar.bz2 new file mode 100644 index 0000000..986d2d0 --- /dev/null +++ b/rpm-4.18.0.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a17152d7187ab30edf2c2fb586463bdf6388de7b5837480955659e5e9054554 +size 6600013 diff --git a/rpm-findlang-inject-metainfo.patch b/rpm-findlang-inject-metainfo.patch new file mode 100644 index 0000000..cf21af7 --- /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..40e81e5 --- /dev/null +++ b/rpm-shorten-changelog.diff @@ -0,0 +1,100 @@ +--- build/pack.c.orig ++++ build/pack.c +@@ -683,6 +683,71 @@ + return rc; + } + ++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); ++} ++ + static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int cheating, char** filename) + { + rpmRC rc = RPMRC_OK; +@@ -699,7 +764,10 @@ + + /* Copy changelog from src rpm */ + #pragma omp critical +- headerCopyTags(spec->sourcePackage->header, pkg->header, copyTags); ++ { ++ headerCopyTags(spec->sourcePackage->header, pkg->header, copyTags); ++ trimChangelog(pkg->header); ++ } + + headerPutString(pkg->header, RPMTAG_RPMVERSION, VERSION); + headerPutString(pkg->header, RPMTAG_BUILDHOST, spec->buildHost); +--- build/parseChangelog.c.orig ++++ build/parseChangelog.c +@@ -267,6 +267,11 @@ + 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..b0cfe16 --- /dev/null +++ b/rpm.changes @@ -0,0 +1,4720 @@ +------------------------------------------------------------------- +Tue Aug 8 12:39:25 UTC 2023 - Dirk Müller + +- add remove-awk-dependency.patch to be able to drop awk dependency + from containers + +------------------------------------------------------------------- +Tue May 30 09:07:28 UTC 2023 - Jiri Srain + +- add _multibuild for multiple .spec-files + +------------------------------------------------------------------- +Thu Mar 16 12:22:23 UTC 2023 - Martin LiÅ¡ka + +- Add upstream patch libmagic-exceptions.patch that speeds up libreoffice + package build. + +------------------------------------------------------------------- +Thu Mar 9 15:12:11 UTC 2023 - Fabian Vogt + +- add cpuid_lzcnt.patch + +------------------------------------------------------------------- +Tue Dec 27 13:17:31 UTC 2022 - Ludwig Nussel + +- Replace transitional %usrmerged macro with regular version check (boo#1206798) + +------------------------------------------------------------------- +Mon Dec 12 08:58:58 UTC 2022 - Dirk Müller + +- switch to pkgconfig(zlib) so that alternative providers can be + used + +------------------------------------------------------------------- +Thu Dec 8 17:08:30 UTC 2022 - Dirk Müller + +- add x86_64-microarchitectures.patch + +------------------------------------------------------------------- +Fri Dec 2 15:01:05 CET 2022 - mls@suse.de + +- update to rpm-4.18.0 + * documentation updates + * fix query arguments containing ^ not working + * add downgrade (--oldpackage) support to --freshe + * add --path query for support for stateless file information + * add --shell option for interactive macro shell to rpmspec + * add --justdb counterpart --nodb option and matching API flag + * fix intermediate symlinks not verified (CVE-2021-35939) + * fix unowned directories created unsafely (bsc#1157880) + (CVE-2021-35938) + * fix %posttrans argument on upgrade + * fix package build tree not getting removed on successful build + * add new %conf spec section for build configuration + * add %bcond macro as a nicer way of defining build conditionals + * add new rpmuncompress cli tool + * deprecate implicit "%patch number zero" syntax +- refreshed patches: + * brp-compress-no-img.patch + * brp.diff + * brpcompress.diff + * db_conversion.diff + * findsupplements.diff + * headeradddb.diff + * nextiteratorheaderblob.diff + * posttrans.diff + * rpmqpack.diff + * rpmrc.diff + * selinux_transactional_update.patch +- removed patches: + * dbrointerruptable.diff + * leave-malloc-check-set.diff + +------------------------------------------------------------------- +Tue Oct 25 12:15:12 UTC 2022 - Johannes Segitz + +- Add selinux_transactional_update.patch to ignore errors when setting + file labels during transactional updates. They will be set upon + reboot once the new policy is loaded (bsc#1204605) + +------------------------------------------------------------------- +Fri Sep 23 11:06:06 UTC 2022 - Stephan Kulow + +- Update the macros file to simplify the debuginfo installation + + We don't support parallel installation of the same debuginfo - and so + don't patch the binaries to create unique build ids (easing pressure + on reproducable builds when compiling twice) + + Patching this in rpm-config-SUSE is technically not possible (as you + can't reliable undefine things defined in upstream macro). We tried in + https://github.com/openSUSE/rpm-config-SUSE/pull/59 and /60: + +------------------------------------------------------------------- +Mon Sep 12 08:15:22 UTC 2022 - Dirk Müller + +- update to rpm-4.17.1.1 + * Fix upstream branch setting in "%autosetup -S git" + * Revert "Strip the target triplet GNU suffix more precisely." + +------------------------------------------------------------------- +Sun Sep 4 10:05:12 UTC 2022 - Andreas Stieger + +- remove-translations.diff: convert deprecated egrep to grep -E + (boo#1203092) + +------------------------------------------------------------------- +Thu Jul 21 16:11:22 CEST 2022 - mls@suse.de + +- update to rpm-4.17.1 + * new bcond macro for a nicer way to define build conditionals + * openPGP parser and IMA security fixes (CVE-2021-3521) + * buildroot policy fixes +- refreshed patches: + * brp.diff +- removed patches: + * verbosearg.diff + * ocaml-cmxs.diff + * 0001-fix-minimize_writes.patch + +------------------------------------------------------------------- +Mon Jun 27 11:01:54 UTC 2022 - Ludwig Nussel + +- remove obsolete RPM-HOWTO from 1999 (removed RPM-HOWTO.tar.bz2) +- move debugedit to separate package + (Removed debuginfo-mono.patch, debuglink.diff, debugsubpkg.diff, + finddebuginfo-absolute-links.diff, finddebuginfo.diff, + singlefilemode.diff, debugedit-5.0.tar.xz) +- move python-rpm-packaging to separate package + (Removed python-rpm-packaging.diff, python-rpm-packaging.tar.bz2) + +------------------------------------------------------------------- +Tue May 31 19:58:07 UTC 2022 - Dirk Müller + +- drop requires-ge-macro.diff: this is already in rpm-config-SUSE +- enable-postin-scripts-error.diff: refresh + +------------------------------------------------------------------- +Thu Apr 21 13:39:58 UTC 2022 - Dirk Müller + +- update rpm-shorten-changelog.diff: fix shortening of changelog, + the non-primary binary packages had the full changelog +- update macrosin.diff: remove binarychangelog cutoff setting, + this comes from rpm-config-SUSE now + +------------------------------------------------------------------- +Wed Mar 30 08:54:50 UTC 2022 - Martin LiÅ¡ka + +- Update zstdpool.diff in order to fix boo#1197643. + +------------------------------------------------------------------- +Mon Mar 14 10:50:39 UTC 2022 - Dirk Müller + +- drop rpm-deptracking.patch, this is already upstream and + we were just adding it twice + +------------------------------------------------------------------- +Tue Mar 8 19:31:27 UTC 2022 - Dirk Müller + +- use fileprovide /usr/bin/gzip for "rpm-build" to make alternative + providers possible + +------------------------------------------------------------------- +Wed Feb 23 22:44:33 UTC 2022 - Dirk Müller + +- add leave-malloc-check-set.diff to actually use MALLOC_CHECK_ during + build + +------------------------------------------------------------------- +Tue Feb 1 12:47:02 UTC 2022 - Dirk Müller + +- invoke find-lang.sh with bash, it is a bash script (bsc#1195391) + +------------------------------------------------------------------- +Fri Jan 28 17:00:15 CEST 2022 - simon.vogl@gmx.net + +- Fix minimize_writes not minimizing writes since 4.15 regression + new patch: 0001-fix-minimize_writes.patch + +------------------------------------------------------------------- +Fri Jan 28 14:19:02 UTC 2022 - Dirk Müller + +- switch to glibc-locale-base to reduce system installation size + by ~220MB (bsc#1195390) + +------------------------------------------------------------------- +Thu Jan 27 13:26:07 UTC 2022 - Ludwig Nussel + +- make patches git quiltimport friendlier + +------------------------------------------------------------------- +Wed Dec 22 14:57:27 CET 2021 - olaf@aepfle.de + +- Update OCaml requires/provides generators to ignore cmxs + new patch: ocaml-cmxs.diff + +------------------------------------------------------------------- +Thu Oct 14 18:16:22 CEST 2021 - mls@suse.de + +- Add support for using a thread pool for threaded zstd compression + new patch: zstdpool.diff +- Switch to threaded zstd compression with a pool of 8 threads + new patch: zstdthreaded.diff + +------------------------------------------------------------------- +Thu Sep 23 20:57:45 CEST 2021 - mls@suse.de + +- update to rpm-4.17.0 +- dropped support for berkeley db +- archive unpacking failures no longer leave garbage +- unified built-in and user-define macro syntax and calling conventions +- python generators and debuginfo extraction has been split into a + separate upstream project +- support for ed25519 signatures +- easier rpm macro access in lua +- new patches: + * python-rpm-packaging.diff + * singlefilemode.diff + * verbosearg.diff +- modified patches: + * usr-lib-sysimage-rpm.patch + * localetag.diff + * brp.diff + * findlang.diff + * macrosin.diff + * rpmqpack.diff + * build.diff + * whatrequires-doc.diff + * remove-brp-strips.diff + * fileattrs.diff + * langnoc.diff + * find-lang-qt-qm.patch + * findsupplements.diff + * finddebuginfo.diff + * finddebuginfo-absolute-links.diff + * debugsubpkg.diff + * debuglink.diff + * debuginfo-mono.patch +- dropped patches: + * db.diff + * dbfsync.diff + * dbprivate.diff + * dwarf5.diff + * ndbglue.diff + * pythondistdeps.diff + * suspendlock.diff + * taggedfileindex.diff + * waitlock.diff + * add-dwz-single-file-mode-option.patch + +------------------------------------------------------------------- +Wed May 12 13:28:38 UTC 2021 - Andreas Schwab + +- auto-config-update-aarch64-ppc64le.diff: Treat missing timestamp as + infinitely old. + +------------------------------------------------------------------- +Tue Apr 16 07:49:37 UTC 2021 - Martin LiÅ¡ka + +- Use --dwz-single-file-mode for packages that use + baselibs.conf mechanism. +- Add add-dwz-single-file-mode-option.patch patch. + +------------------------------------------------------------------- +Fri Apr 9 13:34:24 CEST 2021 - mls@suse.de + +- change dump_posttrans mechanism to imply --noposttrans so that + libzypp can be compatible with older rpm versions + changed patch: posttrans.diff + +------------------------------------------------------------------- +Tue Apr 6 08:42:29 UTC 2021 - Andreas Schwab + +- auto-config-update-aarch64-ppc64le.diff: Use timestamp in file instead + of searching for arch name, which cannot handle all cases + +------------------------------------------------------------------- +Tue Mar 30 11:15:44 CEST 2021 - mls@suse.de + +- update to rpm-4.16.1.3 + * security fixes for CVE-2021-3421, CVE-2021-20271, CVE-2021-20266 + * fix bdb_ro failing to open database with missing secondary indexes + * dropped: finddebuginfo-check-res-file.patch + * dropped: empty_dbbackend.diff +- require the exact version of librpmbuild in the rpm-build + package [bnc#1180965] +- reformat dwarf5.diff +- add dump_posttrans and --runposttrans options to make it possible + for libzypp to implement file triggers + new patch: posttrans.diff + +------------------------------------------------------------------- +Mon Feb 22 12:57:44 UTC 2021 - Martin LiÅ¡ka + +- Remove debugedit.diff and include dwarf5.diff in order to support + debug DWARF 5 that will be added with GCC 11. + +------------------------------------------------------------------- +Mon Feb 8 09:38:33 UTC 2021 - Andreas Schwab + +- Use shipped config.sub/config.guess instead of stone-aged from libtool +- auto-config-update-aarch64-ppc64le.diff: update grep regex + +------------------------------------------------------------------- +Thu Jan 14 15:40:39 UTC 2021 - Matej Cepl + +- Add explicit requirement on python-rpm-macros to avoid widespread + breakage by package mistakenly ignoring their requirement of + python-rpm-macros (bsc#1180125). + +------------------------------------------------------------------- +Mon Dec 21 16:29:40 CET 2020 - mls@suse.de + +- fix potential access of freed mem in ndb's glue code [bnc#1179416] + * new patch: ndbglue.diff + +------------------------------------------------------------------- +Wed Nov 18 10:46:03 CET 2020 - mls@suse.de + +- allow opening the rpm database with an unset db_backend + * new patch: empty_dbbackend.diff + +------------------------------------------------------------------- +Tue Oct 27 10:08:05 CET 2020 - Callum Farmer + +- RPM no longer ships config.sub and config.guess, just copy it + from Libtool since it is identical + +------------------------------------------------------------------- +Tue Oct 27 10:07:05 CET 2020 - mls@suse.de + +- update to rpm-4.16.0 + * powerful macro and %if expressions including ternary operator + and native version comparison + * optional MIME type based file classification + * dependency generation by parametric macros + * a new version parsing and comparison API in C and Python + * parallelise test-suite execution + * clarify RPM license +- add method to iterate over header blobs + * new patch: nextiteratorheaderblob.diff +- modified patches: + * brpcompress.diff + * brp-compress-no-img.patch + * brp.diff + * checkfilesnoinfodir.diff + * db_conversion.diff + * dbrointerruptable.diff + * findsupplements.diff + * ignore-auxv.diff + * macrosin.diff + * nobuildcolor.diff + * nomagiccheck.diff + * platformin.diff + * rpmqpack.diff + * rpm-shorten-changelog.diff + * suspendlock.diff +- dropped patches: + * rpm-4.12.0.1-fix-bashisms.patch + * lazystatfs.diff + * db_ops_name.diff + * bdb_ro.diff + * disable_bdb.diff + * ndb_backport.diff + * initgcrypt.diff + * gcryptdsa2.diff + * ndb_backport2.diff + * touch_backport.diff + +------------------------------------------------------------------- +Mon Oct 19 11:53:00 CEST 2020 - mls@suse.de + +- Backport FA_TOUCH fixes from upsteam [bnc#1175025] [bnc#1177428] + * new patch: touch_backport.diff + +------------------------------------------------------------------- +Fri Oct 16 08:42:08 UTC 2020 - Ludwig Nussel + +- prepare usrmerge (boo#1029961) + +------------------------------------------------------------------- +Fri Oct 9 13:28:33 UTC 2020 - Guillaume GARDET + +- Add patch to fix finddebuginfo when no res.* file are found: + * finddebuginfo-check-res-file.patch + +------------------------------------------------------------------- +Mon Jul 6 16:35:40 CEST 2020 - Martin LiÅ¡ka + +- Default to zstd compression (level 19). + * modified patch: macrosin.diff + +------------------------------------------------------------------- +Mon Jul 6 15:49:28 CEST 2020 - Neal Gompa + +- Set %_libexecdir to /usr/libexec + * modified patch: platformin.diff + +------------------------------------------------------------------- +Thu Jun 18 18:32:16 UTC 2020 - Dirk Mueller + +- temporarily back out change of %_libexecdir to /usr/libexec + +------------------------------------------------------------------- +Mon May 4 13:11:34 UTC 2020 - Dominique Leuenberger + +- Update rpmconfigcheck: Remove bashism and use /bin/sh instead of + /bin/bash. + +------------------------------------------------------------------- +Thu Apr 30 12:16:46 UTC 2020 - Dirk Mueller + +- update auto-config-update-aarch64-ppc64le.diff (bsc#1170849): + * only update if hostarch isn't there + +------------------------------------------------------------------- +Tue Apr 14 11:50:49 CEST 2020 - mls@suse.de + +- Fix verification of DSA2 signatures with libgrcypt [bnc#1165731] + * new patch: gcryptdsa2.diff +- Do not map the index database read-write all the time + * new patch: ndb_backport2.diff + +------------------------------------------------------------------- +Tue Apr 14 08:16:30 UTC 2020 - Fabian Vogt + +- Fix name of Packages DB file in rpmconfigcheck + +------------------------------------------------------------------- +Fri Apr 3 12:34:42 CEST 2020 - mls@suse.de + +- Initialize the libgcrypt library [bnc#1167343] + * new patch: initgcrypt.diff + +------------------------------------------------------------------- +Tue Mar 24 22:16:22 CET 2020 - mls@suse.de + +- Follow one level of symlink indirection when converting the rpm + database [bnc#1167537] + * modified patch: db_conversion.diff + +------------------------------------------------------------------- +Mon Mar 23 16:11:34 UTC 2020 - Sergio Lindo Mansilla + +- Add macro for supported ARM 64bit processors + +------------------------------------------------------------------- +Fri Mar 13 08:26:58 UTC 2020 - Fabian Vogt + +- Replace rpmsort with rewrite using Lua (boo#1164553) + +------------------------------------------------------------------- +Wed Feb 26 09:08:19 UTC 2020 - Fabian Vogt + +- Split out perl and python dep generators from rpm-build to avoid + pulling in perl and python in all RPM builds +- Port rpmconfigcheck to pure shell +- Refactor %files list of main package to not require %excludes + as those might lead to missing files in the package + +------------------------------------------------------------------- +Thu Feb 20 20:20:20 UTC 2020 - ohering@suse.de + +- Remove ocaml-find-provides.sh, ocaml-find-requires.sh, fileattrs/ocaml.attr + ocaml(NAME) = HASH is now handled in ocaml-rpm-macros (bsc#1154874) + +------------------------------------------------------------------- +Fri Jan 17 11:27:17 CET 2020 - mls@suse.de + +- Use libgcrypt as crypto library instead of beecrypt + * dropped patch: beecrypt-4.1.2-build.diff + * dropped patch: beecrypt-4.1.2.diff +- Rewrite rpmqpack to use rpm's database interface + modified patch: rpmqpack.diff +- Backport database detection code from upstream + new patch: db_ops_name.diff +- Backport read-only BerkeleyDB code + new patch: bdb_ro.diff +- Enable ndb backend +- Backport bdb disabling fix + new patch: disable_bdb.diff +- Backport ndb improvements + new patch: ndb_backport.diff +- Backport automatic db conversion + new patch: db_conversion.diff +- Disable the BerkeleyDB backend and switch over to 'ndb' + +------------------------------------------------------------------- +Fri Dec 6 15:30:48 CET 2019 - mls@suse.de + +- disable pythondist requires generator for now + * modified patch: fileattrs.diff + +------------------------------------------------------------------- +Wed Nov 20 11:56:20 CET 2019 - mls@suse.de + +- drop python3-setuptools dependency from rpm-build, the package + is not part of ring-0 + +------------------------------------------------------------------- +Tue Nov 19 11:09:08 CET 2019 - mls@suse.de + +- update to rpm-4.15.1 + * bugfix release +- dropped patches: + * fix_lua_cflags.diff + +------------------------------------------------------------------- +Tue Nov 5 16:25:53 UTC 2019 - Neal Gompa + +- Fix shebang for pythondistdeps.py to use Python 3 + + Modify patch: pythondistdeps.diff +- Move pythondistdeps dependency generator to rpm-build +- Add python3-setuptools and python3 dependencies to rpm-build for pythondistdeps + +------------------------------------------------------------------- +Tue Oct 29 14:42:26 UTC 2019 - Ignaz Forster + +- Declare /var/lib/rpm as a ghost file (it is a link to /usr/lib/sysimage/rpm + generated in post script for quite some time now) [boo#1132796] + +------------------------------------------------------------------- +Wed Oct 2 14:53:19 CEST 2019 - mls@suse.de + +- update to rpm-4.15.0 + * dynamic build dependencies + * support for %elif, %elifos and %elifarch statements in spec + * caret version operator (the opposite of tilde) + * new %patchlist and %sourcelist spec sections + * new %{expr:#} built-in macro for evaluating expressions + * new %dnl macro primitive for comments +- dropped patches: + * 0001-Stop-papering-over-the-security-disaster-known-as-pr.patch + * 0002-Fix-use-after-free-introduced-in-0f21bdd0d7b2c45564d.patch + * adopt-language-specific-build_fooflags-macros-from-F.patch + * auto-config-update-riscv64.diff + * debugedit-macro.diff + * dwz-compression.patch + * getncpus.diff + * nameversioncompare.diff + * mono-find-requires.diff + * rpmfc-push-name-epoch-version-release-macro-before-invoking-depgens.patch + * set-flto=auto-by-default.patch + * source_date_epoch_buildtime.diff +- new patches: + * fix_lua_cflags.diff + +------------------------------------------------------------------- +Wed Aug 28 11:17:12 UTC 2019 - Fabian Vogt + +- Split librpmbuild into a separate subpackage, it's pulled in by + python-rpm + +------------------------------------------------------------------- +Fri Aug 23 07:19:03 UTC 2019 - Martin LiÅ¡ka + +- Add set-flto=auto-by-default.patch in order to utilize -flto=auto. + +------------------------------------------------------------------- +Tue Aug 6 08:49:50 UTC 2019 - Fabian Vogt + +- Move more into rpm-build subpackage: + * brp- and -check scripts + * .prov and .req files, with *find* scripts + * elfdeps, debugedit and sepdebugcrcfix + * librpmbuild and dependents +- Add upstream patches which remove libelf dep from librpmio and plugins: + * 0001-Stop-papering-over-the-security-disaster-known-as-pr.patch + * 0002-Fix-use-after-free-introduced-in-0f21bdd0d7b2c45564d.patch + +------------------------------------------------------------------- +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..d040f01 --- /dev/null +++ b/rpm.spec @@ -0,0 +1,483 @@ +# +# spec file for package rpm +# +# Copyright (c) 2023 SUSE LLC +# +# 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 https://bugs.opensuse.org/ +# + + +#Compat macro for new _fillupdir macro introduced in Nov 2017 +%{?!_fillupdir:%define _fillupdir /var/adm/fillup-templates} + +%global librpmsover 9 + +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: libgcrypt-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: pkgconfig(libzstd) +BuildRequires: pkgconfig(zlib) +#!BuildIgnore: rpmlint-Factory +Provides: rpminst +Requires(post): %fillup_prereq +Requires: rpm-config-SUSE +Summary: The RPM Package Manager +License: GPL-2.0-or-later +Group: System/Packages +Version: 4.18.0 +Release: 0 +URL: https://rpm.org/ +#Git-Clone: https://github.com/rpm-software-management/rpm +Source: http://ftp.rpm.org/releases/rpm-4.17.x/rpm-%{version}.tar.bz2 +Source5: rpmsort +Source8: rpmconfigcheck +Source9: sysconfig.services-rpm +Source12: baselibs.conf +Source13: rpmconfigcheck.service +# quilt patches start here +Patch5: usr-lib-sysimage-rpm.patch +Patch13: ignore-auxv.diff +Patch12: localetag.diff +Patch18: refreshtestarch.diff +Patch24: brp.diff +Patch25: brpcompress.diff +Patch26: checkfilesnoinfodir.diff +Patch29: findlang.diff +Patch30: macrosin.diff +Patch32: platformin.diff +Patch33: rpmpopt.diff +Patch34: rpmrc.diff +Patch36: rpmqpack.diff +Patch38: build.diff +Patch43: rpm-shorten-changelog.diff +Patch46: remove-brp-strips.diff +Patch51: specfilemacro.diff +Patch60: safeugid.diff +Patch61: noprereqdeprec.diff +Patch66: remove-translations.diff +Patch67: headeradddb.diff +Patch69: nobuildcolor.diff +Patch70: fileattrs.diff +Patch71: nomagiccheck.diff +Patch73: assumeexec.diff +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 +Patch117: findsupplements.diff +Patch122: db_conversion.diff +Patch123: nextiteratorheaderblob.diff +Patch131: posttrans.diff +Patch133: zstdpool.diff +Patch134: zstdthreaded.diff +Patch135: selinux_transactional_update.patch +Patch136: x86_64-microarchitectures.patch +Patch137: cpuid_lzcnt.patch +Patch138: libmagic-exceptions.patch +Patch139: remove-awk-dependency.patch +# touches a generated file +Patch180: whatrequires-doc.diff +Patch6464: auto-config-update-aarch64-ppc64le.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 -n librpmbuild%{librpmsover} +Summary: Library for building RPM packages +# Was part of rpm before +Group: System/Libraries +Conflicts: rpm < %{version} + +%description -n librpmbuild%{librpmsover} +Thie package contains a library with functions for building RPM packages. + +%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: librpmbuild%{librpmsover} = %{version} +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: /usr/bin/gzip +Requires: gettext-tools +Requires: glibc-devel +Requires: glibc-locale-base +Requires: grep +Requires: make +Requires: patch +Requires: sed +Requires: systemd-rpm-macros +Requires: tar +Requires: util-linux +Requires: which +Requires: xz +# needed for debuginfo generation +Requires: debugedit = 5.0 +# drop candidates +Requires: cpio +Requires: file +# Mandatory generators +Requires: (%{name}-build-perl if perl-base) +Requires: (%{name}-build-python if python3-base) +# The point of the split +Conflicts: rpm < 4.15.0 + +%description build +If you want to build a rpm, you need this package. It provides rpmbuild +and requires some packages that are usually required. + +%package build-perl +Summary: RPM dependency generator for Perl +Group: Development/Languages/Perl +Requires: perl-base + +%description build-perl +Provides and requires generator for .pl files and modules. + +%prep +%setup -q -n rpm-%{version} + +rm -rf sqlite +%patch -P 5 -P 12 -P 13 -P 18 +%patch -P 24 -P 25 -P 26 -P 29 +%patch -P 30 -P 32 -P 33 -P 34 -P 36 -P 38 +%patch -P 43 -P 46 +%patch -P 51 +%patch -P 60 -P 61 -P 66 -P 67 -P 69 +%patch -P 70 -P 71 -P 73 -P 77 -P 78 +%patch -P 85 +%patch -P 93 -P 94 -P 99 +%patch -P 100 -P 102 -P 103 +%patch -P 117 +%patch -P 122 -P 123 +%patch -P 131 -P 133 -P 134 -P 135 -P 136 -P 137 -P 138 -P 139 +%patch -P 180 + +%ifarch aarch64 ppc64le riscv64 +%patch6464 +%endif + +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" +%elifarch x86_64 %x86_64 +BUILDTARGET="--build=x86_64-suse-linux" +%else +BUILDTARGET="--build=%{_target_cpu}-suse-linux" +%endif +export __FIND_DEBUGINFO=/usr/lib/rpm/find-debuginfo + +autoreconf -fi +./configure --disable-dependency-tracking --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \ +--libdir=%{_libdir} --sysconfdir=/etc --localstatedir=/var --sharedstatedir=/var/lib \ +--with-lua \ +--with-vendor=suse \ +--with-rundir=/run \ +--without-archive \ +--with-selinux \ +--with-crypto=libgcrypt \ +--with-acl \ +--with-cap \ +--enable-shared \ +--enable-ndb \ +--enable-bdb-ro \ +--enable-zstd \ +--enable-sqlite=no \ +%{?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 +%if 0%{?suse_version} < 1550 +ln -s /usr/bin/rpm %{buildroot}/bin/rpm +%endif +# 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 +gzip -9 %{buildroot}/%{_mandir}/man[18]/*.[18] +export RPM_BUILD_ROOT +%ifarch s390x +[ -f scripts/brp-%_arch-linux ] && sh scripts/brp-%_arch-linux +%endif +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 +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 \ + ocaml-find-provides.sh ocaml-find-requires.sh fileattrs/ocaml.attr \ + 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 build-aux/config.guess %{buildroot}/usr/lib/rpm +install -m 755 build-aux/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 +bash %{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 + +# make ndb the default database backend +echo "setting the default database backend to 'ndb'" +sed -i -e '/_db_backend/s/sqlite/ndb/' %{buildroot}/usr/lib/rpm/macros + +%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 usr/lib/sysimage/rpm/Packages -a ! -f usr/lib/sysimage/rpm/Packages.db ; then + if test -f var/lib/rpm/Packages -o -f var/lib/rpm/Packages.db ; then + rmdir usr/lib/sysimage/rpm + ln -s ../../../var/lib/rpm usr/lib/sysimage/rpm + fi +fi + +test -f usr/lib/sysimage/rpm/Packages -o -f usr/lib/sysimage/rpm/Packages.db || rpmdb --initdb +test -e var/lib/rpm || ln -s ../../usr/lib/sysimage/rpm var/lib/rpm + +%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 -o -f var/lib/rpm/Packages.db ; 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 + test -d var/lib/rpm && rmdir var/lib/rpm + test -e var/lib/rpm || ln -s ../../usr/lib/sysimage/rpm var/lib/rpm +fi + +%files -f rpm.lang +%defattr(-,root,root) +%license COPYING +%doc docs/manual + /etc/rpm +%if 0%{?suse_version} < 1550 + /bin/rpm +%endif + %{_bindir}/gendiff + %{_bindir}/rpm + %{_bindir}/rpm2cpio + %{_bindir}/rpmdb + %{_bindir}/rpmgraph + %{_bindir}/rpmkeys + %{_bindir}/rpmlua + %{_bindir}/rpmqpack + %{_bindir}/rpmquery + %{_bindir}/rpmsign + %{_bindir}/rpmverify + /usr/sbin/rpmconfigcheck + /usr/lib/systemd/system/rpmconfigcheck.service + %dir /usr/lib/rpm + /usr/lib/rpm/macros + /usr/lib/rpm/macros.d/ + /usr/lib/rpm/platform/ + /usr/lib/rpm/rpm.supp + /usr/lib/rpm/rpmdb_* + /usr/lib/rpm/rpmpopt-* + /usr/lib/rpm/rpmrc + /usr/lib/rpm/rpmsort + /usr/lib/rpm/rpmuncompress + /usr/lib/rpm/rpm_macros_provides.sh + /usr/lib/rpm/suse + /usr/lib/rpm/tgpg + %{_libdir}/rpm-plugins + %{_libdir}/librpm.so.* + %{_libdir}/librpmio.so.* + %{_libdir}/librpmsign.so.* +%doc %{_mandir}/man[18]/*.[18]* +%dir /usr/lib/sysimage +%dir /usr/lib/sysimage/rpm +%ghost /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 -n librpmbuild%{librpmsover} +%{_libdir}/librpmbuild.so.%{librpmsover} +%{_libdir}/librpmbuild.so.%{librpmsover}.* + +%files build +%defattr(-,root,root) +/usr/bin/rpmbuild +/usr/lib/rpm/pkgconfigdeps.sh +/usr/lib/rpm/ocamldeps.sh +/usr/lib/rpm/elfdeps +/usr/lib/rpm/rpmdeps +/usr/bin/rpmspec +/usr/lib/rpm/brp-* +/usr/lib/rpm/check-* +/usr/lib/rpm/*find* +/usr/lib/rpm/fileattrs/ +%exclude /usr/lib/rpm/fileattrs/perl*.attr +/usr/lib/rpm/*.prov +%exclude /usr/lib/rpm/perl.prov +/usr/lib/rpm/*.req +%exclude /usr/lib/rpm/perl.req +%ifarch aarch64 ppc64le riscv64 +/usr/lib/rpm/config.guess +/usr/lib/rpm/config.sub +%endif + +%files build-perl +%defattr(-,root,root) +/usr/lib/rpm/fileattrs/perl*.attr +/usr/lib/rpm/perl.prov +/usr/lib/rpm/perl.req + +%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..317a065 --- /dev/null +++ b/rpmconfigcheck @@ -0,0 +1,49 @@ +#! /bin/sh +# 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.db + +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 | while read line; do + for suffix in new orig save; do + [ -e "${line}.rpm${suffix}" ] && echo "${line}.rpm${suffix}" + done + done > $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/rpmpopt.diff b/rpmpopt.diff new file mode 100644 index 0000000..c043fd5 --- /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..a381533 --- /dev/null +++ b/rpmqpack.diff @@ -0,0 +1,115 @@ +--- Makefile.am.orig 2022-08-30 11:42:23.754853580 +0000 ++++ Makefile.am 2022-12-02 13:15:01.631426573 +0000 +@@ -186,6 +186,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) \ +--- docs/man/Makefile.am.orig 2022-04-07 11:13:18.958517604 +0000 ++++ docs/man/Makefile.am 2022-12-02 13:16:00.071289072 +0000 +@@ -9,7 +9,7 @@ EXTRA_DIST += gendiff.1.md + + 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 rpmlua.8 ++man_man8_DATA += rpmdb.8 rpmkeys.8 rpmsign.8 rpmspec.8 rpmlua.8 rpmqpack.8 + + EXTRA_DIST += rpm.8.md rpm-misc.8.md rpmbuild.8.md rpmdeps.8.md rpmgraph.8.md + EXTRA_DIST += rpm2cpio.8.md rpmdb.8.md rpmkeys.8.md rpmsign.8.md rpmspec.8.md +--- docs/man/rpmqpack.8.orig 2022-12-02 13:15:01.635426563 +0000 ++++ docs/man/rpmqpack.8 2022-12-02 13:15:01.635426563 +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 2022-12-02 13:15:01.635426563 +0000 ++++ rpmqpack.c 2022-12-02 13:15:01.635426563 +0000 +@@ -0,0 +1,60 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include ++ ++int ++main(int argc, char **argv) ++{ ++ int ret = 0; ++ rpmts ts; ++ ++ rpmDefineMacro(NULL, "_dbpath /var/lib/rpm", 0); ++ ts = rpmtsCreate(); ++ if (!ts) ++ { ++ fprintf(stderr, "rpmtsCreate failed\n"); ++ exit(1); ++ } ++ if (rpmtsOpenDB(ts, O_RDONLY)) ++ { ++ perror("rpmtsOpenDB"); ++ exit(1); ++ } ++ if (argc <= 1) ++ { ++ rpmdbIndexIterator ii; ++ ii = rpmdbIndexIteratorInit(rpmtsGetRdb(ts), RPMDBI_NAME); ++ if (ii) ++ { ++ const void *key = 0; ++ size_t keylen = 0; ++ while ((rpmdbIndexIteratorNext(ii, &key, &keylen)) == 0) ++ printf("%*.*s\n", (int)keylen, (int)keylen, (char *)key); ++ } ++ rpmdbIndexIteratorFree(ii); ++ } ++ else ++ { ++ argc--; ++ while (argc--) ++ { ++ rpmdbMatchIterator mi; ++ argv++; ++ mi = rpmdbInitIterator(rpmtsGetRdb(ts), RPMDBI_NAME, (void *)*argv, strlen(*argv)); ++ if (mi && rpmdbGetIteratorCount(mi)) ++ printf("%s\n", *argv); ++ else ++ ret = 1; ++ rpmdbFreeIterator(mi); ++ } ++ } ++ rpmtsFree(ts); ++ return ret; ++} diff --git a/rpmrc.diff b/rpmrc.diff new file mode 100644 index 0000000..1804678 --- /dev/null +++ b/rpmrc.diff @@ -0,0 +1,172 @@ +--- rpmrc.in.orig 2022-04-07 11:13:19.072518377 +0000 ++++ rpmrc.in 2022-12-02 13:14:27.719506789 +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: armv8l -O2 -g -march=armv8-a + optflags: armv8hl -O2 -g -march=armv8-a -mfloat-abi=hard -mfpu=vfpv4 +@@ -93,8 +94,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 +@@ -300,17 +301,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 + +@@ -332,6 +333,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 +@@ -397,6 +399,15 @@ buildarchtranslate: riscv64: riscv64 + + buildarchtranslate: loongarch64: loongarch64 + ++buildarchtranslate: parisc: hppa ++buildarchtranslate: hppa2.0: hppa ++buildarchtranslate: hppa64: hppa ++ ++buildarchtranslate: armv5l: armv4l ++buildarchtranslate: armv5tel: armv4l ++buildarchtranslate: armv5b: armv4b ++buildarchtranslate: armv5teb: armv4b ++ + ############################################################# + # Architecture compatibility + +@@ -461,16 +472,20 @@ 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: armv8l: armv7l + arch_compat: armv7l: 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 +@@ -493,7 +508,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 +@@ -619,7 +634,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..19d5614 --- /dev/null +++ b/rpmsort @@ -0,0 +1,76 @@ +#!/bin/sh +# rpmsort implemented mostly in Lua +# Copyright (c) 2020 SUSE LLC +# SPDX-License-Identifier: GPL-2.0-or-later +# Author: fvogt@suse.de +# Enhanced by: mwilck@suse.com + +rpmsort() { + direction=$1 + script=' +function parse(ver) + local epoch, version, release = 0, ver, 0 + _, eend, e = ver:find("^(%d+):") + if eend then + ver = ver:sub(eend + 1) + version = ver + epoch = e + end + _, _, v, r = ver:find("(.+)%-(.+)$") + if v then + version = v + release = r + end + return epoch, version, release +end + +function pkgvercmp(a, b) + local ae, av, ar = parse(a) + local be, bv, br = parse(b) + + local ecmp = rpm.vercmp(ae, be) + if ecmp ~= 0 then return ecmp end + + local vcmp = rpm.vercmp(av, bv) + if vcmp ~= 0 then return vcmp end + + return rpm.vercmp(ar, br) +end + +vers = {} +for line in io.stdin:lines() do + table.insert(vers, line) +end +table.sort(vers, function(a, b) return pkgvercmp(a, b) == '"$direction"' end) +print(table.concat(vers, "\n")) +' + + rpm --eval "%{lua: ${script}}" +} + +usage() { + cat >&2 <&2;; + esac + shift +done + +rpmsort "$DIRECTION" diff --git a/safeugid.diff b/safeugid.diff new file mode 100644 index 0000000..4367b40 --- /dev/null +++ b/safeugid.diff @@ -0,0 +1,214 @@ +--- ../safeugid.diff 2019-10-02 13:37:13.191868203 +0200 ++++ P 2019-10-02 13:36:09.036002978 +0200 +@@ -0,0 +1,211 @@ ++--- lib/rpmchroot.c.orig 2019-06-26 14:17:31.411985696 +0000 +++++ lib/rpmchroot.c 2019-10-02 11:35:58.788024507 +0000 ++@@ -126,6 +126,7 @@ int rpmChrootIn(void) ++ ++ 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; ++@@ -151,6 +152,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 2019-06-26 14:17:31.418985685 +0000 +++++ lib/rpmug.c 2019-10-02 11:35:58.788024507 +0000 ++@@ -11,6 +11,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 ++@@ -44,17 +85,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; ++@@ -87,18 +139,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; ++@@ -110,7 +173,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; ++@@ -127,9 +190,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); ++ ++@@ -141,7 +204,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; ++@@ -158,9 +221,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); ++ ++@@ -192,3 +255,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 2019-06-26 14:17:31.418985685 +0000 +++++ lib/rpmug.h 2019-10-02 11:35:58.788024507 +0000 ++@@ -15,4 +15,6 @@ int rpmugInit(void); ++ ++ void rpmugFree(void); ++ +++void rpmugChroot(int in); +++ ++ #endif /* _RPMUG_H */ diff --git a/selinux_transactional_update.patch b/selinux_transactional_update.patch new file mode 100644 index 0000000..46c1ee0 --- /dev/null +++ b/selinux_transactional_update.patch @@ -0,0 +1,24 @@ +--- plugins/selinux.c.orig 2022-04-07 11:13:19.027518072 +0000 ++++ plugins/selinux.c 2022-12-02 13:59:42.185032111 +0000 +@@ -8,6 +8,7 @@ + #include + #include + #include "lib/rpmplugin.h" ++#include + + #include "debug.h" + +@@ -173,6 +174,13 @@ static rpmRC selinux_fsm_file_prepare(rp + + if (conrc == 0 || (conrc < 0 && errno == EOPNOTSUPP)) + rc = RPMRC_OK; ++ else { ++ char *tup = getenv("TRANSACTIONAL_UPDATE"); ++ if (tup != NULL && !strncmp(tup, "true", 4)) { ++ rpmlog(RPMLOG_DEBUG, "lsetfilecon failed, will be healed upon reboot (transactional update): (%s, %s)\n", path, scon); ++ rc = RPMRC_OK; ++ } ++ } + + rpmlog(loglvl(rc != RPMRC_OK), "lsetfilecon: (%d %s, %s) %s\n", + fd, path, scon, (conrc < 0 ? strerror(errno) : "")); diff --git a/specfilemacro.diff b/specfilemacro.diff new file mode 100644 index 0000000..18f2acd --- /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/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/usr-lib-sysimage-rpm.patch b/usr-lib-sysimage-rpm.patch new file mode 100644 index 0000000..87b00da --- /dev/null +++ b/usr-lib-sysimage-rpm.patch @@ -0,0 +1,11 @@ +--- macros.in.orig 2021-08-20 08:44:56.264259007 +0000 ++++ macros.in 2021-09-23 18:57:26.654059458 +0000 +@@ -140,7 +140,7 @@ + %_buildshell /bin/sh + + # 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/weakdepscompat.diff b/weakdepscompat.diff new file mode 100644 index 0000000..c026b93 --- /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..a1a4daf --- /dev/null +++ b/whatrequires-doc.diff @@ -0,0 +1,14 @@ +--- docs/man/rpm.8.orig 2021-09-23 19:20:46.991203867 +0000 ++++ docs/man/rpm.8 2021-09-23 19:22:45.918961340 +0000 +@@ -601,6 +601,11 @@ Query all packages that provide the \f[I + \f[B]--whatrequires \f[R]\f[I]CAPABILITY\f[R] + Query all packages that require \f[I]CAPABILITY\f[R] 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 \f[B]-e --test \f[R]\f[I]PACKAGE_NAME\f[R] + .TP + \f[B]--whatconflicts \f[R]\f[I]CAPABILITY\f[R] + Query all packages that conflict with \f[I]CAPABILITY\f[R]. diff --git a/x86_64-microarchitectures.patch b/x86_64-microarchitectures.patch new file mode 100644 index 0000000..4c0b896 --- /dev/null +++ b/x86_64-microarchitectures.patch @@ -0,0 +1,196 @@ +From 282f75e33f93e46854345598f576d052d5cfe390 Mon Sep 17 00:00:00 2001 +From: Fabian Vogt +Date: Thu, 8 Dec 2022 12:50:12 +0100 +Subject: [PATCH] Add x86-64 architecture levels (v2-v4) as architectures + +The x86_64 SysV psABI defines four levels of x86_64 with certain CPU features +required for each level. Those definitions are meant to be generically useful +and recognized as such by glibc and gcc as well. + +For backward-compatibility and to avoid surprises, default to building x86_64 +even on v2+ capable machines. +--- + installplatform | 2 +- + lib/rpmrc.c | 75 +++++++++++++++++++++++++++++++++++++++++++++++++ + macros.in | 4 +++ + rpmrc.in | 18 ++++++++++++ + 4 files changed, 98 insertions(+), 1 deletion(-) + +--- installplatform ++++ installplatform +@@ -78,7 +78,7 @@ for ARCH in noarch `grep ^arch_canon $RP + CANONARCH=i386 + CANONCOLOR=0 + ;; +- x86_64|amd64|ia32e) ++ x86_64*|amd64|ia32e) + ISANAME=x86 + ISABITS=64 + CANONARCH=x86_64 +--- lib/rpmrc.c ++++ lib/rpmrc.c +@@ -735,6 +735,71 @@ exit: + return rc; + } + ++# if defined(__linux__) && defined(__x86_64__) ++static inline void cpuid(uint32_t op, uint32_t op2, uint32_t *eax, uint32_t *ebx, uint32_t *ecx, uint32_t *edx) ++{ ++ asm volatile ( ++ "cpuid\n" ++ : "=a" (*eax), "=b" (*ebx), "=c" (*ecx), "=d" (*edx) ++ : "a" (op), "c" (op2)); ++} ++ ++/* From gcc's gcc/config/i386/cpuid.h */ ++/* Features (%eax == 1) */ ++/* %ecx */ ++#define bit_SSE3 (1 << 0) ++#define bit_LZCNT (1 << 5) ++#define bit_SSSE3 (1 << 9) ++#define bit_FMA (1 << 12) ++#define bit_CMPXCHG16B (1 << 13) ++#define bit_SSE4_1 (1 << 19) ++#define bit_SSE4_2 (1 << 20) ++#define bit_MOVBE (1 << 22) ++#define bit_POPCNT (1 << 23) ++#define bit_OSXSAVE (1 << 27) ++#define bit_AVX (1 << 28) ++#define bit_F16C (1 << 29) ++ ++/* Extended Features (%eax == 0x80000001) */ ++/* %ecx */ ++#define bit_LAHF_LM (1 << 0) ++ ++/* Extended Features (%eax == 7) */ ++/* %ebx */ ++#define bit_BMI (1 << 3) ++#define bit_AVX2 (1 << 5) ++#define bit_BMI2 (1 << 8) ++#define bit_AVX512F (1 << 16) ++#define bit_AVX512DQ (1 << 17) ++#define bit_AVX512CD (1 << 28) ++#define bit_AVX512BW (1 << 30) ++#define bit_AVX512VL (1u << 31) ++ ++static int get_x86_64_level(void) ++{ ++ int level = 1; ++ ++ unsigned int op_1_ecx = 0, op_80000001_ecx = 0, op_7_ebx = 0, unused; ++ cpuid(1, 0, &unused, &unused, &op_1_ecx, &unused); ++ cpuid(0x80000001, 0, &unused, &unused, &op_80000001_ecx, &unused); ++ cpuid(7, 0, &unused, &op_7_ebx, &unused, &unused); ++ ++ const unsigned int op_1_ecx_lv2 = bit_SSE3 | bit_SSSE3 | bit_CMPXCHG16B | bit_SSE4_1 | bit_SSE4_2 | bit_POPCNT; ++ if ((op_1_ecx & op_1_ecx_lv2) == op_1_ecx_lv2 && (op_80000001_ecx & bit_LAHF_LM)) ++ level = 2; ++ ++ const unsigned int op_1_ecx_lv3 = bit_LZCNT | bit_FMA | bit_MOVBE | bit_OSXSAVE | bit_AVX | bit_F16C; ++ const unsigned int op_7_ebx_lv3 = bit_BMI | bit_AVX2 | bit_BMI2; ++ if (level == 2 && (op_1_ecx & op_1_ecx_lv3) == op_1_ecx_lv3 && (op_7_ebx & op_7_ebx_lv3) == op_7_ebx_lv3) ++ level = 3; ++ ++ const unsigned int op_7_ebx_lv4 = bit_AVX512F | bit_AVX512DQ | bit_AVX512CD | bit_AVX512BW | bit_AVX512VL; ++ if (level == 3 && (op_7_ebx & op_7_ebx_lv4) == op_7_ebx_lv4) ++ level = 4; ++ ++ return level; ++} ++# endif + + # if defined(__linux__) && defined(__i386__) + #include +@@ -1287,6 +1352,16 @@ static void defaultMachine(rpmrcCtx ctx, + } + # endif + ++# if defined(__linux__) && defined(__x86_64__) ++ { ++ int x86_64_level = get_x86_64_level(); ++ if (x86_64_level > 1) { ++ strcpy(un.machine, "x86_64_vX"); ++ un.machine[8] = '0' + x86_64_level; ++ } ++ } ++#endif ++ + /* the uname() result goes through the arch_canon table */ + canon = lookupInCanonTable(un.machine, + ctx->tables[RPM_MACHTABLE_INSTARCH].canons, +--- macros.in ++++ macros.in +@@ -1064,6 +1064,10 @@ package or when debugging this package.\ + %ix86 i386 i486 i586 i686 pentium3 pentium4 athlon geode + + #------------------------------------------------------------------------------ ++# arch macro for all supported x86_64 processors ++%x86_64 x86_64 x86_64_v2 x86_64_v3 x86_64_v4 amd64 em64t ++ ++#------------------------------------------------------------------------------ + # arch macro for all supported 32-bit ARM processors + %arm32 armv3l armv4b armv4l armv4tl armv5b armv5l armv5teb armv5tel armv5tejl armv6l armv6hl armv7l armv7hl armv7hnl armv8l armv8hl armv8hnl armv8hcnl + +--- rpmrc.in ++++ rpmrc.in +@@ -22,6 +22,10 @@ optflags: athlon -O2 -g -m32 -march=athl + optflags: geode -Os -g -m32 -march=geode + 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: x86_64_v2 -O2 -g -march=x86-64-v2 -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables ++optflags: x86_64_v3 -O2 -g -march=x86-64-v3 -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables ++optflags: x86_64_v4 -O2 -g -march=x86-64-v4 -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables ++ + optflags: amd64 -O2 -g + optflags: ia32e -O2 -g + +@@ -148,6 +152,9 @@ archcolor: s390x 2 + archcolor: ia64 2 + + archcolor: x86_64 2 ++archcolor: x86_64_v2 2 ++archcolor: x86_64_v3 2 ++archcolor: x86_64_v4 2 + + archcolor: sh3 1 + archcolor: sh4 1 +@@ -168,6 +175,9 @@ arch_canon: i586: i586 1 + arch_canon: i486: i486 1 + arch_canon: i386: i386 1 + arch_canon: x86_64: x86_64 1 ++arch_canon: x86_64_v2: x86_64_v2 1 ++arch_canon: x86_64_v3: x86_64_v3 1 ++arch_canon: x86_64_v4: x86_64_v4 1 + arch_canon: amd64: amd64 1 + arch_canon: ia32e: ia32e 1 + arch_canon: em64t: em64t 1 +@@ -378,6 +388,9 @@ buildarchtranslate: s390x: s390x + buildarchtranslate: ia64: ia64 + + buildarchtranslate: x86_64: x86_64 ++buildarchtranslate: x86_64_v2: x86_64 ++buildarchtranslate: x86_64_v3: x86_64 ++buildarchtranslate: x86_64_v4: x86_64 + buildarchtranslate: amd64: x86_64 + buildarchtranslate: ia32e: x86_64 + +@@ -504,6 +517,9 @@ arch_compat: ia64: i686 noarch + arch_compat: x86_64: amd64 em64t athlon noarch + arch_compat: amd64: x86_64 em64t athlon noarch + arch_compat: ia32e: x86_64 em64t athlon noarch ++arch_compat: x86_64_v2: x86_64 amd64 em64t athlon noarch ++arch_compat: x86_64_v3: x86_64_v2 x86_64 amd64 em64t athlon noarch ++arch_compat: x86_64_v4: x86_64_v3 x86_64_v2 x86_64 amd64 em64t athlon noarch + + arch_compat: sh3: noarch + arch_compat: sh4: noarch +@@ -640,6 +656,9 @@ buildarch_compat: s390x: noarch + + buildarch_compat: ia64: noarch + ++buildarch_compat: x86_64_v4: x86_64_v3 ++buildarch_compat: x86_64_v3: x86_64_v2 ++buildarch_compat: x86_64_v2: x86_64 + buildarch_compat: x86_64: noarch + buildarch_compat: amd64: x86_64 + buildarch_compat: ia32e: x86_64 diff --git a/zstdpool.diff b/zstdpool.diff new file mode 100644 index 0000000..9d1b4d4 --- /dev/null +++ b/zstdpool.diff @@ -0,0 +1,68 @@ +--- rpmio/rpmio.c.orig 2021-06-21 12:00:44.648612706 +0000 ++++ rpmio/rpmio.c 2022-04-13 13:48:55.224954032 +0000 +@@ -8,6 +8,7 @@ + #include + #include + #include ++#include + #if defined(__linux__) + #include + #endif +@@ -1034,6 +1035,7 @@ static const FDIO_t lzdio = &lzdio_s; + /* Support for ZSTD library. */ + #ifdef HAVE_ZSTD + ++#define ZSTD_STATIC_LINKING_ONLY + #include + + typedef struct rpmzstd_s { +@@ -1048,6 +1050,29 @@ typedef struct rpmzstd_s { + ZSTD_outBuffer zob; /*!< ZSTD_outBuffer */ + } * rpmzstd; + ++#if ZSTD_VERSION_NUMBER >= 10407 ++ ++static pthread_once_t zstdThreadPoolCreated = PTHREAD_ONCE_INIT; ++static ZSTD_threadPool *zstdThreadPool; ++static int zstdThreadPoolThreads; ++ ++static void zstdCreateThreadPool(void) ++{ ++ int numthreads = rpmExpandNumeric("%{?_zstd_pool_threads}%{?!_zstd_pool_threads:-1}"); ++ if (numthreads >= 0) ++ numthreads = get_compression_threads(numthreads > 0 ? numthreads : -1); ++ if (numthreads > 0) { ++ zstdThreadPoolThreads = numthreads; ++ zstdThreadPool = ZSTD_createThreadPool(numthreads); ++ if (!zstdThreadPool) ++ rpmlog(RPMLOG_WARNING, "Could not create zstd thread pool for %d threads\n", numthreads); ++ else ++ rpmlog(RPMLOG_DEBUG, "Created zstd thread pool for %d threads\n", numthreads); ++ } ++} ++ ++#endif ++ + static rpmzstd rpmzstdNew(int fdno, const char *fmode) + { + int flags = 0; +@@ -1133,8 +1158,18 @@ static rpmzstd rpmzstdNew(int fdno, cons + + threads = get_compression_threads(threads); + if (threads > 0) { +- if (ZSTD_isError (ZSTD_CCtx_setParameter(_stream, ZSTD_c_nbWorkers, threads))) ++ if (ZSTD_isError (ZSTD_CCtx_setParameter(_stream, ZSTD_c_nbWorkers, threads))) { + rpmlog(RPMLOG_DEBUG, "zstd library does not support multi-threading\n"); ++ } else { ++#if ZSTD_VERSION_NUMBER >= 10407 ++ pthread_once(&zstdThreadPoolCreated, zstdCreateThreadPool); ++ if (zstdThreadPool) { ++ if (threads > zstdThreadPoolThreads) ++ ZSTD_CCtx_setParameter(_stream, ZSTD_c_nbWorkers, zstdThreadPoolThreads); ++ ZSTD_CCtx_refThreadPool(_stream, zstdThreadPool); ++ } ++#endif ++ } + } + + nb = ZSTD_CStreamOutSize(); diff --git a/zstdthreaded.diff b/zstdthreaded.diff new file mode 100644 index 0000000..0c942b2 --- /dev/null +++ b/zstdthreaded.diff @@ -0,0 +1,14 @@ +--- macros.in.orig 2021-10-15 07:40:15.601628187 +0000 ++++ macros.in 2021-10-15 07:42:23.557282503 +0000 +@@ -374,7 +374,10 @@ package or when debugging this package.\ + # "w.ufdio" uncompressed + # + #%_source_payload w9.gzdio +-%_binary_payload w19.zstdio ++%_binary_payload w19T0.zstdio ++ ++# use a pool with 8 threads for threaded zstd compression ++%_zstd_pool_threads 8 + + # Algorithm to use for generating file checksum digests on build. + # If not specified or 0, MD5 is used.