Re: buildd and buildbot
On Friday 17 May 2019 04:29:04 am tomas@tuxteam.de 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>
Reply to: