Makefile 7.4 KB
Newer Older
1
2
3
# New ports collection makefile for: emulab-boss
# Date created:         28 January 2003
# Whom:                 ricci@cs.utah.edu
4
# Updated:              1 October 2009 jwalsh@atl.lmco.com
5

6
7
# Need the major version number to figure out to do.
OSMAJOR!= /usr/bin/uname -r | /usr/bin/sed -e 's/\..*//'
8
OSMINOR!= /usr/bin/uname -r | /usr/bin/sed -e 's/[0-9][0-9]*\.\([0-9][0-9]*\).*/\1/'
9

10
PORTNAME=	emulab-boss
11
12
13
.if ${OSMAJOR} > 6
PORTVERSION=	3.0
.else
Mike Hibler's avatar
Mike Hibler committed
14
.if ${OSMAJOR} > 5
15
16
17
.if ${OSMINOR} >= 3
PORTVERSION=	2.1
.else
18
PORTVERSION=	2.0
19
.endif
20
.else
21
PORTVERSION=	1.7
22
.endif
23
.endif
24
25
26
27
CATEGORIES=	misc
MASTER_SITES=	#none
DISTFILES=	#none
EXTRACT_ONLY=	#none
28
COMMENT=	"Meta-port for an Emulab boss node"
29

30
MAINTAINER=	testbed-ops@flux.utah.edu
31

32
33
34
#
# We set this so that the mysql server port doesn't do name resolution
#
35
.MAKEFLAGS+=	-DSKIP_DNS_CHECK
36

37
#
38
# We must make sure PERL is built with this.
39
#
40
.MAKEFLAGS+=	ENABLE_SUIDPERL=yes
41
.if ${PORTVERSION} == "3.0"
42
.MAKEFLAGS+=	PERL_VERSION=5.10.0 PERL_VER=5.10.0 PERL_ARCH=mach
43
.endif
44
45
46

#
# For SWIG, so that it doesn't feel the need to suck in php and apache
47
# XXX Something is broken on FreeBSD 6.X and SWIG_LANGUAGES='x y z' breaks.
48
#
49
50
.MAKEFLAGS+=	SWIG_LANGUAGES= 
.MAKEFLAGS+=    WANT_SWIG_PERL=yes WANT_SWIG_PYTHON=yes WANT_SWIG_TCL=yes
51

52
53
54
55
56
#
# Have not taken the plunge to PHP5
#
.MAKEFLAGS+=	PHP_VER=4

57
#
58
59
# Various ports need to agree on what version of apache. Make sure this
# agrees with what is in the emulab-ops and emulab-php4 metaports.
60
#
61
.MAKEFLAGS+=	-DWITH_APACHE
62
63
.MAKEFLAGS+=	APACHE_PORT=www/apache13-modssl

64
65
66
67
68
#
# This prevents any ports from trying to run interactively - some, like the
# net-snmp port, ask silly questions without this option.
#
.MAKEFLAGS+=	-DBATCH
69

