From b1ef9afb58b2a2ba2224d777a57ffbf0666eff3f Mon Sep 17 00:00:00 2001 From: lirui Date: Thu, 28 Jan 2021 10:09:57 +0800 Subject: [PATCH] Add macros _binaries_in_noarch_packages_terminate_build and _build_id_links Some noarch packages use macro _binaries_in_noarch_packages_terminate_build to package binary files. But when rpmrebuild can't read macro _binaries_in_noarch_packages_terminate_build, it causes a problem, so add macro _binaries_in_noarch_packages_terminate_build to the noarch package. On the compilation environment, the macro _build_id_links is compat,and the compiled package does not contain build-id. But during rpmrebuild, build-id will be generated, but the buildroot directory is read-only, causing failure, so set macro _build_id_links to none --- rpmrebuild.sh | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/rpmrebuild.sh b/rpmrebuild.sh index 2da043e..8b7f33d 100755 --- a/rpmrebuild.sh +++ b/rpmrebuild.sh @@ -216,10 +216,19 @@ function RpmBuild return 1 } fi - eval $change_arch $BUILDCMD --define "'buildroot $BUILDROOT'" $rpm_defines -bb $rpm_verbose $additional ${FIC_SPEC} || { - Error "(RpmBuild) package '${PAQUET}' $BuildFailed" - return 1 - } + + # Add macros %_binaries_in_noarch_packages_terminate_build to the noarch architecture + if [ "$pac_arch" = "noarch" ]; then + eval $change_arch $BUILDCMD --define "'buildroot $BUILDROOT'" --define "'_build_id_links none'" --define "'%_binaries_in_noarch_packages_terminate_build 0'" $rpm_defines -bb $rpm_verbose $additional ${FIC_SPEC} || { + Error "package '${PAQUET}' $BuildFailed" + return 1 + } + else + eval $change_arch $BUILDCMD --define "'buildroot $BUILDROOT'" --define "'_build_id_links none'" $rpm_defines -bb $rpm_verbose $additional ${FIC_SPEC} || { + Error "package '${PAQUET}' $BuildFailed" + return 1 + } + fi return 0 } -- 2.33.0