On Thu, Jul 21, 2011 at 09:59:16PM +0200, Magnus Therning wrote:
For a while now I've been using some scripts to handle the details for creating build chroots, updating them, and triggering builds in them. It's all part of my work with building Haskell packages for Arch.
To create a chroot I used this line:
mkarchroot -f -C ${pacman_conf} \ -M /usr/share/devtools/makepkg-${arch}.conf ${CHROOT_ROOTDIR} \ util-linux-ng pacman sudo wget file grep base-devel ghc
Well, that is, I used that line up until yesterday, and it worked fine until then. Yesterday I ran into the problem that the command `find`, which is used by `makepkg`, was missing in the chroot. A little while later I found the same to be true for `gzip`. So, I added `findutils` and `gzip` to the list of packages to be installed.
Now, `makepkg` comes in the `pacman` package, and it doesn't have any dependencies on either of these packages, not even an optional dependency.
This leaves me with three questions:
1. Why does `pacman` (the package) not depend on `findutils` and `gzip`, when `makepkg` clearly needs both those packages to function properly?
Because both findutils and gzip are part of the "base" group and supposed to be installed on every Arch Linux setup.
2. Are there any other packages I ought to install in a build chroot besides those I've listed above?
Yeah, you can take the easy way out by just installing everything from base (and maybe base-devel if you intend to build stuff and need those utilities).
3. Dependencies of packages change over time, so is there a shortcut to making sure I always create a good build chroot (a group maybe)?
See above.