[arch-dev-public] Punishment needed for not building in a chroot

Paul Mattal paul at mattal.com
Sun Dec 6 19:42:52 EST 2009


Giovanni Scafora wrote:
> 2009/12/6, Allan McRae <allan at archlinux.org>:
>>  It is as simple as mkarchroot to make the chroot and makechrootpkg to build
>> the package (providing the path to the chroot as an arguement).
>>
>>  Making a chroot for the opposite architecture is slightly more difficult,
>> but I can provide patches if needed.
> 
> mkarchroot to make the chroot and makechrootpkg to build is very sample.
> I think that patches are not necessary...

I agree that it's pretty simple, but not simple enough to have removed 
the barrier to everyone doing it. So why not make it easier and get rid 
of more of the mystery?

Let's start at the beginning, with the recommended command for creating 
chroots:

sudo mkarchroot -C <pacman.conf> -M <makepkg.conf> <chrootdir>/root base 
base-devel sudo

For starters, I have to trust mkarchroot pretty well not to have any 
bugs, because I'm sudoing it. Then I need to find the pacman.conf and 
makepkg.conf. Then there's the chrootdir/root--- now do I create that 
first or not? How much of it? Who's going to own the stuff in there? 
What stuff will it put in there? Where will it keep the differencing 
data for the unionfs partition (so I can be sure to have enough disk 
around)?

Then I should decide-- if I have i686 and x86_64 boxes, is it better to 
do all my builds on 1 machine, or on separate boxes? Can I build i686 on 
x86_64? Can I build x86_64 on i686? If I'm going to set all this up, I'm 
probably going to set it up on several machines-- how can I do that easily?

I'm not saying people can't/won't/shouldn't do this. I'm saying it's not 
a particularly kept-simple part of a distro that prides itself on 
keeping things simple. People will do it if they trust it and it's 
simple and elegant, just like the rest of Arch.

- P




More information about the arch-dev-public mailing list