Mon Feb 16 10:50:33 2015 UTC ()
Put back PKGNAME_REQD fix for su-real-package-install.


(jperkin)
diff -r1.8 -r1.9 pkgsrc/mk/pkgformat/pkg/package.mk

cvs diff -r1.8 -r1.9 pkgsrc/mk/pkgformat/pkg/package.mk (switch to unified diff)

--- pkgsrc/mk/pkgformat/pkg/package.mk 2015/02/01 11:24:58 1.8
+++ pkgsrc/mk/pkgformat/pkg/package.mk 2015/02/16 10:50:33 1.9
@@ -1,212 +1,213 @@ @@ -1,212 +1,213 @@
1# $NetBSD: package.mk,v 1.8 2015/02/01 11:24:58 obache Exp $ 1# $NetBSD: package.mk,v 1.9 2015/02/16 10:50:33 jperkin Exp $
2 2
3.if defined(PKG_SUFX) 3.if defined(PKG_SUFX)
4WARNINGS+= "PKG_SUFX is deprecated, please use PKG_COMPRESSION" 4WARNINGS+= "PKG_SUFX is deprecated, please use PKG_COMPRESSION"
5. if ${PKG_SUFX} == ".tgz" 5. if ${PKG_SUFX} == ".tgz"
6PKG_COMPRESSION= gzip 6PKG_COMPRESSION= gzip
7. elif ${PKG_SUFX} == ".tbz" 7. elif ${PKG_SUFX} == ".tbz"
8PKG_COMPRESSION= bzip2 8PKG_COMPRESSION= bzip2
9. else 9. else
10WARNINGS+= "Unsupported value for PKG_SUFX" 10WARNINGS+= "Unsupported value for PKG_SUFX"
11. endif 11. endif
12.endif 12.endif
13PKG_SUFX?= .tgz 13PKG_SUFX?= .tgz
14FILEBASE?= ${PKGBASE} 14FILEBASE?= ${PKGBASE}
15PKGFILE?= ${PKGREPOSITORY}/${FILEBASE}-${PKGVERSION}${PKG_SUFX} 15PKGFILE?= ${PKGREPOSITORY}/${FILEBASE}-${PKGVERSION}${PKG_SUFX}
16.if ${_USE_DESTDIR} == "no" 16.if ${_USE_DESTDIR} == "no"
17. if !empty(SIGN_PACKAGES:Mgpg) 17. if !empty(SIGN_PACKAGES:Mgpg)
18STAGE_PKGFILE?= ${WRKDIR}/.packages/${FILEBASE}-${PKGVERSION}${PKG_SUFX} 18STAGE_PKGFILE?= ${WRKDIR}/.packages/${FILEBASE}-${PKGVERSION}${PKG_SUFX}
19. elif !empty(SIGN_PACKAGES:Mx509) 19. elif !empty(SIGN_PACKAGES:Mx509)
20STAGE_PKGFILE?= ${WRKDIR}/.packages/${FILEBASE}-${PKGVERSION}${PKG_SUFX} 20STAGE_PKGFILE?= ${WRKDIR}/.packages/${FILEBASE}-${PKGVERSION}${PKG_SUFX}
21. else 21. else
22STAGE_PKGFILE?= ${PKGFILE} 22STAGE_PKGFILE?= ${PKGFILE}
23. endif 23. endif
24.else 24.else
25STAGE_PKGFILE?= ${WRKDIR}/.packages/${FILEBASE}-${PKGVERSION}${PKG_SUFX} 25STAGE_PKGFILE?= ${WRKDIR}/.packages/${FILEBASE}-${PKGVERSION}${PKG_SUFX}
26.endif 26.endif
27PKGREPOSITORY?= ${PACKAGES}/${PKGREPOSITORYSUBDIR} 27PKGREPOSITORY?= ${PACKAGES}/${PKGREPOSITORYSUBDIR}
28PKGREPOSITORYSUBDIR?= All 28PKGREPOSITORYSUBDIR?= All
29 29
30###################################################################### 30######################################################################
31### package-check-installed (PRIVATE, pkgsrc/mk/package/package.mk) 31### package-check-installed (PRIVATE, pkgsrc/mk/package/package.mk)
32###################################################################### 32######################################################################
33### package-check-installed verifies that the package is installed on 33### package-check-installed verifies that the package is installed on
34### the system. 34### the system.
35### 35###
36.PHONY: package-check-installed 36.PHONY: package-check-installed
37package-check-installed: 37package-check-installed:
38 ${RUN} ${PKG_INFO} -qe ${PKGNAME} \ 38 ${RUN} ${PKG_INFO} -qe ${PKGNAME} \
39 || ${FAIL_MSG} "${PKGNAME} is not installed." 39 || ${FAIL_MSG} "${PKGNAME} is not installed."
40 40
41###################################################################### 41######################################################################
42### package-create (PRIVATE, pkgsrc/mk/package/package.mk) 42### package-create (PRIVATE, pkgsrc/mk/package/package.mk)
43###################################################################### 43######################################################################
44### package-create creates the binary package. 44### package-create creates the binary package.
45### 45###
46.PHONY: package-create 46.PHONY: package-create
47package-create: ${PKGFILE} package-links 47package-create: ${PKGFILE} package-links
48 48
49###################################################################### 49######################################################################
50### stage-package-create (PRIVATE, pkgsrc/mk/package/package.mk) 50### stage-package-create (PRIVATE, pkgsrc/mk/package/package.mk)
51###################################################################### 51######################################################################
52### stage-package-create creates the binary package for stage install. 52### stage-package-create creates the binary package for stage install.
53### 53###
54.PHONY: stage-package-create 54.PHONY: stage-package-create
55.if ${_USE_DESTDIR} == "no" 55.if ${_USE_DESTDIR} == "no"
56stage-package-create: package-create 56stage-package-create: package-create
57.else 57.else
58stage-package-create: stage-install ${STAGE_PKGFILE} 58stage-package-create: stage-install ${STAGE_PKGFILE}
59.endif 59.endif
60 60
61_PKG_ARGS_PACKAGE+= ${_PKG_CREATE_ARGS} 61_PKG_ARGS_PACKAGE+= ${_PKG_CREATE_ARGS}
62_PKG_ARGS_PACKAGE+= -F ${PKG_COMPRESSION} 62_PKG_ARGS_PACKAGE+= -F ${PKG_COMPRESSION}
63.if ${_USE_DESTDIR} == "no" 63.if ${_USE_DESTDIR} == "no"
64_PKG_ARGS_PACKAGE+= -p ${PREFIX} 64_PKG_ARGS_PACKAGE+= -p ${PREFIX}
65.else 65.else
66_PKG_ARGS_PACKAGE+= -I ${PREFIX} -p ${DESTDIR}${PREFIX} 66_PKG_ARGS_PACKAGE+= -I ${PREFIX} -p ${DESTDIR}${PREFIX}
67. if ${_USE_DESTDIR} == "user-destdir" 67. if ${_USE_DESTDIR} == "user-destdir"
68_PKG_ARGS_PACKAGE+= -u ${REAL_ROOT_USER} -g ${REAL_ROOT_GROUP} 68_PKG_ARGS_PACKAGE+= -u ${REAL_ROOT_USER} -g ${REAL_ROOT_GROUP}
69. endif 69. endif
70.endif 70.endif
71 71
72${STAGE_PKGFILE}: ${_CONTENTS_TARGETS} 72${STAGE_PKGFILE}: ${_CONTENTS_TARGETS}
73 ${RUN} ${MKDIR} ${.TARGET:H} 73 ${RUN} ${MKDIR} ${.TARGET:H}
74 @${STEP_MSG} "Creating binary package ${.TARGET}" 74 @${STEP_MSG} "Creating binary package ${.TARGET}"
75 ${RUN} tmpname=${.TARGET:S,${PKG_SUFX}$,.tmp${PKG_SUFX},}; \ 75 ${RUN} tmpname=${.TARGET:S,${PKG_SUFX}$,.tmp${PKG_SUFX},}; \
76 if ${PKG_CREATE} ${_PKG_ARGS_PACKAGE} "$$tmpname"; then \ 76 if ${PKG_CREATE} ${_PKG_ARGS_PACKAGE} "$$tmpname"; then \
77 ${MV} -f "$$tmpname" ${.TARGET}; \ 77 ${MV} -f "$$tmpname" ${.TARGET}; \
78 else \ 78 else \
79 exitcode=$$?; ${RM} -f "$$tmpname"; exit $$exitcode; \ 79 exitcode=$$?; ${RM} -f "$$tmpname"; exit $$exitcode; \
80 fi 80 fi
81 81
82.if ${PKGFILE} != ${STAGE_PKGFILE} 82.if ${PKGFILE} != ${STAGE_PKGFILE}
83${PKGFILE}: ${STAGE_PKGFILE} 83${PKGFILE}: ${STAGE_PKGFILE}
84 ${RUN} ${MKDIR} ${.TARGET:H} 84 ${RUN} ${MKDIR} ${.TARGET:H}
85. if !empty(SIGN_PACKAGES:U:Mgpg) 85. if !empty(SIGN_PACKAGES:U:Mgpg)
86 @${STEP_MSG} "Creating signed binary package ${.TARGET} (GPG)" 86 @${STEP_MSG} "Creating signed binary package ${.TARGET} (GPG)"
87 ${PKG_ADMIN} gpg-sign-package ${STAGE_PKGFILE} ${PKGFILE} 87 ${PKG_ADMIN} gpg-sign-package ${STAGE_PKGFILE} ${PKGFILE}
88. elif !empty(SIGN_PACKAGES:U:Mx509) 88. elif !empty(SIGN_PACKAGES:U:Mx509)
89 @${STEP_MSG} "Creating signed binary package ${.TARGET} (X509)" 89 @${STEP_MSG} "Creating signed binary package ${.TARGET} (X509)"
90 ${PKG_ADMIN} x509-sign-package ${STAGE_PKGFILE} ${PKGFILE} \ 90 ${PKG_ADMIN} x509-sign-package ${STAGE_PKGFILE} ${PKGFILE} \
91 ${X509_KEY} ${X509_CERTIFICATE} 91 ${X509_KEY} ${X509_CERTIFICATE}
92. else 92. else
93 @${STEP_MSG} "Creating binary package ${.TARGET}" 93 @${STEP_MSG} "Creating binary package ${.TARGET}"
94 ${LN} -f ${STAGE_PKGFILE} ${PKGFILE} 2>/dev/null || \ 94 ${LN} -f ${STAGE_PKGFILE} ${PKGFILE} 2>/dev/null || \
95 ${CP} -pf ${STAGE_PKGFILE} ${PKGFILE} 95 ${CP} -pf ${STAGE_PKGFILE} ${PKGFILE}
96. endif 96. endif
97.endif 97.endif
98 98
99###################################################################### 99######################################################################
100### package-remove (PRIVATE) 100### package-remove (PRIVATE)
101###################################################################### 101######################################################################
102### package-remove removes the binary package from the package 102### package-remove removes the binary package from the package
103### repository. 103### repository.
104### 104###
105.PHONY: package-remove 105.PHONY: package-remove
106package-remove: 106package-remove:
107 ${RUN} ${RM} -f ${PKGFILE} 107 ${RUN} ${RM} -f ${PKGFILE}
108 108
109###################################################################### 109######################################################################
110### stage-package-remove (PRIVATE) 110### stage-package-remove (PRIVATE)
111###################################################################### 111######################################################################
112### stage-package-remove removes the binary package for stage install 112### stage-package-remove removes the binary package for stage install
113### 113###
114.PHONY: stage-package-remove 114.PHONY: stage-package-remove
115stage-package-remove: 115stage-package-remove:
116 ${RUN} ${RM} -f ${STAGE_PKGFILE} 116 ${RUN} ${RM} -f ${STAGE_PKGFILE}
117 117
118###################################################################### 118######################################################################
119### package-links (PRIVATE) 119### package-links (PRIVATE)
120###################################################################### 120######################################################################
121### package-links creates symlinks to the binary package from the 121### package-links creates symlinks to the binary package from the
122### non-primary categories to which the package belongs. 122### non-primary categories to which the package belongs.
123### 123###
124package-links: delete-package-links 124package-links: delete-package-links
125.for _dir_ in ${CATEGORIES:S/^/${PACKAGES}\//} 125.for _dir_ in ${CATEGORIES:S/^/${PACKAGES}\//}
126 ${RUN} ${MKDIR} ${_dir_:Q} 126 ${RUN} ${MKDIR} ${_dir_:Q}
127 ${RUN} [ -d ${_dir_:Q} ] \ 127 ${RUN} [ -d ${_dir_:Q} ] \
128 || ${FAIL_MSG} "Can't create directory "${_dir_:Q}"." 128 || ${FAIL_MSG} "Can't create directory "${_dir_:Q}"."
129 ${RUN} ${RM} -f ${_dir_:Q}/${PKGFILE:T} 129 ${RUN} ${RM} -f ${_dir_:Q}/${PKGFILE:T}
130 ${RUN} ${LN} -s ../${PKGREPOSITORYSUBDIR}/${PKGFILE:T} ${_dir_:Q} 130 ${RUN} ${LN} -s ../${PKGREPOSITORYSUBDIR}/${PKGFILE:T} ${_dir_:Q}
131.endfor 131.endfor
132 132
133###################################################################### 133######################################################################
134### delete-package-links (PRIVATE) 134### delete-package-links (PRIVATE)
135###################################################################### 135######################################################################
136### delete-package-links removes the symlinks to the binary package from 136### delete-package-links removes the symlinks to the binary package from
137### the non-primary categories to which the package belongs. 137### the non-primary categories to which the package belongs.
138### 138###
139delete-package-links: 139delete-package-links:
140 ${RUN} ${FIND} ${PACKAGES} -type l -name ${PKGFILE:T} -print \ 140 ${RUN} ${FIND} ${PACKAGES} -type l -name ${PKGFILE:T} -print \
141 | ${XARGS} ${RM} -f 141 | ${XARGS} ${RM} -f
142 142
143###################################################################### 143######################################################################
144### tarup (PUBLIC) 144### tarup (PUBLIC)
145###################################################################### 145######################################################################
146### tarup is a public target to generate a binary package from an 146### tarup is a public target to generate a binary package from an
147### installed package instance. 147### installed package instance.
148### 148###
149_PKG_TARUP_CMD= ${LOCALBASE}/bin/pkg_tarup 149_PKG_TARUP_CMD= ${LOCALBASE}/bin/pkg_tarup
150 150
151.PHONY: tarup 151.PHONY: tarup
152tarup: package-remove tarup-pkg package-links 152tarup: package-remove tarup-pkg package-links
153 153
154###################################################################### 154######################################################################
155### tarup-pkg (PRIVATE) 155### tarup-pkg (PRIVATE)
156###################################################################### 156######################################################################
157### tarup-pkg creates a binary package from an installed package instance 157### tarup-pkg creates a binary package from an installed package instance
158### using "pkg_tarup". 158### using "pkg_tarup".
159### 159###
160tarup-pkg: 160tarup-pkg:
161 ${RUN} [ -x ${_PKG_TARUP_CMD} ] || exit 1; \ 161 ${RUN} [ -x ${_PKG_TARUP_CMD} ] || exit 1; \
162 ${PKGSRC_SETENV} PKG_DBDIR=${_PKG_DBDIR} PKG_SUFX=${PKG_SUFX} \ 162 ${PKGSRC_SETENV} PKG_DBDIR=${_PKG_DBDIR} PKG_SUFX=${PKG_SUFX} \
163 PKGREPOSITORY=${PKGREPOSITORY} \ 163 PKGREPOSITORY=${PKGREPOSITORY} \
164 ${_PKG_TARUP_CMD} -f ${FILEBASE} ${PKGNAME} 164 ${_PKG_TARUP_CMD} -f ${FILEBASE} ${PKGNAME}
165 165
166###################################################################### 166######################################################################
167### package-install (PUBLIC) 167### package-install (PUBLIC)
168###################################################################### 168######################################################################
169### When DESTDIR support is active, package-install uses package to 169### When DESTDIR support is active, package-install uses package to
170### create a binary package and installs it. 170### create a binary package and installs it.
171### Otherwise it is identical to calling package. 171### Otherwise it is identical to calling package.
172### 172###
173 173
174.PHONY: package-install real-package-install su-real-package-install 174.PHONY: package-install real-package-install su-real-package-install
175.if defined(_PKGSRC_BARRIER) 175.if defined(_PKGSRC_BARRIER)
176package-install: package real-package-install 176package-install: package real-package-install
177.else 177.else
178package-install: barrier 178package-install: barrier
179.endif 179.endif
180 180
181.PHONY: stage-package-install 181.PHONY: stage-package-install
182.if defined(_PKGSRC_BARRIER) 182.if defined(_PKGSRC_BARRIER)
183stage-package-install: stage-package-create real-package-install 183stage-package-install: stage-package-create real-package-install
184.else 184.else
185stage-package-install: barrier 185stage-package-install: barrier
186.endif 186.endif
187 187
188.if ${_USE_DESTDIR} != "no" 188.if ${_USE_DESTDIR} != "no"
189. if !empty(USE_CROSS_COMPILE:M[yY][eE][sS]) 189. if !empty(USE_CROSS_COMPILE:M[yY][eE][sS])
190real-package-install: su-real-package-install 190real-package-install: su-real-package-install
191. else 191. else
192real-package-install: su-target 192real-package-install: su-target
193. endif 193. endif
194.else 194.else
195real-package-install: 195real-package-install:
196 @${DO_NADA} 196 @${DO_NADA}
197.endif 197.endif
198 198
 199MAKEFLAGS.su-real-package-install= PKGNAME_REQD=${PKGNAME_REQD:Q}
199su-real-package-install: 200su-real-package-install:
200 @${PHASE_MSG} "Install binary package of "${PKGNAME:Q} 201 @${PHASE_MSG} "Install binary package of "${PKGNAME:Q}
201.if !empty(USE_CROSS_COMPILE:M[yY][eE][sS]) 202.if !empty(USE_CROSS_COMPILE:M[yY][eE][sS])
202 @${MKDIR} ${_CROSS_DESTDIR}${PREFIX} 203 @${MKDIR} ${_CROSS_DESTDIR}${PREFIX}
203 ${PKG_ADD} -m ${MACHINE_ARCH} -I -p ${_CROSS_DESTDIR}${PREFIX} ${STAGE_PKGFILE} 204 ${PKG_ADD} -m ${MACHINE_ARCH} -I -p ${_CROSS_DESTDIR}${PREFIX} ${STAGE_PKGFILE}
204 @${ECHO} "Fixing recorded cwd..." 205 @${ECHO} "Fixing recorded cwd..."
205 @${SED} -e 's|@cwd ${_CROSS_DESTDIR}|@cwd |' ${_PKG_DBDIR}/${PKGNAME:Q}/+CONTENTS > ${_PKG_DBDIR}/${PKGNAME:Q}/+CONTENTS.tmp 206 @${SED} -e 's|@cwd ${_CROSS_DESTDIR}|@cwd |' ${_PKG_DBDIR}/${PKGNAME:Q}/+CONTENTS > ${_PKG_DBDIR}/${PKGNAME:Q}/+CONTENTS.tmp
206 @${MV} ${_PKG_DBDIR}/${PKGNAME:Q}/+CONTENTS.tmp ${_PKG_DBDIR}/${PKGNAME:Q}/+CONTENTS 207 @${MV} ${_PKG_DBDIR}/${PKGNAME:Q}/+CONTENTS.tmp ${_PKG_DBDIR}/${PKGNAME:Q}/+CONTENTS
207.else 208.else
208 ${RUN} case ${_AUTOMATIC:Q}"" in \ 209 ${RUN} case ${_AUTOMATIC:Q}"" in \
209 [yY][eE][sS]) ${PKG_ADD} -A ${STAGE_PKGFILE} ;; \ 210 [yY][eE][sS]) ${PKG_ADD} -A ${STAGE_PKGFILE} ;; \
210 *) ${PKG_ADD} ${STAGE_PKGFILE} ;; \ 211 *) ${PKG_ADD} ${STAGE_PKGFILE} ;; \
211 esac 212 esac
212.endif 213.endif