diff options
author | CoprDistGit <infra@openeuler.org> | 2024-08-26 01:21:22 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2024-08-26 01:21:22 +0000 |
commit | 81447664d327096b405b13c2ecd1b100cb13afd3 (patch) | |
tree | 30f9db2c80e81bffb5dea159af15a2e93aa525af | |
parent | 8287de106c1c627906a2794637090e90d088c5cc (diff) |
automatic import of openEuler-rpm-configopeneuler22.03_LTS_SP4openeuler22.03_LTS_SP3
-rw-r--r-- | Add-support-for-selecting-clang-as-a-toolchain.patch | 113 | ||||
-rw-r--r-- | Call-set_build_flags-cc-before-build-check-and-insta.patch | 49 | ||||
-rw-r--r-- | Feature-support-EBS-sign-for-IMA-digest-list.patch | 344 | ||||
-rw-r--r-- | add-common-script.patch | 313 | ||||
-rw-r--r-- | add-loongarch64-support-for-config.guess-and-config.sub.patch | 8 | ||||
-rw-r--r-- | add-loongarch64-to-generic_arches.patch | 4 | ||||
-rw-r--r-- | add-powerpc64le-and-ppc64le-support.patch | 29 | ||||
-rw-r--r-- | add-pytest-and-tox-macros.patch | 42 | ||||
-rw-r--r-- | add-riscv64-to-some-arches-macro.patch | 12 | ||||
-rwxr-xr-x | add-sw-arch-support.patch | 63 | ||||
-rw-r--r-- | backport-Enable-as-needed-by-default.patch | 31 | ||||
-rw-r--r-- | openEuler-rpm-config-add-optflags-for-loongarch64-and-sw_64.patch | 26 | ||||
-rw-r--r-- | openEuler-rpm-config.spec | 133 |
13 files changed, 177 insertions, 990 deletions
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 c38c7cb..0000000 --- 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 <liyunfei33@huawei.com> -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 8f69298..0000000 --- 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 <liyunfei33@huawei.com> -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/Feature-support-EBS-sign-for-IMA-digest-list.patch b/Feature-support-EBS-sign-for-IMA-digest-list.patch index bd0fed0..39b6aae 100644 --- a/Feature-support-EBS-sign-for-IMA-digest-list.patch +++ b/Feature-support-EBS-sign-for-IMA-digest-list.patch @@ -4,323 +4,79 @@ Date: Mon, 12 Dec 2022 00:16:01 +0800 Subject: [PATCH] support EBS sign for IMA digest list Signed-off-by: Huaxin Lu <luhuaxin1@huawei.com> -Signed-off-by: zhangguangzhi <zhangguangzhi3@huawei.com> - --- - brp-digest-list | 46 +++++----- - brp-ebs-sign | 238 ++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 262 insertions(+), 22 deletions(-) + brp-digest-list | 16 ++++++++++++++++ + brp-ebs-sign | 34 ++++++++++++++++++++++++++++++++++ + 2 files changed, 50 insertions(+) create mode 100644 brp-ebs-sign diff --git a/brp-digest-list b/brp-digest-list -index e698b7a..d1e2600 100644 +index e698b7a..9ec50a2 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 +@@ -84,6 +84,22 @@ if [[ "$(basename $BIN_PKG_FILES)" =~ "digest-list-tools" && \ + 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 -- 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 ++ for f in $(ls $DIGEST_LIST_DIR); do ++ sh /usr/lib/rpm/brp-ebs-sign $DIGEST_LIST_DIR/$f &> /dev/null ++ [ -f $DIGEST_LIST_DIR/$f.sig ] || exit 0 ++ chmod 644 $DIGEST_LIST_DIR/$f.sig ++ mv $DIGEST_LIST_DIR/$f.sig $DIGEST_LIST_DIR.sig/$f.sig ++ echo $DIGEST_LIST_DIR.sig/$f.sig ++ done ++ exit 0 ++ fi + -+# 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 ++ # 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 + export BRP_PESIGN_FILES="$2/etc/ima/digest_lists/*" diff --git a/brp-ebs-sign b/brp-ebs-sign new file mode 100644 -index 0000000..a7a83e5 +index 0000000..662a9f7 --- /dev/null +++ b/brp-ebs-sign -@@ -0,0 +1,238 @@ +@@ -0,0 +1,34 @@ +#!/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 ++# config ++PUBLISHER_ADDR="http://${PUBLISHER_HOST}:${PUBLISHER_PORT}/sign-files" ++POST_KEY_BASE64="encoded_file_content" ++POST_KEY_MD5="file_md5" ++REQ_KEY_BASE64="signed_file_content" ++REQ_KEY_MD5="signed_file_md5" + -+# Tool functions for JSON ++# function definition +get_json_value(){ -+ echo "$1" | \ -+ awk -F "[{,:}]" '{for(i=1;i<NF;i++){if($i~"'$2'"){print $(i+1)}}}' | \ -+ sed 's/\"//g' -+} -+ -+get_post_json() { -+ printf '{' -+ printf '"file_sha256":"%s",' $POST_FILE_SHA256 -+ printf '"key_name":"%s",' $POST_KEY_NAME -+ printf '"key_type":"%s",' $POST_KEY_TYPE -+ printf '"file_type":"%s",' $POST_FILE_TYPE -+ printf '"sign_type":"%s",' $POST_SIGN_TYPE -+ printf '"job_id":"%s",' $POST_JOB_ID -+ printf '"os_project":"%s"' $POST_OS_ORIJECT -+ printf '}' ++ echo "$1" | awk -F "[{,:}]" '{for(i=1;i<NF;i++){if($i~"'$2'"){print $(i+1)}}}' | sed 's/\"//g' +} + -+# Prepare sign functions for each sign type -+module_sign_pre() { -+ if [[ "$INPUT_FILE" != *.ko ]]; then -+ echo "The module file must has the .ko extension" -+ return 1 -+ fi -+ -+ SIGN_FILE="$INPUT_FILE" -+ POST_KEY_NAME="openeuler-kernel-module-ee" -+ POST_KEY_TYPE="x509ee" -+ POST_FILE_TYPE="kernel-module" -+ POST_SIGN_TYPE="cms" -+} ++file="$1" ++file_base64="$(base64 -w0 $file)" ++file_md5="$(md5sum $file | awk '{printf $1}')" ++json="{\"$POST_KEY_BASE64\":\"$file_base64\", \"$POST_KEY_MD5\":\"$file_md5\"}" + -+ima_digestlist_sign_pre() { -+ cp -f $INPUT_FILE $INPUT_FILE.ko -+ SIGN_FILE="$INPUT_FILE.ko" -+ POST_KEY_NAME="openeuler-ima-ee" -+ POST_KEY_TYPE="x509ee" -+ POST_FILE_TYPE="kernel-module" -+ POST_SIGN_TYPE="cms" -+} ++req="$(curl -X POST "$PUBLISHER_ADDR" -H 'Content-Type: application/json' -d "$json")" ++[ $? -eq 0 ] || { echo "Fail to post sign service, REQ="; echo "req"; exit 1; } + -+efi_sign_pre() { -+ SIGN_FILE="$INPUT_FILE" -+ POST_KEY_NAME="default-x509ee" -+ POST_KEY_TYPE="x509ee" -+ POST_FILE_TYPE="efi-image" -+ POST_SIGN_TYPE="authenticode" -+} -+ -+kernel_sign_pre() { -+ SIGN_FILE="$INPUT_FILE" -+ POST_KEY_NAME="default-x509ee" -+ POST_KEY_TYPE="x509ee" -+ POST_FILE_TYPE="efi-image" -+ POST_SIGN_TYPE="authenticode" -+} ++sig_base64=$(get_json_value "$req" "$REQ_KEY_BASE64") ++[ $? -eq 0 ] || { echo "Fail to parser $REQ_KEY_BASE64"; exit 1; } ++echo -e "$sig_base64" | base64 -d > $file.sig ++[ $? -eq 0 ] || { echo "Fail to decode value of $key"; exit 1; } + -+# Post sign functions for each sign type -+module_sign_post() { -+ : -+} -+ -+ima_digestlist_sign_post() { -+ rm -f $INPUT_FILE.ko -+} -+ -+efi_sign_post() { -+ : -+} -+ -+kernel_sign_post() { -+ : -+} -+ -+# Global configuration -+sign_config() { -+ if [ -z "$INPUT_TYPE" ] || [ -z "$INPUT_FILE" ]; then -+ echo "Please input the sign type and file" -+ exit 1 -+ fi -+ -+ if [ ! -f "$INPUT_FILE" ]; then -+ echo "The input file is invalid" -+ exit 1 -+ fi -+ -+ POST_FILE_SHA256=$(sha256sum "$INPUT_FILE" | awk '{ print $1 }') -+ if [ $? -ne 0 ]; then -+ echo "Failed to calculate file hash" -+ fi -+ -+ PUBLISHER_HOST=$(grep PUBLISHER_HOST $PROJECT_CONF | awk '{print $2}') -+ PUBLISHER_PORT=$(grep PUBLISHER_PORT $PROJECT_CONF | awk '{print $2}') -+ if [ -z "$PUBLISHER_HOST" ] || [ -z "$PUBLISHER_PORT" ]; then -+ echo "Please set PUBLISHER_HOST and PUBLISHER_PORT" -+ exit 1 -+ fi -+ -+ POST_ADDR="http://${PUBLISHER_HOST}:${PUBLISHER_PORT}/code-sign" -+ -+ POST_JOB_ID="$(grep -rwn 'id\:' $PROJECT_CONF | awk '{print $2}')" -+ POST_OS_ORIJECT="$(grep -rwn 'os_project\:' $PROJECT_CONF | awk '{print $2}')" -+ if [ -z "$POST_JOB_ID" ] || [ -z "$POST_OS_ORIJECT" ]; then -+ echo "Failed to get POST_JOB_ID and POST_OS_ORIJECT" -+ exit 1 -+ fi -+} -+ -+sign_pre() { -+ sign_config -+ -+ case $INPUT_TYPE in -+ --efi) -+ efi_sign_pre -+ ;; -+ --module) -+ module_sign_pre -+ ;; -+ --ima-digestlist) -+ ima_digestlist_sign_pre -+ ;; -+ --kernel) -+ kernel_sign_pre -+ ;; -+ *) -+ echo "Unsupported sign type: $INPUT_TYPE" -+ exit 1 -+ ;; -+ esac -+} -+ -+sign() { -+ # 1. send the request to the sign service -+ # echo "curl "$POST_ADDR" \ -+ # -F "file=@$SIGN_FILE" \ -+ # -F "data=$(get_post_json);type=application/json"" -+ req="$(curl "$POST_ADDR" \ -+ -F "file=@$SIGN_FILE" \ -+ -F "data=$(get_post_json);type=application/json")" -+ if [ $? -ne 0 ]; then -+ echo "Failed to post the sign service" -+ return 1 -+ fi -+ -+ req_err_msg=$(get_json_value "$req" "err_msg") -+ if [ -n "$req_err_msg" ]; then -+ echo "Failed, err_msg: [$req_err_msg]" -+ if [ "$req_err_msg" == "SIGN_PERMISSION_DENIED" ]; then -+ return $FAILED_SIGN_PERMISSION_DENIED -+ fi -+ return 1 -+ fi -+ -+ # 2. write the file content -+ encoded_file_content=$(get_json_value "$req" "encoded_file_content") -+ if [ $? -ne 0 ]; then -+ echo "Failed to get encoded file content" -+ return 1 -+ fi -+ -+ echo -ne "$encoded_file_content" | base64 -d > $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 ++sig_md5=$(get_json_value "$req" "$REQ_KEY_MD5") ++[ $? -eq 0 ] || { echo "Fail to parser $REQ_KEY_MD5"; exit 1; } ++md5sum $file.sig | grep "$sig_md5" ++[ $? -eq 0 ] || { echo "Fail to check md5 of $file.sig"; exit 1; } + -+sign_post -+exit $SIGN_RESULT ++echo "Sign $file ok!" ++exit 0 -- 2.33.0 diff --git a/add-common-script.patch b/add-common-script.patch deleted file mode 100644 index bb7892e..0000000 --- a/add-common-script.patch +++ /dev/null @@ -1,313 +0,0 @@ -From 4db504b19f6dd04a44e46b43b3aff4e6cab9214d Mon Sep 17 00:00:00 2001 -From: wangkerong <wangkerong@huawei.com> -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<root> to -+-- <root><suffix> 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 -+-- <rpmvar><suffix>, 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 -+-- <rpmvar><suffix> 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 <rpmvar><suffix> 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 index acc2f83..9dcec43 100644 --- a/add-loongarch64-support-for-config.guess-and-config.sub.patch +++ b/add-loongarch64-support-for-config.guess-and-config.sub.patch @@ -1,8 +1,8 @@ diff --git a/config.guess b/config.guess -index 463631a..2985f85 100644 +index 0ff02d1..1caf3a6 100644 --- a/config.guess +++ b/config.guess -@@ -975,6 +975,9 @@ EOF +@@ -983,6 +983,9 @@ EOF k1om:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; @@ -13,10 +13,10 @@ index 463631a..2985f85 100644 echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; diff --git a/config.sub b/config.sub -index 39dbf60..39870d3 100644 +index 6107010..aca1d40 100644 --- a/config.sub +++ b/config.sub -@@ -268,6 +268,7 @@ case $basic_machine in +@@ -269,6 +269,7 @@ case $basic_machine in | k1om \ | le32 | le64 \ | lm32 \ diff --git a/add-loongarch64-to-generic_arches.patch b/add-loongarch64-to-generic_arches.patch index cf3dc63..5a911c1 100644 --- a/add-loongarch64-to-generic_arches.patch +++ b/add-loongarch64-to-generic_arches.patch @@ -6,8 +6,8 @@ index d6b2c80..a66eb2e 100644 %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 +-%generic_arches %{ix86} x86_64 %{arm} aarch64 sw_64 ++%generic_arches %{ix86} x86_64 %{arm} aarch64 sw_64 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 index 8840182..9c0cd9d 100644 --- a/add-powerpc64le-and-ppc64le-support.patch +++ b/add-powerpc64le-and-ppc64le-support.patch @@ -1,39 +1,38 @@ -From c6d355a6997ac10403181015b5ca9d17dcf8d1a7 Mon Sep 17 00:00:00 2001 -From: JianChunfu <chunfu.jian@shingroup.cn> -Date: Tue, 24 Oct 2023 18:38:38 +0800 +From fc04d33640534f5046210b4cb60fd4c595955781 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=E9=82=B9=E9=B9=8F?= <peng.zou@shingroup.cn> +Date: Thu, 22 Feb 2024 14:42:38 +0800 Subject: [PATCH] add powerpc64le and ppc64le support --- macros | 2 +- - rpmrc | 2 ++ - 2 files changed, 3 insertions(+), 1 deletion(-) + rpmrc | 1 + + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/macros b/macros -index 5c7447b..38dc694 100644 +index d241ce3..ddee753 100644 --- a/macros +++ b/macros -@@ -225,7 +225,7 @@ +@@ -241,7 +241,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 +-%generic_arches %{ix86} x86_64 %{arm} aarch64 sw_64 loongarch64 ++%generic_arches %{ix86} x86_64 %{arm} aarch64 sw_64 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 +index 8ba756d..6a29bcb 100644 --- a/rpmrc +++ b/rpmrc -@@ -8,6 +8,8 @@ optflags: x86_64 %{__global_compiler_flags} -m64 -mtune=generic -fasynchronous-u +@@ -7,6 +7,7 @@ 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-pytest-and-tox-macros.patch b/add-pytest-and-tox-macros.patch deleted file mode 100644 index b76444e..0000000 --- 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 <dxwangk@isoftstone.com> -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 index 987acea..0dca59b 100644 --- a/add-riscv64-to-some-arches-macro.patch +++ b/add-riscv64-to-some-arches-macro.patch @@ -1,6 +1,6 @@ -From 09e746df9d0c333fef9aabcec3047f68c9d1fc60 Mon Sep 17 00:00:00 2001 +From 7332245a8f59de83485208282f2a15beaf5e544f Mon Sep 17 00:00:00 2001 From: laokz <zhangkai@iscas.ac.cn> -Date: Sat, 27 Apr 2024 15:09:30 +0800 +Date: Tue, 7 May 2024 10:21:52 +0800 Subject: [PATCH] add riscv64 to some arches macro --- @@ -8,11 +8,11 @@ Subject: [PATCH] add riscv64 to some arches macro 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/macros b/macros -index 218cd23..c609e85 100644 +index ddee753..bf82bc5 100644 --- a/macros +++ b/macros -@@ -310,7 +310,7 @@ - %generic_arches %{ix86} x86_64 %{arm} aarch64 loongarch64 powerpc64le ppc64le +@@ -244,7 +244,7 @@ + %generic_arches %{ix86} x86_64 %{arm} aarch64 sw_64 loongarch64 powerpc64le ppc64le %ldc_arches %{generic_arches} %valgrind_arches %{generic_arches} -%nodejs_arches %{generic_arches} @@ -20,7 +20,7 @@ index 218cd23..c609e85 100644 %ldc_arches %{generic_arches} %mono_arches %{generic_arches} %fpc_arches %{generic_arches} -@@ -319,11 +319,10 @@ +@@ -253,11 +253,10 @@ %GNAT_arches %{GPRbuild_arches} %{generic_arches} %GPRbuild_arches %{generic_arches} %nim_arches %{generic_arches} diff --git a/add-sw-arch-support.patch b/add-sw-arch-support.patch new file mode 100755 index 0000000..844a22d --- /dev/null +++ b/add-sw-arch-support.patch @@ -0,0 +1,63 @@ +diff -Naur openEuler-rpm-config.org/config.guess openEuler-rpm-config.sw/config.guess +--- openEuler-rpm-config.org/config.guess 2022-09-28 02:14:20.761824000 +0000 ++++ openEuler-rpm-config.sw/config.guess 2022-09-28 02:15:03.761824000 +0000 +@@ -915,6 +915,14 @@ + UNAME_MACHINE=aarch64_be + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; ++ sw_64:Linux:*:*) ++ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in ++ sw) UNAME_MACHINE=sw_64 ;; ++ esac ++ objdump --private-headers /bin/sh | grep -q ld.so.1 ++ if test "$?" = 0 ; then LIBC=gnulibc1 ; fi ++ echo ${UNAME_MACHINE}-sunway-linux-${LIBC} ++ exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; +@@ -1459,4 +1467,4 @@ + # time-stamp-start: "timestamp='" + # time-stamp-format: "%:y-%02m-%02d" + # time-stamp-end: "'" +-# End: +\ No newline at end of file ++# End: +diff -Naur openEuler-rpm-config.org/config.sub openEuler-rpm-config.sw/config.sub +--- openEuler-rpm-config.org/config.sub 2022-09-28 02:14:20.761824000 +0000 ++++ openEuler-rpm-config.sw/config.sub 2022-09-28 02:24:48.291824000 +0000 +@@ -247,6 +247,7 @@ + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ ++ | sw_64 \ + | aarch64 | aarch64_be \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ +@@ -370,6 +371,7 @@ + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ ++ | sw_64-* \ + | aarch64-* | aarch64_be-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ +@@ -1820,4 +1822,4 @@ + # time-stamp-start: "timestamp='" + # time-stamp-format: "%:y-%02m-%02d" + # time-stamp-end: "'" +-# End: +\ No newline at end of file ++# End: +diff -Naur openEuler-rpm-config.org/macros openEuler-rpm-config.sw/macros +--- openEuler-rpm-config.org/macros 2022-09-28 02:14:20.761824000 +0000 ++++ openEuler-rpm-config.sw/macros 2022-09-28 02:15:49.081824000 +0000 +@@ -225,7 +225,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 sw_64 + %ldc_arches %{generic_arches} + %valgrind_arches %{generic_arches} + %nodejs_arches %{generic_arches} diff --git a/backport-Enable-as-needed-by-default.patch b/backport-Enable-as-needed-by-default.patch deleted file mode 100644 index 182e388..0000000 --- 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 <ignatenkobrain@fedoraproject.org> -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 <ignatenkobrain@fedoraproject.org> ---- - 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/openEuler-rpm-config-add-optflags-for-loongarch64-and-sw_64.patch b/openEuler-rpm-config-add-optflags-for-loongarch64-and-sw_64.patch deleted file mode 100644 index a50dd54..0000000 --- a/openEuler-rpm-config-add-optflags-for-loongarch64-and-sw_64.patch +++ /dev/null @@ -1,26 +0,0 @@ -From ed8b90665c3bda8ca6bea1bf541e0232f03fb371 Mon Sep 17 00:00:00 2001 -From: yueyuankun <yueyuankun@kylinos.cn> -Date: Fri, 15 Mar 2024 11:17:38 +0800 -Subject: [PATCH] add optflags for loongarch64 and sw_64 - ---- - rpmrc | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/rpmrc b/rpmrc -index 10d7c86..45840e6 100644 ---- a/rpmrc -+++ b/rpmrc -@@ -8,6 +8,9 @@ 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: loongarch64 %{__global_compiler_flags} -fasynchronous-unwind-tables -fstack-clash-protection -+optflags: sw_64 %{__global_compiler_flags} -fasynchronous-unwind-tables -fstack-clash-protection -+ - optflags: ppc64le %{__global_compiler_flags} -fasynchronous-unwind-tables -fstack-clash-protection - - buildarchtranslate: athlon: i686 --- -2.43.0 - diff --git a/openEuler-rpm-config.spec b/openEuler-rpm-config.spec index b6d62ff..441ccaf 100644 --- a/openEuler-rpm-config.spec +++ b/openEuler-rpm-config.spec @@ -3,7 +3,7 @@ Name: %{vendor}-rpm-config Version: 30 -Release: 58 +Release: 42 License: GPL+ Summary: specific rpm configuration files URL: https://gitee.com/openeuler/openEuler-rpm-config @@ -17,29 +17,24 @@ Patch3: change-the-vendor-to-generic-for-common-use.patch Patch4: remove-fexceptions.patch Patch5: exclude-kernel-source-and-EFI-files-in-digest-list-building.patch Patch6: add-brp-scripts-to-delete-rpath.patch -Patch7: add-common-script.patch -Patch8: Fix-python3_version-macros-for-Python-3.10.patch -Patch9: Give-a-warning-when-using-kabi-outside-our-stablelis.patch -Patch10: fixed-a-bug-that-missing_-p-in-macros.kmp.patch +Patch7: Fix-python3_version-macros-for-Python-3.10.patch +Patch8: Give-a-warning-when-using-kabi-outside-our-stablelis.patch +Patch9: fixed-a-bug-that-missing_-p-in-macros.kmp.patch +Patch10: add-sw-arch-support.patch Patch11: update-config.guess-and-config.sub-for-loongarch64.patch Patch12: add-loongarch64-to-generic_arches.patch -Patch13: add-loongarch64-support-for-config.guess-and-config.sub.patch +Patch13: add-loongarch64-support-for-config.guess-and-config.sub.patch Patch14: backport-kmp-feature.patch Patch15: 0001-add-loongarch64-for-golang_arches.patch Patch16: fix-config-error-for-loongarch64.patch Patch17: Feature-support-EBS-sign-for-IMA-digest-list.patch Patch18: fix-brp-ldconfig-riscv-default-library-directory.patch -Patch19: add-pyproject-macros.patch -Patch20: add-pytest-and-tox-macros.patch -Patch21: check-if-the-file-is-a-symbolic-link-in-brp-digest-list.patch -Patch22: fix-the-ELF-file-cannot-be-found-due-to-escape-of.patch -Patch23: add-powerpc64le-and-ppc64le-support.patch -Patch24: Delete-the-commented-code.patch -Patch25: Add-support-for-selecting-clang-as-a-toolchain.patch -Patch26: Call-set_build_flags-cc-before-build-check-and-insta.patch -Patch27: openEuler-rpm-config-add-optflags-for-loongarch64-and-sw_64.patch -Patch28: add-riscv64-to-some-arches-macro.patch -Patch29: backport-Enable-as-needed-by-default.patch +Patch19: check-if-the-file-is-a-symbolic-link-in-brp-digest-list.patch +Patch20: fix-the-ELF-file-cannot-be-found-due-to-escape-of.patch +Patch21: add-powerpc64le-and-ppc64le-support.patch +Patch22: Delete-the-commented-code.patch +Patch23: add-riscv64-to-some-arches-macro.patch +Patch24: add-pyproject-macros.patch Provides: python-rpm-macros = %{?epoch:%{epoch}:}%{version}-%{release} Provides: python2-rpm-macros = %{?epoch:%{epoch}:}%{version}-%{release} @@ -125,9 +120,6 @@ install -p -m 644 -t %{buildroot}%{_rpmconfigdir}/macros.d/ macros.perl macros.p mkdir -p %{buildroot}%{_fileattrsdir} -mkdir -p %{buildroot}%{_rpmluadir}/%{_vendor}/{rpm,srpm} -install -p -m 644 -t %{buildroot}%{_rpmluadir}/%{_vendor} common.lua - # Adaptive according to vendor sed -i "s/__vendor/%{vendor}/g" `grep "__vendor" -rl %{buildroot}%{_rpmconfigdir}` @@ -140,7 +132,6 @@ sed -i "s/__vendor/%{vendor}/g" `grep "__vendor" -rl %{buildroot}%{_rpmconfigdir %{_rpmconfigdir}/generic-* %{_fileattrsdir}/ %{_rpmconfigdir}/macros.d/ -%{_rpmluadir}/%{_vendor}/*.lua %exclude %{_rpmconfigdir}/macros.d/macros.kmp %files -n kernel-rpm-macros @@ -151,116 +142,68 @@ sed -i "s/__vendor/%{vendor}/g" `grep "__vendor" -rl %{buildroot}%{_rpmconfigdir %{rpmvdir}/find-requires.ksyms %changelog -* Tue Aug 6 2024 liyunfei <liyunfei33@huawei.com> - 30-58 -- Fix for "%undefine _auto_set_build_XX" usage - -* Wed Jul 10 2024 xujing <xujing125@huawei.com> - 30-57 -- enable --as-needed by default - -* Mon Apr 29 2024 xujing <xujing125@huawei.com> - 30-56 -- don't delete the commented code in macros - -* Sun Apr 28 2024 laokz <zhangkai@iscas.ac.cn> - 30-55 +* Tue May 07 2024 laokz <zhangkai@iscas.ac.cn> - 30-42 - add riscv64 to some arches macro -* Sun Apr 7 2024 zhangguangzhi <zhangguangzhi3@huawei.com> - 30-54 -- ima digest list ebs sign ret 2 when errmsg is SIGN_PERMISSION_DENIED - -* Fri Mar 29 2024 zhangguangzhi <zhangguangzhi3@huawei.com> - 30-53 -- ima digest list ebs sign use file path and check errmsg - -* Fri Mar 22 2024 zhangguangzhi <zhangguangzhi3@huawei.com> - 30-52 -- ima digest list ebs sign support modsig - -* Fri Mar 15 2024 yueyuankun <yueyuankun@kylinos.cn> - 30-51 -- Add optflags for loongarch64 and sw_64 - -* Tue Mar 12 2024 liyunfei <liyunfei33@huawei.com> - 30-50 -- Add clang toolchain support +* Mon Apr 29 2024 xujing <xujing125@huawei.com> - 30-41 +- don't delete the commented code in macros -* Tue Mar 5 2024 hongjinghao <hongjinghao@huawei.com> - 30-49 +* Tue Mar 5 2024 hongjinghao <hongjinghao@huawei.com> - 30-40 - Delete the commented code -* Tue Feb 20 2024 peng.zou <peng.zou@shingroup.cn> - 30-48 -- add powerpc64le to generic_arches - -* Mon Dec 11 2023 jiahua.yu <jiahua.yu@shingroup.cn> - 30-47 -- Init support for arch ppc64le +* Thu Feb 22 2024 peng.zou <peng.zou@shingroup.cn> - 30-39 +- add powerpc64le and ppc64le support -* Wed Nov 22 2023 xujing <xujing125@huawei.com> - 30-46 +* Tue Nov 21 2023 xujing <xujing125@huawei.com> - 30-38 - add the scanning path of the rpath fix the ELF file cannot be found due to escape of '\' excute brp_chrpath before arch_install_post -* Fri Nov 03 2023 fuanan <fuanan3@h-partners.com> - 30-45 +* Fri Nov 03 2023 fuanan <fuanan3@h-partners.com> - 30-37 - check if the file is a symbolic link in brp-digest-list -* Thu Nov 2 2023 Yang Yanchao <yangyanchao6@huawei.com> - 30-44 +* Thu Nov 2 2023 Yang Yanchao <yangyanchao6@huawei.com> - 30-36 - kmodtool: use tmp.$$ instand of tmp.txt -* Mon Aug 28 2023 liyunfei <liyunfei33@huawei.com> - 30-43 -- Revert backport toolchain selecting and %%auto_set_build_flags patches - -* Thu Aug 17 2023 liyunfei <liyunfei33@huawei.com> - 30-42 -- Backport Call %%set_build_flags before %%build, %%check, and %%install stages - -* Thu Aug 17 2023 liyunfei <liyunfei33@huawei.com> - 30-41 -- Backport Add support for selecting a clang as a tool - -* Mon Jul 24 2023 Dongxing Wang <dxwangk@isoftstone.com> - 30-40 -- add pytest and tox macros - -* Thu May 11 2023 caodongxia <caodongxia@h-partners.com> - 30-39 -- improve pyproject_install macro - -* Thu Apr 20 2023 caodongxia <caodongxia@h-partners.com> - 30-38 -- support pyproject compilation - -* Fri Mar 24 2023 laokz <zhangkai@iscas.ac.cn> - 30-37 +* Mon Apr 10 2023 laokz <zhangkai@iscas.ac.cn> - 30-35 - fix riscv64 default library directory of brp-ldconfig -* Fri Mar 17 2023 Xinliang Liu <xinliang.liu@linaro.org> - 30-36 -- Fix kmod rpm install failed. +* Tue Mar 28 2023 Xinliang Liu <xinliang.liu@linaro.org> - 30-34 +- Fix kmod install failed. -* Sat Jan 14 2023 luhuaxin <luhuaxin1@huawei.com> - 30-35 +* Wed Dec 21 2022 luhuaxin <luhuaxin1@huawei.com> - 30-33 - support EBS sign -* Wed Dec 14 2022 huajingyun <huajingyun@loongson.cn> - 30-34 +* Wed Dec 14 2022 huajingyun <huajingyun@loongson.cn> - 30-32 - fix config error for loongarch64 -* Tue Dec 13 2022 Wenlong Zhang <zhangwenlong@loongson.cn> - 30-33 +* Tue Dec 13 2022 Wenlong Zhang <zhangwenlong@loongson.cn> - 30-31 - add loongarch64 for golang_arches -* Wed Dec 7 2022 yangmingtai <yangmingtai@huawei.com> - 30-32 +* Wed Dec 7 2022 yangmingtai <yangmingtai@huawei.com> - 30-30 - fix latest_kernel macro -* Wed Dec 7 2022 Yang Yanchao <yangyanchao6@huawei.com> - 30-31 +* Wed Dec 7 2022 Yang Yanchao <yangyanchao6@huawei.com> - 30-29 - backport kmp feature -* Wed Nov 30 2022 yangmingtai <yangmingtai@huawei.com> - 30-30 -- support Adaptive according to vendor +* Wed Nov 30 2022 yangmingtai <yangmingtai@huawei.com> - 30-28 +- support adaptive according to vendor -* Mon Nov 21 2022 huajingyun <huajingyun@loongson.cn> - 30-29 +* Mon Nov 21 2022 huajingyun <huajingyun@loongson.cn> - 30-27 - add loongarch64 support -* Wed Oct 12 2022 yangmingtai <yangmingtai@huawei.com> - 30-28 +* Mon Oct 24 2022 wuzx<wuzx1226@qq.com> - 30-26 +- Add sw64 architecture + +* Wed Oct 12 2022 yangmingtai <yangmingtai@huawei.com> - 30-25 - macro.kmp support -p preamble -* Thu Sep 8 2022 yangmingtai <yangmingtai@huawei.com> - 30-27 +* Thu Sep 8 2022 yangmingtai <yangmingtai@huawei.com> - 30-24 - add find-requires and find-requires.ksyms -* Mon Jun 13 2022 yangmingtai <yangmingtai@huawei.com> - 30-26 -- fix build failed, bare words are no longer supported - -* Mon Dec 13 2021 Liu Zixian <liuzixian4@huawei.com> - 30-25 +* Fri Jan 21 2022 Liu Zixian <liuzixian4@huawei.com> - 30-23 - fix python macros -* Fri Nov 26 2021 shixuantong <shixuantong@huawei.com> - 30-24 -- update the definition of python3_version - -* Wed Oct 13 2021 wangkerong <wangkerong@huawei.com> - 30-23 -- add common lua scripts resolve "%fontpkg" macro translation failure - * Sat Sep 4 2021 yangmingtai <yangmingtai@huawei.com> - 30-22 - add brp scripts to delete rpath |