-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

From: "Rick Farina (Zero_Chaos)" <[email protected]>

After the recent fixes which ensure the bindist use flag
is always set, users now have no way to disable this flag.
This patch introduces the new "bindist" feature, enabled by
default, which will allow users to turn off bindist if
they are not going to redistribute the builds (or for
tinderbox testing, etc).
- ---
 catalyst                        |    7 +++++++
 files/catalyst.conf             |    4 +++-
 modules/generic_stage_target.py |    5 +++--
 modules/grp_target.py           |   11 ++++++-----
 modules/livecd_stage1_target.py |    6 ++++--
 targets/stage1/stage1-chroot.sh |   10 +++++++---
 6 files changed, 30 insertions(+), 13 deletions(-)

diff --git a/catalyst b/catalyst
index 3d31599..8485984 100755
- --- a/catalyst
+++ b/catalyst
@@ -112,6 +112,13 @@ def parse_config(myconfig):
                print "Autoresuming support enabled."
                conf_values["AUTORESUME"]="1"

+       if "bindist" in string.split(conf_values["options"]):
+               print "Binary redistribution enabled"
+               conf_values["BINDIST"]="1"
+       else:
+               print "Bindist is not enabled in catalyst.conf"
+               print "Binary redistribution of generated stages/isos is 
prohibited
by law."
+
        if "ccache" in string.split(conf_values["options"]):
                print "Compiler cache support enabled."
                conf_values["CCACHE"]="1"
diff --git a/files/catalyst.conf b/files/catalyst.conf
index ea74eb1..18c6ab8 100644
- --- a/files/catalyst.conf
+++ b/files/catalyst.conf
@@ -49,6 +49,8 @@ hash_function="crc32"
 #      the -a option to the catalyst cmdline.  -p will clear the autoresume
flags
 #      as well as your pkgcache and kerncache
 #      ( This option is not fully tested, bug reports welcome )
+# bindist = enable this option when the builds will be publicly
redistributed to prevent
+       building of patent encumbered and redistribution restricted items.
 # ccache = enables build time ccache support (highly recommended)
 # distcc = enable distcc support for building. You have to set
distcc_hosts in
 #      your spec file.
@@ -64,7 +66,7 @@ hash_function="crc32"
 #      your cache. The cache is unlinked before any empty or rm processing,
though.
 #
 # (These options can be used together)
- -options="autoresume kerncache pkgcache seedcache snapcache"
+options="autoresume bindist kerncache pkgcache seedcache snapcache"

 # portdir specifies the source portage tree used by the snapshot target.
 portdir="/usr/portage"
diff --git a/modules/generic_stage_target.py
b/modules/generic_stage_target.py
index 3597680..89082c5 100644
- --- a/modules/generic_stage_target.py
+++ b/modules/generic_stage_target.py
@@ -490,8 +490,9 @@ class generic_stage_target(generic_target):
                if type(self.settings["use"])==types.StringType:
                        self.settings["use"]=self.settings["use"].split()

- -             # Force bindist for all targets
- -             self.settings["use"].append("bindist")
+               # Force bindist when options ask for it
+               if self.settings.has_key("BINDIST"):
+                       self.settings["use"].append("bindist")

        def set_stage_path(self):
                
self.settings["stage_path"]=normpath(self.settings["chroot_path"])
diff --git a/modules/grp_target.py b/modules/grp_target.py
index 12eab08..5d3af2e 100644
- --- a/modules/grp_target.py
+++ b/modules/grp_target.py
@@ -62,11 +62,12 @@ class grp_target(generic_stage_target):
                                raise CatalystError,"GRP build aborting due to 
error."

        def set_use(self):
- -         generic_stage_target.set_use(self)
- -         if self.settings.has_key("use"):
- -             self.settings["use"].append("bindist")
- -         else:
- -             self.settings["use"]=["bindist"]
+               generic_stage_target.set_use(self)
+               if self.settings.has_key("BINDIST"):
+                       if self.settings.has_key("use"):
+                               self.settings["use"].append("bindist")
+                       else:
+                               self.settings["use"]=["bindist"]

        def set_mounts(self):
            self.mounts.append("/tmp/grp")
