Compare commits

...

No commits in common. "c8s" and "c9s" have entirely different histories.
c8s ... c9s

42 changed files with 1199 additions and 1858 deletions

View File

@ -1 +1 @@
207a56be12130d5a4505305045deb04e50b36938 SOURCES/bacula-9.0.6.tar.gz
3fbca0dc9eb78a083589465052016f669c3b5e70 bacula-11.0.1.tar.gz

57
.gitignore vendored
View File

@ -1 +1,56 @@
SOURCES/bacula-9.0.6.tar.gz
bacula-5.0.2.tar.gz
bacula-docs-5.0.2.tar.bz2
bacula-5.0.3.tar.gz
bacula-docs-5.0.3.tar.bz2
/bacula-5.2.2.tar.gz
/bacula-docs-5.2.2.tar.bz2
/bacula-5.2.3.tar.gz
/bacula-docs-5.2.3.tar.bz2
/bacula-5.2.4.tar.gz
/bacula-5.2.5.tar.gz
/bacula-5.2.6.tar.gz
/bacula-5.2.7.tar.gz
/bacula-5.2.8.tar.gz
/bacula-5.2.9.tar.gz
/bacula-5.2.10.tar.gz
/bacula-5.2.11.tar.gz
/bacula-5.2.12.tar.gz
/bacula-5.2.13.tar.gz
/bacula-7.0.0.tar.gz
/bacula-7.0.1.tar.gz
/bacula-7.0.2.tar.gz
/bacula-7.0.3.tar.gz
/bacula-7.0.4.tar.gz
/bacula-7.0.5.tar.gz
/bacula-7.2.0.tar.gz
/bacula-7.4.0.tar.gz
/bacula-7.4.1.tar.gz
/bacula-7.4.2.tar.gz
/bacula-7.4.3.tar.gz
/bacula-7.4.4.tar.gz
/bacula-7.4.5.tar.gz
/bacula-7.4.6.tar.gz
/bacula-7.4.7.tar.gz
/bacula-9.0.0.tar.gz
/bacula-9.0.1.tar.gz
/bacula-9.0.2.tar.gz
/bacula-9.0.3.tar.gz
/bacula-9.0.4.tar.gz
/bacula-9.0.5.tar.gz
/bacula-9.0.6.tar.gz
/bacula-9.0.7.tar.gz
/bacula-9.0.8.tar.gz
/bacula-9.2.1.tar.gz
/bacula-9.4.0.tar.gz
/bacula-9.4.1.tar.gz
/bacula-9.4.2.tar.gz
/bacula-9.4.3.tar.gz
/bacula-9.4.4.tar.gz
/bacula-9.6.2.tar.gz
/bacula-9.6.3.tar.gz
/bacula-9.6.5.tar.gz
/bacula-9.6.6.tar.gz
/bacula-9.6.7.tar.gz
/bacula-11.0.0.tar.gz
/bacula-11.0.1.tar.gz

1
.rpmlint Normal file
View File

@ -0,0 +1 @@
addFilter("E: non-readable /etc/bacula/.* 640")

View File

@ -1,19 +1,15 @@
======== Features
- Standard components: director, storage, client, docs, bconsole.
- Graphical components: bat, bacula-tray-monitor (where supported).
- Graphical components: bat, bacula-tray-monitor.
- Tab completion for bconsole.
- Nagios plugin.
- HTML/PDF docs.
- Quick start guides.
- File Daemon bpipe-fd plugin.
- POSIX.1e capabilities for File Daemon.
- Systemd for Fedora and RHEL 7+.
- SysV init scripts for RHEL 5/6.
- GZIP/LZO compression.
- Static uid/gid of 133 (see "setup" package).
- No usermode / fedora-usermgmt stuff in the console packages.
- Docs no longer an arch specific subpackage.
- SQL libraries needed only by Director and Storage daemons.
- SQL backend management through the alternatives system.
@ -82,3 +78,13 @@ of course have the same permissions as the main configuration file.
To see all the available documentation in both HTML and PDF formats, please
install the "bacula-docs" package.
======== Granting user access to the console
The console configuration files are normally readable only by root for security
reasons. If you need to grant access to a specific user or group of users to
the consoles, you can adjust the ACLs on the configuration files. For example:
# setfacl -m u:user:r /etc/bacula/bconsole.conf /etc/bacula/bat.conf
This way the user 'user' can open the console without superuser privileges.

View File

@ -1,39 +0,0 @@
diff -Naur bacula-9.0.2.old/scripts/bacula-tray-monitor.desktop.in bacula-9.0.2/scripts/bacula-tray-monitor.desktop.in
--- bacula-9.0.2.old/scripts/bacula-tray-monitor.desktop.in 2017-07-24 15:22:19.884540422 +0200
+++ bacula-9.0.2/scripts/bacula-tray-monitor.desktop.in 2017-07-24 15:37:02.175038149 +0200
@@ -1,10 +1,9 @@
[Desktop Entry]
Name=Bacula Monitor
Comment=Notification Tray Monitor
-Icon=/usr/share/pixmaps/bacula-tray-monitor.xpm
+Icon=/usr/share/pixmaps/bacula-tray-monitor.png
Exec=@sbindir@/bacula-tray-monitor -c @sysconfdir@/tray-monitor.conf
Terminal=false
Type=Application
-Encoding=UTF-8
X-Desktop-File-Install-Version=0.3
-Categories=System;Application;Utility;X-Red-Hat-Base;
+Categories=Utility;
diff -Naur bacula-9.0.2.old/scripts/bat.desktop.in bacula-9.0.2/scripts/bat.desktop.in
--- bacula-9.0.2.old/scripts/bat.desktop.in 2017-07-24 15:22:19.884540422 +0200
+++ bacula-9.0.2/scripts/bat.desktop.in 2017-07-24 15:36:22.753301014 +0200
@@ -5,7 +5,6 @@
Exec=@sbindir@/bat -c @sysconfdir@/bat.conf
Terminal=false
Type=Application
-Encoding=UTF-8
StartupNotify=true
X-Desktop-File-Install-Version=0.3
-Categories=System;Application;Utility;X-Red-Hat-Base;
+Categories=Utility;
diff -Naur bacula-9.0.2.old/scripts/Makefile.in bacula-9.0.2/scripts/Makefile.in
--- bacula-9.0.2.old/scripts/Makefile.in 2017-07-24 15:22:19.884540422 +0200
+++ bacula-9.0.2/scripts/Makefile.in 2017-07-24 15:25:03.829605989 +0200
@@ -67,7 +67,6 @@
$(MV) -f ${DESTDIR}${scriptdir}/baculabackupreport ${DESTDIR}${scriptdir}/baculabackupreport.old; \
fi
$(INSTALL_SCRIPT) baculabackupreport $(DESTDIR)$(scriptdir)/baculabackupreport
- $(INSTALL_SCRIPT) bacula-tray-monitor.desktop $(DESTDIR)$(scriptdir)/bacula-tray-monitor.desktop
chmod 0644 $(DESTDIR)$(scriptdir)/btraceback.gdb \
$(DESTDIR)$(scriptdir)/btraceback.dbx \
$(DESTDIR)$(scriptdir)/btraceback.mdb

View File

@ -1,9 +0,0 @@
diff -Naur bacula-9.0.4.old/src/cats/make_sqlite3_tables.in bacula-9.0.4/src/cats/make_sqlite3_tables.in
--- bacula-9.0.4.old/src/cats/make_sqlite3_tables.in 2017-09-15 13:38:22.717599355 +0200
+++ bacula-9.0.4/src/cats/make_sqlite3_tables.in 2017-09-15 13:38:36.414851879 +0200
@@ -481,4 +481,5 @@
echo ""
chmod 640 ${db_name}.db
+chown bacula:bacula ${db_name}.db
exit 0

View File

@ -1,12 +0,0 @@
diff -urNp old/src/qt-console/pages.h new/src/qt-console/pages.h
--- old/src/qt-console/pages.h 2017-11-21 18:37:16.000000000 +0100
+++ new/src/qt-console/pages.h 2018-02-06 12:37:04.490297821 +0100
@@ -21,7 +21,7 @@
/*
* Dirk Bartley, March 2007
*/
-
+#include <QtGlobal>
#if QT_VERSION >= 0x050000
#include <QtWidgets>
#else

View File

