From: Pavel Kazakov <nullishzero@gentoo.org>
To: gentoo-portage-dev@lists.gentoo.org
Subject: Re: [gentoo-portage-dev] [PATCH] [REV] Added support for variable expansion in source command. wrt bug #490896
Date: Sun, 12 Jan 2014 22:14:58 -0800 [thread overview]
Message-ID: <52D38462.9080901@gentoo.org> (raw)
In-Reply-To: <CAD3zpD=J0pNkAZ4ozXvFQAu1qYzJtQDe+-frX-kgD1Zjskh7LQ@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2074 bytes --]
-----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-----
[-- Attachment #2: 0001-Add-support-for-source-variable-expansion-bug-490896.patch --]
[-- Type: text/x-patch, Size: 1287 bytes --]
From 59f30b1901227031531d196bd0dcf59990c68ec3 Mon Sep 17 00:00:00 2001
From: Pavel Kazakov <nullishzero@gentoo.org>
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
next prev parent reply other threads:[~2014-01-13 6:15 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-12 23:57 [gentoo-portage-dev] [PATCH] [REV] Added support for variable expansion in source command. wrt bug #490896 Jesus Rivero (Neurogeek)
2014-01-13 6:14 ` Pavel Kazakov [this message]
2014-01-13 23:28 ` Mike Frysinger
2014-01-13 23:52 ` Mike Frysinger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52D38462.9080901@gentoo.org \
--to=nullishzero@gentoo.org \
--cc=gentoo-portage-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox