Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Jul 2006 11:13:36 GMT
From:      Gabor Kovesdan <gabor@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 101985 for review
Message-ID:  <200607201113.k6KBDagP086183@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=101985

Change 101985 by gabor@gabor_spitfire on 2006/07/20 11:12:40

	Add TARGETDIR= ${DESTDIR}${PREFIX} and change all ${DESTDIR}${PREFIX}
	occurrences to ${TARGETDIR}.  This simplifies the code and make a
	substitute axpression work correctly, so that manpages are added to
	plist appropriately.  Hook up TARGETDIR to SCRIPTS_ENV and PLSIT_SUB.
	Also hook up DESTDIR to PLIST_SUB, as it was only hooked to
	SCRIPTS_ENV.

Affected files ...

.. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#51 edit

Differences ...

==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#51 (text+ko) ====

@@ -472,7 +472,7 @@
 #				  If this is set to a list of files, these files will be
 #				  automatically added to ${SUB_FILES}, some %%VAR%%'s will
 #				  automatically be expanded, they will be installed in
-#				  ${DESTDIR}${PREFIX}/etc/rc.d and added to the packing list.
+#				  ${TARGETDIR}/etc/rc.d and added to the packing list.
 # USE_RCORDER	- List of rc.d startup scripts to be called early in the boot
 #				  process. This acts exactly like USE_RC_SUBR except that
 #				  scripts are installed in /etc/rc.d.
@@ -492,6 +492,10 @@
 # Various directory definitions and variables to control them.
 # You rarely need to redefine any of these except WRKSRC and NO_WRKSUBDIR.
 #
+# TARGETDIR		- The fully qualified path, where everything is installed.
+#				  See the other variables below.
+#				  Default: ${DESTDIR}${PREFIX}
+#
 # DESTDIR		- The path to the environment we are installing to.  Define
 #				  this if you want to install packages into a jail
 #				  or into an another FreeBSD environment mounted
@@ -583,7 +587,7 @@
 #				  installs its own manpage links so they will show up
 #				  correctly in ${PLIST}.)
 # MANPREFIX		- The directory prefix for ${MAN<sect>} and ${MLINKS}.
-#				  Default: ${DESTDIR}${PREFIX}
+#				  Default: ${TARGETDIR}
 # MAN<sect>PREFIX
 #				- If manual pages of some sections install in different
 #				  locations than others, use these.
@@ -884,14 +888,14 @@
 # 				  Note: that should only be used on 64-bit architectures.
 #
 # DOCSDIR		- Name of the directory to install the packages docs in.
-#				  Default: ${DESTDIR}${PREFIX}/share/doc/${PORTNAME}
+#				  Default: ${TARGETDIR}/share/doc/${PORTNAME}
 # EXAMPLESDIR	- Name of the directory to install the packages examples in.
-#				  Default: ${DESTDIR}${PREFIX}/share/examples/${PORTNAME}
+#				  Default: ${TARGETDIR}/share/examples/${PORTNAME}
 # DATADIR		- Name of the directory to install the packages shared data in.
-#				  Default: ${DESTDIR}${PREFIX}/share/${PORTNAME}
+#				  Default: ${TARGETDIR}/share/${PORTNAME}
 #
 # DESKTOPDIR	- Name of the directory to install ${DESKTOP_ENTRIES} in.
-#				  Default: ${DESTDIR}${PREFIX}/share/applications
+#				  Default: ${TARGETDIR}/share/applications
 # DESKTOP_ENTRIES
 #				- List of desktop entry files to generate and install in
 #				  ${DESKTOPDIR}. The format is
@@ -1329,6 +1333,8 @@
 INDEXFILE?=		INDEX
 .endif
 
+TARGETDIR=		${DESTDIR}${PREFIX}
+
 .if defined(USE_LINUX_RPM)
 .include "${PORTSDIR}/Mk/bsd.linux-rpm.mk"
 .endif
@@ -1591,7 +1597,8 @@
 BUILD_WRKSRC?=	${WRKSRC}
 INSTALL_WRKSRC?=${WRKSRC}
 
