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

Eric Bélanger snowmaniscool at gmail.com
Mon Dec 7 13:19:49 EST 2009

On Sun, Dec 6, 2009 at 9:36 PM, Giovanni Scafora <giovanni at archlinux.org> wrote:
> 2009/12/6, Eric Bélanger <snowmaniscool at gmail.com>:
>> I have an helper script to manage my many chroots (testing,
>>  non-testing, i686, x86_64). It's somewhat trivial but I could post it
>>  if someone's interested.
> I'm interested, please post it!

Script is here:


It assumes that your chroots are in /mnt and follow this naming scheme:

for non-testing chroot: /mnt/arch$ARCH_$NUM
for testing chroot: /mnt/arch$ARCH-testing_$NUM

$ARCH is either 32 or 64 and $NUM is the number of the chroot.

If your chroot don't follow that scheme, add symlinks or modify the
script accordingly.

Usage: there are 3 switches that basically implements what Allan's
posted before.

- to update a specific chroot or group of chroots :
# buildroot -u current64_1
# buildroot -u testing64_1

- to build package in a specific chroot:
# buildroot -b current64_1
# buildroot -b testing64_1

- to build package in a specific chroot and use custom repo in chroot
(for rebuild):
# buildroot -i current64_1
# buildroot -i testing64_1

You'll need to add:
Server = file:///repo
in your chroot's pacman.conf to be able to use the chroot repo.

- the -i switch is relatively new. I only used it when updating gimp
and gimp-devel.  It seem to work fine but it hadn't seen much
use/testing yet.
- the chroot32 reference is a i686 chroot that I use to install and
test i686 packages on my x86_64 system. I use Thomas' capchroot for
- BTW, the script currently copy the built package in your cache. This
is a workaround for a makepkg behavior that will be improved next time
it'll be updated. Feel free to remove the cp lines.

Hopefully that explains everything. Questions/comments welcome. If
there's enough interest by many people, I could make the script more
general and less hackish.

More information about the arch-dev-public mailing list