Gentoo Archives: gentoo-portage-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-portage-dev@l.g.o
Cc: "Michał Górny" <mgorny@g.o>
Subject: [gentoo-portage-dev] [PATCH 4/4] sync: Add backwards compat with SYNC_{UMASK,USER} variables
Date: Sat, 06 Dec 2014 00:04:18
Message-Id: 1417824216-7990-5-git-send-email-mgorny@gentoo.org
In Reply to: [gentoo-portage-dev] [PATCH 0/4] sync: sync-umask and sync-user support by "Michał Górny"
1 Support SYNC_UMASK and SYNC_USER variables that were used in Funtoo
2 Portage, as fallbacks to sync-umask and sync-user repo keys.
3 ---
4 pym/portage/package/ebuild/_config/special_env_vars.py | 2 +-
5 pym/portage/package/ebuild/config.py | 12 ++++++++++++
6 pym/portage/repository/config.py | 13 +++++++++++++
7 3 files changed, 26 insertions(+), 1 deletion(-)
8
9 diff --git a/pym/portage/package/ebuild/_config/special_env_vars.py b/pym/portage/package/ebuild/_config/special_env_vars.py
10 index 387f4ae..5c13e5b 100644
11 --- a/pym/portage/package/ebuild/_config/special_env_vars.py
12 +++ b/pym/portage/package/ebuild/_config/special_env_vars.py
13 @@ -180,7 +180,7 @@ environ_filter += [
14 "RESUMECOMMAND_HTTP", "RESUMECOMMAND_HTTPS",
15 "RESUMECOMMAND_RSYNC", "RESUMECOMMAND_SFTP",
16 "UNINSTALL_IGNORE", "USE_EXPAND_HIDDEN", "USE_ORDER",
17 - "__PORTAGE_HELPER"
18 + "__PORTAGE_HELPER", "SYNC_UMASK", "SYNC_USER",
19 ]
20
21 # No longer supported variables
22 diff --git a/pym/portage/package/ebuild/config.py b/pym/portage/package/ebuild/config.py
23 index 59e239b..0ca2bfd 100644
24 --- a/pym/portage/package/ebuild/config.py
25 +++ b/pym/portage/package/ebuild/config.py
26 @@ -499,6 +499,8 @@ class config(object):
27 portdir = ""
28 portdir_overlay = ""
29 portdir_sync = None
30 + sync_umask = None
31 + sync_user = None
32 for confs in [make_globals, make_conf, self.configdict["env"]]:
33 v = confs.get("PORTDIR")
34 if v is not None:
35 @@ -511,12 +513,22 @@ class config(object):
36 v = confs.get("SYNC")
37 if v is not None:
38 portdir_sync = v
39 + v = confs.get("SYNC_UMASK")
40 + if v is not None:
41 + sync_umask = v
42 + v = confs.get("SYNC_USER")
43 + if v is not None:
44 + sync_user = v
45
46 known_repos = frozenset(known_repos)
47 self["PORTDIR"] = portdir
48 self["PORTDIR_OVERLAY"] = portdir_overlay
49 if portdir_sync:
50 self["SYNC"] = portdir_sync
51 + if sync_umask:
52 + self["SYNC_UMASK"] = sync_umask
53 + if sync_user:
54 + self["SYNC_USER"] = sync_user
55 self.lookuplist = [self.configdict["env"]]
56 if repositories is None:
57 self.repositories = load_repository_config(self)
58 diff --git a/pym/portage/repository/config.py b/pym/portage/repository/config.py
59 index f45684b..9b7bfa9 100644
60 --- a/pym/portage/repository/config.py
61 +++ b/pym/portage/repository/config.py
62 @@ -827,6 +827,19 @@ class RepoConfigLoader(object):
63 "!!! %s\n" % _("Set 'masters = %s' in this file for future compatibility") %
64 self.mainRepo().name, level=logging.WARNING, noiselevel=-1)
65
66 + # respect SYNC_UMASK and SYNC_USER whenever not overriden
67 + fallback_umask = settings.get('SYNC_UMASK')
68 + fallback_user = settings.get('SYNC_USER')
69 + if fallback_umask is not None or fallback_user is not None:
70 + for repo_name, repo in prepos.items():
71 + if repo_name == "DEFAULT":
72 + continue
73 +
74 + if repo.sync_umask is None and fallback_umask is not None:
75 + repo.sync_umask = fallback_umask
76 + if repo.sync_user is None and fallback_user is not None:
77 + repo.sync_user = fallback_user
78 +
79 self._prepos_changed = True
80 self._repo_location_list = []
81
82 --
83 2.2.0

Replies