mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-05 06:27:37 +00:00
500b38ade8
Bugs fixed: (from release notes): #136755 ** A perforce server could shutdown with the message "License expired" even when a new license with a valid expire date was put in place (either manually or with the 'p4 license' command). This only happened if the license that the server was originally started with became out of date. (Bug #24800) #136742 ** 'p4 obliterate' under certain conditions could purge an archive file which still had lazy copies pointing to it. This change prevents that from happening. (Bug #26682). #136586 ** In certain cases inconsistent results depending on depot path could be observed for some commands. Typically when this happened an unrestricted 'p4 sync' would bring back correct behaviour. This problem only occured when a file that had been previously synced was no longer mapped by the current client view and the client path name had a '.' in a significant position of its path. This has been fixed (Bug #24943, #26541). #135236 ** Unintegrated revisions prior to a delete could cause undesirable file re-branching in subsequent integrations. This change brings back an older behavior, which is to not re-branch from revisions prior to a delete when the target is also deleted. (Bug #25662) For complete list of changes, see: http://www.perforce.com/perforce/doc.062/user/relnotes.txt
150 lines
4.2 KiB
Makefile
150 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= 06.2
|
|
REVISION= 3
|
|
BIN_FILES= p4
|
|
SBIN_FILES= p4d p4ftpd p4p p4web
|
|
REL_NOTES= http://www.perforce.com/perforce/doc.062/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>
|
|
|
|
.if ${ARCH} == sparc64 && ${OSVERSION} > 700017
|
|
BROKEN= requires compat6x, which has not yet been relased
|
|
.endif
|
|
|
|
# Figure out what to install
|
|
.if ${ARCH} == alpha
|
|
PLATFORM= freebsdaxp
|
|
.elif ${ARCH} == amd64
|
|
PLATFORM= freebsd54x86_64
|
|
.if ${OSVERSION} >= 600000
|
|
LIB_DEPENDS+= c_r.5:${PORTSDIR}/misc/compat5x
|
|
.endif
|
|
.elif ${ARCH} == i386
|
|
PLATFORM= freebsd54x86
|
|
.if ${OSVERSION} >= 600000
|
|
LIB_DEPENDS+= c_r.5:${PORTSDIR}/misc/compat5x
|
|
.endif
|
|
.elif ${ARCH} == sparc64 && ${OSVERSION} >= 601000
|
|
PLATFORM= freebsd61sparc64
|
|
.else
|
|
IGNORE= unsupported OS release, sorry
|
|
.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>
|