-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 01/12/2014 03:57 PM, Jesus Rivero (Neurogeek) wrote: > Hi all, > > In the previous patch, I didn't notice an error in the unittest I wrote for the feature. > Attached is the correct patch, please disregard the previous one. > > Cheers, > > Jesus Rivero
Neurogeek, Looks like we were working on the same patch, but I guess the patch is a good exercise in getting familiar with the portage code :P Overall it looks good. There were some complaints from git apply about trivial spacing issues (trailing whitespace), and there's a space included in indentation that causes python 3.3 to fail: 0002-Added-support-for-variable-expansion-in-source-commandd.patch:61: space before tab in indent. I'm not sure if it matters, but your code seems to do variable expansion for the source command even if the 'expand' variable in the getconfig() function is set to False (unless I'm wrong?). All, Although neurogeek already sent a patch, I figured I'd include mine as well at the request of dol-sen :) This patch does not include unit tests since it's meant to be more of a review against neurogeek's code. Regards, Pavel -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJS04RiAAoJENb1ecI556suiyYP/1X+CXK+WFoURBPUOlOyw9bN jKYg5My7wcz07VnWrIkPiuQf3Pq3bj2ckMc54kiL59bMWQgMXjtZMJzyzfegza/t Ks22+RYxmwdwU9OJ9prknFMLXdibEqT4zBk0MxHHfNeHqJtDM7j2Nc3Xcj+jP93R zRFzFLjWjOeT4kCzUvmnEewjd9WlhycAhXB/MMoEQM/stAROv9sai7RhF+6EpXsE XRP3ZagCdni5YA/Gz+eWZ59rihgo/8X1RLMzoK3MmPmh+LEi1Eop8NaHeTT4FumP 4ftr4mtc84qUpeo+pzzgi40Dse08oaHXCu5IX5lkVh0/Uu2vvVieTORGpLtDv9Mk sK2qCZJ9JQU8l3pE2tRVkZ935IN/DxDoUCt5EosOB5OQ3UG6RkIP+hqNmcpkA6wC OENrV5LCkAGzyuUNOCgqy4sL/rHWpSD+DqToc54vsnWTdkBCYO31AtwSKQ1xkihK gp3Re+7Z6dA6KhjF5ZM6LOd5KyH6gbEH2EqtEuWeNiaeBB+5eYJuhLiqVOrmfgkl nnatebh2DQum52OFDX4Q2M+6Cp0OHuYHUL0HxHcPRzmTnqBkwJtTxFoe2v3nQr5U cTTrkM8t0TD7/CqHTo0JQQBleIEQGaI3jzHBaOS1DWxU4ZXaTbBrq8gng3H7RVW/ 3mbx448SfEyeNGFiZqzE =g+z5 -----END PGP SIGNATURE-----
>From 59f30b1901227031531d196bd0dcf59990c68ec3 Mon Sep 17 00:00:00 2001 From: Pavel Kazakov <[email protected]> Date: Sun, 12 Jan 2014 21:52:03 -0800 Subject: [PATCH] Add support for source variable expansion, bug #490896 --- pym/portage/util/__init__.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pym/portage/util/__init__.py b/pym/portage/util/__init__.py index 24553da..555ac76 100644 --- a/pym/portage/util/__init__.py +++ b/pym/portage/util/__init__.py @@ -592,9 +592,12 @@ class _getconfig_shlex(shlex.shlex): def __init__(self, portage_tolerant=False, **kwargs): shlex.shlex.__init__(self, **kwargs) self.__portage_tolerant = portage_tolerant + self.expand_map = None def sourcehook(self, newfile): try: + if self.expand_map is not None: + newfile = varexpand(newfile, self.expand_map) return shlex.shlex.sourcehook(self, newfile) except EnvironmentError as e: if e.errno == PermissionDenied.errno: @@ -695,6 +698,8 @@ def getconfig(mycfg, tolerant=False, allow_sourcing=False, expand=True, lex.quotes = portage._native_string("\"'") if allow_sourcing: lex.source = portage._native_string("source") + if expand: + lex.expand_map = expand_map while True: key = _unicode_decode(lex.get_token()) -- 1.8.3.2