-PLIST_SUB+=	OSREL=${OSREL} PREFIX=%D LOCALBASE=${LOCALBASE_REL} X11BASE=${X11BASE_REL}
+PLIST_SUB+=	OSREL=${OSREL} PREFIX=%D LOCALBASE=${LOCALBASE_REL} X11BASE=${X11BASE_REL} \
+		DESTDIR=${DESTDIR} TARGETDIR=${TARGETDIR}
 SUB_LIST+=	PREFIX=${PREFIX} LOCALBASE=${LOCALBASE_REL} X11BASE=${X11BASE_REL}	\
 			DATADIR=${DATADIR} DOCSDIR=${DOCSDIR} EXAMPLESDIR=${EXAMPLESDIR}
 
@@ -1933,10 +1940,10 @@
 PL_BUILD?=		Build
 CONFIGURE_ARGS+= \
 	create_packlist=0 \
-	install_path=lib="${DESTDIR}${PREFIX}/${SITE_PERL_REL}" \
-	install_path=arch="${DESTDIR}${PREFIX}/${SITE_PERL_REL}/${PERL_ARCH}" \
-	install_path=script="${DESTDIR}${PREFIX}/bin" \
-	install_path=bin="${DESTDIR}${PREFIX}/bin" \
+	install_path=lib="${TARGETDIR}/${SITE_PERL_REL}" \
+	install_path=arch="${TARGETDIR}/${SITE_PERL_REL}/${PERL_ARCH}" \
+	install_path=script="${TARGETDIR}/bin" \
+	install_path=bin="${TARGETDIR}/bin" \
 	install_path=libdoc="${MAN3PREFIX}/man/man3" \
 	install_path=bindoc="${MAN1PREFIX}/man/man1"
 .elif defined(PERL_CONFIGURE)
@@ -2824,10 +2831,10 @@
 PKGLATESTFILE=		${PKGLATESTREPOSITORY}/${LATEST_LINK}${PKG_SUFX}
 
 .if defined(PERL_CONFIGURE)
-CONFIGURE_ARGS+=	CC="${CC}" CCFLAGS="${CFLAGS}" PREFIX="${DESTDIR}${PREFIX}" \
-			INSTALLPRIVLIB="${DESTDIR}${PREFIX}/lib" INSTALLARCHLIB="${DESTDIR}${PREFIX}/lib"
+CONFIGURE_ARGS+=	CC="${CC}" CCFLAGS="${CFLAGS}" PREFIX="${TARGETDIR}" \
+			INSTALLPRIVLIB="${TARGETDIR}/lib" INSTALLARCHLIB="${TARGETDIR}/lib"
 CONFIGURE_SCRIPT?=	Makefile.PL
-MAN3PREFIX?=		${DESTDIR}${PREFIX}/lib/perl5/${PERL_VERSION}
+MAN3PREFIX?=		${TARGETDIR}/lib/perl5/${PERL_VERSION}
 .undef HAS_CONFIGURE
 .endif
 
@@ -2854,7 +2861,7 @@
 		  SCRIPTDIR=${SCRIPTDIR} FILESDIR=${FILESDIR} \
 		  PORTSDIR=${PORTSDIR} DEPENDS="${DEPENDS}" \
 		  PREFIX=${PREFIX} LOCALBASE=${LOCALBASE} X11BASE=${X11BASE} \
-		  DESTDIR=${DESTDIR}
+		  DESTDIR=${DESTDIR} TARGETDIR=${DESTDIR}
 
 .if defined(BATCH)
 SCRIPTS_ENV+=	BATCH=yes
@@ -2863,7 +2870,7 @@
 .if ${PREFIX} == /usr
 MANPREFIX?=	${DESTDIR}/usr/share
 .else
-MANPREFIX?=	${DESTDIR}${PREFIX}
+MANPREFIX?=	${TARGETDIR}
 .endif
 
 .for sect in 1 2 3 4 5 6 7 8 9
@@ -2941,9 +2948,9 @@
 .if defined(_MANPAGES)
 
 .if defined(NOMANCOMPRESS)
-__MANPAGES:=	${_MANPAGES:S%^${DESTDIR}${PREFIX}/%%}
+__MANPAGES:=	${_MANPAGES:S%^${TARGETDIR}}/%%}
 .else
