* [PATCHv2 0/2] Make useradd-staticids.bbclass Python 3 compatible
@ 2016-06-10 15:46 Peter Kjellerstedt
2016-06-10 15:46 ` [PATCHv2 1/2] useradd-staticids.bbclass: Make sure opened files are closed Peter Kjellerstedt
2016-06-10 15:46 ` [PATCHv2 2/2] useradd-staticids.bbclass: Avoid FutureWarning about split() Peter Kjellerstedt
0 siblings, 2 replies; 3+ messages in thread
From: Peter Kjellerstedt @ 2016-06-10 15:46 UTC (permalink / raw)
To: openembedded-core
Avoid warnings with Python 3 due to files that are not closed in
useradd-staticids.bbclass.
PATCHv2: Also avoid a FutureWarning about split() requiring a
non-empty pattern. It occured for every recipe that inherited useradd
(with useradd-staticids enabled), but with no context at all. It also
did not end up in the tmp/log/cooker log...
//Peter
The following changes since commit 40e789d1fee7f0df2d23230fff38325119ad2935:
bitbake: lib/bb/main.py: Fix use of BBPOSTCONF and BBPRECONF (2016-06-09 18:00:58 +0100)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib pkj/useradd-staticids-py3
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=pkj/useradd-staticids-py3
Peter Kjellerstedt (2):
useradd-staticids.bbclass: Make sure opened files are closed
useradd-staticids.bbclass: Avoid FutureWarning about split()
meta/classes/useradd-staticids.bbclass | 34 +++++++++++++++++++---------------
1 file changed, 19 insertions(+), 15 deletions(-)
--
2.8.3
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCHv2 1/2] useradd-staticids.bbclass: Make sure opened files are closed
2016-06-10 15:46 [PATCHv2 0/2] Make useradd-staticids.bbclass Python 3 compatible Peter Kjellerstedt
@ 2016-06-10 15:46 ` Peter Kjellerstedt
2016-06-10 15:46 ` [PATCHv2 2/2] useradd-staticids.bbclass: Avoid FutureWarning about split() Peter Kjellerstedt
1 sibling, 0 replies; 3+ messages in thread
From: Peter Kjellerstedt @ 2016-06-10 15:46 UTC (permalink / raw)
To: openembedded-core
This avoids warnings about unclosed files with Python 3.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
---
meta/classes/useradd-staticids.bbclass | 30 +++++++++++++++++-------------
1 file changed, 17 insertions(+), 13 deletions(-)
diff --git a/meta/classes/useradd-staticids.bbclass b/meta/classes/useradd-staticids.bbclass
index a9b506d..440c0e3 100644
--- a/meta/classes/useradd-staticids.bbclass
+++ b/meta/classes/useradd-staticids.bbclass
@@ -4,6 +4,7 @@ def update_useradd_static_config(d):
import argparse
import itertools
import re
+ import errno
class myArgumentParser( argparse.ArgumentParser ):
def _print_message(self, message, file=None):
@@ -30,19 +31,22 @@ def update_useradd_static_config(d):
are set)."""
id_table = dict()
for conf in file_list.split():
- if os.path.exists(conf):
- f = open(conf, "r")
- for line in f:
- if line.startswith('#'):
- continue
- # Make sure there always are at least exp_fields elements in
- # the field list. This allows for leaving out trailing
- # colons in the files.
- fields = list_extend(line.rstrip().split(":"), exp_fields)
- if fields[0] not in id_table:
- id_table[fields[0]] = fields
- else:
- id_table[fields[0]] = list(itertools.imap(lambda x, y: x or y, fields, id_table[fields[0]]))
+ try:
+ with open(conf, "r") as f:
+ for line in f:
+ if line.startswith('#'):
+ continue
+ # Make sure there always are at least exp_fields
+ # elements in the field list. This allows for leaving
+ # out trailing colons in the files.
+ fields = list_extend(line.rstrip().split(":"), exp_fields)
+ if fields[0] not in id_table:
+ id_table[fields[0]] = fields
+ else:
+ id_table[fields[0]] = list(itertools.imap(lambda x, y: x or y, fields, id_table[fields[0]]))
+ except IOError as e:
+ if e.errno == errno.ENOENT:
+ pass
return id_table
--
2.8.3
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCHv2 2/2] useradd-staticids.bbclass: Avoid FutureWarning about split()
2016-06-10 15:46 [PATCHv2 0/2] Make useradd-staticids.bbclass Python 3 compatible Peter Kjellerstedt
2016-06-10 15:46 ` [PATCHv2 1/2] useradd-staticids.bbclass: Make sure opened files are closed Peter Kjellerstedt
@ 2016-06-10 15:46 ` Peter Kjellerstedt
1 sibling, 0 replies; 3+ messages in thread
From: Peter Kjellerstedt @ 2016-06-10 15:46 UTC (permalink / raw)
To: openembedded-core
This avoids the following warning with Python 3.5:
/usr/lib64/python3.5/re.py:203: FutureWarning: split() requires a
non-empty pattern
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
---
meta/classes/useradd-staticids.bbclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meta/classes/useradd-staticids.bbclass b/meta/classes/useradd-staticids.bbclass
index 440c0e3..d963f28 100644
--- a/meta/classes/useradd-staticids.bbclass
+++ b/meta/classes/useradd-staticids.bbclass
@@ -97,7 +97,7 @@ def update_useradd_static_config(d):
if not param:
continue
try:
- uaargs = parser.parse_args(re.split('''[ \t]*(?=(?:[^'"]|'[^']*'|"[^"]*")*$)''', param))
+ uaargs = parser.parse_args(re.split('''[ \t]+(?=(?:[^'"]|'[^']*'|"[^"]*")*$)''', param))
except:
raise bb.build.FuncFailed("%s: Unable to parse arguments for USERADD_PARAM_%s: '%s'" % (d.getVar('PN', True), pkg, param))
@@ -231,7 +231,7 @@ def update_useradd_static_config(d):
continue
try:
# If we're processing multiple lines, we could have left over values here...
- gaargs = parser.parse_args(re.split('''[ \t]*(?=(?:[^'"]|'[^']*'|"[^"]*")*$)''', param))
+ gaargs = parser.parse_args(re.split('''[ \t]+(?=(?:[^'"]|'[^']*'|"[^"]*")*$)''', param))
except:
raise bb.build.FuncFailed("%s: Unable to parse arguments for GROUPADD_PARAM_%s: '%s'" % (d.getVar('PN', True), pkg, param))
--
2.8.3
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-06-10 15:46 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-06-10 15:46 [PATCHv2 0/2] Make useradd-staticids.bbclass Python 3 compatible Peter Kjellerstedt
2016-06-10 15:46 ` [PATCHv2 1/2] useradd-staticids.bbclass: Make sure opened files are closed Peter Kjellerstedt
2016-06-10 15:46 ` [PATCHv2 2/2] useradd-staticids.bbclass: Avoid FutureWarning about split() Peter Kjellerstedt
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.