2018-11-30 19:38:19 +01:00
|
|
|
# $NetBSD: bsd.pkgtasks.mk,v 1.9 2018/11/30 18:38:20 rillig Exp $
|
2017-06-01 04:06:04 +02:00
|
|
|
#
|
|
|
|
# Copyright (c) 2017 The NetBSD Foundation, Inc.
|
|
|
|
# All rights reserved.
|
|
|
|
#
|
|
|
|
# This code is derived from software contributed to The NetBSD Foundation
|
|
|
|
# by Johnny C. Lam.
|
|
|
|
#
|
|
|
|
# Redistribution and use in source and binary forms, with or without
|
|
|
|
# modification, are permitted provided that the following conditions
|
|
|
|
# are met:
|
|
|
|
# 1. Redistributions of source code must retain the above copyright
|
|
|
|
# notice, this list of conditions and the following disclaimer.
|
|
|
|
# 2. Redistributions in binary form must reproduce the above copyright
|
|
|
|
# notice, this list of conditions and the following disclaimer in the
|
|
|
|
# documentation and/or other materials provided with the distribution.
|
|
|
|
#
|
|
|
|
# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
|
|
|
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
|
|
# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
|
|
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
|
|
|
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
|
|
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
|
|
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
|
|
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
|
|
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
|
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
|
|
# POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
|
|
|
|
# PKG_CONFIG
|
|
|
|
# User-settable variable for whether the directory- and
|
|
|
|
# file-handling should be performed automatically, or if the
|
|
|
|
# user should be warned instead.
|
|
|
|
#
|
|
|
|
# Possible: yes, no (case-insensitive)
|
|
|
|
# Default: yes
|
|
|
|
#
|
|
|
|
# PKG_CONFIG_PERMS
|
|
|
|
# User-settable variable for whether to set permissions and
|
|
|
|
# ownership on files and directories, or if the user should be
|
|
|
|
# warned instead.
|
|
|
|
#
|
|
|
|
# Possible: yes, no (case-insensitive)
|
|
|
|
# Default: yes
|
|
|
|
#
|
|
|
|
# PKG_CREATE_USERGROUP
|
|
|
|
# User-settable variable for whether groups and users should be
|
|
|
|
# added automatically, or if the user should be warned instead.
|
|
|
|
#
|
|
|
|
# Possible: yes, no (case-insensitive)
|
|
|
|
# Default: yes
|
|
|
|
#
|
2017-08-10 07:41:52 +02:00
|
|
|
# PKG_FATAL_ERRORS
|
|
|
|
# User-settable variable for whether the return value of the
|
|
|
|
# {pre,post}{install,remove} meta-tasks is used or not.
|
|
|
|
#
|
|
|
|
# Possible: yes, no (case-insensitive)
|
|
|
|
# Default: no
|
|
|
|
#
|
2017-06-01 04:06:04 +02:00
|
|
|
# PKG_INIT_SCRIPTS
|
|
|
|
# User-settable variable for whether to copy init scripts into
|
|
|
|
# the appropriate places for the init system to locate them,
|
|
|
|
# e.g., copy rc.d scripts to ${RCD_SCRIPTS_DIR}, or if the user
|
|
|
|
# should be warned instead.
|
|
|
|
#
|
|
|
|
# Possible: yes, no (case-insensitive)
|
|
|
|
# Default: yes
|
|
|
|
#
|
|
|
|
# PKG_REGISTER_SHELLS
|
|
|
|
# User-settable variable for whether to register shells in the
|
|
|
|
# login shell database (/etc/shells) automatically, or if the
|
|
|
|
# user should be warned instead.
|
|
|
|
#
|
|
|
|
# Possible: yes, no (case-insensitive)
|
|
|
|
# Default: yes
|
|
|
|
#
|
|
|
|
# PKG_UPDATE_FONTS_DB
|
|
|
|
# User-settable variable for whether to update the databases in
|
|
|
|
# fonts directories automatically, or if the user should be
|
|
|
|
# warned instead.
|
|
|
|
#
|
|
|
|
# Possible: yes, no (case-insensitive)
|
|
|
|
# Default: yes
|
|
|
|
#
|
2018-11-30 19:38:19 +01:00
|
|
|
|
|
|
|
_VARGROUPS+= pkgtasks
|
|
|
|
_USER_VARS.pkgtasks= PKG_CONFIG PKG_CONFIG_PERMS PKG_INIT_SCRIPTS
|
|
|
|
_USE_VARS.pkgtasks= FILES_SUBST
|
|
|
|
_SORTED_VARS.pkgtasks= FILES_SUBST
|
|
|
|
|
2017-06-01 04:06:04 +02:00
|
|
|
PKG_CONFIG?= yes
|
|
|
|
PKG_CONFIG_PERMS?= no
|
|
|
|
PKG_CREATE_USERGROUP?= yes
|
2017-08-10 07:41:52 +02:00
|
|
|
PKG_FATAL_ERRORS?= no
|
2017-06-01 04:06:04 +02:00
|
|
|
PKG_INIT_SCRIPTS?= ${PKG_RCD_SCRIPTS:Uno} # deprecated
|
|
|
|
PKG_REGISTER_SHELLS?= yes
|
|
|
|
PKG_UPDATE_FONTS_DB?= yes
|
|
|
|
FILES_SUBST+= PKG_CONFIG=${PKG_CONFIG:tl:Q}
|
|
|
|
FILES_SUBST+= PKG_CONFIG_PERMS=${PKG_CONFIG_PERMS:tl:Q}
|
|
|
|
FILES_SUBST+= PKG_CREATE_USERGROUP=${PKG_CREATE_USERGROUP:tl:Q}
|
2017-08-10 07:41:52 +02:00
|
|
|
FILES_SUBST+= PKG_FATAL_ERRORS=${PKG_FATAL_ERRORS:tl:Q}
|
2017-06-01 04:06:04 +02:00
|
|
|
FILES_SUBST+= PKG_INIT_SCRIPTS=${PKG_INIT_SCRIPTS:tl:Q}
|
|
|
|
FILES_SUBST+= PKG_REGISTER_SHELLS=${PKG_REGISTER_SHELLS:tl:Q}
|
|
|
|
FILES_SUBST+= PKG_UPDATE_FONTS_DB=${PKG_UPDATE_FONTS_DB:tl:Q}
|
|
|
|
|
|
|
|
# FILES_SUBST
|
2017-06-02 21:13:26 +02:00
|
|
|
# Package-settable variable that lists "variable=value" pairs
|
2017-06-01 04:06:04 +02:00
|
|
|
# that is turned into a sed(1) script for substituting
|
|
|
|
# "@variable@" with "value".
|
|
|
|
#
|
|
|
|
# FILES_SUBST_SED
|
|
|
|
# System variable set by this file that is list of
|
|
|
|
# "variable=value" pairs in ${FILES_SUBST} turned into a sed(1)
|
|
|
|
# script for substituting "@variable@" with "value".
|
|
|
|
#
|
|
|
|
_PKG_VARS.pkgtasks+= FILES_SUBST
|
|
|
|
_SYS_VARS.pkgtasks+= FILES_SUBST_SED
|
|
|
|
FILES_SUBST_SED= ${FILES_SUBST:S/=/@!/:S/$/!g/:S/^/ -e s!@/}
|
|
|
|
|
|
|
|
# PKG_REFCOUNT_DBDIR
|
|
|
|
# The location of the reference-count database directory used
|
|
|
|
# by installed packages.
|
|
|
|
#
|
|
|
|
# Possible: any valid directory path
|
|
|
|
# Default: ${PKG_DBDIR}.refcount
|
|
|
|
#
|
|
|
|
PKG_REFCOUNT_DBDIR?= ${PKG_DBDIR}.refcount
|
|
|
|
FILES_SUBST+= PKG_PREFIX=${PREFIX:Q}
|
|
|
|
FILES_SUBST+= PKG_REFCOUNT_DBDIR=${PKG_REFCOUNT_DBDIR:Q}
|
|
|
|
|
|
|
|
# Directory to hold the built objects.
|
|
|
|
_PKGTASKS_DIR= ${WRKDIR}/.pkgtasks
|
|
|
|
|
|
|
|
# List of generated task data files.
|
|
|
|
_PKGTASKS_DATAFILES= # empty
|
|
|
|
|
|
|
|
# USE_PKGTASKS
|
|
|
|
# Public variable set by this file that indicates whether
|
|
|
|
# package tasks are needed.
|
|
|
|
#
|
|
|
|
# Possible: yes, no
|
|
|
|
#
|
|
|
|
_SYS_VARS.pkgtasks= USE_PKGTASKS
|
|
|
|
USE_PKGTASKS= no
|
|
|
|
|
|
|
|
.include "${PKGSRCDIR}/mk/pkgtasks/directories.mk"
|
|
|
|
.include "${PKGSRCDIR}/mk/pkgtasks/files.mk"
|
|
|
|
.include "${PKGSRCDIR}/mk/pkgtasks/fonts.mk"
|
2017-08-10 07:41:07 +02:00
|
|
|
.include "${PKGSRCDIR}/mk/pkgtasks/icon_themes.mk"
|
2017-06-01 04:06:04 +02:00
|
|
|
.include "${PKGSRCDIR}/mk/pkgtasks/info_files.mk"
|
|
|
|
.include "${PKGSRCDIR}/mk/pkgtasks/ocaml_findlib.mk"
|
|
|
|
.include "${PKGSRCDIR}/mk/pkgtasks/permissions.mk"
|
|
|
|
.include "${PKGSRCDIR}/mk/pkgtasks/shells.mk"
|
|
|
|
.include "${PKGSRCDIR}/mk/pkgtasks/shlibs.mk"
|
|
|
|
.include "${PKGSRCDIR}/mk/pkgtasks/usergroup.mk"
|
|
|
|
|
|
|
|
# Add a dependency on pkgtasks if package tasks are needed.
|
2017-08-23 19:53:32 +02:00
|
|
|
_PKGTASKS_DEPENDS= pkgtasks-1>=1.15:../../pkgtools/pkgtasks
|
2017-06-02 21:13:34 +02:00
|
|
|
DEPENDS+= ${"${USE_PKGTASKS:tl}" == "yes":?${_PKGTASKS_DEPENDS}:}
|
2017-06-01 04:06:04 +02:00
|
|
|
TASK_MODULE_DIR?= ${LOCALBASE}/share/pkgtasks-1
|
|
|
|
|
2017-08-19 02:30:31 +02:00
|
|
|
# Make package tasks verbose if PKG_VERBOSE is defined.
|
|
|
|
PKGTOOLS_ENV+= ${PKG_VERBOSE:DTASK_VERBOSE=all}
|
|
|
|
|
2017-06-01 04:06:04 +02:00
|
|
|
# PKGTASKS_DATAFILE
|
|
|
|
# The formatted data file for use by pkgtools/pkgtasks.
|
|
|
|
#
|
|
|
|
_SYS_VARS.pkgtasks= PKGTASKS_DATAFILE
|
|
|
|
PKGTASKS_DATAFILE= ${_PKGTASKS_DIR}/pkgtasks-datafile
|
|
|
|
|
|
|
|
${PKGTASKS_DATAFILE}: ${_PKGTASKS_DATAFILES}
|
|
|
|
${RUN}${MKDIR} ${.TARGET:H:Q}
|
|
|
|
${RUN}${CAT} ${.ALLSRC} > ${.TARGET:Q}.tmp
|
|
|
|
${RUN}${MV} ${.TARGET:Q}.tmp ${.TARGET:Q}
|
|
|
|
|
|
|
|
.PHONY: pkgtasks
|
|
|
|
pkgtasks: ${PKGTASKS_DATAFILE}
|
|
|
|
|
|
|
|
# Variables for programs used by pkgtasks.
|
|
|
|
FILES_SUBST+= AWK=${AWK:Q}
|
|
|
|
FILES_SUBST+= CAT=${CAT:Q}
|
|
|
|
FILES_SUBST+= CHMOD=${CHMOD:Q}
|
|
|
|
FILES_SUBST+= CHOWN=${CHOWN:Q}
|
|
|
|
FILES_SUBST+= CP=${CP:Q}
|
|
|
|
FILES_SUBST+= DATE=${DATE:Q}
|
|
|
|
FILES_SUBST+= FIND=${FIND:Q}
|
|
|
|
FILES_SUBST+= ID=${ID:Q}
|
|
|
|
FILES_SUBST+= LDCONFIG=${LDCONFIG:Q}
|
|
|
|
FILES_SUBST+= LN=${LN:Q}
|
|
|
|
FILES_SUBST+= LS=${LS:Q}
|
|
|
|
FILES_SUBST+= MKDIR=${MKDIR:Q}
|
|
|
|
FILES_SUBST+= MKTEMP=${MKTEMP:Q}
|
|
|
|
FILES_SUBST+= MV=${MV:Q}
|
|
|
|
FILES_SUBST+= PRINTF=${PRINTF:Q}
|
|
|
|
FILES_SUBST+= RM=${RM:Q}
|
|
|
|
FILES_SUBST+= RMDIR=${RMDIR:Q}
|
|
|
|
FILES_SUBST+= SED=${SED:Q}
|
|
|
|
FILES_SUBST+= SORT=${SORT:Q}
|
|
|
|
FILES_SUBST+= UNAME=${UNAME:Q}
|
|
|
|
|
|
|
|
# Variables for addgroup/adduser programs used by pkgtasks.
|
|
|
|
FILES_SUBST+= GROUPADD=${GROUPADD:Q}
|
|
|
|
FILES_SUBST+= PW=${PW:Q} # DragonFly, FreeBSD
|
|
|
|
FILES_SUBST+= PWD_MKDB=${PWD_MKDB:Q} # MirBSD
|
|
|
|
FILES_SUBST+= USERADD=${USERADD:Q}
|