diff options
author | linimon <linimon@FreeBSD.org> | 2006-01-28 10:11:35 +0800 |
---|---|---|
committer | linimon <linimon@FreeBSD.org> | 2006-01-28 10:11:35 +0800 |
commit | d5c0be22d278a4a0e99c688ca731a18f82499a05 (patch) | |
tree | 8f50d0e1ecdb414504f99a9a61595746ca60bbb8 /Mk/bsd.port.mk | |
parent | b4c0d8c775298941581f53b8adadfe0ec671773b (diff) | |
download | freebsd-ports-gnome-d5c0be22d278a4a0e99c688ca731a18f82499a05.tar.gz freebsd-ports-gnome-d5c0be22d278a4a0e99c688ca731a18f82499a05.tar.zst freebsd-ports-gnome-d5c0be22d278a4a0e99c688ca731a18f82499a05.zip |
- Fix possibility of "infinite make fork" when "Registering install for ..."
EMACS ports. [1]
- Allow building a port as root using an NFS-mounted /usr/ports if the
server maps root to a UID other than root. [2]
- Make 'BROKEN' and 'IGNORED' ports exit their "make install" with a fail
status rather than success. [3]
- Improve behavior when dealing with versioned dependencies. [4]
- Fix false positives in check-conflicts target. [5]
- Remove obsolete bzip2 code. [6]
- Add physical category net-p2p. [7]
- Don't fetch INDEXFILE if not necessary; respect FETCH_ENV. [8], [11]
- INDEX can now be moved outside of ports tree. [9]
- Add ghostscript-gpl. [10]
- Remove obsolete USE_MESA. [12]
- Force pkg_install tools from ports on FreeBSD 4.10 and older. [13]
- Document ALWAYS_KEEP_DISTFILES. [14]
- Remove USE_REINPLACE from bsd.port.mk USE_DOS2UNIX patch. [15]
PR: ports/37596 [1], ports/57259 [2], ports/63216 [3],
ports/89448 [4], ports/89710 [5], ports/88996 [6],
ports/89260 [7], ports/89363 [8], ports/89809 [9],
ports/89853 [10], ports/91086 [11], ports/91710 [12],
ports/91727 [13], ports/92111 [14], ports/92124 [15]
Submitted by: Jay Sachs <jay at eziba dot com> [1], sem [1, 3, 8, 12],
Andrew Heybey <ath at niksun dot com> [2], Jamie Jones
<jamie at thompson dot bishopston dot net>, tobez [4], Mark
Andrews <Mark_Andrews at isc dot org> [5], edwin [6, 11, 15],
pav [7, 13], Peter Jeremy <PeterJeremy at optushome dot com
dot au> [9], Ulrich Spoerlein <q at galgenberg dot net> [10],
netchild [11], erwin [14]
Reviewed by: kris, clement (partially)
Diffstat (limited to 'Mk/bsd.port.mk')
-rw-r--r-- | Mk/bsd.port.mk | 81 |
1 files changed, 42 insertions, 39 deletions
diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk index 6206f3dfd118..5b963d1a04fe 100644 --- a/Mk/bsd.port.mk +++ b/Mk/bsd.port.mk @@ -120,6 +120,10 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org # ${MASTER_SITE_OVERRIDE}) # EXTRACT_ONLY - If set, a subset of ${DISTFILES} you want to # actually extract. +# ALWAYS_KEEP_DISTFILES - If set, the package building cluster will save the distfiles along +# with the packages. This may be required to comply with some +# licenses, e.g. GPL in some cases. +# Default: not set. # # (NOTE: by convention, the MAINTAINER entry (see above) should go here.) # @@ -348,6 +352,9 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org # Some installations may wish to override the default # to specify a version without X11 and/or localized # versions for their nationality. +# WITH_GHOSTSCRIPT_GPL +# - If set, this port uses the GPL version of the ghostscript +# software instead of the GNU version, which is used otherwise. # WITH_GHOSTSCRIPT_AFPL # - If set, this port uses the AFPL version of the ghostscript # software instead of the GNU version, which is used otherwise. @@ -364,7 +371,6 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org # USE_FREETYPE - If set, this port uses the freetype print libraries. # USE_GL - If set, this port uses libGL (not needed with XFree86 4.x # which already includes this functionality). -# USE_MESA - If set, this port uses libGL/libglut (deprecated). # USE_MOTIF - If set, this port uses a Motif toolkit. Implies USE_XPM. # NO_OPENMOTIF - If set, this port uses a custom Motif toolkit # instead of Openmotif. @@ -992,14 +998,8 @@ NOPRECIOUSSOFTMAKEVARS= yes AWK?= /usr/bin/awk BASENAME?= /usr/bin/basename BRANDELF?= /usr/bin/brandelf -.if exists(/usr/bin/bzip2) BZCAT?= /usr/bin/bzcat BZIP2_CMD?= /usr/bin/bzip2 -.else -BZCAT?= ${LOCALBASE}/bin/bzcat -BZIP2_CMD?= ${LOCALBASE}/bin/bzip2 -BZIP2DEPENDS= yes -.endif CAT?= /bin/cat CHGRP?= /usr/bin/chgrp CHMOD?= /bin/chmod @@ -1224,6 +1224,7 @@ X11BASE?= ${DESTDIR}/usr/X11R6 LINUXBASE?= ${DESTDIR}/compat/linux DISTDIR?= ${PORTSDIR}/distfiles _DISTDIR?= ${DISTDIR}/${DIST_SUBDIR} +INDEXDIR?= ${PORTSDIR} .if ${OSVERSION} >= 500036 INDEXFILE?= INDEX-${OSVERSION:C/([0-9]).*/\1/} .else @@ -1350,7 +1351,7 @@ PERL= ${LOCALBASE}/bin/perl .include "${PORTSDIR}/Mk/bsd.openssl.mk" .endif -.if defined(EMACS_PORT_NAME) +.if defined(USE_EMACS) || defined(EMACS_PORT_NAME) .include "${PORTSDIR}/Mk/bsd.emacs.mk" .endif @@ -1491,17 +1492,11 @@ MANCOMPRESSED?= no .endif .if defined(PATCHFILES) -.if ${PATCHFILES:M*.bz2}x != x && defined(BZIP2DEPENDS) -PATCH_DEPENDS+= bzip2:${PORTSDIR}/archivers/bzip2 -.endif .if ${PATCHFILES:M*.zip}x != x PATCH_DEPENDS+= unzip:${PORTSDIR}/archivers/unzip .endif .endif -.if defined(USE_BZIP2) && defined(BZIP2DEPENDS) -EXTRACT_DEPENDS+= bzip2:${PORTSDIR}/archivers/bzip2 -.endif .if defined(USE_ZIP) EXTRACT_DEPENDS+= unzip:${PORTSDIR}/archivers/unzip .endif @@ -1510,10 +1505,6 @@ BUILD_DEPENDS+= gmake:${PORTSDIR}/devel/gmake CONFIGURE_ENV+= MAKE=${GMAKE} .endif -.if defined(USE_DOS2UNIX) -USE_REINPLACE= yes -.endif - .if defined(USE_GCC) .include "${PORTSDIR}/Mk/bsd.gcc.mk" .endif @@ -1743,10 +1734,6 @@ PKG_IGNORE_DEPENDS?= 'this_port_does_not_exist' PLIST_SUB+= XAWVER=${XAWVER} -.if defined(USE_MESA) -LIB_DEPENDS+= glut.3:${PORTSDIR}/graphics/libglut -.endif - .if defined(USE_BISON) BUILD_DEPENDS+= bison:${PORTSDIR}/devel/bison .endif @@ -1859,21 +1846,17 @@ CONFIGURE_ARGS+=--x-libraries=${X11BASE}/lib --x-includes=${X11BASE}/include # compatible functionality. .if !defined(WITHOUT_X11) .if defined(WITH_GHOSTSCRIPT_AFPL) -.if ${WITH_GHOSTSCRIPT_AFPL} == yes GHOSTSCRIPT_PORT?= print/ghostscript-afpl -.else -GHOSTSCRIPT_PORT?= print/ghostscript-gnu -.endif +.elif defined(WITH_GHOSTSCRIPT_GPL) +GHOSTSCRIPT_PORT?= print/ghostscript-gpl .else GHOSTSCRIPT_PORT?= print/ghostscript-gnu .endif .else .if defined(WITH_GHOSTSCRIPT_AFPL) -.if ${WITH_GHOSTSCRIPT_AFPL} == yes GHOSTSCRIPT_PORT?= print/ghostscript-afpl-nox11 -.else -GHOSTSCRIPT_PORT?= print/ghostscript-gnu-nox11 -.endif +.elif defined(WITH_GHOSTSCRIPT_GPL) +GHOSTSCRIPT_PORT?= print/ghostscript-gpl-nox11 .else GHOSTSCRIPT_PORT?= print/ghostscript-gnu-nox11 .endif @@ -2008,7 +1991,11 @@ EXTRACT_BEFORE_ARGS?= -qo EXTRACT_AFTER_ARGS?= -d ${WRKDIR} .else EXTRACT_BEFORE_ARGS?= -dc +.if defined(EXTRACT_PRESERVE_OWNERSHIP) +EXTRACT_AFTER_ARGS?= | ${TAR} -xf - --no-same-owner +.else EXTRACT_AFTER_ARGS?= | ${TAR} -xf - +.endif .if defined(USE_BZIP2) EXTRACT_CMD?= ${BZIP2_CMD} .else @@ -2089,7 +2076,11 @@ _PORTDIRNAME= ${.CURDIR:T} PORTDIRNAME?= ${_PORTDIRNAME} PKGORIGIN?= ${PKGCATEGORY}/${PORTDIRNAME} -.if exists(${LOCALBASE}/sbin/pkg_info) + +.if (${OSVERSION} < 491101 && ${PKGORIGIN} != "sysutils/pkg_install") || exists(${LOCALBASE}/sbin/pkg_info) +.if ${OSVERSION} < 491101 && ${PKGORIGIN} != "sysutils/pkg_install" +EXTRACT_DEPENDS+= ${LOCALBASE}/sbin/pkg_info:${PORTSDIR}/sysutils/pkg_install +.endif PKG_CMD?= ${LOCALBASE}/sbin/pkg_create PKG_ADD?= ${LOCALBASE}/sbin/pkg_add PKG_DELETE?= ${LOCALBASE}/sbin/pkg_delete @@ -2581,7 +2572,7 @@ VALID_CATEGORIES+= accessibility afterstep arabic archivers astro audio \ deskutils devel dns editors elisp emulators finance french ftp \ games geography german gnome graphics hamradio haskell hebrew hungarian \ ipv6 irc japanese java kde korean lang linux lisp \ - mail math mbone misc multimedia net net-im net-mgmt news \ + mail math mbone misc multimedia net net-im net-mgmt net-p2p news \ palm parallel pear perl5 picobsd plan9 polish portuguese print \ python ruby rubygems russian \ scheme science security shells spanish sysutils \ @@ -2863,7 +2854,7 @@ clean: .if defined(IGNORE_SILENT) IGNORECMD= ${DO_NADA} .else -IGNORECMD= ${ECHO_MSG} "===> ${PKGNAME} "${IGNORE:Q}. +IGNORECMD= ${ECHO_MSG} "===> ${PKGNAME} "${IGNORE:Q}.;exit 1 .endif .for target in check-sanity fetch checksum extract patch configure all build install reinstall package @@ -3389,10 +3380,12 @@ check-conflicts: @found=`${PKG_INFO} -I ${CONFLICTS:C/.+/'&'/} 2>/dev/null | ${AWK} '{print $$1}'`; \ conflicts_with=; \ for entry in $${found}; do \ - prfx=`${PKG_INFO} -q -p "$${entry}" 2> /dev/null | ${SED} -ne '1s/^@cwd //p'`; \ - orgn=`${PKG_INFO} -q -o "$${entry}" 2> /dev/null`; \ - if [ "/${PREFIX}" = "/$${prfx}" -a "/${PKGORIGIN}" != "/$${orgn}" ]; then \ - conflicts_with="$${conflicts_with} $${entry}"; \ + if ${PKG_INFO} -e $${entry} ; then \ + prfx=`${PKG_INFO} -q -p "$${entry}" 2> /dev/null | ${SED} -ne '1s/^@cwd //p'`; \ + orgn=`${PKG_INFO} -q -o "$${entry}" 2> /dev/null`; \ + if [ "/${PREFIX}" = "/$${prfx}" -a "/${PKGORIGIN}" != "/$${orgn}" ]; then \ + conflicts_with="$${conflicts_with} $${entry}"; \ + fi; \ fi; \ done; \ if [ -n "$${conflicts_with}" ]; then \ @@ -4449,6 +4442,16 @@ ${deptype:L}-depends: ${ECHO_MSG} "===> ${PKGNAME} depends on package: $$prog - not found"; \ notfound=1; \ fi; \ + if [ $$notfound != 0 ]; then \ + inverse_dep=`${ECHO_CMD} $$prog | ${SED} \ + -e 's/<=/=gt=/; s/</=ge=/; s/>=/=lt=/; s/>/=le=/' \ + -e 's/=gt=/>/; s/=ge=/>=/; s/=lt=/</; s/=le=/<=/'`; \ + pkg_info=`${PKG_INFO} -E "$$inverse_dep" || ${TRUE}`; \ + if [ "$$pkg_info" != "" ]; then \ + ${ECHO_MSG} "===> Found $$pkg_info, but you need to upgrade to $$prog."; \ + exit 1; \ + fi; \ + fi; \ elif ${WHICH} "$$prog" > /dev/null 2>&1 ; then \ ${ECHO_MSG} "===> ${PKGNAME} depends on executable: $$prog - found"; \ if [ ${_DEPEND_ALWAYS} = 1 ]; then \ @@ -4920,11 +4923,11 @@ ${.CURDIR}/README.html: # The following two targets require an up-to-date INDEX in ${PORTSDIR} _PRETTY_PRINT_DEPENDS_LIST=\ - if [ ! -r ${PORTSDIR}/${INDEXFILE} ] ; then \ + if [ ! -r ${INDEXDIR}/${INDEXFILE} ] ; then \ ${ECHO_CMD} "${.TARGET} requires an INDEX file (${INDEXFILE}). Please run make index or make fetchindex."; \ else \ ${ECHO_CMD} -n 'This port requires package(s) "' ; \ - ${ECHO_CMD} -n `${AWK} -F\| '$$1 ~ /^${PKGNAME}/ {print $$8;}' ${PORTSDIR}/${INDEXFILE}` ; \ + ${ECHO_CMD} -n `${AWK} -F\| '$$1 ~ /^${PKGNAME}/ {print $$8;}' ${INDEXDIR}/${INDEXFILE}` ; \ ${ECHO_CMD} '" to ${.TARGET:C/pretty-print-(.*)-depends-list/\1/}.'; \ fi; |