git: 9df94c4d9d1c - main - sysutils/bacula1[1,3,5]-[client,server]: build without sbrk
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 04 Jun 2024 01:07:43 UTC
The branch main has been updated by dvl:
URL: https://cgit.FreeBSD.org/ports/commit/?id=9df94c4d9d1c50f758e9be67e51060a14527e2cc
commit 9df94c4d9d1c50f758e9be67e51060a14527e2cc
Author: Dan Langille <dvl@FreeBSD.org>
AuthorDate: 2024-06-04 01:03:04 +0000
Commit: Dan Langille <dvl@FreeBSD.org>
CommitDate: 2024-06-04 01:07:39 +0000
sysutils/bacula1[1,3,5]-[client,server]: build without sbrk
This enables build on aarch64 and riscv64
Differential Revision: https://reviews.freebsd.org/D42979
---
sysutils/bacula11-client/Makefile | 3 -
sysutils/bacula11-server/Makefile | 2 +-
.../bacula11-server/files/patch-src_lib_bsys.c | 29 +++
sysutils/bacula13-client/Makefile | 3 -
sysutils/bacula13-server/Makefile | 2 +-
.../bacula13-server/files/patch-src_lib_bsys.c | 29 +++
sysutils/bacula15-client/Makefile | 3 -
sysutils/bacula15-server/Makefile | 2 +-
sysutils/bacula15-server/Makefile.old | 207 +++++++++++++++++++++
.../bacula15-server/files/patch-src_lib_bsys.c | 29 +++
10 files changed, 297 insertions(+), 12 deletions(-)
diff --git a/sysutils/bacula11-client/Makefile b/sysutils/bacula11-client/Makefile
index db2c57bb741d..97462c95486c 100644
--- a/sysutils/bacula11-client/Makefile
+++ b/sysutils/bacula11-client/Makefile
@@ -3,9 +3,6 @@ PKGNAMESUFFIX= 11-client
COMMENT= Network backup solution (client)
-BROKEN_aarch64= Fails to link: missing sbrk
-BROKEN_riscv64= Fails to link: missing sbrk
-
WITH_CLIENT_ONLY=yes
USE_RC_SUBR= bacula-fd
diff --git a/sysutils/bacula11-server/Makefile b/sysutils/bacula11-server/Makefile
index 1e691d80c2dc..39eb9172f0d7 100644
--- a/sysutils/bacula11-server/Makefile
+++ b/sysutils/bacula11-server/Makefile
@@ -1,6 +1,6 @@
PORTNAME= bacula
PORTVERSION= 11.0.6
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES?= sysutils
MASTER_SITES= SF/bacula/bacula/${PORTVERSION}
PKGNAMEPREFIX?= #
diff --git a/sysutils/bacula11-server/files/patch-src_lib_bsys.c b/sysutils/bacula11-server/files/patch-src_lib_bsys.c
new file mode 100644
index 000000000000..15638f0e8617
--- /dev/null
+++ b/sysutils/bacula11-server/files/patch-src_lib_bsys.c
@@ -0,0 +1,29 @@
+--- src/lib/bsys.c.orig
++++ src/lib/bsys.c
+@@ -1270,7 +1270,7 @@
+ /*
+ * Determine the amount of heap used
+ * macOS - sbrk(0) is deprecated, use malloc info
+- * Windows - not implemented
++ * Windows - not implemented and FreeBSD
+ * others - use sbrk(0)
+ */
+
+@@ -1279,7 +1279,7 @@
+
+ void mark_heap()
+ {
+-#if defined(HAVE_WIN32)
++#if defined(HAVE_WIN32) || defined(__FreeBSD__)
+ start_heap = 0;
+ #elif defined(HAVE_DARWIN_OS)
+ struct mstats ms = mstats();
+@@ -1296,6 +1296,8 @@
+ #elif defined(HAVE_DARWIN_OS)
+ struct mstats ms = mstats();
+ return (int64_t) ms.bytes_used - start_heap;
++#elif defined(__FreeBSD__)
++ return 0;
+ #else
+ return (int64_t) sbrk(0) - start_heap;
+ #endif
diff --git a/sysutils/bacula13-client/Makefile b/sysutils/bacula13-client/Makefile
index 82178c81163b..7d0dcbfc28f3 100644
--- a/sysutils/bacula13-client/Makefile
+++ b/sysutils/bacula13-client/Makefile
@@ -3,9 +3,6 @@ PKGNAMESUFFIX= 13-client
COMMENT= Network backup solution (client)
-BROKEN_aarch64= Fails to link: missing sbrk
-BROKEN_riscv64= Fails to link: missing sbrk
-
WITH_CLIENT_ONLY=yes
USE_RC_SUBR= bacula-fd
diff --git a/sysutils/bacula13-server/Makefile b/sysutils/bacula13-server/Makefile
index b6c42dbef5b6..8d9021c02eee 100644
--- a/sysutils/bacula13-server/Makefile
+++ b/sysutils/bacula13-server/Makefile
@@ -1,6 +1,6 @@
PORTNAME= bacula
DISTVERSION= 13.0.4
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES?= sysutils
MASTER_SITES= SF/bacula/bacula/${PORTVERSION}
PKGNAMEPREFIX?= #
diff --git a/sysutils/bacula13-server/files/patch-src_lib_bsys.c b/sysutils/bacula13-server/files/patch-src_lib_bsys.c
new file mode 100644
index 000000000000..15638f0e8617
--- /dev/null
+++ b/sysutils/bacula13-server/files/patch-src_lib_bsys.c
@@ -0,0 +1,29 @@
+--- src/lib/bsys.c.orig
++++ src/lib/bsys.c
+@@ -1270,7 +1270,7 @@
+ /*
+ * Determine the amount of heap used
+ * macOS - sbrk(0) is deprecated, use malloc info
+- * Windows - not implemented
++ * Windows - not implemented and FreeBSD
+ * others - use sbrk(0)
+ */
+
+@@ -1279,7 +1279,7 @@
+
+ void mark_heap()
+ {
+-#if defined(HAVE_WIN32)
++#if defined(HAVE_WIN32) || defined(__FreeBSD__)
+ start_heap = 0;
+ #elif defined(HAVE_DARWIN_OS)
+ struct mstats ms = mstats();
+@@ -1296,6 +1296,8 @@
+ #elif defined(HAVE_DARWIN_OS)
+ struct mstats ms = mstats();
+ return (int64_t) ms.bytes_used - start_heap;
++#elif defined(__FreeBSD__)
++ return 0;
+ #else
+ return (int64_t) sbrk(0) - start_heap;
+ #endif
diff --git a/sysutils/bacula15-client/Makefile b/sysutils/bacula15-client/Makefile
index 8805264752b5..96d818343a83 100644
--- a/sysutils/bacula15-client/Makefile
+++ b/sysutils/bacula15-client/Makefile
@@ -3,9 +3,6 @@ PKGNAMESUFFIX= 15-client
COMMENT= Network backup solution (client)
-BROKEN_aarch64= Fails to link: missing sbrk
-BROKEN_riscv64= Fails to link: missing sbrk
-
WITH_CLIENT_ONLY=yes
USE_RC_SUBR= bacula-fd
diff --git a/sysutils/bacula15-server/Makefile b/sysutils/bacula15-server/Makefile
index a9d84c4720a0..33848b9db168 100644
--- a/sysutils/bacula15-server/Makefile
+++ b/sysutils/bacula15-server/Makefile
@@ -1,6 +1,6 @@
PORTNAME= bacula
DISTVERSION= 15.0.2
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES?= sysutils
MASTER_SITES= SF/bacula/bacula/${DISTVERSION}
PKGNAMEPREFIX?= #
diff --git a/sysutils/bacula15-server/Makefile.old b/sysutils/bacula15-server/Makefile.old
new file mode 100644
index 000000000000..a9d84c4720a0
--- /dev/null
+++ b/sysutils/bacula15-server/Makefile.old
@@ -0,0 +1,207 @@
+PORTNAME= bacula
+DISTVERSION= 15.0.2
+PORTREVISION= 2
+CATEGORIES?= sysutils
+MASTER_SITES= SF/bacula/bacula/${DISTVERSION}
+PKGNAMEPREFIX?= #
+PKGNAMESUFFIX?= 15-server
+
+MAINTAINER= dvl@FreeBSD.org
+COMMENT?= Network backup solution (server)
+WWW= https://www.bacula.org/
+
+LICENSE= AGPLv3
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES+= cpe libtool localbase python:env readline shebangfix ssl
+
+SHEBANG_FILES= scripts/get_malware_abuse.ch scripts/key-manager.py.in \
+ scripts/md5tobase64.py src/cats/make_catalog_backup.pl.in
+#scripts/baculabackupreport.in
+
+CONFLICTS?= bacula13-server bacula11-server bacula9-server
+
+LIB_DEPENDS+= liblzo2.so:archivers/lzo2
+
+USERS= bacula
+GROUPS= ${USERS}
+
+LIB_VERSION= ${DISTVERSION}
+
+PLIST_SUB+= LIB_VERSION=${LIB_VERSION}
+
+GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
+USE_LDCONFIG= yes
+
+OPTIONS_DEFINE?= IPV6 MTX NLS S3
+MTX_DESC= Install mtx for control of autochanger devices
+S3_DESC= Install S3 plugin
+
+.if ${PKGNAMESUFFIX} == "15-server"
+OPTIONS_MULTI= BACKEND
+OPTIONS_MULTI_BACKEND= MYSQL PGSQL SQLITE3
+OPTIONS_DEFAULT+= PGSQL
+.endif
+
+OPTIONS_SUB= yes
+
+.if ${PKGNAMESUFFIX} == "15-client" || ${PKGNAMESUFFIX} == "15-server" #Till end of the file
+
+.if !defined(WITH_CLIENT_ONLY)
+LIB_DEPENDS+= libbac-${LIB_VERSION}.so:sysutils/bacula15-client
+USE_RC_SUBR?= bacula-dir bacula-sd
+.endif
+
+.if defined(WITH_CLIENT_ONLY)
+SUB_FILES+= pkg-deinstall.client pkg-install.client pkg-message.client
+.else
+SUB_FILES+= pkg-message.server
+.endif
+
+CONFIGURE_ARGS+= --disable-conio \
+ --enable-batch-insert \
+ --enable-smartalloc \
+ --sysconfdir=${ETCDIR} \
+ --with-baseport=9101 \
+ --with-db-name=bacula \
+ --with-db-user=bacula \
+ --with-dump-email=root@localhost \
+ --with-job-email=root@localhost \
+ --with-logdir=/var/log \
+ --with-plugindir=${PREFIX}/lib \
+ --with-readline=${LOCALBASE} \
+ --with-sbin-perm=755 \
+ --with-scriptdir=${PREFIX}/share/${PORTNAME} \
+ --with-tcp-wrappers=/usr/lib \
+ --with-working-dir=${BACULA_DIR}
+
+.if defined(WITH_CLIENT_ONLY)
+CONFIGURE_ARGS+= --with-fd-group=wheel \
+ --with-fd-user=root
+.else
+CONFIGURE_ARGS+= --with-dir-group=${BACULA_GROUP} \
+ --with-dir-user=${BACULA_USER} \
+ --with-sd-group=operator \
+ --with-sd-user=${BACULA_USER}
+.endif
+
+# The user/group IDs below are registered, see
+# http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/book.html#users-and-groups
+#
+BACULA_USER?= bacula
+BACULA_GROUP?= ${BACULA_USER}
+BACULA_UID?= bacula
+BACULA_GID?= ${BACULA_UID}
+BACULA_DIR?= /var/db/bacula
+
+PLIST_SUB+= BACULA_DIR=${BACULA_DIR}
+
+SUB_LIST+= BACULA_DIR=${BACULA_DIR} \
+ BACULA_GID=${BACULA_GID} \
+ BACULA_GROUP=${BACULA_GROUP} \
+ BACULA_UID=${BACULA_UID} \
+ BACULA_USER=${BACULA_USER}
+
+NLS_USES= gettext
+NLS_CONFIGURE_ENABLE= nls
+
+# Client only or full server version
+.if defined(WITH_CLIENT_ONLY)
+CONFFILES= fd
+CONFIGURE_ARGS+= --enable-client-only
+
+PKGDEINSTALL= ${FILESDIR}/pkg-deinstall.client
+PKGINSTALL= ${FILESDIR}/pkg-install.client
+.else
+# Server only Options
+CONFFILES= sd dir
+# Server default database
+
+MYSQL_CONFIGURE_ON= --with-mysql=yes
+MYSQL_USES= mysql
+MYSQL_SUB_LIST= REQ_MYSQL=mysql
+MYSQL_SUB_LIST_OFF= REQ_MYSQL=""
+SQLITE3_CONFIGURE_ON= --with-sqlite3=yes
+SQLITE3_USES= sqlite:3
+PGSQL_CONFIGURE_ON= --with-postgresql=yes
+PGSQL_USES= pgsql
+PGSQL_SUB_LIST= REQ_PGSQL=postgresql
+PGSQL_SUB_LIST_OFF= REQ_PGSQL=""
+
+MTX_RUN_DEPENDS= ${LOCALBASE}/sbin/mtx:misc/mtx
+
+.endif
+
+S3_CONFIGURE_ARGS= --enable-s3
+S3_LIB_DEPENDS= libs3.so:sysutils/bacula-libs3
+
+.include <bsd.port.pre.mk>
+
+.if defined(WITH_CLIENT_ONLY)
+MP8+= bacula.8 bacula-fd.8 bconsole.8
+.else
+MP8+= bacula-dir.8 bacula-sd.8 bcopy.8 bextract.8 bls.8 bscan.8 \
+ btape.8 btraceback.8 dbcheck.8 bwild.8 bregex.8
+MP1+= bsmtp.1 bacula-tray-monitor.1
+.endif
+
+MAKE_ENV+= MAN1="${MP1}" \
+ MAN8="${MP8}"
+
+post-patch:
+# This port does not install docs. See bacula-docs for that
+ @${REINPLACE_CMD} -e '/docdir/d' ${WRKSRC}/Makefile.in
+# Change $(ECHO) to echo in some Makefile.in files
+ @${REINPLACE_CMD} -e 's|$$(ECHO)|echo|g' \
+ ${WRKSRC}/src/filed/Makefile.in \
+ ${WRKSRC}/src/console/Makefile.in \
+ ${WRKSRC}/src/cats/Makefile.in \
+ ${WRKSRC}/src/dird/Makefile.in \
+ ${WRKSRC}/src/stored/Makefile.in \
+ ${WRKSRC}/src/tools/Makefile.in
+
+# Default bconsole.conf is in ${ETCDIR}
+ @${REINPLACE_CMD} -e 's|./bconsole.conf|${ETCDIR}/bconsole.conf|g' ${WRKSRC}/src/console/console.c
+ @${REINPLACE_CMD} -e 's|^MAN8 =|MAN8 ?=|g' -e 's|^MAN1 =|MAN1 ?=|g' ${WRKSRC}/manpages/Makefile.in
+.if defined(WITH_CLIENT_ONLY)
+# In client port only install startup script out of script dir (see below post-install)
+# Dont mkdir ${PREFIX}/share/bacula cause it's empty
+ @${REINPLACE_CMD} -e 's|^\(fd_subdirs = .*\)scripts\(.*\)|\1\2|g' ${WRKSRC}/Makefile.in
+ @${REINPLACE_CMD} -e 's|\(.*$${MKDIR} $${DESTDIR}$${scriptdir}\)|#\1|g' ${WRKSRC}/Makefile.in
+.else
+# In server port don't install filed
+ @${REINPLACE_CMD} -e '/^fd_subdirs = /s|src/filed||' -e 's|src/console||' \
+ ${WRKSRC}/Makefile.in
+.endif
+
+.if !target(post-install)
+post-install:
+.if defined(WITH_CLIENT_ONLY)
+ ${MV} ${STAGEDIR}${ETCDIR}/bconsole.conf ${STAGEDIR}${ETCDIR}/bconsole.conf.sample
+ ${INSTALL_DATA} ${WRKSRC}/examples/sample-query.sql ${STAGEDIR}${LOCALBASE}/share/bacula/query.sql.sample
+.else
+ ${INSTALL_SCRIPT} ${FILESDIR}/chio-bacula ${STAGEDIR}${PREFIX}/sbin
+ ${INSTALL_DATA} ${FILESDIR}/bacula-barcodes ${STAGEDIR}${ETCDIR}/bacula-barcodes.sample
+# bacula-dir attempts to install query.sql as bpart of bacula-server, but that should only installed by bacula-client.
+ ${RM} ${STAGEDIR}${LOCALBASE}/share/bacula/query.sql
+
+#the following are installed by the -CLIENT port, and I (ler@lerctr.org)
+#don't know how to remove them from being built for the -SERVER port.
+ ${RM} ${STAGEDIR}${LOCALBASE}/lib/bpipe-fd.so
+ ${RM} ${STAGEDIR}${LOCALBASE}/lib/libbac-${LIB_VERSION}.so
+ ${RM} ${STAGEDIR}${LOCALBASE}/lib/libbac.so
+ ${RM} ${STAGEDIR}${LOCALBASE}/lib/libbaccfg-${LIB_VERSION}.so
+ ${RM} ${STAGEDIR}${LOCALBASE}/lib/libbaccfg.so
+ ${RM} ${STAGEDIR}${LOCALBASE}/lib/libbacfind-${LIB_VERSION}.so
+ ${RM} ${STAGEDIR}${LOCALBASE}/lib/libbacfind.so
+.endif
+ for na in ${CONFFILES}; do \
+ ${MV} ${STAGEDIR}${ETCDIR}/bacula-$$na.conf ${STAGEDIR}${ETCDIR}/bacula-$$na.conf.sample; \
+ done
+.endif
+.else
+.include "${MASTERDIR}/Makefile.common"
+.endif # 15-client and 15-server are defined
+
+.include <bsd.port.post.mk>
diff --git a/sysutils/bacula15-server/files/patch-src_lib_bsys.c b/sysutils/bacula15-server/files/patch-src_lib_bsys.c
new file mode 100644
index 000000000000..15638f0e8617
--- /dev/null
+++ b/sysutils/bacula15-server/files/patch-src_lib_bsys.c
@@ -0,0 +1,29 @@
+--- src/lib/bsys.c.orig
++++ src/lib/bsys.c
+@@ -1270,7 +1270,7 @@
+ /*
+ * Determine the amount of heap used
+ * macOS - sbrk(0) is deprecated, use malloc info
+- * Windows - not implemented
++ * Windows - not implemented and FreeBSD
+ * others - use sbrk(0)
+ */
+
+@@ -1279,7 +1279,7 @@
+
+ void mark_heap()
+ {
+-#if defined(HAVE_WIN32)
++#if defined(HAVE_WIN32) || defined(__FreeBSD__)
+ start_heap = 0;
+ #elif defined(HAVE_DARWIN_OS)
+ struct mstats ms = mstats();
+@@ -1296,6 +1296,8 @@
+ #elif defined(HAVE_DARWIN_OS)
+ struct mstats ms = mstats();
+ return (int64_t) ms.bytes_used - start_heap;
++#elif defined(__FreeBSD__)
++ return 0;
+ #else
+ return (int64_t) sbrk(0) - start_heap;
+ #endif