Re: [PATCH 6/9] lib/bpgit.py: add support for git paranoia

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2013-05-28 at 13:02 -0700, Luis R. Rodriguez wrote:
> On Thu, May 23, 2013 at 2:02 PM, Luis R. Rodriguez
> <mcgrof@xxxxxxxxxxxxxxxx> wrote:
> > I see what you're saying now and I actually did consider it, the
> > reason I didn't use --git-revision is speed. Git reset --hard tag, and
> > then copying the code directly is a lot faster. The race issues you
> > point out though are worth reconsidering this though.
> 
> I've given this some thought and I find that the theoretical race
> conditions also applies even if you use --git-revision on the output
> path.

Well, to be honest, you have to trust the system anyway, otherwise it
can mess up completely. So I guess the race is pretty much unimportant.
It was just an additional thing to consider, more in case you start this
as a long-running process and then (accidentally) work with the
linux-next tree in another way.

However I'd argue that since the git object database would typically be
corrupted by changes impacting --git-revision usage, it's still a lot
safer than using checkouts.

> A true paranoid release model would then have a target output
> directory only the parent process and children could modify / update
> but given it seems we have considerations for non ext[34] filesystems
> (recent kconfig patch) its unclear we could resolve this for the truly
> paranoid. The speed considerations I raised then (10 seconds as of
> next-20130523 with python-git installed) could be discarded in favor
> of consistency of just using --git-revision for a release model
> provided we also address the RELMOD_UPDATE and RELMOD_TYPE
> specification for both daily and stable releases, defined on the
> upload_release() documentation. Right now we infer RELMOD_UPDATE based
> on the output directory but inferring RELMOD_TYPE from the same target
> output directory would be sloppy IMO so tackling these two with
> --git-revision would need to be addressed.

Well like I said before, I think you should probably just write a
separate script (possibly as a devel/ script) that you'd do something
like

./devel/gen-and-kup.py /path/to/linux-next/ next-20130528

and then it would internally create a temporary directory (with tempdir
thing) and run something like
./gentree.py --git-revision next-20130528 /path/to/linux-next/ /tmp/tmpdir/<relname>/

(obviously not calling the script but rather the function like
git-tracker does)

and then work in /tmp/tmpdir/ to create the tarball etc. That way, you
don't have temporary stuff lying around after the generation, and get
rid of many of the changes you're making here since you wouldn't need
the paranoia stuff.

johannes

--
To unsubscribe from this list: send the line "unsubscribe backports" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux