TritonDataCenter / pkgsrc

NetBSD/pkgsrc fork for our binary package repositories
https://pkgsrc.smartos.org/
132 stars 51 forks source link

bootstrap install to non-default location #307

Closed kflu closed 3 years ago

kflu commented 3 years ago

Looks like joyent pkgsrc bootstrap installs to the default location /usr/pkg. Is there a way to customize the prefix, say, to non-previleged directory like $HOME/pkg?

This is what I was talking about - in e.g., https://pkgsrc.joyent.com/install-on-linux/, it says

# Install bootstrap kit to /usr/pkg
sudo tar -zxpf ${BOOTSTRAP_TAR} -C /

If I change to -c $HOME/pkg, then when I do pkgin list, it will complain "cannot find /usr/pkg/sbin/pkg_admin". So it apparently is "hard coded".

jperkin commented 3 years ago

Binary package sets are hardcoded to their chosen prefix, but you can build your own packages easily. Grab a copy of pkgsrc, then:

cd pkgsrc/bootstrap
./bootstrap --unprivileged --prefix=$HOME/pkg

Then build your chosen packages as normal, e.g.:

cd pkgsrc/sysutils/coreutils
bmake install

More information available in the pkgsrc guide.

kflu commented 3 years ago

Thanks. But I want to use Joyent's pre-built packages via pkgin. I don't want to build from source myself, since that's very slow.

jperkin commented 3 years ago

Yeh that's not possible, the prefix will be hardcoded into a huge number of places and there's no way to change that.