Subject: CVS commit: [pkgviews-mk] pkgsrc/mk
To: None <pkgsrc-changes@NetBSD.org>
From: Johnny C. Lam <jlam@netbsd.org>
List: pkgsrc-changes
Date: 07/29/2003 20:34:21
Module Name:	pkgsrc
Committed By:	jlam
Date:		Tue Jul 29 20:34:21 UTC 2003

Modified Files:
	pkgsrc/mk [pkgviews-mk]: bsd.pkg.install.mk bsd.pkg.mk bsd.prefs.mk
	pkgsrc/mk/install [pkgviews-mk]: deinstall header install

Log Message:
Config file handling in the pkgviews world is that each package
installed on the system has a unique config file directory by default,
and that the config files are symlinked into view-friendly places
during the VIEW-INSTALL step.  There are three cases:

(1) If PKG_SYSCONFBASE points to somewhere under PREFIX, then we don't
    have to do anything, as everything (except for scratch files:
    *[~#], *.OLD, *.orig, *,v) in PREFIX is symlinked into the view
    automatically when the package is added to the view using
    pkg_view(1).

(2) If PKG_SYSCONFBASE points outside of PREFIX, then we construct a
    PKG_SYSCONFDIR as:

	${PKG_SYSCONFBASE}/${DEPOT_SUBDIR}/${PKGNAME}

    This mirrors the directory layout in ${LOCALBASE}/${X11BASE} for
    depoted packages.  Then during VIEW-INSTALL time, we "add" a view
    to the package config files by using linkfarm(1) to symlink
    everything (again, except for scratch files) from PKG_SYSCONFDIR
    into PKG_SYSCONFBASE.

(3) If PKG_SYSCONFDIR.${PKG_SYSCONFVAR} is set, then we don't do any
    view-friendly symlinking.

Case (1) is the default.  Case (2) handles the NFS-shared /usr/pkg
case where config files really shouldn't be shared, and the usual
setting of PKG_SYSCONFBASE=/etc in /etc/mk.conf should do the right
thing.  Case (3) tries to avoid being overly smart and possibly
messing up when the package builder does something special for the
package.


To generate a diff of this commit:
cvs rdiff -r1.40.4.1 -r1.40.4.2 pkgsrc/mk/bsd.pkg.install.mk
cvs rdiff -r1.1216.2.11 -r1.1216.2.12 pkgsrc/mk/bsd.pkg.mk
cvs rdiff -r1.118.2.3 -r1.118.2.4 pkgsrc/mk/bsd.prefs.mk
cvs rdiff -r1.17.2.1 -r1.17.2.2 pkgsrc/mk/install/deinstall
cvs rdiff -r1.17.4.1 -r1.17.4.2 pkgsrc/mk/install/header
cvs rdiff -r1.20.2.2 -r1.20.2.3 pkgsrc/mk/install/install

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.