diff --git a/0001-1-Add-riscv64-to-golang_arches.patch b/0001-1-Add-riscv64-to-golang_arches.patch deleted file mode 100644 index e52a168703263d9a8f5135d7ad331a4c55f13093..0000000000000000000000000000000000000000 --- a/0001-1-Add-riscv64-to-golang_arches.patch +++ /dev/null @@ -1,27 +0,0 @@ -From c1b9fdaa93bfe0b2c70be4a851500d15f891d2f8 Mon Sep 17 00:00:00 2001 -From: whoisxxx -Date: Sat, 28 Nov 2020 11:02:21 +0800 -Subject: [PATCH] !1 Add "riscv64" to golang_arches The golang version 1.14 has - support riscv64, so add "riscv64" to golang_arches to enable rpmbuild for - golang. - ---- - macros.go | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/macros.go b/macros.go -index c1e6e75..cd493e7 100644 ---- a/macros.go -+++ b/macros.go -@@ -12,7 +12,7 @@ - # redhat-rpm-macros. - - # Define arches for PA and SA --%golang_arches %{ix86} x86_64 %{arm} aarch64 ppc64le s390x -+%golang_arches %{ix86} x86_64 %{arm} aarch64 ppc64le s390x riscv64 - %gccgo_arches %{mips} - %go_arches %{golang_arches} %{gccgo_arches} - --- -1.8.3.1 - diff --git a/0001-add-loongarch64-for-golang_arches.patch b/0001-add-loongarch64-for-golang_arches.patch deleted file mode 100644 index 4623504b9b422990757fab5c0286eb25749bb849..0000000000000000000000000000000000000000 --- a/0001-add-loongarch64-for-golang_arches.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 28921237101c986eeee13808a1167db13dc788ce Mon Sep 17 00:00:00 2001 -From: Wenlong Zhang -Date: Tue, 13 Dec 2022 12:07:10 +0000 -Subject: [PATCH] add loongarch64 for golang_arches - ---- - macros.go | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/macros.go b/macros.go -index cd493e7..f20f6a1 100644 ---- a/macros.go -+++ b/macros.go -@@ -12,7 +12,7 @@ - # redhat-rpm-macros. - - # Define arches for PA and SA --%golang_arches %{ix86} x86_64 %{arm} aarch64 ppc64le s390x riscv64 -+%golang_arches %{ix86} x86_64 %{arm} aarch64 ppc64le s390x riscv64 loongarch64 - %gccgo_arches %{mips} - %go_arches %{golang_arches} %{gccgo_arches} - --- -2.33.0 - diff --git a/30.tar.gz b/30.tar.gz deleted file mode 100644 index 4e34bc69960eae731facc066c41a91ee4d4606f6..0000000000000000000000000000000000000000 Binary files a/30.tar.gz and /dev/null differ diff --git a/Add-support-for-selecting-clang-as-a-toolchain.patch b/Add-support-for-selecting-clang-as-a-toolchain.patch deleted file mode 100644 index c38c7cb88c5e8436ab4bdb74e9f2442ed7bbb2a8..0000000000000000000000000000000000000000 --- a/Add-support-for-selecting-clang-as-a-toolchain.patch +++ /dev/null @@ -1,113 +0,0 @@ -From f2a6af2ce79e26bf47604b610056d8c524b647f2 Mon Sep 17 00:00:00 2001 -From: liyunfei -Date: Tue, 9 Jan 2024 20:39:10 +0800 -Subject: [PATCH 1/2] Add support for selecting clang as a toolchain - ---- - generic-hardened-clang.cfg | 1 + - macros | 56 ++++++++++++++++++++++++++++++++++++-- - 2 files changed, 57 insertions(+), 3 deletions(-) - create mode 100644 generic-hardened-clang.cfg - -diff --git a/generic-hardened-clang.cfg b/generic-hardened-clang.cfg -new file mode 100644 -index 0000000..ac596df ---- /dev/null -+++ b/generic-hardened-clang.cfg -@@ -0,0 +1 @@ -+-fPIE -\ No newline at end of file -diff --git a/macros b/macros -index 5fdaf0a..0062126 100755 ---- a/macros -+++ b/macros -@@ -23,6 +23,46 @@ - - %_build_id_links none - -+# GCC toolchain -+%__cc_gcc gcc -+%__cxx_gcc g++ -+%__cpp_gcc gcc -E -+ -+# Clang toolchain -+%__cc_clang clang -+%__cxx_clang clang++ -+%__cpp_clang clang-cpp -+ -+# Default to the GCC toolchain -+# -+# It is enough to override `toolchain` macro and all relevant macro for C/C++ -+# compilers will be switched. Either in the spec or in the command-line. -+# -+# %global toolchain clang -+# -+# or: -+# -+# rpmbuild -D "toolchain clang" … -+# -+# Inside a spec file it is also possible to determine which toolchain is in use -+# by testing the same macro. For example: -+# -+# %if "%{toolchain}" == "gcc" -+# BuildRequires: gcc -+# %endif -+# -+# or: -+# -+# %if "%{toolchain}" == "clang" -+# BuildRequires: clang compiler-rt -+# %endif -+# -+%toolchain gcc -+ -+%__cc %{expand:%%{__cc_%{toolchain}}} -+%__cxx %{expand:%%{__cxx_%{toolchain}}} -+%__cpp %{expand:%%{__cpp_%{toolchain}}} -+ - #============================================================================== - # ---- compiler flags. - -@@ -31,7 +71,13 @@ - %build_fflags %{optflags} -fexceptions -I%{_fmoddir} - %build_ldflags -Wl,-z,relro %{_ld_as_needed_flags} %{_ld_symbols_flags} %{_hardened_ldflags} - -+%set_build_cc \ -+ CC=%{__cc}; export CC ; \ -+ CXX=%{__cxx}; export CXX ; \ -+ CCC="${CCC:-%{__cxx}}" ; export CCC -+ - %set_build_flags \ -+ %[ "%{toolchain}" == "gcc" ? "" : "%{set_build_cc};" ] \ - CFLAGS="${CFLAGS:-%{build_cflags}}" ; export CFLAGS ; \ - CXXFLAGS="${CXXFLAGS:-%{build_cxxflags}}" ; export CXXFLAGS ; \ - FFLAGS="${FFLAGS:-%{build_fflags}}" ; export FFLAGS ; \ -@@ -162,8 +208,10 @@ - # secure options for rpmbuild - # - # #hardened options --%_hardening_cflags -specs=/usr/lib/rpm/generic-hardened-cc1 --%_hardening_ldflags -Wl,-z,now -specs=/usr/lib/rpm/generic-hardened-ld -+%_hardening_gcc_cflags -specs=/usr/lib/rpm/generic-hardened-cc1 -+%_hardening_clang_cflags --config /usr/lib/rpm/generic-hardened-clang.cfg -+%_hardening_cflags %{expand:%%{_hardening_%{toolchain}_cflags}} -+%_hardening_ldflags -Wl,-z,now %[ "%{toolchain}" == "gcc" ? "-specs=/usr/lib/rpm/generic-hardened-ld" : "" ] - # Use "%undefine _hardened_build" to disable. - %_hardened_build 1 - %_hardened_cflags %{?_hardened_build:%{_hardening_cflags}} -@@ -195,7 +243,11 @@ - #%_ld_as_needed 1 - %_ld_as_needed_flags %{?_ld_as_needed:-Wl,--as-needed} - --%__global_compiler_flags -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -grecord-gcc-switches %{_hardened_cflags} -+%_general_options -O2 -g -grecord-gcc-switches -pipe -fstack-protector-strong %[ "%{toolchain}" == "clang" ? "-fgcc-compatible" : "" ] -+%_warning_options -Wall -Werror=format-security -+%_preprocessor_defines -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -+ -+%__global_compiler_flags %{_general_options} %{_warning_options} %{_preprocessor_defines} %{_hardened_cflags} - - # Automatically trim changelog entries after 2 years - %_changelog_trimtime %{lua:print(os.time() - 2 * 365 * 86400)} --- -2.27.0 - diff --git a/Call-set_build_flags-cc-before-build-check-and-insta.patch b/Call-set_build_flags-cc-before-build-check-and-insta.patch deleted file mode 100644 index 8f69298de85f1194eae0f61d8141890832d35796..0000000000000000000000000000000000000000 --- a/Call-set_build_flags-cc-before-build-check-and-insta.patch +++ /dev/null @@ -1,49 +0,0 @@ -From c6b15b8c17f957d736dd975d106b10d419070ebd Mon Sep 17 00:00:00 2001 -From: liyunfei -Date: Tue, 9 Jan 2024 20:50:34 +0800 -Subject: [PATCH 2/2] Call %set_build_flags&cc before %build, %check, and - %install stages - ---- - macros | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - -diff --git a/macros b/macros -index 0062126..8c16706 100755 ---- a/macros -+++ b/macros -@@ -83,6 +83,22 @@ - FCFLAGS="${FCFLAGS:-%{build_fflags}}" ; export FCFLAGS ; \ - LDFLAGS="${LDFLAGS:-%{build_ldflags}}" ; export LDFLAGS - -+# Automatically use set_build_flags macro for build, check, and -+# install phases. -+# Use "%undefine _auto_set_build_flags" to disable" -+# Automatically use set_build_cc macro for build, check, and -+# install phases. -+# Use "%undefine _auto_set_build_cc" to disable" -+%_auto_set_build_cc %["%{toolchain}" == "gcc" ? 0 : 1] -+%_auto_set_build_flags 0 -+ -+%__spec_build_pre %{___build_pre} \ -+ %[0%{?_auto_set_build_cc} ? "%{set_build_cc}" : ""] \ -+ %[0%{?_auto_set_build_flags} ? "%{set_build_flags}" : ""] -+%__spec_check_pre %{___build_pre} \ -+ %[0%{?_auto_set_build_cc} ? "%{set_build_cc}" : ""] \ -+ %[0%{?_auto_set_build_flags} ? "%{set_build_flags}" : ""] -+ - #For backwards compatibility only. - %__global_cflags %{build_cflags} - %__global_cxxflags %{build_cxxflags} -@@ -144,6 +158,8 @@ - [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "${RPM_BUILD_ROOT}"\ - mkdir -p `dirname "$RPM_BUILD_ROOT"`\ - mkdir "$RPM_BUILD_ROOT"\ -+ %[0%{?_auto_set_build_cc} ? "%{set_build_cc}" : ""]\ -+ %[0%{?_auto_set_build_flags} ? "%{set_build_flags}" : ""]\ - %{nil} - - # ---- Expanded at end of %install scriptlet. --- -2.27.0 - diff --git a/Delete-the-commented-code.patch b/Delete-the-commented-code.patch deleted file mode 100644 index b9f04696b0d8a3243048079a16d28a1b6eaf8e8c..0000000000000000000000000000000000000000 --- a/Delete-the-commented-code.patch +++ /dev/null @@ -1,24 +0,0 @@ -From c7605385b9d838be78a87de02a48eaaa6e69b4b2 Mon Sep 17 00:00:00 2001 -From: hongjinghao -Date: Tue, 5 Mar 2024 20:22:59 +0800 -Subject: [PATCH] Delete the commented code - ---- - brp-digest-list | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/brp-digest-list b/brp-digest-list -index 77248c9..7de42b7 100644 ---- a/brp-digest-list -+++ b/brp-digest-list -@@ -9,7 +9,6 @@ if [ -z "$RPM_BUILD_ROOT" -o "$RPM_BUILD_ROOT" = "/" ]; then - fi - - # Create temporary file listing files in the manifest --#[ -n "$TMPDIR" ] || TMPDIR="/tmp" - TMPDIR="/tmp" - BIN_PKG_FILES=${TMPDIR}/${3%%.rpm} - cat - > $BIN_PKG_FILES --- -2.33.0 - diff --git a/Feature-support-EBS-sign-for-IMA-digest-list.patch b/Feature-support-EBS-sign-for-IMA-digest-list.patch deleted file mode 100644 index bd0fed08f5f45f26f114f254881d3392b54ce576..0000000000000000000000000000000000000000 --- a/Feature-support-EBS-sign-for-IMA-digest-list.patch +++ /dev/null @@ -1,326 +0,0 @@ -From 0449160c84daff8c557dee47a970e4f4837ff81d Mon Sep 17 00:00:00 2001 -From: Huaxin Lu -Date: Mon, 12 Dec 2022 00:16:01 +0800 -Subject: [PATCH] support EBS sign for IMA digest list - -Signed-off-by: Huaxin Lu -Signed-off-by: zhangguangzhi - ---- - brp-digest-list | 46 +++++----- - brp-ebs-sign | 238 ++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 262 insertions(+), 22 deletions(-) - create mode 100644 brp-ebs-sign - -diff --git a/brp-digest-list b/brp-digest-list -index e698b7a..d1e2600 100644 ---- a/brp-digest-list -+++ b/brp-digest-list -@@ -26,7 +26,6 @@ fi - DIGEST_LIST_DIR=$RPM_BUILD_ROOT/$2/etc/ima/digest_lists - mkdir -p $DIGEST_LIST_DIR - mkdir -p $DIGEST_LIST_DIR.tlv --mkdir -p $DIGEST_LIST_DIR.sig - - # Generate digest list for the kernel - gen_digest_lists -i M: -t metadata -f compact -d $DIGEST_LIST_DIR -i l:policy \ -@@ -70,28 +69,31 @@ DIGEST_LIST_TLV_PATH="$DIGEST_LIST_DIR.tlv/0-metadata_list-compact_tlv-$(basenam - chmod 644 $DIGEST_LIST_TLV_PATH - echo $DIGEST_LIST_TLV_PATH - --if [[ "$(basename $BIN_PKG_FILES)" =~ "digest-list-tools" && \ -- ! $(basename $BIN_PKG_FILES) =~ "debug" ]]; then -- # Generate digest list for the user space parsers -- LD_LIBRARY_PATH=$RPM_BUILD_ROOT/usr/lib64 \ -- $RPM_BUILD_ROOT/usr/bin/gen_digest_lists \ -- -d $DIGEST_LIST_DIR -t parser -f compact -m immutable \ -- -i I:$RPM_BUILD_ROOT/usr/libexec -o add -p -1 -i i: -- -- f="$DIGEST_LIST_DIR/0-parser_list-compact-libexec" -- [ -f $f ] || exit 0 -- -- chmod 644 $f -- echo $f -+#if [[ "$(basename $BIN_PKG_FILES)" =~ "digest-list-tools" && \ -+# ! $(basename $BIN_PKG_FILES) =~ "debug" ]]; then -+# Generate digest list for the user space parsers -+ -+# do EBS sign -+export PUBLISHER_HOST=$(grep PUBLISHER_HOST /lkp/scheduled/job.yaml | awk '{print $2}') -+export PUBLISHER_PORT=$(grep PUBLISHER_PORT /lkp/scheduled/job.yaml | awk '{print $2}') -+if [[ -n "$PUBLISHER_HOST" && -n "$PUBLISHER_PORT" ]]; then -+ [ -f /usr/lib/rpm/brp-ebs-sign ] || exit 0 -+ sh /usr/lib/rpm/brp-ebs-sign --ima-digestlist $DIGEST_LIST_PATH 1>&2 -+ [ -f $DIGEST_LIST_PATH.sig ] || exit 0 -+ chmod 644 $DIGEST_LIST_PATH.sig -+ mv $DIGEST_LIST_PATH.sig $DIGEST_LIST_PATH -+ exit 0 -+fi - -- [ -f /usr/lib/rpm/brp-suse.d/brp-99-pesign ] || exit 0 -+# do OBS sign -+[ -f /usr/lib/rpm/brp-suse.d/brp-99-pesign ] || exit 0 - -- export BRP_PESIGN_FILES="$2/etc/ima/digest_lists/*" -- export RPM_BUILD_ROOT -- export RPM_PACKAGE_NAME="digest-list-tools" -- export RPM_SOURCE_DIR="$(rpm --eval %_topdir)/SOURCES" -+export BRP_PESIGN_FILES="$2/etc/ima/digest_lists/*" -+export RPM_BUILD_ROOT -+export RPM_PACKAGE_NAME="digest-list-tools" -+export RPM_SOURCE_DIR="$(rpm --eval %_topdir)/SOURCES" - -- if [ -f "/usr/lib/rpm/brp-suse.d/brp-99-pesign" ]; then -- /usr/lib/rpm/brp-suse.d/brp-99-pesign &> /dev/null -- fi -+if [ -f "/usr/lib/rpm/brp-suse.d/brp-99-pesign" ]; then -+ /usr/lib/rpm/brp-suse.d/brp-99-pesign &> /dev/null - fi -+#fi -diff --git a/brp-ebs-sign b/brp-ebs-sign -new file mode 100644 -index 0000000..a7a83e5 ---- /dev/null -+++ b/brp-ebs-sign -@@ -0,0 +1,238 @@ -+#!/bin/bash -+ -+INPUT_TYPE=$1 -+INPUT_FILE=$2 -+SIGN_FILE=$INPUT_FILE -+PROJECT_CONF="/lkp/scheduled/job.yaml" -+POST_ADDR="" -+POST_FILE_SHA256="" -+POST_KEY_NAME="" -+POST_KEY_TYPE="" -+POST_FILE_TYPE="" -+POST_SIGN_TYPE="" -+POST_JOB_ID="" -+POST_OS_ORIJECT="" -+CONFIG_RETEST_COUNT=5 -+SIGN_RESULT=0 -+FAILED_SIGN_PERMISSION_DENIED=2 -+ -+# Tool functions for JSON -+get_json_value(){ -+ echo "$1" | \ -+ awk -F "[{,:}]" '{for(i=1;i $INPUT_FILE.sig -+ if [ $? -ne 0 ]; then -+ echo "Failed to write the signed file" -+ return 1 -+ fi -+ -+ # for test -+ # cp -f $INPUT_FILE $INPUT_FILE.sig -+ # req="{file_sha256:41c68fca7b3870cc9ef13a828a74af933bd8e4ff345fcfa316}" -+ -+ # 3. check the hash -+ sha256_cal=$(sha256sum $INPUT_FILE.sig | awk '{print $1}') -+ sha256_get=$(get_json_value "$req" "file_sha256" | tr '[:upper:]' '[:lower:]') -+ if [ "$sha256_cal" != "$sha256_get" ]; then -+ echo "Failed to verify the hash value" -+ return 1 -+ fi -+} -+ -+sign_post() { -+ case $INPUT_TYPE in -+ --efi) -+ efi_sign_post -+ ;; -+ --module) -+ module_sign_post -+ ;; -+ --ima-digestlist) -+ ima_digestlist_sign_post -+ ;; -+ --kernel) -+ kernel_sign_post -+ ;; -+ esac -+} -+ -+# Main function -+sign_pre -+ -+for ((i=1; i<=$CONFIG_RETEST_COUNT; i++)); do -+ sign -+ ret_sign=$? -+ if [ $ret_sign -eq 0 ]; then -+ echo "Succeed to sign file" -+ break; -+ elif [ $ret_sign -eq $FAILED_SIGN_PERMISSION_DENIED ]; then -+ echo "Failed to sign file, permission denied" -+ SIGN_RESULT=$FAILED_SIGN_PERMISSION_DENIED -+ break; -+ elif [ $i -ne $CONFIG_RETEST_COUNT ]; then -+ echo "Failed to sign file, try again" -+ elif [ $i -eq $CONFIG_RETEST_COUNT ]; then -+ echo "Failed to sign file" -+ SIGN_RESULT=1 -+ fi -+done -+ -+sign_post -+exit $SIGN_RESULT --- -2.33.0 - diff --git a/Fix-a-typo-in-brp-digest-list.patch b/Fix-a-typo-in-brp-digest-list.patch deleted file mode 100644 index 305237dddba06174b289eb9eb494b53d718247c2..0000000000000000000000000000000000000000 --- a/Fix-a-typo-in-brp-digest-list.patch +++ /dev/null @@ -1,26 +0,0 @@ -From a82057c590f958d10898c2e5f7211241be3dfd7a Mon Sep 17 00:00:00 2001 -From: Roberto Sassu -Date: Fri, 26 Feb 2021 09:00:06 +0100 -Subject: [PATCH] Fix a typo in brp-digest-list - -Rename RPM_PACKAGE_NAM to RPM_PACKAGE_NAME. ---- - brp-digest-list | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/brp-digest-list b/brp-digest-list -index 435b962..c3b2156 100644 ---- a/brp-digest-list -+++ b/brp-digest-list -@@ -86,7 +86,7 @@ if [[ "$(basename $BIN_PKG_FILES)" =~ "digest-list-tools" && \ - - export BRP_PESIGN_FILES="$2/etc/ima/digest_lists/*" - export RPM_BUILD_ROOT -- export RPM_PACKAGE_NAM="digest-list-tools" -+ export RPM_PACKAGE_NAME="digest-list-tools" - export RPM_SOURCE_DIR="$(rpm --eval %_topdir)/SOURCES" - - if [ -f "/usr/lib/rpm/brp-suse.d/brp-99-pesign" ]; then --- -2.26.2 - diff --git a/Fix-python3_version-macros-for-Python-3.10.patch b/Fix-python3_version-macros-for-Python-3.10.patch deleted file mode 100644 index fc76959ba7f2ff33af3afb3319f8acfaed9f92e9..0000000000000000000000000000000000000000 --- a/Fix-python3_version-macros-for-Python-3.10.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 84ed1ab69d4b1e0aea452350d9f2865e8f7c28e7 Mon Sep 17 00:00:00 2001 -From: Miro Hrončok -Date: Aug 26 2019 13:24:23 +0000 -Subject: Fix %python3_version macros for Python 3.10 - - -No need to bump the release, 3.10 is far from now. - -Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1745601 - ---- - -diff --git a/macros.python b/macros.python -index 1952aed..a170c4b 100644 ---- a/macros.python -+++ b/macros.python -@@ -139,8 +139,8 @@ find $bytecode_compilation_path -type f -a -name "*.py" -print0 | xargs -0 $pyth - %__python3 /usr/bin/python3 - %python3_sitelib %(%{__python3} -Ic "from distutils.sysconfig import get_python_lib; print(get_python_lib())") - %python3_sitearch %(%{__python3} -Ic "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))") --%python3_version %(%{__python3} -Ic "import sys; sys.stdout.write(sys.version[:3])") --%python3_version_nodots %(%{__python3} -Ic "import sys; sys.stdout.write(sys.version[:3].replace('.',''))") -+%python3_version %(%{__python3} -Ic "import sys; sys.stdout.write('{0.major}.{0.minor}'.format(sys.version_info))") -+%python3_version_nodots %(%{__python3} -Ic "import sys; sys.stdout.write('{0.major}{0.minor}'.format(sys.version_info))") - %python3_platform %(%{__python3} -Ic "import sysconfig; print(sysconfig.get_platform())") - %py3dir %{_builddir}/python3-%{name}-%{version}-%{release} - --- -2.27.0 - diff --git a/Give-a-warning-when-using-kabi-outside-our-stablelis.patch b/Give-a-warning-when-using-kabi-outside-our-stablelis.patch deleted file mode 100644 index d2cba8e3fae88cd40d43f890faa1a5ac9dd3922d..0000000000000000000000000000000000000000 --- a/Give-a-warning-when-using-kabi-outside-our-stablelis.patch +++ /dev/null @@ -1,240 +0,0 @@ -From 895c930b1418798509a1f19706b6a1be188ad303 Mon Sep 17 00:00:00 2001 -From: Liu Yuntao -Date: Sat, 2 Jul 2022 13:59:25 +0800 -Subject: [PATCH] Give a warning when using kabi outside our stablelists. - -Add a script that will find requirements for your package. It can make an -additional kabi whitelist check for you, compared with rpmbuild's builtin -requirement scanner. You may add "%define _use_internal_dependency_generator 0" -in your .spec file to enable this feature. -synced from CentOS's implementation. ---- - find-requires | 38 +++++++++++ - find-requires.ksyms | 155 ++++++++++++++++++++++++++++++++++++++++++++ - macros.kmp | 3 +- - 3 files changed, 195 insertions(+), 1 deletion(-) - create mode 100644 find-requires - create mode 100644 find-requires.ksyms - -diff --git a/find-requires b/find-requires -new file mode 100644 -index 0000000..b7cd825 ---- /dev/null -+++ b/find-requires -@@ -0,0 +1,38 @@ -+#!/bin/bash -+ -+# -+# Auto-generate requirements for executables (both ELF and a.out) and library -+# sonames, script interpreters, and perl modules. -+# -+ -+ulimit -c 0 -+ -+filelist=`sed "s/[]['\"*?{}]/\\\\\&/g"` -+ -+[ -x /usr/lib/rpm/rpmdeps -a -n "$filelist" ] && \ -+ echo $filelist | tr '[:blank:]' \\n | /usr/lib/rpm/rpmdeps --requires -+ -+# -+# --- Kernel module imported symbols -+# -+# Since we don't (yet) get passed the name of the package being built, we -+# cheat a little here by looking first for a kernel, then for a kmod. -+# -+ -+unset is_kmod -+ -+for f in $filelist; do -+ if [ $(echo "$f" | sed -r -ne 's:^.*/lib/modules/(.*)/(.*)\.ko(\.gz|\.bz2|\.xz)?$:\2:p') ] -+ then -+ is_kmod=1; -+ elif [ $(echo "$f" | sed -r -ne 's:^.*/boot/(.*):\1:p') ] -+ then -+ unset is_kmod; -+ break; -+ fi -+done -+ -+[ -x /usr/lib/rpm/__vendor/find-requires.ksyms ] && [ "$is_kmod" ] && -+ printf "%s\n" "${filelist[@]}" | /usr/lib/rpm/__vendor/find-requires.ksyms -+ -+exit 0 -diff --git a/find-requires.ksyms b/find-requires.ksyms -new file mode 100644 -index 0000000..15cc729 ---- /dev/null -+++ b/find-requires.ksyms -@@ -0,0 +1,155 @@ -+#! /bin/bash -+# -+# This script is called during external module building to create dependencies -+# both upon the linux kernel, and on additional external modules. Symbols that -+# cannot be reconciled against those provided by the kernel are assumed to be -+# provided by an external module and "ksym" replaces th regular "kernel" dep. -+ -+IFS=$'\n' -+ -+# Extract all of the symbols provided by this module. -+all_provides() { -+ for module in "$@"; do -+ tmpfile="" -+ if [ "x${module%.ko}" = "x${module}" ]; then -+ tmpfile=$(mktemp -t ${0##*/}.XXXXXX.ko) -+ proc_bin= -+ case "${module##*.}" in -+ xz) -+ proc_bin=xz -+ ;; -+ bz2) -+ proc_bin=bzip2 -+ ;; -+ gz) -+ proc_bin=gzip -+ ;; -+ esac -+ -+ [ -n "$proc_bin" ] || continue -+ -+ "$proc_bin" -d -c - < "$module" > "$tmpfile" || continue -+ module="$tmpfile" -+ fi -+ -+ if [[ -n $(nm "$module" | sed -r -ne 's:^0*([0-9a-f]+) A __crc_(.+):0x\1 \2:p') ]]; then -+ nm "$module" \ -+ | sed -r -ne 's:^0*([0-9a-f]+) A __crc_(.+):0x\1 \2:p' \ -+ | awk --non-decimal-data '{printf("%s:0x%08x\n", $2, $1)}' -+ else -+ ELFRODATA=$(readelf -R .rodata "$module" | awk '/0x/{printf $2$3$4$5}') -+ if [[ -n $(readelf -h "$module" | grep "little endian") ]]; then -+ RODATA=$(echo $ELFRODATA | sed 's/\(..\)\(..\)\(..\)\(..\)/\4\3\2\1/g') -+ else -+ RODATA=$ELFRODATA -+ fi -+ for sym in $(nm "$module" | sed -r -ne 's:^0*([0-9a-f]+) R __crc_(.+):0x\1 \2:p'); do -+ echo $sym $RODATA -+ done \ -+ | awk --non-decimal-data '{printf("%s:0x%08s\n", $2, substr($3,($1*2)+1,8))}' -+ fi -+ -+ [ -z "$tmpfile" ] || rm -f -- "$tmpfile" -+ done \ -+ | LC_ALL=C sort -k1,1 -u -+} -+ -+# Extract all of the requirements of this module. -+all_requires() { -+ for module in "$@"; do -+ set -- $(/sbin/modinfo -F vermagic "$module" | sed -e 's: .*::' -e q) -+ /sbin/modprobe --dump-modversions "$module" \ -+ | awk --non-decimal-data ' -+ BEGIN { FS = "\t" ; OFS = "\t" } -+ {printf("%s:0x%08x\n", $2, $1)}' \ -+ | sed -r -e 's:$:\t'"$1"':' -+ done \ -+ | LC_ALL=C sort -k1,1 -u -+} -+ -+# Filter out requirements fulfilled by the module itself. -+mod_requires() { -+ LC_ALL=C join -t $'\t' -j 1 -v 1 \ -+ <(all_requires "$@") \ -+ <(all_provides "$@") \ -+ | LC_ALL=C sort -k1,1 -u -+} -+ -+if ! [ -e /sbin/modinfo -a -e /sbin/modprobe ]; then -+ cat > /dev/null -+ exit 0 -+fi -+ -+check_kabi() { -+ arch=$(uname -m) -+ kabi_file="/lib/modules/kabi-current/kabi_stablelist_$arch" -+ -+ # If not installed, output a warning and return (continue) -+ if [ ! -f "$kabi_file" ]; then -+ echo "" >&2 -+ echo "********************************************************************************" >&2 -+ echo "*********************** KERNEL ABI COMPATIBILITY WARNING ***********************" >&2 -+ echo "********************************************************************************" >&2 -+ echo "The kernel ABI reference files (provided by "kernel-abi-stablelists") were not found." >&2 -+ echo "No compatibility check was performed. Please install the kABI reference files" >&2 -+ echo "and rebuild if you would like to verify compatibility with kernel ABI." >&2 -+ echo "" >&2 -+ return -+ fi -+ -+ unset non_kabi -+ for symbol in "$@"; do -+ if ! egrep "^$symbol\$" $kabi_file >/dev/null; then -+ non_kabi=("${non_kabi[@]}" "$symbol") -+ fi -+ done -+ -+ if [ ${#non_kabi[@]} -gt 0 ]; then -+ echo "" >&2 -+ echo "********************************************************************************" >&2 -+ echo "*********************** KERNEL ABI COMPATIBILITY WARNING ***********************" >&2 -+ echo "********************************************************************************" >&2 -+ echo "The following kernel symbols are not guaranteed to remain compatible with" >&2 -+ echo "future kernel updates to this RHEL release:" >&2 -+ echo "" >&2 -+ for symbol in "${non_kabi[@]}"; do -+ printf "\t$symbol\n" >&2 -+ done -+ echo "" >&2 -+ echo "__vendor recommends that you consider using only official kernel ABI symbols" >&2 -+ echo "where possible. Requests for additions to the kernel ABI can be filed with" >&2 -+ echo "your partner or customer representative (component: driver-update-program)." >&2 -+ echo "" >&2 -+ fi -+} -+ -+modules=($(grep -E '/lib/modules/.+\.ko(\.gz|\.bz2|\.xz)?$')) -+if [ ${#modules[@]} -gt 0 ]; then -+ kernel=$(/sbin/modinfo -F vermagic "${modules[0]}" | sed -e 's: .*::' -e q) -+ -+ # get all that kernel provides -+ symvers=$(mktemp -t ${0##*/}.XXXXX) -+ -+ cat /usr/src/kernels/$kernel/Module.symvers | awk ' -+ BEGIN { FS = "\t" ; OFS = "\t" } -+ { print $2 ":" $1 } -+ ' \ -+ | sed -r -e 's:$:\t'"$kernel"':' \ -+ | LC_ALL=C sort -k1,1 -u > $symvers -+ -+ # Symbols matching with the kernel get a "kernel" dependency -+ mod_req=$(mktemp -t mod_req.XXXXX) -+ mod_requires "${modules[@]}" > "$mod_req" -+ LC_ALL=C join -t $'\t' -j 1 $symvers "$mod_req" | LC_ALL=C sort -u \ -+ | awk 'BEGIN { FS = "[\t:]" ; OFS = "\t" } { print "kernel(" $1 ") = " $2 }' -+ -+ # Symbols from elsewhere get a "ksym" dependency -+ LC_ALL=C join -t $'\t' -j 1 -v 2 $symvers "$mod_req" | LC_ALL=C sort -u \ -+ | awk 'BEGIN { FS = "[\t:]" ; OFS = "\t" } { print "ksym(" $1 ") = " $2 }' -+ -+ # Check kABI if the kernel-abi-stablelists package is installed -+ # Do this last so we can try to output this error at the end -+ kabi_check_symbols=($(LC_ALL=C join -t $'\t' -j 1 $symvers "$mod_req" | LC_ALL=C sort -u \ -+ | awk 'BEGIN { FS = "[\t:]" ; OFS = "\t" } { print $1 }')) -+ check_kabi "${kabi_check_symbols[@]}" -+fi -diff --git a/macros.kmp b/macros.kmp -index 5207045..df7e41e 100644 ---- a/macros.kmp -+++ b/macros.kmp -@@ -1,7 +1,8 @@ --# Use these macros to differentiate between RH and other KMP implementation(s). -+# Use these macros to differentiate between __vendor and other KMP implementation(s). - - kernel_module_package_release 1 - -+__find_requires /usr/lib/rpm/__vendor/find-requires - - - #kernel_module_package [ -n name ] [ -v version ] [ -r release ] --- -2.27.0 - diff --git a/add-brp-scripts-to-delete-rpath.patch b/add-brp-scripts-to-delete-rpath.patch deleted file mode 100644 index 8677bd5c4598d23b254fb1caa486c262e8c84cc8..0000000000000000000000000000000000000000 --- a/add-brp-scripts-to-delete-rpath.patch +++ /dev/null @@ -1,145 +0,0 @@ -From 9648228a3f64de46dd7fbb26e2df429352de17e1 Mon Sep 17 00:00:00 2001 -From: yangmingtaip -Date: Sat, 4 Sep 2021 14:14:54 +0800 -Subject: [PATCH] add brp scripts to delete rpath - -Signed-off-by: xujing ---- - brp-chrpath | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++ - macros | 2 + - 2 files changed, 106 insertions(+) - create mode 100755 brp-chrpath - -diff --git a/brp-chrpath b/brp-chrpath -new file mode 100755 -index 0000000..dc48351 ---- /dev/null -+++ b/brp-chrpath -@@ -0,0 +1,104 @@ -+#!/usr/bin/sh -+# remove rpath specified -+ -+rpathSuffix=( -+ "/home/abuild/rpmbuild/BUILD", -+ "/home/lkp/rpmbuild/BUILD" -+) -+ -+rpath=( -+ "/usr/lib64", -+ "/lib64", -+ "/usr/lib", -+ "/lib", -+ "/usr/lib/../lib64" -+) -+ -+buildroot=$1 -+ -+function rpathChange() -+{ -+ localSrcPath=$1 -+ localDstPath="" -+ -+ rpathArr=(`echo $localSrcPath | tr ':' ' '`) -+ -+ for path in ${rpathArr[*]} -+ do -+ localflag=0 -+ for suffix in ${rpathSuffix[*]} -+ do -+ if echo "$path" | grep $suffix &> /dev/null; then -+ localflag=1 -+ break -+ fi -+ done -+ -+ # Is the suffix path, delete -+ if [ $localflag -eq 1 ]; then -+ continue; -+ fi -+ -+ #Is the standard path, delete -+ if echo "${rpath[@]}" | grep -w $path &> /dev/null; then -+ continue -+ fi -+ -+ if [ x"$localDstPath" == x"" ]; then -+ localDstPath=$path -+ else -+ localDstPath=$localDstPath:$path -+ fi -+ done -+ -+ echo $localDstPath -+} -+ -+function removeRpathOrRunpath() -+{ -+ localfile=$1 -+ -+ rpathInfo=$(chrpath -l $localfile | grep "RPATH=") -+ runpathInfo=$(chrpath -l $localfile | grep "RUNPATH=") -+ -+ currPath="" -+ realPath="" -+ needCh=0 -+ if [ x"$rpathInfo" != x"" ]; then -+ needCh=1 -+ currPath=$(echo $rpathInfo | awk -F "RPATH=" '{print $2}') -+ realPath=$(rpathChange $currPath) -+ fi -+ -+ if [ x"$runpathInfo" != x"" ]; then -+ needCh=1 -+ currPath=$(echo $runpathInfo | awk -F "RUNPATH=" '{print $2}') -+ realPath=$(rpathChange $currPath) -+ fi -+ -+ if [ $needCh -eq 0 ]; then -+ return 0 -+ fi -+ -+ if [ x"$realPath" == x"" ]; then -+ chrpath -d $localfile -+ else -+ chrpath -r $realPath $localfile -+ fi -+ -+ return 0 -+} -+ -+for file in $(find $buildroot/ -executable -type f -exec file {} ';' | grep "\" | awk -F ':' '{print $1}') -+do -+ test -u $file -+ if [ $? -eq 0 ]; then -+ continue -+ fi -+ -+ if [ -w "$file" ]; then -+ removeRpathOrRunpath $file -+ fi -+done -+ -+exit 0 -diff --git a/macros b/macros -index 36621df..a316be9 100644 ---- a/macros -+++ b/macros -@@ -89,6 +89,7 @@ - - # Build root policy macros. Standard naming: - # convert all '-' in basename to '_', add two leading underscores. -+%__brp_chrpath /usr/lib/rpm/brp-chrpath %{buildroot} - %__brp_ldconfig /usr/lib/rpm/brp-ldconfig - %__brp_compress /usr/lib/rpm/brp-compress - %__brp_strip /usr/lib/rpm/brp-strip %{__strip} -@@ -111,6 +112,7 @@ - - %__spec_install_post\ - %{?__debug_package:%{__debug_install_post}}\ -+ %{?__vendor_delete_rpath:%{?__brp_chrpath}} \ - %{__arch_install_post}\ - %{__os_install_post}\ - %{nil} --- -2.33.0 - diff --git a/add-common-script.patch b/add-common-script.patch deleted file mode 100644 index bb7892e5b30452a5cee6d26b1e626e0cf01a3882..0000000000000000000000000000000000000000 --- a/add-common-script.patch +++ /dev/null @@ -1,313 +0,0 @@ -From 4db504b19f6dd04a44e46b43b3aff4e6cab9214d Mon Sep 17 00:00:00 2001 -From: wangkerong -Date: Wed, 13 Oct 2021 10:04:33 +0800 -Subject: [PATCH] add_commom_script - ---- - common.lua | 294 +++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 294 insertions(+) - create mode 100644 common.lua - -diff --git a/common.lua b/common.lua -new file mode 100644 -index 0000000..884ee4d ---- /dev/null -+++ b/common.lua -@@ -0,0 +1,294 @@ -+-- Convenience Lua functions that can be used within rpm macros -+ -+-- Reads an rpm variable. Unlike a basic rpm.expand("{?foo}"), returns nil if -+-- the variable is unset, which is convenient in lua tests and enables -+-- differentiating unset variables from variables set to "" -+local function read(rpmvar) -+ if not rpmvar or -+ (rpm.expand("%{" .. rpmvar .. "}") == "%{" .. rpmvar .. "}") then -+ return nil -+ else -+ return rpm.expand("%{?" .. rpmvar .. "}") -+ end -+end -+ -+-- Returns true if the macro that called this function had flag set -+-- – for example, hasflag("z") would give the following results: -+-- %foo -z bar → true -+-- %foo -z → true -+-- %foo → false -+local function hasflag(flag) -+ return (rpm.expand("%{-" .. flag .. "}") ~= "") -+end -+ -+-- Returns the argument passed to flag in the macro that called this function -+-- – for example, readflag("z") would give the following results: -+-- %foo -z bar → bar -+-- %foo → nil -+-- %foo -z "" → empty string -+-- %foo -z '' → empty string -+local function readflag(flag) -+ if not hasflag(flag) then -+ return nil -+ else -+ local a = rpm.expand("%{-" .. flag .. "*}") -+ -- Handle "" and '' as empty strings -+ if (a == '""') or (a == "''") then -+ a = '' -+ end -+ return a -+ end -+end -+ -+-- Sets a spec variable; echoes the result if verbose -+local function explicitset(rpmvar, value, verbose) -+ local value = value -+ if (value == nil) or (value == "") then -+ value = "%{nil}" -+ end -+ rpm.define(rpmvar .. " " .. value) -+ if verbose then -+ rpm.expand("%{warn:Setting %%{" .. rpmvar .. "} = " .. value .. "}") -+ end -+end -+ -+-- Unsets a spec variable if it is defined; echoes the result if verbose -+local function explicitunset(rpmvar, verbose) -+ if (rpm.expand("%{" .. rpmvar .. "}") ~= "%{" .. rpmvar .. "}") then -+ rpm.define(rpmvar .. " %{nil}") -+ if verbose then -+ rpm.expand("%{warn:Unsetting %%{" .. rpmvar .. "}}") -+ end -+ end -+end -+ -+-- Sets a spec variable, if not already set; echoes the result if verbose -+local function safeset(rpmvar, value, verbose) -+ if (rpm.expand("%{" .. rpmvar .. "}") == "%{" .. rpmvar .. "}") then -+ explicitset(rpmvar,value,verbose) -+ end -+end -+ -+-- Aliases a list of rpm variables to the same variables suffixed with 0 (and -+-- vice versa); echoes the result if verbose -+local function zalias(rpmvars, verbose) -+ for _, sfx in ipairs({{"","0"},{"0",""}}) do -+ for _, rpmvar in ipairs(rpmvars) do -+ local toalias = "%{?" .. rpmvar .. sfx[1] .. "}" -+ if (rpm.expand(toalias) ~= "") then -+ safeset(rpmvar .. sfx[2], toalias, verbose) -+ end -+ end -+ end -+end -+ -+-- Takes a list of rpm variable roots and a suffix and alias current to -+-- if it resolves to something not empty -+local function setcurrent(rpmvars, suffix, verbose) -+ for _, rpmvar in ipairs(rpmvars) do -+ if (rpm.expand("%{?" .. rpmvar .. suffix .. "}") ~= "") then -+ explicitset( "current" .. rpmvar, "%{" .. rpmvar .. suffix .. "}", verbose) -+ else -+ explicitunset("current" .. rpmvar, verbose) -+ end -+ end -+end -+ -+-- Echo the list of rpm variables, with suffix, if set -+local function echovars(rpmvars, suffix) -+ for _, rpmvar in ipairs(rpmvars) do -+ rpmvar = rpmvar .. suffix -+ local header = string.sub(" " .. rpmvar .. ": ",1,21) -+ rpm.expand("%{?" .. rpmvar .. ":%{echo:" .. header .. "%{?" .. rpmvar .. "}}}") -+ end -+end -+ -+-- Returns an array, indexed by suffix, containing the non-empy values of -+-- , with suffix an integer string or the empty string -+local function getsuffixed(rpmvar) -+ local suffixes = {} -+ zalias({rpmvar}) -+ for suffix=0,9999 do -+ local value = rpm.expand("%{?" .. rpmvar .. suffix .. "}") -+ if (value ~= "") then -+ suffixes[tostring(suffix)] = value -+ end -+ end -+ -- rpm convention is to alias no suffix to zero suffix -+ -- only add no suffix if zero suffix is different -+ local value = rpm.expand("%{?" .. rpmvar .. "}") -+ if (value ~= "") and (value ~= suffixes["0"]) then -+ suffixes[""] = value -+ end -+ return suffixes -+end -+ -+-- Returns the list of suffixes, including the empty string, for which -+-- is set to a non empty value -+local function getsuffixes(rpmvar) -+ suffixes = {} -+ for suffix in pairs(getsuffixed(rpmvar)) do -+ table.insert(suffixes,suffix) -+ end -+ table.sort(suffixes, -+ function(a,b) return (tonumber(a) or 0) < (tonumber(b) or 0) end) -+ return suffixes -+end -+ -+-- Returns the suffix for which has a non-empty value that -+-- matches best the beginning of the value string -+local function getbestsuffix(rpmvar, value) -+ local best = nil -+ local currentmatch = "" -+ for suffix, setvalue in pairs(getsuffixed(rpmvar)) do -+ if (string.len(setvalue) > string.len(currentmatch)) and -+ (string.find(value, "^" .. setvalue)) then -+ currentmatch = setvalue -+ best = suffix -+ end -+ end -+ return best -+end -+ -+-- %writevars core -+local function writevars(macrofile, rpmvars) -+ for _, rpmvar in ipairs(rpmvars) do -+ print("sed -i 's\029" .. string.upper("@@" .. rpmvar .. "@@") .. -+ "\029" .. rpm.expand( "%{" .. rpmvar .. "}" ) .. -+ "\029g' " .. macrofile .. "\n") -+ end -+end -+ -+-- https://github.com/rpm-software-management/rpm/issues/566 -+-- Reformat a text intended to be used used in a package description, removing -+-- rpm macro generation artefacts. -+-- – remove leading and ending empty lines -+-- – trim intermediary empty lines to a single line -+-- – fold on spaces -+-- Should really be a %%{wordwrap:…} verb -+local function wordwrap(text) -+ text = rpm.expand(text .. "\n") -+ text = string.gsub(text, "\t", " ") -+ text = string.gsub(text, "\r", "\n") -+ text = string.gsub(text, " +\n", "\n") -+ text = string.gsub(text, "\n+\n", "\n\n") -+ text = string.gsub(text, "^\n", "") -+ text = string.gsub(text, "\n( *)[-*—][ ]+", "\n%1– ") -+ output = "" -+ for line in string.gmatch(text, "[^\n]*\n") do -+ local pos = 0 -+ local advance = "" -+ for word in string.gmatch(line, "%s*[^%s]*\n?") do -+ local wl, bad = utf8.len(word) -+ if not wl then -+ print("%{warn:Invalid UTF-8 sequence detected in:}" .. -+ "%{warn:" .. word .. "}" .. -+ "%{warn:It may produce unexpected results.}") -+ wl = bad -+ end -+ if (pos == 0) then -+ advance, n = string.gsub(word, "^(%s*– ).*", "%1") -+ if (n == 0) then -+ advance = string.gsub(word, "^(%s*).*", "%1") -+ end -+ advance = string.gsub(advance, "– ", " ") -+ pos = pos + wl -+ elseif (pos + wl < 81) or -+ ((pos + wl == 81) and string.match(word, "\n$")) then -+ pos = pos + wl -+ else -+ word = advance .. string.gsub(word, "^%s*", "") -+ output = output .. "\n" -+ pos = utf8.len(word) -+ end -+ output = output .. word -+ if pos > 80 then -+ pos = 0 -+ if not string.match(word, "\n$") then -+ output = output .. "\n" -+ end -+ end -+ end -+ end -+ output = string.gsub(output, "\n*$", "\n") -+ return output -+end -+ -+-- Because rpmbuild will fail if a subpackage is declared before the source -+-- package itself, provide a source package declaration shell as fallback. -+local function srcpkg(verbose) -+ if verbose then -+ rpm.expand([[ -+%{echo:Creating a header for the SRPM from %%{source_name}, %%{source_summary} and} -+%{echo:%%{source_description}. If that is not the intended result, please declare the} -+%{echo:SRPM header and set %%{source_name} in your spec file before calling a macro} -+%{echo:that creates other package headers.} -+]]) -+ end -+ print(rpm.expand([[ -+Name: %{source_name} -+Summary: %{source_summary} -+%description -+%wordwrap -v source_description -+]])) -+ explicitset("currentname", "%{source_name}", verbose) -+end -+ -+-- %new_package core -+local function new_package(source_name, pkg_name, name_suffix, first, verbose) -+ -- Safety net when the wrapper is used in conjunction with traditional syntax -+ if (not first) and (not source_name) then -+ rpm.expand([[ -+%{warn:Something already set a package name. However, %%{source_name} is not set.} -+%{warn:Please set %%{source_name} to the SRPM name to ensure reliable processing.} -+]]) -+ if name_suffix then -+ print(rpm.expand("%package " .. name_suffix)) -+ else -+ print(rpm.expand("%package -n " .. pkg_name)) -+ end -+ return -+ end -+ -- New processing -+ if not (pkg_name or name_suffix or source_name) then -+ rpm.expand([[ -+%{error:You need to set %%{source_name} or provide explicit package naming!} -+]]) -+ end -+ if name_suffix then -+ print(rpm.expand("%package " .. name_suffix)) -+ explicitset("currentname", "%{source_name}-" .. name_suffix, verbose) -+ else -+ if not source_name then -+ source_name = pkg_name -+ end -+ if (pkg_name == source_name) then -+ safeset("source_name", source_name, verbose) -+ print(rpm.expand("Name: %{source_name}")) -+ else -+ if source_name and first then -+ srcpkg(verbose) -+ end -+ print(rpm.expand("%package -n " .. pkg_name)) -+ end -+ explicitset("currentname", pkg_name, verbose) -+ end -+end -+ -+return { -+ read = read, -+ hasflag = hasflag, -+ readflag = readflag, -+ explicitset = explicitset, -+ explicitunset = explicitunset, -+ safeset = safeset, -+ zalias = zalias, -+ setcurrent = setcurrent, -+ echovars = echovars, -+ getsuffixed = getsuffixed, -+ getsuffixes = getsuffixes, -+ getbestsuffix = getbestsuffix, -+ writevars = writevars, -+ wordwrap = wordwrap, -+ new_package = new_package, -+} --- -2.27.0 - diff --git a/add-loongarch64-support-for-config.guess-and-config.sub.patch b/add-loongarch64-support-for-config.guess-and-config.sub.patch deleted file mode 100644 index acc2f830c581517e6c33addcaba1d73c5173a400..0000000000000000000000000000000000000000 --- a/add-loongarch64-support-for-config.guess-and-config.sub.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/config.guess b/config.guess -index 463631a..2985f85 100644 ---- a/config.guess -+++ b/config.guess -@@ -975,6 +975,9 @@ EOF - k1om:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; -+ loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} -+ exit ;; - m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; -diff --git a/config.sub b/config.sub -index 39dbf60..39870d3 100644 ---- a/config.sub -+++ b/config.sub -@@ -268,6 +268,7 @@ case $basic_machine in - | k1om \ - | le32 | le64 \ - | lm32 \ -+ | loongarch32 | loongarch64 | loongarchx32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ - | mips | mipsbe | mipseb | mipsel | mipsle \ diff --git a/add-loongarch64-to-generic_arches.patch b/add-loongarch64-to-generic_arches.patch deleted file mode 100644 index cf3dc63e59f609154f6638c3607262574a265063..0000000000000000000000000000000000000000 --- a/add-loongarch64-to-generic_arches.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/macros b/macros -index d6b2c80..a66eb2e 100644 ---- a/macros -+++ b/macros -@@ -241,7 +241,7 @@ - %pkg_vcmp() (%{expand:%%{pkg_version_cmp %1 %3}} %2 0) - - #arches macros --%generic_arches %{ix86} x86_64 %{arm} aarch64 -+%generic_arches %{ix86} x86_64 %{arm} aarch64 loongarch64 - %ldc_arches %{generic_arches} - %valgrind_arches %{generic_arches} - %nodejs_arches %{generic_arches} diff --git a/add-powerpc64le-and-ppc64le-support.patch b/add-powerpc64le-and-ppc64le-support.patch deleted file mode 100644 index 8840182bfffb4a263f5e71f1c2050ec206652d51..0000000000000000000000000000000000000000 --- a/add-powerpc64le-and-ppc64le-support.patch +++ /dev/null @@ -1,39 +0,0 @@ -From c6d355a6997ac10403181015b5ca9d17dcf8d1a7 Mon Sep 17 00:00:00 2001 -From: JianChunfu -Date: Tue, 24 Oct 2023 18:38:38 +0800 -Subject: [PATCH] add powerpc64le and ppc64le support - ---- - macros | 2 +- - rpmrc | 2 ++ - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/macros b/macros -index 5c7447b..38dc694 100644 ---- a/macros -+++ b/macros -@@ -225,7 +225,7 @@ - %pkg_vcmp() (%{expand:%%{pkg_version_cmp %1 %3}} %2 0) - - #arches macros --%generic_arches %{ix86} x86_64 %{arm} aarch64 loongarch64 -+%generic_arches %{ix86} x86_64 %{arm} aarch64 loongarch64 powerpc64le ppc64le - %ldc_arches %{generic_arches} - %valgrind_arches %{generic_arches} - %nodejs_arches %{generic_arches} -diff --git a/rpmrc b/rpmrc -in -dex 8ba756d..10d7c86 100644 ---- a/rpmrc -+++ b/rpmrc -@@ -8,6 +8,8 @@ optflags: x86_64 %{__global_compiler_flags} -m64 -mtune=generic -fasynchronous-u - optflags: aarch64 %{__global_compiler_flags} -fasynchronous-unwind-tables -fstack-clash-protection - optflags: riscv64 %{__global_compiler_flags} -fasynchronous-unwind-tables -fstack-clash-protection - -+optflags: ppc64le %{__global_compiler_flags} -fasynchronous-unwind-tables -fstack-clash-protection -+ - buildarchtranslate: athlon: i686 - buildarchtranslate: geode: i686 - buildarchtranslate: pentium4: i686 --- -2.33.0 diff --git a/add-pyproject-macros.patch b/add-pyproject-macros.patch deleted file mode 100644 index c6664c99aeb90430f2b23b92e93dea0962c75be4..0000000000000000000000000000000000000000 --- a/add-pyproject-macros.patch +++ /dev/null @@ -1,42 +0,0 @@ -From b16ce81ae43c1e702beb1351ee9891e3e3f697e6 Mon Sep 17 00:00:00 2001 -From: caodongxia <315816521@qq.com> -Date: Thu, 13 Apr 2023 17:11:53 +0800 -Subject: [PATCH] add pyproject macros - ---- - macros.python | 12 +++++++++++ - 1 file changed, 12 insertions(+) - -diff --git a/macros.python b/macros.python -index d504d3f..d5a7a86 100644 ---- a/macros.python -+++ b/macros.python -@@ -28,6 +28,12 @@ find $bytecode_compilation_path -type f -a -name "*.py" -print0 | xargs -0 $pyth - sleep 1 - } - -+%pyproject_build() %{expand:\\\ -+ CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\\\ -+ %{__python3} -mpip wheel --verbose --progress-bar off --disable-pip-version-check --use-pep517 --no-build-isolation --no-deps --wheel-dir ./build . %{?*} -+ sleep 1 -+} -+ - %py_build_egg() %{expand:\\\ - CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\\\ - %{__python} %{py_setup} %{?py_setup_args} bdist_egg %{?*} -@@ -45,6 +51,12 @@ find $bytecode_compilation_path -type f -a -name "*.py" -print0 | xargs -0 $pyth - %{__python} %{py_setup} %{?py_setup_args} install -O1 --skip-build --root %{buildroot} %{?*} - } - -+%pyproject_install() %{expand:\\\ -+ specifier=$(ls ./build/*.whl | xargs basename --multiple | sed -E 's/([^-]+)-([^-]+)-.+\\\.whl/\\\1==\\\2/') -+ CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\\\ -+ %{__python3} -mpip install --verbose --progress-bar off --disable-pip-version-check --root %{buildroot} --no-compile --ignore-installed --no-deps --no-index --find-links ./build $specifier %{?*} -+} -+ - %py_install_egg() %{expand:\\\ - mkdir -p %{buildroot}%{python_sitelib} - easy_install -m --prefix %{buildroot}%{_prefix} -Z dist/*-py%{python_version}.egg %{?*} --- -2.23.0 - diff --git a/add-pytest-and-tox-macros.patch b/add-pytest-and-tox-macros.patch deleted file mode 100644 index b76444e83b2c819e42fb0ba8666e0022f70fc885..0000000000000000000000000000000000000000 --- a/add-pytest-and-tox-macros.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 2f7b74e83fc52d326d5db7de2bcfab2c8d921f29 Mon Sep 17 00:00:00 2001 -From: desert-sailor -Date: Mon, 24 Jul 2023 11:36:52 +0800 -Subject: [PATCH] add pytest and tox macros - ---- - macros.python | 22 ++++++++++++++++++++++ - 1 file changed, 22 insertions(+) - -diff --git a/macros.python b/macros.python -index 1cc6e70..334c0ab 100644 ---- a/macros.python -+++ b/macros.python -@@ -304,3 +304,25 @@ find $bytecode_compilation_path -type f -a -name "*.py" -print0 | xargs -0 $pyth - %python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; import sys; sys.stdout.write(get_python_lib())") - %python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; import sys; sys.stdout.write(get_python_lib(1))") - %python_version %(%{__python} -c "import sys; sys.stdout.write(sys.version[:3])") -+ -+# New python test macros -+%pytest() %{expand:\\\ -+CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}" \\ -+PATH="%{buildroot}%{_bindir}:$PATH" \\ -+PYTHONPATH="${PYTHONPATH:-%{buildroot}%{python3_sitearch}:%{buildroot}%{python3_sitelib}}" \\ -+PYTHONDONTWRITEBYTECODE=1 \\ -+%{?__pytest_addopts:PYTEST_ADDOPTS="${PYTEST_ADDOPTS:-} %{__pytest_addopts}"} \\ -+PYTEST_XDIST_AUTO_NUM_WORKERS=%{_smp_build_ncpus} \\ -+%{_bindir}/pytest %{?*} -+} -+ -+%tox() %{expand:\\\ -+TOX_TESTENV_PASSENV="${TOX_TESTENV_PASSENV:-*}" \\ -+CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}" \\ -+PATH="%{buildroot}%{_bindir}:$PATH" \\ -+PYTHONPATH="${PYTHONPATH:-%{buildroot}%{python3_sitearch}:%{buildroot}%{python3_sitelib}}" \\ -+PYTHONDONTWRITEBYTECODE=1 \\ -+%{?__pytest_addopts:PYTEST_ADDOPTS="${PYTEST_ADDOPTS:-} %{__pytest_addopts}"} \\ -+PYTEST_XDIST_AUTO_NUM_WORKERS=%{_smp_build_ncpus} \\ -+%{__python3} -m tox -e py%{python3_version_nodots} --current-env %{?*} -+} --- -2.33.0 - diff --git a/add-riscv64-to-some-arches-macro.patch b/add-riscv64-to-some-arches-macro.patch deleted file mode 100644 index 987acea1e97c8e14fae75c15ce45f0b357a2beed..0000000000000000000000000000000000000000 --- a/add-riscv64-to-some-arches-macro.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 09e746df9d0c333fef9aabcec3047f68c9d1fc60 Mon Sep 17 00:00:00 2001 -From: laokz -Date: Sat, 27 Apr 2024 15:09:30 +0800 -Subject: [PATCH] add riscv64 to some arches macro - ---- - macros | 11 +++++------ - 1 file changed, 5 insertions(+), 6 deletions(-) - -diff --git a/macros b/macros -index 218cd23..c609e85 100644 ---- a/macros -+++ b/macros -@@ -310,7 +310,7 @@ - %generic_arches %{ix86} x86_64 %{arm} aarch64 loongarch64 powerpc64le ppc64le - %ldc_arches %{generic_arches} - %valgrind_arches %{generic_arches} --%nodejs_arches %{generic_arches} -+%nodejs_arches %{generic_arches} riscv64 - %ldc_arches %{generic_arches} - %mono_arches %{generic_arches} - %fpc_arches %{generic_arches} -@@ -319,11 +319,10 @@ - %GNAT_arches %{GPRbuild_arches} %{generic_arches} - %GPRbuild_arches %{generic_arches} - %nim_arches %{generic_arches} --%nodejs_arches %{generic_arches} --%ocaml_native_compiler %{generic_arches} --%ocaml_natdynlink %{generic_arches} --%ocaml_native_profiling %{generic_arches} --%openblas_arches %{generic_arches} -+%ocaml_native_compiler %{generic_arches} riscv64 -+%ocaml_natdynlink %{generic_arches} riscv64 -+%ocaml_native_profiling %{generic_arches} riscv64 -+%openblas_arches %{generic_arches} riscv64 - - #%ldconfig /sbin/ldconfig - %ldconfig_post(n:) %{?ldconfig:%post -p %ldconfig %{?*} %{-n:-n %{-n*}}\ --- -2.39.2 - diff --git a/backport-Enable-as-needed-by-default.patch b/backport-Enable-as-needed-by-default.patch deleted file mode 100644 index 182e388e18d7dd6cc88920ad1fe08ae3cec00015..0000000000000000000000000000000000000000 --- a/backport-Enable-as-needed-by-default.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 210649d3a50eb862eb95caec54c52cd1513a1dda Mon Sep 17 00:00:00 2001 -From: Igor Gnatenko -Date: Wed, 15 Aug 2018 07:00:14 +0200 -Subject: [PATCH] Enable --as-needed by default - -Conflict:adapt context -Reference:https://src.fedoraproject.org/rpms/redhat-rpm-config/c/357550f7ba4495b01399c904d389369eb0666837 - -Signed-off-by: Igor Gnatenko ---- - macros | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/macros b/macros -index cb96614..0d54994 100644 ---- a/macros -+++ b/macros -@@ -257,8 +257,8 @@ - #%_ld_strict_symbol_defs 1 - %_ld_symbols_flags %{?_ld_strict_symbol_defs:-Wl,-z,defs} - --# use "%define _ld_as_needed 1" to enable. --#%_ld_as_needed 1 -+# use "%undefine _ld_as_needed" to disable. -+%_ld_as_needed 1 - %_ld_as_needed_flags %{?_ld_as_needed:-Wl,--as-needed} - - %_general_options -O2 -g -grecord-gcc-switches -pipe -fstack-protector-strong %[ "%{toolchain}" == "clang" ? "-fgcc-compatible" : "" ] --- -2.33.0 - diff --git a/backport-kmp-feature.patch b/backport-kmp-feature.patch deleted file mode 100644 index 6525efb2ca45cba5f1c58292c0e82f4943f19460..0000000000000000000000000000000000000000 --- a/backport-kmp-feature.patch +++ /dev/null @@ -1,485 +0,0 @@ -From 3e65c85831be0b8f8e1cd43869b4991a76e14d9b Mon Sep 17 00:00:00 2001 -From: Yang Yanchao -Date: Fri, 17 Mar 2023 01:09:09 +0000 -Subject: [PATCH] backport kmp feature - -Signed-off-by: Yang Yanchao -Signed-off-by: Xinliang Liu ---- - kmodtool | 281 ++++++++++++++++++++++++++++++++++++++++++++++++++++ - kmodtool.py | 83 --------------- - macros.kmp | 85 ++++++++++++---- - 3 files changed, 350 insertions(+), 105 deletions(-) - create mode 100644 kmodtool - delete mode 100644 kmodtool.py - -diff --git a/kmodtool b/kmodtool -new file mode 100644 -index 0000000..427d1df ---- /dev/null -+++ b/kmodtool -@@ -0,0 +1,281 @@ -+#!/usr/bin/bash -+ -+# kmodtool - Helper script for building kernel module RPMs -+# Copyright (c) 2003-2006 Ville Skyttä , -+# Thorsten Leemhuis -+# Jon Masters -+# -+# Permission is hereby granted, free of charge, to any person obtaining -+# a copy of this software and associated documentation files (the -+# "Software"), to deal in the Software without restriction, including -+# without limitation the rights to use, copy, modify, merge, publish, -+# distribute, sublicense, and/or sell copies of the Software, and to -+# permit persons to whom the Software is furnished to do so, subject to -+# the following conditions: -+# -+# The above copyright notice and this permission notice shall be -+# included in all copies or substantial portions of the Software. -+# -+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -+# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -+# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -+# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -+ -+shopt -s extglob -+ -+myprog="kmodtool" -+myver="0.10.10_kmp2" -+knownvariants=@(BOOT|PAE|@(big|huge)mem|debug|enterprise|kdump|?(large)smp|uml|xen[0U]?(-PAE)|xen) -+kmod_name= -+kver= -+verrel= -+variant= -+kmp= -+ -+get_verrel () -+{ -+ verrel=${1:-$(uname -r)} -+ verrel=${verrel%%$knownvariants} -+} -+ -+print_verrel () -+{ -+ get_verrel $@ -+ echo "${verrel}" -+} -+ -+get_variant () -+{ -+ get_verrel $@ -+ variant=${1:-$(uname -r)} -+ variant=${variant##$verrel} -+ variant=${variant:-'""'} -+} -+ -+print_variant () -+{ -+ get_variant $@ -+ echo "${variant}" -+} -+ -+get_filelist() { -+ local IFS=$'\n' -+ filelist=($(cat)) -+ -+ if [ ${#filelist[@]} -gt 0 ]; -+ then -+ for ((n = 0; n < ${#filelist[@]}; n++)); -+ do -+ line="${filelist[n]}" -+ line=$(echo "$line" \ -+ | sed -e "s/%verrel/$verrel/g" \ -+ | sed -e "s/%variant/$variant/g" \ -+ | sed -e "s/%dashvariant/$dashvariant/g" \ -+ | sed -e "s/%dotvariant/$dotvariant/g" \ -+ | sed -e "s/\.%1/$dotvariant/g" \ -+ | sed -e "s/\-%1/$dotvariant/g" \ -+ | sed -e "s/%2/$verrel/g") -+ echo "$line" -+ done -+ else -+ echo "%defattr(644,root,root,755)" -+ echo "/lib/modules/${verrel}${dotvariant}" -+ fi -+} -+ -+get_rpmtemplate () -+{ -+ local variant="${1}" -+ local dashvariant="${variant:+-${variant}}" -+ case "$verrel" in -+ *.el*) kdep="kernel${dashvariant}-%{_target_cpu} = ${verrel}" ;; -+ *.EL*) kdep="kernel${dashvariant}-%{_target_cpu} = ${verrel}" ;; -+ *) kdep="kernel-%{_target_cpu} = ${verrel}${variant}" ;; -+ esac -+ -+ echo "%package -n kmod-${kmod_name}${dashvariant}" -+ -+ if [ -z "$kmp_provides_summary" ]; then -+ echo "Summary: ${kmod_name} kernel module(s)" -+ fi -+ -+ if [ -z "$kmp_provides_group" ]; then -+ echo "Group: System Environment/Kernel" -+ fi -+ -+ if [ ! -z "$kmp_version" ]; then -+ echo "Version: %{kmp_version}" -+ fi -+ -+ if [ ! -z "$kmp_release" ]; then -+ echo "Release: %{kmp_release}" -+ fi -+ -+ cat <= %{?epoch:%{epoch}:}%{version} -+# -+ -+ cat < /dev/null || : -+fi -+EOF -+ -+ if [ ! -z "$kmp" ]; then -+ cat < /var/run/rpm-kmod-${kmod_name}${dashvariant}-modules -+EOF -+ -+ fi -+ -+ cat < /dev/null || : -+EOF -+ -+ if [ ! -z "$kmp" ]; then -+ cat <&2 -+ exit 2 -+ elif [ -z "${kver}" ] ; then -+ echo "Please provide the kver as second parameter." >&2 -+ exit 2 -+ elif [ -z "${verrel}" ] ; then -+ echo "Couldn't find out the verrel." >&2 -+ exit 2 -+ fi -+ -+ for variant in "$@" ; do -+ if [ "default" == "$variant" ]; -+ then -+ get_rpmtemplate "" -+ else -+ get_rpmtemplate "${variant}" -+ fi -+ done -+} -+ -+usage () -+{ -+ cat <