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

Thayer Williams thayerw at gmail.com
Wed Dec 23 13:48:43 EST 2009

OK so I'm done with school and now catching up on dev stuff.  Want to update
some packages, but I don't want to be beaten for my good deeds =)

After reading this thread I still have questions...and I'll preface this by
saying I have no previous experience with chroot environments (maybe I'm the
only one?):

On Dec 06, 2009 at 05:58 PM, Allan McRae <allan at archlinux.org> wrote:
> Paul Mattal wrote:
> >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?

I assumed we are suppose to build our packages in the svn-packages directory
which resides outside the chroot (as specified in the 'HOWTO Be A Packager'
article).  This was a bit ambiguous in the chroot article and should probably
be clarified.

> >Then I need to find the pacman.conf and  makepkg.conf.
> That is optional.  But most people want to keep their makepkg.conf
> for the PACKAGER variable and MAKEFLAGS.

What happens if we don't provide the -C and -M flags when building the
chroot?  Are default configs provided?  The wiki seems to suggest that by not
providing these flags mkarchroot will instead use 'dirty' configs.

The first time through the steps I grabbed the vanilla makepkg.conf and
pacman.conf from the pacman source, thinking that's what the wiki meant. Of
course that didn't work because makepkg.conf contains @ARCH@ instead of the
actual architecture.  

I'm probably the only idiot who's done this, but ambiguity remains for those
with no experience in this stuff.

> >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?
> Up to you...   I build for x86_64 and i686 on my i686 comp (running
> x86_64 kernel).  I know many people build for i686 on x86_64.  I
> used to have a separate build machine for x86_64.  All combinations
> can work.

Do we have a x86_64 build box at our dispoosal yet?  

If not, is anyone voluntarily building 64-bit packages?

If not, what are we to do if all we have is i686?  I read Allan's blog post
about userland x86_64 kernels, but that doesn't sound like a solution I want
to pursue.
> >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.
> In all honesty, I rarely ever create a new chroot but that is
> definitely the most difficult part of the lot. You should only need
> to create a chroot once...

So, if I'm understanding the advice from others, we should technically have
at least two chrootdirs...one for [testing] and one for everything else.  Is
that right?

Seeing how this is all mandatory now, we should really add another step to
the HOWTO Be A Packager article, along with a link to the chroot article.  I
can take care of that (and other minor edits) once I have a solid
understanding of the overall process.

More information about the arch-dev-public mailing list