[arch-dev-public] Building in chroots
aaronmgriffin at gmail.com
Wed Jan 14 11:11:58 EST 2009
On Wed, Jan 14, 2009 at 1:07 AM, Allan McRae <allan at archlinux.org> wrote:
> Aaron Griffin wrote:
>> On Tue, Jan 13, 2009 at 10:20 PM, Allan McRae <allan at archlinux.org> wrote:
>>> It has come to my attention that some people are not building packages in
>>> clean chroot and others are managing the chroots themselves so I wrote a
>>> brief wiki entry on the scripts provided in devtools to do this . Any
>>> comments on how to improve it would be appreciated. I have not added a
>>> section on using these tools to build i686 packages on x86_64 as I have
>>> attempted that, so if someone could try that out and add it to the page,
>>> that would be appreciated.
>> Great writeup Allan. I had been meaning to do this for some time.
>> The only thing I can think of would be a mention that this does use
>> unionfs to maintain the clean chroot, so all changes made while
>> building, and all deps installed (as depends or makedepends) are never
>> installed to the actual chroot itself. So no matter what, the chroot
>> is always clean (though the <chrootdir>/rw dir may become dirty.
>> I don't know if you'd phrase that better than I. It's always good to
>> see docs written by someone who did not make the tools themselves. It
>> helps clear things up.
> I will add some clarification along these lines to the page.
>> When I was running the 64bit build server, I actually had one main
>> chroot at /var/archroot/ and symlinked that in
>> /etc/skel/<chrootdir>/root. This way all users on the system shared
>> one global chroot, which was updated by a cron job ever hour or so.
>> Additionally, I never tested this with 32bit chroots on a 64bit
>> system. I *think* it might just be a matter of running things with
>> "linux32", but I'm not too sure.
> Having a comp for each arch, I have never tried any of this out so be
> prepared for the potentially stupid question that follows... Is that the
> "linux32" from util-linux-ng? Because I notice there is a linux64 in that
> package too. So can I build x86_64 packages on my i686 using that (given my
> processor supports x86_64)? I guess I might need a non-standard kernel to
> do that...
Not sure, exactly. It'd be nice to have a way to cross-compile
packages, though. I had been meaning to look into it.
More information about the arch-dev-public