pkgsrc-Changes-HG archive

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

[pkgsrc/trunk]: pkgsrc/bootstrap Add support for the --sysconfdir argument, w...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/c7ce9edcf477
branches:  trunk
changeset: 472261:c7ce9edcf477
user:      jmmv <jmmv%pkgsrc.org@localhost>
date:      Wed Apr 07 12:05:37 2004 +0000

description:
Add support for the --sysconfdir argument, which changes the location of
configuration files.

>From now on, mk.conf is first searched under the value passed to the
sysconfdir argument (which defaults to ${prefix}/etc, to match pkgsrc's
PKG_SYSCONFDIR default value).  If not found, /etc/mk.conf is tried, to
not break existing installations which have the file in that location.
This is done to help with non-root installations of pkgsrc.

Also change pkgsrc's PKG_SYSCONFBASE value to match what is given to
sysconfdir, for consistency.

While doing this, rename $opsys.own.mk files to $opsys.own.mk.in for clarity,
as they now need sed replacements to work (i.e., the SYSCONFDIR stuff).

diffstat:

 bootstrap/bootstrap                     |   35 ++-
 bootstrap/mods/mk/IRIX.own.mk           |  244 -------------------------
 bootstrap/mods/mk/IRIX.own.mk.in        |  246 +++++++++++++++++++++++++
 bootstrap/mods/mk/OpenBSD.bsd.own.mk    |  306 -------------------------------
 bootstrap/mods/mk/OpenBSD.bsd.own.mk.in |  308 ++++++++++++++++++++++++++++++++
 bootstrap/mods/mk/bsd.own.mk.in         |    4 +-
 6 files changed, 578 insertions(+), 565 deletions(-)

diffs (truncated from 1283 to 300 lines):

diff -r 1ec78e5eed11 -r c7ce9edcf477 bootstrap/bootstrap
--- a/bootstrap/bootstrap       Wed Apr 07 12:02:08 2004 +0000
+++ b/bootstrap/bootstrap       Wed Apr 07 12:05:37 2004 +0000
@@ -1,6 +1,6 @@
 #! /bin/sh
 
-# $NetBSD: bootstrap,v 1.10 2004/03/29 02:20:04 tv Exp $
+# $NetBSD: bootstrap,v 1.11 2004/04/07 12:05:37 jmmv Exp $
 #
 #
 # Copyright (c) 2001-2002 Alistair G. Crooks.  All rights reserved.
@@ -41,6 +41,7 @@
 prefix=/usr/pkg
 pkgdbdir=/var/db/pkg
 pkgsrcdir=/usr/pkgsrc
+sysconfdir=${prefix}/etc
 
 ignorecasecheck=no
 ignoreusercheck=no
@@ -54,6 +55,7 @@
     [ --prefix=<prefix> ]
     [ --pkgdbdir=<pkgdbdir> ]
     [ --pkgsrcdir=<pkgsrcdir> ]
+    [ --sysconfdir=<sysconfdir> ]
     [ --ignore-case-check ]
     [ --ignore-user-check ]
     [ --help ]'
@@ -341,9 +343,11 @@
 while [ $# -gt 0 ]; do
        case $1 in
        --workdir=*)    wrkdir=`echo $1 | $sedprog -e 's|--workdir=||'` ;;
-       --prefix=*)     prefix=`echo $1 | $sedprog -e 's|--prefix=||'` ;;
+       --prefix=*)     prefix=`echo $1 | $sedprog -e 's|--prefix=||'`
+                       sysconfdir=${prefix}/etc ;;
        --pkgdbdir=*)   pkgdbdir=`echo $1 | $sedprog -e 's|--pkgdbdir=||'` ;;
        --pkgsrcdir=*)  pkgsrcdir=`echo $1 | $sedprog -e 's|--pkgsrcdir=||'` ;;
+       --sysconfdir=*) sysconfdir=`echo $1 | $sedprog -e 's|--sysconfdir=||'`;;
        --ignore-case-check) ignorecasecheck=yes ;;
        --ignore-user-check) ignoreusercheck=yes ;;
        --help)         echo "$usage"; exit ;;
@@ -422,7 +426,7 @@
 MKCONF_EXAMPLE=${wrkdir}/mk.conf.example
 export MKCONF_EXAMPLE
 echo_msg "Creating mk.conf.example in ${wrkdir}"
-echo "# Example /etc/mk.conf file produced by bootstrap-pkgsrc" > ${MKCONF_EXAMPLE}
+echo "# Example ${sysconfdir}/mk.conf file produced by bootstrap-pkgsrc" > ${MKCONF_EXAMPLE}
 echo "# `date`" >> ${MKCONF_EXAMPLE}
 echo "" >> ${MKCONF_EXAMPLE}
 echo ".ifdef BSD_PKG_MK        # begin pkgsrc settings" >> ${MKCONF_EXAMPLE}
