[PD] I created an ebuild for pd-0.40-p2

federico mescalinum at gmail.com
Thu Apr 19 20:53:58 CEST 2007


On 4/18/07, Hans-Christoph Steiner <hans at eds.org> wrote:
> > also: in gentoo binary packages aren't much in use. gentoo *is* a
> > build farm: the user compiles the softwares that wants to installs,
> > choosing compile options via tag-like switches (USE flags). (you can
> > actually use it to build binary packages working out-of-the-box)
> > that information is handled in ebuilds, special shell scripts that
> > have the "version&dependency
> > check,fetch,unpack,compile,test,install,merge" recipe.
> >
> > so a gentoo repository it's just a collection of ebuilds, metadata and
> > changelogs, no bin packages.
>
> The point of the auto-build farm is not only to provide binaries.
> Actually it performs more important duties: it builds every night
> from to make sure that recent checkins to CVS didn't break anything;

I see. That is good,

> and, it gives developers an easy way to make sure that their code
> works on other platforms without having to run builds themselves.
> That is why there should be a gentoo machine in the auto-build farm.

ok, got it.
My advice is to leave the overlay on SVN, also because (hopefully) one
day those ebuilds will go in the official gentoo repository, or at
least in gentoo-sunrise (one of the biggest addon repos), so the task
of syncing ebuilds will be totally transparent (it est: managed by
emerge --sync).

until that day, you can add two commands that sync pd-related ebuilds
from our repository, just before the line that compiles everything
(that will be: emerge media-sound/pd media-plugins/zexy
media-plugins/maxlib ...) into your cron job:

-----------[gentoo nightly build script]---------
pushd /usr/local/overlays
svn co https://svn.sourceforge.net/svnroot/pd-overlay/pd-overlay
popd
# emerging stuff, like:
#   emerge pd maxlib zexy 2>&1 | tee emerge-pd.log
-----------------------[end]---------------------

so, whenever something breaks in the gentoo build farm, it could
depend on two factors:

1) I (or someone of pd-overlay team) has made some mistake in the
ebuild script. I will fix that (pls file bugs at
https://sourceforge.net/tracker/?atid=892936&group_id=180376&func=browse)

2) A developer changed something (tipically a Makefile) breaking the
gentoo install someway (this can be fixed by both, just a matter of
deciding *what* to fix, if the Makefile or the ebuild) or breaking the
gentoo compile (this often should be solved upstream)

> I don't use gentoo at all, so I'll leave that up to you.  Maybe a
> good way to manage this is that you guys make releases of pd-overlay,
> I check those releases into the pure-data CVS.  Then the nightly auto-
> builds run using the stuff in pure-data CVS.

I don't think repo-releases are needed.
We try to put into SVN only working ebuilds (tested on our computers);
the simplest ebuild that compiles and installs with:
  ./configure && make && make install
should be 100% fail-safe

But the point is: actually 99% of our ebuilds have version -9999 (a
convention to mean that their sources are pulled from Pd CVS) so they
are more subject to break on CVS changes, especially when Makefile
stuff like PREFIX and DESTDIR gets touched (!)

Making releases/snapshots for *every* external would help a lot
improving reliability; though this is not primary purpose of the
project; would be better to rely that each commit on pd-cvs doesn't
break anything :)

Also: like other package management, we could mark ebuilds unstable,
testing or stable, with simple use of keywords (please see the gentoo
manual for more detail on this)


> The key to making this work is having pd-overlay use the same
> directory structure as the pure-data CVS.

can you explain better what do you mean?
pd-overlay has the structure of a gentoo ebuild tree. I don't believe
it can be altered in some way


> I've never installed gentoo.  Could you point me to a CD image to
> install?  Also, once it's installed, will you install all of the
> dependencies?  I'll give you shell access to do that.  Please
> document this on a wiki page too.

if you are going to install gentoo on x86 arch:

* get the install ISO here:
  http://bouncer.gentoo.org/?product=gentoo-2006.1-minimal&os=x86
* refer to the x86 handbook for installing:
  http://www.gentoo.org/doc/en/handbook/handbook-x86.xml

the same applies for other archs, like ppc, ia64, amd64, ppc64, hppa, alpha, ...

dependencies are checked automatically, so emerge-ing pd would install
also Xorg, alsa, tcl, tk, etc....

anyway I can check your box for consistance :) just do the initial
part of the install so that it can be bootable, then mail me ssh
access, or let us meet on irc

-- 
Federico




More information about the Pd-list mailing list