- update to rpm-4.19.0
OBS-URL: https://build.opensuse.org/package/show/Base:System/rpm?expand=0&rev=641
This commit is contained in:
parent
78a4656943
commit
87f5e4610f
@ -7,5 +7,5 @@
|
||||
+ 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$//'`;;
|
||||
*.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$//'`;;
|
||||
|
22
brp.diff
22
brp.diff
@ -1,5 +1,5 @@
|
||||
--- 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
|
||||
--- scripts/brp-strip-comment-note.orig 2023-09-19 10:10:10.000000000 +0000
|
||||
+++ scripts/brp-strip-comment-note 2023-10-09 12:22:27.504732553 +0000
|
||||
@@ -15,7 +15,7 @@ esac
|
||||
|
||||
# Strip .comment and .note sections (the latter only if it is not allocated)
|
||||
@ -9,11 +9,13 @@
|
||||
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
|
||||
--- scripts/brp-strip.orig 2023-09-19 10:10:10.000000000 +0000
|
||||
+++ scripts/brp-strip 2023-10-09 12:24:36.920521652 +0000
|
||||
@@ -35,6 +35,7 @@ strip_elf_binaries()
|
||||
! -regex "${RPM_BUILD_ROOT}/*usr/lib/debug.*" \
|
||||
! -name "*.go" -links "${nlinks}" -print0 | \
|
||||
xargs -0 -r -P${nprocs} -n${MAX_ARGS} 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
|
||||
|
@ -49,10 +49,10 @@
|
||||
- *.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\)$//'`;;
|
||||
+ *.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
|
||||
|
||||
|
10
build.diff
10
build.diff
@ -1,6 +1,6 @@
|
||||
--- installplatform
|
||||
+++ installplatform
|
||||
@@ -118,6 +118,11 @@
|
||||
--- installplatform.orig 2023-09-19 10:10:10.000000000 +0000
|
||||
+++ installplatform 2023-10-09 12:56:44.709209329 +0000
|
||||
@@ -210,6 +210,11 @@ for ARCH in noarch `grep ^arch_canon $RP
|
||||
PPD="${DESTDIR}/${platformdir}/${ARCH}-${OS}"
|
||||
[ -d $PPD ] || mkdir -p $PPD
|
||||
|
||||
@ -10,5 +10,5 @@
|
||||
+ fi
|
||||
+
|
||||
cat $PLATFORM \
|
||||
| sed -e "s,@RPMRC_OPTFLAGS@,$RPMRC_OPTFLAGS," \
|
||||
-e "s,@RPMCANONARCH@,$CANONARCH,g" \
|
||||
| sed -e "s,=RPMRC_OPTFLAGS=,$RPMRC_OPTFLAGS," \
|
||||
-e "s,=RPMCANONARCH=,$CANONARCH,g" \
|
||||
|
@ -1,48 +0,0 @@
|
||||
From 6b7c58474df3b416b1acb8b58e73b7edf73b8c43 Mon Sep 17 00:00:00 2001
|
||||
From: Fabian Vogt <fvogt@suse.de>
|
||||
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
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- lib/rpmscript.c
|
||||
+++ lib/rpmscript.c
|
||||
@@ -390,7 +390,7 @@ rpmRC rpmScriptRun(rpmScript script, int
|
||||
--- lib/rpmscript.c.orig 2023-09-19 10:10:10.000000000 +0000
|
||||
+++ lib/rpmscript.c 2023-10-09 13:10:38.011654503 +0000
|
||||
@@ -463,7 +463,7 @@ rpmRC rpmScriptRun(rpmScript script, int
|
||||
if (script == NULL) return RPMRC_OK;
|
||||
|
||||
ARGV_t args = NULL;
|
||||
@ -9,7 +9,7 @@
|
||||
RPMLOG_ERR : RPMLOG_WARNING;
|
||||
rpmRC rc;
|
||||
int script_type = RPMSCRIPTLET_FORK | RPMSCRIPTLET_EXEC;
|
||||
@@ -637,5 +637,8 @@ rpmscriptTypes rpmScriptType(rpmScript s
|
||||
@@ -723,5 +723,8 @@ rpmscriptTypes rpmScriptType(rpmScript s
|
||||
|
||||
rpmscriptFlags rpmScriptFlags(rpmScript script)
|
||||
{
|
||||
@ -19,11 +19,11 @@
|
||||
+ 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*}}}
|
||||
--- macros.in.orig 2023-10-09 13:10:35.043659922 +0000
|
||||
+++ macros.in 2023-10-09 13:10:38.015654495 +0000
|
||||
@@ -1377,5 +1377,10 @@ end
|
||||
end
|
||||
}
|
||||
|
||||
+# Should errors in %post scriptlet be propagated as errors?
|
||||
+#
|
||||
|
@ -1,20 +1,21 @@
|
||||
--- 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 @@
|
||||
--- fileattrs/elf.attr.orig 2023-09-19 10:10:10.000000000 +0000
|
||||
+++ fileattrs/elf.attr 2023-10-09 13:07:09.252042587 +0000
|
||||
@@ -1,4 +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
|
||||
-%__elf_exclude_path ^/lib/modules/.*\.ko?(\.[[:alnum:]]*)$
|
||||
+%__elf_exclude_path (^/usr/lib/debug/)|(^/lib/modules/.*\.ko?(\.[[:alnum:]]*)$)
|
||||
--- fileattrs/perl.attr.orig 2023-09-19 10:10:10.000000000 +0000
|
||||
+++ fileattrs/perl.attr 2023-10-09 12:58:36.893003334 +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
|
||||
--- fileattrs/perllib.attr.orig 2023-09-19 10:10:10.000000000 +0000
|
||||
+++ fileattrs/perllib.attr 2023-10-09 12:58:36.893003334 +0000
|
||||
@@ -1,5 +1,6 @@
|
||||
%__perllib_provides %{_rpmconfigdir}/perl.prov
|
||||
-%__perllib_requires %{_rpmconfigdir}/perl.req
|
||||
|
@ -1,5 +1,5 @@
|
||||
--- 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
|
||||
--- scripts/find-lang.sh.orig 2023-09-19 10:10:10.000000000 +0000
|
||||
+++ scripts/find-lang.sh 2023-10-09 12:32:44.303726903 +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
|
||||
@ -15,7 +15,7 @@
|
||||
--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
|
||||
@@ -66,9 +66,9 @@ else NAMES[0]=$1
|
||||
fi
|
||||
shift
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
QT=#
|
||||
MAN=#
|
||||
HTML=#
|
||||
@@ -89,6 +89,14 @@ while test $# -gt 0 ; do
|
||||
@@ -91,6 +91,14 @@ while test $# -gt 0 ; do
|
||||
KDE=
|
||||
shift
|
||||
;;
|
||||
@ -42,7 +42,7 @@
|
||||
--with-qt )
|
||||
QT=
|
||||
shift
|
||||
@@ -118,11 +126,13 @@ while test $# -gt 0 ; do
|
||||
@@ -124,11 +132,13 @@ while test $# -gt 0 ; do
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
@ -59,7 +59,7 @@
|
||||
|
||||
for NAME in ${NAMES[@]}; do
|
||||
|
||||
@@ -132,7 +142,7 @@ s:'"$TOP_DIR"'::
|
||||
@@ -138,7 +148,7 @@ s:'"$TOP_DIR"'::
|
||||
'"$NO_ALL_NAME$MO"'s:\(.*/locale/\)\([^/_]\+\)\(.*/'"$NAME"'\.mo$\):%lang(\2) \1\2\3:
|
||||
s:^\([^%].*\)::
|
||||
s:%lang(C) ::
|
||||
@ -68,7 +68,7 @@
|
||||
|
||||
find "$TOP_DIR" -type d|sed '
|
||||
s:'"$TOP_DIR"'::
|
||||
@@ -140,27 +150,27 @@ s:'"$TOP_DIR"'::
|
||||
@@ -146,27 +156,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) ::
|
||||
@ -103,7 +103,7 @@
|
||||
|
||||
find "$TOP_DIR" -type f|sed '
|
||||
s:'"$TOP_DIR"'::
|
||||
@@ -168,7 +178,7 @@ s:'"$TOP_DIR"'::
|
||||
@@ -174,7 +184,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) ::
|
||||
@ -112,7 +112,7 @@
|
||||
|
||||
find $TOP_DIR -type d|sed '
|
||||
s:'"$TOP_DIR"'::
|
||||
@@ -181,14 +191,14 @@ s:'"$TOP_DIR"'::
|
||||
@@ -187,14 +197,14 @@ s:'"$TOP_DIR"'::
|
||||
s:%lang(.*) .*/mate/help/[a-zA-Z0-9.\_\-]\+/[a-zA-Z0-9.\_\-]\+/.*::
|
||||
s:^\([^%].*\)::
|
||||
s:%lang(C) ::
|
||||
@ -129,7 +129,7 @@
|
||||
|
||||
find "$TOP_DIR" -type f|sed '
|
||||
s:'"$TOP_DIR"'::
|
||||
@@ -196,7 +206,7 @@ s:'"$TOP_DIR"'::
|
||||
@@ -202,7 +212,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) ::
|
||||
@ -138,7 +138,7 @@
|
||||
|
||||
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"'::
|
||||
@@ -214,7 +224,7 @@ s:'"$TOP_DIR"'::
|
||||
'"$ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+$\):%lang(\2) \1\2\3:
|
||||
s:^\([^%].*\)::
|
||||
s:%lang(C) ::
|
||||
@ -147,7 +147,7 @@
|
||||
fi
|
||||
|
||||
KDE4_HTML=`kde4-config --expandvars --install html 2>/dev/null`
|
||||
@@ -221,7 +231,7 @@ s:'"$TOP_DIR"'::
|
||||
@@ -227,7 +237,7 @@ s:'"$TOP_DIR"'::
|
||||
'"$ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+$\):%lang(\2) \1\2\3:
|
||||
s:^\([^%].*\)::
|
||||
s:%lang(C) ::
|
||||
@ -156,7 +156,7 @@
|
||||
fi
|
||||
|
||||
KF5_HTML=`kf5-config --expandvars --install html 2>/dev/null`
|
||||
@@ -234,7 +244,7 @@ s:'"$TOP_DIR"'::
|
||||
@@ -240,7 +250,7 @@ s:'"$TOP_DIR"'::
|
||||
'"$ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+$\):%lang(\2) \1\2\3:
|
||||
s:^\([^%].*\)::
|
||||
s:%lang(C) ::
|
||||
@ -165,7 +165,7 @@
|
||||
fi
|
||||
|
||||
find "$TOP_DIR" -type d|sed '
|
||||
@@ -245,7 +255,7 @@ s:'"$TOP_DIR"'::
|
||||
@@ -251,7 +261,7 @@ s:'"$TOP_DIR"'::
|
||||
'"$ALL_NAME$HTML"'s:\(.*/doc/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+$\):%lang(\2) \1\2\3:
|
||||
s:^\([^%].*\)::
|
||||
s:%lang(C) ::
|
||||
@ -174,7 +174,7 @@
|
||||
|
||||
find "$TOP_DIR" -type f -o -type l|sed '
|
||||
s:'"$TOP_DIR"'::
|
||||
@@ -258,7 +268,7 @@ s:'"$TOP_DIR"'::
|
||||
@@ -264,7 +274,7 @@ s:'"$TOP_DIR"'::
|
||||
'"$ALL_NAME$QT"'s:^\([^%].*/[^/]\+_\([a-zA-Z]\+\)\.qm$\):%lang(\2) \1:
|
||||
s:^[^%].*::
|
||||
s:%lang(C) ::
|
||||
@ -183,7 +183,7 @@
|
||||
|
||||
find "$TOP_DIR" -type d|sed '
|
||||
s:'"$TOP_DIR"'::
|
||||
@@ -266,19 +276,24 @@ s:'"$TOP_DIR"'::
|
||||
@@ -272,22 +282,25 @@ s:'"$TOP_DIR"'::
|
||||
'"$ALL_NAME$MAN"'s:\(.*/man/\([^/_]\+\).*/man[a-z0-9]\+$\):%lang(\2) \1*:
|
||||
s:^\([^%].*\)::
|
||||
s:%lang(C) ::
|
||||
@ -207,8 +207,9 @@
|
||||
+ rm -f $MO_NAME_NEW
|
||||
exit 1
|
||||
fi
|
||||
+
|
||||
|
||||
+sort -u $MO_NAME_NEW >> $MO_NAME
|
||||
+rm -f $MO_NAME_NEW
|
||||
+
|
||||
exit 0
|
||||
|
||||
if [[ "$SUBPKGS" == "NO" ]]; then
|
||||
exit 0
|
||||
|
@ -1,25 +1,15 @@
|
||||
--- 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
|
||||
--- scripts/CMakeLists.txt.orig 2023-10-09 13:14:50.011193421 +0000
|
||||
+++ scripts/CMakeLists.txt 2023-10-09 13:15:00.395174379 +0000
|
||||
@@ -5,6 +5,7 @@ install(PROGRAMS
|
||||
check-files check-prereqs
|
||||
check-buildroot check-rpaths check-rpaths-worker
|
||||
find-lang.sh find-requires find-provides
|
||||
+ find-supplements
|
||||
perl.prov perl.req
|
||||
pkgconfigdeps.sh
|
||||
ocamldeps.sh
|
||||
--- scripts/find-supplements.orig 2023-10-09 13:14:37.371216603 +0000
|
||||
+++ scripts/find-supplements 2023-10-09 13:14:37.371216603 +0000
|
||||
@@ -0,0 +1,3 @@
|
||||
+#!/bin/sh
|
||||
+
|
||||
|
32
langnoc.diff
32
langnoc.diff
@ -1,6 +1,6 @@
|
||||
--- 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.\
|
||||
--- macros.in.orig 2023-10-09 13:07:58.463949074 +0000
|
||||
+++ macros.in 2023-10-09 13:08:04.079938403 +0000
|
||||
@@ -1192,6 +1192,7 @@ Supplements: (%{name} = %{version}-%{r
|
||||
# %files -f %{name}.lang
|
||||
#
|
||||
%find_lang %{_rpmconfigdir}/find-lang.sh %{buildroot}
|
||||
@ -8,9 +8,9 @@
|
||||
|
||||
# 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=
|
||||
--- scripts/find-lang.sh.orig 2023-10-09 13:07:58.475949051 +0000
|
||||
+++ scripts/find-lang.sh 2023-10-09 13:08:04.079938403 +0000
|
||||
@@ -77,6 +77,8 @@ SUBPKGS=NO
|
||||
MO_NAME=${NAMES[0]}.lang
|
||||
ALL_NAME=#
|
||||
NO_ALL_NAME=
|
||||
@ -19,8 +19,8 @@
|
||||
while test $# -gt 0 ; do
|
||||
case "${1}" in
|
||||
--with-gnome )
|
||||
@@ -118,6 +120,14 @@ while test $# -gt 0 ; do
|
||||
NO_ALL_NAME=#
|
||||
@@ -124,6 +126,14 @@ while test $# -gt 0 ; do
|
||||
SUBPKGS=YES
|
||||
shift
|
||||
;;
|
||||
+ --with-only-C )
|
||||
@ -34,7 +34,7 @@
|
||||
* )
|
||||
if [ $MO_NAME != ${NAMES[$#]}.lang ]; then
|
||||
NAMES[${#NAMES[@]}]=$MO_NAME
|
||||
@@ -158,6 +168,8 @@ s:'"$TOP_DIR"'::
|
||||
@@ -164,6 +174,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:^\([^%].*\)::
|
||||
@ -43,7 +43,7 @@
|
||||
s:%lang(C) ::
|
||||
/^$/d' >> $MO_NAME_NEW
|
||||
|
||||
@@ -166,19 +178,23 @@ s:'"$TOP_DIR"'::
|
||||
@@ -172,19 +184,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:^\([^%].*\)::
|
||||
@ -69,7 +69,7 @@
|
||||
s:%lang(C) ::
|
||||
/^$/d' >> $MO_NAME_NEW
|
||||
|
||||
@@ -194,6 +210,8 @@ s:'"$TOP_DIR"'::
|
||||
@@ -200,6 +216,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:^[^%].*::
|
||||
@ -78,7 +78,7 @@
|
||||
s:%lang(C) ::
|
||||
/^$/d' >> $MO_NAME_NEW
|
||||
|
||||
@@ -234,6 +252,8 @@ s:'"$TOP_DIR"'::
|
||||
@@ -240,6 +258,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:^\([^%].*\)::
|
||||
@ -87,7 +87,7 @@
|
||||
s:%lang(C) ::
|
||||
/^$/d' >> $MO_NAME_NEW
|
||||
fi
|
||||
@@ -247,6 +267,8 @@ s:'"$TOP_DIR"'::
|
||||
@@ -253,6 +273,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:^\([^%].*\)::
|
||||
@ -96,7 +96,7 @@
|
||||
s:%lang(C) ::
|
||||
/^$/d' >> $MO_NAME_NEW
|
||||
fi
|
||||
@@ -284,6 +306,8 @@ s:'"$TOP_DIR"'::
|
||||
@@ -290,6 +312,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:^[^%].*::
|
||||
@ -105,7 +105,7 @@
|
||||
s:%lang(C) ::
|
||||
/^$/d' >> $MO_NAME_NEW
|
||||
|
||||
@@ -292,6 +316,8 @@ s:'"$TOP_DIR"'::
|
||||
@@ -298,6 +322,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:^\([^%].*\)::
|
||||
@ -114,7 +114,7 @@
|
||||
s:%lang(C) ::
|
||||
/^$/d' >> $MO_NAME_NEW
|
||||
|
||||
@@ -299,6 +325,8 @@ find "$TOP_DIR" -type f -o -type l|sed -
|
||||
@@ -305,6 +331,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:^\([^%].*\)::
|
||||
|
@ -1,29 +0,0 @@
|
||||
From 4e244280db8d780ac90313785598487f888b8924 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Liska <mliska@suse.cz>
|
||||
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
|
||||
|
@ -1,8 +1,6 @@
|
||||
Index: macros.in
|
||||
===================================================================
|
||||
--- macros.in.orig
|
||||
+++ macros.in
|
||||
@@ -148,6 +148,7 @@
|
||||
--- macros.in.orig 2023-10-09 12:34:52.359518015 +0000
|
||||
+++ macros.in 2023-10-09 12:34:56.915510497 +0000
|
||||
@@ -161,6 +161,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} \\\
|
||||
@ -10,8 +8,8 @@ Index: macros.in
|
||||
%{?_find_debuginfo_opts} \\\
|
||||
%{?_debugsource_packages:-S debugsourcefiles.list} \\\
|
||||
"%{_builddir}/%{?buildsubdir}"\
|
||||
@@ -187,7 +188,8 @@ package or when debugging this package.\
|
||||
%endif\
|
||||
@@ -211,7 +212,8 @@ Supplements: (%{name} = %{version}-%{r
|
||||
%files langpack-%{1}\
|
||||
%{nil}
|
||||
|
||||
-%_defaultdocdir %{_datadir}/doc
|
||||
@ -20,7 +18,7 @@ Index: macros.in
|
||||
%_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.\
|
||||
@@ -277,7 +279,8 @@ Supplements: (%{name} = %{version}-%{r
|
||||
%_tmppath %{_var}/tmp
|
||||
|
||||
# Path to top of build area.
|
||||
@ -30,7 +28,7 @@ Index: macros.in
|
||||
|
||||
#==============================================================================
|
||||
# ---- Optional rpmrc macros.
|
||||
@@ -349,7 +352,7 @@ package or when debugging this package.\
|
||||
@@ -379,7 +382,7 @@ Supplements: (%{name} = %{version}-%{r
|
||||
# "w.ufdio" uncompressed
|
||||
#
|
||||
#%_source_payload w9.gzdio
|
||||
@ -39,7 +37,7 @@ Index: macros.in
|
||||
|
||||
# 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.\
|
||||
@@ -489,6 +492,19 @@ Supplements: (%{name} = %{version}-%{r
|
||||
#
|
||||
#%_include_minidebuginfo 1
|
||||
|
||||
@ -59,7 +57,7 @@ Index: macros.in
|
||||
#
|
||||
# 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.\
|
||||
@@ -521,39 +537,39 @@ Supplements: (%{name} = %{version}-%{r
|
||||
# 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
|
||||
@ -106,7 +104,7 @@ Index: macros.in
|
||||
|
||||
#
|
||||
# Use internal dependency generator rather than external helpers?
|
||||
@@ -542,6 +558,7 @@ package or when debugging this package.\
|
||||
@@ -572,6 +588,7 @@ Supplements: (%{name} = %{version}-%{r
|
||||
%__find_requires %{_rpmconfigdir}/find-requires
|
||||
#%__find_conflicts ???
|
||||
#%__find_obsoletes ???
|
||||
@ -114,7 +112,7 @@ Index: macros.in
|
||||
|
||||
#
|
||||
# Path to file attribute classifications for automatic dependency
|
||||
@@ -926,7 +943,7 @@ package or when debugging this package.\
|
||||
@@ -984,7 +1001,7 @@ Supplements: (%{name} = %{version}-%{r
|
||||
%_build_vendor %{_host_vendor}
|
||||
%_build_os %{_host_os}
|
||||
%_host @host@
|
||||
@ -123,7 +121,7 @@ Index: macros.in
|
||||
%_host_cpu @host_cpu@
|
||||
%_host_vendor @host_vendor@
|
||||
%_host_os @host_os@
|
||||
@@ -1045,11 +1062,13 @@ package or when debugging this package.\
|
||||
@@ -1109,11 +1126,13 @@ Supplements: (%{name} = %{version}-%{r
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# arch macro for all supported 32-bit ARM processors
|
||||
|
@ -1,5 +1,5 @@
|
||||
--- platform.in.orig 2014-06-26 06:51:54.822818260 +0000
|
||||
+++ platform.in 2014-08-04 12:38:55.389245494 +0000
|
||||
--- platform.in.orig 2023-09-19 10:10:10.000000000 +0000
|
||||
+++ platform.in 2023-10-09 12:37:30.431256940 +0000
|
||||
@@ -41,7 +41,7 @@
|
||||
%_oldincludedir @oldincludedir@
|
||||
%_infodir @infodir@
|
||||
@ -8,26 +8,26 @@
|
||||
+%_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@}
|
||||
%_rundir @rundir@
|
||||
@@ -96,3 +96,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=}
|
||||
|
@ -1,5 +1,5 @@
|
||||
--- 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
|
||||
--- include/rpm/rpmcli.h.orig 2023-09-19 10:10:10.000000000 +0000
|
||||
+++ include/rpm/rpmcli.h 2023-10-10 11:58:14.336183145 +0000
|
||||
@@ -306,6 +306,7 @@ enum rpmInstallFlags_e {
|
||||
INSTALL_ALLMATCHES = (1 << 9), /*!< from --allmatches */
|
||||
INSTALL_REINSTALL = (1 << 10), /*!< from --reinstall */
|
||||
@ -24,9 +24,9 @@
|
||||
*/
|
||||
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);
|
||||
--- include/rpm/rpmts.h.orig 2023-10-10 11:58:02.576202795 +0000
|
||||
+++ include/rpm/rpmts.h 2023-10-10 11:58:14.336183145 +0000
|
||||
@@ -253,6 +253,15 @@ int rpmtsOrder(rpmts ts);
|
||||
int rpmtsRun(rpmts ts, rpmps okProbs, rpmprobFilterFlags ignoreSet);
|
||||
|
||||
/** \ingroup rpmts
|
||||
@ -42,9 +42,9 @@
|
||||
* 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[]
|
||||
--- lib/poptI.c.orig 2023-09-19 10:10:10.000000000 +0000
|
||||
+++ lib/poptI.c 2023-10-10 11:58:14.336183145 +0000
|
||||
@@ -283,6 +283,10 @@ struct poptOption rpmInstallPoptTable[]
|
||||
&rpmIArgs.installInterfaceFlags, (INSTALL_RESTORE),
|
||||
N_("restore package(s)"),
|
||||
N_("<packagefile>+") },
|
||||
@ -55,9 +55,9 @@
|
||||
|
||||
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
|
||||
--- lib/psm.c.orig 2023-10-10 11:58:02.560202822 +0000
|
||||
+++ lib/psm.c 2023-10-10 11:58:14.336183145 +0000
|
||||
@@ -1001,7 +1001,7 @@ static rpmRC rpmPackageErase(rpmts ts, r
|
||||
}
|
||||
if (rc) break;
|
||||
|
||||
@ -66,8 +66,8 @@
|
||||
/* 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
|
||||
--- lib/rpminstall.c.orig 2023-09-19 10:10:10.000000000 +0000
|
||||
+++ lib/rpminstall.c 2023-10-10 11:58:14.336183145 +0000
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
#include <string.h>
|
||||
@ -77,7 +77,7 @@
|
||||
#include <rpm/rpmcli.h>
|
||||
#include <rpm/rpmtag.h>
|
||||
#include <rpm/rpmlib.h> /* rpmReadPackageFile, vercmp etc */
|
||||
@@ -812,3 +814,32 @@ int rpmInstallSource(rpmts ts, const cha
|
||||
@@ -830,3 +832,32 @@ int rpmInstallSource(rpmts ts, const cha
|
||||
return rc;
|
||||
}
|
||||
|
||||
@ -110,8 +110,8 @@
|
||||
+ 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
|
||||
--- lib/rpmtriggers.c.orig 2023-09-19 10:10:10.000000000 +0000
|
||||
+++ lib/rpmtriggers.c 2023-10-10 11:58:14.340183138 +0000
|
||||
@@ -1,5 +1,6 @@
|
||||
#include "system.h"
|
||||
|
||||
@ -160,8 +160,8 @@
|
||||
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
|
||||
--- lib/rpmtriggers.h.orig 2023-09-19 10:10:10.000000000 +0000
|
||||
+++ lib/rpmtriggers.h 2023-10-10 11:58:14.340183138 +0000
|
||||
@@ -27,6 +27,10 @@ rpmtriggers rpmtriggersCreate(unsigned i
|
||||
RPM_GNUC_INTERNAL
|
||||
rpmtriggers rpmtriggersFree(rpmtriggers triggers);
|
||||
@ -173,8 +173,8 @@
|
||||
/*
|
||||
* 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
|
||||
--- lib/rpmts_internal.h.orig 2023-09-19 10:10:10.000000000 +0000
|
||||
+++ lib/rpmts_internal.h 2023-10-10 11:58:14.340183138 +0000
|
||||
@@ -94,6 +94,8 @@ struct rpmts_s {
|
||||
int min_writes; /*!< macro minimize_writes used */
|
||||
|
||||
@ -184,9 +184,9 @@
|
||||
};
|
||||
|
||||
#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
|
||||
--- lib/transaction.c.orig 2023-09-19 10:10:10.000000000 +0000
|
||||
+++ lib/transaction.c 2023-10-10 12:00:19.587973127 +0000
|
||||
@@ -1475,6 +1475,8 @@ static int rpmtsSetup(rpmts ts, rpmprobF
|
||||
/* Get available space on mounted file systems. */
|
||||
(void) rpmtsInitDSI(ts);
|
||||
|
||||
@ -195,7 +195,7 @@
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1856,22 +1858,26 @@ int rpmtsRun(rpmts ts, rpmps okProbs, rp
|
||||
@@ -1858,27 +1860,31 @@ int rpmtsRun(rpmts ts, rpmps okProbs, rp
|
||||
/* Actually install and remove packages */
|
||||
nfailed = rpmtsProcess(ts);
|
||||
|
||||
@ -206,9 +206,15 @@
|
||||
/* 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");
|
||||
rpmlog(RPMLOG_DEBUG, "running %%posttrans scripts\n");
|
||||
runTransScripts(ts, PKG_POSTTRANS);
|
||||
}
|
||||
/* Run %postuntrans scripts unless disabled */
|
||||
- if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_NOPOSTUNTRANS)) {
|
||||
+ if (!ts->dump_posttrans && !(rpmtsFlags(ts) & RPMTRANS_FLAG_NOPOSTUNTRANS)) {
|
||||
rpmlog(RPMLOG_DEBUG, "running %%postuntrans scripts\n");
|
||||
runTransScripts(ts, PKG_POSTUNTRANS);
|
||||
}
|
||||
|
||||
/* Run %transfiletriggerpostun scripts unless disabled */
|
||||
- if (!(rpmtsFlags(ts) & (RPMTRANS_FLAG_NOPOSTTRANS|RPMTRANS_FLAG_NOTRIGGERIN))) {
|
||||
@ -226,7 +232,7 @@
|
||||
runTransScripts(ts, PKG_TRANSFILETRIGGERIN);
|
||||
}
|
||||
/* Final exit code */
|
||||
@@ -1894,3 +1900,110 @@ exit:
|
||||
@@ -1901,3 +1907,114 @@ exit:
|
||||
sigaction(SIGPIPE, &oact, NULL);
|
||||
return rc;
|
||||
}
|
||||
@ -278,7 +284,10 @@
|
||||
+ tsMembers tsmem = rpmtsMembers(ts);
|
||||
+ rpmtxn txn = NULL;
|
||||
+ /* Ignore SIGPIPE for the duration of transaction */
|
||||
+ rpmsqAction_t oact = rpmsqSetAction(SIGPIPE, RPMSQ_IGN);
|
||||
+ struct sigaction act, oact;
|
||||
+ memset(&act, 0, sizeof(act));
|
||||
+ act.sa_handler = SIG_IGN;
|
||||
+ sigaction(SIGPIPE, &act, &oact);
|
||||
+ /* Force default 022 umask during transaction for consistent results */
|
||||
+ mode_t oldmask = umask(022);
|
||||
+
|
||||
@ -322,6 +331,7 @@
|
||||
+ /* run posttrans scripts */
|
||||
+ rpmlog(RPMLOG_DEBUG, "running post-transaction scripts\n");
|
||||
+ runTransScripts(ts, PKG_POSTTRANS);
|
||||
+ runTransScripts(ts, PKG_POSTUNTRANS);
|
||||
+ /* run %transfiletriggerin scripts */
|
||||
+ runFileTriggers(ts, NULL, RPMSENSE_TRIGGERIN, RPMSCRIPT_TRANSFILETRIGGER, 0);
|
||||
+ /* run %transfiletriggerpostun scrips */
|
||||
@ -333,12 +343,12 @@
|
||||
+exit:
|
||||
+ (void) umask(oldmask);
|
||||
+ rpmtxnEnd(txn);
|
||||
+ rpmsqSetAction(SIGPIPE, oact);
|
||||
+ sigaction(SIGPIPE, &oact, NULL);
|
||||
+ 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
|
||||
--- rpm.c.orig 2023-09-19 10:10:10.000000000 +0000
|
||||
+++ rpm.c 2023-10-10 11:58:14.340183138 +0000
|
||||
@@ -21,6 +21,7 @@ enum modes {
|
||||
MODE_ERASE = (1 << 2),
|
||||
MODE_RESTORE = (1 << 4),
|
||||
|
@ -1,3 +1,8 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Oct 11 17:07:14 CEST 2023 - mls@suse.de
|
||||
|
||||
- update to rpm-4.19.0
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 30 09:07:28 UTC 2023 - Jiri Srain <jsrain@suse.com>
|
||||
|
||||
|
@ -21,7 +21,7 @@
|
||||
%global with_python 1
|
||||
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
||||
Name: python-rpm
|
||||
Version: 4.18.0
|
||||
Version: 4.19.0
|
||||
Release: 0
|
||||
Summary: Python Bindings for Manipulating RPM Packages
|
||||
License: GPL-2.0-or-later
|
||||
@ -29,10 +29,12 @@ Group: Development/Libraries/Python
|
||||
URL: https://rpm.org/
|
||||
#Git-Clone: https://github.com/rpm-software-management/rpm
|
||||
BuildRequires: %{python_module devel}
|
||||
BuildRequires: cmake
|
||||
BuildRequires: file-devel
|
||||
BuildRequires: libacl-devel
|
||||
BuildRequires: libbz2-devel
|
||||
BuildRequires: libcap-devel
|
||||
BuildRequires: libdw-devel
|
||||
BuildRequires: libelf-devel
|
||||
BuildRequires: libgcrypt-devel
|
||||
BuildRequires: libselinux-devel
|
||||
@ -66,6 +68,8 @@ that will manipulate RPM packages and databases.
|
||||
%{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
|
||||
cd ..
|
||||
cp _build/python/setup.py python
|
||||
pushd python
|
||||
%python_build
|
||||
popd
|
||||
|
64
python_setup.diff
Normal file
64
python_setup.diff
Normal file
@ -0,0 +1,64 @@
|
||||
--- python/CMakeLists.txt.orig 2023-10-11 14:55:22.453584792 +0000
|
||||
+++ python/CMakeLists.txt 2023-10-11 14:56:41.989429746 +0000
|
||||
@@ -28,5 +28,6 @@ install(DIRECTORY examples TYPE DOC)
|
||||
|
||||
set(egginfo ${PROJECT_NAME}-${PROJECT_VERSION}-py${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}.egg-info)
|
||||
configure_file(rpm.egg-info.in ${egginfo} @ONLY)
|
||||
+configure_file(setup.py.in setup.py @ONLY)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${egginfo}
|
||||
DESTINATION ${Python3_SITEARCH})
|
||||
--- python/setup.py.in.orig 2023-10-11 14:55:17.769593923 +0000
|
||||
+++ python/setup.py.in 2023-10-11 14:58:39.401200867 +0000
|
||||
@@ -0,0 +1,52 @@
|
||||
+#!/usr/bin/env python
|
||||
+
|
||||
+from distutils.core import setup, Extension
|
||||
+import subprocess
|
||||
+import os
|
||||
+
|
||||
+def pkgconfig(what):
|
||||
+ out = []
|
||||
+ cmd = 'pkg-config %s %s' % (what, '@PROJECT_NAME@')
|
||||
+ pcout = subprocess.check_output(cmd.split()).decode()
|
||||
+ for token in pcout.split():
|
||||
+ out.append(token[2:])
|
||||
+ return out
|
||||
+
|
||||
+cflags = ['-std=c99', '-Wno-strict-aliasing']
|
||||
+additional_link_args = []
|
||||
+
|
||||
+# See if we're building in-tree
|
||||
+if True:
|
||||
+ cflags.append('-I../include')
|
||||
+ additional_link_args.extend(['-Wl,-L../_build/rpmio',
|
||||
+ '-Wl,-L../_build/lib',
|
||||
+ '-Wl,-L../_build/build',
|
||||
+ '-Wl,-L../_build/sign'])
|
||||
+ os.environ['PKG_CONFIG_PATH'] = '../_build'
|
||||
+
|
||||
+rpmmod = Extension('rpm._rpm',
|
||||
+ sources = ['header-py.c', 'rpmds-py.c', 'rpmfd-py.c',
|
||||
+ 'rpmii-py.c', 'rpmkeyring-py.c',
|
||||
+ 'rpmmacro-py.c', 'rpmmi-py.c', 'rpmps-py.c',
|
||||
+ 'rpmstrpool-py.c', 'rpmfiles-py.c',
|
||||
+ 'rpmarchive-py.c', 'rpmtd-py.c',
|
||||
+ 'rpmte-py.c', 'rpmts-py.c', 'rpmver-py.c',
|
||||
+ 'spec-py.c',
|
||||
+ 'rpmmodule.c'],
|
||||
+ include_dirs = pkgconfig('--cflags'),
|
||||
+ library_dirs = pkgconfig('--libs-only-L'),
|
||||
+ libraries = pkgconfig('--libs-only-l') + ['rpmbuild', 'rpmsign'],
|
||||
+ extra_compile_args = cflags,
|
||||
+ extra_link_args = additional_link_args
|
||||
+ )
|
||||
+
|
||||
+setup(name='@PROJECT_NAME@',
|
||||
+ version='@PROJECT_VERSION@',
|
||||
+ description='Python bindings for rpm',
|
||||
+ maintainer_email='rpm-maint@lists.rpm.org',
|
||||
+ url='@PROJECT_HOMEPAGE_URL@',
|
||||
+ license='GNU General Public License v2',
|
||||
+ packages=['rpm'],
|
||||
+ ext_modules=[rpmmod]
|
||||
+ )
|
||||
+
|
@ -1,16 +1,10 @@
|
||||
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));
|
||||
--- lib/psm.c.orig 2023-09-19 10:10:10.000000000 +0000
|
||||
+++ lib/psm.c 2023-10-09 12:21:38.576812293 +0000
|
||||
@@ -709,6 +709,7 @@ void rpmpsmNotify(rpmpsm psm, int what,
|
||||
static void markReplacedInstance(rpmts ts, rpmte te)
|
||||
{
|
||||
rpmdbMatchIterator mi = rpmtsTeIterator(ts, te, 1);
|
||||
+ 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));
|
||||
}
|
||||
|
||||
while (rpmdbNextIterator(mi) != NULL) {
|
||||
rpmteSetDBInstance(te, rpmdbGetIteratorOffset(mi));
|
||||
break;
|
||||
|
@ -1,27 +0,0 @@
|
||||
From 224095542246e762617d38e2096fdeba13d266e3 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Dirk=20M=C3=BCller?= <dirk@dmllr.de>
|
||||
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" \
|
BIN
rpm-4.18.0.tar.bz2
(Stored with Git LFS)
BIN
rpm-4.18.0.tar.bz2
(Stored with Git LFS)
Binary file not shown.
3
rpm-4.19.0.tar.bz2
Normal file
3
rpm-4.19.0.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b30916dc148cbeab077797e9fc365702931e3a9a7eacf70add84153b549b3f77
|
||||
size 5919326
|
@ -1,14 +1,14 @@
|
||||
--- 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:
|
||||
--- scripts/find-lang.sh.orig 2023-10-09 13:11:05.219604799 +0000
|
||||
+++ scripts/find-lang.sh 2023-10-09 13:12:38.787433946 +0000
|
||||
@@ -47,6 +47,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
|
||||
+ --metainfo create a metainfo.xml file for AppStream
|
||||
--generate-subpackages move language files in one sub package per language
|
||||
EOF
|
||||
exit 1
|
||||
}
|
||||
@@ -62,6 +63,7 @@ ALL_NAME=#
|
||||
@@ -79,6 +80,7 @@ ALL_NAME=#
|
||||
NO_ALL_NAME=
|
||||
ONLY_C=#
|
||||
NO_C=#
|
||||
@ -16,7 +16,7 @@
|
||||
while test $# -gt 0 ; do
|
||||
case "${1}" in
|
||||
--with-gnome )
|
||||
@@ -113,6 +115,11 @@ while test $# -gt 0 ; do
|
||||
@@ -134,6 +136,11 @@ while test $# -gt 0 ; do
|
||||
NO_C=
|
||||
shift
|
||||
;;
|
||||
@ -28,7 +28,7 @@
|
||||
* )
|
||||
if [ $MO_NAME != ${NAMES[$#]}.lang ]; then
|
||||
NAMES[${#NAMES[@]}]=$MO_NAME
|
||||
@@ -323,6 +330,24 @@ if ! grep -q / $MO_NAME_NEW; then
|
||||
@@ -344,6 +351,24 @@ if ! grep -q / $MO_NAME_NEW; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
38
rpm.changes
38
rpm.changes
@ -1,3 +1,41 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Oct 11 17:07:14 CEST 2023 - mls@suse.de
|
||||
|
||||
- update to rpm-4.19.0
|
||||
* new spec snippet support for dynamic spec generation
|
||||
* new sysusers.d integration for automated user and group handling
|
||||
* new CMake build system
|
||||
* removal of various deprecated and/or unused APIs
|
||||
* various internal code cleanups
|
||||
- refreshed patches:
|
||||
* brp-compress-no-img.patch
|
||||
* brp.diff
|
||||
* brpcompress.diff
|
||||
* build.diff
|
||||
* enable-postin-scripts-error.diff
|
||||
* fileattrs.diff
|
||||
* findlang.diff
|
||||
* findsupplements.diff
|
||||
* langnoc.diff
|
||||
* macrosin.diff
|
||||
* platformin.diff
|
||||
* posttrans.diff
|
||||
* refreshtestarch.diff
|
||||
* rpm-findlang-inject-metainfo.patch
|
||||
* rpmqpack.diff
|
||||
* rpmrc.diff
|
||||
* weakdepscompat.diff
|
||||
* zstdpool.diff
|
||||
- deleted patches:
|
||||
* cpuid_lzcnt.patch
|
||||
* libmagic-exceptions.patch
|
||||
* remove-awk-dependency.patch
|
||||
* whatrequires-doc.diff
|
||||
* x86_64-microarchitectures.patch
|
||||
- new patches:
|
||||
* python_setup.diff
|
||||
* rpmsort_reverse.diff
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Aug 8 12:39:25 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
|
88
rpm.spec
88
rpm.spec
@ -19,11 +19,12 @@
|
||||
#Compat macro for new _fillupdir macro introduced in Nov 2017
|
||||
%{?!_fillupdir:%define _fillupdir /var/adm/fillup-templates}
|
||||
|
||||
%global librpmsover 9
|
||||
%global librpmsover 10
|
||||
|
||||
Name: rpm
|
||||
BuildRequires: binutils
|
||||
BuildRequires: bzip2
|
||||
BuildRequires: cmake
|
||||
BuildRequires: file-devel
|
||||
BuildRequires: findutils
|
||||
BuildRequires: gcc
|
||||
@ -56,11 +57,11 @@ Requires: rpm-config-SUSE
|
||||
Summary: The RPM Package Manager
|
||||
License: GPL-2.0-or-later
|
||||
Group: System/Packages
|
||||
Version: 4.18.0
|
||||
Version: 4.19.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
|
||||
Source: https://ftp.rpm.org/releases/rpm-4.19.x/rpm-%{version}.tar.bz2
|
||||
Source5: rpmsort
|
||||
Source8: rpmconfigcheck
|
||||
Source9: sysconfig.services-rpm
|
||||
@ -108,12 +109,8 @@ 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
|
||||
Patch136: rpmsort_reverse.diff
|
||||
Patch137: python_setup.diff
|
||||
Patch6464: auto-config-update-aarch64-ppc64le.diff
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
#
|
||||
@ -223,8 +220,7 @@ rm -rf sqlite
|
||||
%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
|
||||
%patch -P 131 -P 133 -P 134 -P 135 -P 136 -P 137
|
||||
|
||||
%ifarch aarch64 ppc64le riscv64
|
||||
%patch6464
|
||||
@ -247,44 +243,48 @@ 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
|
||||
mkdir _build
|
||||
cd _build
|
||||
cmake .. \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
|
||||
-DCMAKE_INSTALL_MANDIR:PATH=share/man \
|
||||
-DCMAKE_INSTALL_INFODIR:PATH=share/info \
|
||||
-DCMAKE_INSTALL_DOCDIR:PATH=%{_defaultdocdir}/%{NAME} \
|
||||
-DCMAKE_INSTALL_LIBDIR:PATH=%{_libdir} \
|
||||
-DCMAKE_INSTALL_FULL_SYSCONFDIR:PATH=/etc \
|
||||
-DCMAKE_INSTALL_FULL_LOCALSTATEDIR:PATH=/var \
|
||||
-DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=/var/lib \
|
||||
-DCMAKE_INSTALL_FULL_SHAREDSTATEDIR:PATH=/var/lib \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DRPM_VENDOR=suse \
|
||||
-DWITH_ARCHIVE=OFF \
|
||||
-DWITH_SELINUX=ON \
|
||||
-DWITH_INTERNAL_OPENPGP=ON \
|
||||
-DENABLE_NDB=ON \
|
||||
-DENABLE_BDB_RO=ON \
|
||||
-DENABLE_SQLITE=OFF \
|
||||
-DWITH_AUDIT=OFF \
|
||||
-DWITH_DBUS=OFF \
|
||||
-DENABLE_PYTHON=%{?with_python:ON}%{?!with_python:OFF} \
|
||||
-DENABLE_TESTSUITE=OFF \
|
||||
-D__FIND_DEBUGINFO=/usr/lib/rpm/find-debuginfo \
|
||||
-D__AR:FILEPATH=ar -D__AS:FILEPATH=as \
|
||||
-D__CC:FILEPATH=gcc -D__CPP:FILEPATH="gcc -E" -D__CXX:FILEPATH=g++ \
|
||||
-D__GPG:FILEPATH=/usr/bin/gpg2 -D__AWK:FILEPATH=/usr/bin/gawk
|
||||
make %{?_smp_mflags}
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}/usr/lib
|
||||
mkdir -p %{buildroot}/usr/share/locale
|
||||
ln -s ../share/locale %{buildroot}/usr/lib/locale
|
||||
pushd _build
|
||||
%make_install
|
||||
popd
|
||||
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
|
||||
@ -302,7 +302,6 @@ for d in %{buildroot}/usr/lib/rpm/platform/*-linux/macros ; do
|
||||
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
|
||||
@ -338,8 +337,6 @@ 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
|
||||
@ -348,10 +345,6 @@ bash %{buildroot}/usr/lib/rpm/find-lang.sh %{buildroot} rpm
|
||||
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}
|
||||
|
||||
@ -391,7 +384,8 @@ fi
|
||||
%files -f rpm.lang
|
||||
%defattr(-,root,root)
|
||||
%license COPYING
|
||||
%doc docs/manual
|
||||
%doc %{_datadir}/doc/packages/rpm
|
||||
%exclude %{_datadir}/doc/packages/rpm/API
|
||||
/etc/rpm
|
||||
%if 0%{?suse_version} < 1550
|
||||
/bin/rpm
|
||||
@ -407,6 +401,7 @@ fi
|
||||
%{_bindir}/rpmquery
|
||||
%{_bindir}/rpmsign
|
||||
%{_bindir}/rpmverify
|
||||
%{_bindir}/rpmsort
|
||||
/usr/sbin/rpmconfigcheck
|
||||
/usr/lib/systemd/system/rpmconfigcheck.service
|
||||
%dir /usr/lib/rpm
|
||||
@ -421,6 +416,7 @@ fi
|
||||
/usr/lib/rpm/rpmuncompress
|
||||
/usr/lib/rpm/rpm_macros_provides.sh
|
||||
/usr/lib/rpm/suse
|
||||
/usr/lib/rpm/sysusers.sh
|
||||
/usr/lib/rpm/tgpg
|
||||
%{_libdir}/rpm-plugins
|
||||
%{_libdir}/librpm.so.*
|
||||
@ -479,5 +475,7 @@ fi
|
||||
%{_libdir}/librpmio.so
|
||||
%{_libdir}/librpmsign.so
|
||||
%{_libdir}/pkgconfig/rpm.pc
|
||||
%{_libdir}/cmake/rpm
|
||||
%doc %{_datadir}/doc/packages/rpm/API
|
||||
|
||||
%changelog
|
||||
|
@ -1,29 +1,34 @@
|
||||
--- 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
|
||||
--- CMakeLists.txt.orig 2023-10-09 12:50:53.949849590 +0000
|
||||
+++ CMakeLists.txt 2023-10-09 12:54:15.741481853 +0000
|
||||
@@ -403,6 +403,7 @@ add_executable(rpm2cpio rpm2cpio.c cliut
|
||||
add_executable(rpmsign rpmsign.c cliutils)
|
||||
add_executable(rpmbuild rpmbuild.c cliutils)
|
||||
add_executable(rpmspec rpmspec.c cliutils)
|
||||
+add_executable(rpmqpack rpmqpack.c)
|
||||
|
||||
dist_bin_SCRIPTS = scripts/gendiff
|
||||
add_executable(rpmdeps tools/rpmdeps.c)
|
||||
add_executable(rpmgraph tools/rpmgraph.c)
|
||||
@@ -443,7 +444,7 @@ foreach(cmd rpmverify rpmquery)
|
||||
endforeach()
|
||||
install(TARGETS
|
||||
rpm rpmdb rpmkeys rpm2cpio rpmsign rpmbuild rpmspec
|
||||
- rpmlua rpmgraph rpmsort
|
||||
+ rpmlua rpmgraph rpmsort rpmqpack
|
||||
)
|
||||
install(TARGETS elfdeps rpmdeps rpmuncompress DESTINATION ${RPM_CONFIGDIR})
|
||||
|
||||
+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
|
||||
--- docs/man/CMakeLists.txt.orig 2023-10-09 12:55:04.805392271 +0000
|
||||
+++ docs/man/CMakeLists.txt 2023-10-09 12:55:18.745366812 +0000
|
||||
@@ -3,6 +3,7 @@ set(manuals
|
||||
gendiff.1 rpm2cpio.8
|
||||
rpm.8 rpmbuild.8 rpmdb.8 rpmkeys.8 rpmsign.8 rpmspec.8
|
||||
rpmdeps.8 rpmgraph.8 rpmlua.8 rpm-misc.8 rpmsort.8
|
||||
+ rpmqpack.8
|
||||
)
|
||||
|
||||
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
|
||||
if (WITH_ARCHIVE)
|
||||
--- docs/man/rpmqpack.8.orig 2023-10-09 12:50:23.509904470 +0000
|
||||
+++ docs/man/rpmqpack.8 2023-10-09 12:50:23.509904470 +0000
|
||||
@@ -0,0 +1,25 @@
|
||||
+.TH RPMQPACK 8 "Mar 2002"
|
||||
+.SH NAME
|
||||
@ -50,8 +55,8 @@
|
||||
+
|
||||
+.SH AUTHOR
|
||||
+Michael Schroeder <mls@suse.de>
|
||||
--- rpmqpack.c.orig 2022-12-02 13:15:01.635426563 +0000
|
||||
+++ rpmqpack.c 2022-12-02 13:15:01.635426563 +0000
|
||||
--- rpmqpack.c.orig 2023-10-09 12:50:23.509904470 +0000
|
||||
+++ rpmqpack.c 2023-10-09 12:50:23.509904470 +0000
|
||||
@@ -0,0 +1,60 @@
|
||||
+#include <sys/types.h>
|
||||
+#include <limits.h>
|
||||
|
30
rpmrc.diff
30
rpmrc.diff
@ -1,6 +1,6 @@
|
||||
--- 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 @@
|
||||
--- rpmrc.in.orig 2023-09-19 10:10:10.000000000 +0000
|
||||
+++ rpmrc.in 2023-10-09 12:44:42.206519465 +0000
|
||||
@@ -12,19 +12,19 @@
|
||||
# "fat" binary with both archs, for Darwin
|
||||
optflags: fat -O2 -g -arch i386 -arch ppc
|
||||
|
||||
@ -21,12 +21,18 @@
|
||||
optflags: geode -Os -g -m32 -march=geode
|
||||
-optflags: ia64 -O2 -g
|
||||
-optflags: x86_64 -O2 -g
|
||||
-optflags: x86_64_v2 -O2 -g -march=x86-64-v2
|
||||
-optflags: x86_64_v3 -O2 -g -march=x86-64-v3
|
||||
-optflags: x86_64_v4 -O2 -g -march=x86-64-v4
|
||||
+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
|
||||
|
||||
@@ -41,17 +41,18 @@ optflags: sparc64v -O2 -g -m64 -mtune=ni
|
||||
@@ -44,17 +44,18 @@ optflags: sparc64v -O2 -g -m64 -mtune=ni
|
||||
|
||||
optflags: m68k -O2 -g -fomit-frame-pointer
|
||||
|
||||
@ -54,7 +60,7 @@
|
||||
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
|
||||
@@ -78,10 +79,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
|
||||
@ -67,7 +73,7 @@
|
||||
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
|
||||
@@ -96,8 +97,8 @@ optflags: atariclone -O2 -g -fomit-frame
|
||||
optflags: milan -O2 -g -fomit-frame-pointer
|
||||
optflags: hades -O2 -g -fomit-frame-pointer
|
||||
|
||||
@ -78,7 +84,7 @@
|
||||
|
||||
optflags: sh3 -O2 -g
|
||||
optflags: sh4 -O2 -g -mieee
|
||||
@@ -300,17 +301,17 @@ os_canon: MacOSX: macosx 21
|
||||
@@ -309,17 +310,17 @@ os_canon: MacOSX: macosx 21
|
||||
#############################################################
|
||||
# For a given uname().machine, the default build arch
|
||||
|
||||
@ -104,7 +110,7 @@
|
||||
buildarchtranslate: i486: i386
|
||||
buildarchtranslate: i386: i386
|
||||
|
||||
@@ -332,6 +333,7 @@ buildarchtranslate: sparc64v: sparc64
|
||||
@@ -341,6 +342,7 @@ buildarchtranslate: sparc64v: sparc64
|
||||
buildarchtranslate: osfmach3_ppc: ppc
|
||||
buildarchtranslate: powerpc: ppc
|
||||
buildarchtranslate: powerppc: ppc
|
||||
@ -112,7 +118,7 @@
|
||||
buildarchtranslate: ppc8260: ppc
|
||||
buildarchtranslate: ppc8560: ppc
|
||||
buildarchtranslate: ppc32dy4: ppc
|
||||
@@ -397,6 +399,15 @@ buildarchtranslate: riscv64: riscv64
|
||||
@@ -409,6 +411,15 @@ buildarchtranslate: riscv64: riscv64
|
||||
|
||||
buildarchtranslate: loongarch64: loongarch64
|
||||
|
||||
@ -128,7 +134,7 @@
|
||||
#############################################################
|
||||
# Architecture compatibility
|
||||
|
||||
@@ -461,16 +472,20 @@ arch_compat: mips64r6el: mipsr6el
|
||||
@@ -473,16 +484,20 @@ arch_compat: mips64r6el: mipsr6el
|
||||
arch_compat: hppa2.0: hppa1.2
|
||||
arch_compat: hppa1.2: hppa1.1
|
||||
arch_compat: hppa1.1: hppa1.0
|
||||
@ -151,7 +157,7 @@
|
||||
arch_compat: armv4tl: armv4l
|
||||
arch_compat: armv4l: armv3l
|
||||
arch_compat: armv3l: noarch
|
||||
@@ -493,7 +508,7 @@ arch_compat: i370: noarch
|
||||
@@ -505,7 +520,7 @@ arch_compat: i370: noarch
|
||||
arch_compat: s390: noarch
|
||||
arch_compat: s390x: s390 noarch
|
||||
|
||||
@ -160,7 +166,7 @@
|
||||
|
||||
arch_compat: x86_64: amd64 em64t athlon noarch
|
||||
arch_compat: amd64: x86_64 em64t athlon noarch
|
||||
@@ -619,7 +634,8 @@ buildarch_compat: armv6hl: noarch
|
||||
@@ -634,7 +649,8 @@ buildarch_compat: armv6hl: noarch
|
||||
buildarch_compat: hppa2.0: hppa1.2
|
||||
buildarch_compat: hppa1.2: hppa1.1
|
||||
buildarch_compat: hppa1.1: hppa1.0
|
||||
|
48
rpmsort_reverse.diff
Normal file
48
rpmsort_reverse.diff
Normal file
@ -0,0 +1,48 @@
|
||||
--- tools/rpmsort.c.orig 2023-10-11 11:38:36.639686209 +0000
|
||||
+++ tools/rpmsort.c 2023-10-11 12:01:36.112837741 +0000
|
||||
@@ -119,6 +119,11 @@ exit:
|
||||
return vercmpflag;
|
||||
}
|
||||
|
||||
+static int package_version_compare_reverse(const void *p, const void *q)
|
||||
+{
|
||||
+ return -package_version_compare(p, q);
|
||||
+}
|
||||
+
|
||||
static void add_input(const char *filename, char ***package_names,
|
||||
size_t *n_package_names)
|
||||
{
|
||||
@@ -169,7 +174,13 @@ static void add_input(const char *filena
|
||||
*n_package_names = n_names;
|
||||
}
|
||||
|
||||
-static struct poptOption optionsTable[] = { POPT_AUTOHELP POPT_TABLEEND };
|
||||
+static int reverse = 0;
|
||||
+
|
||||
+static struct poptOption optionsTable[] = {
|
||||
+ { "reverse", 'r', POPT_ARG_VAL, &reverse, 1,
|
||||
+ N_("reverse the result of comparisons"), NULL },
|
||||
+ POPT_AUTOHELP POPT_TABLEEND
|
||||
+};
|
||||
|
||||
int main(int argc, const char *argv[])
|
||||
{
|
||||
@@ -181,7 +192,7 @@ int main(int argc, const char *argv[])
|
||||
|
||||
optCon = poptGetContext(NULL, argc, argv, optionsTable, 0);
|
||||
poptSetOtherOptionHelp(optCon, "<FILES>");
|
||||
- if (poptGetNextOpt(optCon) == 0) {
|
||||
+ if (poptGetNextOpt(optCon) != -1) {
|
||||
poptPrintUsage(optCon, stderr, 0);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
@@ -201,7 +212,8 @@ int main(int argc, const char *argv[])
|
||||
}
|
||||
|
||||
qsort(package_names, n_package_names, sizeof(char *),
|
||||
- package_version_compare);
|
||||
+ reverse ? package_version_compare_reverse
|
||||
+ : package_version_compare);
|
||||
|
||||
/* Send sorted list to stdout. */
|
||||
for (int i = 0; i < n_package_names; i++) {
|
@ -1,9 +1,9 @@
|
||||
--- 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 },
|
||||
--- build/parsePreamble.c.orig 2023-10-09 13:08:54.579843386 +0000
|
||||
+++ build/parsePreamble.c 2023-10-09 13:09:57.843727870 +0000
|
||||
@@ -351,6 +351,7 @@ static struct tokenBits_s const installS
|
||||
{ "posttrans", RPMSENSE_POSTTRANS },
|
||||
{ "preuntrans", RPMSENSE_PREUNTRANS },
|
||||
{ "postuntrans", RPMSENSE_POSTUNTRANS },
|
||||
+ { "hint", RPMSENSE_MISSINGOK },
|
||||
{ NULL, 0 }
|
||||
};
|
||||
|
@ -1,14 +0,0 @@
|
||||
--- 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].
|
@ -1,196 +0,0 @@
|
||||
From 282f75e33f93e46854345598f576d052d5cfe390 Mon Sep 17 00:00:00 2001
|
||||
From: Fabian Vogt <fvogt@suse.de>
|
||||
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 <setjmp.h>
|
||||
@@ -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
|
@ -1,14 +1,14 @@
|
||||
--- rpmio/rpmio.c.orig 2021-06-21 12:00:44.648612706 +0000
|
||||
+++ rpmio/rpmio.c 2022-04-13 13:48:55.224954032 +0000
|
||||
--- rpmio/rpmio.c.orig 2023-09-19 10:10:10.000000000 +0000
|
||||
+++ rpmio/rpmio.c 2023-10-10 12:09:28.171040124 +0000
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <ctype.h>
|
||||
#include <dirent.h>
|
||||
#include <fcntl.h>
|
||||
+#include <pthread.h>
|
||||
#if defined(__linux__)
|
||||
#include <sys/personality.h>
|
||||
#endif
|
||||
@@ -1034,6 +1035,7 @@ static const FDIO_t lzdio = &lzdio_s;
|
||||
#include <sys/resource.h>
|
||||
|
||||
#include <rpm/rpmlog.h>
|
||||
@@ -997,6 +998,7 @@ static const FDIO_t lzdio = &lzdio_s;
|
||||
/* Support for ZSTD library. */
|
||||
#ifdef HAVE_ZSTD
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
#include <zstd.h>
|
||||
|
||||
typedef struct rpmzstd_s {
|
||||
@@ -1048,6 +1050,29 @@ typedef struct rpmzstd_s {
|
||||
@@ -1011,6 +1013,29 @@ typedef struct rpmzstd_s {
|
||||
ZSTD_outBuffer zob; /*!< ZSTD_outBuffer */
|
||||
} * rpmzstd;
|
||||
|
||||
@ -29,8 +29,8 @@
|
||||
+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)
|
||||
+ numthreads = rpmExpandNumeric("%{getncpus:thread}");
|
||||
+ if (numthreads > 0) {
|
||||
+ zstdThreadPoolThreads = numthreads;
|
||||
+ zstdThreadPool = ZSTD_createThreadPool(numthreads);
|
||||
@ -46,9 +46,9 @@
|
||||
static rpmzstd rpmzstdNew(int fdno, const char *fmode)
|
||||
{
|
||||
int flags = 0;
|
||||
@@ -1133,8 +1158,18 @@ static rpmzstd rpmzstdNew(int fdno, cons
|
||||
@@ -1116,8 +1141,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))) {
|
||||
|
Loading…
Reference in New Issue
Block a user