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@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.