Plague & CVS...

Chris Weyl chris.weyl at gmail.com
Mon Oct 17 23:40:02 UTC 2005


On 10/14/05, Dan Williams <dcbw at redhat.com> wrote:
> The current CVS code is quite tailored for the Fedora Core/Extras CVS
> repository setup.  Here you have a layout like this:
>
> /cvsroot/plague/FC-3/
> /cvsroot/plague/FC-4/
> /cvsroot/plague/devel/
>
> in other words, you have /<blah>/<package>/<target>/.  The CVS code is
> set up to expect that right now.
>
> Furthermore, once the path to the package is determined, there is a set
> of commands to take the files in that directory above and make an SRPM
> for them.  Mainly, we run the command 'make srpm' in the above directory
> and hopefully we get an SRPM out the other end, which is fed to the
> build slaves.

Gotcha.  I'm starting to make sense of Makefile.common, etc now.

[...snip...]
> >   * where the lookaside / cvs maintenance code all is
>
> The lookaside cache of sources is essentially an HTTP server.  wget is
> used to grab the files based on the 'sources' file in the packages
> directory.  Most of the "real" code is in the common module for each
> package.

Gotcha.  I essentially faked this out, so for read operations the
implementation I'm using operates identically to the one f-e is using.

> >   * what license the lookaside / cvs / "common" module code is under,
> > and if I can use it w/o impacting my project's packages licenses
>
> I believe you can do so, though I'm not a lawyer.  The license of the
> code in the Makefiles and such should not impact the license of your
> source and/or product, since you do not link any of the
> buildsystem/infrastructure code into your sources (hopefully).  If the
> license of the infrastructure is under the GPL (which plague is) then
> your obligation is simply to make changes to the infrastructure and
> plague code available if you modify them.

After my last cvs update, I see it's under the BSD license.  Cool :) 
But you're right -- Makefile.common et al don't actually become part
of the package, they just help it to be built.

> So, if you've currently got a certain layout for CVS, I'd like to know
> more to figure out how to generalize the current CVS code in plague.  In
> the end you'll have to do a bit of tweaking to get your own CVS stuff to
> work, if you choose not to adopt the infrastructure that Fedora CVS
> uses.  But it shouldn't be very hard at all.  I just need a bit more
> information first.

Gotcha.  I think I've decided to adopt the approach f-e CVS uses (why
make life harder for myself?), and tweak Makefile.common/et-al as
necessary.  I've already adapted most of what is necessary to our
environment, and built out a substitute lookaside cache.

> Glad it works, hope you're using 0.4/HEAD too :)

I am now!  Of course, it presents new questions, with regards to the
config files.  (Figures, I get my head around 0.3 and 0.4 presents
itself ;) )

plague-server built me a new default config file, but I'm not entirely
sure where I should be translating my old CONFIG.py to.  Specifically,
I see options to "use_cvs", but not sure where I should be defining my
cvs root to; targets are now in other, per-target files, but aside
from where those files are supposed to go, I'm not sure what their
content should be.

Is there something/where I can look at to figure this out?  Even just
a slightly more fleshed out plague-server.cfg and an example of a
target config file would do wonders.

Thanks again:)
                                          -Chris




More information about the Fedora-buildsys-list mailing list