Lines 2-9
Link Here
|
2 |
# $FreeBSD$ |
2 |
# $FreeBSD$ |
3 |
|
3 |
|
4 |
PORTNAME= bacula |
4 |
PORTNAME= bacula |
5 |
DISTVERSION= 5.2.12 |
5 |
DISTVERSION= 7.0.4 |
6 |
PORTREVISION?= 3 |
6 |
PORTREVISION?= 1 |
7 |
CATEGORIES?= sysutils |
7 |
CATEGORIES?= sysutils |
8 |
MASTER_SITES= SF/bacula/bacula/${PORTVERSION} |
8 |
MASTER_SITES= SF/bacula/bacula/${PORTVERSION} |
9 |
PKGNAMEPREFIX?= # |
9 |
PKGNAMEPREFIX?= # |
Lines 12-19
Link Here
|
12 |
MAINTAINER= dan@langille.org |
12 |
MAINTAINER= dan@langille.org |
13 |
COMMENT?= Network backup solution (server) |
13 |
COMMENT?= Network backup solution (server) |
14 |
|
14 |
|
15 |
LIB_DEPENDS+= lzo2:${PORTSDIR}/archivers/lzo2 |
15 |
CONFLICTS_BUILD= bacula-*-5.2.12_3 |
16 |
|
16 |
|
|
|
17 |
GNU_CONFIGURE= yes |
18 |
|
19 |
LIB_DEPENDS= lzo2.so:${PORTSDIR}/archivers/lzo2 |
20 |
|
17 |
UNIQUENAME?= ${PORTNAME}${PKGNAMESUFFIX} |
21 |
UNIQUENAME?= ${PORTNAME}${PKGNAMESUFFIX} |
18 |
|
22 |
|
19 |
USERS= bacula |
23 |
USERS= bacula |
Lines 24-37
Link Here
|
24 |
GNU_CONFIGURE= yes |
28 |
GNU_CONFIGURE= yes |
25 |
USE_LDCONFIG= yes |
29 |
USE_LDCONFIG= yes |
26 |
|
30 |
|
|
|
31 |
USES= libtool |
32 |
|
27 |
CPPFLAGS+= -I/usr/include/readline -I${LOCALBASE}/include |
33 |
CPPFLAGS+= -I/usr/include/readline -I${LOCALBASE}/include |
28 |
LDFLAGS+= -L${LOCALBASE}/lib |
34 |
#LDFLAGS+= -L${LOCALBASE}/lib |
29 |
|
35 |
|
30 |
OPTIONS_DEFINE?= SQLITE3 MYSQL PGSQL MTX PYTHON NLS OPENSSL |
36 |
OPTIONS_DEFINE?= SQLITE3 MYSQL PGSQL MTX PYTHON NLS OPENSSL |
31 |
OPTIONS_DEFAULT?= NLS OPENSSL PGSQL |
37 |
OPTIONS_DEFAULT?= NLS OPENSSL PGSQL |
32 |
MTX_DESC= Install mtx for control of autochanger devices |
38 |
MTX_DESC= Install mtx for control of autochanger devices |
33 |
|
39 |
|
34 |
NO_STAGE= yes |
|
|
35 |
.include <bsd.port.options.mk> |
40 |
.include <bsd.port.options.mk> |
36 |
|
41 |
|
37 |
.if ${PKGNAMESUFFIX} == "-client" || ${PKGNAMESUFFIX} == "-server" #Till end of the file |
42 |
.if ${PKGNAMESUFFIX} == "-client" || ${PKGNAMESUFFIX} == "-server" #Till end of the file |
Lines 42-48
Link Here
|
42 |
.endif |
47 |
.endif |
43 |
|
48 |
|
44 |
.if !defined(WITH_CLIENT_ONLY) |
49 |
.if !defined(WITH_CLIENT_ONLY) |
45 |
LIB_DEPENDS+= bac:${PORTSDIR}/sysutils/bacula-client |
50 |
LIB_DEPENDS= libbac.so:${PORTSDIR}/sysutils/bacula-client |
46 |
USE_RC_SUBR?= bacula-dir bacula-sd |
51 |
USE_RC_SUBR?= bacula-dir bacula-sd |
47 |
.endif |
52 |
.endif |
48 |
|
53 |
|
Lines 52-58
Link Here
|
52 |
SUB_FILES+= pkg-install.server pkg-deinstall.server pkg-message.server |
57 |
SUB_FILES+= pkg-install.server pkg-deinstall.server pkg-message.server |
53 |
.endif |
58 |
.endif |
54 |
|
59 |
|
55 |
MANCOMPRESSED= yes |
|
|
56 |
CONFIGURE_ARGS+=--with-tcp-wrappers=/usr/lib \ |
60 |
CONFIGURE_ARGS+=--with-tcp-wrappers=/usr/lib \ |
57 |
--enable-smartalloc \ |
61 |
--enable-smartalloc \ |
58 |
--sysconfdir=${ETCDIR} \ |
62 |
--sysconfdir=${ETCDIR} \ |
Lines 112-119
Link Here
|
112 |
CONFFILES= fd |
116 |
CONFFILES= fd |
113 |
CONFIGURE_ARGS+= --enable-client-only |
117 |
CONFIGURE_ARGS+= --enable-client-only |
114 |
|
118 |
|
115 |
PKGDEINSTALL= ${FILESDIR}/pkg-deinstall.client |
119 |
PKGDEINSTALL= ${STAGEDIR}${FILESDIR}/pkg-deinstall.client |
116 |
PKGINSTALL= ${FILESDIR}/pkg-install.client |
120 |
PKGINSTALL= ${STAGEDIR}${FILESDIR}/pkg-install.client |
117 |
.else |
121 |
.else |
118 |
# Server only Options |
122 |
# Server only Options |
119 |
CONFFILES= sd dir |
123 |
CONFFILES= sd dir |
Lines 125-131
Link Here
|
125 |
SUB_LIST+= REQ_MYSQL=mysql REQ_PGSQL="" |
129 |
SUB_LIST+= REQ_MYSQL=mysql REQ_PGSQL="" |
126 |
.elif ${PORT_OPTIONS:MSQLITE3} |
130 |
.elif ${PORT_OPTIONS:MSQLITE3} |
127 |
CONFIGURE_ARGS+= --with-sqlite3=yes |
131 |
CONFIGURE_ARGS+= --with-sqlite3=yes |
128 |
LIB_DEPENDS+= sqlite3:${PORTSDIR}/databases/sqlite3 |
132 |
LIB_DEPENDS= libsqlite3.so:${PORTSDIR}/databases/sqlite3 |
129 |
DBTYPE= sqlite3 |
133 |
DBTYPE= sqlite3 |
130 |
.else |
134 |
.else |
131 |
USE_PGSQL= yes |
135 |
USE_PGSQL= yes |
Lines 134-140
Link Here
|
134 |
SUB_LIST+= REQ_MYSQL="" REQ_PGSQL=postgresql |
138 |
SUB_LIST+= REQ_MYSQL="" REQ_PGSQL=postgresql |
135 |
.endif |
139 |
.endif |
136 |
PLIST_SUB+= DBTYPE=${DBTYPE} |
140 |
PLIST_SUB+= DBTYPE=${DBTYPE} |
137 |
# Install mtx |
141 |
## Install mtx |
138 |
.if ${PORT_OPTIONS:MMTX} |
142 |
.if ${PORT_OPTIONS:MMTX} |
139 |
RUN_DEPENDS+= ${LOCALBASE}/sbin/mtx:${PORTSDIR}/misc/mtx |
143 |
RUN_DEPENDS+= ${LOCALBASE}/sbin/mtx:${PORTSDIR}/misc/mtx |
140 |
.endif |
144 |
.endif |
Lines 147-160
Link Here
|
147 |
CONFIGURE_ARGS+= --with-openssl="no" |
151 |
CONFIGURE_ARGS+= --with-openssl="no" |
148 |
.endif |
152 |
.endif |
149 |
|
153 |
|
150 |
.if defined(WITH_CLIENT_ONLY) |
|
|
151 |
MAN8+= bacula-fd.8 bconsole.8 |
152 |
.else |
153 |
MAN8+= bacula.8 bacula-dir.8 bacula-sd.8 bcopy.8 bextract.8 bls.8 bscan.8 \ |
154 |
btape.8 btraceback.8 dbcheck.8 bwild.8 bregex.8 |
155 |
MAN1+= bsmtp.1 bacula-tray-monitor.1 bacula-bwxconsole.1 |
156 |
.endif |
157 |
|
158 |
MAKE_ENV+= MAN8="${MAN8}" MAN1="${MAN1}" |
154 |
MAKE_ENV+= MAN8="${MAN8}" MAN1="${MAN1}" |
159 |
|
155 |
|
160 |
pre-everything:: |
156 |
pre-everything:: |
Lines 184-217
Link Here
|
184 |
@${REINPLACE_CMD} -e 's|$$(ECHO)|echo|g' ${WRKSRC}/src/filed/Makefile.in \ |
180 |
@${REINPLACE_CMD} -e 's|$$(ECHO)|echo|g' ${WRKSRC}/src/filed/Makefile.in \ |
185 |
${WRKSRC}/src/console/Makefile.in |
181 |
${WRKSRC}/src/console/Makefile.in |
186 |
# Default bconsole.conf is in ${ETCDIR} |
182 |
# Default bconsole.conf is in ${ETCDIR} |
187 |
@${REINPLACE_CMD} -e 's|./bconsole.conf|${ETCDIR}/bconsole.conf|g' ${WRKSRC}/src/console/console.c |
183 |
@${REINPLACE_CMD} -e 's|./bconsole.conf|${STAGEDIR}${ETCDIR}/bconsole.conf|g' ${WRKSRC}/src/console/console.c |
188 |
@${REINPLACE_CMD} -e 's|^MAN8 =|MAN8 ?=|g' -e 's|^MAN1 =|MAN1 ?=|g' ${WRKSRC}/manpages/Makefile.in |
184 |
# @${REINPLACE_CMD} -e 's|^MAN8 =|MAN8 ?=|g' -e 's|^MAN1 =|MAN1 ?=|g' ${WRKSRC}/manpages/Makefile.in |
189 |
.if defined(WITH_CLIENT_ONLY) |
185 |
#.if defined(WITH_CLIENT_ONLY) |
190 |
# In client port only install startup script out of script dir (see below post-install) |
186 |
## In client port only install startup script out of script dir (see below post-install) |
191 |
# Dont mkdir ${PREFIX}/share/bacula cause it's empty |
187 |
## Dont mkdir ${PREFIX}/share/bacula cause it's empty |
192 |
@${REINPLACE_CMD} -e 's|^\(fd_subdirs = .*\)scripts\(.*\)|\1\2|g' ${WRKSRC}/Makefile.in |
188 |
# @${REINPLACE_CMD} -e 's|^\(fd_subdirs = .*\)scripts\(.*\)|\1\2|g' ${WRKSRC}/Makefile.in |
193 |
${REINPLACE_CMD} -e 's|\(.*$${MKDIR} $${DESTDIR}$${scriptdir}\)|#\1|g' ${WRKSRC}/Makefile.in |
189 |
# ${REINPLACE_CMD} -e 's|\(.*$${MKDIR} $${DESTDIR}$${scriptdir}\)|#\1|g' ${WRKSRC}/Makefile.in |
194 |
.else |
190 |
#.else |
195 |
# In server port don't install filed |
191 |
## In server port don't install filed |
196 |
@${REINPLACE_CMD} -e '/^fd_subdirs = /s|src/filed||' -e 's|src/console||' \ |
192 |
# @${REINPLACE_CMD} -e '/^fd_subdirs = /s|src/filed||' -e 's|src/console||' \ |
197 |
-e 's|src/lib||' -e 's|src/findlib||' -e 's|@FD_PLUGIN_DIR@||' ${WRKSRC}/Makefile.in |
193 |
# -e 's|src/lib||' -e 's|src/findlib||' -e 's|@FD_PLUGIN_DIR@||' ${WRKSRC}/Makefile.in |
198 |
@${REINPLACE_CMD} -e 's|../lib/|$$(LOCALBASE)/lib/|g' -e 's|../findlib/|$$(LOCALBASE)/lib/|g' ${WRKSRC}/src/dird/Makefile.in \ |
194 |
# @${REINPLACE_CMD} -e 's|../lib/|$$(LOCALBASE)/lib/|g' -e 's|../findlib/|$$(LOCALBASE)/lib/|g' ${WRKSRC}/src/dird/Makefile.in \ |
199 |
${WRKSRC}/src/stored/Makefile.in ${WRKSRC}/src/tools/Makefile.in |
195 |
# ${WRKSRC}/src/stored/Makefile.in ${WRKSRC}/src/tools/Makefile.in |
200 |
@${REINPLACE_CMD} -e 's|fd_plugins.h|filed/fd_plugins.h|g' -e 's|dir_plugins.h|dird/dir_plugins.h|g' -e 's|stored.h|stored/stored.h|g' \ |
196 |
# @${REINPLACE_CMD} -e 's|fd_plugins.h|filed/fd_plugins.h|g' -e 's|dir_plugins.h|dird/dir_plugins.h|g' -e 's|stored.h|stored/stored.h|g' \ |
201 |
${WRKSRC}/src/tools/bpluginfo.c |
197 |
# ${WRKSRC}/src/tools/bpluginfo.c |
202 |
.endif |
198 |
#.endif |
203 |
|
199 |
|
204 |
.if !target(pre-install) |
200 |
.if !target(pre-install) |
205 |
pre-install: |
201 |
pre-install: |
206 |
if [ ! -d "${BACULA_DIR}" ]; then \ |
202 |
if [ ! -d "${STAGEDIR}${BACULA_DIR}" ]; then \ |
207 |
${ECHO_CMD} "creating ${BACULA_DIR}" ; \ |
203 |
${ECHO_CMD} "creating ${STAGEDIR}${BACULA_DIR}" ; \ |
208 |
${MKDIR} ${BACULA_DIR}; \ |
204 |
${MKDIR} ${STAGEDIR}${BACULA_DIR}; \ |
209 |
else \ |
205 |
else \ |
210 |
${ECHO_CMD} "${BACULA_DIR} already exists"; \ |
206 |
${ECHO_CMD} "${STAGEDIR}${BACULA_DIR} already exists"; \ |
211 |
fi |
207 |
fi |
212 |
|
208 |
|
213 |
# Extend /etc/services and install UID/GID |
209 |
# Extend /etc/services and install UID/GID |
214 |
@ ${SETENV} PKG_PREFIX=${PREFIX} \ |
210 |
@ ${SETENV} PKG_PREFIX=${STAGEDIR}${PREFIX} \ |
215 |
${SH} ${PKGINSTALL} ${PORTNAME} PRE-INSTALL |
211 |
${SH} ${PKGINSTALL} ${PORTNAME} PRE-INSTALL |
216 |
.endif |
212 |
.endif |
217 |
|
213 |
|
Lines 219-270
Link Here
|
219 |
post-install: |
215 |
post-install: |
220 |
.if defined(WITH_CLIENT_ONLY) |
216 |
.if defined(WITH_CLIENT_ONLY) |
221 |
# Extend only /etc/services |
217 |
# Extend only /etc/services |
222 |
@ ${SETENV} PKG_PREFIX=${PREFIX} \ |
218 |
@ ${SETENV} PKG_PREFIX=${STAGEDIR}${PREFIX} \ |
223 |
${SH} ${PKGINSTALL} ${PORTNAME} |
219 |
${SH} ${PKGINSTALL} ${PORTNAME} |
224 |
# Console stuff |
220 |
# Console stuff |
225 |
if [ -f ${ETCDIR}/bconsole.conf.new ]; then \ |
221 |
if [ -f ${STAGEDIR}${ETCDIR}/bconsole.conf.new ]; then \ |
226 |
${ECHO_CMD} "etc/bconsole.conf.new" >> ${TMPPLIST}; \ |
222 |
${ECHO_CMD} "etc/bconsole.conf.new" >> ${TMPPLIST}; \ |
227 |
${CHGRP} bacula ${ETCDIR}/bconsole.conf.new; \ |
223 |
${CHGRP} bacula ${STAGEDIR}${ETCDIR}/bconsole.conf.new; \ |
228 |
elif [ -f ${ETCDIR}/bconsole.conf ]; then \ |
224 |
elif [ -f ${STAGEDIR}${ETCDIR}/bconsole.conf ]; then \ |
229 |
${MV} ${ETCDIR}/bconsole.conf ${ETCDIR}/bconsole.conf.sample; \ |
225 |
${MV} ${STAGEDIR}${ETCDIR}/bconsole.conf ${STAGEDIR}${ETCDIR}/bconsole.conf.sample; \ |
230 |
${CHGRP} bacula ${ETCDIR}/bconsole.conf.sample; \ |
226 |
${CHGRP} bacula ${STAGEDIR}${ETCDIR}/bconsole.conf.sample; \ |
231 |
${ECHO_CMD} "etc/bacula/bconsole.conf.sample" >> ${TMPPLIST}; \ |
227 |
${ECHO_CMD} "etc/bacula/bconsole.conf.sample" >> ${TMPPLIST}; \ |
232 |
fi |
228 |
fi |
233 |
|
229 |
|
234 |
# ensure that users in the bacula group can run bconsole |
230 |
# ensure that users in the bacula group can run bconsole |
235 |
${CHGRP} bacula ${PREFIX}/sbin/bconsole |
231 |
${CHGRP} bacula ${STAGEDIR}${PREFIX}/sbin/bconsole |
236 |
.else |
232 |
.else |
237 |
# Install config files and preserve existing ones |
233 |
# Install config files and preserve existing ones |
238 |
${INSTALL_SCRIPT} ${FILESDIR}/chio-bacula ${PREFIX}/sbin |
234 |
${INSTALL_SCRIPT} ${FILESDIR}/chio-bacula ${STAGEDIR}${PREFIX}/sbin |
239 |
if [ -f ${ETCDIR}/bacula-barcodes ]; then \ |
235 |
if [ -f ${ETCDIR}/bacula-barcodes ]; then \ |
240 |
${INSTALL_DATA} ${FILESDIR}/bacula-barcodes ${ETCDIR}/bacula-barcodes.new ; \ |
236 |
${INSTALL_DATA} ${FILESDIR}/bacula-barcodes ${ETCDIR}/bacula-barcodes.new ; \ |
241 |
${ECHO_CMD} "etc/bacula/bacula-barcodes.new" >> ${TMPPLIST}; \ |
237 |
${ECHO_CMD} "etc/bacula/bacula-barcodes.new" >> ${TMPPLIST}; \ |
242 |
else \ |
238 |
else \ |
243 |
${INSTALL_DATA} ${FILESDIR}/bacula-barcodes ${ETCDIR}/bacula-barcodes.samples ; \ |
239 |
${INSTALL_DATA} ${FILESDIR}/bacula-barcodes ${STAGEDIR}${ETCDIR}/bacula-barcodes.samples ; \ |
244 |
${ECHO_CMD} "etc/bacula/bacula-barcodes.samples" >> ${TMPPLIST}; \ |
240 |
${ECHO_CMD} "etc/bacula/bacula-barcodes.samples" >> ${TMPPLIST}; \ |
245 |
fi |
241 |
fi |
246 |
# Add configuration files directory to packing list |
242 |
# Add configuration files directory to packing list |
247 |
${ECHO_CMD} "@unexec ${RMDIR} %D/etc/bacula 2>/dev/null || true" >> ${TMPPLIST} |
243 |
${ECHO_CMD} "@unexec ${RMDIR} %D/etc/bacula 2>/dev/null || true" >> ${TMPPLIST} |
248 |
# chmod of bsmtp program so bacula can use it with dropped down permissions |
244 |
${CHOWN} -R bacula:bacula ${STAGEDIR}${PREFIX}/share/bacula |
249 |
${CHMOD} o+x ${PREFIX}/sbin/bsmtp |
|
|
250 |
${CHOWN} -R bacula:bacula ${PREFIX}/share/bacula |
251 |
|
245 |
|
252 |
# on a fresh install, the .new suffix is not used |
246 |
# on a fresh install, the .new suffix is not used |
253 |
if [ -f ${ETCDIR}/bacula-dir.conf.new ]; then \ |
247 |
if [ -f ${STAGEDIR}${ETCDIR}/bacula-dir.conf.new ]; then \ |
254 |
${CHGRP} bacula ${ETCDIR}/bacula-dir.conf.new; \ |
248 |
${CHGRP} bacula ${STAGEDIR}${ETCDIR}/bacula-dir.conf.new; \ |
255 |
else \ |
249 |
else \ |
256 |
${CHGRP} bacula ${ETCDIR}/bacula-dir.conf; \ |
250 |
${CHGRP} bacula ${STAGEDIR}${ETCDIR}/bacula-dir.conf; \ |
257 |
fi |
251 |
fi |
258 |
|
252 |
|
259 |
${CHGRP} bacula ${PREFIX}/sbin/dbcheck |
253 |
${CHGRP} bacula ${STAGEDIR}${PREFIX}/sbin/dbcheck |
260 |
|
254 |
|
261 |
.endif |
255 |
.endif |
262 |
# Install leaves existing conf files untouched. Respect this here! |
256 |
# Install leaves existing conf files untouched. Respect this here! |
263 |
for na in ${CONFFILES}; do \ |
257 |
for na in ${CONFFILES}; do \ |
264 |
if [ -f ${ETCDIR}/bacula-$$na.conf.new ]; then \ |
258 |
if [ -f ${STAGEDIR}${ETCDIR}/bacula-$$na.conf.new ]; then \ |
265 |
${ECHO_CMD} "etc/bacula/bacula-$$na.conf.new" >> ${TMPPLIST}; \ |
259 |
${ECHO_CMD} "etc/bacula/bacula-$$na.conf.new" >> ${TMPPLIST}; \ |
266 |
elif [ -f ${ETCDIR}/bacula-$$na.conf ]; then \ |
260 |
elif [ -f ${STAGEDIR}${ETCDIR}/bacula-$$na.conf ]; then \ |
267 |
${MV} ${ETCDIR}/bacula-$$na.conf ${ETCDIR}/bacula-$$na.conf.sample; \ |
261 |
${MV} ${STAGEDIR}${ETCDIR}/bacula-$$na.conf ${STAGEDIR}${ETCDIR}/bacula-$$na.conf.sample; \ |
268 |
${ECHO_CMD} "etc/bacula/bacula-$$na.conf.sample" >> ${TMPPLIST}; \ |
262 |
${ECHO_CMD} "etc/bacula/bacula-$$na.conf.sample" >> ${TMPPLIST}; \ |
269 |
fi; \ |
263 |
fi; \ |
270 |
done |
264 |
done |
Lines 272-280
Link Here
|
272 |
# Add configuration files directory to packing list |
266 |
# Add configuration files directory to packing list |
273 |
${ECHO_CMD} "@unexec ${RMDIR} %D/etc/bacula 2>/dev/null || true" >> ${TMPPLIST} |
267 |
${ECHO_CMD} "@unexec ${RMDIR} %D/etc/bacula 2>/dev/null || true" >> ${TMPPLIST} |
274 |
|
268 |
|
275 |
${CHGRP} wheel ${PREFIX}/etc |
269 |
${CHGRP} wheel ${STAGEDIR}${PREFIX}/etc |
276 |
|
270 |
|
277 |
@${CAT} ${PKGMESSAGE} |
|
|
278 |
.endif |
271 |
.endif |
279 |
.else |
272 |
.else |
280 |
.include "${MASTERDIR}/Makefile.common" |
273 |
.include "${MASTERDIR}/Makefile.common" |