@@ -440,6 +444,9 @@
 # save environment in example mk.conf
 echo "PKG_DBDIR=$pkgdbdir" >> ${MKCONF_EXAMPLE}
 echo "LOCALBASE=$prefix" >> ${MKCONF_EXAMPLE}
+if [ "${sysconfdir}" != "${prefix}/etc" ]; then
+       echo "PKG_SYSCONFBASE=$sysconfdir" >> ${MKCONF_EXAMPLE}
+fi
 
 # create directories
 mkdir_p $prefix $pkgdbdir $prefix/sbin
@@ -469,11 +476,11 @@
        run_cmd "$cpprog mods/mk/$opsys.bsd.man.mk $prefix/share/mk/bsd.man.mk"
 fi
 
+own_mk=mods/mk/bsd.own.mk.in
 if [ -f mods/mk/$opsys.bsd.own.mk ] ; then
-       run_cmd "$cpprog mods/mk/$opsys.bsd.own.mk $prefix/share/mk/bsd.own.mk"
-else
-       run_cmd "$sedprog -e 's|@ROOT_GROUP@|'$root_group'|g;s|@ROOT_USER@|'$root_user'|g' mods/mk/bsd.own.mk.in > $prefix/share/mk/bsd.own.mk"
+       own_mk=mods/mk/$opsys.bsd.own.mk.in
 fi
+run_cmd "$sedprog -e 's|@ROOT_GROUP@|'$root_group'|g;s|@ROOT_USER@|'$root_user'|g;s|@SYSCONFDIR@|'$sysconfdir'|g' $own_mk > $prefix/share/mk/bsd.own.mk"
 
 if [ -f mods/mk/$opsys.bsd.prog.mk ] ; then
        run_cmd "$cpprog mods/mk/$opsys.bsd.prog.mk $prefix/share/mk/bsd.prog.mk"
@@ -505,7 +512,7 @@
 # build libnbcompat
 echo_msg "Building libnbcompat"
 copy_src ../pkgtools/libnbcompat/files libnbcompat
-run_cmd "(cd $wrkdir/libnbcompat; $shprog ./configure -C --prefix=$prefix && $prefix/bin/bmake)"
+run_cmd "(cd $wrkdir/libnbcompat; $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir && $prefix/bin/bmake)"
 
 # bootstrap tnftp
 case "$DEBIAN" in
@@ -515,7 +522,7 @@
 esac
 echo_msg "Installing tnftp"
 copy_src ../net/tnftp/files tnftp
-run_cmd "(cd $wrkdir/tnftp; env $BSTRAP_ENV $shprog ./configure --prefix=$prefix && make && (cd src && make install))"
+run_cmd "(cd $wrkdir/tnftp; env $BSTRAP_ENV $shprog ./configure --prefix=$prefix --sysconfdir=$sysconfdir && make && (cd src && make install))"
 pkg_install_args="$pkg_install_args --with-ftp=$prefix/bin/ftp"
 
 FETCH_CMD=$prefix/bin/ftp
@@ -525,7 +532,7 @@
 # bootstrap digest
 echo_msg "Installing digest"
 copy_src ../pkgtools/digest/files digest
-run_cmd "(cd $wrkdir/digest; env $BSTRAP_ENV $shprog ./configure -C --prefix=$prefix && make && make install)"
+run_cmd "(cd $wrkdir/digest; env $BSTRAP_ENV $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir && make && make install)"
 
 # create the digest package's meta files
 digestversion=digest-`$awkprog -F "'" '/^PACKAGE_VERSION=/ {print $2}' $wrkdir/digest/configure`
@@ -539,7 +546,7 @@
 case "$need_pax" in
 yes)   echo_msg "Installing pax"
        copy_src ../archivers/pax/files pax
-       run_cmd "(cd $wrkdir/pax; env $BSTRAP_ENV CPPFLAGS='-I../libnbcompat' LDFLAGS='-L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix && $prefix/bin/bmake && 
$prefix/bin/bmake install)"
+       run_cmd "(cd $wrkdir/pax; env $BSTRAP_ENV CPPFLAGS='-I../libnbcompat' LDFLAGS='-L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir && 
$prefix/bin/bmake && $prefix/bin/bmake install)"
        echo "PAX=$prefix/bin/pax" >> ${MKCONF_EXAMPLE}
        pkg_install_args="$pkg_install_args --with-pax=$prefix/bin/pax --with-tar=$prefix/bin/tar"
        ;;
@@ -552,7 +559,7 @@
 case "$need_mtree" in
 yes)   echo_msg "Installing mtree"
        copy_src ../pkgtools/mtree/files mtree
