Skip site navigation (1)Skip section navigation (2)
Date:      22 Aug 2006 05:59:09 -0000
From:      Mike Meyer <mwm@mired.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/102375: perforce port doesn't use the latest perforce, and doesn't work on a new FreeBSD install
Message-ID:  <20060822055909.3472.qmail@mired.org>
Resent-Message-ID: <200608220600.k7M60SKU027852@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         102375
>Category:       ports
>Synopsis:       perforce port doesn't use the latest perforce, and doesn't work on a new FreeBSD install
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Tue Aug 22 06:00:28 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Mike Meyer
>Release:        FreeBSD 5.5-PRERELEASE i386
>Organization:
Meyer Consulting
>Environment:
System: FreeBSD bhuda.mired.org 5.5-PRERELEASE FreeBSD 5.5-PRERELEASE #1: Mon Aug 14 12:01:27 EDT 2006 mwm@bhuda.mired.org:/usr/src/sys/i386/compile/BHUDA-SMP i386

Also FreeBSD-6.x

>Description:
	The perforce port uses the old (05.2) release of perforce,
	ignoring the 06.1 release - which is also the first release
	that includes a 64-bit version of Perforce. Further, the port doesn't
	install the required compatability libraries when it's
	installed, so that if you don't have them, the installed
	binaries fail.

>How-To-Repeat:
	Try installing the perforce port on a new 6.1 amd64 system.

>Fix:
	The included patch file updates the port to use the 06.2
	release of perforce, and adds the appropriate compat libraries
	where appropriate. It assumes that pre-5.4 systems must use
	the freebsd4 release of 06.2, which may not be true. It's only
	been tested on FreeBSD 5.5 and FreeBSD 6.1.

diff -ruN perforce-orig/Makefile perforce/Makefile
--- perforce-orig/Makefile	Tue May  9 17:07:10 2006
+++ perforce/Makefile	Tue Aug 22 01:50:15 2006
@@ -8,7 +8,6 @@
 PORTNAME=	perforce
 PORTVERSION=	${VERSION}
 PORTREVISION=	${REVISION}
-PORTEPOCH=	1
 CATEGORIES=	devel
 MASTER_SITES=	ftp://ftp.perforce.com/pub/perforce/r${PORTVERSION}/bin.${PLATFORM}/
 EXTRACT_SUFX=
@@ -17,6 +16,8 @@
 
 MAINTAINER=	lth@FreeBSD.org
 COMMENT=	Perforce client and server
+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
@@ -26,27 +27,11 @@
 ARCH?=	i386
 
 .if (${ARCH} == i386) || (${ARCH} == amd64)
-DIST_SUBDIR=	perforce/${VERSION}/i386
-VERSION=	05.2
-REVISION=	3
-PLATFORM=	freebsd4
-BIN_FILES=	p4
-SBIN_FILES=	p4d p4ftpd p4p p4web
-REL_NOTES=	http://www.perforce.com/perforce/doc.052/user/relnotes.txt
-MD5_FILE=	${MASTERDIR}/distinfo.i386
-.elif ${ARCH} == alpha
-DIST_SUBDIR=	perforce/${VERSION}/${ARCH}
-VERSION=	99.1
+VERSION=	06.1
 REVISION=	1
-PLATFORM=	freebsdaxp
 BIN_FILES=	p4
-SBIN_FILES=	p4d
-REL_NOTES=	http://www.perforce.com/perforce/doc.991/user/relnotes.txt
-MD5_FILE=	${MASTERDIR}/distinfo.${ARCH}
-.else
-VERSION=	0
-IGNORE=		"Unsupported platform, sorry."
-.endif
+SBIN_FILES=	p4d p4ftpd p4p p4web
+REL_NOTES=	http://www.perforce.com/perforce/doc.061/user/relnotes.txt
 
 # End of kludge
 
@@ -59,6 +44,38 @@
 		${SBIN_FILES:S+^+sbin/+g}
 
 .include <bsd.port.pre.mk>
+
+# Figure out what to install
+.if ${OSVERSION} > 504000
+.if ${ARCH} == amd64
+PLATFORM=freebsd54x86_64
+.else
+PLATFORM=freebsd54x86
+.endif
+.elif ${OSVERSION} > 400000
+PLATFORM=freebsd4
+.else
+INGORE=	"Only supported on FreeBSD 4.x and greater."
+.endif
+
+# Add compatability dependencies.
+.if ${OSVERSION} > 600000
+LIB_DEPENDS+= c_r.5:${PORTSDIR}/misc/compat5x
+.elif (${OSVERSION} < 540000) && (${OSVERSION} > 500000)
+LIB_DEPENDS+= c_r.4:${PORTSDIR}/misc/compat4x
+.endif
+
+.elif ${ARCH} == alpha
+VERSION=	99.1
+REVISION=	1
+PLATFORM=	freebsdaxp
+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
 
 # These variables are all configurable.
 PERFORCE_USER?=		p4admin
