mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-30 10:38:37 +00:00
sysutils/bacula13-server: Update to 13.0.4
This release incorporates recently added local patches. If you have bacula-fd < 13 in use, this is a highly recommended update. re: https://sourceforge.net/p/bacula/mailman/message/58736860/
This commit is contained in:
parent
7c3b0846ad
commit
b5425aa1fe
@ -1,6 +1,5 @@
|
||||
PORTNAME= bacula
|
||||
DISTVERSION= 13.0.3
|
||||
PORTREVISION= 1
|
||||
DISTVERSION= 13.0.4
|
||||
CATEGORIES?= sysutils
|
||||
MASTER_SITES= SF/bacula/bacula/${PORTVERSION}
|
||||
PKGNAMEPREFIX?= #
|
||||
@ -14,7 +13,7 @@ LICENSE= AGPLv3
|
||||
LICENSE_FILE= ${WRKSRC}/LICENSE
|
||||
|
||||
USES+= cpe libtool readline shebangfix ssl
|
||||
SHEBANG_FILES= src/cats/make_catalog_backup.pl.in scripts/baculabackupreport.in
|
||||
SHEBANG_FILES= src/cats/make_catalog_backup.pl.in scripts/baculabackupreport
|
||||
|
||||
CONFLICTS?= bacula11-server bacula9-server bacula-server
|
||||
|
||||
|
@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1697660943
|
||||
SHA256 (bacula-13.0.3.tar.gz) = 0949c32be1090585e88e4c01d828002e87603136d87c598a29dff42bb3ed2a40
|
||||
SIZE (bacula-13.0.3.tar.gz) = 6235649
|
||||
TIMESTAMP = 1707775300
|
||||
SHA256 (bacula-13.0.4.tar.gz) = 14e4c62d381a1008422e3fd14aad19b2614103d89078926d7337f850e3b473dc
|
||||
SIZE (bacula-13.0.4.tar.gz) = 6227040
|
||||
|
@ -1,6 +1,8 @@
|
||||
--- src/filed/bxattr_freebsd.c.orig 2023-10-18 20:41:39 UTC
|
||||
diff --git a/bacula/src/filed/bxattr_freebsd.c b/bacula/src/filed/bxattr_freebsd.c
|
||||
index b83331fc578ebc6caf74ff1bf5e67e49329394be..ed2efad02cf2b4f1d1437b25962d28a4d326b873 100644
|
||||
--- src/filed/bxattr_freebsd.c
|
||||
+++ src/filed/bxattr_freebsd.c
|
||||
@@ -103,7 +103,7 @@ bRC_BXATTR BXATTR_FreeBSD::os_backup_xattr (JCR *jcr,
|
||||
@@ -103,7 +103,7 @@ bRC_BXATTR BXATTR_FreeBSD::os_backup_xattr (JCR *jcr, FF_PKT *ff_pkt){
|
||||
case bRC_BXATTR_skip:
|
||||
case bRC_BXATTR_cont:
|
||||
/* no xattr available, so skip rest of it */
|
@ -1,46 +0,0 @@
|
||||
--- src/dird/fd_cmds.c.orig 2023-05-02 09:50:49 UTC
|
||||
+++ src/dird/fd_cmds.c
|
||||
@@ -72,6 +72,34 @@ static void delete_bsock_end_cb(JCR *jcr, void *ctx)
|
||||
free_bsock(socket);
|
||||
}
|
||||
|
||||
+/* 16.0.10 (12Jan24) x86_64-pc-linux-gnu,ubuntu,20.04 -> 160010 */
|
||||
+static uint64_t scan_version(char *str)
|
||||
+{
|
||||
+ Enter(0);
|
||||
+ uint64_t version = 0;
|
||||
+
|
||||
+ regex_t r1;
|
||||
+ regmatch_t pmatch[16];
|
||||
+ regcomp(&r1, "^([0-9]+)\\.([0-9]+)\\.([0-9]+)", REG_EXTENDED);
|
||||
+ if (regexec(&r1, str, 4, pmatch, 0) == 0 &&
|
||||
+ pmatch[1].rm_so == 0 && pmatch[1].rm_eo > 0 && pmatch[1].rm_eo < 50 &&
|
||||
+ pmatch[2].rm_so > 0 && pmatch[2].rm_eo > 0 && (pmatch[2].rm_eo - pmatch[2].rm_so) < 50 &&
|
||||
+ pmatch[3].rm_so > 0 && pmatch[3].rm_eo > 0 && (pmatch[3].rm_eo - pmatch[3].rm_so) < 50)
|
||||
+ {
|
||||
+ char buf[50];
|
||||
+ bstrncpy(buf, str + pmatch[1].rm_so, pmatch[1].rm_eo - pmatch[1].rm_so + 1);
|
||||
+ version = str_to_uint64(buf) * 10000;
|
||||
+
|
||||
+ bstrncpy(buf, str + pmatch[2].rm_so, pmatch[2].rm_eo - pmatch[2].rm_so + 1);
|
||||
+ version += str_to_uint64(buf) * 100;
|
||||
+
|
||||
+ bstrncpy(buf, str + pmatch[3].rm_so, pmatch[3].rm_eo - pmatch[3].rm_so + 1);
|
||||
+ version += str_to_uint64(buf);
|
||||
+ }
|
||||
+ regfree(&r1);
|
||||
+ return version;
|
||||
+}
|
||||
+
|
||||
/*
|
||||
* Open connection with File daemon.
|
||||
* Try connecting every retry_interval (default 10 sec), and
|
||||
@@ -195,6 +223,8 @@ int connect_to_file_daemon(JCR *jcr, int retry_interva
|
||||
cr.FileRetention = jcr->client->FileRetention;
|
||||
cr.JobRetention = jcr->client->JobRetention;
|
||||
bstrncpy(cr.Uname, fd->msg+strlen(OKjob)+1, sizeof(cr.Uname));
|
||||
+ jcr->client_version = scan_version(cr.Uname);
|
||||
+
|
||||
if (!db_update_client_record(jcr, jcr->db, &cr)) {
|
||||
Jmsg(jcr, M_WARNING, 0, _("Error updating Client record. ERR=%s\n"),
|
||||
db_strerror(jcr->db));
|
@ -1,17 +0,0 @@
|
||||
--- src/dird/getmsg.c.orig 2023-05-02 09:50:49 UTC
|
||||
+++ src/dird/getmsg.c
|
||||
@@ -251,6 +251,14 @@ int bget_dirmsg(JCR *jcr, BSOCK *bs, BSOCK_CLIENT_TYPE
|
||||
if (*msg == ' ') {
|
||||
msg++; /* skip leading space */
|
||||
}
|
||||
+ /* Fix to support old FDs */
|
||||
+ if (role == BSOCK_TYPE_FD && jcr->client_version > 0 && jcr->client_version < 130000) {
|
||||
+ type = type + 1; /* Adding M_EVENTS pushed all old events by 1, we fix it automatically here */
|
||||
+ }
|
||||
+ if (type == M_ABORT) { // not allowed here
|
||||
+ Jmsg1(jcr, M_ERROR, 0, _("Malformed message: %s\n"), bs->msg);
|
||||
+ continue;
|
||||
+ }
|
||||
Dmsg1(900, "Dispatch msg: %s", msg);
|
||||
dispatch_message(jcr, type, mtime, msg);
|
||||
continue;
|
@ -1,10 +0,0 @@
|
||||
--- src/jcr.h.orig 2023-05-02 09:50:49 UTC
|
||||
+++ src/jcr.h
|
||||
@@ -399,6 +399,7 @@ class JCR { (public)
|
||||
int32_t FDVersion; /* File daemon version number */
|
||||
int32_t SDVersion; /* Storage daemon version number */
|
||||
int64_t spool_size; /* Spool size for this job */
|
||||
+ uint64_t client_version; /* Client version as a number */
|
||||
utime_t snapshot_retention; /* Snapshot retention (from Client/Job resource) */
|
||||
volatile bool sd_msg_thread_done; /* Set when Storage message thread done */
|
||||
bool wasVirtualFull; /* set if job was VirtualFull */
|
Loading…
Reference in New Issue
Block a user