@ -1,33 +0,0 @@
--- bacula-9.0.6.old/src/qt-console/tray-monitor/task.cpp 2018-01-28 15:19:14.055587280 -0600
+++ bacula-9.0.6/src/qt-console/tray-monitor/task.cpp 2018-01-28 15:18:55.151599308 -0600
@@ -992,15 +992,15 @@
}
/* cache the file set */
- res->bs->fsend(".bvfs_update jobid=%s\n", jobs.toUtf8());
+ res->bs->fsend(".bvfs_update jobid=%s\n", bstrdup(jobs.toUtf8()) );
while (get_next_line(res)) {
Dmsg2(dbglvl, "<- %d %s\n", res->bs->msglen, curline);
}
if (pathid == 0) {
- res->bs->fsend(".bvfs_lsdirs jobid=%s path=\"\"\n", jobs.toUtf8());
+ res->bs->fsend(".bvfs_lsdirs jobid=%s path=\"\"\n", bstrdup(jobs.toUtf8()));
} else {
- res->bs->fsend(".bvfs_lsdirs jobid=%s pathid=%lld\n", jobs.toUtf8(), pathid);
+ res->bs->fsend(".bvfs_lsdirs jobid=%s pathid=%lld\n", bstrdup(jobs.toUtf8()), pathid);
}
while (get_next_line(res)) {
@@ -1024,9 +1024,9 @@
/* then, request files */
if (pathid == 0) {
- res->bs->fsend(".bvfs_lsfiles jobid=%s path=\"\"\n", jobs.toUtf8());
+ res->bs->fsend(".bvfs_lsfiles jobid=%s path=\"\"\n", bstrdup(jobs.toUtf8()));
} else {
- res->bs->fsend(".bvfs_lsfiles jobid=%s pathid=%lld\n", jobs.toUtf8(), pathid);
+ res->bs->fsend(".bvfs_lsfiles jobid=%s pathid=%lld\n", bstrdup(jobs.toUtf8()), pathid);
}
while (get_next_line(res)) {

View File

@ -1,115 +0,0 @@
#!/bin/sh
#
# bacula-dir Takes care of starting and stopping the Bacula Director.
#
# chkconfig: - 80 20
# description: The Bacula Director is the daemon responsible for all the logic \
# regarding the backup infrastructure: database, file retention, \
# tape indexing, scheduling.
### BEGIN INIT INFO
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
# Short-Description: Bacula Director Daemon.
# Description: The Bacula Director is the daemon responsible for all the logic
# regarding the backup infrastructure: database, file retention,
# tape indexing, scheduling.
### END INIT INFO
# Source function library.
. /etc/rc.d/init.d/functions
exec="/usr/sbin/bacula-dir"
prog="bacula-dir"
CONFIG="/etc/bacula/bacula-dir.conf"
OPTS="-c $CONFIG"
[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
lockfile=/var/lock/subsys/$prog
if [ "$DIR_USER" != '' ]; then
OPTS="$OPTS -u $DIR_USER"
fi
if [ "$DIR_GROUP" != '' ]; then
OPTS="$OPTS -g $DIR_GROUP"
fi
start() {
[ -x $exec ] || exit 5
[ -f $config ] || exit 6
echo -n $"Starting $prog: "
daemon $prog $OPTS
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
stop
sleep 1
start
}
reload() {
restart
}
force_reload() {
restart
}
rh_status() {
# run checks to determine if the service is running or use generic status
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
restart
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
exit 2
esac
exit $?

View File

@ -1,113 +0,0 @@
#!/bin/sh
#
# bacula-fd Takes care of starting and stopping the Bacula File Daemon.
#
# chkconfig: - 80 20
# description: The Bacula File Daemon is the daemon responsible for backing up \
# data on the system.
### BEGIN INIT INFO
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
# Short-Description: Bacula File Daemon.
# Description: The Bacula File Daemon is the daemon responsible for backing up
# data on the system.
### END INIT INFO
# Source function library.
. /etc/rc.d/init.d/functions
exec="/usr/sbin/bacula-fd"
prog="bacula-fd"
CONFIG="/etc/bacula/bacula-fd.conf"
OPTS="-c $CONFIG"
[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
lockfile=/var/lock/subsys/$prog
if [ "$FD_USER" != '' ]; then
OPTS="$OPTS -u $FD_USER"
fi
if [ "$FD_GROUP" != '' ]; then
OPTS="$OPTS -g $FD_GROUP"
fi
start() {
[ -x $exec ] || exit 5
[ -f $config ] || exit 6
echo -n $"Starting $prog: "
daemon $prog $OPTS
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
stop
sleep 1
start
}
reload() {
restart
}
force_reload() {
restart
}
rh_status() {
# run checks to determine if the service is running or use generic status
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
restart
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
exit 2
esac
exit $?

View File

@ -1,115 +0,0 @@
#!/bin/sh
#
# bacula-sd Takes care of starting and stopping the Bacula Storage Daemon.
#
# chkconfig: - 80 20
# description: The Bacula Storage Daemon is the daemon responsible for saving \
# backed up data on the various File Daemon to the appropriate \
# storage devices.
### BEGIN INIT INFO
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
# Short-Description: Bacula Storage Daemon.
# Description: The Bacula Storage Daemon is the daemon responsible for saving
# backed up data on the various File Daemon to the appropriate
# storage devices.
### END INIT INFO
# Source function library.
. /etc/init.d/functions
exec="/usr/sbin/bacula-sd"
prog="bacula-sd"
CONFIG="/etc/bacula/bacula-sd.conf"
OPTS="-c $CONFIG"
[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
lockfile=/var/lock/subsys/$prog
if [ "$SD_USER" != '' ]; then
OPTS="$OPTS -u $SD_USER"
fi
if [ "$SD_GROUP" != '' ]; then
OPTS="$OPTS -g $SD_GROUP"
fi
start() {
[ -x $exec ] || exit 5
[ -f $config ] || exit 6
echo -n $"Starting $prog: "
daemon $prog $OPTS
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
stop
sleep 2
start
}
reload() {
restart
}
force_reload() {
restart
}
rh_status() {
# run checks to determine if the service is running or use generic status
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
restart
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
exit 2
esac
exit $?

Binary file not shown.

Before

Width:  |  Height:  |  Size: 407 B

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
diff -Naur bacula-9.0.6.old/src/qt-console/bat.pro.in bacula-9.0.6/src/qt-console/bat.pro.in
--- bacula-9.0.6.old/src/qt-console/bat.pro.in 2017-12-07 15:44:44.737173178 +0100
+++ bacula-9.0.6/src/qt-console/bat.pro.in 2017-12-07 15:44:55.118366334 +0100
diff -Naur bacula-11.0.0.old/src/qt-console/bat.pro.in bacula-11.0.0/src/qt-console/bat.pro.in
--- bacula-11.0.0.old/src/qt-console/bat.pro.in 2021-01-12 12:36:32.639470258 +0100
+++ bacula-11.0.0/src/qt-console/bat.pro.in 2021-01-12 12:39:13.647417778 +0100
@@ -6,7 +6,7 @@
#
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@ -8,8 +8,8 @@ diff -Naur bacula-9.0.6.old/src/qt-console/bat.pro.in bacula-9.0.6/src/qt-consol
-CONFIG += qt debug @QWT@
+CONFIG += qt release @QWT@
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
@@ -15,7 +15,7 @@
bins.files = bat
confs.path = /$(DESTDIR)@sysconfdir@
@ -18,10 +18,10 @@ diff -Naur bacula-9.0.6.old/src/qt-console/bat.pro.in bacula-9.0.6/src/qt-consol
+help.path = /$(DESTDIR)@htmldir@
help.files = help/*.html images/status.png images/mail-message-new.png
datarootdir = @datarootdir@
diff -Naur bacula-9.0.6.old/src/qt-console/main.cpp bacula-9.0.6/src/qt-console/main.cpp
--- bacula-9.0.6.old/src/qt-console/main.cpp 2017-12-07 15:44:44.742173271 +0100
+++ bacula-9.0.6/src/qt-console/main.cpp 2017-12-07 15:44:55.119366353 +0100
TEMPLATE = app
diff -Naur bacula-11.0.0.old/src/qt-console/main.cpp bacula-11.0.0/src/qt-console/main.cpp
--- bacula-11.0.0.old/src/qt-console/main.cpp 2021-01-12 12:36:32.640470277 +0100
+++ bacula-11.0.0/src/qt-console/main.cpp 2021-01-12 12:39:13.647417778 +0100
@@ -29,11 +29,11 @@
#include <QTranslator>

View File

@ -0,0 +1,43 @@
diff -Naur bacula-11.0.0.old/src/plugins/fd/Makefile.in bacula-11.0.0/src/plugins/fd/Makefile.in
--- bacula-11.0.0.old/src/plugins/fd/Makefile.in 2021-01-15 14:28:41.375718846 +0100
+++ bacula-11.0.0/src/plugins/fd/Makefile.in 2021-01-15 14:37:51.212066769 +0100
@@ -22,7 +22,7 @@
.c.lo:
$(LIBTOOL_COMPILE) $(CXX) $(DEFS) $(DEBUG) $(CPPFLAGS) $(CFLAGS) -I${SRCDIR} -I${FDDIR} -DTEST_PROGRAM -c $<
-all: bpipe-fd.la test-plugin-fd.la test-deltaseq-fd.la pluglib.lo
+all: bpipe-fd.la cdp-fd.la test-plugin-fd.la test-deltaseq-fd.la pluglib.lo
example-plugin-fd.lo: example-plugin-fd.c ${FDDIR}/fd_plugins.h
$(LIBTOOL_COMPILE) $(CXX) $(DEFS) $(DEBUG) $(CPPFLAGS) $(CFLAGS) -I../.. -I${FDDIR} -c example-plugin-fd.c
@@ -36,8 +36,6 @@
bpipe-fd.la: Makefile bpipe-fd$(DEFAULT_OBJECT_TYPE)
$(LIBTOOL_LINK) $(CXX) $(LDFLAGS) -shared bpipe-fd.lo -o $@ -rpath $(plugindir) -module -export-dynamic -avoid-version
-cdp: cdp-fd.la
-
cdp-fd.lo: cdp-fd.c journal.h folder-record.h file-record.h settings-record.h ${FDDIR}/fd_plugins.h
$(LIBTOOL_COMPILE) $(CXX) $(DEFS) $(DEBUG) $(CPPFLAGS) $(CFLAGS) -Wno-unused-function -I../.. -I${FDDIR} -c cdp-fd.c
@@ -47,12 +45,6 @@
cdp-fd.la: Makefile cdp-fd$(DEFAULT_OBJECT_TYPE) journal.lo
$(LIBTOOL_LINK) $(CXX) $(LDFLAGS) -shared cdp-fd.lo journal.lo -o $@ -rpath $(plugindir) -module -export-dynamic -avoid-version
-install-cdp: cdp-fd.la
- $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) cdp-fd.la $(DESTDIR)$(plugindir)
- $(RMF) $(DESTDIR)$(plugindir)/cdp-fd.la
-
-
-
test-deltaseq-fd.lo: test-deltaseq-fd.c ${FDDIR}/fd_plugins.h fd_common.h
$(LIBTOOL_COMPILE) $(CXX) $(DEFS) $(DEBUG) $(CPPFLAGS) $(CFLAGS) -I../.. -I${FDDIR} -c test-deltaseq-fd.c
@@ -69,6 +61,8 @@
$(MKDIR) $(DESTDIR)$(plugindir)
$(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) bpipe-fd.la $(DESTDIR)$(plugindir)
$(RMF) $(DESTDIR)$(plugindir)/bpipe-fd.la
+ $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) cdp-fd.la $(DESTDIR)$(plugindir)
+ $(RMF) $(DESTDIR)$(plugindir)/cdp-fd.la
install-test-plugin: all
$(MKDIR) $(DESTDIR)$(plugindir)

34
bacula-desktop.patch Normal file
View File

@ -0,0 +1,34 @@
diff -Naur bacula-9.6.5.old/scripts/bacula-tray-monitor.desktop.in bacula-9.6.5/scripts/bacula-tray-monitor.desktop.in
--- bacula-9.6.5.old/scripts/bacula-tray-monitor.desktop.in 2020-07-24 09:11:40.976119619 +0200
+++ bacula-9.6.5/scripts/bacula-tray-monitor.desktop.in 2020-07-24 09:16:52.055851377 +0200
@@ -5,6 +5,5 @@
Exec=@sbindir@/bacula-tray-monitor -c @sysconfdir@/bacula-tray-monitor.conf
Terminal=false
Type=Application
-Encoding=UTF-8
X-Desktop-File-Install-Version=0.3
-Categories=System;Application;Utility;X-Red-Hat-Base;
+Categories=System;Utility;
diff -Naur bacula-9.6.5.old/scripts/bat.desktop.in bacula-9.6.5/scripts/bat.desktop.in
--- bacula-9.6.5.old/scripts/bat.desktop.in 2020-07-24 09:11:40.976119619 +0200
+++ bacula-9.6.5/scripts/bat.desktop.in 2020-07-24 09:17:21.178294361 +0200
@@ -5,7 +5,6 @@
Exec=@sbindir@/bat -c @sysconfdir@/bat.conf
Terminal=false
Type=Application
-Encoding=UTF-8
StartupNotify=true
X-Desktop-File-Install-Version=0.3
-Categories=System;Application;Utility;X-Red-Hat-Base;
+Categories=System;Utility;
diff -Naur bacula-9.6.5.old/scripts/Makefile.in bacula-9.6.5/scripts/Makefile.in
--- bacula-9.6.5.old/scripts/Makefile.in 2020-07-24 09:11:40.976119619 +0200
+++ bacula-9.6.5/scripts/Makefile.in 2020-07-24 09:17:57.725850277 +0200
@@ -67,7 +67,6 @@
$(MV) -f ${DESTDIR}${scriptdir}/baculabackupreport ${DESTDIR}${scriptdir}/baculabackupreport.old; \
fi
$(INSTALL_SCRIPT) baculabackupreport $(DESTDIR)$(scriptdir)/baculabackupreport
- $(INSTALL_SCRIPT) bacula-tray-monitor.desktop $(DESTDIR)$(scriptdir)/bacula-tray-monitor.desktop
chmod 0644 $(DESTDIR)$(scriptdir)/btraceback.gdb \
$(DESTDIR)$(scriptdir)/btraceback.dbx \
$(DESTDIR)$(scriptdir)/btraceback.mdb

View File

@ -1,5 +1,5 @@
[Unit]
Description=Bacula-Director, the Backup-server
Description=Bacula Director
Documentation=man:bacula-dir(8)
After=network.target nss-lookup.target

View File

@ -0,0 +1,29 @@
diff -Naur bacula-11.0.1.old/autoconf/configure.in bacula-11.0.1/autoconf/configure.in
--- bacula-11.0.1.old/autoconf/configure.in 2021-02-11 14:12:19.547538024 +0100
+++ bacula-11.0.1/autoconf/configure.in 2021-02-11 14:12:25.803641252 +0100
@@ -3240,20 +3240,11 @@
]
)
if test x$support_docker = xyes -o x$support_docker = xauto; then
- AC_CHECK_PROG(docker_bin, docker, yes, no, "/usr/bin/")
- if test x$docker_bin = xyes; then
- support_docker=yes
- FD_PLUGIN_DIR="$FD_PLUGIN_DIR src/plugins/fd/docker"
- PLUGCONFILES="${PLUGCONFILES} src/plugins/fd/docker/Makefile"
- else
- if test x$support_docker = xyes; then
- echo " "
- echo "You enabled a Docker Plugin build but 'docker' command not found."
- echo " "
- exit 1
- fi
- support_docker=no
- fi
+ support_docker=yes
+ FD_PLUGIN_DIR="$FD_PLUGIN_DIR src/plugins/fd/docker"
+ PLUGCONFILES="${PLUGCONFILES} src/plugins/fd/docker/Makefile"
+else
+ support_docker=no
fi
AC_SUBST(FD_PLUGIN_DIR)

View File

@ -1,5 +1,5 @@
[Unit]
Description=Bacula-FileDaemon, a Backup-client
Description=Bacula File Daemon
Documentation=man:bacula-fd(8)
After=network.target nss-lookup.target

15
bacula-g++-options.patch Normal file
View File

@ -0,0 +1,15 @@
diff -Naur bacula-11.0.1.old/autoconf/configure.in bacula-11.0.1/autoconf/configure.in
--- bacula-11.0.1.old/autoconf/configure.in 2021-02-11 14:09:48.635047858 +0100
+++ bacula-11.0.1/autoconf/configure.in 2021-02-11 14:10:48.026027852 +0100
@@ -3274,11 +3274,6 @@
AC_DEFINE(FDLIBS)
CFLAGS=${CFLAGS--O}
-
-if test x$have_gcc = xyes ; then
- CPPFLAGS="$CPPFLAGS -x c++ -fno-strict-aliasing -fno-exceptions -fno-rtti"
- CFLAGS="$CFLAGS -x c++ -fno-strict-aliasing -fno-exceptions -fno-rtti"
-fi
LDFLAGS=${LDFLAGS--O}
CPPFLAGS="$CPPFLAGS"
CFLAGS="$CFLAGS"

48
bacula-install.patch Normal file
View File

@ -0,0 +1,48 @@
diff -Naur bacula-11.0.1.old/autoconf/configure.in bacula-11.0.1/autoconf/configure.in
--- bacula-11.0.1.old/autoconf/configure.in 2021-02-11 14:11:00.673236537 +0100
+++ bacula-11.0.1/autoconf/configure.in 2021-02-11 14:11:36.910834489 +0100
@@ -3798,7 +3798,7 @@
cd src/qt-console
chmod 755 install_conf_file build-depkgs-qt-console
cd tray-monitor
-chmod 755 install_conf_file
+chmod 755 install_conf_file build-depkgs-qt-console
cd ${BUILD_DIR}
cd scripts
diff -Naur bacula-11.0.1.old/examples/nagios/check_bacula/Makefile.in bacula-11.0.1/examples/nagios/check_bacula/Makefile.in
--- bacula-11.0.1.old/examples/nagios/check_bacula/Makefile.in 2021-02-11 14:09:48.630047776 +0100
+++ bacula-11.0.1/examples/nagios/check_bacula/Makefile.in 2021-02-11 14:11:07.708352620 +0100
@@ -72,7 +72,7 @@
(cd $(srcdir); $(RMF) Makefile)
install: all
- $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) check_bacula $(DESTDIR)$(sbindir)/check_bacula
+ $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) .libs/check_bacula $(DESTDIR)$(sbindir)/check_bacula
uninstall:
(cd $(DESTDIR)$(sbindir); $(RMF) check_bacula)
diff -Naur bacula-11.0.1.old/src/qt-console/bat.pro.in bacula-11.0.1/src/qt-console/bat.pro.in
--- bacula-11.0.1.old/src/qt-console/bat.pro.in 2021-02-11 14:09:48.599047264 +0100
+++ bacula-11.0.1/src/qt-console/bat.pro.in 2021-02-11 14:11:07.742353181 +0100
@@ -12,7 +12,7 @@
datarootdir = @datarootdir@
bins.path = /$(DESTDIR)@sbindir@
-bins.files = bat
+bins.files = .libs/bat
confs.path = /$(DESTDIR)@sysconfdir@
confs.commands = ./install_conf_file
help.path = /$(DESTDIR)@htmldir@
diff -Naur bacula-11.0.1.old/src/qt-console/tray-monitor/tray-monitor.pro.in bacula-11.0.1/src/qt-console/tray-monitor/tray-monitor.pro.in
--- bacula-11.0.1.old/src/qt-console/tray-monitor/tray-monitor.pro.in 2021-02-11 14:09:48.603047330 +0100
+++ bacula-11.0.1/src/qt-console/tray-monitor/tray-monitor.pro.in 2021-02-11 14:11:07.743353198 +0100
@@ -26,7 +26,7 @@
bins.path = /$(DESTDIR)@sbindir@
-bins.files = bacula-tray-monitor
+bins.files = .libs/bacula-tray-monitor
confs.path = /$(DESTDIR)@sysconfdir@
confs.commands = ./install_conf_file

13
bacula-nagios.patch Normal file
View File

@ -0,0 +1,13 @@
diff -Naur bacula-11.0.0.old/examples/nagios/check_bacula/Makefile.in bacula-11.0.0/examples/nagios/check_bacula/Makefile.in
--- bacula-11.0.0.old/examples/nagios/check_bacula/Makefile.in 2021-01-15 14:28:41.415719526 +0100
+++ bacula-11.0.0/examples/nagios/check_bacula/Makefile.in 2021-01-15 15:01:26.371678793 +0100
@@ -72,7 +72,8 @@
(cd $(srcdir); $(RMF) Makefile)
install: all
- $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) .libs/check_bacula $(DESTDIR)$(sbindir)/check_bacula
+ $(MKDIR) $(DESTDIR)$(libdir)/nagios/plugins
+ $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) .libs/check_bacula $(DESTDIR)$(libdir)/nagios/plugins/check_bacula
uninstall:
(cd $(DESTDIR)$(sbindir); $(RMF) check_bacula)

View File

@ -1,7 +1,7 @@
diff -Naur bacula-9.0.0.old/src/lib/lib.h bacula-9.0.0/src/lib/lib.h
--- bacula-9.0.0.old/src/lib/lib.h 2017-07-10 08:52:38.928834471 +0200
+++ bacula-9.0.0/src/lib/lib.h 2017-07-10 09:06:14.956314468 +0200
@@ -53,7 +53,6 @@
diff -Naur bacula-11.0.1.old/src/lib/lib.h bacula-11.0.1/src/lib/lib.h
--- bacula-11.0.1.old/src/lib/lib.h 2021-02-11 14:09:48.598047248 +0100
+++ bacula-11.0.1/src/lib/lib.h 2021-02-11 14:10:04.432308524 +0100
@@ -57,7 +57,6 @@
#include "fnmatch.h"
#endif
#include "md5.h"
@ -9,42 +9,51 @@ diff -Naur bacula-9.0.0.old/src/lib/lib.h bacula-9.0.0/src/lib/lib.h
#include "tree.h"
#include "watchdog.h"
#include "btimers.h"
diff -Naur bacula-9.0.0.old/src/lib/Makefile.in bacula-9.0.0/src/lib/Makefile.in
--- bacula-9.0.0.old/src/lib/Makefile.in 2017-07-10 08:52:38.928834471 +0200
+++ bacula-9.0.0/src/lib/Makefile.in 2017-07-10 09:06:49.445973039 +0200
@@ -38,7 +38,7 @@
diff -Naur bacula-11.0.1.old/src/lib/Makefile.in bacula-11.0.1/src/lib/Makefile.in
--- bacula-11.0.1.old/src/lib/Makefile.in 2021-02-11 14:09:48.598047248 +0100
+++ bacula-11.0.1/src/lib/Makefile.in 2021-02-11 14:10:04.433308540 +0100
@@ -40,7 +40,7 @@
flist.h fnmatch.h guid_to_name.h htable.h lex.h \
lib.h lz4.h md5.h mem_pool.h message.h \
openssl.h parse_conf.h plugins.h protos.h queue.h rblist.h \
openssl.h plugins.h protos.h queue.h rblist.h \
- runscript.h rwlock.h serial.h sellist.h sha1.h sha2.h \
+ runscript.h rwlock.h serial.h sellist.h sha2.h \
smartall.h status.h tls.h tree.h var.h \
watchdog.h workq.h ini.h \
lockmgr.h devlock.h output.h bwlimit.h
@@ -52,7 +52,7 @@
waitq.h watchdog.h workq.h \
parse_conf.h ini.h \
@@ -57,7 +57,7 @@
guid_to_name.c hmac.c jcr.c lex.c lz4.c alist.c dlist.c \
md5.c message.c mem_pool.c openssl.c \
plugins.c priv.c queue.c bregex.c \
plugins.c priv.c queue.c bregex.c bsockcore.c \
- runscript.c rwlock.c scan.c sellist.c serial.c sha1.c sha2.c \
+ runscript.c rwlock.c scan.c sellist.c serial.c sha2.c \
signal.c smartall.c rblist.c tls.c tree.c \
util.c var.c watchdog.c workq.c btimers.c \
worker.c flist.c \
@@ -218,13 +218,6 @@
worker.c flist.c bcollector.c collect.c \
@@ -286,22 +286,6 @@
$(RMF) md5.o
$(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) md5.c
-sha1sum: Makefile sha1.o
-sha1sum: Makefile libbac.la sha1.c
- $(RMF) sha1.o
- $(CXX) -DSHA1_SUM $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) sha1.c
- $(LIBTOOL_LINK) $(CXX) $(LDFLAGS) -L. -o $@ sha1.o $(DLIB) -lbac -lm $(LIBS) $(OPENSSL_LIBS)
- $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) $@ $(DESTDIR)$(sbindir)/
- $(RMF) sha1.o
- $(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) sha1.c
-
bsnprintf: Makefile bsnprintf.o
-sha1_test: Makefile libbac.la sha1.c unittests.o
- $(RMF) sha1.o
- $(CXX) -DTEST_PROGRAM $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) sha1.c
- $(LIBTOOL_LINK) $(CXX) $(LDFLAGS) -L. -o $@ sha1.o unittests.o $(DLIB) -lbac -lm $(LIBS)
- $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) $@ $(DESTDIR)$(sbindir)/
- $(RMF) sha1.o
- $(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) sha1.c
-
bsnprintf_test: Makefile libbac.la bsnprintf.c unittests.o
$(RMF) bsnprintf.o
$(CXX) -DTEST_PROGRAM $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) bsnprintf.c
@@ -274,7 +267,7 @@
@@ -397,7 +381,7 @@
clean: libtool-clean
@$(RMF) core a.out *.o *.bak *.tex *.pdf *~ *.intpro *.extpro 1 2 3
@ -53,10 +62,10 @@ diff -Naur bacula-9.0.0.old/src/lib/Makefile.in bacula-9.0.0/src/lib/Makefile.in
realclean: clean
@$(RMF) tags
diff -Naur bacula-9.0.0.old/src/lib/sha1.c bacula-9.0.0/src/lib/sha1.c
--- bacula-9.0.0.old/src/lib/sha1.c 2017-07-10 08:52:38.929834490 +0200
+++ bacula-9.0.0/src/lib/sha1.c 1970-01-01 01:00:00.000000000 +0100
@@ -1,510 +0,0 @@
diff -Naur bacula-11.0.1.old/src/lib/sha1.c bacula-11.0.1/src/lib/sha1.c
--- bacula-11.0.1.old/src/lib/sha1.c 2021-02-11 14:09:48.598047248 +0100
+++ bacula-11.0.1/src/lib/sha1.c 1970-01-01 01:00:00.000000000 +0100
@@ -1,517 +0,0 @@
-/*
- * sha1.c
- *
@ -423,8 +432,12 @@ diff -Naur bacula-9.0.0.old/src/lib/sha1.c bacula-9.0.0/src/lib/sha1.c
- SHA1ProcessMessageBlock(context);
-}
-
-#ifdef TEST_DRIVER
-
-#ifndef TEST_PROGRAM
-#define TEST_PROGRAM_A
-#endif
-
-#ifdef TEST_PROGRAM
-/*
- * sha1test.c
- *
@ -443,6 +456,9 @@ diff -Naur bacula-9.0.0.old/src/lib/sha1.c bacula-9.0.0/src/lib/sha1.c
-#include <stdio.h>
-#include <string.h>
-#include "sha1.h"
-#include "unittests.h"
-
-#define NRTESTS 4
-
-/*
- * Define patterns for testing
@ -457,81 +473,81 @@ diff -Naur bacula-9.0.0.old/src/lib/sha1.c bacula-9.0.0/src/lib/sha1.c
-#define TEST4b "01234567012345670123456701234567"
- /* an exact multiple of 512 bits */
-#define TEST4 TEST4a TEST4b
-char *testarray[4] =
-
-const char *testarray[NRTESTS] =
-{
- TEST1,
- TEST2,
- TEST3,
- TEST4
-};
-long int repeatcount[4] = { 1, 1, 1000000, 10 };
-char *resultarray[4] =
-
-int repeatcount[NRTESTS] = { 1, 1, 1000000, 10 };
-
-const uint8_t resultarray[NRTESTS][20] =
-{
- "A9 99 3E 36 47 06 81 6A BA 3E 25 71 78 50 C2 6C 9C D0 D8 9D",
- "84 98 3E 44 1C 3B D2 6E BA AE 4A A1 F9 51 29 E5 E5 46 70 F1",
- "34 AA 97 3C D4 C4 DA A4 F6 1E EB 2B DB AD 27 31 65 34 01 6F",
- "DE A3 56 A2 CD DD 90 C7 A7 EC ED C5 EB B5 63 93 4F 46 04 52"
- { 0xA9, 0x99, 0x3E, 0x36, 0x47, 0x06, 0x81, 0x6A, 0xBA, 0x3E, 0x25, 0x71, 0x78, 0x50, 0xC2, 0x6C, 0x9C, 0xD0, 0xD8, 0x9D },
- { 0x84, 0x98, 0x3E, 0x44, 0x1C, 0x3B, 0xD2, 0x6E, 0xBA, 0xAE, 0x4A, 0xA1, 0xF9, 0x51, 0x29, 0xE5, 0xE5, 0x46, 0x70, 0xF1 },
- { 0x34, 0xAA, 0x97, 0x3C, 0xD4, 0xC4, 0xDA, 0xA4, 0xF6, 0x1E, 0xEB, 0x2B, 0xDB, 0xAD, 0x27, 0x31, 0x65, 0x34, 0x01, 0x6F },
- { 0xDE, 0xA3, 0x56, 0xA2, 0xCD, 0xDD, 0x90, 0xC7, 0xA7, 0xEC, 0xED, 0xC5, 0xEB, 0xB5, 0x63, 0x93, 0x4F, 0x46, 0x04, 0x52 },
-};
-
-int main()
-{
- SHA1Context sha;
- int i, j, err;
- uint8_t Message_Digest[20];
- Unittests sha1_test("sha1_test");
- SHA1Context sha;
- int i, j, err;
- uint8_t Message_Digest[20];
- bool check_cont;
- bool ct;
-
- /*
- * Perform SHA-1 tests
- */
- for(j = 0; j < 4; ++j) {
- printf( "\nTest %d: %d, '%s'\n",
- j+1,
- repeatcount[j],
- testarray[j]);
- /*
- * Perform SHA-1 tests
- */
- for(j = 0; j < 4; ++j) {
- // printf( "\nTest %d: %d, '%s'\n", j+1, repeatcount[j], testarray[j]);
- err = SHA1Init(&sha);
- nok(err, "Test SHA1Init");
- if (err) {
- break; /* out of for j loop */
- }
- ct = true;
- for(i = 0; i < repeatcount[j]; ++i) {
- err = SHA1Update(&sha, (const unsigned char *) testarray[j], strlen(testarray[j]));
- if (i < 5){
- nok(err, "Test SHA1Update");
- }
- if (ct && repeatcount[j] > 4 && i > 4){
- ct = false;
- printf("...\n");
- }
- if (err) {
- nok(err, "Test SHA1Update");
- break; /* out of for i loop */
- }
- }
-
- err = SHA1Init(&sha);
- if (err) {
- fprintf(stderr, "SHA1Reset Error %d.\n", err );
- break; /* out of for j loop */
- }
- err = SHA1Final(&sha, Message_Digest);
- nok(err, "Test SHA1Final");
- check_cont = true;
- for(i = 0; i < 20 ; ++i) {
- if (Message_Digest[i] != resultarray[j][i]){
- check_cont = false;
- }
- }
- ok(check_cont, "Checking expected result");
- }
-
- for(i = 0; i < repeatcount[j]; ++i) {
- /* Test some error returns */
- err = SHA1Update(&sha,(const unsigned char *) testarray[1], 1);
- ok(err == shaStateError, "Checking for shaStateError");
- err = SHA1Init(0);
- ok(err == shaNull, "Checking for shaNull");
-
- err = SHA1Input(&sha,
- (const unsigned char *) testarray[j],
- strlen(testarray[j]));
- if (err) {
- fprintf(stderr, "SHA1Input Error %d.\n", err );
- break; /* out of for i loop */
- }
- }
-
- err = SHA1Final(&sha, Message_Digest);
- if (err) {
- fprintf(stderr,
- "SHA1Result Error %d, could not compute message digest.\n",
- err );
- }
- else
- {
- printf("\t");
- for(i = 0; i < 20 ; ++i) {
- printf("%02X ", Message_Digest[i]);
- }
- printf("\n");
- }
- printf("Should match:\n");
- printf("\t%s\n", resultarray[j]);
- }
-
- /* Test some error returns */
- err = SHA1Input(&sha,(const unsigned char *) testarray[1], 1);
- printf ("\nError %d. Should be %d.\n", err, shaStateError );
- err = SHA1Init(0);
- printf ("\nError %d. Should be %d.\n", err, shaNull );
- return 0;
- return report();
-}
-
-#endif /* TEST_DRIVER */
-#endif /* TEST_PROGRAM */
-
-#ifdef SHA1_SUM
-/*
@ -566,10 +582,10 @@ diff -Naur bacula-9.0.0.old/src/lib/sha1.c bacula-9.0.0/src/lib/sha1.c
- printf(" %s\n", argv[1]);
- fclose(fd);
-}
-#endif
diff -Naur bacula-9.0.0.old/src/lib/sha1.h bacula-9.0.0/src/lib/sha1.h
--- bacula-9.0.0.old/src/lib/sha1.h 2017-07-10 08:52:38.928834471 +0200
+++ bacula-9.0.0/src/lib/sha1.h 1970-01-01 01:00:00.000000000 +0100
-#endif /* SHA1_SUM */
diff -Naur bacula-11.0.1.old/src/lib/sha1.h bacula-11.0.1/src/lib/sha1.h
--- bacula-11.0.1.old/src/lib/sha1.h 2021-02-11 14:09:48.599047264 +0100
+++ bacula-11.0.1/src/lib/sha1.h 1970-01-01 01:00:00.000000000 +0100
@@ -1,107 +0,0 @@
-/*
- * sha1.h

View File

@ -1,6 +1,6 @@
diff -Naur bacula-9.0.6.old/src/lib/crypto.c bacula-9.0.6/src/lib/crypto.c
--- bacula-9.0.6.old/src/lib/crypto.c 2017-12-07 15:42:03.771178189 +0100
+++ bacula-9.0.6/src/lib/crypto.c 2017-12-07 15:42:25.300578772 +0100
diff -Naur bacula-11.0.1.old/src/lib/crypto.c bacula-11.0.1/src/lib/crypto.c
--- bacula-11.0.1.old/src/lib/crypto.c 2021-02-11 14:08:38.220885976 +0100
+++ bacula-11.0.1/src/lib/crypto.c 2021-02-11 14:08:42.518956898 +0100
@@ -42,7 +42,7 @@
* For OpenSSL version 1.x, EVP_PKEY_encrypt no longer
* exists. It was not an official API.
@ -10,9 +10,9 @@ diff -Naur bacula-9.0.6.old/src/lib/crypto.c bacula-9.0.6/src/lib/crypto.c
#define EVP_PKEY_encrypt EVP_PKEY_encrypt_old
#define EVP_PKEY_decrypt EVP_PKEY_decrypt_old
#endif
diff -Naur bacula-9.0.6.old/src/lib/tls.c bacula-9.0.6/src/lib/tls.c
--- bacula-9.0.6.old/src/lib/tls.c 2017-12-07 15:42:03.770178170 +0100
+++ bacula-9.0.6/src/lib/tls.c 2017-12-07 15:42:26.891608376 +0100
diff -Naur bacula-11.0.1.old/src/lib/tls.c bacula-11.0.1/src/lib/tls.c
--- bacula-11.0.1.old/src/lib/tls.c 2021-02-11 14:08:38.218885943 +0100
+++ bacula-11.0.1/src/lib/tls.c 2021-02-11 14:08:42.565957674 +0100
@@ -47,9 +47,6 @@
#include "openssl-compat.h"
@ -23,7 +23,7 @@ diff -Naur bacula-9.0.6.old/src/lib/tls.c bacula-9.0.6/src/lib/tls.c
/* TLS Context Structure */
struct TLS_Context {
SSL_CTX *openssl;
@@ -206,7 +203,7 @@
@@ -350,7 +347,7 @@
SSL_CTX_set_options(ctx->openssl, SSL_OP_SINGLE_DH_USE);
}
@ -32,7 +32,7 @@ diff -Naur bacula-9.0.6.old/src/lib/tls.c bacula-9.0.6/src/lib/tls.c
Jmsg0(NULL, M_ERROR, 0,
_("Error setting cipher list, no valid ciphers available\n"));
goto err;
@@ -328,7 +325,7 @@
@@ -551,7 +548,7 @@
extname = OBJ_nid2sn(OBJ_obj2nid(X509_EXTENSION_get_object(ext)));
if (strcmp(extname, "subjectAltName") == 0) {

View File

@ -1,6 +1,6 @@
diff -Naur bacula-9.0.0.old/src/dird/bacula-dir.conf.in bacula-9.0.0/src/dird/bacula-dir.conf.in
--- bacula-9.0.0.old/src/dird/bacula-dir.conf.in 2017-07-10 08:52:38.930834509 +0200
+++ bacula-9.0.0/src/dird/bacula-dir.conf.in 2017-07-10 08:53:11.189444548 +0200
diff -Naur bacula-11.0.0.old/src/dird/bacula-dir.conf.in bacula-11.0.0/src/dird/bacula-dir.conf.in
--- bacula-11.0.0.old/src/dird/bacula-dir.conf.in 2021-01-12 12:36:32.650470459 +0100
+++ bacula-11.0.0/src/dird/bacula-dir.conf.in 2021-01-12 12:36:38.297573839 +0100
@@ -18,7 +18,7 @@
Director { # define myself
Name = @basename@-dir
@ -10,15 +10,15 @@ diff -Naur bacula-9.0.0.old/src/dird/bacula-dir.conf.in bacula-9.0.0/src/dird/ba
WorkingDirectory = "@working_dir@"
PidDirectory = "@piddir@"
Maximum Concurrent Jobs = 20
diff -Naur bacula-9.0.0.old/src/dird/Makefile.in bacula-9.0.0/src/dird/Makefile.in
--- bacula-9.0.0.old/src/dird/Makefile.in 2017-07-10 08:52:38.930834509 +0200
+++ bacula-9.0.0/src/dird/Makefile.in 2017-07-10 08:54:24.363828341 +0200
@@ -124,11 +124,11 @@
@if test "x${dir_group}" != "x" -a "x${DESTDIR}" = "x" ; then \
diff -Naur bacula-11.0.0.old/src/dird/Makefile.in bacula-11.0.0/src/dird/Makefile.in
--- bacula-11.0.0.old/src/dird/Makefile.in 2021-01-12 12:36:32.657470588 +0100
+++ bacula-11.0.0/src/dird/Makefile.in 2021-01-12 12:37:37.827663637 +0100
@@ -125,11 +125,11 @@
@if test "x${dir_group}" != "x"; then \
chgrp -f ${dir_group} ${DESTDIR}${sysconfdir}/$$destconf ; \
fi
- @if test -f ${DESTDIR}${scriptdir}/query.sql; then \
+ @if test -f ${DESTDIR}${sysconfdir}/query.sql; then \
- @if test -f ${DESTDIR}${scriptdir}/query.sql; then \
+ @if test -f ${DESTDIR}${sysconfdir}/query.sql; then \
echo " ==> Saving existing query.sql to query.sql.old"; \
- $(MV) -f ${DESTDIR}${scriptdir}/query.sql ${DESTDIR}${scriptdir}/query.sql.old; \
+ $(MV) -f ${DESTDIR}${sysconfdir}/query.sql ${DESTDIR}${sysconfdir}/query.sql.old; \
@ -28,7 +28,7 @@ diff -Naur bacula-9.0.0.old/src/dird/Makefile.in bacula-9.0.0/src/dird/Makefile.
@if test -f static-bacula-dir; then \
$(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) static-bacula-dir $(DESTDIR)$(sbindir)/static-bacula-dir; \
fi
@@ -137,7 +137,7 @@
@@ -138,7 +138,7 @@
uninstall:
(cd $(DESTDIR)$(sbindir); $(RMF) bacula-dir bdirjson)
(cd $(DESTDIR)$(sysconfdir); $(RMF) bacula-dir.conf bacula-dir.conf.new)

View File

@ -1,5 +1,5 @@
[Unit]
Description=Bacula-StorageDaemon, the storage-server
Description=Bacula Storage Daemon
Documentation=man:bacula-sd(8)
After=network.target nss-lookup.target

View File

@ -1,6 +1,6 @@
diff -Naur bacula-9.0.0.old/src/lib/message.c bacula-9.0.0/src/lib/message.c
--- bacula-9.0.0.old/src/lib/message.c 2017-07-10 08:52:38.928834471 +0200
+++ bacula-9.0.0/src/lib/message.c 2017-07-10 09:04:34.923403834 +0200
diff -Naur bacula-11.0.0.old/src/lib/message.c bacula-11.0.0/src/lib/message.c
--- bacula-11.0.0.old/src/lib/message.c 2021-01-12 12:36:32.630470094 +0100
+++ bacula-11.0.0/src/lib/message.c 2021-01-12 12:39:42.477945569 +0100
@@ -28,6 +28,7 @@
*
*/
@ -9,7 +9,7 @@ diff -Naur bacula-9.0.0.old/src/lib/message.c bacula-9.0.0/src/lib/message.c
#include "bacula.h"
#include "jcr.h"
@@ -1367,7 +1368,8 @@
@@ -1476,7 +1477,8 @@
if (type == M_ABORT) {
char *p = 0;

9
bacula-sqlite-priv.patch Normal file
View File

@ -0,0 +1,9 @@
diff -Naur bacula-11.0.0.old/src/cats/make_sqlite3_tables.in bacula-11.0.0/src/cats/make_sqlite3_tables.in
--- bacula-11.0.0.old/src/cats/make_sqlite3_tables.in 2021-01-12 12:36:32.660470643 +0100
+++ bacula-11.0.0/src/cats/make_sqlite3_tables.in 2021-01-12 12:38:45.241897767 +0100
@@ -555,4 +555,5 @@
echo ""
chmod 640 ${db_name}.db
+chown bacula:bacula ${db_name}.db
exit 0

BIN
bacula-tray-monitor.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -3,11 +3,10 @@ Date: Mon Aug 12 14:51:39 2019 +0200
Use functions from OpenSSL for HMAC, MD5 and random bytes
diff --git a/bacula/src/dird/dird_conf.c b/bacula/src/dird/dird_conf.c
index 02fae0bab..dff241356 100644
--- a/bacula/src/dird/dird_conf.c
+++ b/bacula/src/dird/dird_conf.c
@@ -42,6 +42,10 @@
diff -up bacula-11.0.1/src/dird/dird_conf.c.orig bacula-11.0.1/src/dird/dird_conf.c
--- bacula-11.0.1/src/dird/dird_conf.c.orig 2021-02-05 22:23:44.000000000 +0100
+++ bacula-11.0.1/src/dird/dird_conf.c 2022-02-11 19:43:38.870718113 +0100
@@ -43,6 +43,10 @@
#include "bacula.h"
#include "dird.h"
@ -18,7 +17,7 @@ index 02fae0bab..dff241356 100644
/* Define the first and last resource ID record
* types. Note, these should be unique for each
* daemon though not a requirement.
@@ -1645,6 +1649,11 @@ void free_resource(RES *rres, int type)
@@ -1783,6 +1787,11 @@ void free_resource(RES *rres, int type)
free(res->res_fs.exclude_items);
}
res->res_fs.num_excludes = 0;
@ -30,11 +29,10 @@ index 02fae0bab..dff241356 100644
break;
case R_POOL:
if (res->res_pool.pool_type) {
diff --git a/bacula/src/dird/dird_conf.h b/bacula/src/dird/dird_conf.h
index 5174a7a14..4e910c5bd 100644
--- a/bacula/src/dird/dird_conf.h
+++ b/bacula/src/dird/dird_conf.h
@@ -24,6 +24,10 @@
diff -up bacula-11.0.1/src/dird/dird_conf.h.orig bacula-11.0.1/src/dird/dird_conf.h
--- bacula-11.0.1/src/dird/dird_conf.h.orig 2021-02-05 22:23:44.000000000 +0100
+++ bacula-11.0.1/src/dird/dird_conf.h 2022-02-11 19:43:38.870718113 +0100
@@ -25,6 +25,10 @@
/* NOTE: #includes at the end of this file */
@ -45,7 +43,7 @@ index 5174a7a14..4e910c5bd 100644
/*
* Resource codes -- they must be sequential for indexing
*/
@@ -591,7 +595,11 @@ public:
@@ -608,7 +612,11 @@ public:
INCEXE **exclude_items;
int32_t num_excludes;
bool have_MD5; /* set if MD5 initialized */
@ -57,10 +55,9 @@ index 5174a7a14..4e910c5bd 100644
char MD5[30]; /* base 64 representation of MD5 */
bool ignore_fs_changes; /* Don't force Full if FS changed */
bool enable_vss; /* Enable Volume Shadow Copy */
diff --git a/bacula/src/dird/inc_conf.c b/bacula/src/dird/inc_conf.c
index 3f4fbf55e..64b422242 100644
--- a/bacula/src/dird/inc_conf.c
+++ b/bacula/src/dird/inc_conf.c
diff -up bacula-11.0.1/src/dird/inc_conf.c.orig bacula-11.0.1/src/dird/inc_conf.c
--- bacula-11.0.1/src/dird/inc_conf.c.orig 2021-02-05 22:23:44.000000000 +0100
+++ bacula-11.0.1/src/dird/inc_conf.c 2022-02-11 19:43:38.870718113 +0100
@@ -32,6 +32,10 @@
#include <regex.h>
#endif
@ -72,7 +69,7 @@ index 3f4fbf55e..64b422242 100644
/* Forward referenced subroutines */
void store_inc(LEX *lc, RES_ITEM *item, int index, int pass);
@@ -354,7 +358,17 @@ static void store_newinc(LEX *lc, RES_ITEM *item, int index, int pass)
@@ -390,7 +394,17 @@ static void store_newinc(LEX *lc, RES_IT
bool options;
if (!res_all.res_fs.have_MD5) {
@ -89,8 +86,8 @@ index 3f4fbf55e..64b422242 100644
+#endif
res_all.res_fs.have_MD5 = true;
}
memset(&res_incexe, 0, sizeof(INCEXE));
@@ -620,7 +634,13 @@ static void store_fname(LEX *lc, RES_ITEM2 *item, int index, int pass, bool excl
bmemset(&res_incexe, 0, sizeof(INCEXE));
@@ -656,7 +670,13 @@ static void store_fname(LEX *lc, RES_ITE
}
case T_QUOTED_STRING:
if (res_all.res_fs.have_MD5) {
@ -104,7 +101,7 @@ index 3f4fbf55e..64b422242 100644
}
incexe = &res_incexe;
if (incexe->name_list.size() == 0) {
@@ -663,7 +683,13 @@ static void store_plugin_name(LEX *lc, RES_ITEM2 *item, int index, int pass, boo
@@ -699,7 +719,13 @@ static void store_plugin_name(LEX *lc, R
}
case T_QUOTED_STRING:
if (res_all.res_fs.have_MD5) {
@ -118,11 +115,10 @@ index 3f4fbf55e..64b422242 100644
}
incexe = &res_incexe;
if (incexe->plugin_list.size() == 0) {
diff --git a/bacula/src/dird/job.c b/bacula/src/dird/job.c
index b5b39c7d5..7d69f0157 100644
--- a/bacula/src/dird/job.c
+++ b/bacula/src/dird/job.c
@@ -25,6 +25,10 @@
diff -up bacula-11.0.1/src/dird/job.c.orig bacula-11.0.1/src/dird/job.c
--- bacula-11.0.1/src/dird/job.c.orig 2021-02-05 22:23:44.000000000 +0100
+++ bacula-11.0.1/src/dird/job.c 2022-02-11 19:43:38.871718095 +0100
@@ -27,6 +27,10 @@
#include "bacula.h"
#include "dird.h"
@ -133,7 +129,7 @@ index b5b39c7d5..7d69f0157 100644
/* Forward referenced subroutines */
static void *job_thread(void *arg);
static void job_monitor_watchdog(watchdog_t *self);
@@ -1308,10 +1312,27 @@ bool get_or_create_fileset_record(JCR *jcr)
@@ -1342,10 +1346,27 @@ bool get_or_create_fileset_record(JCR *j
memset(&fsr, 0, sizeof(FILESET_DBR));
bstrncpy(fsr.FileSet, jcr->fileset->hdr.name, sizeof(fsr.FileSet));
if (jcr->fileset->have_MD5) {
@ -161,10 +157,9 @@ index b5b39c7d5..7d69f0157 100644
/*
* Keep the flag (last arg) set to false otherwise old FileSets will
* get new MD5 sums and the user will get Full backups on everything
diff --git a/bacula/src/lib/hmac.c b/bacula/src/lib/hmac.c
index a8d5e3dc0..dc3b78383 100644
--- a/bacula/src/lib/hmac.c
+++ b/bacula/src/lib/hmac.c
diff -up bacula-11.0.1/src/lib/hmac.c.orig bacula-11.0.1/src/lib/hmac.c
--- bacula-11.0.1/src/lib/hmac.c.orig 2021-02-05 22:23:44.000000000 +0100
+++ bacula-11.0.1/src/lib/hmac.c 2022-02-11 19:43:38.871718095 +0100
@@ -26,6 +26,10 @@
*/
#include "bacula.h"
@ -204,10 +199,9 @@ index a8d5e3dc0..dc3b78383 100644
/*
Test Vectors (Trailing '\0' of a character string not included in test):
diff --git a/bacula/src/lib/parse_conf.c b/bacula/src/lib/parse_conf.c
index cb3573fbd..3f3f93fdc 100644
--- a/bacula/src/lib/parse_conf.c
+++ b/bacula/src/lib/parse_conf.c
diff -up bacula-11.0.1/src/lib/parse_conf.c.orig bacula-11.0.1/src/lib/parse_conf.c
--- bacula-11.0.1/src/lib/parse_conf.c.orig 2021-02-05 22:23:44.000000000 +0100
+++ bacula-11.0.1/src/lib/parse_conf.c 2022-02-11 19:43:38.871718095 +0100
@@ -59,6 +59,10 @@
#define MAX_PATH 1024
#endif
@ -219,7 +213,7 @@ index cb3573fbd..3f3f93fdc 100644
/*
* Define the Union of all the common resource structure definitions.
*/
@@ -538,7 +542,11 @@ void store_dir(LEX *lc, RES_ITEM *item, int index, int pass)
@@ -588,7 +592,11 @@ void store_dir(LEX *lc, RES_ITEM *item,
void store_password(LEX *lc, RES_ITEM *item, int index, int pass)
{
unsigned int i, j;
@ -231,7 +225,7 @@ index cb3573fbd..3f3f93fdc 100644
unsigned char digest[CRYPTO_DIGEST_MD5_SIZE];
char sig[100];
@@ -548,9 +556,21 @@ void store_password(LEX *lc, RES_ITEM *item, int index, int pass)
@@ -598,9 +606,21 @@ void store_password(LEX *lc, RES_ITEM *i
} else {
lex_get_token(lc, T_STRING);
if (pass == 1) {
@ -253,11 +247,10 @@ index cb3573fbd..3f3f93fdc 100644
for (i = j = 0; i < sizeof(digest); i++) {
sprintf(&sig[j], "%02x", digest[i]);
j += 2;
diff --git a/bacula/src/lib/util.c b/bacula/src/lib/util.c
index 2c425aa4c..e82b907d8 100644
--- a/bacula/src/lib/util.c
+++ b/bacula/src/lib/util.c
@@ -707,6 +707,35 @@ int do_shell_expansion(char *name, int name_len)
diff -up bacula-11.0.1/src/lib/util.c.orig bacula-11.0.1/src/lib/util.c
--- bacula-11.0.1/src/lib/util.c.orig 2021-02-05 22:23:44.000000000 +0100
+++ bacula-11.0.1/src/lib/util.c 2022-02-11 19:43:38.872718077 +0100
@@ -707,6 +707,35 @@ int do_shell_expansion(char *name, int n
from SpeakFreely by John Walker */
void make_session_key(char *key, char *seed, int mode)
@ -293,7 +286,7 @@ index 2c425aa4c..e82b907d8 100644
{
int j, k;
struct MD5Context md5c;
@@ -790,6 +819,7 @@ void make_session_key(char *key, char *seed, int mode)
@@ -790,6 +819,7 @@ void make_session_key(char *key, char *s
}
}
#undef nextrand

762
bacula.spec Normal file
View File

@ -0,0 +1,762 @@
%global uid 133
%global username bacula
%if 0%{?rhel} && ! 0%{?epel}
%bcond_with nagios
%else
%bcond_without nagios
%endif
Name: bacula
Version: 11.0.1
Release: 5%{?dist}
Summary: Cross platform network backup for Linux, Unix, Mac and Windows
# See LICENSE for details
License: AGPLv3 with exceptions
URL: http://www.bacula.org
Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
Source2: quickstart_postgresql.txt
Source3: quickstart_mysql.txt
Source4: quickstart_sqlite3.txt
Source5: README.Redhat
Source6: %{name}.logrotate
Source10: %{name}-fd.service
Source11: %{name}-dir.service
Source12: %{name}-sd.service
Source15: %{name}-fd.sysconfig
Source16: %{name}-dir.sysconfig
Source17: %{name}-sd.sysconfig
Source19: https://salsa.debian.org/bacula-team/bacula/-/raw/master/debian/additions/bacula-tray-monitor.png#/bacula-tray-monitor.png
Patch1: %{name}-openssl.patch
Patch2: %{name}-queryfile.patch
Patch3: %{name}-sqlite-priv.patch
Patch4: %{name}-bat-build.patch
Patch5: %{name}-seg-fault.patch
Patch6: %{name}-logwatch.patch
Patch7: %{name}-non-free-code.patch
Patch8: %{name}-desktop.patch
Patch9: %{name}-g++-options.patch
Patch10: %{name}-install.patch
Patch11: %{name}-docker-plugin.patch
# Original patch removed by mistake, upstream is not willing to add it again:
# http://www.bacula.org/git/cgit.cgi/bacula/commit/?h=Branch-7.0&id=51b3b98fb77ab3c0decee455cc6c4d2eb3c5303a
# Without this, there is no library providing the correct shared object name
# required by the daemons.
# http://bugs.bacula.org/view.php?id=2084
Patch12: %{name}-autoconf.patch
Patch13: %{name}-build-cdp-plugin.patch
Patch14: %{name}-nagios.patch
Patch15: %{name}-use-crypto-from-openssl.patch
BuildRequires: desktop-file-utils
BuildRequires: perl-generators
BuildRequires: sed
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: glibc-devel
BuildRequires: libacl-devel
BuildRequires: libstdc++-devel
BuildRequires: libxml2-devel
BuildRequires: libcap-devel
BuildRequires: lzo-devel
BuildRequires: make
BuildRequires: ncurses-devel
BuildRequires: openssl-devel
BuildRequires: qt5-qtbase-devel
BuildRequires: readline-devel
BuildRequires: sqlite-devel
BuildRequires: systemd
BuildRequires: zlib-devel
%if 0%{?fedora} || 0%{?rhel} > 7
BuildRequires: mariadb-connector-c-devel
# https://fedoraproject.org/wiki/Changes/perl_Package_to_Install_Core_Modules
BuildRequires: perl-interpreter
%else
BuildRequires: mysql-devel
BuildRequires: perl
BuildRequires: tcp_wrappers-devel
%endif
%if 0%{?fedora}
BuildRequires: libpq-devel
%else
BuildRequires: postgresql-devel
%endif
%description
Bacula is a set of programs that allow you to manage the backup, recovery, and
verification of computer data across a network of different computers. It is
based on a client/server architecture and is efficient and relatively easy to
use, while offering many advanced storage management features that make it easy
to find and recover lost or damaged files.
%package libs
Summary: Bacula libraries
%description libs
Bacula is a set of programs that allow you to manage the backup,
recovery, and verification of computer data across a network of
different computers. It is based on a client/server architecture.
This package contains basic Bacula libraries, which are used by all
Bacula programs.
%package libs-sql
Summary: Bacula SQL libraries
Obsoletes: bacula-libs-mysql <= 5.0.3
Obsoletes: bacula-libs-sqlite <= 5.0.3
Obsoletes: bacula-libs-postgresql <= 5.0.3
Provides: bacula-libs-mysql = %{version}-%{release}
Provides: bacula-libs-sqlite = %{version}-%{release}
Provides: bacula-libs-postgresql = %{version}-%{release}
%description libs-sql
Bacula is a set of programs that allow you to manage the backup, recovery, and
verification of computer data across a network of different computers. It is
based on a client/server architecture.
This package contains the SQL Bacula libraries, which are used by Director and
Storage daemons. You have to select your preferred catalog library through the
alternatives system.
%package common
Summary: Common Bacula files
Provides: group(%username) = %uid
Provides: user(%username) = %uid
Requires: bacula-libs%{?_isa} = %{version}-%{release}
Requires(pre): shadow-utils
Requires(postun): shadow-utils
%description common
Bacula is a set of programs that allow you to manage the backup, recovery, and
verification of computer data across a network of different computers. It is
based on a client/server architecture.
This package contains files common to all Bacula daemons.
%package director
Summary: Bacula Director files
Requires: bacula-common%{?_isa} = %{version}-%{release}
Requires: bacula-libs%{?_isa} = %{version}-%{release}
Requires: bacula-libs-sql%{?_isa} = %{version}-%{release}
# Director backends merged into core.
Provides: bacula-director-common = %{version}-%{release}
Obsoletes: bacula-director-common < 5.2.3-5
Provides: bacula-director-mysql = %{version}-%{release}
Obsoletes: bacula-director-mysql < 5.2.3-5
Provides: bacula-director-sqlite = %{version}-%{release}
Obsoletes: bacula-director-sqlite < 5.2.3-5
Provides: bacula-director-postgresql = %{version}-%{release}
Obsoletes: bacula-director-postgresql < 5.2.3-5
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
%description director
Bacula is a set of programs that allow you to manage the backup, recovery, and
verification of computer data across a network of different computers. It is
based on a client/server architecture.
This package contains the director files.
%package logwatch
Summary: Bacula Director logwatch scripts
BuildArch: noarch
Requires: bacula-director = %{version}-%{release}
Requires: logwatch
%description logwatch
Bacula is a set of programs that allow you to manage the backup, recovery, and
verification of computer data across a network of different computers. It is
based on a client/server architecture.
This package contains logwatch scripts for Bacula Director.
%package storage
Summary: Bacula storage daemon files
Requires: bacula-common%{?_isa} = %{version}-%{release}
Requires: bacula-libs%{?_isa} = %{version}-%{release}
Requires: bacula-libs-sql%{?_isa} = %{version}-%{release}
Requires: mt-st
Requires: mtx
# Storage backends merged into core.
Provides: bacula-storage-common = %{version}-%{release}
Obsoletes: bacula-storage-common < 5.2.2-2
Provides: bacula-storage-mysql = %{version}-%{release}
Obsoletes: bacula-storage-mysql < 5.2.0
Provides: bacula-storage-sqlite = %{version}-%{release}
Obsoletes: bacula-storage-sqlite < 5.2.0
Provides: bacula-storage-postgresql = %{version}-%{release}
Obsoletes: bacula-storage-postgresql < 5.2.0
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
%description storage
Bacula is a set of programs that allow you to manage the backup, recovery, and
verification of computer data across a network of different computers. It is
based on a client/server architecture.
This package contains the storage daemon, the daemon responsible for writing
the data received from the clients onto tape drives or other mass storage
devices.
%package client
Summary: Bacula backup client
Requires: bacula-common%{?_isa} = %{version}-%{release}
Requires: bacula-libs%{?_isa} = %{version}-%{release}
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
%description client
Bacula is a set of programs that allow you to manage the backup, recovery, and
verification of computer data across a network of different computers. It is
based on a client/server architecture.
This package contains the bacula client, the daemon running on the system to be
backed up.
%package console
Summary: Bacula management console
Obsoletes: bacula-console-wxwidgets <= 5.0.3
Requires: bacula-libs%{?_isa} = %{version}-%{release}
%description console
Bacula is a set of programs that allow you to manage the backup, recovery, and
verification of computer data across a network of different computers. It is
based on a client/server architecture.
This package contains the command-line management console for the bacula backup
system.
%package console-bat
Summary: Bacula bat console
Requires: bacula-libs%{?_isa} = %{version}-%{release}
Requires: dejavu-lgc-sans-fonts
%description console-bat
Bacula is a set of programs that allow you to manage the backup, recovery, and
verification of computer data across a network of different computers. It is
based on a client/server architecture.
This package contains the bat version of the bacula management console.
%package traymonitor
Summary: Bacula system tray monitor
Requires: bacula-libs%{?_isa} = %{version}-%{release}
Requires: dejavu-lgc-sans-fonts
%description traymonitor
Bacula is a set of programs that allow you to manage the backup, recovery, and
verification of computer data across a network of different computers. It is
based on a client/server architecture.
This package contains the Gnome and KDE compatible tray monitor to monitor your
bacula server.
%package devel
Summary: Bacula development files
Requires: bacula-libs%{?_isa} = %{version}-%{release}
Requires: bacula-libs-sql%{?_isa} = %{version}-%{release}
%description devel
Bacula is a set of programs that allow you to manage the backup, recovery, and
verification of computer data across a network of different computers. It is
based on a client/server architecture.
This development package contains static libraries and header files.
%if %{with nagios}
%package -n nagios-plugins-bacula
Summary: Nagios Plugin - check_bacula
Requires: bacula-libs%{?_isa} = %{version}-%{release}
Requires: nagios-common%{?_isa}
%description -n nagios-plugins-bacula
Provides check_bacula support for Nagios.
%endif
%prep
%autosetup -p1
cp %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} .
# Regenerate configure
pushd autoconf
sed -i -r 's/(hardcode_into_libs)=.*$/\1=no/' libtool/libtool.m4
aclocal -I bacula-macros/ -I gettext-macros/ -I libtool/
popd
autoconf -I autoconf/ -o configure autoconf/configure.in
# Remove execution permissions from files we're packaging as docs later on
find updatedb -type f | xargs chmod -x
%build
export CFLAGS="%{optflags} -I%{_includedir}/ncurses"
export CPPFLAGS="%{optflags} -I%{_includedir}/ncurses"
export PATH="$PATH:%{_qt5_bindir}"
%configure \
--disable-conio \
--disable-rpath \
--disable-s3 \
--docdir=%{_datadir}/bacula \
--enable-bat \
--enable-batch-insert \
--enable-build-dird \
--enable-build-stored \
--enable-includes \
--enable-largefile \
--enable-readline \
--enable-smartalloc \
--sysconfdir=%{_sysconfdir}/bacula \
--with-basename=bacula \
--with-bsrdir=%{_localstatedir}/spool/bacula \
--with-dir-password=@@DIR_PASSWORD@@ \
--with-fd-password=@@FD_PASSWORD@@ \
--with-hostname=localhost \
--with-logdir=%{_localstatedir}/log/bacula \
--with-mon-dir-password=@@MON_DIR_PASSWORD@@ \
--with-mon-fd-password=@@MON_FD_PASSWORD@@ \
--with-mon-sd-password=@@MON_SD_PASSWORD@@ \
--with-mysql \
--with-openssl \
--with-pid-dir=%{_localstatedir}/run \
--with-plugindir=%{_libdir}/%{name} \
--with-postgresql \
--with-scriptdir=%{_libexecdir}/bacula \
--with-sd-password=@@SD_PASSWORD@@ \
--with-smtp-host=localhost \
--with-sqlite3 \
--with-subsys-dir=%{_localstatedir}/lock/subsys \
%if 0%{!?fedora} || 0%{!?rhel} > 7
--with-tcp-wrappers \
%endif
--with-working-dir=%{_localstatedir}/spool/bacula \
--with-x
# Remove RPATH
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
pushd src/qt-console/
%{?qmake_qt5}%{!?qmake_qt5:qmake-qt5} bat.pro
pushd tray-monitor
%{?qmake_qt5}%{!?qmake_qt5:qmake-qt5} tray-monitor.pro
popd
popd
%make_build
%make_build -C src/tools/cdp-client
%if %{with nagios}
%make_build -C examples/nagios/check_bacula
%endif
pushd src/qt-console/
%{?qmake_qt5}%{!?qmake_qt5:qmake-qt5} bat.pro
pushd tray-monitor
%{?qmake_qt5}%{!?qmake_qt5:qmake-qt5} tray-monitor.pro
popd
popd
# Convert image to png for tray monitor icon
%install
%make_install
%make_install -C src/tools/cdp-client
%if %{with nagios}
%make_install -C examples/nagios/check_bacula
%endif
# This will be managed through alternatives, as it requires the name to NOT
# change between upgrades, so the versioned library name can not be used.
rm -f %{buildroot}%{_libdir}/libbaccats.so
# Bat
install -p -m 644 -D src/qt-console/images/bat_icon.png %{buildroot}%{_datadir}/pixmaps/bat_icon.png
install -p -m 644 -D scripts/bat.desktop %{buildroot}%{_datadir}/applications/bat.desktop
install -p -m 755 -D src/qt-console/.libs/bat %{buildroot}%{_sbindir}/bat
install -p -m 644 -D manpages/bacula-tray-monitor.1 %{buildroot}%{_mandir}/man1/bacula-tray-monitor.1
install -p -m 644 -D %{SOURCE19} %{buildroot}%{_datadir}/pixmaps/bacula-tray-monitor.png
install -p -m 644 -D scripts/bacula-tray-monitor.desktop %{buildroot}%{_datadir}/applications/bacula-tray-monitor.desktop
# Logrotate
mkdir -p %{buildroot}%{_localstatedir}/log/bacula
install -p -m 644 -D %{SOURCE6} %{buildroot}%{_sysconfdir}/logrotate.d/bacula
# Logwatch
install -p -m 755 -D scripts/logwatch/bacula %{buildroot}%{_sysconfdir}/logwatch/scripts/services/bacula
install -p -m 755 -D scripts/logwatch/applybaculadate %{buildroot}%{_sysconfdir}/logwatch/scripts/shared/applybaculadate
install -p -m 644 -D scripts/logwatch/logfile.bacula.conf %{buildroot}%{_sysconfdir}/logwatch/conf/logfiles/bacula.conf
install -p -m 644 -D scripts/logwatch/services.bacula.conf %{buildroot}%{_sysconfdir}/logwatch/conf/services/bacula.conf
# Systemd unit files
mkdir -p %{buildroot}%{_unitdir}
install -p -m 644 -D %{SOURCE10} %{buildroot}%{_unitdir}/bacula-fd.service
install -p -m 644 -D %{SOURCE11} %{buildroot}%{_unitdir}/bacula-dir.service
install -p -m 644 -D %{SOURCE12} %{buildroot}%{_unitdir}/bacula-sd.service
# Sysconfig
install -p -m 644 -D %{SOURCE15} %{buildroot}%{_sysconfdir}/sysconfig/bacula-fd
install -p -m 644 -D %{SOURCE16} %{buildroot}%{_sysconfdir}/sysconfig/bacula-dir
install -p -m 644 -D %{SOURCE17} %{buildroot}%{_sysconfdir}/sysconfig/bacula-sd
# Spool directory
mkdir -p %{buildroot}%{_localstatedir}/spool/bacula
# Remove stuff we do not need
rm -f %{buildroot}%{_libexecdir}/bacula/{bacula,bacula-ctl-*,startmysql,stopmysql,bconsole,make_catalog_backup}
rm -f %{buildroot}%{_sbindir}/bacula
rm -f %{buildroot}%{_mandir}/man8/bacula.8.gz
rm -f %{buildroot}%{_libdir}/*.la
rm -f %{buildroot}%{_datadir}/bacula/{ChangeLog,INSTALL,LICENSE*,README,ReleaseNotes,VERIFYING,technotes}
# Fix up some perms so rpmlint does not complain too much
chmod 755 %{buildroot}%{_sbindir}/*
chmod 755 %{buildroot}%{_libdir}/%{name}/*
chmod 755 %{buildroot}%{_libexecdir}/bacula/*
chmod 644 %{buildroot}%{_libexecdir}/bacula/btraceback.*
%ldconfig_scriptlets libs
%post libs-sql
/usr/sbin/alternatives --install %{_libdir}/libbaccats.so libbaccats.so %{_libdir}/libbaccats-mysql.so 50
/usr/sbin/alternatives --install %{_libdir}/libbaccats.so libbaccats.so %{_libdir}/libbaccats-sqlite3.so 40
/usr/sbin/alternatives --install %{_libdir}/libbaccats.so libbaccats.so %{_libdir}/libbaccats-postgresql.so 60
# Fix for automatic selection of backends during upgrades
if readlink /etc/alternatives/libbaccats.so | grep --silent mysql || \
readlink /etc/alternatives/bacula-dir | grep --silent mysql || \
readlink /etc/alternatives/bacula-sd | grep --silent mysql; then
/usr/sbin/alternatives --set libbaccats.so %{_libdir}/libbaccats-mysql.so
elif readlink /etc/alternatives/libbaccats.so | grep --silent sqlite || \
readlink /etc/alternatives/bacula-dir | grep --silent sqlite || \
readlink /etc/alternatives/bacula-sd | grep --silent sqlite; then
/usr/sbin/alternatives --set libbaccats.so %{_libdir}/libbaccats-sqlite3.so
else
/usr/sbin/alternatives --set libbaccats.so %{_libdir}/libbaccats-postgresql.so
fi
%{?ldconfig}
%preun libs-sql
if [ "$1" = 0 ]; then
/usr/sbin/alternatives --remove libbaccats.so %{_libdir}/libbaccats-mysql.so
/usr/sbin/alternatives --remove libbaccats.so %{_libdir}/libbaccats-sqlite3.so
/usr/sbin/alternatives --remove libbaccats.so %{_libdir}/libbaccats-postgresql.so
fi
%ldconfig_postun libs-sql
%pre common
getent group %username >/dev/null || groupadd -g %uid -r %username &>/dev/null || :
getent passwd %username >/dev/null || useradd -u %uid -r -s /sbin/nologin \
-d /var/spool/bacula -M -c 'Bacula Backup System' -g %username %username &>/dev/null || :
exit 0
%post client
%systemd_post %{name}-fd.service
%preun client
%systemd_preun %{name}-fd.service
%postun client
%systemd_postun_with_restart %{name}-fd.service
%post director
%systemd_post %{name}-dir.service
%preun director
%systemd_preun %{name}-dir.service
%postun director
%systemd_postun_with_restart %{name}-dir.service
%post storage
%systemd_post %{name}-sd.service
%preun storage
%systemd_preun %{name}-sd.service
%postun storage
%systemd_postun_with_restart %{name}-sd.service
%files libs
%license LICENSE
%doc AUTHORS ChangeLog SUPPORT ReleaseNotes LICENSE-FAQ LICENSE-FOSS
%{_libdir}/libbac-%{version}.so
%{_libdir}/libbaccfg-%{version}.so
%{_libdir}/libbacfind-%{version}.so
%{_libdir}/libbacsd-%{version}.so
%files libs-sql
# On Fedora 28 this gets recreated automatically even if the library is
# deleted in the install section.
# On EPEL 6 this is required until RPM assembly time or an error is given due
# to the missing library.
# So: leave the library in place until the very end and just exclude it.
%exclude %{_libdir}/libbaccats-%{version}.so
%{_libdir}/libbaccats-mysql-%{version}.so
%{_libdir}/libbaccats-mysql.so
%{_libdir}/libbaccats-postgresql-%{version}.so
%{_libdir}/libbaccats-postgresql.so
%{_libdir}/libbaccats-sqlite3-%{version}.so
%{_libdir}/libbaccats-sqlite3.so
%{_libdir}/libbacsql-%{version}.so
%files common
%doc README.Redhat quickstart_*
%config(noreplace) %{_sysconfdir}/logrotate.d/bacula
%dir %{_localstatedir}/log/bacula %attr(750, bacula, bacula)
%dir %{_localstatedir}/spool/bacula %attr(750, bacula, bacula)
%dir %{_libexecdir}/%{name}
%dir %{_sysconfdir}/%{name} %attr(755,root,root)
%{_libexecdir}/%{name}/btraceback.dbx
%{_libexecdir}/%{name}/btraceback.gdb
%{_libexecdir}/%{name}/bacula_config
%{_libexecdir}/%{name}/btraceback.mdb
%{_mandir}/man8/btraceback.8*
%{_sbindir}/btraceback
%files director
%doc updatedb examples/sample-query.sql
%config(noreplace) %{_sysconfdir}/bacula/bacula-dir.conf %attr(640,root,bacula)
%config(noreplace) %{_sysconfdir}/bacula/query.sql %attr(640,root,bacula)
%config(noreplace) %{_sysconfdir}/sysconfig/bacula-dir
%{_libexecdir}/%{name}/baculabackupreport
%{_libexecdir}/%{name}/create_bacula_database
%{_libexecdir}/%{name}/delete_catalog_backup
%{_libexecdir}/%{name}/drop_bacula_database
%{_libexecdir}/%{name}/drop_bacula_tables
%{_libexecdir}/%{name}/grant_bacula_privileges
%{_libexecdir}/%{name}/make_bacula_tables
%{_libexecdir}/%{name}/make_catalog_backup.pl
%{_libexecdir}/%{name}/update_bacula_tables
%{_libexecdir}/%{name}/create_mysql_database
%{_libexecdir}/%{name}/drop_mysql_database
%{_libexecdir}/%{name}/drop_mysql_tables
%{_libexecdir}/%{name}/grant_mysql_privileges
%{_libexecdir}/%{name}/make_mysql_tables
%{_libexecdir}/%{name}/update_mysql_tables
%{_libexecdir}/%{name}/create_sqlite3_database
%{_libexecdir}/%{name}/drop_sqlite3_database
%{_libexecdir}/%{name}/drop_sqlite3_tables
%{_libexecdir}/%{name}/grant_sqlite3_privileges
%{_libexecdir}/%{name}/make_sqlite3_tables
%{_libexecdir}/%{name}/update_sqlite3_tables
%{_libexecdir}/%{name}/create_postgresql_database
%{_libexecdir}/%{name}/drop_postgresql_database
%{_libexecdir}/%{name}/drop_postgresql_tables
%{_libexecdir}/%{name}/grant_postgresql_privileges
%{_libexecdir}/%{name}/make_postgresql_tables
%{_libexecdir}/%{name}/update_postgresql_tables
%{_mandir}/man1/bsmtp.1*
%{_mandir}/man8/bacula-dir.8*
%{_mandir}/man8/bregex.8*
%{_mandir}/man8/bwild.8*
%{_mandir}/man8/dbcheck.8*
%{_sbindir}/bacula-dir
%{_sbindir}/bdirjson
%{_sbindir}/bregex
%{_sbindir}/bsmtp
%{_sbindir}/bwild
%{_sbindir}/dbcheck
%{_unitdir}/bacula-dir.service
%files logwatch
%config(noreplace) %{_sysconfdir}/logwatch/conf/logfiles/bacula.conf
%config(noreplace) %{_sysconfdir}/logwatch/conf/services/bacula.conf
%{_sysconfdir}/logwatch/scripts/services/bacula
%{_sysconfdir}/logwatch/scripts/shared/applybaculadate
%files storage
%config(noreplace) %{_sysconfdir}/bacula/bacula-sd.conf %attr(640,root,root)
%config(noreplace) %{_sysconfdir}/sysconfig/bacula-sd
%{_libexecdir}/%{name}/disk-changer
%{_libexecdir}/%{name}/isworm
%{_libexecdir}/%{name}/mtx-changer
%{_libexecdir}/%{name}/mtx-changer.conf
%{_libexecdir}/%{name}/tapealert
%{_mandir}/man8/bacula-sd.8*
%{_mandir}/man8/bcopy.8*
%{_mandir}/man8/bextract.8*
%{_mandir}/man8/bls.8*
%{_mandir}/man8/bscan.8*
%{_mandir}/man8/btape.8*
%{_sbindir}/bacula-sd
%{_sbindir}/bcopy
%{_sbindir}/bextract
%{_sbindir}/bls
%{_sbindir}/bscan
%{_sbindir}/bsdjson
%{_sbindir}/btape
%{_unitdir}/bacula-sd.service
%files client
%config(noreplace) %{_sysconfdir}/bacula/bacula-fd.conf %attr(640,root,root)
%config(noreplace) %{_sysconfdir}/sysconfig/bacula-fd
%{_mandir}/man8/bacula-fd.8*
%{_libdir}/%{name}/bpipe-fd.so
%{_libdir}/%{name}/cdp-fd.so
%{_libdir}/%{name}/docker-fd.so
%{_sbindir}/bacula-fd
%{_sbindir}/bfdjson
%{_sbindir}/cdp-client
%{_unitdir}/bacula-fd.service
%files console
%config(noreplace) %{_sysconfdir}/bacula/bconsole.conf %attr(640,root,root)
%{_mandir}/man8/bconsole.8*
%{_sbindir}/bconsole
%{_sbindir}/bbconsjson
%files console-bat
%config(noreplace) %{_sysconfdir}/bacula/bat.conf %attr(640,root,root)
%{_datadir}/applications/bat.desktop
%{_datadir}/bacula/*.html
%{_datadir}/bacula/*.png
%{_datadir}/pixmaps/bat_icon.png
%{_mandir}/man1/bat.1*
%{_sbindir}/bat
%files traymonitor
%config(noreplace) %{_sysconfdir}/bacula/bacula-tray-monitor.conf %attr(640,root,root)
%{_datadir}/applications/bacula-tray-monitor.desktop
%{_datadir}/pixmaps/bacula-tray-monitor.png
%{_mandir}/man1/bacula-tray-monitor.1*
%{_sbindir}/bacula-tray-monitor
%files devel
%{_includedir}/bacula
%{_libdir}/libbac.so
%{_libdir}/libbaccfg.so
%{_libdir}/libbacfind.so
%{_libdir}/libbacsd.so
%{_libdir}/libbacsql.so
%if %{with nagios}
%files -n nagios-plugins-bacula
%{_libdir}/nagios/plugins/check_bacula
%endif
%changelog
* Tue Feb 15 2022 Pavel Cahyna <pcahyna@redhat.com> - 11.0.1-5
- Make nagios-plugin build conditional and disabled on RHEL to avoid
generating this subpackage that has missing dependencies
- Fix flags for annobin in Qt tools (bat & tray-monitor) build
- Add a forgotten RHEL 8 patch to use openssl crypto (random numbers, hmac,
hashing functions)
Resolves: rhbz#1935458
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 11.0.1-4
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Wed Jun 16 2021 Mohan Boddu <mboddu@redhat.com> - 11.0.1-3
- Rebuilt for RHEL 9 BETA for openssl 3.0
Related: rhbz#1971065
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 11.0.1-2
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Thu Feb 11 2021 Simone Caronni <negativo17@gmail.com> - 11.0.1-1
- Update to 11.0.1.
* Mon Feb 08 2021 Pavel Raiskup <praiskup@redhat.com> - 11.0.0-5
- rebuild for libpq ABI fix rhbz#1908268
* Thu Jan 28 2021 Simone Caronni <negativo17@gmail.com> - 11.0.0-4
- Remove leftover ImageMagick build requirement.
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 11.0.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Fri Jan 15 2021 Simone Caronni <negativo17@gmail.com> - 11.0.0-2
- Build CDP plugin components.
* Tue Jan 12 2021 Simone Caronni <negativo17@gmail.com> - 11.0.0-1
- Update to 11.0.0.
- Enable Docker plugin.
* Tue Jan 12 2021 Simone Caronni <negativo17@gmail.com> - 9.6.7-1
- Update to 9.6.7.
- Drop support for building on CentOS/RHEL 6 and upgrades from version 2.4.
- Trim changelog.
* Wed Oct 07 2020 Simone Caronni <negativo17@gmail.com> - 9.6.6-1
- Update to 9.6.6.
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 9.6.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jul 24 2020 Simone Caronni <negativo17@gmail.com> - 9.6.5-1
- Update to 9.6.5.
* Tue Mar 17 2020 Simone Caronni <negativo17@gmail.com> - 9.6.3-1
- Update to 9.6.3.
* Thu Mar 05 2020 Simone Caronni <negativo17@gmail.com> - 9.6.2-2
- Fix RHEL/CentOS 6 builds.
* Sat Feb 29 2020 Simone Caronni <negativo17@gmail.com> - 9.6.2-1
- Update to 9.6.2.
* Mon Feb 10 2020 Václav Doležal <vdolezal@redhat.com> - 9.4.4-4
- Fix FTBFS (#1799185)
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 9.4.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 9.4.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed May 29 2019 Simone Caronni <negativo17@gmail.com> - 9.4.4-1
- Update to 9.4.4.
* Sat May 18 2019 Simone Caronni <negativo17@gmail.com> - 9.4.3-2
- SPEC file cleanups.
* Wed May 15 2019 Simone Caronni <negativo17@gmail.com> - 9.4.3-1
- Update to 9.4.3.
* Thu Apr 18 2019 Simone Caronni <negativo17@gmail.com> - 9.4.2-1
- Update to 9.4.2.
* Sun Feb 17 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 9.4.1-6
- Rebuild for readline 8.0
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 9.4.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Jan 14 2019 Björn Esser <besser82@fedoraproject.org> - 9.4.1-4
- Rebuilt for libcrypt.so.2 (#1666033)
* Sun Jan 13 2019 Simone Caronni <negativo17@gmail.com> - 9.4.1-3
- Build QT programs with QT 5 on RHEL/CentOS 7. Also, reduce the number of
required QT packages for building.
* Sun Jan 13 2019 Simone Caronni <negativo17@gmail.com> - 9.4.1-2
- Add Debian patch to enable/disable S3 support at configure time.
- Disable S3 as it does not currently build:
http://bugs.bacula.org/view.php?id=2446
- Update RPM macros.
* Sat Jan 12 2019 Simone Caronni <negativo17@gmail.com> - 9.4.1-1
- Update to 9.4.1.
* Sat Jan 12 2019 Simone Caronni <negativo17@gmail.com> - 9.4.0-1
- Update to 9.4.0.
* Sat Jan 12 2019 Simone Caronni <negativo17@gmail.com> - 9.2.1-2
- Make the build succeed also on supported RHEL and Fedora releases.
- Remove Fedora 27 references.

6
gating.yaml Normal file
View File

@ -0,0 +1,6 @@
--- !Policy
product_versions:
- rhel-9
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional}

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (bacula-11.0.1.tar.gz) = d2ac473f322ba5eec8737f02b12bcee6feafc0185cbc92feee4b9f5f33f1ce622a6de75fbec41b3f3709463c7aa661ada2daa9985cab1b71d271af7cb55cd4ca