writeable_check: warn about invalid mountinfo lines (bug 594284)
X-Gentoo-bug: 594284
X-Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=594284
diff --git a/pym/portage/util/writeable_check.py b/pym/portage/util/writeable_check.py
index 26fe199..e5b14c0 100644
--- a/pym/portage/util/writeable_check.py
+++ b/pym/portage/util/writeable_check.py
@@ -44,6 +44,7 @@
read-only, may be empty.
"""
ro_filesystems = set()
+ invalids = []
try:
with io.open("/proc/self/mountinfo", mode='r',
@@ -61,6 +62,7 @@
_dir, attr1 = mount[0].split()[4:6]
except ValueError:
# If it raises ValueError we can simply ignore the line.
+ invalids.append(line)
continue
# check for situation with invalid entries for /home and /root in /proc/self/mountinfo
# root path is missing sometimes on WSL
@@ -72,7 +74,11 @@
try:
attr2 = mount[1].split()[1]
except IndexError:
- attr2 = mount[1]
+ invalids.append(line)
+ continue
+ else:
+ invalids.append(line)
+ continue
if attr1.startswith('ro') or attr2.startswith('ro'):
ro_filesystems.add(_dir)
@@ -83,6 +89,10 @@
level=logging.WARNING, noiselevel=-1)
return []
+ for line in invalids:
+ writemsg_level(_("!!! /proc/self/mountinfo contains unrecognized line: %s\n")
+ % line.rstrip(), level=logging.WARNING, noiselevel=-1)
+
ro_devs = {}
for x in ro_filesystems:
try: