diff options
author | jmmv <jmmv> | 2005-05-29 17:15:25 +0000 |
---|---|---|
committer | jmmv <jmmv> | 2005-05-29 17:15:25 +0000 |
commit | 2b593711723479a0cdcd6c8742ac49ed3c300fd0 (patch) | |
tree | 76176c14ec130997c298f66b2d38c77c0fefc1d7 /bootstrap | |
parent | 76b77ebecbe7267e149c745108ac8467a59da6f9 (diff) | |
download | pkgsrc-2b593711723479a0cdcd6c8742ac49ed3c300fd0.tar.gz |
Simplify usage as non-root. When given the --ignore-user-check, change
default installation paths to be inside ~/pkg and define UNPRIVILEGED=yes
in the generated mk.conf. This lets regular users to simply bootstrap by
doing './bootstrap --ignore-user-check'.
Diffstat (limited to 'bootstrap')
-rwxr-xr-x | bootstrap/bootstrap | 36 |
1 files changed, 30 insertions, 6 deletions
diff --git a/bootstrap/bootstrap b/bootstrap/bootstrap index a2843ab8831..6d4ea6f94d6 100755 --- a/bootstrap/bootstrap +++ b/bootstrap/bootstrap @@ -1,6 +1,6 @@ #! /bin/sh -# $NetBSD: bootstrap,v 1.38 2005/05/25 07:06:54 rillig Exp $ +# $NetBSD: bootstrap,v 1.39 2005/05/29 17:15:25 jmmv Exp $ # # # Copyright (c) 2001-2002 Alistair G. Crooks. All rights reserved. @@ -37,11 +37,6 @@ BOOTSTRAP_VERSION=20050419 -# set defaults for system locations -prefix=/usr/pkg -pkgdbdir=/var/db/pkg -sysconfdir=${prefix}/etc - ignorecasecheck=no ignoreusercheck=no @@ -57,6 +52,7 @@ usage="Usage: $0 "' [ --prefix <prefix> ] [ --pkgdbdir <pkgdbdir> ] [ --sysconfdir <sysconfdir> ] + [ --varbase <varbase> ] [ --ignore-case-check ] [ --ignore-user-check ] [ --preserve-path ] @@ -234,6 +230,13 @@ build_start=`date` echo_msg "bootstrap command: $0 $@" echo_msg "bootstrap started: $build_start" +# ensure system locations are empty; we will set them later when we know +# whether they will be system wide or user specific +prefix= +pkgdbdir= +sysconfdir= +varbase= + while [ $# -gt 0 ]; do case $1 in --workdir=*) wrkdir=`get_optarg "$1"` ;; @@ -246,6 +249,7 @@ while [ $# -gt 0 ]; do --pkgdbdir) pkgdbdir="$2"; shift ;; --sysconfdir=*) sysconfdir=`get_optarg "$1"` ;; --sysconfdir) sysconfdir="$2"; shift ;; + --varbase) varbase="$2"; shift ;; --ignore-case-check) ignorecasecheck=yes ;; --ignore-user-check) ignoreusercheck=yes ;; --preserve-path) preserve_path=yes ;; @@ -256,6 +260,19 @@ while [ $# -gt 0 ]; do shift done +# set defaults for system locations if not already set by the user +if [ "$ignoreusercheck" = "yes" ]; then + [ -z "$prefix" ] && prefix=${HOME}/pkg + [ -z "$pkgdbdir" ] && pkgdbdir=${prefix}/var/db/pkg + [ -z "$sysconfdir" ] && sysconfdir=${prefix}/etc + [ -z "$varbase" ] && varbase=${prefix}/var +else + [ -z "$prefix" ] && prefix=/usr/pkg + [ -z "$pkgdbdir" ] && pkgdbdir=/var/db/pkg + [ -z "$sysconfdir" ] && sysconfdir=${prefix}/etc + [ -z "$varbase" ] && varbase=/var +fi + if [ "x$preserve_path" != "xyes" ]; then PATH="$PATH:/sbin:/usr/sbin" fi @@ -540,6 +557,7 @@ if [ -d /usr/ccs/bin -a -x /usr/ccs/bin/make ]; then fi PKG_DBDIR=$pkgdbdir; export PKG_DBDIR LOCALBASE=$prefix; export LOCALBASE +VARBASE=$varbase; export VARBASE # build libnbcompat echo_msg "Building libnbcompat" @@ -569,9 +587,15 @@ if [ ! -z "$compiler" ]; then fi +# enable unprivileged builds if not root +if [ "$ignoreusercheck" = "yes" ]; then + echo "UNPRIVILEGED=yes" >> ${MKCONF_EXAMPLE} +fi + # save environment in example mk.conf echo "PKG_DBDIR=$pkgdbdir" >> ${MKCONF_EXAMPLE} echo "LOCALBASE=$prefix" >> ${MKCONF_EXAMPLE} +echo "VARBASE=$varbase" >> ${MKCONF_EXAMPLE} if [ "${sysconfdir}" != "${prefix}/etc" ]; then echo "PKG_SYSCONFBASE=$sysconfdir" >> ${MKCONF_EXAMPLE} fi |