Web lists-archives.com

Re: buildd and buildbot




On Friday 17 May 2019 04:29:04 am tomas@xxxxxxxxxx wrote:

> On Fri, May 17, 2019 at 03:30:45AM -0400, Gene Heskett wrote:
> > Greetings folks;
> >
> > Thinking of building a local copy of a project with a cross compiler
> > to make rpi (armhf) stuffs on this amd64 box, I installed buildd and
> > buildbot and some usefull looking friends yesterday, and in about 2
> > hours lost the usb services totally, twice having to reboot with the
> > reset button.
>
> This is a bit like trying to peel an egg with an excavator [1].
> Whereas possible in principle, it'll take some skill.
>
> There are several ways to skin that cat, but whenever your build
> machine's kernel is not too far away from your target's,
> dpkg-buildpackage, debootstrap and schroot are your friends.
>
> This is a list of the packages you might need for cross-building a
> package (assuming the package authors have done their stuff right)
>
>   - schroot
>     This is a (somewhat friendlier) chroot wrapper. You do your
>     build in a chroot: your target architecture's build is going
>     to want packages which possibly conflict with your installed
>     ones (yes, there's multiarch, so you can have ARM libc installed
>     side by side with AMD64 libc, but some packages (Gtk, I'm
>     looking at you!) are not multi-arch capable.
>
>   - debootstrap
>     Installs a "base" Debian system in the (above) chroot (this will
>     be an ARM Debian in your case)
>
>   - binfmt-misc
>     This is a little nasty thing which looks at a binary and
>     says "oh, this looks like ARM: let's call qemu on it". Kinda
>     like the shebang line thingy on steroids.
>
>   - qemu-user-static
>     Somehow the ARM stuff in your (build) chroot has to be run.
>     That's qemu's part. Note that the schroot wrapper has facilities
>     to map the "right" emulator (via a bind-mount) into the chroot.
>
> A recommended package would be an apt cache, since you'll be
> building up many base systems with debootstrap to just tear them
> down. Downloading all those packages time and again gets boring
> soon (unless your Internet connection is faster than your disk,
> that is). Apt-cacher-ng seems a good choice.
>
> Alternatively there are pbuilder (aka "personal builder") and
> sbuild, from which I'd totally start with pbuilder, which is
> easier for quick and dirty jobs. Sbuild is more "official"
> (let's call it the "pro" version), so if you become a Debian
> developer, you should know this one too. But basically they do
> the process outlined above, chroot and all. I have the impression
> one has to understand the process beneath that anyway.
>
> Buildd is the automatic machinery Debian uses to (re-)build
> packages as new versions arrive, so that is again one floor
> above sbuild.
>
> Hope that gets you started.
>
> Cheers
> -- t

Many thanks Tomas, I hadn't figured it would be that complex, and after 
yesterdays experience with buildbot and buildd, a bit more "wary". 
buildd I think needs to be run in a jail with leak detectors. Valgrind?

Printed FFR, thanks again.


Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>