Move the code responsible for adding additional paths to INSTALL_MASK
into portage.package.ebuild.config.
---
 bin/misc-functions.sh                | 13 -------------
 pym/portage/package/ebuild/config.py | 10 ++++++++++
 2 files changed, 10 insertions(+), 13 deletions(-)

diff --git a/bin/misc-functions.sh b/bin/misc-functions.sh
index 58755a1..b42e1d6 100755
--- a/bin/misc-functions.sh
+++ b/bin/misc-functions.sh
@@ -314,20 +314,7 @@ preinst_mask() {
        # in there in case any tools were built with -pg in CFLAGS.
        cd "${T}"
 
-       # remove man pages, info pages, docs if requested
-       local f
-       for f in man info doc; do
-               if has no${f} $FEATURES; then
-                       INSTALL_MASK="${INSTALL_MASK} /usr/share/${f}"
-               fi
-       done
-
        install_mask "${ED}" "${INSTALL_MASK}"
-
-       # remove share dir if unnessesary
-       if has nodoc $FEATURES || has noman $FEATURES || has noinfo $FEATURES; 
then
-               rmdir "${ED}usr/share" &> /dev/null
-       fi
 }
 
 preinst_sfperms() {
diff --git a/pym/portage/package/ebuild/config.py 
b/pym/portage/package/ebuild/config.py
index 45b7d08..fcc7ce5 100644
--- a/pym/portage/package/ebuild/config.py
+++ b/pym/portage/package/ebuild/config.py
@@ -1773,6 +1773,16 @@ class config(object):
                # setcpv triggers lazy instantiation of things like 
_use_manager.
                _eapi_cache.clear()
 
+               # Prepare the final value of INSTALL_MASK
+               install_mask = self["INSTALL_MASK"].split()
+               if 'nodoc' in self.features:
+                       install_mask.append("/usr/share/doc")
+               if 'noinfo' in self.features:
+                       install_mask.append("/usr/share/info")
+               if 'noman' in self.features:
+                       install_mask.append("/usr/share/man")
+               self["INSTALL_MASK"] = ' '.join(install_mask)
+
        def _grab_pkg_env(self, penv, container, protected_keys=None):
                if protected_keys is None:
                        protected_keys = ()
-- 
2.8.3


Reply via email to