blob: 9e4d8da0931acfbbe345d5a159d653a364b327d8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
# $NetBSD: alternatives.mk,v 1.13 2018/05/16 21:23:02 rillig Exp $
#
# This Makefile fragment handles the alternatives system, registering a
# package in the database.
#
# User-settable variables:
#
# (none)
#
# Package-settable variables:
#
# ALTERNATIVES_SRC
# A _single_ file that contains the alternatives provided by the
# package.
#
# Default value: The name of the ALTERNATIVES file in the package
# directory, if it exists. Otherwise, nothing.
#
# Each line of the alternatives file contains two filenames:
#
# wrapper alternative
#
# The wrapper is the command that is run by the user.
# The alternative is the implementation of that command that is
# provided by the package.
# Both paths are relative to PREFIX.
# The paths may use placeholders of the form @VARNAME@, which are
# replaced with the actual values as per FILES_SUBST.
#
# Variables defined by this file:
#
# PKG_ALTERNATIVES
# The path to the pkg_alternatives command.
#
# Keywords: alternatives
.if !defined(ALTERNATIVES_MK)
ALTERNATIVES_MK= # defined
_VARGROUPS+= alternatives
_PKG_VARS.alternatives= ALTERNATIVES_SRC
_SYS_VARS.alternatives= PKG_ALTERNATIVES
.if exists(${.CURDIR}/ALTERNATIVES)
ALTERNATIVES_SRC?= ${.CURDIR}/ALTERNATIVES
.endif
ALTERNATIVES_SRC?= # none
.if !empty(ALTERNATIVES_SRC)
${WRKDIR}/.altinstall: ${ALTERNATIVES_SRC}
@{ ${ECHO} 'if ${TEST} $${STAGE} = "POST-INSTALL"; then'; \
${ECHO} '${CAT} >./+ALTERNATIVES <<EOF'; \
${SED} ${FILES_SUBST_SED} <${ALTERNATIVES_SRC}; \
${ECHO} 'EOF'; \
${ECHO} 'if ${TEST} -x ${PKG_ALTERNATIVES}; then'; \
${ECHO} '${PKG_ALTERNATIVES} -gs register ./+ALTERNATIVES'; \
${ECHO} 'fi'; \
${ECHO} 'fi'; \
} >${WRKDIR}/.altinstall
${WRKDIR}/.altdeinstall: ${ALTERNATIVES_SRC}
@{ ${ECHO} 'if ${TEST} $${STAGE} = "DEINSTALL"; then'; \
${ECHO} 'if ${TEST} -x ${PKG_ALTERNATIVES}; then'; \
${ECHO} '${PKG_ALTERNATIVES} -gs unregister ./+ALTERNATIVES'; \
${ECHO} 'fi'; \
${ECHO} '${RM} -f ./+ALTERNATIVES'; \
${ECHO} 'fi'; \
} >${WRKDIR}/.altdeinstall
PRINT_PLIST_AWK+= /^libdata\/alternatives\// { next; }
PKG_ALTERNATIVES= ${LOCALBASE}/sbin/pkg_alternatives
INSTALL_TEMPLATES+= ${WRKDIR}/.altinstall
DEINSTALL_TEMPLATES+= ${WRKDIR}/.altdeinstall
.endif
.endif # ALTERNATIVES_MK
|