[packages/pld-builder] add pld-builder-chroot to sysinfo/Requirename to prevent it being removed

glen glen at pld-linux.org
Tue Apr 21 21:15:00 CEST 2015


commit d37d3a926108b86a52d91a4c78f3bfb647b7b6a2
Author: Elan Ruusamäe <glen at delfi.ee>
Date:   Tue Apr 21 22:14:42 2015 +0300

    add pld-builder-chroot to sysinfo/Requirename to prevent it being removed

 pld-builder.spec | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)
---
diff --git a/pld-builder.spec b/pld-builder.spec
index 29ed287..2e6d33f 100644
--- a/pld-builder.spec
+++ b/pld-builder.spec
@@ -3,7 +3,7 @@ Summary:	PLD Linux RPM builder environment
 Summary(pl.UTF-8):	Środowisko budowniczego pakietów RPM dla PLD
 Name:		pld-builder
 Version:	0.6.%{snap}
-Release:	1
+Release:	2
 License:	GPL
 Group:		Development/Building
 Source0:	%{name}-%{version}.tar.bz2
@@ -39,6 +39,23 @@ BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %define		_sysconfdir	/etc/pld-builder
 %define		_datadir	/usr/share/%{name}
 
+# ensure these packaegs are never removed
+%define keep_packages() { \
+	f=/etc/rpm/sysinfo/Requirename; \
+	for pkg in %*; do \
+		grep -q "^$pkg$" $f && continue; \
+		echo $pkg >> $f; \
+	done; \
+}
+
+# remove packages from keep
+%define undo_keep_packages() { \
+	f=/etc/rpm/sysinfo/Requirename; \
+	for pkg in %*; do \
+		%{__sed} -i -e "/^$pkg$/d" $f; \
+	done; \
+}
+
 %description
 PLD RPM builder environment. This is the freshest "new" builder.
 
@@ -205,10 +222,14 @@ if [ "$1" = "0" ]; then
 	%groupremove builder
 fi
 
+%post chroot
+%keep_packages pld-builder-chroot
+
 %postun chroot
 if [ "$1" = "0" ]; then
 	%userremove builder
 	%groupremove builder
+	%undo_keep_packages pld-builder-chroot
 fi
 
 %files
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/pld-builder.git/commitdiff/d37d3a926108b86a52d91a4c78f3bfb647b7b6a2



More information about the pld-cvs-commit mailing list