From: Mike Frysinger <vapier@gentoo.org>
To: gentoo-portage-dev@lists.gentoo.org
Cc: Chris Reffett <creffett@gentoo.org>
Subject: Re: [gentoo-portage-dev] [PATCH] Check for and report read-only filesystems
Date: Mon, 13 Jan 2014 18:24:06 -0500 [thread overview]
Message-ID: <201401131824.07417.vapier@gentoo.org> (raw)
In-Reply-To: <52D0B588.4010506@gentoo.org>
[-- Attachment #1: Type: Text/Plain, Size: 1718 bytes --]
On Friday 10 January 2014 22:07:52 Chris Reffett wrote:
> Attached is a patch to test if Portage is going to write to a
> read-only filesystem and print out the list of filesystems that need
> to be remounted RW. This leaves ${D} intact rather than having some
> files moved before hitting the RO filesystem. Fixes bug 378869. Since
> git.overlays.gentoo.org is down, I haven't had the chance to rebase
> this against latest, but I can resubmit if it doesn't cleanly apply.
> This is my first patch to the list, so I apologize if I didn't submit
> correctly.
please use `git send-email` to post patches. attaching them makes things
harder to review.
> --- /dev/null
> +++ b/pym/portage/util/checkwriteable.py
>
> + with open("/proc/mounts") as procmounts:
this won't work on non-Linux systems
also, as a general style thing, unless there's a real need for the var to have
a "full" name, just use "f" or "fp"
> + roregex = re.compile(r'(\A|,)ro(\Z|,)')
> + for line in procmounts:
> + if roregex.search(line.split(" ")[3].strip()) is not None:
> + romount = line.split(" ")[1].strip()
> + ro_filesystems.add(romount)
ad hoc parsing of /proc/mounts isn't a good thing. at the risk of over
engineering, there should be a func that would take care of expanding the
mount paths into a list of namedcollections (one per mount). then you simply
walk it looking at its options.
> + for directory in dir_list:
> + for filesystem in ro_filesystems:
> + if re.match(filesystem, directory):
> + ro_filesystems_written.add(filesystem)
there's no need to use re and in fact you don't want to. you're looking at
wrong strings here, not regexes.
-mike
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2014-01-13 23:24 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-11 3:07 [gentoo-portage-dev] [PATCH] Check for and report read-only filesystems Chris Reffett
2014-01-11 5:09 ` Brian Dolbec
2014-01-11 14:22 ` Chris Reffett
2014-01-13 23:24 ` Mike Frysinger [this message]
2014-01-17 0:39 ` [gentoo-portage-dev] [PATCH v2] Test for read-only filesystems, bail out during preinst if there are any which will be written to and display a useful error message. Fixes bug 378869 Chris Reffett
2014-01-19 2:00 ` [gentoo-portage-dev] [PATCH v3] " Chris Reffett
2014-01-19 9:17 ` Mike Frysinger
2014-01-19 10:39 ` Alexander Berntsen
2014-01-19 21:43 ` Alec Warner
2014-01-21 3:28 ` Mike Frysinger
2014-01-21 3:53 ` Gordon Pettey
2014-01-21 22:44 ` Mike Frysinger
2014-01-21 0:50 ` [gentoo-portage-dev] [PATCH v4] " Chris Reffett
2014-01-21 3:32 ` Mike Frysinger
2014-01-21 4:00 ` [gentoo-portage-dev] [PATCH v5] " Chris Reffett
2014-01-22 5:24 ` Mike Frysinger
2014-01-22 18:33 ` [gentoo-portage-dev] [PATCH v6] " Chris Reffett
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=201401131824.07417.vapier@gentoo.org \
--to=vapier@gentoo.org \
--cc=creffett@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