diff options
-rw-r--r-- | pym/_emerge/actions.py | 8 | ||||
-rw-r--r-- | pym/_emerge/main.py | 3 |
2 files changed, 8 insertions, 3 deletions
diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py index 1d334bde7..fc2048ab3 100644 --- a/pym/_emerge/actions.py +++ b/pym/_emerge/actions.py @@ -1888,6 +1888,12 @@ def action_sync(settings, trees, mtimedb, myopts, myaction): emergelog(xterm_titles, " === sync") portdb = trees[settings["ROOT"]]["porttree"].dbapi myportdir = portdb.porttree_root + if not myportdir: + myportdir = settings.get('PORTDIR', '') + if myportdir and myportdir.strip(): + myportdir = os.path.realpath(myportdir) + else: + myportdir = None out = portage.output.EOutput() global_config_path = GLOBAL_CONFIG_PATH if settings['EPREFIX']: @@ -1905,7 +1911,7 @@ def action_sync(settings, trees, mtimedb, myopts, myaction): st = None if st is None: print(">>>",myportdir,"not found, creating it.") - os.makedirs(myportdir,0o755) + portage.util.ensure_dirs(myportdir, mode=0o755) st = os.stat(myportdir) usersync_uid = None diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py index dc15719ec..4e70ea69d 100644 --- a/pym/_emerge/main.py +++ b/pym/_emerge/main.py @@ -1511,8 +1511,7 @@ def emerge_main(): 'prune', 'unmerge') or not \ (fetchonly or \ (buildpkgonly and secpass >= 1) or \ - myaction in ("metadata", "regen") or \ - (myaction == "sync" and os.access(settings["PORTDIR"], os.W_OK))) + myaction in ("metadata", "regen", "sync")) if portage.secpass < 1 or \ need_superuser: if need_superuser: |