Lines 6-34
Link Here
|
6 |
# |
6 |
# |
7 |
|
7 |
|
8 |
PORTNAME= bacula |
8 |
PORTNAME= bacula |
9 |
DISTVERSION= 1.38.11 |
9 |
DISTVERSION= 2.0.0 |
10 |
PORTREVISION= 3 |
|
|
11 |
CATEGORIES= sysutils |
10 |
CATEGORIES= sysutils |
12 |
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} |
11 |
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} |
13 |
MASTER_SITE_SUBDIR= bacula |
12 |
MASTER_SITE_SUBDIR= bacula |
14 |
PKGNAMESUFFIX?= -server |
|
|
15 |
|
13 |
|
16 |
MAINTAINER= dan@langille.org |
14 |
MAINTAINER= dan@langille.org |
17 |
COMMENT?= The network backup solution (server) |
15 |
COMMENT?= The network backup solution (server) |
18 |
|
16 |
|
19 |
CONFLICTS= bacula-server-devel-[0-9]* bacula-client-devel-[0-9]* |
17 |
PKGNAMESUFFIX?= -server |
|
|
18 |
|
19 |
CONFLICTS= bacula-server-devel-[0-9]* bacula-client-devel-[0-9]* bacula-docs-devel-[0-9]* |
20 |
|
20 |
|
21 |
UNIQUENAME?=${PORTNAME}${PKGNAMESUFFIX} |
21 |
UNIQUENAME?=${PORTNAME}${PKGNAMESUFFIX} |
22 |
|
22 |
|
|
|
23 |
DISTFILES= ${PORTNAME}-${PORTVERSION}.tar.gz |
24 |
|
23 |
USE_RC_SUBR?= bacula-dir bacula-sd |
25 |
USE_RC_SUBR?= bacula-dir bacula-sd |
24 |
|
26 |
|
25 |
SUB_FILES+= pkg-message |
27 |
.if defined(WITH_CLIENT_ONLY) |
|
|
28 |
SUB_FILES+= pkg-message.client |
29 |
.else |
30 |
SUB_FILES+= pkg-message.server |
31 |
.endif |
26 |
|
32 |
|
27 |
# The user/group IDs below are registered, see |
33 |
# The user/group IDs below are registered, see |
28 |
# http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/book.html#DADS-UID |
34 |
# http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/book.html#DADS-UID |
29 |
# |
35 |
# |
30 |
BACULA_DIR?=/var/db/bacula |
36 |
BACULA_DIR?=/var/db/bacula |
31 |
# |
37 |
# |
|
|
38 |
MANCOMPRESSED= yes |
32 |
GNU_CONFIGURE= yes |
39 |
GNU_CONFIGURE= yes |
33 |
CONFIGURE_ARGS= --with-tcp-wrappers=/usr/lib \ |
40 |
CONFIGURE_ARGS= --with-tcp-wrappers=/usr/lib \ |
34 |
--enable-smartalloc \ |
41 |
--enable-smartalloc \ |
Lines 53-60
Link Here
|
53 |
PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" \ |
60 |
PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" \ |
54 |
PTHREAD_LIBS="${PTHREAD_LIBS}" |
61 |
PTHREAD_LIBS="${PTHREAD_LIBS}" |
55 |
|
62 |
|
56 |
ALL_OPTIONS= CLIENT_ONLY WXCONSOLE GNOMECONSOLE SQLITE3 MYSQL POSTGRESQL MTX OPENSSL DOCS |
|
|
57 |
|
58 |
.for opt in ${ALL_OPTIONS} |
63 |
.for opt in ${ALL_OPTIONS} |
59 |
.if defined(WITH_${opt}) |
64 |
.if defined(WITH_${opt}) |
60 |
BATCH= yes |
65 |
BATCH= yes |
Lines 68-74
Link Here
|
68 |
.if defined(WITH_CLIENT_ONLY) |
73 |
.if defined(WITH_CLIENT_ONLY) |
69 |
OPTIONS+= WXCONSOLE "Build with wxGTK based GUI console" off |
74 |
OPTIONS+= WXCONSOLE "Build with wxGTK based GUI console" off |
70 |
OPTIONS+= GNOMECONSOLE "Build with GNOME based GUI console" off |
75 |
OPTIONS+= GNOMECONSOLE "Build with GNOME based GUI console" off |
71 |
OPTIONS+= DOCS "Install documention" off |
|
|
72 |
.else |
76 |
.else |
73 |
OPTIONS= SQLITE3 "Use SqLite-3 database instead of SqLite-2" off |
77 |
OPTIONS= SQLITE3 "Use SqLite-3 database instead of SqLite-2" off |
74 |
OPTIONS+= MYSQL "Use MySQL database instead of SqLite" off |
78 |
OPTIONS+= MYSQL "Use MySQL database instead of SqLite" off |
Lines 88-111
Link Here
|
88 |
|
92 |
|
89 |
PLIST_SUB+= BACULA_DIR=${BACULA_DIR} |
93 |
PLIST_SUB+= BACULA_DIR=${BACULA_DIR} |
90 |
|
94 |
|
91 |
MAN8= bacula.8 |
|
|
92 |
|
93 |
.include <bsd.port.pre.mk> |
95 |
.include <bsd.port.pre.mk> |
94 |
|
96 |
|
95 |
DISTFILES= ${PORTNAME}-${PORTVERSION}.tar.gz |
|
|
96 |
.if defined(WITH_DOCS) |
97 |
DISTFILES+= ${PORTNAME}-docs-${PORTVERSION}-1.tar.gz |
98 |
.endif |
99 |
|
100 |
.if defined(WITH_DOCS) |
101 |
PORTDOCS= ReleaseNotes bacula.pdf developers.pdf kernstodo manual bacula-web |
102 |
.endif |
103 |
|
104 |
.if defined(WITH_NLS) |
97 |
.if defined(WITH_NLS) |
105 |
USE_GETTEXT= yes |
98 |
USE_GETTEXT= yes |
106 |
CONFIGURE_ARGS+= --enable-nls |
99 |
CONFIGURE_ARGS+= --enable-nls |
107 |
.else |
100 |
.else |
108 |
CONFIGURE_ARGS+= --disable-nls |
101 |
CONFIGURE_ARGS+= --disable-nls |
109 |
.endif |
102 |
.endif |
110 |
|
103 |
|
111 |
# Client only or full server version |
104 |
# Client only or full server version |
Lines 171-178
Link Here
|
171 |
.endif |
164 |
.endif |
172 |
|
165 |
|
173 |
.if defined(WITH_CLIENT_ONLY) |
166 |
.if defined(WITH_CLIENT_ONLY) |
174 |
MAN8=bacula.8 |
167 |
MAN8=bacula-fd.8 bconsole.8 |
|
|
168 |
.else |
169 |
MAN8=bacula.8 bacula-dir.8 bacula-sd.8 bcopy.8 bextract.8 bls.8 bscan.8 btape.8 btraceback.8 dbcheck.8 |
170 |
MAN1=bsmtp.1 bacula-console-gnome.1 bacula-tray-monitor.1 bacula-wxconsole.1 |
175 |
.endif |
171 |
.endif |
|
|
172 |
MAKE_ARGS+= -E MAN8 -E MAN1 |
173 |
MAKE_ENV+= MAN8="${MAN8}" MAN1="${MAN1}" |
176 |
|
174 |
|
177 |
pre-everything:: |
175 |
pre-everything:: |
178 |
.if !defined(WITH_CLIENT_ONLY) |
176 |
.if !defined(WITH_CLIENT_ONLY) |
Lines 196-202
Link Here
|
196 |
@${ECHO_MSG} "" |
194 |
@${ECHO_MSG} "" |
197 |
@${ECHO_MSG} "The default DB is SQLite-2!" |
195 |
@${ECHO_MSG} "The default DB is SQLite-2!" |
198 |
.endif |
196 |
.endif |
199 |
@${ECHO_MSG} " WITH_DOCS=yes if you want the documentation installed." |
|
|
200 |
@${ECHO_MSG} " WITH_OPENSSL=yes Enable OpenSSL for encrypted communication." |
197 |
@${ECHO_MSG} " WITH_OPENSSL=yes Enable OpenSSL for encrypted communication." |
201 |
@${ECHO_MSG} "" |
198 |
@${ECHO_MSG} "" |
202 |
@${ECHO_MSG} "===> Using ${DBTYPE} as the bacula database." |
199 |
@${ECHO_MSG} "===> Using ${DBTYPE} as the bacula database." |
Lines 212-221
Link Here
|
212 |
# In client port only install startup script out of script dir (see below post-install) |
209 |
# In client port only install startup script out of script dir (see below post-install) |
213 |
# Dont mkdir ${PREFIX}/share/bacula cause it's empty |
210 |
# Dont mkdir ${PREFIX}/share/bacula cause it's empty |
214 |
@${REINPLACE_CMD} -e 's|^\(fd_subdirs = .*\)scripts\(.*\)|\1\2|g' ${WRKSRC}/Makefile.in |
211 |
@${REINPLACE_CMD} -e 's|^\(fd_subdirs = .*\)scripts\(.*\)|\1\2|g' ${WRKSRC}/Makefile.in |
215 |
${REINPLACE_CMD} -e 's|\(.*$$(MKDIR) $$(DESTDIR)$$(scriptdir)\)|#\1|g' ${WRKSRC}/Makefile.in |
212 |
${REINPLACE_CMD} -e 's|\(.*$${MKDIR} $${DESTDIR}$${scriptdir}\)|#\1|g' ${WRKSRC}/Makefile.in |
216 |
.else |
213 |
.else |
217 |
# In server port don't install filed |
214 |
# In server port don't install filed |
218 |
@${REINPLACE_CMD} -e 's|^all_subdirs = .*|all_subdirs = scripts src\/lib src\/findlib $${subdirs}|g' ${WRKSRC}/Makefile.in |
215 |
@${REINPLACE_CMD} -e '/^fd_subdirs = /s|src/filed||' -e 's|src/console||' ${WRKSRC}/Makefile.in |
219 |
.endif |
216 |
.endif |
220 |
|
217 |
|
221 |
pre-install: |
218 |
pre-install: |
Lines 226-236
Link Here
|
226 |
${ECHO_CMD} "${BACULA_DIR} already exists"; \ |
223 |
${ECHO_CMD} "${BACULA_DIR} already exists"; \ |
227 |
fi |
224 |
fi |
228 |
|
225 |
|
229 |
.if !defined(WITH_CLIENT_ONLY) |
|
|
230 |
# Extend /etc/services and install UID/GID |
226 |
# Extend /etc/services and install UID/GID |
231 |
@ ${SETENV} PKG_PREFIX=${PREFIX} \ |
227 |
@ ${SETENV} PKG_PREFIX=${PREFIX} \ |
232 |
${SH} ${PKGINSTALL} ${PORTNAME} PRE-INSTALL |
228 |
${SH} ${PKGINSTALL} ${PORTNAME} PRE-INSTALL |
233 |
.endif |
|
|
234 |
|
229 |
|
235 |
post-install: |
230 |
post-install: |
236 |
.if defined(WITH_CLIENT_ONLY) |
231 |
.if defined(WITH_CLIENT_ONLY) |
Lines 240-247
Link Here
|
240 |
# Console stuff |
235 |
# Console stuff |
241 |
if [ -f ${PREFIX}/etc/bconsole.conf.new ]; then \ |
236 |
if [ -f ${PREFIX}/etc/bconsole.conf.new ]; then \ |
242 |
${ECHO_CMD} "etc/bconsole.conf.new" >> ${TMPPLIST}; \ |
237 |
${ECHO_CMD} "etc/bconsole.conf.new" >> ${TMPPLIST}; \ |
|
|
238 |
${CHGRP} bacula ${PREFIX}/etc/bconsole.conf.new; \ |
243 |
elif [ -f ${PREFIX}/etc/bconsole.conf ]; then \ |
239 |
elif [ -f ${PREFIX}/etc/bconsole.conf ]; then \ |
244 |
${MV} ${PREFIX}/etc/bconsole.conf ${PREFIX}/etc/bconsole.conf.sample; \ |
240 |
${MV} ${PREFIX}/etc/bconsole.conf ${PREFIX}/etc/bconsole.conf.sample; \ |
|
|
241 |
${CHGRP} bacula ${PREFIX}/etc/bconsole.conf.sample; \ |
245 |
${ECHO_CMD} "etc/bconsole.conf.sample" >> ${TMPPLIST}; \ |
242 |
${ECHO_CMD} "etc/bconsole.conf.sample" >> ${TMPPLIST}; \ |
246 |
fi |
243 |
fi |
247 |
.if defined(WITH_WXCONSOLE) |
244 |
.if defined(WITH_WXCONSOLE) |
Lines 261-283
Link Here
|
261 |
fi |
258 |
fi |
262 |
.endif |
259 |
.endif |
263 |
|
260 |
|
264 |
.if defined(WITH_CLIENT_ONLY) |
261 |
# ensure that users in the bacula group can run bconsole |
265 |
${INSTALL_MAN} ${WRKSRC}/scripts/bacula.man ${PREFIX}/man/man8/bacula.8 |
262 |
${CHGRP} bacula ${PREFIX}/sbin/bconsole |
266 |
.endif |
|
|
267 |
|
268 |
# Documentation is only installed in -client port |
269 |
.if defined(WITH_DOCS) |
270 |
for na in manual bacula-web; do \ |
271 |
${MKDIR} ${DOCSDIR}/$$na ;\ |
272 |
cd ${WRKDIR}/${PORTNAME}-docs-${PORTVERSION}-1 && ${FIND} $$na | \ |
273 |
${CPIO} -pdm -L -R root:wheel ${DOCSDIR}; \ |
274 |
done |
275 |
${INSTALL_DATA} ${WRKDIR}/${PORTNAME}-${PORTVERSION}/ReleaseNotes ${DOCSDIR} |
276 |
${INSTALL_DATA} ${WRKDIR}/${PORTNAME}-docs-${PORTVERSION}-1/manual/bacula.pdf ${DOCSDIR} |
277 |
${INSTALL_DATA} ${WRKDIR}/${PORTNAME}-docs-${PORTVERSION}-1/developers/developers.pdf ${DOCSDIR} |
278 |
${INSTALL_DATA} ${WRKDIR}/${PORTNAME}-${PORTVERSION}/kernstodo ${DOCSDIR} |
279 |
.endif |
280 |
|
281 |
.else |
263 |
.else |
282 |
# Install config files and preserve existing ones |
264 |
# Install config files and preserve existing ones |
283 |
${INSTALL_SCRIPT} ${FILESDIR}/chio-bacula ${PREFIX}/sbin |
265 |
${INSTALL_SCRIPT} ${FILESDIR}/chio-bacula ${PREFIX}/sbin |
Lines 291-296
Link Here
|
291 |
# chmod of bsmtp program so bacula can use it with dropped down permissions |
273 |
# chmod of bsmtp program so bacula can use it with dropped down permissions |
292 |
${CHMOD} o+x ${PREFIX}/sbin/bsmtp |
274 |
${CHMOD} o+x ${PREFIX}/sbin/bsmtp |
293 |
${CHOWN} -R bacula:bacula ${PREFIX}/share/bacula |
275 |
${CHOWN} -R bacula:bacula ${PREFIX}/share/bacula |
|
|
276 |
|
294 |
.endif |
277 |
.endif |
295 |
# Install leaves existing conf files untouched. Respect this here! |
278 |
# Install leaves existing conf files untouched. Respect this here! |
296 |
for na in ${CONFFILES}; do \ |
279 |
for na in ${CONFFILES}; do \ |
Lines 302-365
Link Here
|
302 |
fi; \ |
285 |
fi; \ |
303 |
done |
286 |
done |
304 |
|
287 |
|
305 |
# Inform user after install about important things .... |
288 |
@${CAT} ${PKGMESSAGE} |
306 |
@${ECHO_MSG} "*********************************************************************" |
|
|
307 |
@${ECHO_MSG} "NOTE:" |
308 |
@${ECHO_MSG} "Sample files are installed in ${PREFIX}/etc:" |
309 |
@${ECHO_MSG} " bconsole.conf.sample, bacula-barcodes.sample, bacula-fd.conf.sample" |
310 |
.if !defined(WITH_CLIENT_ONLY) |
311 |
@${ECHO_MSG} " bacula-sd.conf.sample, bacula-dir.conf.sample" |
312 |
@${ECHO_MSG} "" |
313 |
@${ECHO_MSG} "An auto-changer manipulation script based on FreeBSDs" |
314 |
@${ECHO_MSG} "chio command is included and installed at" |
315 |
@${ECHO_MSG} "" |
316 |
@${ECHO_MSG} " ${PREFIX}/sbin/chio-bacula" |
317 |
@${ECHO_MSG} "" |
318 |
@${ECHO_MSG} "Please have a look at it if you want to use an" |
319 |
@${ECHO_MSG} "autochanger. You have to configure the usage in" |
320 |
@${ECHO_MSG} "" |
321 |
@${ECHO_MSG} " ${PREFIX}/etc/bacula-dir.conf" |
322 |
@${ECHO_MSG} "" |
323 |
@${ECHO_MSG} "Take care of correct permissions for changer and" |
324 |
@${ECHO_MSG} "tape device (e.g. /dev/ch0 and /dev/n[r]sa0) i.e." |
325 |
@${ECHO_MSG} "they must be accessible by user bacula." |
326 |
@${ECHO_MSG} "" |
327 |
@${ECHO_MSG} "Due to lack of some features in the FreeBSD tape driver" |
328 |
@${ECHO_MSG} "implementation you MUST add some OS dependent options to" |
329 |
@${ECHO_MSG} "the bacula-sd.conf file:" |
330 |
@${ECHO_MSG} "" |
331 |
@${ECHO_MSG} " Hardware End of Medium = no;" |
332 |
@${ECHO_MSG} " Backward Space Record = no;" |
333 |
@${ECHO_MSG} " Backward Space File = no;" |
334 |
@${ECHO_MSG} "" |
335 |
@${ECHO_MSG} "With 2 filemarks at EOT (see man mt):" |
336 |
@${ECHO_MSG} " Fast Forward Space File = no;" |
337 |
@${ECHO_MSG} " BSF at EOM = yes;" |
338 |
@${ECHO_MSG} " TWO EOF = yes;" |
339 |
@${ECHO_MSG} "" |
340 |
@${ECHO_MSG} "With 1 filemarks at EOT (see man mt):" |
341 |
@${ECHO_MSG} " Fast Forward Space File = yes;" |
342 |
@${ECHO_MSG} " BSF at EOM = no;" |
343 |
@${ECHO_MSG} " TWO EOF = no;" |
344 |
@${ECHO_MSG} "" |
345 |
@${ECHO_MSG} "NOTE: YOU CAN SWITCH EOT model ONLY when starting" |
346 |
@${ECHO_MSG} " from scratch with EMPTY tapes!!!!" |
347 |
@${ECHO_MSG} "" |
348 |
@${ECHO_MSG} "It is also important that all the scripts accessed" |
349 |
@${ECHO_MSG} "by RunBeforeJob and RunAfterJob can be executed by" |
350 |
@${ECHO_MSG} "the user bacula." |
351 |
@${ECHO_MSG} "" |
352 |
@${ECHO_MSG} "For USB support read the bacula manual!! It could be necessary" |
353 |
@${ECHO_MSG} "to configure/compile a new kernel!" |
354 |
@${ECHO_MSG} "" |
355 |
@${ECHO_MSG} "Look at ${PREFIX}/share/bacula/update_bacula_tables for" |
356 |
@${ECHO_MSG} "database update procedure. Details can be found in the" |
357 |
@${ECHO_MSG} "ReleaseNotes" |
358 |
.endif |
359 |
@${ECHO_MSG} "*********************************************************************" |
360 |
|
361 |
.if defined(WITH_DOCS) |
362 |
${CAT} ${PKGMESSAGE} |
363 |
.endif |
364 |
|
289 |
|
365 |
.include <bsd.port.post.mk> |
290 |
.include <bsd.port.post.mk> |