From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 7FFD71381F3 for ; Wed, 11 Sep 2013 10:19:05 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 7B8E0E0B9B; Wed, 11 Sep 2013 10:19:04 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id D650FE0B97 for ; Wed, 11 Sep 2013 10:19:03 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id BE66433E96D for ; Wed, 11 Sep 2013 10:19:02 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id 60022E468F for ; Wed, 11 Sep 2013 10:19:01 +0000 (UTC) From: "André Erdmann" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "André Erdmann" Message-ID: <1378887495.b403b6a3793ff4cca02700da1da0d2b78505956b.dywi@gentoo> Subject: [gentoo-commits] proj/R_overlay:master commit in: roverlay/ X-VCS-Repository: proj/R_overlay X-VCS-Files: roverlay/argparser.py roverlay/defaultscript.py X-VCS-Directories: roverlay/ X-VCS-Committer: dywi X-VCS-Committer-Name: André Erdmann X-VCS-Revision: b403b6a3793ff4cca02700da1da0d2b78505956b X-VCS-Branch: master Date: Wed, 11 Sep 2013 10:19:01 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: be6098f1-7a0e-4bde-9c40-a2fbe26b59e0 X-Archives-Hash: b70eb198e92e55109bd38a985bd2bed6 commit: b403b6a3793ff4cca02700da1da0d2b78505956b Author: André Erdmann mailerd de> AuthorDate: Wed Sep 11 08:18:15 2013 +0000 Commit: André Erdmann mailerd de> CommitDate: Wed Sep 11 08:18:15 2013 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=b403b6a3 remove setupdirs command from roverlay.py It's now part of the roverlay setup script. --- roverlay/argparser.py | 25 ++------------------ roverlay/defaultscript.py | 60 +---------------------------------------------- 2 files changed, 3 insertions(+), 82 deletions(-) diff --git a/roverlay/argparser.py b/roverlay/argparser.py index a08cf00..1304874 100644 --- a/roverlay/argparser.py +++ b/roverlay/argparser.py @@ -684,7 +684,7 @@ class RoverlayMainArgumentParser ( RoverlayArgumentParser ): SETUP_TARGETS = ( 'version', 'actions', 'config', 'overlay', 'remote', - 'overlay_creation', 'setupdirs', 'additional_actions', 'misc', + 'overlay_creation', 'additional_actions', 'misc', ) PARSE_TARGETS = ( 'actions', 'config', ) @@ -704,7 +704,6 @@ class RoverlayMainArgumentParser ( RoverlayArgumentParser ): 'apply_rules', 'apply package rules verbosely and exit afterwards' ), - ( 'setupdirs', 'create configured directories etc.' ), ( 'distmap_rebuild', 'regenerate distmap' ), )) @@ -716,7 +715,7 @@ class RoverlayMainArgumentParser ( RoverlayArgumentParser ): if command == 'nop': roverlay.core.die ( "Nothing to do!", roverlay.core.DIE.NOP ) - elif command in { 'setupdirs', 'distmap_rebuild' }: + elif command in { 'distmap_rebuild', }: self.parsed ['want_logging'] = False self.parsed ['load_main_only'] = True @@ -735,26 +734,6 @@ class RoverlayMainArgumentParser ( RoverlayArgumentParser ): self.command = command # --- end of parse_actions (...) --- - def setup_setupdirs ( self ): - arg = self.add_argument_group ( - 'setupdirs', title='setupdirs options', - ) - - arg ( - '--target-uid', dest='target_uid', default=os.getuid(), - metavar='', type=is_uid, flags=self.ARG_WITH_DEFAULT, - help='uid of the user that will run roverlay', - ) - arg ( - '--target-gid', dest='target_gid', default=os.getgid(), - metavar='', type=is_gid, flags=self.ARG_WITH_DEFAULT, - help='gid of the user that will run roverlay', - ) - - - return arg - # --- end of setup_setupdirs (...) --- - def setup_additional_actions ( self ): arg = self.add_argument_group ( "additional_actions", title='additional actions', diff --git a/roverlay/defaultscript.py b/roverlay/defaultscript.py index 5f47e39..ad87520 100644 --- a/roverlay/defaultscript.py +++ b/roverlay/defaultscript.py @@ -40,10 +40,7 @@ def main ( installed, *args, **kw ): main_env = roverlay.runtime.RuntimeEnvironment ( installed, *args, **kw ) main_env.setup() - if main_env.want_command ( 'setupdirs' ): - sys.exit ( run_setupdirs ( main_env ) ) - - elif run_early_commands ( main_env ): + if run_early_commands ( main_env ): sys.exit ( os.EX_OK ) elif ( @@ -145,61 +142,6 @@ def run_early_commands ( env ): # --- end of run_early_commands (...) --- -def run_setupdirs ( env ): - config = env.config - target_uid = env.options ['target_uid'] - target_gid = env.options ['target_gid' ] - - dodir = roverlay.util.dodir - find_config_path = roverlay.config.entryutil.find_config_path - - dirmode_private = stat.S_IRWXU | stat.S_IRGRP | stat.S_IXGRP - #clear_mode = ~(stat.S_IRWXU | stat.S_IRWXG | stat.S_IRWXO) - #get_mode = lambda old, want_mode: ( old & clear_mode ) | want_mode - - WANT_USERDIR = roverlay.config.entrymap.WANT_USERDIR - WANT_PRIVATE = roverlay.config.entrymap.WANT_PRIVATE - WANT_FILEDIR = roverlay.config.entrymap.WANT_FILEDIR - - listlike = lambda a: hasattr(a, '__iter__') and not isinstance(a, str) - iter_values = lambda b: () if b is None else (b if listlike(b) else ( b, )) - - my_uid = os.getuid() - my_gid = os.getgid() - should_chown = my_uid != target_uid or my_gid != target_gid - - # it's not necessary to create all of the listed dirs because some of - # them are automatically created at runtime, but doing so results in - # a (mostly) complete filesystem layout - # - for config_key, entry in roverlay.config.entrymap.CONFIG_ENTRY_MAP.items(): - if isinstance ( entry, dict ) and 'want_dir_create' in entry: - for value in iter_values ( - config.get ( find_config_path ( config_key ), None ) - ): - dirmask = entry ['want_dir_create'] - dirpath = ( - os.path.dirname ( value.rstrip ( os.sep ) ) - if dirmask & WANT_FILEDIR else value.rstrip ( os.sep ) - ) - - if dirpath: - if os.path.islink ( dirpath ): - sys.stdout.write ( - '{!r} is a symlink - skipping setupdir ' - 'actions.\n'.format ( dirpath ) - ) - else: - #elif dodir ( dirpath ): - dodir ( dirpath ) - if dirmask & WANT_PRIVATE: - os.chmod ( dirpath, dirmode_private ) - if dirmask & WANT_USERDIR and should_chown: - os.chown ( dirpath, target_uid, target_gid ) - - return os.EX_OK -# --- end of run_setupdirs (...) --- - def run_distmap_rebuild ( env ): if env.action_done ( 'distmap_rebuild' ): return os.EX_OK