-       run_cmd "(cd $wrkdir/mtree; env $BSTRAP_ENV CPPFLAGS='-I../libnbcompat' LDFLAGS='-L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix && $prefix/bin/bmake && 
$prefix/bin/bmake install)"
+       run_cmd "(cd $wrkdir/mtree; env $BSTRAP_ENV CPPFLAGS='-I../libnbcompat' LDFLAGS='-L../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir && 
$prefix/bin/bmake && $prefix/bin/bmake install)"
        pkg_install_args="$pkg_install_args --with-mtree=$prefix/sbin/mtree"
        ;;
 *)     pkg_install_args="$pkg_install_args --with-mtree=$mtreeprog"
@@ -563,7 +570,7 @@
 case "$need_sed" in
 yes)   echo_msg "Installing sed"
        copy_src ../textproc/nbsed/files sed
-       run_cmd "(cd $wrkdir/sed; env $BSTRAP_ENV $shprog ./configure -C --prefix=$prefix && make && make install)"
+       run_cmd "(cd $wrkdir/sed; env $BSTRAP_ENV $shprog ./configure -C --prefix=$prefix --sysconfdir=$sysconfdir && make && make install)"
        echo "SED=$prefix/bin/nbsed" >> ${MKCONF_EXAMPLE}
        ;;
 esac
@@ -575,7 +582,7 @@
 if [ "$prefix" = "/usr" ]; then
        pkg_install_mandir="$prefix/share/man"
 fi
-run_cmd "(cd $wrkdir/pkg_install; env $BSTRAP_ENV CPPFLAGS='-I../libnbcompat -I../../libnbcompat' LDFLAGS='-L../libnbcompat -L../../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C 
--prefix=$prefix --with-pkgdbdir=$pkgdbdir --mandir=$pkg_install_mandir $pkg_install_args && $prefix/bin/bmake && $prefix/bin/bmake install)"
+run_cmd "(cd $wrkdir/pkg_install; env $BSTRAP_ENV CPPFLAGS='-I../libnbcompat -I../../libnbcompat' LDFLAGS='-L../libnbcompat -L../../libnbcompat' LIBS='-lnbcompat' $shprog ./configure -C 
--prefix=$prefix --sysconfdir=$sysconfdir --with-pkgdbdir=$pkgdbdir --mandir=$pkg_install_mandir $pkg_install_args && $prefix/bin/bmake && $prefix/bin/bmake install)"
 
 # all's ready, install the man page
 echo_msg "Installing packages(7) man page"
@@ -593,7 +600,7 @@
 echo ""
 echo "An example mk.conf file \"${MKCONF_EXAMPLE}\" with the settings you"
 echo "provided to \"bootstrap\" has been created for you."
-echo "Please copy ${MKCONF_EXAMPLE} to /etc/mk.conf."
+echo "Please copy ${MKCONF_EXAMPLE} to ${sysconfdir}/mk.conf."
 echo ""
 echo "You can find extensive documentation of the NetBSD Packages Collection"
 echo "in $pkgsrcdir/Packages.txt and packages(7)."
