[packages/rpm-build-tools] Rel 8; builder: scratch macro file per minirpm() call, not ~/.builder-rpmmacros

arekm arekm at pld-linux.org
Tue Sep 8 16:24:32 CEST 2026


commit 7133570e7ed91de433cd9533ef3cf3558b777f42
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Tue Sep 8 16:19:16 2026 +0200

    Rel 8; builder: scratch macro file per minirpm() call, not ~/.builder-rpmmacros
    
    Written on every run, so it failed on a read-only $HOME.

 builder.sh           | 16 ++++++++++------
 rpm-build-tools.spec |  2 +-
 2 files changed, 11 insertions(+), 7 deletions(-)
---
diff --git a/rpm-build-tools.spec b/rpm-build-tools.spec
index 6c7a7b2..ea4663e 100644
--- a/rpm-build-tools.spec
+++ b/rpm-build-tools.spec
@@ -6,7 +6,7 @@ Summary(ru.UTF-8):	Скрипты и утилиты, необходимые дл
 Summary(uk.UTF-8):	Скрипти та утиліти, необхідні для побудови пакетів
 Name:		rpm-build-tools
 Version:	4.14
-Release:	7
+Release:	8
 License:	GPL
 Group:		Applications/File
 Source0:	builder.sh
diff --git a/builder.sh b/builder.sh
index ba60bf2..d867e67 100755
--- a/builder.sh
+++ b/builder.sh
@@ -200,10 +200,8 @@ fi
 
 if [ -n "$HOME_ETC" ]; then
 	USER_CFG="$HOME_ETC/.builderrc"
-	BUILDER_MACROS="$HOME_ETC/.builder-rpmmacros"
 else
 	USER_CFG=~/.builderrc
-	BUILDER_MACROS=~/.builder-rpmmacros
 fi
 
 [ -f "$USER_CFG" ] && . "$USER_CFG"
@@ -675,8 +673,11 @@ set_spec_target() {
 
 # runs rpm with minimal macroset
 minirpm() {
+	local macros rc
+
+	macros=$(tempfile rpmmacros) || return 1
 	# TODO: move these to /usr/lib/rpm/macros
-	cat > $BUILDER_MACROS <<'EOF'
+	cat > $macros <<'EOF'
 %x8664 x86_64 amd64 ia32e
 %alt_kernel %{nil}
 %_alt_kernel %{nil}
@@ -732,7 +733,7 @@ minirpm() {
 %pear_package_print_optionalpackages %{nil}
 EOF
 	if [ "$NOINIT" = "yes" ] ; then
-		cat >> $BUILDER_MACROS <<'EOF'
+		cat >> $macros <<'EOF'
 %_specdir ./
 %_sourcedir ./
 EOF
@@ -740,10 +741,13 @@ EOF
 	if ! is_rpmorg; then
 		local safe_macrofiles
 		safe_macrofiles=$(rpm $TARGET_SWITCH --showrc | awk -F: '/^macrofiles/ { gsub(/^macrofiles[ \t]+:/, "", $0); print $0 } ')
-		eval PATH=$CLEAN_PATH $RPMBUILD $TARGET_SWITCH --macros "$safe_macrofiles:$BUILDER_MACROS" $QUIET $RPMOPTS $RPMBUILDOPTS $BCOND $* 2>&1
+		eval PATH=$CLEAN_PATH $RPMBUILD $TARGET_SWITCH --macros "$safe_macrofiles:$macros" $QUIET $RPMOPTS $RPMBUILDOPTS $BCOND $* 2>&1
 	else
-		eval PATH=$CLEAN_PATH $RPMBUILD $TARGET_SWITCH --load "$BUILDER_MACROS" $QUIET $RPMOPTS $RPMBUILDOPTS $BCOND $* 2>&1
+		eval PATH=$CLEAN_PATH $RPMBUILD $TARGET_SWITCH --load "$macros" $QUIET $RPMOPTS $RPMBUILDOPTS $BCOND $* 2>&1
 	fi
+	rc=$?
+	rm -f "$macros"
+	return $rc
 }
 
 cache_rpm_dump() {
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/rpm-build-tools.git/commitdiff/7133570e7ed91de433cd9533ef3cf3558b777f42



More information about the pld-cvs-commit mailing list