diff --git a/modules/livecd_stage1_target.py
b/modules/livecd_stage1_target.py
index 17254bb..a27cfe4 100644
- --- a/modules/livecd_stage1_target.py
+++ b/modules/livecd_stage1_target.py
@@ -48,10 +48,12 @@ class livecd_stage1_target(generic_stage_target):
                generic_stage_target.set_use(self)
                if self.settings.has_key("use"):
                        self.settings["use"].append("livecd")
- -                     self.settings["use"].append("bindist")
+                       if self.settings.has_key("BINDIST"):
+                               self.settings["use"].append("bindist")
                else:
                        self.settings["use"]=["livecd"]
- -                     self.settings["use"].append("bindist")
+                       if self.settings.has_key("BINDIST"):
+                               self.settings["use"].append("bindist")

        def set_packages(self):
                generic_stage_target.set_packages(self)
diff --git a/targets/stage1/stage1-chroot.sh
b/targets/stage1/stage1-chroot.sh
index e40982b..8e5a492 100644
- --- a/targets/stage1/stage1-chroot.sh
+++ b/targets/stage1/stage1-chroot.sh
@@ -6,7 +6,11 @@ source /tmp/chroot-functions.sh
 export clst_buildpkgs="$(/tmp/build.py)"

 # Setup our environment
- -BOOTSTRAP_USE="$(portageq envvar BOOTSTRAP_USE)"
+if [ -n "${clst_BINDIST}" ]; then
+       BOOTSTRAP_USE="$(portageq envvar BOOTSTRAP_USE) bindist"
+else
+       BOOTSTRAP_USE="$(portageq envvar BOOTSTRAP_USE)"
+fi
 FEATURES="${clst_myfeatures} nodoc noman noinfo -news"

 ## Sanity check profile
@@ -50,8 +54,8 @@ sed -i '/USE="${USE} -build"/d' /etc/portage/make.conf

 # Now, we install our packages
 [ -e /etc/portage/make.conf ] && \
- -     echo "USE=\"-* bindist build ${BOOTSTRAP_USE} ${clst_HOSTUSE}\"" \
+       echo "USE=\"-* build ${BOOTSTRAP_USE} ${clst_HOSTUSE}\"" \
        >> /etc/portage/make.conf
 run_merge "--oneshot ${clst_buildpkgs}"
- -sed -i "/USE=\"-* bindist build ${BOOTSTRAP_USE} ${clst_HOSTUSE}\"/d" \
+sed -i "/USE=\"-* build ${BOOTSTRAP_USE} ${clst_HOSTUSE}\"/d" \
        /etc/portage/make.conf
- -- 
1.7.8.6




-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
Comment: Using GnuPG with undefined - http://www.enigmail.net/

iQIcBAEBAgAGBQJQwmEmAAoJEKXdFCfdEflKPmgP/2QG+gCEwOnrpqoSb35JWXSw
Gf2H2hLs5quTDCaJl9JKG63b8PcsA22GLKArEsdBs2eLVmgAsujj6e7Obwun4RUv
SwecZ6wty6N7p4Bvr7TWKTceWORVKWHAlDV65XXg7nE1vzjMg+uLfmuRTJMKcHYh
iQJaKOSOXNWlLWfJwZWiqWL7NoB8uf66Pq9IAEwdO54JcGxDIl/H22NW1JjB10H1
RPGTFEXpJA++1FAHqxS02cWqSK/pjzJ1qq9ibVnW0Eupp5U6F3kweAtuQ9IGy3et
LUFkhfUW+q51+LswJf75WZFfKT6lML6xf55vZ0vP1T+RByUQTD/r6QxDmO7c0cOz
Y7nMP+yT43ieRlGvJvBvE6yYPgNoTOKCDhDkteudNuY7TcqAc2ZVcX9FzR9bcG+H
HOlSK+5JnJqemIb4BIi5lUHkCjJd/LrbHl1w4qSvHGZmLBDSXxZYyVPuPuI0a5Sk
e6ZQ+0wNEqxiYlM4KMniAkuMseguJK+cp9S9bHx2ZAO+c+kbnsN6V7e2p+LBxg5s
VM7wskHuXHzlcUcEw71RMazFRs23vaEVJ7eIU1zBSFK+hxzkeM+9UJq5Bes7zu2L
JPLZsRXZbT8lkvuth4FVp0cgMlrNfWHulFoXbYckwanViA7mYzfQVXf+YTqn/bId
yi9qhh0pFwykopQ4Qson
=lnZN
-----END PGP SIGNATURE-----

Reply via email to