From d37d3a926108b86a52d91a4c78f3bfb647b7b6a2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Elan=20Ruusam=C3=A4e?= Date: Tue, 21 Apr 2015 22:14:42 +0300 Subject: [PATCH] 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 -- 2.44.0