Gentoo Archives: gentoo-portage-dev

From: "Ulrich Müller" <ulm@g.o>
To: gentoo-portage-dev@l.g.o
Cc: "Ulrich Müller" <ulm@g.o>
Subject: [gentoo-portage-dev] [PATCH] Use consistent rules for filenames of ebuils and misc files.
Date: Tue, 05 May 2015 13:34:47
Message-Id: 1430832864-29291-1-git-send-email-ulm@gentoo.org
1 So far non-ebuild filenames were allowed to contain a colon character.
2 This is a problematic character as it is illegal in MS-Windows (and
3 there is a Prefix x86-interix profile) and has special meaning as
4 remote host indicator in scp and other programs.
5
6 This limits the allowed characters in filenames to [A-Za-z0-9._+-]
7 which is the same as IEEE Std 1003.1-2013, section 3.278, with the
8 addition of the plus character. See also bug 411127.
9 ---
10 bin/repoman | 4 ++--
11 pym/portage/repository/config.py | 2 +-
12 2 files changed, 3 insertions(+), 3 deletions(-)
13
14 diff --git a/bin/repoman b/bin/repoman
15 index e9c89c2..37e11b2 100755
16 --- a/bin/repoman
17 +++ b/bin/repoman
18 @@ -1,5 +1,5 @@
19 #!/usr/bin/python -bO
20 -# Copyright 1999-2014 Gentoo Foundation
21 +# Copyright 1999-2015 Gentoo Foundation
22 # Distributed under the terms of the GNU General Public License v2
23
24 # Next to do: dep syntax checking in mask files
25 @@ -88,7 +88,7 @@ util.initialize_logger()
26
27 # 14 is the length of DESCRIPTION=""
28 max_desc_len = 100
29 -allowed_filename_chars="a-zA-Z0-9._-+:"
30 +allowed_filename_chars="a-zA-Z0-9._+-"
31 pv_toolong_re = re.compile(r'[0-9]{19,}')
32 GPG_KEY_ID_REGEX = r'(0x)?([0-9a-fA-F]{8}|[0-9a-fA-F]{16}|[0-9a-fA-F]{24}|[0-9a-fA-F]{32}|[0-9a-fA-F]{40})!?'
33 bad = create_color_func("BAD")
34 diff --git a/pym/portage/repository/config.py b/pym/portage/repository/config.py
35 index 5da1810..e44b619 100644
36 --- a/pym/portage/repository/config.py
37 +++ b/pym/portage/repository/config.py
38 @@ -38,7 +38,7 @@ if sys.hexversion >= 0x3000000:
39 basestring = str
40
41 # Characters prohibited by repoman's file.name check.
42 -_invalid_path_char_re = re.compile(r'[^a-zA-Z0-9._\-+:/]')
43 +_invalid_path_char_re = re.compile(r'[^a-zA-Z0-9._\-+/]')
44
45 _valid_profile_formats = frozenset(
46 ['pms', 'portage-1', 'portage-2', 'profile-bashrcs', 'profile-set',
47 --
48 2.4.0

Replies