PERFORCE change 99754 for review
Gabor Kovesdan
gabor at FreeBSD.org
Wed Jun 21 12:57:27 UTC 2006
http://perforce.freebsd.org/chv.cgi?CH=99754
Change 99754 by gabor at spitfire on 2006/06/21 12:56:53
Add basic DESTDIR support. It already works for the simplest ports without
USE_* that don't use [pre|do|post]-install targets don't have dependencies,
and don't have things like PREFIX?= ${LINUXBASE}. Those must be
PREFIX?= ${LINUXBASE_REL} in the future. Similarly we have X11BASE_REL.
Several things have to be fixed:
- OSVERSION handling in DESTDIR and in jail while here
- ldconfig handling in DESTDIR
- conflict checking in DESTDIR [1]
- pkg_info usage in DESTDIR [1]
- deinstall from DESTDIR [1]
- plist summary with DESTDIR
- more testing with manpages, as I'm not sure they install fine
[1] These are going to be very complicated because the current infrastructure
uses pkg_* tools for these and pkg_* tools don't have DESTDIR or chroot
support except pkg_add but that is irrelevant in this case.
Affected files ...
.. //depot/projects/soc2006/gabor_ports/Mk/bsd.apache.mk#3 edit
.. //depot/projects/soc2006/gabor_ports/Mk/bsd.emacs.mk#2 edit
.. //depot/projects/soc2006/gabor_ports/Mk/bsd.gnome.mk#2 edit
.. //depot/projects/soc2006/gabor_ports/Mk/bsd.mail.mk#2 edit
.. //depot/projects/soc2006/gabor_ports/Mk/bsd.openssl.mk#2 edit
.. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#3 edit
.. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.subdir.mk#2 edit
.. //depot/projects/soc2006/gabor_ports/Mk/bsd.python.mk#2 edit
.. //depot/projects/soc2006/gabor_ports/Mk/bsd.ruby.mk#2 edit
Differences ...
==== //depot/projects/soc2006/gabor_ports/Mk/bsd.apache.mk#3 (text+ko) ====
@@ -175,7 +175,7 @@
--${SUEXEC_CONFARGS}-safepath="${SUEXEC_SAFEPATH}" \
--${SUEXEC_CONFARGS}-logfile="${SUEXEC_LOGFILE}"
.if ${USE_APACHE:Mcommon2*} != ""
-CONFIGURE_ARGS+= --${SUEXEC_CONFARGS}-bin="${PREFIX}/sbin/suexec"
+CONFIGURE_ARGS+= --${SUEXEC_CONFARGS}-bin="${DESTDIR}${PREFIX}/sbin/suexec"
.endif
. if defined(WITH_SUEXEC_UMASK)
==== //depot/projects/soc2006/gabor_ports/Mk/bsd.emacs.mk#2 (text+ko) ====
@@ -236,8 +236,8 @@
# find where emacsen is installed
# look for it in PREEFIX first and fall back to LOCALBASE then
-.if exists(${PREFIX}/bin/${EMACS_NAME}-${EMACS_VER})
-EMACS_BASE?= ${PREFIX}
+.if exists(${DESTDIR}${PREFIX}/bin/${EMACS_NAME}-${EMACS_VER})
+EMACS_BASE?= ${DESTDIR}${PREFIX}
.else
EMACS_BASE?= ${LOCALBASE}
.endif
==== //depot/projects/soc2006/gabor_ports/Mk/bsd.gnome.mk#2 (text+ko) ====
@@ -106,13 +106,13 @@
GNOME_HTML_DIR?= ${PREFIX}/share/doc
GCONF_CONFIG_OPTIONS?= merged
GCONF_CONFIG_DIRECTORY?=etc/gconf/gconf.xml.defaults
-GCONF_CONFIG_SOURCE?=xml:${GCONF_CONFIG_OPTIONS}:${PREFIX}/${GCONF_CONFIG_DIRECTORY}
+GCONF_CONFIG_SOURCE?=xml:${GCONF_CONFIG_OPTIONS}:${DESTDIR}${PREFIX}/${GCONF_CONFIG_DIRECTORY}
GNOME_LOCALSTATEDIR?= ${PREFIX}/share/gnome
gnomeprefix_CONFIGURE_ENV=GTKDOC="false"
-gnomeprefix_CONFIGURE_ARGS=--localstatedir=${GNOME_LOCALSTATEDIR} \
- --datadir=${PREFIX}/share/gnome \
- --with-html-dir=${GNOME_HTML_DIR} \
- --with-help-dir=${PREFIX}/share/gnome/help \
+gnomeprefix_CONFIGURE_ARGS=--localstatedir=${DESTDIR}${GNOME_LOCALSTATEDIR} \
+ --datadir=${DESTDIR}${PREFIX}/share/gnome \
+ --with-html-dir=${DESTDIR}${GNOME_HTML_DIR} \
+ --with-help-dir=${DESTDIR}${PREFIX}/share/gnome/help \
--disable-gtk-doc \
--with-gconf-source=${GCONF_CONFIG_SOURCE}
gnomeprefix_USE_GNOME_IMPL=gnomehier
@@ -725,10 +725,10 @@
gnome-pre-su-install:
.if defined(_USE_GNOME) && ${_USE_GNOME:Mgnomeprefix}!="" && !defined(NO_MTREE)
- @${MTREE_CMD} ${MTREE_ARGS:S/${MTREE_FILE}/${GNOME_MTREE_FILE}/} ${PREFIX}/ >/dev/null
+ @${MTREE_CMD} ${MTREE_ARGS:S/${MTREE_FILE}/${GNOME_MTREE_FILE}/} ${DESTDIR}${PREFIX}/ >/dev/null
.endif
.if defined(GCONF_SCHEMAS)
- @${MKDIR} ${PREFIX}/etc/gconf/gconf.xml.defaults/
+ @${MKDIR} ${DESTDIR}${PREFIX}/etc/gconf/gconf.xml.defaults/
.else
@${DO_NADA}
.endif
==== //depot/projects/soc2006/gabor_ports/Mk/bsd.mail.mk#2 (text+ko) ====
@@ -51,9 +51,9 @@
.endif
.if defined(QMAIL_SLAVEPORT)
-QMAIL_DEPENDS= ${QMAIL_PREFIX}/bin/qmail-send:${PORTSDIR}/mail/qmail-${QMAIL_SLAVEPORT:L}
+QMAIL_DEPENDS= ${DESTDIR}${QMAIL_PREFIX}/bin/qmail-send:${PORTSDIR}/mail/qmail-${QMAIL_SLAVEPORT:L}
.else
-QMAIL_DEPENDS= ${QMAIL_PREFIX}/bin/qmail-send:${PORTSDIR}/mail/qmail
+QMAIL_DEPENDS= ${DESTDIR}${QMAIL_PREFIX}/bin/qmail-send:${PORTSDIR}/mail/qmail
.endif
.if defined(USE_QMAIL) || defined(USE_QMAIL_RUN)
==== //depot/projects/soc2006/gabor_ports/Mk/bsd.openssl.mk#2 (text+ko) ====
@@ -59,10 +59,10 @@
.endif
.if defined(WITH_OPENSSL_BASE)
-OPENSSLBASE= /usr
-OPENSSLDIR= /etc/ssl
+OPENSSLBASE= ${DESTDIR}/usr
+OPENSSLDIR= ${DESTDIR}/etc/ssl
-.if !exists(/usr/lib/libcrypto.so)
+.if !exists(${DESTDIR}/usr/lib/libcrypto.so)
check-depends::
@${ECHO_CMD} "Dependency error: this port requires the OpenSSL library, which is part of"
@${ECHO_CMD} "the FreeBSD crypto distribution but not installed on your"
@@ -98,7 +98,7 @@
.endif
MAKE_ARGS+= OPENSSL_CFLAGS="${OPENSSL_CFLAGS}"
.endif
-OPENSSLRPATH= /usr/lib:${LOCALBASE}/lib
+OPENSSLRPATH= ${DESTDIR}$/usr/lib:${LOCALBASE}/lib
.else
==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#3 (text+ko) ====
@@ -491,6 +491,16 @@
# Various directory definitions and variables to control them.
# You rarely need to redefine any of these except WRKSRC and NO_WRKSUBDIR.
#
+# 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
+# elsewhere than /. ${PREFIX}, ${LOCALBASE},
+# ${LINUXBASE} and ${X11BASE} are all relative to
+# ${DESTDIR}. E.g. setting DESTDIR=/bla LOCALBASE=/opt
+# results packages installed under /bla/opt and registered
+# under /bla/var/db/pkg.
+# Default: / (not set)
+#
# X11BASE - Where X11 ports install things.
# Default: /usr/X11R6
# LOCALBASE - Where non-X11 ports install things.
@@ -1127,6 +1137,8 @@
OSREL!= ${UNAME} -r | ${SED} -e 's/[-(].*//'
.endif
+### FIXME: OSVERSION in DESTDIR and in jail
+
# Get __FreeBSD_version
.if !defined(OSVERSION)
OSVERSION!= ${SYSCTL} -n kern.osreldate
@@ -1261,9 +1273,15 @@
# tree we are and thus can't go relative. They can, of course, be overridden
# by individual Makefiles or local system make configuration.
PORTSDIR?= /usr/ports
-LOCALBASE?= ${DESTDIR}/usr/local
-X11BASE?= ${DESTDIR}/usr/X11R6
-LINUXBASE?= ${DESTDIR}/compat/linux
+LOCALBASE?= /usr/local
+X11BASE?= /usr/X11R6
+LINUXBASE?= /compat/linux
+LOCALBASE_REL:= ${LOCALBASE}
+X11BASE_REL:= ${X11BASE}
+LINUXBASE_REL:= ${LINUXBASE}
+LOCALBASE:= ${DESTDIR}${LOCALBASE_REL}
+X11BASE:= ${DESTDIR}${X11BASE_REL}
+LINUXBASE:= ${DESTDIR}${LINUXBASE_REL}
DISTDIR?= ${PORTSDIR}/distfiles
_DISTDIR?= ${DISTDIR}/${DIST_SUBDIR}
INDEXDIR?= ${PORTSDIR}
@@ -1308,14 +1326,16 @@
USE_XLIB= yes
.endif
.if defined(USE_X_PREFIX)
-PREFIX?= ${X11BASE}
+PREFIX?= ${X11BASE_REL}
.elif defined(USE_LINUX_PREFIX)
-PREFIX?= ${LINUXBASE}
+PREFIX?= ${LINUXBASE_REL}
NO_MTREE= yes
.else
-PREFIX?= ${LOCALBASE}
+PREFIX?= ${LOCALBASE_REL}
.endif
+### FIXME: ldconfig in DESTDIR
+
.if defined(USE_LINUX_PREFIX)
LDCONFIG_CMD?= ${LINUXBASE}/sbin/ldconfig -r ${LINUXBASE}
LDCONFIG_PLIST_EXEC_CMD?= ${LDCONFIG_CMD}
@@ -1378,8 +1398,8 @@
SITE_PERL?= ${LOCALBASE}/${SITE_PERL_REL}
.if ${PERL_LEVEL} < 500600
-PERL5= /usr/bin/perl${PERL_VERSION}
-PERL= /usr/bin/perl
+PERL5= ${DESTDIR}/usr/bin/perl${PERL_VERSION}
+PERL= ${DESTDIR}/usr/bin/perl
.else
PERL5= ${LOCALBASE}/bin/perl${PERL_VERSION}
PERL= ${LOCALBASE}/bin/perl
@@ -1489,8 +1509,8 @@
BUILD_WRKSRC?= ${WRKSRC}
INSTALL_WRKSRC?=${WRKSRC}
-PLIST_SUB+= OSREL=${OSREL} PREFIX=%D LOCALBASE=${LOCALBASE} X11BASE=${X11BASE}
-SUB_LIST+= PREFIX=${PREFIX} LOCALBASE=${LOCALBASE} X11BASE=${X11BASE} \
+PLIST_SUB+= OSREL=${OSREL} PREFIX=%D LOCALBASE=${LOCALBASE_REL} X11BASE=${X11BASE_REL}
+SUB_LIST+= PREFIX=${PREFIX} LOCALBASE=${LOCALBASE_REL} X11BASE=${X11BASE_REL} \
DATADIR=${DATADIR} DOCSDIR=${DOCSDIR} EXAMPLESDIR=${EXAMPLESDIR}
PLIST_REINPLACE+= dirrmtry
@@ -1830,10 +1850,10 @@
PL_BUILD?= Build
CONFIGURE_ARGS+= \
create_packlist=0 \
- install_path=lib="${PREFIX}/${SITE_PERL_REL}" \
- install_path=arch="${PREFIX}/${SITE_PERL_REL}/${PERL_ARCH}" \
- install_path=script="${PREFIX}/bin" \
- install_path=bin="${PREFIX}/bin" \
+ 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=libdoc="${MAN3PREFIX}/man/man3" \
install_path=bindoc="${MAN1PREFIX}/man/man1"
.elif defined(PERL_CONFIGURE)
@@ -1978,8 +1998,8 @@
.endif
.if exists(/sbin/sha256)
SHA256?= /sbin/sha256
-.elif exists(${LOCALBASE}/sbin/sha256)
-SHA256?= ${LOCALBASE}/sbin/sha256
+.elif exists(${LOCALBASE_REL}/sbin/sha256)
+SHA256?= ${LOCALBASE_REL}/sbin/sha256
.else
SHA256?= NO
.endif
@@ -1990,7 +2010,7 @@
MAKE_FLAGS?= -f
MAKEFILE?= Makefile
-MAKE_ENV+= PREFIX=${PREFIX} LOCALBASE=${LOCALBASE} X11BASE=${X11BASE} MOTIFLIB="${MOTIFLIB}" LIBDIR="${LIBDIR}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" MANPREFIX="${MANPREFIX}"
+MAKE_ENV+= DESTDIR=${DESTDIR} PREFIX=${PREFIX} LOCALBASE=${LOCALBASE_REL} X11BASE=${X11BASE_REL} MOTIFLIB="${MOTIFLIB}" LIBDIR="${LIBDIR}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" MANPREFIX="${MANPREFIX}"
.if ${OSVERSION} < 500016
PTHREAD_CFLAGS?= -D_THREAD_SAFE
@@ -2084,7 +2104,7 @@
# Figure out where the local mtree file is
.if !defined(MTREE_FILE) && !defined(NO_MTREE)
-.if ${PREFIX} == ${X11BASE} || defined(USE_X_PREFIX)
+.if ${PREFIX} == ${X11BASE_REL} || defined(USE_X_PREFIX)
# User may have specified non-standard PREFIX for installing a port that
# uses X
.if ${X_WINDOW_SYSTEM:L} == xfree86-3
@@ -2203,7 +2223,7 @@
.endif
.endif
# where pkg_add records its dirty deeds.
-PKG_DBDIR?= /var/db/pkg
+PKG_DBDIR?= ${DESTDIR}/var/db/pkg
MOTIFLIB?= -L${X11BASE}/lib -lXm -lXp
@@ -2697,10 +2717,10 @@
PKGLATESTFILE= ${PKGLATESTREPOSITORY}/${LATEST_LINK}${PKG_SUFX}
.if defined(PERL_CONFIGURE)
-CONFIGURE_ARGS+= CC="${CC}" CCFLAGS="${CFLAGS}" PREFIX="${PREFIX}" \
- INSTALLPRIVLIB="${PREFIX}/lib" INSTALLARCHLIB="${PREFIX}/lib"
+CONFIGURE_ARGS+= CC="${CC}" CCFLAGS="${CFLAGS}" PREFIX="${DESTDIR}${PREFIX}" \
+ INSTALLPRIVLIB="${DESTDIR}${PREFIX}/lib" INSTALLARCHLIB="${DESTDIR}${PREFIX}/lib"
CONFIGURE_SCRIPT?= Makefile.PL
-MAN3PREFIX?= ${PREFIX}/lib/perl5/${PERL_VERSION}
+MAN3PREFIX?= ${DESTDIR}${PREFIX}/lib/perl5/${PERL_VERSION}
.undef HAS_CONFIGURE
.endif
@@ -2716,7 +2736,7 @@
.if !defined(CONFIGURE_MAX_CMD_LEN)
CONFIGURE_MAX_CMD_LEN!= ${SYSCTL} -n kern.argmax
.endif
-CONFIGURE_ARGS+= --prefix=${PREFIX} ${CONFIGURE_TARGET}
+CONFIGURE_ARGS+= --prefix=${DESTDIR}${PREFIX} ${CONFIGURE_TARGET}
CONFIGURE_ENV+= lt_cv_sys_max_cmd_len=${CONFIGURE_MAX_CMD_LEN}
HAS_CONFIGURE= yes
.endif
@@ -2726,16 +2746,17 @@
WRKDIR=${WRKDIR} WRKSRC=${WRKSRC} PATCHDIR=${PATCHDIR} \
SCRIPTDIR=${SCRIPTDIR} FILESDIR=${FILESDIR} \
PORTSDIR=${PORTSDIR} DEPENDS="${DEPENDS}" \
- PREFIX=${PREFIX} LOCALBASE=${LOCALBASE} X11BASE=${X11BASE}
+ PREFIX=${PREFIX} LOCALBASE=${LOCALBASE} X11BASE=${X11BASE} \
+ DESTDIR=${DESTDIR}
.if defined(BATCH)
SCRIPTS_ENV+= BATCH=yes
.endif
.if ${PREFIX} == /usr
-MANPREFIX?= /usr/share
+MANPREFIX?= ${DESTDIR}/usr/share
.else
-MANPREFIX?= ${PREFIX}
+MANPREFIX?= ${DESTDIR}${PREFIX}
.endif
.for sect in 1 2 3 4 5 6 7 8 9
@@ -2813,9 +2834,9 @@
.if defined(_MANPAGES)
.if defined(NOMANCOMPRESS)
-__MANPAGES:= ${_MANPAGES:S%^${PREFIX}/%%}
+__MANPAGES:= ${_MANPAGES:S%^${DESTDIR}${PREFIX}/%%}
.else
-__MANPAGES:= ${_MANPAGES:S%^${PREFIX}/%%:S%$%.gz%}
+__MANPAGES:= ${_MANPAGES:S%^${DESTDIR}${PREFIX}/%%:S%$%.gz%}
.endif
.if ${MANCOMPRESSED} == "yes"
@@ -2830,16 +2851,16 @@
INFO_PATH?= info
.endif
-DOCSDIR?= ${PREFIX}/share/doc/${PORTNAME}
-EXAMPLESDIR?= ${PREFIX}/share/examples/${PORTNAME}
-DATADIR?= ${PREFIX}/share/${PORTNAME}
+DOCSDIR?= ${DESTDIR}${PREFIX}/share/doc/${PORTNAME}
+EXAMPLESDIR?= ${DESTDIR}${PREFIX}/share/examples/${PORTNAME}
+DATADIR?= ${DESTDIR}${PREFIX}/share/${PORTNAME}
-PLIST_SUB+= DOCSDIR="${DOCSDIR:S,^${PREFIX}/,,}" \
- EXAMPLESDIR="${EXAMPLESDIR:S,^${PREFIX}/,,}" \
- DATADIR="${DATADIR:S,^${PREFIX}/,,}"
+PLIST_SUB+= DOCSDIR="${DOCSDIR:S,^${DESTDIR}${PREFIX}/,,}" \
+ EXAMPLESDIR="${EXAMPLESDIR:S,^${DESTDIR}${PREFIX}/,,}" \
+ DATADIR="${DATADIR:S,^${DESTDIR}${PREFIX}/,,}"
-DESKTOPDIR?= ${PREFIX}/share/applications
-_DESKTOPDIR_REL= ${DESKTOPDIR:S,^${PREFIX}/,,}/
+DESKTOPDIR?= ${DESTDIR}${PREFIX}/share/applications
+_DESKTOPDIR_REL= ${DESKTOPDIR:S,^${DESTDIR}${PREFIX}/,,}/
.if ${_DESKTOPDIR_REL} == ${DESKTOPDIR}/
# DESKTOPDIR is not beneath PREFIX
@@ -2848,6 +2869,8 @@
# Put this as far down as possible so it will catch all PLIST_SUB definitions.
+### FIXME: ldconfig in DESTDIR
+
.if defined(INSTALLS_SHLIB)
LDCONFIG_DIRS?= %%PREFIX%%/lib
LDCONFIG_PLIST!= ${ECHO_CMD} ${LDCONFIG_DIRS} | ${SED} ${PLIST_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/}
@@ -2999,7 +3022,7 @@
@cd ${.CURDIR} && ${SETENV} CURDIR=${.CURDIR} DISTNAME=${DISTNAME} \
DISTDIR=${DISTDIR} WRKDIR=${WRKDIR} WRKSRC=${WRKSRC} \
PATCHDIR=${PATCHDIR} SCRIPTDIR=${SCRIPTDIR} \
- FILESDIR=${FILESDIR} PORTSDIR=${PORTSDIR} PREFIX=${PREFIX} \
+ FILESDIR=${FILESDIR} PORTSDIR=${PORTSDIR} DESTDIR=${DESTDIR} PREFIX=${PREFIX} \
DEPENDS="${DEPENDS}" BUILD_DEPENDS="${BUILD_DEPENDS}" \
RUN_DEPENDS="${RUN_DEPENDS}" X11BASE=${X11BASE} \
CONFLICTS="${CONFLICTS}" \
@@ -3461,9 +3484,11 @@
# Check conflicts
+### FIXME: conflict checking in DESTDIR is temporarly ignored for testing
+
.if !target(check-conflicts)
check-conflicts:
-.if defined(CONFLICTS) && !defined(DISABLE_CONFLICTS)
+.if defined(CONFLICTS) && !defined(DISABLE_CONFLICTS) && !defined(DESTDIR)
@found=`${PKG_INFO} -I ${CONFLICTS:C/.+/'&'/} 2>/dev/null | ${AWK} '{print $$1}'`; \
conflicts_with=; \
for entry in $${found}; do \
@@ -3602,6 +3627,8 @@
# Utility targets follow
+### FIXME: pkg_info in DESTDIR
+
.if !target(check-already-installed)
check-already-installed:
.if !defined(NO_PKG_REGISTER) && !defined(FORCE_PKG_REGISTER)
@@ -3649,12 +3676,12 @@
.if !target(install-mtree)
install-mtree:
- @${MKDIR} ${PREFIX}
+ @${MKDIR} ${DESTDIR}${PREFIX}
@if [ `${ID} -u` != 0 ]; then \
- if [ -w ${PREFIX}/ ]; then \
+ if [ -w ${DESTDIR}${PREFIX}/ ]; then \
${ECHO_MSG} "Warning: not superuser, you may get some errors during installation."; \
else \
- ${ECHO_MSG} "Error: ${PREFIX}/ not writable."; \
+ ${ECHO_MSG} "Error: ${DESTDIR}${PREFIX}/ not writable."; \
${FALSE}; \
fi; \
fi
@@ -3665,9 +3692,9 @@
${ECHO_CMD} "Copy it from a suitable location (e.g., /usr/src/etc/mtree) and try again."; \
exit 1; \
else \
- ${MTREE_CMD} ${MTREE_ARGS} ${PREFIX}/ >/dev/null; \
+ ${MTREE_CMD} ${MTREE_ARGS} ${DESTDIR}${PREFIX}/ >/dev/null; \
if [ ${MTREE_FILE} = "/etc/mtree/BSD.local.dist" ]; then \
- cd ${PREFIX}/share/nls; \
+ cd ${DESTDIR}${PREFIX}/share/nls; \
${LN} -shf C POSIX; \
${LN} -shf C en_US.US-ASCII; \
fi; \
@@ -3728,6 +3755,8 @@
.if !target(security-check)
.if !defined(OLD_SECURITY_CHECK)
+### FIXME: in the displayed checksum DESTDIR should be displayed if set
+
security-check:
# Scan PLIST for:
# 1. setugid files
@@ -4057,6 +4086,8 @@
#
# Special target to remove installation
+### FIXME: deinstall from DESTDIR
+
.if !target(deinstall)
deinstall:
.if ${UID} != 0 && !defined(INSTALL_AS_USER)
@@ -5169,10 +5200,10 @@
# Process GNU INFO files at package install/deinstall time
.if defined(INFO)
.for i in ${INFO}
- install-info --quiet ${PREFIX}/${INFO_PATH}/$i.info ${PREFIX}/${INFO_PATH}/dir
+ install-info --quiet ${DESTDIR}${PREFIX}/${INFO_PATH}/$i.info ${DESTDIR}${PREFIX}/${INFO_PATH}/dir
@${ECHO_CMD} "@unexec install-info --quiet --delete %D/${INFO_PATH}/$i.info %D/${INFO_PATH}/dir" \
>> ${TMPPLIST}
- @${LS} ${PREFIX}/${INFO_PATH}/$i.info* | ${SED} -e s:${PREFIX}/::g >> ${TMPPLIST}
+ @${LS} ${DESTDIR}${PREFIX}/${INFO_PATH}/$i.info* | ${SED} -e s:${DESTDIR}${PREFIX}/::g >> ${TMPPLIST}
@${ECHO_CMD} "@exec install-info --quiet %D/${INFO_PATH}/$i.info %D/${INFO_PATH}/dir" \
>> ${TMPPLIST}
@if [ "`${DIRNAME} $i`" != "." ]; then \
@@ -5181,7 +5212,7 @@
.endfor
.if (${PREFIX} != "/usr")
@${ECHO_CMD} "@unexec if [ -f %D/${INFO_PATH}/dir ]; then if sed -e '1,/Menu:/d' %D/${INFO_PATH}/dir | grep -q '^[*] '; then true; else rm %D/${INFO_PATH}/dir; fi; fi" >> ${TMPPLIST}
-.if (${PREFIX} != ${LOCALBASE} && ${PREFIX} != ${X11BASE} && ${PREFIX} != ${LINUXBASE})
+.if (${PREFIX} != ${LOCALBASE_REL} && ${PREFIX} != ${X11BASE_REL} && ${PREFIX} != ${LINUXBASE_REL})
@${ECHO_CMD} "@unexec rmdir %D/info 2> /dev/null || true" >> ${TMPPLIST}
.endif
.endif
@@ -5192,7 +5223,7 @@
# deinstall-time
.if !target(add-plist-post)
add-plist-post:
-.if (${PREFIX} != ${LOCALBASE} && ${PREFIX} != ${X11BASE} && ${PREFIX} != ${LINUXBASE} && ${PREFIX} != "/usr")
+.if (${PREFIX} != ${LOCALBASE_REL} && ${PREFIX} != ${X11BASE_REL} && ${PREFIX} != ${LINUXBASE_REL} && ${PREFIX} != "/usr")
@${ECHO_CMD} "@unexec rmdir %D 2> /dev/null || true" >> ${TMPPLIST}
.else
@${DO_NADA}
@@ -5216,12 +5247,12 @@
@${ECHO_CMD} "@cwd ${PREFIX}" >> ${TMPPLIST}
.if (${OSVERSION} >= 700007 || ( ${OSVERSION} < 700000 && ${OSVERSION} >= 600101 ))
@for i in ${USE_RC_SUBR}; do \
- ${INSTALL_SCRIPT} ${WRKDIR}/$${i} ${PREFIX}/etc/rc.d/$${i%.sh}; \
+ ${INSTALL_SCRIPT} ${WRKDIR}/$${i} ${DESTDIR}${PREFIX}/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} ${PREFIX}/etc/rc.d/$${i%.sh}.sh; \
+ ${INSTALL_SCRIPT} ${WRKDIR}/$${i} ${DESTDIR}${PREFIX}/etc/rc.d/$${i%.sh}.sh; \
${ECHO_CMD} "etc/rc.d/$${i%.sh}.sh" >> ${TMPPLIST}; \
done
.endif
==== //depot/projects/soc2006/gabor_ports/Mk/bsd.port.subdir.mk#2 (text+ko) ====
@@ -48,10 +48,10 @@
.if !defined(NOPRECIOUSMAKEVARS)
.if !defined(ARCH)
-ARCH!= /usr/bin/uname -p
+ARCH!= ${DESTDIR}/usr/bin/uname -p
.endif
.if !defined(OSREL)
-OSREL!= /usr/bin/uname -r | sed -e 's/[-(].*//'
+OSREL!= ${DESTDIR}/usr/bin/uname -r | sed -e 's/[-(].*//'
.endif
.if !defined(OSVERSION)
.if exists(/sbin/sysctl)
@@ -61,23 +61,23 @@
.endif
.endif
.if !defined(PORTOBJFORMAT)
-PORTOBJFORMAT!= test -x /usr/bin/objformat && /usr/bin/objformat || echo aout
+PORTOBJFORMAT!= test -x ${DESTDIR}/usr/bin/objformat && ${DESTDIR}/usr/bin/objformat || echo aout
.endif
.endif
-ID?= /usr/bin/id
+ID?= ${DESTDIR}/usr/bin/id
UID!= ${ID} -u
-LOCALBASE?= ${DESTDIR}/usr/local
+LOCALBASE?= ${DESTDIR}${LOCALBASE_REL}
.if exists(${LOCALBASE}/sbin/pkg_info)
PKG_INFO?= ${LOCALBASE}/sbin/pkg_info
.else
-PKG_INFO?= /usr/sbin/pkg_info
+PKG_INFO?= ${DESTDIR}/usr/sbin/pkg_info
.endif
-SED?= /usr/bin/sed
+SED?= ${DESTDIR}/usr/bin/sed
PKGINSTALLVER!= ${PKG_INFO} -P 2>/dev/null | ${SED} -e 's/.*: //'
.if !defined(OPSYS)
-OPSYS!= /usr/bin/uname -s
+OPSYS!= ${DESTDIR}/usr/bin/uname -s
.endif
ECHO_MSG?= echo
==== //depot/projects/soc2006/gabor_ports/Mk/bsd.python.mk#2 (text+ko) ====
@@ -403,7 +403,7 @@
@${ECHO} "Legal values are: 2.7 (default), 2.8, 2.9, 3.2"
@${FALSE}
.endif
-ZOPEBASEDIR?= ${PREFIX}/${SZOPEBASEDIR}
+ZOPEBASEDIR?= ${DESTDIR}${PREFIX}/${SZOPEBASEDIR}
ZOPEPRODUCTDIR?= Products
.endif
==== //depot/projects/soc2006/gabor_ports/Mk/bsd.ruby.mk#2 (text+ko) ====
@@ -113,7 +113,7 @@
RUBY_VER?= ${RUBY_DEFAULT_VER}
.if defined(RUBY)
-.if !exists(${RUBY})
+.if !exists(${DESTDIR}${RUBY})
BROKEN= You set the variable RUBY to "${RUBY}", but it does not seem to exist. Please specify an already installed ruby executable.
.endif
@@ -122,7 +122,7 @@
BROKEN= You set the variable RUBY to "${RUBY}", but it failed to include rbconfig. Please specify a properly installed ruby executable.
.endif
-_RUBY_CONFIG= ${RUBY} -r rbconfig -e 'C = Config::CONFIG' -e
+_RUBY_CONFIG= ${DESTDIR}${RUBY} -r rbconfig -e 'C = Config::CONFIG' -e
RUBY_VERSION!= ${_RUBY_CONFIG} 'puts VERSION'
RUBY_SUFFIX?= # empty
More information about the p4-projects
mailing list