From: "Jorge Manuel B. S. Vicetto (jmbsvicetto)" <[email protected]>
---
catalyst | 3 +++
files/catalyst.conf | 2 ++
targets/support/unmerge.sh | 3 ++-
3 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/catalyst b/catalyst
index 9f8dd30..f885dd4 100755
--- a/catalyst
+++ b/catalyst
@@ -147,6 +147,9 @@ def parse_config(myconfig):
if "pkgcache" in string.split(conf_values["options"]):
print "Package cache support enabled."
conf_values["PKGCACHE"]="1"
+ if "preserve_libs" in string.split(conf_values["options"]);
+ print "Preserving libs during unmerge."
+ conf_values["PRESERVE_LIBS"]="1"
if "purge" in string.split(conf_values["options"]):
print "Purge support enabled."
diff --git a/files/catalyst.conf b/files/catalyst.conf
index f88f105..2983acc 100644
--- a/files/catalyst.conf
+++ b/files/catalyst.conf
@@ -59,6 +59,8 @@ hash_function="crc32"
# build stops in livecd-stage2)
# pkgcache = keeps a tbz2 of every built package (useful if your build stops
# prematurely)
+# preserve_libs = enables portage to preserve used libs when unmerging packages
+# (used on installcd-stage2 and stage4 targets)
# seedcache = use the build output of a previous target if it exists to speed
up
# the copy
# snapcache = cache the snapshot so that it can be bind-mounted into the
chroot.
diff --git a/targets/support/unmerge.sh b/targets/support/unmerge.sh
index 907113e..0c0c037 100644
--- a/targets/support/unmerge.sh
+++ b/targets/support/unmerge.sh
@@ -2,7 +2,8 @@
source /tmp/chroot-functions.sh
-FEATURES="${clst_myfeatures} preserve-libs"
+# If the user enabled PRESERVE_LIBS in options, tell portage to preserve them.
+[ -n "${clst_PRESERVE_LIBS}" ] && FEATURES="${clst_myfeatures} preserve-libs"
run_merge -C ${clst_packages}
exit 0
--
1.8.1.5