pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pbulk with a toolchain installed via pkgsrc

Greetings All,

Myself and some other Minix developers and users have been performing
bulk builds with pkgtools/pbulk on Minix. Minix is a little different
than the BSDs in that our toolchain (gcc, binutils, etc) isn't part of
the base system (like comp.tgz on NetBSD), it comes from pkgsrc
(devel/binutils, lang/gcc44, etc).

The first time I tried doing a bulk build I found out the hard way
that /usr/pkg gets blown away. There goes my toolchain. To get around
this, I backed up /usr/pkg to /usr/pkg.sav and added /usr/pkg.sav/bin
and /usr/pkg.sav/sbin to PATH. That works for the most part, but at
least one subtle bug was introduced.

archivers/gzip searches the path for bash for it's shell scripts (zcat
for example). bash is a dependency of gcc and is in our path in
/usr/pkg.sav/bin/bash. bash isn't listed as a dependency for gzip, so
it isn't in /usr/pkg/bin during the bulk build. As a result, the gzip
package ends up finding the bash in /usr/pkg.sav/bin and creates
scripts like zcat with a top line of "#!/usr/pkg.sav/bin/bash"

Is there a clean solution to bulk building with a toolchain installed
by pkgsrc? We don't want stuff in /usr/pkg.sav getting picked up
during bulk builds. I can only think of a few solutions and they
aren't very desirable...

1) Put the toolchain in the base system. This isn't good because we
want package management for our compilers, tools, etc.
2) Install the toolchain with pkgsrc in a different PREFIX like
/usr/toolchain/. This isn't good because package builds may find tools
in there and include them (like with gzip above).
3) Add the toolchain to the bootstrap script so that the compiler will
be in the binary kit. This would force casual users to install many
megabytes of development tools.

Or maybe I'm just being paranoid and gzip is the only place where this
type of issue exists?


Home | Main Index | Thread Index | Old Index