-__MANPAGES:=	${_MANPAGES:S%^${DESTDIR}${PREFIX}/%%:S%$%.gz%}
+__MANPAGES:=	${_MANPAGES:S%^${TARGETDIR}/%%:S%$%.gz%}
 .endif
 
 .if ${MANCOMPRESSED} == "yes"
@@ -2958,16 +2965,16 @@
 INFO_PATH?=	info
 .endif
 
-DOCSDIR?=	${DESTDIR}${PREFIX}/share/doc/${PORTNAME}
-EXAMPLESDIR?=	${DESTDIR}${PREFIX}/share/examples/${PORTNAME}
-DATADIR?=	${DESTDIR}${PREFIX}/share/${PORTNAME}
+DOCSDIR?=	${TARGETDIR}/share/doc/${PORTNAME}
+EXAMPLESDIR?=	${TARGETDIR}/share/examples/${PORTNAME}
+DATADIR?=	${TARGETDIR}/share/${PORTNAME}
 
-PLIST_SUB+=	DOCSDIR="${DOCSDIR:S,^${DESTDIR}${PREFIX}/,,}" \
-		EXAMPLESDIR="${EXAMPLESDIR:S,^${DESTDIR}${PREFIX}/,,}" \
-		DATADIR="${DATADIR:S,^${DESTDIR}${PREFIX}/,,}"
+PLIST_SUB+=	DOCSDIR="${DOCSDIR:S,^${TARGETDIR}/,,}" \
+		EXAMPLESDIR="${EXAMPLESDIR:S,^${TARGETDIR}/,,}" \
+		DATADIR="${DATADIR:S,^${TARGETDIR}/,,}"
 
-DESKTOPDIR?=		${DESTDIR}${PREFIX}/share/applications
-_DESKTOPDIR_REL=	${DESKTOPDIR:S,^${DESTDIR}${PREFIX}/,,}/
+DESKTOPDIR?=		${TARGETDIR}/share/applications
+_DESKTOPDIR_REL=	${DESKTOPDIR:S,^${TARGETDIR}/,,}/
 
 .if ${_DESKTOPDIR_REL} == ${DESKTOPDIR}/
 # DESKTOPDIR is not beneath PREFIX
@@ -3799,12 +3806,12 @@
 
 .if !target(install-mtree)
 install-mtree:
-	@${MKDIR} ${DESTDIR}${PREFIX}
+	@${MKDIR} ${TARGETDIR}
 	@if [ `${ID} -u` != 0 ]; then \
-		if [ -w ${DESTDIR}${PREFIX}/ ]; then \
+		if [ -w ${TARGETDIR}/ ]; then \
 			${ECHO_MSG} "Warning: not superuser, you may get some errors during installation."; \
 		else \
-			${ECHO_MSG} "Error: ${DESTDIR}${PREFIX}/ not writable."; \
+			${ECHO_MSG} "Error: ${TARGETDIR}/ not writable."; \
 			${FALSE}; \
 		fi; \
 	fi
@@ -3815,9 +3822,9 @@
 			${ECHO_MSG} "Copy it from a suitable location (e.g., /usr/src/etc/mtree) and try again."; \
 			exit 1; \
 		else \
-			${MTREE_CMD} ${MTREE_ARGS} ${DESTDIR}${PREFIX}/ >/dev/null; \
+			${MTREE_CMD} ${MTREE_ARGS} ${TARGETDIR}/ >/dev/null; \
 			if [ ${MTREE_FILE} = "/etc/mtree/BSD.local.dist" ]; then \
-				cd ${DESTDIR}${PREFIX}/share/nls; \
+				cd ${TARGETDIR}/share/nls; \
 				${LN} -shf C POSIX; \
 				${LN} -shf C en_US.US-ASCII; \
 			fi; \
@@ -5458,14 +5465,14 @@
 	@if ${ECHO_CMD} "${x}"| ${AWK} '$$1 ~ /(\*|\||\[|\]|\?|\{|\}|\$$)/ { exit 1};'; then \
 		if [ ! -e ${DOCSDIR}/${x} ]; then \
 		${ECHO_CMD} ${DOCSDIR}/${x} | \
