public inbox for gentoo-portage-dev@lists.gentoo.org
 help / color / mirror / Atom feed
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 --]

  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