Skip to content

Commit

Permalink
Teach the pkgsrc infrastructure to Just Know when the pkginstall
Browse files Browse the repository at this point in the history
framework should be used.  This is implemented by creating a small
file mk/install/pkginstall.mk that guards the implementation makefile
mk/install/bsd.pkginstall.mk.  This guard file just checks whether
one of the pkginstall-related variables is non-empty, and if so, then
the implementation file is automatically included.  This completely
deprecates USE_PKGINSTALL, which no longer has any affect in pkgsrc.
  • Loading branch information
jlam committed Dec 29, 2005
1 parent 9f1272c commit a1ef058
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 18 deletions.
15 changes: 2 additions & 13 deletions mk/bsd.pkg.mk
@@ -1,4 +1,4 @@
# $NetBSD: bsd.pkg.mk,v 1.1774 2005/12/05 22:07:07 rillig Exp $
# $NetBSD: bsd.pkg.mk,v 1.1775 2005/12/29 06:18:53 jlam Exp $
#
# This file is in the public domain.
#
Expand Down Expand Up @@ -505,18 +505,7 @@ PLIST_SUBST+= OPSYS=${OPSYS:Q} \
#
.include "../../mk/alternatives.mk"

# CONF_DEPENDS notes a dependency where the config directory for the
# package matches the dependency's config directory. CONF_DEPENDS is
# only meaningful if ${PKG_INSTALLATION_TYPE} == "pkgviews".
#
CONF_DEPENDS?= # empty
.if !empty(CONF_DEPENDS)
USE_PKGINSTALL= yes
.endif

.if defined(USE_PKGINSTALL) && !empty(USE_PKGINSTALL:M[yY][eE][sS])
. include "../../mk/install/bsd.pkginstall.mk"
.endif
.include "../../mk/install/pkginstall.mk"

# Set INSTALL_FILE to be the name of any INSTALL file
.if !defined(INSTALL_FILE) && exists(${PKGDIR}/INSTALL)
Expand Down
10 changes: 5 additions & 5 deletions mk/install/bsd.pkginstall.mk
@@ -1,10 +1,10 @@
# $NetBSD: bsd.pkginstall.mk,v 1.31 2005/12/29 03:44:38 jlam Exp $
# $NetBSD: bsd.pkginstall.mk,v 1.32 2005/12/29 06:18:53 jlam Exp $
#
# This Makefile fragment is included by bsd.pkg.mk to use the common
# INSTALL/DEINSTALL scripts. To use this Makefile fragment, simply:
# This Makefile fragment is included by mk/install/pkginstall.mk and is
# the implemenation file for the common INSTALL/DEINSTALL scripts
# framework. To use the pkginstall framework, simply set the relevant
# variables to customize the install scripts to the package.
#
# (1) Set the variables to customize the install scripts to the package, and
# (2) Set USE_PKGINSTALL to YES in the package Makefile.

.if defined(BSD_PKG_INSTALL_MK)
PKG_FAIL_REASON+= "[bsd.pkginstall.mk] Must not be included directly."
Expand Down
47 changes: 47 additions & 0 deletions mk/install/pkginstall.mk
@@ -0,0 +1,47 @@
# $NetBSD: pkginstall.mk,v 1.1 2005/12/29 06:18:53 jlam Exp $
#
# This Makefile fragment is included by bsd.pkg.mk and determines whether
# or not the bsd.pkginstall.mk implementation file should be included.
#
# _PKGINSTALL_VARS is a list of the variables that, if non-empty, indicate
# that the pkginstall framework should be used. These variables
# should be extracted from bsd.pkginstall.mk and are typically the
# variables named in the INSTALL_<SCRIPT>_MEMBERS lists.
#
# The variables listed in _PKGINSTALL_VARS are documented in
# mk/install/bsd.pkginstall.mk.
#
_PKGINSTALL_VARS+= HEADER_EXTRA_TMPL
_PKGINSTALL_VARS+= DEINSTALL_PRE_TMPL DEINSTALL_EXTRA_TMPL \
DEINSTALL_TMPL
_PKGINSTALL_VARS+= INSTALL_TMPL INSTALL_EXTRA_TMPL \
INSTALL_POST_TMPL INSTALL_UNPACK_TMPL
_PKGINSTALL_VARS+= DEINSTALL_SRC INSTALL_SRC

_PKGINSTALL_VARS+= PKG_GROUPS PKG_USERS
_PKGINSTALL_VARS+= SPECIAL_PERMS
_PKGINSTALL_VARS+= CONF_FILES CONF_FILES_PERMS \
REQD_FILES REQD_FILES_PERMS \
RCD_SCRIPTS
_PKGINSTALL_VARS+= MAKE_DIRS MAKE_DIRS_PERMS \
REQD_DIRS REQD_DIRS_PERMS \
OWN_DIRS OWN_DIRS_PERMS
_PKGINSTALL_VARS+= PKG_SHELL
_PKGINSTALL_VARS+= FONTS_DIRS.ttf FONTS_DIRS.type1 FONTS_DIRS.x11

# CONF_DEPENDS notes a dependency where the config directory for the
# package matches the dependency's config directory. CONF_DEPENDS is
# only meaningful if PKG_INSTALLATION_TYPE is "pkgviews".
#
_PKGINSTALL_VARS+= CONF_DEPENDS

_USE_PKGINSTALL= no
.for _var_ in ${_PKGINSTALL_VARS}
. if !empty(${_var_})
_USE_PKGINSTALL= yes
. endif
.endfor

.if !empty(_USE_PKGINSTALL:M[yY][eE][sS])
. include "../../mk/install/bsd.pkginstall.mk"
.endif

0 comments on commit a1ef058

Please sign in to comment.