public inbox for gentoo-catalyst@lists.gentoo.org
 help / color / mirror / Atom feed
From: Brian Dolbec <dolsen@gentoo.org>
To: "gentoo-catalyst@lists.gentoo.org" <gentoo-catalyst@lists.gentoo.org>
Subject: [gentoo-catalyst] PKGCACHE_PATH and os.makedirs() usage
Date: Tue, 28 May 2013 19:08:38 -0700	[thread overview]
Message-ID: <1369793318.3446.100.camel@big_daddy.dol-sen.ca> (raw)

While investigating why the stage1 build was not creating or using
binpkgs as expected.  I discovered that the PKGCACHE-PATH dir was not
being checked for existence nor being created if it didn't.

I did however discover that it was indeed checked and/or created in
livecd_stage2.py.  It should be done in the StageBase class (my rewrite)
where it it set upon the class's initialization.  This will centralize
the operation to one common location.  This portion is something easily
done in the current master and probably desirable for the next release.

Further investigation of the use of os.makedirs() reveals that none of
it's frequent use does any error checking or exception escaping.
I propose to move this common code to either a utility function or
possibly a FileOps class that the main classes can then subclass or
create an instance of.  I need to investigate what method will be best.
That way, exceptions can be controlled for the type of failure desired.
As well as proper shutdown procedures to run for a failure.

If it is moved into a class, I may also move the pack/unpack operations
into it, removing some of the complexity from the currently overloaded
base stage classes.  They are after all file operations.  Again,
something to be determined.


What say everyone?






             reply	other threads:[~2013-05-29  2:08 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-29  2:08 Brian Dolbec [this message]
2013-05-29  2:59 ` [gentoo-catalyst] PKGCACHE_PATH and os.makedirs() usage Brian Dolbec
2013-05-29  3:17 ` Mike Frysinger
2013-05-29  3:53   ` Brian Dolbec

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=1369793318.3446.100.camel@big_daddy.dol-sen.ca \
    --to=dolsen@gentoo.org \
    --cc=gentoo-catalyst@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