diff -ruN perforce-orig/distinfo.alpha perforce/distinfo.alpha
--- perforce-orig/distinfo.alpha	Wed Oct  8 08:43:22 2003
+++ perforce/distinfo.alpha	Wed Dec 31 19:00:00 1969
@@ -1,6 +0,0 @@
-MD5 (perforce/99.1/alpha/p4) = 7c1300a82ab03b7ede46cf8a02c48fd9
-MD5 (perforce/99.1/alpha/p4d) = 8f34c41c18185011ed848aaf450cffa5
-MD5 (perforce/99.1/alpha/p4.1) = 4a9d035eb5ef96342c2f701a02da40f9
-MD5 (perforce/99.1/alpha/p4d.1) = a08eb04e9668ba4d0abf47f3b12c56f7
-MD5 (perforce/03.1/i386/p4.1) = 58208eb02ba3786eed2d8e91d851cecd
-MD5 (perforce/03.1/i386/p4d.1) = 381a27c69d707aa3498602a1c216a8d3
diff -ruN perforce-orig/distinfo.freebsd4 perforce/distinfo.freebsd4
--- perforce-orig/distinfo.freebsd4	Wed Dec 31 19:00:00 1969
+++ perforce/distinfo.freebsd4	Tue Aug 22 01:43:41 2006
@@ -0,0 +1,15 @@
+MD5 (perforce/06.1/i386/p4) = 15f3d61541eb6d7792d90f046d372909
+SHA256 (perforce/06.1/i386/p4) = a95a23827d39537d289f7b3683ea72b97e3a7af77386b0887e0d4752955c897d
+SIZE (perforce/06.1/i386/p4) = 733072
+MD5 (perforce/06.1/i386/p4d) = 26fa46e07d9e9ee30cac6384661b9960
+SHA256 (perforce/06.1/i386/p4d) = 8a19cfa9cb2b893e8fb5e02232d3884b21e1977bf83540367188c55e9e5134ae
+SIZE (perforce/06.1/i386/p4d) = 1513300
+MD5 (perforce/06.1/i386/p4ftpd) = 01c0a6ab9a6590780f513a17f4aeffaf
+SHA256 (perforce/06.1/i386/p4ftpd) = d733ef1031adb8e556ae3402191aa45bcc92bc5d2566c786cf32e2135c8b2845
+SIZE (perforce/06.1/i386/p4ftpd) = 828224
+MD5 (perforce/06.1/i386/p4p) = 6f86444c928a015ca2d469805673db83
+SHA256 (perforce/06.1/i386/p4p) = 157c3b5fe562f52a9e1b2f2607f1c769780f7fd739dadd91739caca4fd882fb8
+SIZE (perforce/06.1/i386/p4p) = 613276
+MD5 (perforce/06.1/i386/p4web) = a11f6380c98b7f1b556ed6a3979b168a
+SHA256 (perforce/06.1/i386/p4web) = 15fcebe61589672b551ed5ef56d79ede6c50c00f416b33d629bf10c7a7bd5abc
+SIZE (perforce/06.1/i386/p4web) = 1919584
diff -ruN perforce-orig/distinfo.freebsd54x86 perforce/distinfo.freebsd54x86
--- perforce-orig/distinfo.freebsd54x86	Wed Dec 31 19:00:00 1969
+++ perforce/distinfo.freebsd54x86	Tue Aug 22 01:50:44 2006
@@ -0,0 +1,15 @@
+MD5 (perforce/06.1/i386/p4) = 15f3d61541eb6d7792d90f046d372909
+SHA256 (perforce/06.1/i386/p4) = a95a23827d39537d289f7b3683ea72b97e3a7af77386b0887e0d4752955c897d
+SIZE (perforce/06.1/i386/p4) = 733072
+MD5 (perforce/06.1/i386/p4d) = 26fa46e07d9e9ee30cac6384661b9960
+SHA256 (perforce/06.1/i386/p4d) = 8a19cfa9cb2b893e8fb5e02232d3884b21e1977bf83540367188c55e9e5134ae
+SIZE (perforce/06.1/i386/p4d) = 1513300
+MD5 (perforce/06.1/i386/p4ftpd) = 01c0a6ab9a6590780f513a17f4aeffaf
+SHA256 (perforce/06.1/i386/p4ftpd) = d733ef1031adb8e556ae3402191aa45bcc92bc5d2566c786cf32e2135c8b2845
+SIZE (perforce/06.1/i386/p4ftpd) = 828224
+MD5 (perforce/06.1/i386/p4p) = 6f86444c928a015ca2d469805673db83
+SHA256 (perforce/06.1/i386/p4p) = 157c3b5fe562f52a9e1b2f2607f1c769780f7fd739dadd91739caca4fd882fb8
+SIZE (perforce/06.1/i386/p4p) = 613276
+MD5 (perforce/06.1/i386/p4web) = a11f6380c98b7f1b556ed6a3979b168a
+SHA256 (perforce/06.1/i386/p4web) = 15fcebe61589672b551ed5ef56d79ede6c50c00f416b33d629bf10c7a7bd5abc
+SIZE (perforce/06.1/i386/p4web) = 1919584
diff -ruN perforce-orig/distinfo.freebsd54x86_64 perforce/distinfo.freebsd54x86_64
--- perforce-orig/distinfo.freebsd54x86_64	Wed Dec 31 19:00:00 1969
+++ perforce/distinfo.freebsd54x86_64	Tue Aug 22 01:38:47 2006
@@ -0,0 +1,15 @@
+MD5 (perforce/06.1/amd64/p4) = 79fdba5fbfd7514364b4cdfd05d405de
+SHA256 (perforce/06.1/amd64/p4) = 9a01c1cb93c33982dffcb45301e6cd1ed3051f818aa32485e15d79b5ffce8f6d
+SIZE (perforce/06.1/amd64/p4) = 563600
+MD5 (perforce/06.1/amd64/p4d) = a87ee124508778c454f840fc1042f33b
+SHA256 (perforce/06.1/amd64/p4d) = 7c1492eadf24f29c563286e0469314ade501c283b05a4bd98b3b56b8b4f7f2d3
+SIZE (perforce/06.1/amd64/p4d) = 1484056
+MD5 (perforce/06.1/amd64/p4ftpd) = bbf5bcc99d769bcc15f8962166425dd8
+SHA256 (perforce/06.1/amd64/p4ftpd) = 7e2025ecf4175562c07bc6b5c615b7ad3a0e666569fd4c4db9c35fa6f98daf91
+SIZE (perforce/06.1/amd64/p4ftpd) = 673464
+MD5 (perforce/06.1/amd64/p4p) = e4ed17f3a7af482a8ea79b4ef3403d54
+SHA256 (perforce/06.1/amd64/p4p) = 02f6d0f2e7b26485bdfe5e525ce851610dca1d00a27b045bcc3dcabdf5ddee60
+SIZE (perforce/06.1/amd64/p4p) = 517736
+MD5 (perforce/06.1/amd64/p4web) = 59d9b30558626e7c1845123fbc48bd5f
+SHA256 (perforce/06.1/amd64/p4web) = bdf1c3320887643207bbff7ab17c9910ec1e86ace44003da038bce5e59ea12f2
+SIZE (perforce/06.1/amd64/p4web) = 1836029
diff -ruN perforce-orig/distinfo.freebsdaxp perforce/distinfo.freebsdaxp
--- perforce-orig/distinfo.freebsdaxp	Wed Dec 31 19:00:00 1969
+++ perforce/distinfo.freebsdaxp	Tue Aug 22 01:38:47 2006
@@ -0,0 +1,6 @@
+MD5 (perforce/99.1/alpha/p4) = 7c1300a82ab03b7ede46cf8a02c48fd9
+MD5 (perforce/99.1/alpha/p4d) = 8f34c41c18185011ed848aaf450cffa5
+MD5 (perforce/99.1/alpha/p4.1) = 4a9d035eb5ef96342c2f701a02da40f9
+MD5 (perforce/99.1/alpha/p4d.1) = a08eb04e9668ba4d0abf47f3b12c56f7
+MD5 (perforce/03.1/i386/p4.1) = 58208eb02ba3786eed2d8e91d851cecd
+MD5 (perforce/03.1/i386/p4d.1) = 381a27c69d707aa3498602a1c216a8d3
diff -ruN perforce-orig/distinfo.i386 perforce/distinfo.i386
--- perforce-orig/distinfo.i386	Tue May  9 17:07:10 2006
+++ perforce/distinfo.i386	Wed Dec 31 19:00:00 1969
@@ -1,15 +0,0 @@
-MD5 (perforce/05.2/i386/p4) = f096ecd881b6975dbd2149d9f12a3f90
-SHA256 (perforce/05.2/i386/p4) = fe99e70f8f790545c103219e0cb1ab2a4ac5df56bdf0cc50703669187e0f264b
-SIZE (perforce/05.2/i386/p4) = 717180
-MD5 (perforce/05.2/i386/p4d) = 4b823273027d36e31071b93c61ef5690
-SHA256 (perforce/05.2/i386/p4d) = ec78a0b5ca7cd695b5090e394e8fb822369a84157b31d2f9730b0c13749ed132
-SIZE (perforce/05.2/i386/p4d) = 1509976
-MD5 (perforce/05.2/i386/p4ftpd) = 0f8bf95dd1f0a6ea738a7fae5f3e06ab
-SHA256 (perforce/05.2/i386/p4ftpd) = 2be1ef92341ae023558e8d53bdad4adfa915ddd0c70bd44b42b65658c52c12cc
-SIZE (perforce/05.2/i386/p4ftpd) = 832500
-MD5 (perforce/05.2/i386/p4p) = f180f17fbc926423d8ae83e6f5d9c862
-SHA256 (perforce/05.2/i386/p4p) = 27527dd4cab4f06f2c46990dafddfcaa24e98ca1f61b05c2070049ced5a1d710
-SIZE (perforce/05.2/i386/p4p) = 593760
-MD5 (perforce/05.2/i386/p4web) = 95f56027c78f829f554882e9cac697ca
-SHA256 (perforce/05.2/i386/p4web) = b8febd81d193e264d9e348ec23024e45440ea2daef54f16d4d4c68fdcfa79f26
-SIZE (perforce/05.2/i386/p4web) = 1732661




>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060822055909.3472.qmail>