1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-05 06:27:37 +00:00
freebsd-ports/devel/p4/Makefile
Lars Thegler 500b38ade8 Chase updated binaries.
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
2007-10-19 07:54:00 +00:00

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>