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


Reply via email to