[arch-general] makepkg and its dependencies, how to create a good build chroot?
Lukas Fleischer
archlinux at cryptocrack.de
Thu Jul 21 16:10:40 EDT 2011
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.
More information about the arch-general
mailing list