From: Martyn Welch <martyn.welch@collabora.co.uk>
To: Otavio Salvador <otavio.salvador@ossystems.com.br>
Cc: yocto <yocto@yoctoproject.org>,
Patches and discussions about the oe-core layer
<openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH v3 1/2] image.bbclass: add prohibited-paths QA test
Date: Thu, 16 Nov 2017 10:19:01 +0000 [thread overview]
Message-ID: <1510827541.6402.25.camel@collabora.co.uk> (raw)
In-Reply-To: <CAP9ODKq5HO3MtsCsJ+3o4cicrQD+9H-=yGf=TjE0i3riy+oK4w@mail.gmail.com>
On Wed, 2017-11-15 at 18:46 -0200, Otavio Salvador wrote:
> On Wed, Nov 15, 2017 at 1:10 PM, Martyn Welch
> <martyn.welch@collabora.co.uk> wrote:
> > Sometimes we wish to ensure that files or directories are not installed
> > somewhere that may prove detrimental to the operation of the system. For
> > example, this may be the case if files are placed in a directory that is
> > utilised as a mount point at run time, thus making them inaccessible once
> > when the mount point is being utilised.
> >
> > Implement the prohibited paths QA test, which enables such locations to be
> > specified in a "PROHIBITED_PATHS" variable. This implementation allows for
> > a colon separated list of paths to be provided. Shell style wildcards can
> > be used.
> >
> > Signed-off-by: Fabien Lahoudere <fabien.lahoudere@collabora.co.uk>
> > Signed-off-by: Martyn Welch <martyn.welch@collabora.co.uk>
> > ---
> > Changes since v1:
> > - Correcting author and SOB.
> >
> > Changes since v2:
> > - Reimplemented as image rather than package level QA test.
> > - Changed variable from PROHIBITED_PATH to PROHIBITED_PATHS to better
> > reflect its use.
> >
> > meta/classes/image.bbclass | 20 ++++++++++++++++++++
> > 1 file changed, 20 insertions(+)
> >
> > diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
> > index d93de02..bebb363 100644
> > --- a/meta/classes/image.bbclass
> > +++ b/meta/classes/image.bbclass
> > @@ -296,6 +296,26 @@ python do_image_complete_setscene () {
> > }
> > addtask do_image_complete_setscene
> >
> > +python image_check_prohibited_paths () {
> > + import glob
> > + from oe.utils import ImageQAFailed
> > +
> > + rootfs = d.getVar('IMAGE_ROOTFS')
> > +
> > + path = d.getVar('PROHIBITED_PATHS')
>
> path = (d.getVar('PROHIBITED_PATHS') or "")
>
> I'd use IMAGE_QA_PROHIBITED_PATHS as variable name. It makes easier to
> know what it relates to.
>
> > + if path != None and path != "":
>
> If can die.
>
OK, if is still needed, else the zero length path triggers the "not
p.startswith('/')" error condition.
> > + for p in path.split(':'):
> > + if p[0] != '/':
>
> if not p.startswith('/'):
>
> > + raise ImageQAFailed("PROHIBITED_PATHS \"%s\" must be an absolute path" % p, image_check_prohibited_paths)
> > +
> > + match = glob.glob("%s%s" % (rootfs, p))
> > + if match:
>
> I'd use:
>
> if glob.glob(...):
>
> It is a single use so not sure it is worth the extra variable.
>
> > + loc = ", ".join(item.replace(rootfs, '') for item in match)
> > + raise ImageQAFailed("Match(es) for PROHIBITED_PATHS \"%s\": %s" % (p, loc), image_check_prohibited_paths)
> > +}
>
next prev parent reply other threads:[~2017-11-16 10:19 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-15 15:10 [PATCH v3 1/2] image.bbclass: add prohibited-paths QA test Martyn Welch
2017-11-15 15:10 ` [PATCH v3 2/2] ref-manual: Add documentation for prohibited-path " Martyn Welch
2017-11-15 15:35 ` ✗ patchtest: failure for "[v3] image.bbclass: add prohib..." and 1 more Patchwork
2017-11-15 20:46 ` [PATCH v3 1/2] image.bbclass: add prohibited-paths QA test Otavio Salvador
2017-11-16 9:40 ` Martyn Welch
2017-11-16 10:19 ` Martyn Welch [this message]
2017-11-16 10:32 ` Alexander Kanavin
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=1510827541.6402.25.camel@collabora.co.uk \
--to=martyn.welch@collabora.co.uk \
--cc=openembedded-core@lists.openembedded.org \
--cc=otavio.salvador@ossystems.com.br \
--cc=yocto@yoctoproject.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