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.