For bug #182428, make quickpkg use a more secure umask by default and allow it to...
authorZac Medico <zmedico@gentoo.org>
Tue, 19 Jun 2007 09:36:42 +0000 (09:36 -0000)
committerZac Medico <zmedico@gentoo.org>
Tue, 19 Jun 2007 09:36:42 +0000 (09:36 -0000)
svn path=/main/branches/2.1.2/; revision=6872

bin/quickpkg

index 1cce8c34045a9f475d8d8ed2a6ead5ca063ae36e..224f236b2baf97efb626e32333384a662e8ca55e 100755 (executable)
@@ -173,11 +173,20 @@ if __name__ == "__main__":
        usage = "Usage: quickpkg [options] <list of package atoms>"
        from optparse import OptionParser
        parser = OptionParser(usage=usage)
-       options, args = parser.parse_args(sys.argv[1:])
+       parser.add_option("--umask",
+               default="0077",
+               help="umask used during package creation (default is 0077)")
+       from portage import settings
+       default_opts = settings.get("QUICKPKG_DEFAULT_OPTS","").split()
+       options, args = parser.parse_args(default_opts + sys.argv[1:])
        if not args:
                parser.error("no packages atoms given")
+       try:
+               umask = int(options.umask, 8)
+       except ValueError:
+               parser.error("invalid umask: %s" % options.umask)
        # We need to ensure a sane umask for the packages that will be created.
-       old_umask = os.umask(022)
+       old_umask = os.umask(umask)
        from output import get_term_size, EOutput
        eout = EOutput()
        def sigwinch_handler(signum, frame):