From nobody Fri Jan 19 23:41:23 2024 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TGx2q5bBfz57gmN; Fri, 19 Jan 2024 23:41:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TGx2q4lmnz4LgP; Fri, 19 Jan 2024 23:41:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1705707683; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zA4isoLowdQ5xksk/aebfyoBcMjD5xq0A6lPfyXhAX8=; b=nvzbY3WMVFWARvvAqHzzczk3LvePByHVsuACEk/uyYCOzEYspEnlypN3ub8gj9GFM6leMh MOuN1Kk0OoveK8QmwfGVxoqypJdi0Wlv6pgu2USAnqcQy/Wc5YUWWBxu9H/jt00+e+6Zl8 RP4/DxUO1MAbTExHdU4kEk4tSSl1Jx2/pp7WqcXEpPoiySif7jM1eyw9kyR/uDq3YrSFCd T/l0+LNk8O6DvOVq1wQcnfegsoGXOoxDZr4Xw6qDbSPpCcjOGIhamcPQGqqSRkT6XZihpU nIATwKURJoFBOzkHmQIwC4AN/AcplQ8/+YZ2Bn5Xn3oxSqrK1R7wbpqLU07IqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1705707683; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zA4isoLowdQ5xksk/aebfyoBcMjD5xq0A6lPfyXhAX8=; b=pn58+nJ6cqiInkGRhVbg7dYOL9pyQ21YKcDtL5qmswZW1+aPXOFQ5Nt9/Y6yHZlaIrLFVB FPOsb0J/sBbjClmc5dgMQkk6+s2Fz1HH3g0dLFOyGSq0g77QCSmzionOd63pgn09nlmsN5 kejkFKHF9yb7h1e/wXsVkLbq87bPa5YDcZLp8tOLWXUNtDiwd8BlaQZzg5rNBUPFO/zt0b rwChJgEKSRyy/KJX16KrmbnrGbWHBXcsZIx2MaXl1HFbv8M2YNSwkG0JmWRKiITLoTfNDP sjNtPmT54gglOehaGwVgXrlaC9a/+V2AGPDW/8hFjsIqepF+detdCxJ8Oq2amQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1705707683; a=rsa-sha256; cv=none; b=xHPez0Y/L4fvoR6OGklNbD5IQn9So2rf1Pf609qPxZi9j9jipfHLfsas+OhgbRv1rT1DQu s+GeGFXgh9CHOJCsq3+cCwNpWe3tLsnbFt+UOJMGvOUWH5C9jE8pABtS6cGLznG+CAyOgo USvDk4vJCRWs7GD7zh7PiXvpTnawjLaxX2Sl/8BIXIptWZlR8akza3EMA9FvWcdJDWxY8C Zdcn7ieLug+mwZXE6Ni3BolCijcnKUpc0f4JoJ3Mpj4rbyxEiWsCNBefIjdkqbdEPvbEmm qYIP76UVEJKuOrBnIX/P7xhD67fPo1eGkE5jjp+PlxQp6DU60zEa/lPdb/J+lA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TGx2q3nvNz1BQ6; Fri, 19 Jan 2024 23:41:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 40JNfNTw045883; Fri, 19 Jan 2024 23:41:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 40JNfNh7045880; Fri, 19 Jan 2024 23:41:23 GMT (envelope-from git) Date: Fri, 19 Jan 2024 23:41:23 GMT Message-Id: <202401192341.40JNfNh7045880@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Jose Alonso Cardenas Marquez Subject: git: e86aedbcb085 - main - sysutils/bareos22-*: Copy bareos-* ports to bareso22-* ones List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-all@freebsd.org X-BeenThere: dev-commits-ports-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: acm X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e86aedbcb08513bd8f85420435909783d87084fb Auto-Submitted: auto-generated The branch main has been updated by acm: URL: https://cgit.FreeBSD.org/ports/commit/?id=e86aedbcb08513bd8f85420435909783d87084fb commit e86aedbcb08513bd8f85420435909783d87084fb Author: Jose Alonso Cardenas Marquez AuthorDate: 2024-01-19 23:29:06 +0000 Commit: Jose Alonso Cardenas Marquez CommitDate: 2024-01-19 23:41:04 +0000 sysutils/bareos22-*: Copy bareos-* ports to bareso22-* ones - bareos-* ports will be updated to 23.0.1 soon --- sysutils/Makefile | 3 + sysutils/bareos22-client/Makefile | 20 + sysutils/bareos22-server/Makefile | 237 ++ sysutils/bareos22-server/Makefile.common | 38 + sysutils/bareos22-server/distinfo | 3 + sysutils/bareos22-server/files/bareos-barcodes | 51 + sysutils/bareos22-server/files/bareos-dir.in | 55 + sysutils/bareos22-server/files/bareos-fd.in | 46 + sysutils/bareos22-server/files/bareos-sd.in | 37 + sysutils/bareos22-server/files/chio-bareos | 190 ++ .../files/patch-contrib-misc-bsmc_CMakeLists.txt | 11 + .../files/patch-contrib_CMakeLists.txt | 27 + .../files/patch-core-CMakeLists.txt | 41 + .../patch-core-cmake_BareosCheckIncludes.cmake | 12 + .../patch-core-cmake_BareosFindAllLibraries.cmake | 12 + ...patch-core-cmake_BareosInstallConfigFiles.cmake | 118 + .../files/patch-core-manpages_CMakeLists.txt | 16 + .../files/patch-core-scripts_CMakeLists.txt | 64 + .../files/patch-core-src-dird_CMakeLists.txt | 28 + .../files/patch-core-src-dird_vbackup.cc | 11 + .../files/patch-core-src-include_baconfig.h | 25 + .../patch-core-src-plugins-filed_CMakeLists.txt | 13 + .../patch-core-src-plugins-stored_CMakeLists.txt | 15 + .../files/patch-core-src-stored_CMakelists.txt | 20 + .../files/patch-core-src_CMakeLists.txt | 51 + ...e_cmake_bareos-symlink-default-db-backend.cmake | 36 + .../bareos22-server/files/pkg-deinstall.client.in | 30 + .../bareos22-server/files/pkg-install.client.in | 13 + .../bareos22-server/files/pkg-message.client.in | 17 + .../bareos22-server/files/pkg-message.server.in | 74 + sysutils/bareos22-server/pkg-descr | 4 + sysutils/bareos22-server/pkg-plist | 164 ++ sysutils/bareos22-server/pkg-plist.client | 109 + sysutils/bareos22-traymonitor/Makefile | 28 + sysutils/bareos22-traymonitor/pkg-descr | 6 + sysutils/bareos22-traymonitor/pkg-plist | 7 + www/Makefile | 1 + www/bareos22-webui/Makefile | 67 + www/bareos22-webui/distinfo | 3 + www/bareos22-webui/files/pkg-message.in | 19 + www/bareos22-webui/pkg-descr | 8 + www/bareos22-webui/pkg-plist | 2558 ++++++++++++++++++++ 42 files changed, 4288 insertions(+) diff --git a/sysutils/Makefile b/sysutils/Makefile index 0ce06a27edca..8d00c89931ec 100644 --- a/sysutils/Makefile +++ b/sysutils/Makefile @@ -113,6 +113,9 @@ SUBDIR += bareos21-client SUBDIR += bareos21-server SUBDIR += bareos21-traymonitor + SUBDIR += bareos22-client + SUBDIR += bareos22-server + SUBDIR += bareos22-traymonitor SUBDIR += barrier SUBDIR += bashtop SUBDIR += bastille diff --git a/sysutils/bareos22-client/Makefile b/sysutils/bareos22-client/Makefile new file mode 100644 index 000000000000..fba30b8ab482 --- /dev/null +++ b/sysutils/bareos22-client/Makefile @@ -0,0 +1,20 @@ +PORTNAME= bareos +PKGNAMESUFFIX= 22-client + +COMMENT= Backup archiving recovery open sourced (client) + +CONFLICTS= bareos-client bareos20-client bareos21-client + +WITH_CLIENT_ONLY=yes +USE_RC_SUBR= bareos-fd + +PLIST= ${PKGDIR}/pkg-plist.client +MASTERDIR= ${.CURDIR}/../../sysutils/bareos22-server + +OPTIONS_GROUP= PLUGINS +OPTIONS_GROUP_PLUGINS= GFAPI +OPTIONS_DEFINE= NLS PYTHON SCSICRYPTO + +GFAPI_DESC= GFAPI fd plugin support + +.include "${MASTERDIR}/Makefile" diff --git a/sysutils/bareos22-server/Makefile b/sysutils/bareos22-server/Makefile new file mode 100644 index 000000000000..4128e0ecbeb9 --- /dev/null +++ b/sysutils/bareos22-server/Makefile @@ -0,0 +1,237 @@ +PORTNAME= bareos +DISTVERSIONPREFIX= Release/ +DISTVERSION= 22.1.3 +PORTREVISION?= 0 +CATEGORIES?= sysutils +PKGNAMEPREFIX?= # +PKGNAMESUFFIX?= 22-server + +MAINTAINER= acm@FreeBSD.org +COMMENT?= Backup archiving recovery open sourced (server) +WWW= https://www.bareos.org/ + +LICENSE= AGPLv3 LGPL3 +LICENSE_COMB= multi + +CONFLICTS?= bareos-server bareos20-server bareos21-server + +LIB_DEPENDS+= liblzo2.so:archivers/lzo2 \ + libjansson.so:devel/jansson + +USES+= cmake compiler:c++11-lang cpe localbase:ldflags perl5 pkgconfig readline \ + shebangfix +USE_GITHUB= yes +USE_PERL5= run + +USERS= bareos +GROUPS= ${USERS} + +PLIST_SUB+= LIB_VERSION=${PORTVERSION} + +USE_LDCONFIG= yes +SHEBANG_LANG= perl python +SHEBANG_GLOB= *.py +SHEBANG_FILES= ${WRKSRC}/core/src/cats/make_catalog_backup.pl.in \ + ${WRKSRC}/contrib/misc/bsmc/bin/bsmc + +CPPFLAGS+= -I${LOCALBASE}/readline + +OPTIONS_DEFAULT= OPENSSL +OPTIONS_SINGLE= CRYPTO +OPTIONS_SINGLE_CRYPTO= OPENSSL GNUTLS +OPTIONS_SUB= yes +CRYPTO_DESC= Cryptographic library +MTX_DESC= Install mtx for control of autochanger devices +NDMP_DESC= Enable build of NDMP support +SCSICRYPTO_DESC= Build LTO AME crypto plugin + +.if ${PKGNAMESUFFIX} == "22-server" +OPTIONS_GROUP= BACKENDS +OPTIONS_GROUP_BACKENDS= GFAPI +OPTIONS_DEFINE= MTX PYTHON LMDB NDMP NLS SCSICRYPTO +OPTIONS_DEFAULT+= LMDB PGSQL SCSICRYPTO +OPTIONS_SINGLE_DATABASE= PGSQL +OPTIONS_SINGLE+= DATABASE +BACKENDS_DESC= Storage backends +DATABASE_DESC= Database support +GFAPI_DESC= GFAPI backend support +LMDB_DESC= Enable faster accurate backup support + +NDMP_CMAKE_ON= -Dndmp=ON +NDMP_CMAKE_OFF= -Dndmp=OFF +.endif + +GNUTLS_CONFIGURE_WITH= gnutls=${LOCALBASE} +GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls + +OPENSSL_USES= ssl +OPENSSL_CMAKE_ON= -Dopenssl=ON +OPENSSL_CMAKE_OFF= -Dopenssl=OFF + +SCSICRYPTO_CMAKE_ON= -Dscsi-crypto=ON +SCSICRYPTO_CMAKE_OFF= -Dscsi-crypto=OFF + +.if ${PKGNAMESUFFIX} == "22-client" || ${PKGNAMESUFFIX} == "22-server" #Till end of the file +PYTHON_USES= python +PYTHON_CMAKE_ON= -DENABLE_PYTHON=ON +PYTHON_CMAKE_OFF= -DENABLE_PYTHON=OFF +PYTHON_PLUGIN= yes + +.if !defined(WITH_CLIENT_ONLY) +LIB_DEPENDS+= libbareos.so:sysutils/bareos22-client +USE_RC_SUBR?= bareos-dir bareos-sd +.endif + +.if defined(WITH_CLIENT_ONLY) +SUB_FILES+= pkg-install.client pkg-deinstall.client pkg-message.client +.else +SUB_FILES+= pkg-message.server +.endif + +CMAKE_ARGS+= -Dtcp-wrappers=ON \ + -Dsmartalloc=ON \ + -Dsysconfdir=${PREFIX}/etc \ + -Darchivedir=${BAREOS_DIR}/storage \ + -Dworkingdir=${BAREOS_DIR} \ + -Dconfdir=${PREFIX}/etc/bareos \ + -Dlibdir=${PREFIX}/lib \ + -Dlogdir=/var/log/bareos \ + -Dincludedir=${PREFIX}/include/bareos \ + -Dreadline=ON \ + -Ddisable-conio=ON \ + -Dbatch-insert=ON \ + -Dhave_plugins=ON \ + -Dplugindir=${PREFIX}/lib/bareos/plugins \ + -Dscriptdir=${PREFIX}/lib/bareos/scripts \ + -Dbackenddir=${PREFIX}/lib/bareos/backends \ + -Ddump_email=root@localhost \ + -Djob_email=root@localhost \ + -Ddb_name=bareos \ + -Dsbin-perm=755 \ + -Ddb_user=bareos \ + -Dbaseport=9101 \ + -Dpiddir=/var/run/bareos + +.if defined(WITH_CLIENT_ONLY) +CFLAGS+= -DMDB_DSYNC=O_SYNC -DMDB_USE_POSIX_SEM=1 + +CMAKE_ARGS+= -Dfd-user=root \ + -Dfd-group=wheel \ + -Dlmdb=ON +.else +LMDB_CMAKE_ON= -Dlmdb=ON +LMDB_CMAKE_OFF= -Dlmdb=OFF +LMDB_CFLAGS+= -DMDB_DSYNC=O_SYNC -DMDB_USE_POSIX_SEM=1 + +CMAKE_ARGS+= -Ddir-user=${BAREOS_USER} \ + -Ddir-group=${BAREOS_GROUP} \ + -Dsd-user=${BAREOS_USER} \ + -Dsd-group=operator +.endif + +# The user/group IDs below are registered, see +# http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/book.html#DADS-UID +# +BAREOS_USER?= bareos +BAREOS_GROUP?= ${BAREOS_USER} +BAREOS_UID?= 997 +BAREOS_GID?= ${BAREOS_UID} +BAREOS_DIR?= /var/db/bareos + +PLIST_SUB+= BAREOS_DIR=${BAREOS_DIR} + +SUB_LIST= BAREOS_USER=${BAREOS_USER} \ + BAREOS_GROUP=${BAREOS_GROUP} \ + BAREOS_UID=${BAREOS_UID} \ + BAREOS_GID=${BAREOS_GID} \ + BAREOS_DIR=${BAREOS_DIR} + +NLS_USES= gettext +NLS_CMAKE_ON= -Dnls=ON +GFAPI_CMAKE_ON= -Dgfapi=ON +GFAPI_LIB_DEPENDS= libglusterfs.so:net/glusterfs + +# Client only or full server version +.if defined(WITH_CLIENT_ONLY) +CONFFILES= fd +CMAKE_ARGS+= -Dclient-only=ON + +PKGDEINSTALL= ${FILESDIR}/pkg-deinstall.client +PKGINSTALL= ${FILESDIR}/pkg-install.client +.else +# Server only Options +CONFFILES= sd dir +CMAKE_ARGS+= -Dbuild-dird=ON \ + -Dbuild-stored=ON \ + -Dbuild_client_only=OFF +# Server default database + +MTX_RUN_DEPENDS= ${LOCALBASE}/sbin/mtx:misc/mtx +MYSQL_VARS= DBTYPE=mysql +MYSQL_SUB_LIST= REQ_MYSQL=mysql REQ_PGSQL="" +PGSQL_CMAKE_ON= -Dpostgresql=ON +PGSQL_USES= pgsql +PGSQL_VARS= DBTYPE=postgresql +PGSQL_SUB_LIST= REQ_MYSQL="" REQ_PGSQL=postgresql +SQLITE3_VARS= DBTYPE=sqlite3 + +PLIST_SUB+= DBTYPE=${DBTYPE} + +.endif + +.if defined(WITH_CLIENT_ONLY) +MP1+= bconsole.1 +MP8+= bareos-fd.8 +.else +MP8+= bareos.8 bareos-dir.8 bareos-sd.8 bcopy.8 bextract.8 bls.8 bscan.8 \ + btape.8 btraceback.8 bareos-dbcheck.8 +MP1+= bsmtp.1 bregex.1 bwild.1 bareos-tray-monitor.1 +.endif + +MAKE_ENV+= MAN8="${MP8}" MAN1="${MP1}" + +post-patch: + @${REINPLACE_CMD} '124,129d' ${WRKSRC}/CMakeLists.txt +.if ${PKGNAMESUFFIX} == "22-server" + @${REINPLACE_CMD} '51d' ${WRKSRC}/core/src/plugins/CMakeLists.txt +.endif +.if ${PKGNAMESUFFIX} == "22-client" + @${REINPLACE_CMD} -e 's|-Werror -Wall|-Wall|g' ${PATCH_WRKSRC}/core/CMakeLists.txt +.endif + +post-extract: +.if defined(WITH_CLIENT_ONLY) +. if defined(PYTHON_PLUGIN) + @${MKDIR} ${STAGEDIR}${ETCDIR}/python-ldap-conf.d/bareos-dir.d/fileset + @${MKDIR} ${STAGEDIR}${ETCDIR}/python-ldap-conf.d/bareos-dir.d/job +. endif +.endif + @${MV} ${WRKSRC}/core/src/defaultconfigs/bareos-dir.d/fileset/'Windows All Drives.conf' \ + ${WRKSRC}/core/src/defaultconfigs/bareos-dir.d/fileset/'WindowsAllDrives.conf' + @${MV} ${WRKSRC}/contrib/misc/bsmc/etc/bareos/bsmc.conf \ + ${WRKSRC}/contrib/misc/bsmc/etc/bareos/bsmc.conf.sample + +.if !target(post-install) +post-install: +.if defined(WITH_CLIENT_ONLY) + ${MKDIR} ${STAGEDIR}${ETCDIR}/bconsole.d/ + ${MV} ${STAGEDIR}${ETCDIR}/bconsole.conf.sample ${STAGEDIR}${ETCDIR}/bconsole.d/bconsole.conf.sample +.else + ${INSTALL_SCRIPT} ${FILESDIR}/chio-bareos ${STAGEDIR}${PREFIX}/sbin + ${INSTALL_DATA} ${FILESDIR}/bareos-barcodes ${STAGEDIR}${ETCDIR}/bareos-barcodes.sample + ${CHMOD} o+x ${STAGEDIR}${PREFIX}/bin/bsmtp + ${MV} ${STAGEDIR}${ETCDIR}/mtx-changer.conf ${STAGEDIR}${ETCDIR}/mtx-changer.conf.sample +.endif + @${MKDIR} ${STAGEDIR}/var/run/bareos +.endif +.else +.include "${MASTERDIR}/Makefile.common" +.endif # 22-client and 22-server are defined + +.include + +.if ${OPSYS} == FreeBSD && ( ${OSVERSION} >= 1400091 || ( ${OSVERSION} >= 1302505 && ${OSVERSION} < 1400000 )) +USES+= llvm:max=15 +.endif + +.include diff --git a/sysutils/bareos22-server/Makefile.common b/sysutils/bareos22-server/Makefile.common new file mode 100644 index 000000000000..75e86eaf9e70 --- /dev/null +++ b/sysutils/bareos22-server/Makefile.common @@ -0,0 +1,38 @@ +post-patch: + @${REINPLACE_CMD} '76,79d' ${WRKSRC}/CMakeLists.txt +.if ${PKGNAMESUFFIX} == "22-traymonitor" + @${REINPLACE_CMD} -e 's|-Werror -Wall|-Wall|g' ${PATCH_WRKSRC}/core/CMakeLists.txt +.endif + +post-build: +.if ${PKGNAMEPREFIX} == "nagios-check_" + ${MAKE_CMD} -C ${WRKSRC}/examples/nagios/check_bareos +.endif + +pre-install: +.if ${PKGNAMESUFFIX} == "22-traymonitor" +. for d in client director monitor storage + ${MKDIR} ${STAGEDIR}${ETCDIR}/tray-monitor.d/${d} + ${FIND} ${WRKSRC}/core/src/defaultconfigs/tray-monitor.d/${d} -type f -name '*.conf' -exec ${MV} -v {} {}.sample \; +. endfor +.endif + +do-install: +.if ${PKGNAMEPREFIX} == "nagios-check_" + @${MKDIR} ${STAGEDIR}${PREFIX}/libexec/nagios + ${INSTALL_PROGRAM} ${WRKSRC}/examples/nagios/check_bareos/check_bareos \ + ${STAGEDIR}${PREFIX}/libexec/nagios +.endif +.if ${PKGNAMESUFFIX} == "-client-static" + ${INSTALL_PROGRAM} ${WRKSRC}/src/filed/static-bareos-fd ${STAGEDIR}${PREFIX}/sbin/bareos-fd-static + ${INSTALL_PROGRAM} ${WRKSRC}/src/console/static-bconsole ${STAGEDIR}${PREFIX}/sbin/bconsole-static +.endif +.if ${PKGNAMESUFFIX} == "22-traymonitor" +# Install config files and preserve existing ones +.for d in client director monitor storage + ${INSTALL_SCRIPT} ${WRKSRC}/core/src/defaultconfigs/tray-monitor.d/${d}/*.sample ${STAGEDIR}${ETCDIR}/tray-monitor.d/${d}/ +.endfor + ${INSTALL_PROGRAM} ${CONFIGURE_WRKSRC}/core/src/qt-tray-monitor/bareos-tray-monitor ${STAGEDIR}${PREFIX}/bin + ${INSTALL_DATA} ${WRKSRC}/core/src/images/bareos_1.png ${STAGEDIR}${PREFIX}/share/pixmaps/bareos-tray-monitor.png + ${INSTALL_DATA} ${WRKSRC}/core/src/qt-tray-monitor/bareos-tray-monitor.desktop ${STAGEDIR}${DESKTOPDIR} +.endif diff --git a/sysutils/bareos22-server/distinfo b/sysutils/bareos22-server/distinfo new file mode 100644 index 000000000000..e6ac2baf20d2 --- /dev/null +++ b/sysutils/bareos22-server/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1704433438 +SHA256 (bareos-bareos-Release-22.1.3_GH0.tar.gz) = 765bf250a34296756051e896b28130b2ca3965cebaf310116c50e3e6c63d7d52 +SIZE (bareos-bareos-Release-22.1.3_GH0.tar.gz) = 14745204 diff --git a/sysutils/bareos22-server/files/bareos-barcodes b/sysutils/bareos22-server/files/bareos-barcodes new file mode 100644 index 000000000000..f42cb7f7aeea --- /dev/null +++ b/sysutils/bareos22-server/files/bareos-barcodes @@ -0,0 +1,51 @@ +# +# Bacula barcode simulation file +# used by ${PREFIX}/sbin/chio-bareos (FreeBSD) +# +# The volumenames are returned by the "changer list" command +# labeling in the console is done by "label barcodes" +# (then all volumes belog to the default pool). +# All Lines with an "#" at the bedinning are ignored +# +# !!!! If you export an tape and reinsert another one, +# !!!! don't forget to change the volume name in this file! +# +1:Volume1-100 +2:Volume1-101 +3:Volume1-102 +4:Volume1-103 +5:Volume1-104 +6:Volume1-105 +7:Volume1-106 +8:Volume1-107 +9:Volume1-108 +10:Volume1-109 +11:Volume1-110 +12:Volume1-111 +# +# Further volumes exported from the changer +# +# 36GB AIT2 tapes +#Volume1-100 +#Volume1-101 +#Volume1-102 +#Volume1-103 +#Volume1-104 +#Volume1-105 +#Volume1-106 +#Volume1-107 +#Volume1-108 +#Volume1-109 +#Volume1-110 +#Volume1-111 +#Volume1-112 +#Volume1-113 +#Volume1-114 +#Volume1-115 +# +# 50GB AIT2 tapes +#Volume2-200 +#Volume2-201 +#Volume2-202 +#Volume2-203 +#Volume2-204 diff --git a/sysutils/bareos22-server/files/bareos-dir.in b/sysutils/bareos22-server/files/bareos-dir.in new file mode 100644 index 000000000000..22272cf86231 --- /dev/null +++ b/sysutils/bareos22-server/files/bareos-dir.in @@ -0,0 +1,55 @@ +#!/bin/sh + +# PROVIDE: bareos_dir +# REQUIRE: DAEMON %%REQ_MYSQL%% %%REQ_PGSQL%% +# KEYWORD: shutdown +# +# Add the following lines to /etc/rc.conf.local or /etc/rc.conf +# to enable this service: +# +# bareos_dir_enable (bool): Set to NO by default. +# Set it to YES to enable bareos_dir. +# bareos_dir_flags (params): Set params used to start bareos_dir. +# bareos_dir_config (params): Path to the config file/directory +# + +. /etc/rc.subr + +name="bareos_dir" +rcvar=${name}_enable + +load_rc_config $name + +: ${bareos_dir_enable="NO"} +: ${bareos_dir_flags="-u bareos -g bareos -v"} +: ${bareos_dir_config="%%PREFIX%%/etc/bareos/"} +: ${bareos_dir_pidfile="/var/run/bareos/bareos-dir.9101.pid"} + +command=%%PREFIX%%/sbin/bareos-dir +command_args="-c ${bareos_dir_config} -p ${bareos_dir_pidfile}" +pidfile="${bareos_dir_pidfile}" +bconsole_command=/usr/local/bin/bconsole +start_precmd="bareos_start_precmd" +restart_precmd="bareos_dir_configtest" +reload_precmd="bareos_dir_configtest" +reload_cmd="bareos_dir_reload" +configtest_cmd="bareos_dir_configtest" + +bareos_start_precmd() { + [ -d "${pidfile%/*}" ] || install -d -o bareos -g bareos ${pidfile%/*} + bareos_dir_configtest +} + +bareos_dir_configtest() { + echo "Performing sanity check on ${bareos_dir_config} configuration:" + eval ${command} -t +} + +bareos_dir_reload() { + echo "Performing a graceful reload" + # bconsole always exits with 0, so we can't check the return status for success. + echo "reload" | ${bconsole_command} +} + +extra_commands="reload configtest" +run_rc_command "$1" diff --git a/sysutils/bareos22-server/files/bareos-fd.in b/sysutils/bareos22-server/files/bareos-fd.in new file mode 100644 index 000000000000..8d57c3c858bc --- /dev/null +++ b/sysutils/bareos22-server/files/bareos-fd.in @@ -0,0 +1,46 @@ +#!/bin/sh + +# PROVIDE: bareos_fd +# REQUIRE: DAEMON +# KEYWORD: shutdown +# +# Add the following lines to /etc/rc.conf.local or /etc/rc.conf +# to enable this service: +# +# bareos_fd_enable (bool): Set to NO by default. +# Set it to YES to enable bareos_fd. +# bareos_fd_flags (params): Set params used to start bareos_fd. +# bareos_fd_config (params): Path to the config file/directory +# + +. /etc/rc.subr + +name="bareos_fd" +rcvar=${name}_enable + +load_rc_config $name + +: ${bareos_fd_enable="NO"} +: ${bareos_fd_flags="-u root -g wheel -v"} +: ${bareos_fd_config="%%PREFIX%%/etc/bareos/"} +: ${bareos_fd_pidfile="/var/run/bareos/bareos-fd.9102.pid"} + +command=%%PREFIX%%/sbin/bareos-fd +command_args="-c ${bareos_fd_config} -p ${bareos_fd_pidfile}" +pidfile="${bareos_fd_pidfile}" +start_precmd="bareos_start_precmd" + +bareos_start_precmd() { + [ -d "${pidfile%/*}" ] || { + getent passwd bareos > /dev/null 2&>1 + if [ $? -eq 0] ; then + # user bareos exists + install -d -o bareos -g bareos ${pidfile%/*} + else + # bareos_fd as solitair service + install -d -o root -g wheel ${pidfile%/*} + fi + } +} + +run_rc_command "$1" diff --git a/sysutils/bareos22-server/files/bareos-sd.in b/sysutils/bareos22-server/files/bareos-sd.in new file mode 100644 index 000000000000..529cf55140c0 --- /dev/null +++ b/sysutils/bareos22-server/files/bareos-sd.in @@ -0,0 +1,37 @@ +#!/bin/sh + +# PROVIDE: bareos_sd +# REQUIRE: DAEMON +# KEYWORD: shutdown +# +# Add the following lines to /etc/rc.conf.local or /etc/rc.conf +# to enable this service: +# +# bareos_sd_enable (bool): Set to NO by default. +# Set it to YES to enable bareos_sd. +# bareos_sd_flags (params): Set params used to start bareos_sd. +# bareos_sd_config (params): Path to the config file/directory +# + +. /etc/rc.subr + +name="bareos_sd" +rcvar=${name}_enable + +load_rc_config $name + +: ${bareos_sd_enable="NO"} +: ${bareos_sd_flags="-u bareos -g bareos -v"} +: ${bareos_sd_config="%%PREFIX%%/etc/bareos/"} +: ${bareos_sd_pidfile="/var/run/bareos/bareos-sd.9103.pid"} + +command=%%PREFIX%%/sbin/bareos-sd +command_args="-c ${bareos_sd_config} -p ${bareos_sd_pidfile}" +pidfile="${bareos_sd_pidfile}" +start_precmd="bareos_start_precmd" + +bareos_start_precmd() { + [ -d "${pidfile%/*}" ] || install -d -o bareos -g bareos ${pidfile%/*} +} + +run_rc_command "$1" diff --git a/sysutils/bareos22-server/files/chio-bareos b/sysutils/bareos22-server/files/chio-bareos new file mode 100644 index 000000000000..f006ef78e6ce --- /dev/null +++ b/sysutils/bareos22-server/files/chio-bareos @@ -0,0 +1,190 @@ +#!/bin/sh +# +# BAREOS interface to tape libraries and autoloaders for FreeBSD +# (by Rudolf Cejka , v1.2, 2012/11/14) +# +# If you set in your Device resource +# Changer Command = "path-to-this-script/chio-changer %c %o %S %a %d" +# you will have the following input to this script: +# chio-changer "changer-device" "command" "slot" "tape-device" "drive-index" +# $1 $2 $3 $4 $5 +# for example (on a FreeBSD system): +# chio-changer /dev/ch0 load 1 /dev/nsa0 0 +# +# If you change the script, take care to return either the chio exit +# code or a 0. If the script exits with a non-zero exit code, BAREOS +# will assume the request failed. +# + +PROGNAME=`basename $0` + +# Uncomment the following line, if you want to log debug output. +#DEBUG=/var/run/bareos/${PROGNAME}.log + +# Uncomment the following line, if you need to eject a tape before moving +# it from the drive. +#OFFLINE=yes + +# Uncomment one or more of the following lines, if you need to wait for +# some time (in seconds) after unloading, loading or transferring a tape. +#OFFLINE_SLEEP=10 +#LOAD_SLEEP=10 +#MOVE_SLEEP=10 + +# Uncomment the following line, if you do not have a changer with volume +# reader. +#FAKE_BARCODES=/usr/local/etc/bareos-barcodes + +usage() +{ + cat < [slot] [tape-device] [drive-index] + +Commands (): + unload Unload a tape into the slot from where it was loaded + load Load a tape from the slot (1-based) + transfer Transfer a tape from the slot to + the slot (1-based) + list List full storage slots + listall List all storage slots and drives with source information + loaded Give slot from where the tape was loaded (0 = empty drive) + slots Give number of available slots + +Example: + ${PROGNAME} /dev/ch0 load 1 Load a tape from the slot 1 + +EOF + exit 1 +} + +# Default settings +CHANGER=/dev/ch0 +TAPE=/dev/nsa0 +DRIVE=0 + +CHIO=/bin/chio +MT=/usr/bin/mt + +if [ -n "${DEBUG}" ]; then + MSG=$0 + for PAR; do MSG="${MSG} \"${PAR}\""; done + echo `date +"%Y/%m/%d %H:%M:%S"` ${MSG} >> ${DEBUG} +fi + +if [ -n "$1" ]; then + CHANGER=$1; +fi +COMMAND=$2 +SLOT=$3 +SLOTDST=$4 +if [ -n "$4" ]; then + TAPE=$4 +fi +if [ -n "$5" ]; then + DRIVE=$5 +fi + +case ${COMMAND} in +unload) + if [ "${OFFLINE}" = yes ]; then + ${MT} -f ${TAPE} offline + if [ $? = 0 -a -n "${OFFLINE_SLEEP}" ]; then + sleep ${OFFLINE_SLEEP} + fi + fi + if [ -z "${SLOT}" ]; then + ${CHIO} -f ${CHANGER} return drive ${DRIVE} + else + ${CHIO} -f ${CHANGER} move drive ${DRIVE} slot $((${SLOT} - 1)) + fi + if [ $? -ne 0 ]; then + # In case of an error, try to unload the cartridge to the first free slot + FREE=`${CHIO} -f ${CHANGER} status slot | \ + sed -ne '/FULL/d;s/^slot *\([0-9]*\):.*/\1/p' | \ + awk 'BEGIN { n = 0 } { n = $1 + 1; exit } END { print n }'` + if [ ${FREE} -gt 0 ]; then + ${CHIO} -f ${CHANGER} move drive ${DRIVE} slot $((${FREE} - 1)) + else + exit 1 + fi + fi + ;; +load) + if [ -z "${SLOT}" ]; then + usage + fi + ${CHIO} -f ${CHANGER} move slot $((${SLOT} - 1)) drive ${DRIVE} + if [ $? -ne 0 ]; then + exit 1 + fi + if [ -n "${LOAD_SLEEP}" ]; then + sleep ${LOAD_SLEEP} + fi + ;; +transfer) + if [ -z "${SLOT}" -o -z "${SLOTDST}" ]; then + usage + fi + ${CHIO} -f ${CHANGER} move slot $((${SLOT} - 1)) slot $((${SLOTDST} - 1)) + if [ $? -ne 0 ]; then + exit 1 + fi + if [ -n "${MOVE_SLEEP}" ]; then + sleep ${MOVE_SLEEP} + fi + ;; +list) + if [ -z "${FAKE_BARCODES}" ]; then + ${CHIO} -f ${CHANGER} status -v slot | \ + sed -ne 's/^slot *\([0-9]*\):.*FULL.*voltag.*<\([^:]*\):.*/\1:\2/p' | \ + awk -F: '{ print $1 + 1 ":" $2 }' + else + if [ -f "${FAKE_BARCODES}" ]; then + grep -v -e "^#" -e "^$" < ${FAKE_BARCODES} + else + echo "${PROGNAME}: Barcode file ${FAKE_BARCODES} is missing" + exit 1 + fi + fi + ;; +listall) + if [ -z "${FAKE_BARCODES}" ]; then + ${CHIO} -f ${CHANGER} status -vS | \ + sed -ne ' + s/^slot *\([0-9]*\):.*ENAB.*FULL.*voltag.*<\([^:]*\):.*/I:\1:F:\2/p;t + s/^slot *\([0-9]*\):.*FULL.*voltag.*<\([^:]*\):.*/S:\1:F:\2/p;t + s/^drive *\([0-9]*\):.*FULL.*voltag.*<\([^:]*\):.*source.*<[^0-9]*\([0-9]*\)>.*/D:\1:F:\3:\2/p;t + s/^slot *\([0-9]*\):.*ENAB.*voltag.*<\([^:]*\):.*/I:\1:E/p;t + s/^slot *\([0-9]*\):.*voltag.*<\([^:]*\):.*/S:\1:E/p;t + s/^drive *\([0-9]*\):.*voltag.*<\([^:]*\):.*/D:\1:E/p' | \ + awk -F: '{ for (n = 1; n <= NF; n++) printf "%s%s", + (n == ($1 == "D" ? 4 : 2)) ? ($n == "" ? 0 : $n + 1) : $n, + (n == NF) ? "\n" : ":" }' + else + if [ -f "${FAKE_BARCODES}" ]; then + grep -v -e "^#" -e "^$" < ${FAKE_BARCODES} | \ + awk -F: '{ print "S:" $1 (match($2, "^ *$") ? ":E" : ":F:" $2) }' + else + echo "${PROGNAME}: Barcode file ${FAKE_BARCODES} is missing" + exit 1 + fi + fi + ;; +loaded) + # If a tape is loaded, but the source slot is unknown (for example, + # after library reboot), try to report the first free slot + FREE=`${CHIO} -f ${CHANGER} status slot | \ + sed -ne '/FULL/d;s/^slot *\([0-9]*\):.*/\1/p' | \ + awk 'BEGIN { n = 0 } { n = $1 + 1; exit } END { print n }'` + ${CHIO} -f ${CHANGER} status -S drive | \ + sed -ne 's/^drive *'${DRIVE}':.*FULL.*source.*<[^0-9]*\([0-9]*\)>.*/\1/p' \ + | awk 'BEGIN { n = 0 } { n = ($1 == "") ? '${FREE}' : $1 + 1 } \ + END { print n }' + ;; +slots) + ${CHIO} -f ${CHANGER} status | grep -c "^slot " + ;; +*) + usage + ;; +esac diff --git a/sysutils/bareos22-server/files/patch-contrib-misc-bsmc_CMakeLists.txt b/sysutils/bareos22-server/files/patch-contrib-misc-bsmc_CMakeLists.txt new file mode 100644 index 000000000000..2074cf886be9 --- /dev/null +++ b/sysutils/bareos22-server/files/patch-contrib-misc-bsmc_CMakeLists.txt @@ -0,0 +1,11 @@ +--- contrib/misc/bsmc/CMakeLists.txt 2023-04-07 17:32:44.243346000 -0500 ++++ contrib/misc/bsmc/CMakeLists.txt 2023-04-07 17:33:04.594841000 -0500 +@@ -27,7 +27,7 @@ + ) + + install( +- FILES etc/bareos/bsmc.conf ++ FILES etc/bareos/bsmc.conf.sample + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ + DESTINATION "${confdir}" + ) diff --git a/sysutils/bareos22-server/files/patch-contrib_CMakeLists.txt b/sysutils/bareos22-server/files/patch-contrib_CMakeLists.txt new file mode 100644 index 000000000000..6c923920a7a5 --- /dev/null +++ b/sysutils/bareos22-server/files/patch-contrib_CMakeLists.txt @@ -0,0 +1,27 @@ +--- contrib/CMakeLists.txt 2023-03-24 08:05:20.000000000 -0500 ++++ contrib/CMakeLists.txt 2023-04-07 17:52:51.095371000 -0500 +@@ -24,10 +24,18 @@ + include(GNUInstallDirs) + include(BareosSetVariableDefaults) + +-add_subdirectory(fd-plugins) +-if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "SunOS") +- add_subdirectory(misc) +-endif() +-if(NOT client-only) +- add_subdirectory(dir-plugins) ++if(python) ++ if(client-only) ++ add_subdirectory(fd-plugins) ++ endif() ++ ++ if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "SunOS") ++ if(client-only) ++ add_subdirectory(misc) ++ endif() ++ endif() ++ ++ if(NOT client-only) ++ add_subdirectory(dir-plugins) ++ endif() + endif() diff --git a/sysutils/bareos22-server/files/patch-core-CMakeLists.txt b/sysutils/bareos22-server/files/patch-core-CMakeLists.txt new file mode 100644 index 000000000000..b7e291bf0d60 --- /dev/null +++ b/sysutils/bareos22-server/files/patch-core-CMakeLists.txt @@ -0,0 +1,41 @@ +--- core/CMakeLists.txt 2022-11-09 08:14:10.000000000 -0500 ++++ core/CMakeLists.txt 2022-11-18 00:11:43.670601000 -0500 +@@ -283,7 +283,9 @@ + set(HAVE_FREEBSD_OS 1) + include_directories(/usr/local/include) + link_directories(/usr/local/lib) +- link_libraries(intl) ++ if(nls) ++ link_libraries(intl) ++ endif() + check_cxx_compiler_flag( + -Wunused-but-set-variable compiler_will_warn_of_unused_but_set_variable + ) +@@ -350,7 +352,9 @@ + add_definitions("-D_FILE_OFFSET_BITS=64") + endif() + +-include(FindIntl) ++if(nls) ++ include(FindIntl) ++endif() + + if(developer) + add_definitions("-DDEVELOPER=1") +@@ -368,7 +372,7 @@ + include(BareosFindStaticCodeAnalysisTools) + + if(NOT client-only +- AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "SunOS" ++ AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "SunOS|FreeBSD" + AND CMAKE_SIZEOF_VOID_P EQUAL 8 + ) + # droplet does not build on solaris because of sys/cdefs.h: No such file or +@@ -782,7 +786,6 @@ + + add_subdirectory(scripts) + add_subdirectory(manpages) +-add_subdirectory(platforms) + add_subdirectory(src) + + include(BareosLocalBuildDefinitions OPTIONAL diff --git a/sysutils/bareos22-server/files/patch-core-cmake_BareosCheckIncludes.cmake b/sysutils/bareos22-server/files/patch-core-cmake_BareosCheckIncludes.cmake new file mode 100644 index 000000000000..fbf8074b380e --- /dev/null +++ b/sysutils/bareos22-server/files/patch-core-cmake_BareosCheckIncludes.cmake @@ -0,0 +1,12 @@ +--- core/cmake/BareosCheckIncludes.cmake 2023-03-24 08:05:20.000000000 -0500 ++++ core/cmake/BareosCheckIncludes.cmake 2023-04-05 16:17:56.933566000 -0500 +@@ -62,7 +62,9 @@ + + include(CheckSymbolExists) + ++if(gfapi) + check_include_files(glusterfs/api/glfs.h HAVE_GLUSTERFS_API_GLFS_H) ++endif() + + check_include_files(sys/prctl.h HAVE_SYS_PRCTL_H) + diff --git a/sysutils/bareos22-server/files/patch-core-cmake_BareosFindAllLibraries.cmake b/sysutils/bareos22-server/files/patch-core-cmake_BareosFindAllLibraries.cmake new file mode 100644 index 000000000000..40bcee0e6b50 --- /dev/null +++ b/sysutils/bareos22-server/files/patch-core-cmake_BareosFindAllLibraries.cmake @@ -0,0 +1,12 @@ +--- core/cmake/BareosFindAllLibraries.cmake 2023-03-24 08:05:20.000000000 -0500 ++++ core/cmake/BareosFindAllLibraries.cmake 2023-04-05 16:21:00.503424000 -0500 +@@ -177,7 +177,9 @@ + + bareosfindlibraryandheaders("pthread" "pthread.h" "") + bareosfindlibraryandheaders("cap" "sys/capability.h" "") ++if(gfapi) + bareosfindlibraryandheaders("gfapi" "glusterfs/api/glfs.h" "") ++endif() + + bareosfindlibraryandheaders("pam" "security/pam_appl.h" "") + diff --git a/sysutils/bareos22-server/files/patch-core-cmake_BareosInstallConfigFiles.cmake b/sysutils/bareos22-server/files/patch-core-cmake_BareosInstallConfigFiles.cmake new file mode 100644 index 000000000000..85e738c8e9f4 --- /dev/null +++ b/sysutils/bareos22-server/files/patch-core-cmake_BareosInstallConfigFiles.cmake @@ -0,0 +1,118 @@ +--- core/cmake/BareosInstallConfigFiles.cmake 2023-12-13 07:48:37.000000000 -0500 ++++ core/cmake/BareosInstallConfigFiles.cmake 2024-01-05 01:02:51.562611000 -0500 +@@ -27,27 +27,13 @@ + endif() + + get_filename_component(fname ${configfile} NAME) +- if(EXISTS ${DESTCONFDIR}${additionalconfigdir}/${fname}) +- message( +- STATUS "${DESTCONFDIR}${additionalconfigdir}/${fname} already exists" +- ) +- message( +- STATUS +- "Installing config: ${DESTCONFDIR}${additionalconfigdir}/${fname}.new" +- ) +- file(RENAME "${configfile}" "${configfile}.new") +- file(COPY "${configfile}.new" +- DESTINATION "${DESTCONFDIR}${additionalconfigdir}" +- ) +- file(RENAME "${configfile}.new" "${configfile}") +- else() +- message( +- STATUS "Installing config: ${DESTCONFDIR}${additionalconfigdir}/${fname}" +- ) +- file(COPY "${configfile}" +- DESTINATION "${DESTCONFDIR}${additionalconfigdir}" +- ) +- endif() ++ ++ message(STATUS "${DESTCONFDIR}${additionalconfigdir}/${fname} as ${DESTCONFDIR}${additionalconfigdir}/${fname}.sample (new installation)") ++ file(RENAME "${configfile}" "${configfile}.sample") ++ file( ++ COPY "${configfile}.sample" ++ DESTINATION "${DESTCONFDIR}${additionalconfigdir}" ++ ) + endfunction() + + macro(BareosInstallConfigFiles CONFDIR CONFIGBASEDIRECTORY PLUGINS BACKENDS +@@ -125,23 +111,12 @@ + get_filename_component(dir ${configfile} DIRECTORY) + get_filename_component(fname ${configfile} NAME) + +- if(EXISTS ${DESTCONFDIR}/${configfile}) +- message(STATUS "${configfile} as ${configfile}.new (keep existing)") +- file(RENAME "${BackendConfigSrcDir}/${configfile}" *** 3622 LINES SKIPPED ***