From: Ian Campbell <ian.campbell@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
Wei Liu <wei.liu2@citrix.com>,
Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [PATCH v4] OSSTEST: introduce a raisin build test
Date: Mon, 18 May 2015 12:21:25 +0100 [thread overview]
Message-ID: <1431948085.4944.48.camel@citrix.com> (raw)
In-Reply-To: <5559C4D7.70200@eu.citrix.com>
On Mon, 2015-05-18 at 11:54 +0100, George Dunlap wrote:
> On 05/18/2015 11:33 AM, Ian Campbell wrote:
> > On Mon, 2015-05-18 at 11:08 +0100, George Dunlap wrote:
> >> On Wed, May 13, 2015 at 12:48 PM, Stefano Stabellini
> >> <stefano.stabellini@eu.citrix.com> wrote:
> >>> On Wed, 13 May 2015, Ian Campbell wrote:
> >>>> On Tue, 2015-05-12 at 12:46 +0100, Stefano Stabellini wrote:
> >>>>>> Would a separate clone of the same raisin version with some sort of
> >>>>>> "dist" directory transported over be sufficient and supportable? Or are
> >>>>>> raisin's outputs not in one place and easily transportable?
> >>>>>>
> >>>>>> i.e. today build-$ARCH-libvirt picks up the dist.tar.gz files from the
> >>>>>> corresponding build-$ARCH, unpacks them and asks libvirt to build
> >>>>>> against that tree.
> >>>>>
> >>>>> Moving the dist directory over should work, although I have never tested
> >>>>> this configuration.
> >>>>
> >>>> Would you be willing to support this as a requirement going forward?
> >>>
> >>> Yeah, I think it is OK
> >>>
> >>>> I assume that it is not also necessary to reclone all the trees for the
> >>>> preexisting components, just the new ones?
> >>>
> >>> Only if the user asks for a components to be built, the corresponding
> >>> tree is cloned.
> >>
> >> Won't the problem here be disentangling the stuff installed in dist/
> >> (or whatever it's called) from the things we want to rebuild vs the
> >> things we want to change?
> >
> > From the osstest PoV at least the proposal here only involves building
> > additional things, not rebuilding anything which came from a previous
> > build.
> >
> > e.g. given a build of xen.git now do a build of libvirt.git using those
> > previously built Xen libs.
>
> Sure; but what I'm saying is if you do xen-full-build, you'll have a
> dist/ which contains:
> * qemut
> * qemuu
> * seabios
> * xen
> * libvirt
> * (&c)
>
> But when you re-build just libvirt, what you want is a dist/ that contains:
> * qemut
> * qemuu
> * seabios
> * xen
>
> Specifically, you want it *not* to contain anything from the previous
> libvirt builds. That's what I'm talking about.
That's not what I was talking about ;-).
WRT the osstest usage the first build wouldn't be a full build, and in
particular it would exclude the libvirt.
I appreciate there may be reasons to care about the scenario you
presented, but right now I'm trying to figure out how we can best
integrate raisin into osstest and whether it can some how be made
suitable for building actual build artefacts for osstest to use for
further testing, as opposed to just existing as a test case for the sole
purpose of testing that raisin works.
If in solving that we also address your scenario, then great.
> > Per component dist dirs is similarly surely possible but perhaps not
> > something raisin wants.
>
> You could in theory have per-component "output" directories, and then a
> global "input" directory which was blown away at the beginning of every
> raisin build and re-constructed as needed. That would be the sort of
> equivalent of the mock-style RPM build (where the chroot represents the
> global "input").
>
> Not sure how well that would work, though.
In essence everything builds into dist.$component and then at the end of
each component raisin automatically takes that and overlays whatever it
contains over some central dist.all which subsequent components actually
build against? Perhaps with a mode to seed dist.all from dist.* iff
dist.all doesn't exist.
I can see how that might work in general and I think it would solve at
least osstest's desired use case but I don't know enough about raisin
internals to know if it will actually fit in. Lets see what Stefano
says.
Ian.
next prev parent reply other threads:[~2015-05-18 11:21 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-12 9:20 [PATCH v4] OSSTEST: introduce a raisin build test Stefano Stabellini
2015-05-12 10:12 ` Ian Campbell
2015-05-12 11:16 ` Ian Jackson
2015-05-12 11:20 ` Stefano Stabellini
2015-05-12 11:33 ` Ian Campbell
2015-05-12 11:46 ` Stefano Stabellini
2015-05-13 9:01 ` Ian Campbell
2015-05-13 11:48 ` Stefano Stabellini
2015-05-13 11:57 ` Ian Campbell
2015-05-18 10:08 ` George Dunlap
2015-05-18 10:33 ` Ian Campbell
2015-05-18 10:54 ` George Dunlap
2015-05-18 11:21 ` Ian Campbell [this message]
2015-05-18 13:05 ` George Dunlap
2015-05-18 13:14 ` Ian Campbell
2015-05-18 13:23 ` George Dunlap
2015-05-18 13:32 ` Ian Campbell
2015-05-18 13:33 ` Ian Jackson
2015-05-18 13:46 ` Ian Campbell
2015-06-17 14:13 ` Stefano Stabellini
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=1431948085.4944.48.camel@citrix.com \
--to=ian.campbell@citrix.com \
--cc=george.dunlap@eu.citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=stefano.stabellini@eu.citrix.com \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xen.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.