freebsd-ports/devel/p4d/Makefile
Lars Thegler 2f28409417 Bugs fixed (from release notes):
#152382 **
    Sometimes 'p4 integrate' would find a distant base when
    cherry picking revisions to integrate.  Now 'p4 integrate'
    insists that the base be the revision before the first
    revision being integrated when cherry picking revisions.
    (Bug #29016).

  #152296 **
    'p4 submit' could report "No files to submit" if the
    combination of client mapped files and protections table
    exceeded an internal limit.  This limit was incorrectly
    reached on case-insensitive Servers (Windows) by repeated
    values in a generated map.  This has been fixed. (Bug #28853)
2008-04-27 12:47:50 +00:00

151 lines
4.2 KiB
Makefile

# New ports collection makefile for: perforce
# Date created: 3 Mai 2000
# Whom: sam@inf.enst.fr
#
# $FreeBSD$
#
PORTNAME= perforce
PORTVERSION= ${VERSION}
PORTREVISION= ${REVISION}
PORTEPOCH= 1
CATEGORIES= devel
MASTER_SITES= ftp://ftp.perforce.com/pub/perforce/r${PORTVERSION}/bin.${PLATFORM}/ \
http://filehost.perforce.com/perforce/r${PORTVERSION}/bin.${PLATFORM}/
EXTRACT_SUFX=
DISTFILES= ${BIN_FILES} ${SBIN_FILES}
EXTRACT_ONLY= # none
MAINTAINER= lth@FreeBSD.org
COMMENT= Perforce client and server
ONLY_FOR_ARCHS= alpha amd64 i386 sparc64
DIST_SUBDIR= perforce/${VERSION}/${ARCH}
MD5_FILE= ${MASTERDIR}/distinfo.${PLATFORM}
#
# This is a kludge. I don't know a better way to set PORTVERSION and
# PORTREVISION such that pkg_version figures out an update is needed
#
ARCH!= /usr/bin/uname -p
ARCH?= i386
.if ${ARCH} == amd64 || ${ARCH} == i386 || ${ARCH} == sparc64
VERSION= 07.3
REVISION= 2
BIN_FILES= p4
SBIN_FILES= p4d p4ftpd p4p p4web
REL_NOTES= http://www.perforce.com/perforce/doc.073/user/relnotes.txt
.elif ${ARCH} == alpha
VERSION= 99.1
REVISION= 1
BIN_FILES= p4
SBIN_FILES= p4d
REL_NOTES= http://www.perforce.com/perforce/doc.991/user/relnotes.txt
.else
VERSION= 0
IGNORE= unsupported platform, sorry
.endif
# End of kludge
RESTRICTED= Restricted distribution
NO_WRKSUBDIR= yes
PLIST_FILES= ${BIN_FILES:S+^+bin/+g} \
${SBIN_FILES:S+^+sbin/+g}
.include <bsd.port.pre.mk>
# Figure out what to install
.if ${ARCH} == alpha
PLATFORM= freebsdaxp
.elif ${ARCH} == amd64
.if ${OSVERSION} >= 504000 && ${OSVERSION} < 600000
PLATFORM= freebsd54x86_64
.elif ${OSVERSION} >= 600000
PLATFORM= freebsd60x86_64
.endif
.elif ${ARCH} == i386
.if ${OSVERSION} >= 504000 && ${OSVERSION} < 600000
PLATFORM= freebsd54x86
.elif ${OSVERSION} >= 600000
PLATFORM= freebsd60x86
.endif
.elif ${ARCH} == sparc64 && ${OSVERSION} >= 601000
PLATFORM= freebsd61sparc64
.else
IGNORE= unsupported OS release, sorry
.endif
.if ${OSVERSION} >= 700043
LIB_DEPENDS+= c.6:${PORTSDIR}/misc/compat6x
.endif
# These variables are all configurable.
PERFORCE_USER?= p4admin
PERFORCE_UID?= 94
PERFORCE_GROUP?= p4admin
PERFORCE_GID?= 94
PERFORCE_HOME?= ${LOCALBASE}/perforce
PERFORCE_ROOT?= ${PERFORCE_HOME}/root
PERFORCE_LOGS?= ${PERFORCE_HOME}/logs
PERFORCE_PORT?= 1666
PERFORCE_CACHE?= ${PERFORCE_HOME}/cache
PERFORCE_TARGET?= perforce:1666
pre-everything::
@${ECHO} "If the checksums fail, try doing 'make distclean'"
@${ECHO} "to force getting the latest binaries from Perforce."
@${ECHO} ""
@${ECHO} "Read the release notes for this release to determine"
@${ECHO} "how to migrate the database to the new version. In"
@${ECHO} "most instances, it is done automatically. However,"
@${ECHO} "sometimes it must be done manually."
@${ECHO} ""
@${ECHO} "The release notes for this version are at"
@${ECHO} ${REL_NOTES}
@${ECHO} ""
@${ECHO} "Checkpoint and backup your data before installing!"
do-build:
${SED} -e "s,@PERFORCE_ROOT@,${PERFORCE_ROOT},g" \
-e "s,@PERFORCE_LOGS@,${PERFORCE_LOGS},g" \
-e "s,@PERFORCE_USER@,${PERFORCE_USER},g" \
-e "s,@PERFORCE_PORT@,${PERFORCE_PORT},g" \
-e "s,@PERFORCE_CACHE@,${PERFORCE_CACHE},g" \
-e "s,@PERFORCE_TARGET@,${PERFORCE_TARGET},g" \
< ${FILESDIR}/perforce.conf.in > ${WRKSRC}/perforce.conf
${SED} -e "s,@PREFIX@,${PREFIX},g" \
< ${FILESDIR}/perforce.sh.in > ${WRKSRC}/perforce.sh
pre-su-install:
${SETENV} PKG_PREFIX=${PREFIX} \
PERFORCE_USER=${PERFORCE_USER} \
PERFORCE_UID=${PERFORCE_UID} \
PERFORCE_GROUP=${PERFORCE_GROUP} \
PERFORCE_GID=${PERFORCE_GID} \
PERFORCE_HOME=${PERFORCE_HOME} \
PERFORCE_ROOT=${PERFORCE_ROOT} \
PERFORCE_LOGS=${PERFORCE_LOGS} \
${SH} ${PKGDIR}/pkg-install ${PORTNAME} PRE-INSTALL
do-install:
.for f in ${BIN_FILES}
${INSTALL_PROGRAM} ${_DISTDIR}/${f} ${PREFIX}/bin/
.endfor
.for f in ${SBIN_FILES}
${INSTALL_PROGRAM} ${_DISTDIR}/${f} ${PREFIX}/sbin/
.endfor
${INSTALL_DATA} ${WRKSRC}/perforce.conf ${PREFIX}/etc/perforce.conf.default; \
if [ ! -f ${PREFIX}/etc/perforce.conf ]; then \
${CP} -p ${PREFIX}/etc/perforce.conf.default ${PREFIX}/etc/perforce.conf; \
fi
${INSTALL_SCRIPT} ${WRKSRC}/perforce.sh ${PREFIX}/etc/rc.d/
post-install:
${ECHO_CMD} "@unexec ${RMDIR} ${PERFORCE_ROOT} ${PERFORCE_LOGS} ${PERFORCE_HOME} 2>/dev/null || true" >> ${TMPPLIST}
.include <bsd.port.post.mk>