diff -r 1ec78e5eed11 -r c7ce9edcf477 bootstrap/mods/mk/IRIX.own.mk
--- a/bootstrap/mods/mk/IRIX.own.mk     Wed Apr 07 12:02:08 2004 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,244 +0,0 @@
-#      $NetBSD: IRIX.own.mk,v 1.1.1.1 2004/03/11 13:04:00 grant Exp $
-
-.if !defined(_IRIX_OWN_MK_)
-_IRIX_OWN_MK_=1
-
-.if defined(MAKECONF) && exists(${MAKECONF})
-.include "${MAKECONF}"
-.elif exists(/etc/mk.conf)
-.include "/etc/mk.conf"
-.endif
-
-# Defining `SKEY' causes support for S/key authentication to be compiled in.
-SKEY=          yes
-
-# where the system object and source trees are kept; can be configurable
-# by the user in case they want them in ~/foosrc and ~/fooobj, for example
-BSDSRCDIR?=    /opt/bsd/src
-BSDOBJDIR?=    /opt/bsd/obj
-
-BINGRP?=       @ROOT_GROUP@
-BINOWN?=       root
-BINMODE?=      555
-NONBINMODE?=   444
-
-# Define MANZ to have the man pages compressed (gzip)
-#MANZ=         1
-
-MANDIR?=       /usr/share/man
-MANGRP?=       @ROOT_GROUP@
-MANOWN?=       ${BINOWN}
-MANMODE?=      ${NONBINMODE}
-MANINSTALL?=   maninstall catinstall
-
-INFODIR?=      /usr/share/info
-INFOGRP?=      @ROOT_GROUP@
-INFOOWN?=      ${BINOWN}
-INFOMODE?=     ${NONBINMODE}
-
-LIBDIR?=       /usr/lib
-LINTLIBDIR?=   ${LIBDIR}/lint
-LIBGRP?=       ${BINGRP}
-LIBOWN?=       ${BINOWN}
-LIBMODE?=      ${NONBINMODE}
-
-DOCDIR?=       /usr/share/doc
-HTMLDOCDIR?=   /usr/share/doc/html
-DOCGRP?=       @ROOT_GROUP@
-DOCOWN?=       ${BINOWN}
-DOCMODE?=      ${NONBINMODE}
-
-NLSDIR?=       /usr/share/nls
-NLSGRP?=       @ROOT_GROUP@
-NLSOWN?=       ${BINOWN}
-NLSMODE?=      ${NONBINMODE}
-
-LOCALEDIR?=    /usr/lib/locale
-LOCALEGRP?=    @ROOT_GROUP@
-LOCALEOWN?=    ${BINOWN}
-LOCALEMODE?=   ${NONBINMODE}
-
-COPY?=         -c
-.if defined(UPDATE)
-PRESERVE?=     -p
-.else
-PRESERVE?=
-.endif
-.if defined(UNPRIVILEGED)
-INSTPRIV?=     -U
-.endif
-STRIPFLAG?=    -s
-
-# Define SYS_INCLUDE to indicate whether you want symbolic links to the system
-# source (``symlinks''), or a separate copy (``copies''); (latter useful
-# in environments where it's not possible to keep /sys publicly readable)
-#SYS_INCLUDE=  symlinks
-
-OBJECT_FMT?=ELF
-
-# GNU sources and packages sometimes see architecture names differently.
-# This table maps an architecture name to its GNU counterpart.
-# Use as so:  ${GNU_ARCH.${TARGET_ARCH}} or ${MACHINE_GNU_ARCH}
-.ifndef MACHINE_GNU_ARCH
-GNU_ARCH.alpha=alpha
-GNU_ARCH.arm26=arm
-GNU_ARCH.arm32=arm
-GNU_ARCH.arm=arm
-GNU_ARCH.i386=i386
-GNU_ARCH.m68k=m68k
-GNU_ARCH.mipseb=mipseb
-GNU_ARCH.mipsel=mipsel
-GNU_ARCH.ns32k=ns32k
-GNU_ARCH.powerpc=powerpc
-GNU_ARCH.sh3eb=sh
-GNU_ARCH.sh3el=sh
-GNU_ARCH.sparc=sparc
-GNU_ARCH.sparc64=sparc64
-GNU_ARCH.vax=vax
-MACHINE_GNU_ARCH=${GNU_ARCH.${MACHINE_ARCH}}
-.endif
-
-# CPU model, derived from MACHINE_ARCH
-MACHINE_CPU=   ${MACHINE_ARCH:C/mipse[bl]/mips/:S/arm26/arm/:S/arm32/arm/:C/sh3e[bl]/sh3/:S/m68000/m68k/}
-
-TARGETS+=      all clean cleandir depend dependall includes \
-               install lint obj regress tags html installhtml cleanhtml
-.PHONY:                all clean cleandir depend dependall distclean includes \
-               install lint obj regress tags beforedepend afterdepend \
-               beforeinstall afterinstall realinstall realdepend realall \
-               html installhtml cheanhtml
-
-# set NEED_OWN_INSTALL_TARGET, if it's not already set, to yes
-# this is used by bsd.pkg.mk to stop "install" being defined
-NEED_OWN_INSTALL_TARGET?=      yes
-
-.if ${NEED_OWN_INSTALL_TARGET} == "yes"
-.if !target(install)
-install:       .NOTMAIN beforeinstall subdir-install realinstall afterinstall
-beforeinstall: .NOTMAIN
-subdir-install:        .NOTMAIN beforeinstall
-realinstall:   .NOTMAIN beforeinstall
-afterinstall:  .NOTMAIN subdir-install realinstall
-.endif
-all:           .NOTMAIN realall subdir-all
-subdir-all:    .NOTMAIN
-realall:       .NOTMAIN
-depend:                .NOTMAIN realdepend subdir-depend
-subdir-depend: .NOTMAIN
-realdepend:    .NOTMAIN
-distclean:     .NOTMAIN cleandir
-.endif
-
-PRINTOBJDIR=   printf "xxx: .MAKE\n\t@echo \$${.OBJDIR}\n" | ${MAKE} -B -s -f-
-
-# Define MKxxx variables (which are either yes or no) for users
-# to set in /etc/mk.conf and override on the make commandline.
-# These should be tested with `== "no"' or `!= "no"'.
-# The NOxxx variables should only be used by Makefiles.
-#
-
-MKCATPAGES?=yes
-
-.if defined(NODOC)
-MKDOC=no
-#.elif !defined(MKDOC)
-#MKDOC=yes
-.else
-MKDOC?=yes
-.endif
-
-MKINFO?=yes



Home | Main Index | Thread Index | Old Index