70
71
72
73
#
# XXX not really a build dependency, but needs to get installed before
# any attempt to install mysql50-* ports
#
74
.if (${PORTVERSION} == "2.1" || ${PORTVERSION} == "3.0")
75
76
77
78
79
80
81
BUILD_DEPENDS=	\
	${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/${PERL_ARCH}/Mysql.pm:${PORTSDIR}/misc/p5-DBD-mysql50-old
.else
BUILD_DEPENDS=	\
	${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/${PERL_ARCH}/Mysql.pm:${PORTSDIR}/databases/p5-DBD-mysql50
.endif

82
LIB_DEPENDS= gd.4:${PORTSDIR}/graphics/gd \
Mike Hibler's avatar
Mike Hibler committed
83
	lthread.[236]:${PORTSDIR}/devel/linuxthreads \
84
	mhash.2:${PORTSDIR}/security/mhash \
Kirk Webb's avatar
   
Kirk Webb committed
85
	mysqlclient.15:${PORTSDIR}/databases/mysql50-client \
86
	snmp.4:${PORTSDIR}/net-mgmt/net-snmp4 \
87
	ulsshxmlrpcpp.0:${PORTSDIR}/misc/ulsshxmlrpcpp
88

89
90
91
92
.if ${OSMAJOR} >= 6
LIB_DEPENDS+= xerces-c.27:${PORTSDIR}/textproc/xerces-c2
.endif

93
94
95
96
97
98
99
100
101
102
103
104
105
#
# Until/unless the pubsub Makefile is changed, we must include libelvin.
# This is because the pubsub libraries have to be built with ELVIN_COMPAT
# to talk to pubsub on ops, and building with compat means that the gateway
# will be built.  Building that requires elvin libraries...
#
.if defined(ELVIN_COMPAT)
LIB_DEPENDS+= vin4.2:${PORTSDIR}/misc/libelvin \
	pubsub.1:${PORTSDIR}/misc/emulab-pubsub-elvincompat
.else
LIB_DEPENDS+= pubsub.1:${PORTSDIR}/misc/emulab-pubsub
.endif

106
107
RUN_DEPENDS=	\
	${LOCALBASE}/etc/apache/ssl.crl:${PORTSDIR}/www/apache13-modssl \
108
	mod_auth_mysql>1:${PORTSDIR}/www/mod_auth_mysql \
109
	fping:${PORTSDIR}/net/fping \
110
	rsync:${PORTSDIR}/net/rsync \
111
	neato:${PORTSDIR}/graphics/graphviz \
112
        swish-e:${PORTSDIR}/www/swish-e \
Kirk Webb's avatar
   
Kirk Webb committed
113
	${LOCALBASE}/libexec/mysqld:${PORTSDIR}/databases/mysql50-server \
114
	anytopnm:${PORTSDIR}/graphics/netpbm \
Kirk Webb's avatar
   
Kirk Webb committed
115
	tclsh8.4:${PORTSDIR}/lang/tcl84 \
116
	otclsh:${PORTSDIR}/lang/otcl \
117
	${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/${PERL_ARCH}/SNMP.pm:${PORTSDIR}/net-mgmt/p5-SNMP \
118
	${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/SNMP_Session.pm:${PORTSDIR}/net-mgmt/p5-SNMP_Session \
119
	${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/${PERL_ARCH}/BSD/Resource.pm:${PORTSDIR}/devel/p5-BSD-Resource \
120
	${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/${PERL_ARCH}/Time/HiRes.pm:${PORTSDIR}/devel/p5-Time-HiRes \
121
	${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/MD5.pm:${PORTSDIR}/security/p5-MD5 \
Mike Hibler's avatar
Mike Hibler committed
122
	${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/${PERL_ARCH}/IO/Pty.pm:${PORTSDIR}/devel/p5-IO-Tty \
123
	rpm:${PORTSDIR}/archivers/rpm \
124
	xvcg:${PORTSDIR}/graphics/vcg \
125
	${LOCALBASE}/libexec/tftpd:${PORTSDIR}/misc/emulab-tftp-hpa \
126
	sudo:${PORTSDIR}/security/sudo \
127
	wget:${PORTSDIR}/ftp/wget \
128
	${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/${PERL_ARCH}/XML/Parser:${PORTSDIR}/textproc/p5-XML-Parser \
129
	${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/RPC/XML.pm:${PORTSDIR}/net/p5-RPC-XML \
130
	${LOCALBASE}/include/boost:${PORTSDIR}/devel/boost \
131
	gmake:${PORTSDIR}/devel/gmake \
132
	kmetis:${PORTSDIR}/math/metis \
133
        curl:${PORTSDIR}/ftp/curl \
Kirk Webb's avatar
   
Kirk Webb committed
134
135
	${PYTHON_SITELIBDIR}/MySQLdb/times.py:${PORTSDIR}/databases/py-MySQLdb \
	mysqlhotcopy:${PORTSDIR}/databases/mysql50-scripts
136

137
138
139
140
141
142
143
144
145
146
.if ${PORTVERSION} == "3.0"
# must handle patching of m2crypto when the port is built
RUN_DEPENDS+=	\
	${PYTHON_PKGNAMEPREFIX}m2crypto>0:${PORTSDIR}/misc/emulab-py-m2crypto
.else
# for older version we can patch the standard m2crypto once installed
RUN_DEPENDS+=	\
	${PYTHON_PKGNAMEPREFIX}m2crypto>0:${PORTSDIR}/security/py-m2crypto
.endif

147
148
149
.if (${PORTVERSION} == "2.1" || ${PORTVERSION} == "3.0")
.if ${PORTVERSION} == "3.0"
RUN_DEPENDS+=	\
150
	dhcpd:${PORTSDIR}/net/isc-dhcp30-server
151
152
.else
RUN_DEPENDS+=	\
153
	dhcpd:${PORTSDIR}/net/isc-dhcp3-server
154
.endif
Mike Hibler's avatar
Mike Hibler committed
155
RUN_DEPENDS+=	\
156
157
158
159
160
	${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/${PERL_ARCH}/XML/Parser.pm:${PORTSDIR}/textproc/p5-XML-Parser \
	${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/RPC/Async.pm:${PORTSDIR}/misc/p5-RPC-Async \
	${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/Privileges/Drop.pm:${PORTSDIR}/misc/p5-Privileges-Drop \
	${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/IO/EventMux.pm:${PORTSDIR}/misc/p5-IO-EventMux \
	${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/${PERL_ARCH}/IO/EventMux/Socket/MsgHdr.pm:${PORTSDIR}/misc/p5-IO-EventMux-Socket-MsgHdr
161
# not getting installed via dependencies?
162
RUN_DEPENDS+=	\
163
	${X11BASE}/libdata/xorg/libraries:${PORTSDIR}/x11/xorg-libraries \
164
165
166
167
168
169
	${LOCALBASE}/libexec/apache/libphp4.so:${PORTSDIR}/misc/emulab-php4 \
	${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/${PERL_ARCH}/GD.pm:${PORTSDIR}/graphics/p5-GD
.else
# for old versions there used to be a problem with newer GD + older perl 
RUN_DEPENDS+=	\
	${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/${PERL_ARCH}/GD.pm:${PORTSDIR}/misc/p5-GD-old
170
171
.endif

Kirk Webb's avatar
   
Kirk Webb committed
172
.if ${OSMAJOR} >= 6
173
RUN_DEPENDS+= \
174
	${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/${PERL_ARCH}/DBI.pm:${PORTSDIR}/databases/p5-DBI \
Kirk Webb's avatar
   
Kirk Webb committed
175
	${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/XML/Simple.pm:${PORTSDIR}/textproc/p5-XML-Simple \
176
	${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/${PERL_ARCH}/XML/LibXML.pm:${PORTSDIR}/textproc/p5-XML-LibXML \
Leigh B. Stoller's avatar
Leigh B. Stoller committed
177
178
	swig:${PORTSDIR}/devel/swig13 \
	${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/Date/Parse.pm:${PORTSDIR}/devel/p5-TimeDate
179
180
181
182
183
184
.else
RUN_DEPENDS+= cvsup:${PORTSDIR}/net/cvsup-without-gui \
	${LOCALBASE}/libexec/apache/libphp4.so:${PORTSDIR}/www/mod_php4 \
	${LOCALBASE}/include/php/ext/openssl/php_openssl.h:${PORTSDIR}/lang/php4-extensions \
	${LOCALBASE}/lib/tcl8.4/sql1.0/libTclMySQL.so.1:${PORTSDIR}/databases/tcl-Mysql \
	${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/${PERL_ARCH}/DBI.pm:${PORTSDIR}/databases/p5-DBI-137 \
Kirk Webb's avatar
   
Kirk Webb committed
185
186
	swig1.1:${PORTSDIR}/devel/swig11 \
	${LOCALBASE}/sbin/named:${PORTSDIR}/dns/bind9
187
.endif
188
189

USE_PERL5=	yes
190
USE_PYTHON=	yes
191
192
193
194
195
196

NO_BUILD=	yes

do-install:	# empty

.include <bsd.port.mk>
197
198
199
200
201
202
203

vars:
	@echo "PORTVERSION=$(PORTVERSION)"
	@echo ".MAKEFLAGS=$(.MAKEFLAGS)"
	@echo "BUILD_DEPENDS=$(BUILD_DEPENDS)"
	@echo "LIB_DEPENDS=$(LIB_DEPENDS)"
	@echo "RUN_DEPENDS=$(RUN_DEPENDS)"
204
	@echo "PERL_VER/ARCH=${PERL_VER}/${PERL_ARCH}"