-			${SED} -e 's,^${DESTDIR}${PREFIX}/,,' >> ${TMPPLIST}; \
+			${SED} -e 's,^${TARGETDIR}/,,' >> ${TMPPLIST}; \
 	fi;fi
 .endfor
 	@${FIND} -P ${PORTDOCS:S/^/${DOCSDIR}\//} ! -type d 2>/dev/null | \
-		${SED} -ne 's,^${DESTDIR}${PREFIX}/,,p' >> ${TMPPLIST}
+		${SED} -ne 's,^${TARGETDIR}/,,p' >> ${TMPPLIST}
 	@${FIND} -P -d ${PORTDOCS:S/^/${DOCSDIR}\//} -type d 2>/dev/null | \
-		${SED} -ne 's,^${DESTDIR}${PREFIX}/,@dirrm ,p' >> ${TMPPLIST}
-	@${ECHO_CMD} "@dirrm ${DOCSDIR:S,^${DESTDIR}${PREFIX}/,,}" >> ${TMPPLIST}
+		${SED} -ne 's,^${TARGETDIR}/,@dirrm ,p' >> ${TMPPLIST}
+	@${ECHO_CMD} "@dirrm ${DOCSDIR:S,^${TARGETDIR}/,,}" >> ${TMPPLIST}
 .else
 	@${DO_NADA}
 .endif
@@ -5476,10 +5483,10 @@
 # Process GNU INFO files at package install/deinstall time
 .if defined(INFO)
 .for i in ${INFO}
-	install-info --quiet ${DESTDIR}${PREFIX}/${INFO_PATH}/$i.info ${DESTDIR}${PREFIX}/${INFO_PATH}/dir
+	install-info --quiet ${TARGETDIR}/${INFO_PATH}/$i.info ${TARGETDIR}/${INFO_PATH}/dir
 	@${ECHO_CMD} "@unexec install-info --quiet --delete %D/${INFO_PATH}/$i.info %D/${INFO_PATH}/dir" \
 		>> ${TMPPLIST}
-	@${LS} ${DESTDIR}${PREFIX}/${INFO_PATH}/$i.info* | ${SED} -e s:${DESTDIR}${PREFIX}/::g >> ${TMPPLIST}
+	@${LS} ${TARGETDIR}/${INFO_PATH}/$i.info* | ${SED} -e s:${TARGETDIR}/::g >> ${TMPPLIST}
 	@${ECHO_CMD} "@exec install-info --quiet %D/${INFO_PATH}/$i.info %D/${INFO_PATH}/dir" \
 		>> ${TMPPLIST}
 	@if [ "`${DIRNAME} $i`" != "." ]; then \
@@ -5523,12 +5530,12 @@
 	@${ECHO_CMD} "@cwd ${PREFIX}" >> ${TMPPLIST}
 .if (${OSVERSION} >= 700007 || ( ${OSVERSION} < 700000 && ${OSVERSION} >= 600101 ))
 	@for i in ${USE_RC_SUBR}; do \
-		${INSTALL_SCRIPT} ${WRKDIR}/$${i} ${DESTDIR}${PREFIX}/etc/rc.d/$${i%.sh}; \
+		${INSTALL_SCRIPT} ${WRKDIR}/$${i} ${TARGETDIR}/etc/rc.d/$${i%.sh}; \
 		${ECHO_CMD} "etc/rc.d/$${i%.sh}" >> ${TMPPLIST}; \
 	done
 .else
 	@for i in ${USE_RC_SUBR}; do \
-		${INSTALL_SCRIPT} ${WRKDIR}/$${i} ${DESTDIR}${PREFIX}/etc/rc.d/$${i%.sh}.sh; \
+		${INSTALL_SCRIPT} ${WRKDIR}/$${i} ${TARGETDIR}/etc/rc.d/$${i%.sh}.sh; \
 		${ECHO_CMD} "etc/rc.d/$${i%.sh}.sh" >> ${TMPPLIST}; \
 	done
 .endif



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200607201113.k6KBDagP086183>