ajacoutot c4096e6659 Stop using the daemon class in @newuser.
If we need to make an exception we can do it and properly document the
reason but by default we should just use the default login class.
rc.d uses daemon or the login class provided in login.conf.d so this has
no impact there.

discussed with sthen@, tb@ and robert@

praying that my grep/sed skills did not break anything and still
believing in portbump :-)
2022-11-08 11:16:56 +00:00

215 lines
6.7 KiB
Makefile

# XXX building this port while a version is already installed on the
# system will lead to unexpected hidden dependencies!!!
COMMENT-main= network backup solution (client)
COMMENT-server= network backup solution (server)
COMMENT-bat= network backup solution (gui-client)
COMMENT-mysql= Bacula libbaccats support for MySQL
COMMENT-pgsql= Bacula libbaccats support for PostgreSQL
COMMENT-sqlite3= Bacula libbaccats support for SQLite3
V= 13.0.1
DISTNAME= bacula-$V
PKGNAME-main= bacula-client-$V
PKGNAME-server= bacula-server-$V
PKGNAME-bat= bacula-bat-$V
PKGNAME-mysql= bacula-mysql-$V
PKGNAME-pgsql= bacula-pgsql-$V
PKGNAME-sqlite3= bacula-sqlite3-$V
REVISION-bat= 0
REVISION-main= 0
REVISION-mysql= 0
REVISION-pgsql= 0
REVISION-server= 0
REVISION-sqlite3= 0
CATEGORIES= sysutils
SHARED_LIBS += bac 10.1
SHARED_LIBS += baccfg 9.0
SHARED_LIBS += bacfind 8.0
SHARED_LIBS += bacsd 2.0
SHARED_LIBS += bacsql 8.0
BACCATS_LIBV = 6.0
SHARED_LIBS += baccats ${BACCATS_LIBV}
SHARED_LIBS += baccats-mysql ${BACCATS_LIBV}
SHARED_LIBS += baccats-postgresql ${BACCATS_LIBV}
SHARED_LIBS += baccats-sqlite3 ${BACCATS_LIBV}
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=bacula/}
HOMEPAGE= http://www.bacula.org/
WANTLIB += c crypto m pthread ssl z ${COMPILER_LIBCXX}
# AGPLv3 with exception for OpenSSL (majority),
# FDL (docs), LGPL (some libraries), and PD
# http://www.bacula.org/7.0.x-manuals/en/main/Bacula_Copyright_Trademark_.html
PERMIT_PACKAGE= Yes
LOCALSTATEDIR= ${BASELOCALSTATEDIR}/bacula
SYSCONFDIR= ${BASESYSCONFDIR}/bacula
DEBUG_PACKAGES= ${BUILD_PACKAGES}
PATCHORIG= .orig.port
CONFIGURE_STYLE= gnu
USE_GMAKE= Yes
NO_TEST= Yes
PSEUDO_FLAVORS= no_bat no_pgsql no_mysql
FLAVOR?=
MULTI_PACKAGES= -main -server -bat -mysql -pgsql -sqlite3
CONFIGURE_ARGS= --enable-smartalloc \
--docdir=${PREFIX}/share/doc/bacula \
--htmldir=${PREFIX}/share/doc/bacula/html \
--with-dir-user=_bacula \
--with-dir-group=_bacula \
--with-sd-user=_bacula-sd \
--with-sd-group=_bacula \
--with-scriptdir=${PREFIX}/libexec/bacula \
--with-fd-user=root \
--with-fd-group=wheel \
--with-pid-dir=/var/run \
--with-subsys-dir=${LOCALSTATEDIR} \
--with-working-dir=${LOCALSTATEDIR} \
--with-bsrdir=${LOCALSTATEDIR} \
--with-logdir=${LOCALSTATEDIR} \
--with-sbin-perm=755 \
--with-lzo=${LOCALBASE} \
--without-x \
--disable-nls \
--disable-conio \
--enable-readline \
--with-readline=/usr \
--with-openssl \
--with-basename=bacula \
--with-hostname=bacula.domain.tld \
--with-sqlite3
MAKE_FLAGS= NO_ECHO=
USE_LIBTOOL= gnu# base libtool with Qt5 is in the too-hard basket
LIBTOOL_FLAGS= --tag=disable-static
CONFIGURE_ENV= CONFIG_SITE="${PORTSDIR}/infrastructure/db/config.site" \
MTX=/bin/chio \
PKG_CONFIG_LIBDIR="${MODQT_LIBDIR}/pkgconfig:${MODQT_LIBDIR}" \
QMAKE="${MODQT_QMAKE}"
# configure mistakenly assumes xattr support if it finds any of the
# openat() family of functions, so poison the autoconf cache.
# None of these functions are used outside the code for Solaris xattr
# as of 5.0.2.
.for ac_func in openat fstatat unlinkat fchownat futimesat
CONFIGURE_ENV += ac_cv_func_${ac_func}=no
.endfor
WANTLIB-main += ${WANTLIB} lzo2 curses readline
LIB_DEPENDS-main= ${LIB_DEPENDS} \
archivers/lzo2
WANTLIB-server += ${WANTLIB} bac baccats baccfg bacfind lzo2
LIB_DEPENDS-server= ${LIB_DEPENDS} \
sysutils/bacula,-main \
bacula-pgsql-*|bacula-mysql-*|bacula-sqlite3-*:sysutils/bacula,-pgsql
WANTLIB-pgsql += pq m ${COMPILER_LIBCXX}
LIB_DEPENDS-pgsql += ${MODGCC4_CPPLIBDEP} \
databases/postgresql
WANTLIB-mysql += m mariadb ${COMPILER_LIBCXX}
LIB_DEPENDS-mysql += ${MODGCC4_CPPLIBDEP} \
databases/mariadb
WANTLIB-sqlite3 += sqlite3 m pthread z ${COMPILER_LIBCXX}
LIB_DEPENDS-sqlite3= ${MODGCC4_CPPLIBDEP} \
databases/sqlite3
MODULES += x11/qt5
MODQT_DEPS = No
WANTLIB-bat += ${WANTLIB} bac baccfg bacfind
WANTLIB-bat += GL Qt5Core Qt5Gui Qt5Widgets qwt
WANTLIB-bat += lib/inotify/inotify
RUN_DEPENDS-bat= ${RUN_DEPENDS} \
devel/desktop-file-utils
LIB_DEPENDS-bat= ${LIB_DEPENDS} \
${MODQT_LIB_DEPENDS} \
devel/libinotify \
sysutils/bacula,-main \
x11/qwt
RUN_DEPENDS-server= lang/gawk
.include <bsd.port.arch.mk>
.if !${BUILD_PACKAGES:M-bat}
CONFIGURE_ARGS += --disable-bat
.else
CONFIGURE_ARGS += --enable-bat
# something in tray-monitor seems to still depend on this (at least,
# it complains if junked during the build), though it looks like the dep
# is supposed to have been removed by now.
BUILD_DEPENDS += x11/qwt
.endif
.if !${BUILD_PACKAGES:M-mysql}
CONFIGURE_ARGS += --without-mysql
.else
CONFIGURE_ARGS += --with-mysql
.endif
.if !${BUILD_PACKAGES:M-pgsql}
CONFIGURE_ARGS += --without-postgresql
.else
CONFIGURE_ARGS += --with-postgresql
.endif
pre-configure:
cd ${WRKSRC}; ${SUBST_CMD} manpages/bat.1 \
src/qt-console/main.cpp scripts/baculabackupreport.in \
src/qt-console/tray-monitor/tray-monitor.pro.in
post-install:
${INSTALL_DATA_DIR} ${PREFIX}/share/examples/bacula
${INSTALL_SCRIPT_DIR} ${PREFIX}/libexec/bacula/updatedb
${INSTALL_SCRIPT} ${WRKSRC}/updatedb/* ${PREFIX}/libexec/bacula/updatedb
${INSTALL_SCRIPT} ${WRKSRC}/examples/autochangers/chio-changer-openbsd \
${PREFIX}/libexec/bacula/chio-changer-openbsd.dist
rm ${PREFIX}/libexec/bacula/updatedb/update*.in
rm ${PREFIX}/sbin/bacula
# does nothing
cd ${PREFIX}/libexec/bacula/updatedb && rm update_bacula_tables_8_to_9
# unneeded: SQLite2
cd ${PREFIX}/libexec/bacula/updatedb && rm update_sqlite_tables_4_to_5 \
update_sqlite_tables_5_to_6 update_sqlite_tables_6_to_7 \
update_sqlite_tables_7_to_8 update_sqlite_tables_8_to_9
.if ${BUILD_PACKAGES:M-bat}
# Qt5 linking is broken with base libtool, with GNU libtool for some reason
# the wrappers get installed rather than the object code, so ¯\_(ツ)_/¯
${INSTALL_PROGRAM} ${WRKSRC}/src/qt-console/tray-monitor/.libs/bacula-tray-monitor ${PREFIX}/sbin
${INSTALL_PROGRAM} ${WRKSRC}/src/qt-console/.libs/bat ${PREFIX}/sbin
${INSTALL_DATA_DIR} ${PREFIX}/share/pixmaps
${INSTALL_DATA} ${WRKSRC}/src/qt-console/images/bat_icon.png \
${PREFIX}/share/pixmaps
${INSTALL_DATA_DIR} ${PREFIX}/share/applications
${INSTALL_DATA} ${WRKSRC}/scripts/bat.desktop ${PREFIX}/share/applications
mv ${PREFIX}/libexec/bacula/bacula-tray-monitor.desktop \
${PREFIX}/share/applications/
.else
rm ${PREFIX}/man/man1/bat.1
.endif
mv ${WRKINST}/etc/bacula/* ${PREFIX}/share/examples/bacula/
rmdir ${WRKINST}/etc/bacula
.if ${BUILD_PACKAGES:M-server}
rm ${PREFIX}/lib/libbaccats.la
mv ${PREFIX}/libexec/bacula/query.sql{,.dist}
mv ${PREFIX}/libexec/bacula/mtx-changer.conf{,.dist}
rmdir ${WRKINST}/var/bacula
.endif
.include <bsd.port.mk>