diff --git a/sysutils/bareos-server/Makefile b/sysutils/bareos-server/Makefile index 4a4172ee35c7..45395e0d5ab9 100644 --- a/sysutils/bareos-server/Makefile +++ b/sysutils/bareos-server/Makefile @@ -1,227 +1,227 @@ # $FreeBSD$ PORTNAME= bareos DISTVERSIONPREFIX= Release/ -DISTVERSION= 18.2.6 -PORTREVISION?= 1 +DISTVERSION= 18.2.7 +PORTREVISION?= 0 CATEGORIES?= sysutils PKGNAMEPREFIX?= # PKGNAMESUFFIX?= -server MAINTAINER= acm@FreeBSD.org COMMENT?= Backup archiving recovery open sourced (server) LICENSE= AGPLv3 LGPL3 LICENSE_COMB= multi CONFLICTS?= bacula17*-server-* bareos16-server-* LIB_DEPENDS+= liblzo2.so:archivers/lzo2 \ libjansson.so:devel/jansson USES+= cmake:insource compiler:c++11-lang pkgconfig readline:port \ shebangfix USE_GITHUB= yes USERS= bareos GROUPS= ${USERS} PLIST_SUB+= LIB_VERSION=${PORTVERSION} USE_LDCONFIG= yes SHEBANG_LANG= perl SHEBANG_FILES= ${WRKSRC}/core/src/cats/make_catalog_backup.pl.in CPPFLAGS+= -I${LOCALBASE}/readline -I${LOCALBASE}/include -LDFLAGS+= -L${LOCALBASE}/lib -ljansson +LDFLAGS+= -L${LOCALBASE}/lib 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} == "-server" OPTIONS_DEFINE= MTX PYTHON NDMP NLS SCSICRYPTO OPTIONS_DEFAULT+= PGSQL SCSICRYPTO OPTIONS_SINGLE_DATABASE= SQLITE3 MYSQL PGSQL OPTIONS_SINGLE+= DATABASE DATABASE_DESC= Database 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} == "-client" || ${PKGNAMESUFFIX} == "-server" #Till end of the file -PYTHON_USES= python:2.7 +PYTHON_USES= python PYTHON_CMAKE_ON= -Dpython=ON PYTHON_CMAKE_OFF= -Dpython=OFF PYTHON_PLUGIN= yes .if !defined(WITH_CLIENT_ONLY) LIB_DEPENDS+= libbareos.so:sysutils/bareos-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) LMDB_CMAKE_ON= -Dlmdb=ON LMDB_CMAKE_OFF= -Dlmdb=OFF LMDB_CFLAGS+= -DMDB_DSYNC=O_SYNC -DMDB_USE_POSIX_SEM=1 CMAKE_ARGS+= -Dfd-user=root \ -Dfd-group=wheel .else CMAKE_ARGS+= -Ddir-user=${BAREOS_USER} \ -Ddir-group=${BAREOS_GROUP} \ -Dsd-user=${BAREOS_USER} \ -Dsd-group=operator \ -Dlmdb=OFF .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 # 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 MYSQL_CMAKE_ON= -Dmysql=ON MYSQL_USES= mysql SQLITE3_CMAKE_ON= -Dsqlite3=ON SQLITE3_LIB_DEPENDS= libsqlite3.so:databases/sqlite3 PGSQL_CMAKE_ON= -Dpostgresql=ON PGSQL_USES= pgsql MTX_RUN_DEPENDS= ${LOCALBASE}/sbin/mtx:misc/mtx .include .if ${PORT_OPTIONS:MMYSQL} DBTYPE= mysql SUB_LIST+= REQ_MYSQL=mysql REQ_PGSQL="" .elif ${PORT_OPTIONS:MSQLITE3} DBTYPE= sqlite3 .else DBTYPE= postgresql SUB_LIST+= REQ_MYSQL="" REQ_PGSQL=postgresql .endif 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} '21d' ${WRKSRC}/CMakeLists.txt + @${REINPLACE_CMD} '42d' ${WRKSRC}/CMakeLists.txt .if ${PKGNAMESUFFIX} == "-server" @${REINPLACE_CMD} '25d' ${WRKSRC}/core/src/plugins/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' .if !target(post-install) post-install: .if defined(WITH_CLIENT_ONLY) ${MKDIR} ${STAGEDIR}${ETCDIR}/bconsole.d/ ${MV} ${STAGEDIR}${ETCDIR}/bconsole.conf ${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 ${MV} ${STAGEDIR}${ETCDIR}/bareos-regress.conf ${STAGEDIR}${ETCDIR}//bareos-regress.conf.sample .endif @${MKDIR} ${STAGEDIR}/var/run/bareos .endif .else .include "${MASTERDIR}/Makefile.common" .endif # -client and -server are defined .include diff --git a/sysutils/bareos-server/distinfo b/sysutils/bareos-server/distinfo index a276c7153dc6..4219f4cb1ce2 100644 --- a/sysutils/bareos-server/distinfo +++ b/sysutils/bareos-server/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1556169589 -SHA256 (bareos-bareos-Release-18.2.6_GH0.tar.gz) = 43ff0546d4d5486bc70db90ccb7fb1f6a3ac3f9b7293de010d2c300b548056d8 -SIZE (bareos-bareos-Release-18.2.6_GH0.tar.gz) = 9991951 +TIMESTAMP = 1576174612 +SHA256 (bareos-bareos-Release-18.2.7_GH0.tar.gz) = 08fea6e9505188a5e585f90448d6f30befeff2fafc2c494a68e2b571c7c6637f +SIZE (bareos-bareos-Release-18.2.7_GH0.tar.gz) = 10552298 diff --git a/sysutils/bareos-server/files/patch-core-CMakeLists.txt b/sysutils/bareos-server/files/patch-core-CMakeLists.txt index 0d938478efac..49b0a8a0b201 100644 --- a/sysutils/bareos-server/files/patch-core-CMakeLists.txt +++ b/sysutils/bareos-server/files/patch-core-CMakeLists.txt @@ -1,32 +1,32 @@ ---- core/CMakeLists.txt 2019-02-13 09:25:55.000000000 -0500 -+++ core/CMakeLists.txt 2019-05-10 14:14:16.122670000 -0500 -@@ -116,7 +116,9 @@ +--- core/CMakeLists.txt 2019-12-12 12:04:14.000000000 -0500 ++++ core/CMakeLists.txt 2019-12-28 16:17:19.843397000 -0500 +@@ -117,7 +117,9 @@ set(PSCMD "ps -ax -o pid,command") include_directories(/usr/local/include) link_directories(/usr/local/lib) - link_libraries(intl) + IF(nls) + link_libraries(intl) + ENDIF() endif() IF (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") -@@ -173,7 +175,9 @@ +@@ -176,7 +178,9 @@ add_definitions("-D_FILE_OFFSET_BITS=64") endif() -INCLUDE(FindIntl) +IF(nls) + INCLUDE(FindIntl) +ENDIF() IF(developer) add_definitions("-DDEVELOPER=1") -@@ -576,7 +580,6 @@ +@@ -586,7 +590,6 @@ add_subdirectory(scripts) add_subdirectory(manpages) -add_subdirectory(platforms) add_subdirectory(src) STRING(TIMESTAMP NOW "%Y-%m-%d %H:%M:%S") diff --git a/sysutils/bareos-server/files/patch-core-cmake_BareosFindAllLibraries.cmake b/sysutils/bareos-server/files/patch-core-cmake_BareosFindAllLibraries.cmake index 8ad6bb9c6882..d705f0c8f618 100644 --- a/sysutils/bareos-server/files/patch-core-cmake_BareosFindAllLibraries.cmake +++ b/sysutils/bareos-server/files/patch-core-cmake_BareosFindAllLibraries.cmake @@ -1,24 +1,24 @@ --- core/cmake/BareosFindAllLibraries.cmake 2019-05-10 00:27:21.421777000 -0500 +++ core/cmake/BareosFindAllLibraries.cmake 2019-05-10 00:28:47.016424000 -0500 @@ -25,13 +25,15 @@ if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "Windows") - # make sure we get python 2 not 3 - set(Python_ADDITIONAL_VERSIONS 2.5 2.6 2.7 2.8 2.9) - find_package(PythonInterp) - INCLUDE(FindPythonLibs) + if (python) -+ # make sure we get python 2 not 3 -+ set(Python_ADDITIONAL_VERSIONS 2.5 2.6 2.7 2.8 2.9) ++ # make sure we get python 2 or 3 ++ set(Python_ADDITIONAL_VERSIONS 3.5 3.6 3.7 3.8 2.7) + find_package(PythonInterp) + INCLUDE(FindPythonLibs) - if (${PYTHONLIBS_FOUND}) - SET(HAVE_PYTHON 1) + if (${PYTHONLIBS_FOUND}) + SET(HAVE_PYTHON 1) + endif() endif() INCLUDE(FindPostgreSQL) diff --git a/sysutils/bareos-server/files/patch-core-scripts_CMakeLists.txt b/sysutils/bareos-server/files/patch-core-scripts_CMakeLists.txt index 2c8b87d9b309..44c774124482 100644 --- a/sysutils/bareos-server/files/patch-core-scripts_CMakeLists.txt +++ b/sysutils/bareos-server/files/patch-core-scripts_CMakeLists.txt @@ -1,60 +1,75 @@ ---- core/scripts/CMakeLists.txt 2019-05-08 19:49:45.595270000 -0500 -+++ core/scripts/CMakeLists.txt 2019-05-08 19:51:39.443730000 -0500 -@@ -17,28 +17,29 @@ +--- core/scripts/CMakeLists.txt 2019-12-12 12:04:14.000000000 -0500 ++++ core/scripts/CMakeLists.txt 2019-12-28 16:23:36.207715000 -0500 +@@ -17,36 +17,37 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301, USA. +IF(client-only) + INSTALL(FILES -+ btraceback ++ bareos btraceback + PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE + GROUP_READ GROUP_EXECUTE + WORLD_READ WORLD_EXECUTE + DESTINATION "${sbindir}") -INSTALL(FILES - bareos btraceback - PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE - GROUP_READ GROUP_EXECUTE - WORLD_READ WORLD_EXECUTE - DESTINATION "${sbindir}") + INSTALL(FILES ++ bareos-ctl-fd ++ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE ++ GROUP_READ GROUP_EXECUTE ++ WORLD_READ WORLD_EXECUTE ++ DESTINATION "${scriptdir}" ++ COMPONENT filedaemon) + +-INSTALL(FILES +- bareos-ctl-fd +- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE +- GROUP_READ GROUP_EXECUTE +- WORLD_READ WORLD_EXECUTE +- DESTINATION "${scriptdir}" +- COMPONENT filedaemon) ++ INSTALL(FILES + bareos + btraceback.gdb + btraceback.dbx + btraceback.mdb + bareos-config + bareos-config-lib.sh -+ bareos-ctl-fd + bareos-ctl-funcs + PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE + GROUP_READ GROUP_EXECUTE + WORLD_READ WORLD_EXECUTE -+ DESTINATION "${scriptdir}") ++ DESTINATION "${scriptdir}" ++ ) +ENDIF() -INSTALL(FILES - bareos - btraceback.gdb - btraceback.dbx - btraceback.mdb - bareos-config - bareos-config-lib.sh -- bareos-ctl-fd - bareos-ctl-funcs - PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE - GROUP_READ GROUP_EXECUTE - WORLD_READ WORLD_EXECUTE -- DESTINATION "${scriptdir}") +- DESTINATION "${scriptdir}" +- ) - IF(NOT client-only) INSTALL(FILES mtx-changer -@@ -47,7 +48,6 @@ +@@ -55,7 +56,6 @@ bareos-glusterfind-wrapper bareos-ctl-dir bareos-ctl-sd - bareos-ctl-funcs PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE diff --git a/sysutils/bareos-server/files/patch-core-src-plugins-dird_python-dir.cc b/sysutils/bareos-server/files/patch-core-src-plugins-dird_python-dir.cc new file mode 100644 index 000000000000..f63db632d130 --- /dev/null +++ b/sysutils/bareos-server/files/patch-core-src-plugins-dird_python-dir.cc @@ -0,0 +1,61 @@ +--- core/src/plugins/dird/python-dir.cc 2019-12-12 12:04:14.000000000 -0500 ++++ core/src/plugins/dird/python-dir.cc 2019-12-29 00:20:30.334502000 -0500 +@@ -35,6 +35,13 @@ + #error "Need at least Python version 2.6 or newer" + #endif + ++#if (PY_VERSION_HEX > 0x03050000) ++#define PyInt_AsLong PyLong_AsLong ++#define PyInt_FromLong PyLong_FromLong ++#define PyString_AsString PyUnicode_AsUTF8 ++#define PyString_FromString PyUnicode_FromString ++#endif ++ + #include "python-dir.h" + #include "lib/edit.h" + +@@ -118,6 +125,20 @@ + */ + static PyThreadState *mainThreadState; + ++#if (PY_VERSION_HEX > 0x03050000) ++static struct PyModuleDef BareosDIRModuleDef = { ++ PyModuleDef_HEAD_INIT, ++ "bareosdir", ++ NULL, ++ -1, ++ BareosDIRMethods, ++ NULL, ++ NULL, ++ NULL, ++ NULL ++}; ++#endif ++ + #ifdef __cplusplus + extern "C" { + #endif +@@ -679,7 +700,11 @@ + /* + * Make our callback methods available for Python. + */ ++#if (PY_VERSION_HEX > 0x03050000) ++ p_ctx->pInstance = PyModule_Create(&BareosDIRModuleDef); ++#else + p_ctx->pInstance = Py_InitModule("bareosdir", BareosDIRMethods); ++#endif + } + + /* +@@ -959,7 +984,11 @@ + char *value; + + ctx = PyGetbpContext(pyCtx); ++#if (PY_VERSION_HEX > 0x03050000) ++ value = bstrdup(PyString_AsString(pyValue)); ++#else + value = PyString_AsString(pyValue); ++#endif + if (value) { + retval = bfuncs->setBareosValue(ctx, (bwDirVariable)var, value); + } diff --git a/sysutils/bareos-server/files/patch-core-src-plugins-filed_CMakeLists.txt b/sysutils/bareos-server/files/patch-core-src-plugins-filed_CMakeLists.txt index 455f2fd3cdc4..5c59efaffb08 100644 --- a/sysutils/bareos-server/files/patch-core-src-plugins-filed_CMakeLists.txt +++ b/sysutils/bareos-server/files/patch-core-src-plugins-filed_CMakeLists.txt @@ -1,35 +1,35 @@ ---- core/src/plugins/filed/CMakeLists.txt 2019-05-10 13:49:40.521620000 -0500 -+++ core/src/plugins/filed/CMakeLists.txt 2019-05-10 13:50:25.954964000 -0500 -@@ -99,18 +99,18 @@ - INSTALL(TARGETS test-plugin-fd DESTINATION ${plugindir}) +--- core/src/plugins/filed/CMakeLists.txt 2019-12-12 12:04:14.000000000 -0500 ++++ core/src/plugins/filed/CMakeLists.txt 2019-12-28 16:26:47.855833000 -0500 +@@ -100,18 +100,18 @@ + INSTALL(TARGETS test-plugin-fd DESTINATION ${plugindir} COMPONENT filedaemon) endif() -set (PYFILES - bareos-fd.py.template - bareos-fd-local-fileset.py - bareos-fd-mock-test.py - BareosFdPluginBaseclass.py - BareosFdPluginLocalFileset.py - BareosFdWrapper.py - bareos_fd_consts.py - bareos-fd-ldap.py - BareosFdPluginLDAP.py - ) +if (python) -+ set (PYFILES -+ bareos-fd.py.template -+ bareos-fd-local-fileset.py -+ bareos-fd-mock-test.py -+ BareosFdPluginBaseclass.py -+ BareosFdPluginLocalFileset.py -+ BareosFdWrapper.py -+ bareos_fd_consts.py -+ bareos-fd-ldap.py -+ BareosFdPluginLDAP.py -+ ) ++ set (PYFILES ++ bareos-fd.py.template ++ bareos-fd-local-fileset.py ++ bareos-fd-mock-test.py ++ BareosFdPluginBaseclass.py ++ BareosFdPluginLocalFileset.py ++ BareosFdWrapper.py ++ bareos_fd_consts.py ++ bareos-fd-ldap.py ++ BareosFdPluginLDAP.py ++ ) --INSTALL(FILES ${PYFILES} DESTINATION ${plugindir}) +-INSTALL(FILES ${PYFILES} DESTINATION ${plugindir} COMPONENT filedaemon) - - -+ INSTALL(FILES ${PYFILES} DESTINATION ${plugindir}) ++ INSTALL(FILES ${PYFILES} DESTINATION ${plugindir} COMPONENT filedaemon) +endif() diff --git a/sysutils/bareos-server/files/patch-core-src-plugins-filed_python-fd.cc b/sysutils/bareos-server/files/patch-core-src-plugins-filed_python-fd.cc new file mode 100644 index 000000000000..3e48800f4da6 --- /dev/null +++ b/sysutils/bareos-server/files/patch-core-src-plugins-filed_python-fd.cc @@ -0,0 +1,111 @@ +--- core/src/plugins/filed/python-fd.cc 2019-12-12 12:04:14.000000000 -0500 ++++ core/src/plugins/filed/python-fd.cc 2019-12-29 00:41:38.985785000 -0500 +@@ -40,6 +40,14 @@ + #error "Need at least Python version 2.6 or newer" + #endif + ++#if (PY_VERSION_HEX > 0x03050000) ++#define PyInt_AsLong PyLong_AsLong ++#define PyInt_FromLong PyLong_FromLong ++#define PyString_AsString PyUnicode_AsUTF8 ++#define PyString_FromString PyUnicode_FromString ++#define PyString_Check PyBytes_Check ++#endif ++ + static const int debuglevel = 150; + + #define PLUGIN_LICENSE "Bareos AGPLv3" +@@ -163,6 +171,20 @@ + */ + static PyThreadState *mainThreadState; + ++#if (PY_VERSION_HEX > 0x03050000) ++static struct PyModuleDef BareosFDModuleDef = { ++ PyModuleDef_HEAD_INIT, ++ "bareosfd", ++ NULL, ++ -1, ++ BareosFDMethods, ++ NULL, ++ NULL, ++ NULL, ++ NULL ++}; ++#endif ++ + #ifdef __cplusplus + extern "C" { + #endif +@@ -1226,7 +1248,11 @@ + /* + * Make our callback methods available for Python. + */ ++#if (PY_VERSION_HEX > 0x03050000) ++ p_ctx->pInstance = PyModule_Create(&BareosFDModuleDef); ++#else + p_ctx->pInstance = Py_InitModule("bareosfd", BareosFDMethods); ++#endif + + /* + * Fill in the slots of PyRestoreObject +@@ -2704,7 +2730,11 @@ + case bVarFileSeen: { + char *value; + ++#if (PY_VERSION_HEX > 0x03050000) ++ value = bstrdup(PyString_AsString(pyValue)); ++#else + value = PyString_AsString(pyValue); ++#endif + if (value) { + retval = bfuncs->setBareosValue(ctx, (bVariable)var, value); + } +@@ -3091,7 +3121,11 @@ + sp.type = pSavePkt->type; + if (pSavePkt->fname) { + if (PyString_Check(pSavePkt->fname)) { ++#if (PY_VERSION_HEX > 0x03050000) ++ sp.fname = bstrdup(PyString_AsString(pSavePkt->fname)); ++#else + sp.fname = PyString_AsString(pSavePkt->fname); ++#endif + } else { + goto bail_out; + } +@@ -3100,7 +3134,11 @@ + } + if (pSavePkt->link) { + if (PyString_Check(pSavePkt->link)) { ++#if (PY_VERSION_HEX > 0x03050000) ++ sp.link = bstrdup(PyString_AsString(pSavePkt->link)); ++#else + sp.link = PyString_AsString(pSavePkt->link); ++#endif + } else { + goto bail_out; + } +@@ -3143,7 +3181,11 @@ + */ + if (pSavePkt->fname) { + if (PyString_Check(pSavePkt->fname)) { ++#if (PY_VERSION_HEX > 0x03050000) ++ sp.fname = bstrdup(PyString_AsString(pSavePkt->fname)); ++#else + sp.fname = PyString_AsString(pSavePkt->fname); ++#endif + } else { + goto bail_out; + } +@@ -3219,8 +3261,11 @@ + if (!object || !PyString_Check(object)) { + return (char *)""; + } +- ++#if (PY_VERSION_HEX > 0x03050000) ++ return bstrdup(PyString_AsString(object)); ++#else + return PyString_AsString(object); ++#endif + } + + static inline char *PyGetByteArrayValue(PyObject *object) diff --git a/sysutils/bareos-server/files/patch-core-src-plugins-stored_python-sd.cc b/sysutils/bareos-server/files/patch-core-src-plugins-stored_python-sd.cc new file mode 100644 index 000000000000..fb84a03d80ef --- /dev/null +++ b/sysutils/bareos-server/files/patch-core-src-plugins-stored_python-sd.cc @@ -0,0 +1,61 @@ +--- core/src/plugins/stored/python-sd.cc 2019-12-12 12:04:14.000000000 -0500 ++++ core/src/plugins/stored/python-sd.cc 2019-12-29 00:19:19.366390000 -0500 +@@ -36,6 +36,13 @@ + #error "Need at least Python version 2.6 or newer" + #endif + ++#if (PY_VERSION_HEX > 0x03050000) ++#define PyInt_AsLong PyLong_AsLong ++#define PyInt_FromLong PyLong_FromLong ++#define PyString_AsString PyUnicode_AsUTF8 ++#define PyString_FromString PyUnicode_FromString ++#endif ++ + static const int debuglevel = 150; + + #define PLUGIN_LICENSE "Bareos AGPLv3" +@@ -121,6 +128,20 @@ + extern "C" { + #endif + ++#if (PY_VERSION_HEX > 0x03050000) ++static struct PyModuleDef BareosSDModuleDef = { ++ PyModuleDef_HEAD_INIT, ++ "bareossd", ++ NULL, ++ -1, ++ BareosSDMethods, ++ NULL, ++ NULL, ++ NULL, ++ NULL ++}; ++#endif ++ + /** + * loadPlugin() and unloadPlugin() are entry points that are + * exported, so Bareos can directly call these two entry points +@@ -698,7 +719,11 @@ + /* + * Make our callback methods available for Python. + */ ++#if (PY_VERSION_HEX > 0x03050000) ++ p_ctx->pInstance = PyModule_Create(&BareosSDModuleDef); ++#else + p_ctx->pInstance = Py_InitModule("bareossd", BareosSDMethods); ++#endif + } + + /* +@@ -979,7 +1004,11 @@ + char *value; + + ctx = PyGetbpContext(pyCtx); ++#if (PY_VERSION_HEX > 0x03050000) ++ value = bstrdup(PyString_AsString(pyValue)); ++#else + value = PyString_AsString(pyValue); ++#endif + if (value) { + bfuncs->setBareosValue(ctx, (bsdwVariable)var, value); + } diff --git a/sysutils/bareos-server/files/patch-core-src-stored_CMakeLists.txt b/sysutils/bareos-server/files/patch-core-src-stored_CMakeLists.txt index 0e21b3a7a44c..c803b485d4c4 100644 --- a/sysutils/bareos-server/files/patch-core-src-stored_CMakeLists.txt +++ b/sysutils/bareos-server/files/patch-core-src-stored_CMakeLists.txt @@ -1,44 +1,47 @@ ---- core/src/stored/CMakeLists.txt 2019-02-13 09:25:55.000000000 -0500 -+++ core/src/stored/CMakeLists.txt 2019-05-10 14:55:03.636098000 -0500 -@@ -192,6 +192,8 @@ +--- core/src/stored/CMakeLists.txt 2019-12-12 12:04:14.000000000 -0500 ++++ core/src/stored/CMakeLists.txt 2019-12-28 17:19:55.461762000 -0500 +@@ -193,6 +193,8 @@ target_link_libraries(bareos-sd stored_objects ${BAREOS_SD_LIBRARIES} + ${JANSSON_LIBRARIES} + ${PTHREAD_LIBRARIES} ) add_executable(bls ${BLSSRCS}) -@@ -202,6 +204,7 @@ +@@ -203,6 +205,8 @@ add_executable(bextract ${BEXTRACTSRS}) target_link_libraries(bextract bareossd bareosfind bareos ++ ${JANSSON_LIBRARIES} + ${PTHREAD_LIBRARIES} ) add_executable(bscan ${BSCANSRCS}) -@@ -212,6 +215,7 @@ +@@ -213,6 +217,8 @@ add_executable(btape ${BTAPESRCS}) target_link_libraries(btape bareossd bareos ++ ${JANSSON_LIBRARIES} + ${PTHREAD_LIBRARIES} ) add_executable(bcopy ${BCOPYSRCS}) -@@ -219,6 +223,7 @@ +@@ -220,6 +226,8 @@ target_link_libraries(bcopy bareossd bareos ++ ${JANSSON_LIBRARIES} + ${PTHREAD_LIBRARIES} ) INSTALL(TARGETS bareossd DESTINATION ${libdir}) -@@ -231,7 +236,7 @@ +@@ -232,7 +240,7 @@ install(CODE "set(SRC_DIR \"${PROJECT_SOURCE_DIR}\")") install(SCRIPT ${PROJECT_SOURCE_DIR}/cmake/install-stored-configfiles.cmake) -INSTALL(DIRECTORY DESTINATION "../${archivedir}") +INSTALL(DIRECTORY DESTINATION "${archivedir}") IF(${HAVE_DYNAMIC_SD_BACKENDS}) add_subdirectory(backends) diff --git a/sysutils/bareos-server/pkg-plist.client b/sysutils/bareos-server/pkg-plist.client index 101eb52e8b67..0dc6ba80453c 100644 --- a/sysutils/bareos-server/pkg-plist.client +++ b/sysutils/bareos-server/pkg-plist.client @@ -1,54 +1,56 @@ bin/bconsole @sample %%ETCDIR%%/bareos-fd.d/client/myself.conf.sample @group bareos @sample %%ETCDIR%%/bareos-fd.d/director/bareos-dir.conf.sample @group bareos @sample %%ETCDIR%%/bareos-fd.d/director/bareos-mon.conf.sample @group bareos @sample %%ETCDIR%%/bareos-fd.d/messages/Standard.conf.sample @group bareos @sample %%ETCDIR%%/bconsole.d/bconsole.conf.sample @group bareos lib/libbareos.so lib/libbareos.so.18 lib/libbareos.so.%%LIB_VERSION%% lib/libbareosfind.so lib/libbareosfind.so.18 lib/libbareosfind.so.%%LIB_VERSION%% %%LMDB%%lib/libbareoslmdb.so %%LMDB%%lib/libbareoslmdb.so.18 %%LMDB%%lib/libbareoslmdb.so.%%LIB_VERSION%% %%PYTHON%%lib/bareos/plugins/BareosFdPluginBaseclass.py %%PYTHON%%lib/bareos/plugins/BareosFdPluginLDAP.py %%PYTHON%%lib/bareos/plugins/BareosFdPluginLocalFileset.py %%PYTHON%%lib/bareos/plugins/BareosFdWrapper.py %%PYTHON%%lib/bareos/plugins/bareos-fd-ldap.py %%PYTHON%%lib/bareos/plugins/bareos-fd-local-fileset.py %%PYTHON%%lib/bareos/plugins/bareos-fd-mock-test.py %%PYTHON%%lib/bareos/plugins/bareos-fd.py.template %%PYTHON%%lib/bareos/plugins/bareos_fd_consts.py lib/bareos/plugins/bpipe-fd.so %%PYTHON%%lib/bareos/plugins/python-fd.so lib/bareos/scripts/bareos lib/bareos/scripts/bareos-config lib/bareos/scripts/bareos-config-lib.sh lib/bareos/scripts/bareos-ctl-fd lib/bareos/scripts/bareos-ctl-funcs lib/bareos/scripts/btraceback.dbx lib/bareos/scripts/btraceback.gdb lib/bareos/scripts/btraceback.mdb man/man1/bconsole.1.gz man/man8/bareos-fd.8.gz man/man8/bareos.8.gz @group bareos +sbin/bareos +@group bareos sbin/bareos-fd @group bareos sbin/bconsole @group wheel sbin/btraceback @group bareos %%PYTHON%%@dir(,bareos,750) %%ETCDIR%%/python-ldap-conf.d/bareos-dir.d/fileset %%PYTHON%%@dir(,bareos,750) %%ETCDIR%%/python-ldap-conf.d/bareos-dir.d/job @dir(bareos,bareos,) %%BAREOS_DIR%% @dir(bareos,bareos,) /var/log/bareos @dir(bareos,bareos,) /var/run/bareos diff --git a/sysutils/bareos-traymonitor/Makefile b/sysutils/bareos-traymonitor/Makefile index 911e571f0ac3..dea5dc3b94e1 100644 --- a/sysutils/bareos-traymonitor/Makefile +++ b/sysutils/bareos-traymonitor/Makefile @@ -1,28 +1,27 @@ # $FreeBSD$ PORTNAME= bareos -PORTREVISION= 1 PKGNAMESUFFIX= -traymonitor COMMENT= Backup archiving recovery open sourced (traymonitor) LIB_DEPENDS+= libqwt5-qt5.so:x11-toolkits/qwt5-qt5 \ libbareos.so:sysutils/bareos-client CONFLICTS= bacula*-bat-* bareos16-traymonitor-* USES= pkgconfig gettext-runtime desktop-file-utils qt:5 USE_QT= buildtools_build qmake_build uitools_build gui core WITH_BAT= yes PLIST= ${.CURDIR}/pkg-plist CFLAGS+= -DMDB_DSYNC=O_SYNC -DMDB_USE_POSIX_SEM=1 MASTERDIR= ${.CURDIR}/../../sysutils/bareos-server CMAKE_ARGS+= -Dtraymonitor=yes \ -Dbuild-dird=no \ -Dbuild-stored=no \ -Dclient-only=yes .include "${MASTERDIR}/Makefile"