summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2022-11-05 10:22:51 +0100
committerAndreas Baumann <mail@andreasbaumann.cc>2022-11-05 10:22:51 +0100
commit775eea1c5be7817294a76bac7e88c9e059a30ddb (patch)
tree0c33be3fe5cf5afbcdc33fbc4a5d42b8d7d372e5
parentc304846dc8831294563ef6118b6ef27692159571 (diff)
downloadarch-775eea1c5be7817294a76bac7e88c9e059a30ddb.tar.gz
arch-775eea1c5be7817294a76bac7e88c9e059a30ddb.tar.bz2
updated bareos to 21.1.4 and OpenSSL 3
-rw-r--r--archlinuxaba/bareos/.SRCINFO252
-rw-r--r--archlinuxaba/bareos/0001-distver.patch10
-rw-r--r--archlinuxaba/bareos/0002-libdroplet.patch23
-rw-r--r--archlinuxaba/bareos/0003-zend.patch11
-rw-r--r--archlinuxaba/bareos/0004-logspam.patch31
-rw-r--r--archlinuxaba/bareos/0005-version.patch12
-rw-r--r--archlinuxaba/bareos/0006-sqlspam.patch12
-rw-r--r--archlinuxaba/bareos/0007-hostname.patch22
-rw-r--r--archlinuxaba/bareos/0008-httpd.patch11
-rw-r--r--archlinuxaba/bareos/009-fix-timer_thread.patch14
-rw-r--r--archlinuxaba/bareos/PKGBUILD1260
-rw-r--r--archlinuxaba/bareos/PoolModel.patch15
-rw-r--r--archlinuxaba/bareos/bareos-bconsole.install7
-rw-r--r--archlinuxaba/bareos/bareos-common.install24
-rw-r--r--archlinuxaba/bareos/bareos-database-mysql.install12
-rw-r--r--archlinuxaba/bareos/bareos-database-postgresql.install12
-rw-r--r--archlinuxaba/bareos/bareos-director.install18
-rw-r--r--archlinuxaba/bareos/bareos-filedaemon.install8
-rw-r--r--archlinuxaba/bareos/bareos-storage.install15
-rw-r--r--archlinuxaba/bareos/bareos-traymonitor.install11
-rw-r--r--archlinuxaba/bareos/bootstrap-table-locale-all.min.js10
-rw-r--r--archlinuxaba/bareos/fix-build-bareos.patch44
-rw-r--r--archlinuxaba/bareos/fix-headlink.patch193
-rw-r--r--archlinuxaba/bareos/mysql.patch397
-rw-r--r--archlinuxaba/bareos/plattforms-archlinux.patch11
-rw-r--r--archlinuxaba/bareos/restore-form.patch12
26 files changed, 1753 insertions, 694 deletions
diff --git a/archlinuxaba/bareos/.SRCINFO b/archlinuxaba/bareos/.SRCINFO
new file mode 100644
index 0000000..4a4e8b7
--- /dev/null
+++ b/archlinuxaba/bareos/.SRCINFO
@@ -0,0 +1,252 @@
+pkgbase = bareos
+ pkgdesc = Bareos - Backup Archiving Recovery Open Sourced
+ pkgver = 21.1.4
+ pkgrel = 4
+ url = http://www.bareos.org
+ arch = i686
+ arch = x86_64
+ arch = armv7h
+ arch = aarch64
+ groups = bareos
+ license = AGPL3
+ makedepends = cmake
+ makedepends = gcc
+ makedepends = libmariadbclient
+ makedepends = postgresql-libs
+ makedepends = python
+ makedepends = python-setuptools
+ makedepends = rpcsvc-proto
+ makedepends = git
+ makedepends = lsb-release
+ makedepends = qt5-base
+ makedepends = glusterfs
+ makedepends = jansson
+ makedepends = pam_wrapper
+ source = git+https://github.com/bareos/bareos.git#tag=Release/21.1.4
+ source = 0001-distver.patch
+ source = 0003-zend.patch
+ source = 0004-logspam.patch
+ source = 0005-version.patch
+ source = 0006-sqlspam.patch
+ source = 0007-hostname.patch
+ source = 0008-httpd.patch
+ source = bootstrap-table-locale-all.min.js
+ md5sums = SKIP
+ md5sums = 419b0c64af750aa3e8ea668edf464d3e
+ md5sums = f9b885e18313d9c070372d313e1b422d
+ md5sums = 39724df5903b712fb8d34209c7ac8f1e
+ md5sums = 5bf1233d94dfecc9060746bfb39b9d2b
+ md5sums = ca4c929a2462cafaead8d0b49e3cebed
+ md5sums = b0068e1a248ac0d0e83fb8ae1e034f62
+ md5sums = 33d9c3a1d25b30ac2182aa8d874e28a5
+ md5sums = e78b88f897cfc3e60129eec360521e3d
+
+pkgname = bareos-bconsole
+ pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Admin Tool (CLI)
+ install = bareos-bconsole.install
+ groups = bareos
+ groups = bareos-client
+ depends = bareos-common=21.1.4
+ depends = readline
+ depends = jansson
+ backup = etc/bareos/bconsole.conf
+
+pkgname = bareos-common
+ pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Common files
+ install = bareos-common.install
+ depends = libcap
+ depends = openssl
+ depends = acl
+ depends = bash
+ depends = lzo
+ depends = jansson
+ depends = zlib
+
+pkgname = bareos-database-common
+ pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Generic abstration libs and tools for sql catalog
+ depends = bareos-common=21.1.4
+ depends = libcap
+ depends = lzo
+ depends = zlib
+ depends = openssl
+ depends = bash
+ depends = jansson
+
+pkgname = bareos-database-postgresql
+ pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Libs and tools for postgresql catalog
+ install = bareos-database-postgresql.install
+ depends = bareos-database-common=21.1.4
+ depends = postgresql-libs
+ provides = bareos-database=21.1.4
+
+pkgname = bareos-database-tools
+ pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - CLI tools with database dpendencies (dbcheck, bscan)
+ depends = bareos-database-common=21.1.4
+ depends = openssl
+ depends = jansson
+
+pkgname = bareos-director
+ pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Director daemon
+ install = bareos-director.install
+ depends = bareos-common=21.1.4
+ depends = openssl
+ depends = bash
+ depends = jansson
+
+pkgname = bareos-director-python-plugins-common
+ pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - This package contains the common files for the python 2 and python 3 director plugins
+ depends = bareos-director=21.1.4
+
+pkgname = bareos-director-python3-plugin
+ pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Python plugin for director daemon
+ depends = bareos-director=21.1.4
+ depends = bareos-director-python-plugins-common=21.1.4
+ depends = python
+ depends = libcap
+ depends = jansson
+ depends = lzo
+ conflicts = bareos-director-python-plugin
+
+pkgname = bareos-filedaemon
+ pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - File daemon
+ install = bareos-filedaemon.install
+ groups = bareos
+ groups = bareos-client
+ depends = bareos-common=21.1.4
+ depends = jansson
+ depends = zlib
+ depends = gcc-libs
+
+pkgname = bareos-filedaemon-glusterfs-plugin
+ pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - GlusterFS plugin for Bareos File daemon
+ depends = bareos-filedaemon=21.1.4
+ depends = glusterfs
+
+pkgname = bareos-filedaemon-ldap-python-plugin
+ pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - LDAP Python plugin for Bareos File daemon
+ depends = bareos-filedaemon=21.1.4
+ depends = bareos-filedaemon-python3-plugin=21.1.4
+ depends = python-ldap
+
+pkgname = bareos-filedaemon-libcloud-python-plugin
+ pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Libcloud Python plugin for Bareos File daemon
+ depends = bareos-filedaemon=21.1.4
+ depends = python-apache-libcloud
+
+pkgname = bareos-filedaemon-mariabackup-python-plugin
+ pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - MariaBackup plugin for Bareos File daemon
+ depends = bareos-filedaemon=21.1.4
+ depends = mariadb
+
+pkgname = bareos-filedaemon-percona-xtrabackup-python-plugin
+ pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - XtraBackup plugin for Bareos File daemon
+ depends = bareos-filedaemon=21.1.4
+ depends = xtrabackup
+
+pkgname = bareos-filedaemon-postgresql-python-plugin
+ pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - PostgreSQL plugin for Bareos File daemon
+ depends = bareos-filedaemon=21.1.4
+ depends = postgresql
+
+pkgname = bareos-filedaemon-python-plugins-common
+ pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - This package contains the common files for the python 2 and python 3 filedaemon plugins
+ depends = bareos-filedaemon=21.1.4
+
+pkgname = bareos-filedaemon-python3-plugin
+ pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Python plugin for file daemon
+ depends = bareos-filedaemon=21.1.4
+ depends = bareos-filedaemon-python-plugins-common=21.1.4
+ depends = python
+ depends = libcap
+ depends = lzo
+ depends = jansson
+ conflicts = bareos-filedaemon-python-plugin
+
+pkgname = bareos-storage
+ pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Storage daemon
+ install = bareos-storage.install
+ depends = bareos-common=21.1.4
+ depends = zlib
+ depends = lzo
+ depends = jansson
+ depends = openssl
+ depends = libcap
+
+pkgname = bareos-storage-droplet
+ pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Droplet support for storage daemon
+ depends = bareos-storage=21.1.4
+
+pkgname = bareos-storage-fifo
+ pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - FIFO support for storage daemon
+ depends = bareos-storage=21.1.4
+ depends = zlib
+ depends = libcap
+ depends = openssl
+ depends = jansson
+ depends = lzo
+
+pkgname = bareos-storage-glusterfs
+ pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - GlusterFS support for storage daemon
+ depends = bareos-storage=21.1.4
+ depends = glusterfs
+
+pkgname = bareos-storage-python-plugins-common
+ pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - This package contains the common files for the python 2 and python 3 storage plugins
+ depends = bareos-storage=21.1.4
+
+pkgname = bareos-storage-python3-plugin
+ pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Python plugin for storage daemon
+ depends = bareos-storage=21.1.4
+ depends = bareos-storage-python-plugins-common=21.1.4
+ depends = python
+ depends = lzo
+ depends = libcap
+ depends = jansson
+ conflicts = bareos-storage-python-plugin
+
+pkgname = bareos-storage-tape
+ pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Tape support for storage daemon
+ depends = bareos-storage=21.1.4
+ depends = zlib
+ depends = libcap
+ depends = bash
+ depends = openssl
+ depends = jansson
+ depends = lzo
+ depends = mtx
+ backup = etc/bareos/mtx-changer.conf
+
+pkgname = bareos-tools
+ pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - CLI tools (bcopy, bextract, bls, bregeq, bwild, bregex)
+ depends = bareos-common=21.1.4
+ depends = glibc
+
+pkgname = bareos-webui
+ pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Webui (Bareos web administration)
+ depends = php7
+ depends = php7-fpm
+ depends = jansson
+ backup = etc/bareos-webui/directors.ini
+ backup = etc/bareos-webui/configuration.ini
+ backup = etc/bareos/bareos-dir.d/console/admin.conf.example
+ backup = etc/bareos/bareos-dir.d/profile/webui-admin.conf
+ backup = etc/httpd/conf/extra/bareos-webui.conf
+
+pkgname = bareos-devel
+ pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Devel headers
+ arch = any
+
+pkgname = bareos-traymonitor
+ pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - This package contains the tray monitor (QT based)
+ install = bareos-traymonitor.install
+ groups = bareos
+ groups = bareos-client
+ depends = bareos-common=21.1.4
+ backup = etc/bareos/tray-monitor.d/monitor/bareos-mon.conf
+
+pkgname = python-bareos
+ pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - python-bareos is a Python module to access a backup system.
+ depends = python
+ depends = python-sslpsk
+ depends = jansson
+ conflicts = python2-bareos
diff --git a/archlinuxaba/bareos/0001-distver.patch b/archlinuxaba/bareos/0001-distver.patch
new file mode 100644
index 0000000..855e152
--- /dev/null
+++ b/archlinuxaba/bareos/0001-distver.patch
@@ -0,0 +1,10 @@
+--- core/cmake/distname.sh 2021-12-23 02:16:52.596202300 +0100
++++ core/cmake/distname.sh 2021-12-23 02:18:31.430250149 +0100
+@@ -181,6 +181,7 @@ else
+ elif test -f /etc/arch-release
+ then
+ PLATFORM=archlinux
++ DISTVER="Arch Linux"
+ elif test "$CYGWIN" = yes
+ then
+ PLATFORM=cygwin
diff --git a/archlinuxaba/bareos/0002-libdroplet.patch b/archlinuxaba/bareos/0002-libdroplet.patch
new file mode 100644
index 0000000..9b9dc5c
--- /dev/null
+++ b/archlinuxaba/bareos/0002-libdroplet.patch
@@ -0,0 +1,23 @@
+# C99 introduced _Bool but library predates that, fix
+
+--- core/src/droplet/libdroplet/include/droplet/cdmi/crcmodel.h 2020-12-16 08:46:16.000000000 +0100
++++ core/src/droplet/libdroplet/include/droplet/cdmi/crcmodel.h 2021-01-09 21:50:10.506666487 +0100
+@@ -79,7 +79,6 @@
+ #ifndef DONE_STYLE
+
+ typedef unsigned long ulong;
+-typedef unsigned bool;
+ typedef unsigned char* p_ubyte_;
+
+ # ifndef TRUE
+@@ -107,8 +107,8 @@
+ int cm_width; /* Parameter: Width in bits [8,32]. */
+ ulong cm_poly; /* Parameter: The algorithm's polynomial. */
+ ulong cm_init; /* Parameter: Initial register value. */
+- bool cm_refin; /* Parameter: Reflect input bytes? */
+- bool cm_refot; /* Parameter: Reflect output CRC? */
++ _Bool cm_refin; /* Parameter: Reflect input bytes? */
++ _Bool cm_refot; /* Parameter: Reflect output CRC? */
+ ulong cm_xorot; /* Parameter: XOR this to output CRC. */
+
+ ulong cm_reg; /* Context: Context during execution. */
diff --git a/archlinuxaba/bareos/0003-zend.patch b/archlinuxaba/bareos/0003-zend.patch
new file mode 100644
index 0000000..0c136fa
--- /dev/null
+++ b/archlinuxaba/bareos/0003-zend.patch
@@ -0,0 +1,11 @@
+--- webui/vendor/zendframework/zend-stdlib/src/ArrayObject.php
++++ webui/vendor/zendframework/zend-stdlib/src/ArrayObject.php
+@@ -423,7 +423,7 @@ public function unserialize($data)
+ $this->setIteratorClass($v);
+ break;
+ case 'protectedProperties':
+- continue;
++ break;
+ default:
+ $this->__set($k, $v);
+ }
diff --git a/archlinuxaba/bareos/0004-logspam.patch b/archlinuxaba/bareos/0004-logspam.patch
new file mode 100644
index 0000000..18f6d5b
--- /dev/null
+++ b/archlinuxaba/bareos/0004-logspam.patch
@@ -0,0 +1,31 @@
+--- core/src/lib/bsock.cc.orig 2021-12-23 08:56:38.194359400 +0100
++++ core/src/lib/bsock.cc 2021-12-23 10:22:09.320240831 +0100
+@@ -584,10 +584,10 @@ bool BareosSocket::DoTlsHandshake(TlsPol
+ if (!initiated_by_remote) {
+ if (tls_conn) {
+ tls_conn->TlsLogConninfo(jcr, host(), port(), who());
+- } else {
++ } /* else {
+ Qmsg(jcr, M_INFO, 0, _("Connected %s at %s:%d, encryption: None\n"),
+ who(), host(), port());
+- }
++ } */
+ }
+ return true;
+ }
+--- core/src/lib/tls_openssl.cc.orig 2021-12-23 08:56:38.204359200 +0100
++++ core/src/lib/tls_openssl.cc 2021-12-23 10:22:31.872857179 +0100
+@@ -107,11 +107,11 @@ void TlsOpenSsl::TlsLogConninfo(JobContr
+ if (!d_->openssl_) {
+ Qmsg(jcr, M_INFO, 0, _("No openssl to %s at %s:%d established\n"), who,
+ host, port);
+- } else {
++ } /* else {
+ std::string cipher_name = TlsCipherGetName();
+ Qmsg(jcr, M_INFO, 0, _("Connected %s at %s:%d, encryption: %s\n"), who,
+ host, port, cipher_name.empty() ? "Unknown" : cipher_name.c_str());
+- }
++ } */
+ }
+
+ /*
diff --git a/archlinuxaba/bareos/0005-version.patch b/archlinuxaba/bareos/0005-version.patch
new file mode 100644
index 0000000..96440ac
--- /dev/null
+++ b/archlinuxaba/bareos/0005-version.patch
@@ -0,0 +1,12 @@
+--- core/src/lib/CMakeLists.txt.orig 2021-12-23 11:28:53.968803800 +0100
++++ core/src/lib/CMakeLists.txt 2021-12-23 11:42:18.538613886 +0100
+@@ -147,6 +147,9 @@
+ -DBAREOS_SHORT_DATE="${BAREOS_SHORT_DATE}"
+ -DBAREOS_PROG_DATE_TIME="${BAREOS_PROG_DATE_TIME}"
+ -DBAREOS_YEAR="${BAREOS_YEAR}"
++ -DBAREOS_BINARY_INFO="${BAREOS_BINARY_INFO}"
++ -DBAREOS_SERVICES_MESSAGE="${BAREOS_SERVICES_MESSAGE}"
++ -DBAREOS_JOBLOG_MESSAGE="${BAREOS_JOBLOG_MESSAGE}"
+ )
+ set_target_properties(version-obj PROPERTIES POSITION_INDEPENDENT_CODE ON)
+
diff --git a/archlinuxaba/bareos/0006-sqlspam.patch b/archlinuxaba/bareos/0006-sqlspam.patch
new file mode 100644
index 0000000..1882f0c
--- /dev/null
+++ b/archlinuxaba/bareos/0006-sqlspam.patch
@@ -0,0 +1,12 @@
+--- core/src/dird/ua_prune.cc.orig 2021-12-23 12:29:52.844307700 +0100
++++ core/src/dird/ua_prune.cc 2021-12-23 14:58:31.874042423 +0100
+@@ -585,7 +585,9 @@ bail_out:
+
+ static void DropTempTables(UaContext* ua)
+ {
++ ua->db->SqlQuery("SET client_min_messages = warning");
+ ua->db->SqlQuery(BareosDb::SQL_QUERY::drop_deltabs);
++ ua->db->SqlQuery("SET client_min_messages = notice");
+ }
+
+ static bool CreateTempTables(UaContext* ua)
diff --git a/archlinuxaba/bareos/0007-hostname.patch b/archlinuxaba/bareos/0007-hostname.patch
new file mode 100644
index 0000000..261be23
--- /dev/null
+++ b/archlinuxaba/bareos/0007-hostname.patch
@@ -0,0 +1,22 @@
+--- core/scripts/bareos-config-lib.sh.in 2022-05-07 14:35:31.000000000 +0300
++++ core/scripts/bareos-config-lib.sh.in 2022-05-07 23:25:21.958745554 +0300
+@@ -1070,14 +1070,12 @@
+ {
+ # put actual short hostname in configuration files
+ # try to get short hostname
+- hname=`hostname -s`
++ hname=`hostnamectl --static | sed 's/\..*//g'`
+ if [ -z "$hname" ]; then
+- # try to get long hostname
+- hname=`hostname|sed 's/\..*//g'`
+- if [ -z "$hname" ]; then
+- # set to "localhost"
+- hname='localhost'
+- fi
++ if [ -z "$hname" ]; then
++ # set to "localhost"
++ hname='localhost'
++ fi
+ fi
+ echo "$hname"
+ }
diff --git a/archlinuxaba/bareos/0008-httpd.patch b/archlinuxaba/bareos/0008-httpd.patch
new file mode 100644
index 0000000..c8d8e8a
--- /dev/null
+++ b/archlinuxaba/bareos/0008-httpd.patch
@@ -0,0 +1,11 @@
+--- webui/CMakeLists.txt 2022-05-10 23:29:44.000000000 +0300
++++ webui/CMakeLists.txt 2022-05-11 00:05:05.698335917 +0300
+@@ -76,7 +76,7 @@
+ elseif(EXISTS ${sysconfdir}/apache2/conf-available)
+ set(HTTPD_CONF ${sysconfdir}/apache2/conf-available)
+ else()
+- set(HTTPD_CONF ${sysconfdir}/httpd/conf.d)
++ set(HTTPD_CONF ${sysconfdir}/httpd/conf/extra )
+ endif()
+
+ configure_file(
diff --git a/archlinuxaba/bareos/009-fix-timer_thread.patch b/archlinuxaba/bareos/009-fix-timer_thread.patch
new file mode 100644
index 0000000..533066c
--- /dev/null
+++ b/archlinuxaba/bareos/009-fix-timer_thread.patch
@@ -0,0 +1,14 @@
+--- core/src/lib/timer_thread.cc 2022-03-17 17:22:34.000000000 +0100
++++ core/src/lib/timer_thread.cc 2022-05-15 19:28:30.410009804 +0200
+@@ -213,9 +213,11 @@
+ remove_from_list = true;
+ } else {
+ p->scheduled_run_timepoint = last_timer_run_timepoint + p->interval;
++ next_timer_run = min(p->scheduled_run_timepoint, next_timer_run);
+ }
++ } else {
++ next_timer_run = min(p->scheduled_run_timepoint, next_timer_run);
+ }
+- next_timer_run = min(p->scheduled_run_timepoint, next_timer_run);
+ return remove_from_list;
+ }
diff --git a/archlinuxaba/bareos/PKGBUILD b/archlinuxaba/bareos/PKGBUILD
index 5d50731..62d6276 100644
--- a/archlinuxaba/bareos/PKGBUILD
+++ b/archlinuxaba/bareos/PKGBUILD
@@ -1,713 +1,697 @@
-# Maintainer: Erich Eckner <arch at eckner dot net>
+# Maintainer: khvalera <khvalera[at]ukr[dot]net>
+# Contributor: Matthias Fulz <mfulz@olznet.net>
# Contributor: Michael Spradling <mike@mspradling.com>
pkgbase='bareos'
-pkgname=("${pkgbase}-common"
- "${pkgbase}-bconsole"
- "${pkgbase}-database-common"
- "${pkgbase}-database-postgresql"
- "${pkgbase}-database-tools"
-# "${pkgbase}-devel"
- "${pkgbase}-director"
- "${pkgbase}-storage-fifo"
- "${pkgbase}-tools"
- "${pkgbase}-filedaemon"
- "${pkgbase}-storage"
- "${pkgbase}-storage-tape"
- "${pkgbase}-director-python-plugin"
- "${pkgbase}-filedaemon-python-plugin"
- "${pkgbase}-storage-python-plugin"
- "${pkgbase}-webui")
-
-pkgver=21.1.2
-pkgrel=6.7
-arch=(x86_64 i486 i686 pentium4 armv6h armv7h aarch64)
+pkgname=("bareos-bconsole"
+ "bareos-common"
+ "bareos-database-common"
+ "bareos-database-postgresql"
+ "bareos-database-tools"
+ "bareos-director"
+ "bareos-director-python-plugins-common"
+ "bareos-director-python3-plugin"
+ "bareos-filedaemon"
+ "bareos-filedaemon-glusterfs-plugin"
+ "bareos-filedaemon-ldap-python-plugin"
+ "bareos-filedaemon-libcloud-python-plugin"
+ "bareos-filedaemon-mariabackup-python-plugin"
+ "bareos-filedaemon-percona-xtrabackup-python-plugin"
+ "bareos-filedaemon-postgresql-python-plugin"
+ "bareos-filedaemon-python-plugins-common"
+ "bareos-filedaemon-python3-plugin"
+ "bareos-storage"
+ "bareos-storage-droplet"
+ "bareos-storage-fifo"
+ "bareos-storage-glusterfs"
+ "bareos-storage-python-plugins-common"
+ "bareos-storage-python3-plugin"
+ "bareos-storage-tape"
+ "bareos-tools"
+ "bareos-webui"
+ "bareos-devel"
+ "bareos-traymonitor"
+ "python-bareos"
+ )
+
+pkgver=21.1.4
+pkgmajor=${pkgver%%.*}
+pkgrel=4
+arch=(i686 x86_64 armv7h aarch64)
groups=('bareos')
-pkgdesc="Bareos - Backup Archiving REcovery Open Sourced"
+pkgdesc="Bareos - Backup Archiving Recovery Open Sourced"
url="http://www.bareos.org"
license=('AGPL3')
-_pinned_dependencies=(
- 'gcc-libs=12.2.0'
- 'glibc>=2.31'
- 'jansson=2.14'
- 'libacl.so=1'
- 'libpam.so=0'
- 'libpq.so=5'
- 'libreadline.so=8'
- 'lzo=2.10'
- 'openssl=1.1.1.q'
- 'python2=2.7.18'
- 'zlib=1:1.2.13'
-)
-_pinned_dependencies_libmariadbclient=(
- 'libmariadb.so=3'
-)
-makedepends=(systemd acl attr bash cmake lsb-release python "${_pinned_dependencies[@]}")
-makedepends_x86_64=(ceph "${_pinned_dependencies_libmariadbclient[@]}")
-makedepends_i686=("${_pinned_dependencies_libmariadbclient[@]}")
-makedepends_pentium4=("${_pinned_dependencies_libmariadbclient[@]}")
-makedepends_armv6h=("${_pinned_dependencies_libmariadbclient[@]}")
-makedepends_armv7h=("${_pinned_dependencies_libmariadbclient[@]}")
-makedepends_aarch64=(ceph "${_pinned_dependencies_libmariadbclient[@]}")
-source=("$pkgbase-$pkgver.tar.gz::https://github.com/$pkgbase/$pkgbase/archive/Release/$pkgver.tar.gz"
-'xattr.patch'
-'check-if-bareos-backup-is-running'
-'ce3339d28623b8bb771e5e0aa139168df5963c4b.patch'
-)
-sha512sums=('acdc787ff828add93c81b2b7d293dec90f2aa22aa3aee3002662bd30e88dc0dc58b753bb63ca7c111fac6c7eeea888938236c1169f92ed6cec27941036c7b6b1'
- 'c535f89866816669208d56e21ffb13f70aa962e578847bc7bcc76a3e8ad54b252c8e09b745b500064d6f02cb5497cb81b62dd1c156d2e907c393aaa091aa5f0e'
- '0235763891f368c13931f0fc43e3ae2d7ec796b7ef35896b6b9c048345d539308abe4a9bafda4e95221a89231d2f373ac3cfc2098d572d4068a1c068d27452f6'
- '9c5b3ff610d50d0aef5de8ca0f2ed49bb72817a5a044013b87762139b048382b9a0949129ecf1788443363ef1dd4e70e773c985490dda1fae12212a4170da5aa'
-)
-
+makedepends=('cmake' 'gcc' 'libmariadbclient' 'postgresql-libs' 'python' 'python-setuptools' 'rpcsvc-proto' 'git' 'lsb-release' 'qt5-base' 'glusterfs' 'jansson' 'pam_wrapper')
+source=("git+https://github.com/bareos/bareos.git#tag=Release/${pkgver}"
+ "0001-distver.patch"
+ "0003-zend.patch"
+ "0004-logspam.patch"
+ "0005-version.patch"
+ "0006-sqlspam.patch"
+ "0007-hostname.patch"
+ "0008-httpd.patch"
+ "bootstrap-table-locale-all.min.js")
+md5sums=('SKIP'
+ '419b0c64af750aa3e8ea668edf464d3e'
+ 'f9b885e18313d9c070372d313e1b422d'
+ '39724df5903b712fb8d34209c7ac8f1e'
+ '5bf1233d94dfecc9060746bfb39b9d2b'
+ 'ca4c929a2462cafaead8d0b49e3cebed'
+ 'b0068e1a248ac0d0e83fb8ae1e034f62'
+ '33d9c3a1d25b30ac2182aa8d874e28a5'
+ 'e78b88f897cfc3e60129eec360521e3d')
+python3_ver="3.10"
+
+#=========================================
prepare() {
- cd $pkgbase-Release-$pkgver
- patch -p1 -i ../xattr.patch
- patch -p1 -i ../ce3339d28623b8bb771e5e0aa139168df5963c4b.patch
+ # Apply maintainer patches
+ cd "${srcdir}/${pkgbase}"
+ local _src
+ local _patch="patch -N -t -p0 -l --no-backup-if-mismatch -i"
+ for _src in "${source[@]}"; do
+ _src="${_src%%::*}"
+ _src="${_src##*/}"
+ [[ $_src = *.patch ]] || continue
+ echo "Applying patch $_src..."
+ $_patch "../$_src"
+ done
}
+#=========================================
build() {
- cd $pkgbase-Release-$pkgver
- mkdir build
+ cd "${srcdir}/${pkgbase}"
+ mkdir -p build
cd build
cmake .. \
- -Dprefix=/usr \
- -Dsbindir=/usr/bin \
- -Dsysconfdir=/etc \
- -Dconfdir=/etc/$pkgbase \
- -Dworkingdir=/etc/$pkgbase \
- -Dlocalstatedir=/ \
- -Dlibdir=/usr/lib/$pkgbase \
- -Dmandir=/usr/share/man \
- -Ddisable-conio=yes \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_SBINDIR=/usr/bin \
+ -DCMAKE_INSTALL_SYSCONFDIR=/etc \
+ -DCMAKE_INSTALL_LOCALSTATEDIR=/ \
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib/bareos \
+ -Dlibdir=/usr/lib/bareos \
+ -Dlogdir=/var/log/bareos \
+ -Dpiddir=/run/bareos \
+ -Dsubsysdir=/run/bareos \
+ -Dconfdir=/etc/bareos \
+ -Dconfigtemplatedir=/usr/share/bareos/config \
+ -Dworkingdir=/var/lib/bareos \
+ -Dplugindir=/usr/lib/bareos/plugins \
+ -Dscriptdir=/usr/lib/bareos/scripts \
+ -Dbackenddir=/usr/lib/bareos/backends \
+ -Darchivedir=/var/lib/bareos/storage \
+ -Dbsrdir=/var/lib/bareos \
+ -Dwebuiconfdir=/etc/bareos-webui \
+ -DBAREOS_BINARY_INFO="Arch Linux" \
+ -DBAREOS_JOBLOG_MESSAGE="Arch Linux AUR" \
-Ddynamic-cats-backends=yes \
-Ddynamic-storage-backends=yes \
+ -Dpostgresql=yes \
-Dpython=yes \
-Dopenssl=yes \
- -Ddisable-rpath=yes \
- -Dpostgresql=yes \
- -Dndmp=no \
- -Dhostname='XXX_REPLACE_WITH_LOCAL_HOSTNAME_XXX' \
- -Ddir-password="XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX" \
- -Dfd-password="XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX" \
- -Dsd-password="XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX" \
- -Dmon-dir-password="XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX" \
- -Dmon-fd-password="XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX" \
- -Dmon-sd-password="XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX" \
- -Dbasename="XXX_REPLACE_WITH_LOCAL_HOSTNAME_XXX" \
- -Dlogdir=/var/log/$pkgbase \
- -Ddir-user=$pkgbase \
- -Ddir-group=$pkgbase \
- -Dsd-user=$pkgbase \
- -Dsd-group=$pkgbase \
+ -Ddir-user=bareos \
+ -Ddir-group=bareos \
+ -Dsd-user=bareos \
+ -Dsd-group=bareos \
-Dfd-user=root \
- -Dpid-dir=/run/bareos \
-Dfd-group=root \
- -Dconfigtemplatedir=/usr/share/$pkgbase/config \
- -Dworking-dir=/var/lib/$pkgbase \
- -Dplugindir=/usr/lib/$pkgbase/plugins \
- -Dscriptdir=/usr/lib/$pkgbase/scripts \
- -Dbackenddir=/usr/lib/$pkgbase/backends \
- -Darchivedir=/var/lib/$pkgbase/storage \
- -Dbsrdir=/var/lib/$pkgbase \
- -Dsubsys-dir=/run/$pkgbase \
- -Dsystemd=yes
-
- make
- make DESTDIR="$srcdir/install" install
+ -Dscsi-crypto=yes \
+ -Dsystemd=yes \
+ -Dtraymonitor=yes
- # Currently upstream systemd file does not automatically create run directory
- for _daemon in 'dir' 'fd' 'sd'; do
- sed -i '
- /^StandardOutput=syslog$/d
- /\[Service\]/a RuntimeDirectory=bareos/'"${_daemon}"'
- s@^\(WorkingDirectory=\).*$@\1/run/bareos/'"${_daemon}"'@
- s@^\(PIDFile=\).*/\([^/]\+\)$@\1/run/bareos/'"${_daemon}"'/\2@
- ' "$srcdir/bareos-Release-$pkgver/core/platforms/systemd/bareos-${_daemon}.service"
- done
+ make DESTDIR="${srcdir}/install" install
- sed -i '1 a PID Directory = /run/bareos/dir' \
- "$srcdir/install/usr/share/bareos/config/bareos-dir.d/director/bareos-dir.conf"
- sed -i '1 a PID Directory = /run/bareos/sd' \
- "$srcdir/install/usr/share/bareos/config/bareos-sd.d/storage/bareos-sd.conf"
- sed -i '1 a PID Directory = /run/bareos/fd' \
- "$srcdir/install/usr/share/bareos/config/bareos-fd.d/client/myself.conf"
- find "$srcdir/install/usr/share/bareos/config" -type f \
- -exec sed -i 's@/usr/local/bin/@/usr/bin/@g' {} \;
+ cd "${srcdir}/${pkgbase}/python-bareos"
+ python setup.py build
}
-package_bareos-common() {
- # Matches bareos-common.install.in
- pkgdesc="${pkgdesc} - Common files"
- local _pinned_dependencies
- _pinned_dependencies=(
- 'gcc-libs=12.2.0'
- 'glibc>=2.31'
- 'jansson=2.14'
- 'libacl.so=1'
- 'lzo=2.10'
- 'openssl=1.1.1.q'
- 'zlib=1:1.2.13'
- )
- depends=('bash' "${_pinned_dependencies[@]}")
- install=bareos-common.install
-
-# are these really 'common'?
-# usr/lib/bareos/libbareoslmdb.so
-# usr/lib/bareos/libbareossd.so
-
- install -Dm755 \
- "$srcdir/install/usr/lib/bareos"/libbareos.so* \
- "$srcdir/install/usr/lib/bareos"/libbareosfind.so* \
- "$srcdir/install/usr/lib/bareos"/libbareoslmdb.so* \
- "$srcdir/install/usr/lib/bareos"/libbareossd.so* \
- "$srcdir/install/usr/lib/bareos"/libbareosfastlz.so* \
- -t "$pkgdir/usr/lib/bareos"
-
- install -Dm755 \
- "$srcdir/install/usr/lib/bareos/scripts/bareos-config" \
- -t "$pkgdir/usr/lib/bareos/scripts"
- install -Dm644 \
- "$srcdir/install/usr/lib/bareos/scripts/bareos-config-lib.sh" \
- "$srcdir/install/usr/lib/bareos/scripts/btraceback.gdb" \
- -t "$pkgdir/usr/lib/bareos/scripts"
-
- install -Dm755 \
- "$srcdir/install/usr/bin/bsmtp" \
- "$srcdir/install/usr/bin/btraceback" \
- -t "$pkgdir/usr/bin"
-
- install -Dm644 \
- "$srcdir/install/usr/share/man/man1/bsmtp.1" \
- -t "$pkgdir/usr/share/man/man1/"
- install -Dm644 \
- "$srcdir/install/usr/share/man/man8/btraceback.8" \
- -t "$pkgdir/usr/share/man/man8/"
-
- install -dm755 "$pkgdir/var/lib/bareos"
- install -dm750 "$pkgdir/etc/bareos"
- install -dm755 "$pkgdir/run/bareos"
+#=========================================
+# + only directory created
+# - skip a line
+# directory - add recursively an arbitrary directory
+cp_pkgdir() {
+ if [ "${1:0:1}" = "-" ] ; then
+ return
+ elif [ "${1:0:1}" = "+" ] ; then
+ dir_name=$pkgdir/`echo "$1" | sed "s|+||"`
+ mkdir -p "$dir_name"
+ return
+ fi
+ for n in $2$1 \
+ ; do
+ if [ -f "$n" ]; then
+ dir_name=$pkgdir/$(dirname "$n" | sed "s|$2||")
+ else
+ dir_name=$pkgdir/`echo "$n" | sed "s|$2||"`
+ fi
+ if [ "${dir_name:0:1}" == "." ]; then
+ return
+ else
+ mkdir -p "$dir_name"
+ fi
+ if [ -f "$n" ]; then
+ cp -a "$n" "$dir_name"
+ elif [ -d "$n" ]; then
+ cp -aR "$n" "$(dirname $dir_name)"
+ fi
+ done
}
+#=========================================
package_bareos-bconsole() {
pkgdesc="${pkgdesc} - Admin Tool (CLI)"
- local _pinned_dependencies
- _pinned_dependencies=(
- 'gcc-libs=12.2.0'
- 'glibc>=2.31'
- 'jansson=2.14'
- 'libreadline.so=8'
- )
- depends=("bareos-common=$pkgver" "${_pinned_dependencies[@]}")
- groups+=('bareos-client')
+ depends=("bareos-common=${pkgver}" 'readline' 'jansson')
+ groups+=("bareos-client")
install=bareos-bconsole.install
+ backup=("etc/bareos/bconsole.conf")
+
+ for f in \
+ usr/share/bareos/config/bconsole.conf \
+ usr/bin/bconsole \
+ usr/share/man/man1/bconsole.1* \
+ +etc/bareos \
+ ; do
+ cp_pkgdir "$f" "$srcdir/install/"
+ done
+ install -m640 "${srcdir}/install/usr/share/bareos/config/bconsole.conf" \
+ "${pkgdir}/etc/bareos/bconsole.conf"
+}
- backup=('etc/bareos/bconsole.conf')
-
- install -Dm640 "$srcdir/install/usr/share/bareos/config/bconsole.conf" \
- -t "$pkgdir/etc/bareos"
- install -Dm755 "$srcdir/install/usr/bin/bconsole" \
- -t "$pkgdir/usr/bin"
- install -Dm644 "$srcdir/install/usr/share/man/man1/bconsole.1" \
- -t "$pkgdir/usr/share/man/man1"
- chmod -R o-rx "$pkgdir/etc/bareos"
+#=========================================
+package_bareos-common() {
+ pkgdesc="${pkgdesc} - Common files"
+ depends=('libcap' 'openssl' 'acl' 'bash' 'lzo' 'jansson' 'zlib')
+ install=bareos-common.install
+ for f in \
+ usr/lib/bareos/libbareos.so* \
+ usr/lib/bareos/libbareosfastlz.so* \
+ usr/lib/bareos/libbareosfind.so* \
+ usr/lib/bareos/libbareoslmdb.so* \
+ usr/lib/bareos/libbareosndmp.so* \
+ usr/lib/bareos/libbareossd.so* \
+ usr/lib/bareos/scripts/bareos-config \
+ usr/lib/bareos/scripts/bareos-config-lib.sh \
+ usr/lib/bareos/scripts/bareos-explorer \
+ usr/lib/bareos/scripts/btraceback.gdb \
+ usr/bin/bsmtp \
+ usr/bin/btraceback \
+ usr/share/man/man1/bsmtp.1* \
+ usr/share/man/man8/btraceback.8* \
+ var/lib/bareos \
+ +etc/bareos \
+ +var/log/bareos \
+ +run/bareos \
+ +usr/share/licenses/${pkgname} \
+ ; do
+ cp_pkgdir "$f" "$srcdir/install/"
+ done
+ install -Dm644 ${srcdir}/bareos/core/{AGPL-3.0.txt,LICENSE,README.*} "${pkgdir}/usr/share/licenses/${pkgname}/"
}
+
+#=========================================
package_bareos-database-common() {
pkgdesc="${pkgdesc} - Generic abstration libs and tools for sql catalog"
- local _pinned_dependencies
- _pinned_dependencies=(
- 'gcc-libs=12.2.0'
- 'glibc>=2.31'
- )
- depends=("bareos-common=$pkgver" 'libcap' 'lzo' 'zlib' 'openssl' 'bash' 'jansson' "${_pinned_dependencies[@]}")
-
- install -Dm755 \
- "$srcdir/install/usr/lib/bareos"/libbareoscats.so* \
- "$srcdir/install/usr/lib/bareos"/libbareossql.so* \
- -t "$pkgdir/usr/lib/bareos"
-
- install -Dm755 \
- "$srcdir/install/usr/lib/bareos/scripts/create_bareos_database" \
- "$srcdir/install/usr/lib/bareos/scripts/drop_bareos_database" \
- "$srcdir/install/usr/lib/bareos/scripts/drop_bareos_tables" \
- "$srcdir/install/usr/lib/bareos/scripts/grant_bareos_privileges" \
- "$srcdir/install/usr/lib/bareos/scripts/make_bareos_tables" \
- "$srcdir/install/usr/lib/bareos/scripts/update_bareos_tables" \
- -t "$pkgdir/usr/lib/bareos/scripts"
- install -Dm755 \
- "$srcdir/install/usr/lib/bareos/scripts/ddl/versions.map" \
- -t "$pkgdir/usr/lib/bareos/scripts/ddl"
+ depends=("bareos-common=${pkgver}" 'libcap' 'lzo' 'zlib' 'openssl' 'bash' 'jansson')
+ for f in \
+ usr/lib/bareos/libbareossql.so* \
+ usr/lib/bareos/libbareoscats.so* \
+ usr/lib/bareos/scripts/create_bareos_database \
+ usr/lib/bareos/scripts/drop_bareos_database \
+ usr/lib/bareos/scripts/drop_bareos_tables \
+ usr/lib/bareos/scripts/grant_bareos_privileges \
+ usr/lib/bareos/scripts/make_bareos_tables \
+ usr/lib/bareos/scripts/update_bareos_tables \
+ usr/lib/bareos/scripts/ddl/versions.map \
+ ; do
+ cp_pkgdir "$f" "$srcdir/install/"
+ done
}
+#=========================================
package_bareos-database-postgresql() {
pkgdesc="${pkgdesc} - Libs and tools for postgresql catalog"
- provides=("bareos-database=$pkgver")
- local _pinned_dependencies
- _pinned_dependencies=(
- 'gcc-libs=12.2.0'
- 'glibc>=2.31'
- 'libpq.so=5'
- )
- depends=("bareos-common=$pkgver" "bareos-database-common=$pkgver" "${_pinned_dependencies[@]}")
- install='bareos-database-postgresql.install'
-
- install -Dm755 \
- "$srcdir/install/usr/lib/bareos/backends/libbareoscats-postgresql.so" \
- -t "$pkgdir/usr/lib/bareos/backends"
- install -Dm644 \
- "$srcdir/install/usr/lib/bareos/scripts/ddl/drops/postgresql.sql" \
- -t "$pkgdir/usr/lib/bareos/scripts/ddl/drops"
- install -Dm644 \
- "$srcdir/install/usr/lib/bareos/scripts/ddl/grants/postgresql-change_owner.dbconfig-template.sql" \
- "$srcdir/install/usr/lib/bareos/scripts/ddl/grants/postgresql-readonly.sql" \
- "$srcdir/install/usr/lib/bareos/scripts/ddl/grants/postgresql.sql" \
- -t "$pkgdir/usr/lib/bareos/scripts/ddl/grants"
- install -Dm644 \
- "$srcdir/install/usr/lib/bareos/scripts/ddl/creates/postgresql.sql" \
- -t "$pkgdir/usr/lib/bareos/scripts/ddl/creates"
- install -Dm644 \
- "$srcdir/install/usr/lib/bareos/scripts/ddl/updates/"*".sql" \
- -t "$pkgdir/usr/lib/bareos/scripts/ddl/updates"
+ provides=("bareos-database=${pkgver}")
+ depends=("bareos-database-common=${pkgver}" "postgresql-libs")
+ install=bareos-database-postgresql.install
+ for f in \
+ usr/lib/bareos/backends/libbareoscats-postgresql.so* \
+ usr/lib/bareos/scripts/ddl/*/postgresql*.sql \
+ ; do
+ cp_pkgdir "$f" "$srcdir/install/"
+ done
}
+#=========================================
package_bareos-database-tools() {
pkgdesc="${pkgdesc} - CLI tools with database dpendencies (dbcheck, bscan)"
- local _pinned_dependencies
- _pinned_dependencies=(
- 'gcc-libs=12.2.0'
- 'glibc>=2.31'
- 'jansson=2.14'
- 'openssl=1.1.1.q'
- )
- depends=("bareos-common=$pkgver" "bareos-database-common=$pkgver" "${_pinned_dependencies[@]}")
-
- install -Dm755 \
- "$srcdir/install/usr/bin/bareos-dbcheck" \
- "$srcdir/install/usr/bin/bscan" \
- -t "$pkgdir/usr/bin"
- install -Dm644 \
- "$srcdir/install/usr/share/man/man8/bareos-dbcheck.8" \
- "$srcdir/install/usr/share/man/man8/bscan.8" \
- -t "$pkgdir/usr/share/man/man8"
-}
-
-#package_bareos-devel() {
-# pkgdesc="${pkgdesc} - Devel headers"
-# arch=(any)
-# # TODO
-# install -d $pkgdir/usr/include/bareos
-#}
+ depends=("bareos-database-common=${pkgver}" 'openssl' 'jansson')
+
+ for f in \
+ usr/bin/bareos-dbcheck \
+ usr/bin/bscan \
+ usr/share/man/man8/bareos-dbcheck.8* \
+ usr/share/man/man8/bscan.8* \
+ ; do
+ cp_pkgdir "$f" "$srcdir/install/"
+ done
+}
+
+#=========================================
+package_bareos-devel() {
+ pkgdesc="${pkgdesc} - Devel headers"
+ arch=(any)
+ # TODO
+ install -d ${pkgdir}/usr/include/bareos
+ install -m640 ${srcdir}/bareos/core/src/lib/*.h ${pkgdir}/usr/include/bareos
+}
+#=========================================
package_bareos-director() {
pkgdesc="${pkgdesc} - Director daemon"
- local _pinned_dependencies
- _pinned_dependencies=(
- 'gcc-libs=12.2.0'
- 'glibc>=2.31'
- 'jansson=2.14'
- 'libpam.so=0'
- 'openssl=1.1.1.q'
- )
- depends=("bareos-common=$pkgver" "bareos-database=$pkgver" "bareos-database-common=$pkgver" 'bash' "${_pinned_dependencies[@]}")
+ depends=("bareos-common=${pkgver}" 'openssl' 'bash' 'jansson')
install=bareos-director.install
+ for f in \
+ etc/logrotate.d/bareos-dir \
+ usr/lib/bareos/scripts/delete_catalog_backup \
+ usr/lib/bareos/scripts/make_catalog_backup \
+ usr/lib/bareos/scripts/make_catalog_backup.pl \
+ usr/lib/bareos/scripts/query.sql \
+ usr/share/bareos/config/bareos-dir.d/catalog/MyCatalog.conf \
+ usr/share/bareos/config/bareos-dir.d/client/bareos-fd.conf \
+ usr/share/bareos/config/bareos-dir.d/console/bareos-mon.conf \
+ usr/share/bareos/config/bareos-dir.d/director/bareos-dir.conf \
+ usr/share/bareos/config/bareos-dir.d/fileset/Catalog.conf \
+ usr/share/bareos/config/bareos-dir.d/fileset/LinuxAll.conf \
+ usr/share/bareos/config/bareos-dir.d/fileset/SelfTest.conf \
+ usr/share/bareos/config/bareos-dir.d/fileset/Windows?All?Drives.conf \
+ usr/share/bareos/config/bareos-dir.d/job/backup-bareos-fd.conf \
+ usr/share/bareos/config/bareos-dir.d/job/BackupCatalog.conf \
+ usr/share/bareos/config/bareos-dir.d/job/RestoreFiles.conf \
+ usr/share/bareos/config/bareos-dir.d/jobdefs/DefaultJob.conf \
+ usr/share/bareos/config/bareos-dir.d/messages/Daemon.conf \
+ usr/share/bareos/config/bareos-dir.d/messages/Standard.conf \
+ usr/share/bareos/config/bareos-dir.d/pool/Differential.conf \
+ usr/share/bareos/config/bareos-dir.d/pool/Full.conf \
+ usr/share/bareos/config/bareos-dir.d/pool/Incremental.conf \
+ usr/share/bareos/config/bareos-dir.d/pool/Scratch.conf \
+ usr/share/bareos/config/bareos-dir.d/profile/operator.conf \
+ usr/share/bareos/config/bareos-dir.d/schedule/WeeklyCycleAfterBackup.conf \
+ usr/share/bareos/config/bareos-dir.d/schedule/WeeklyCycle.conf \
+ usr/share/bareos/config/bareos-dir.d/storage/File.conf \
+ usr/share/bareos/config/bareos-dir.d/user \
+ usr/share/bareos/config/tray-monitor.d/director/Director-local*.conf \
+ usr/bin/bareos-dir \
+ usr/share/man/man8/bareos-dir.8* \
+ usr/share/man/man8/bareos.8* \
+ usr/lib/systemd/system/bareos-dir.service \
+ ; do
+ # pacman LINT tool currently does not like spaces
+ #space_removal=`echo $f | tr ' ' '_'`
+ cp_pkgdir "$f" "$srcdir/install/"
+ done
- install -Dm755 \
- "$srcdir/install/usr/lib/bareos/scripts/delete_catalog_backup" \
- "$srcdir/install/usr/lib/bareos/scripts/make_catalog_backup" \
- "$srcdir/install/usr/lib/bareos/scripts/make_catalog_backup.pl" \
- -t "$pkgdir/usr/lib/bareos/scripts"
- install -Dm644 \
- "$srcdir/install/usr/lib/bareos/scripts/query.sql" \
- -t "$pkgdir/usr/lib/bareos/scripts"
-
- backup=(
- 'etc/bareos/bareos-dir.d/catalog/MyCatalog.conf'
- 'etc/bareos/bareos-dir.d/client/bareos-fd.conf'
- 'etc/bareos/bareos-dir.d/console/bareos-mon.conf'
- 'etc/bareos/bareos-dir.d/director/bareos-dir.conf'
- 'etc/bareos/bareos-dir.d/fileset/Catalog.conf'
- 'etc/bareos/bareos-dir.d/fileset/LinuxAll.conf'
- 'etc/bareos/bareos-dir.d/fileset/SelfTest.conf'
- 'etc/bareos/bareos-dir.d/fileset/Windows All Drives.conf'
- 'etc/bareos/bareos-dir.d/job/backup-bareos-fd.conf'
- 'etc/bareos/bareos-dir.d/job/BackupCatalog.conf'
- 'etc/bareos/bareos-dir.d/job/RestoreFiles.conf'
- 'etc/bareos/bareos-dir.d/jobdefs/DefaultJob.conf'
- 'etc/bareos/bareos-dir.d/messages/Daemon.conf'
- 'etc/bareos/bareos-dir.d/messages/Standard.conf'
- 'etc/bareos/bareos-dir.d/pool/Differential.conf'
- 'etc/bareos/bareos-dir.d/pool/Full.conf'
- 'etc/bareos/bareos-dir.d/pool/Incremental.conf'
- 'etc/bareos/bareos-dir.d/pool/Scratch.conf'
- 'etc/bareos/bareos-dir.d/profile/operator.conf'
- 'etc/bareos/bareos-dir.d/schedule/WeeklyCycleAfterBackup.conf'
- 'etc/bareos/bareos-dir.d/schedule/WeeklyCycle.conf'
- 'etc/bareos/bareos-dir.d/storage/File.conf'
- )
- install -Dm640 \
- "$srcdir/install/usr/share/bareos/config/bareos-dir.d/catalog/MyCatalog.conf" \
- -t "$pkgdir/etc/bareos/bareos-dir.d/catalog"
- install -Dm640 \
- "$srcdir/install/usr/share/bareos/config/bareos-dir.d/client/bareos-fd.conf" \
- -t "$pkgdir/etc/bareos/bareos-dir.d/client"
- install -Dm640 \
- "$srcdir/install/usr/share/bareos/config/bareos-dir.d/console/bareos-mon.conf" \
- -t "$pkgdir/etc/bareos/bareos-dir.d/console"
- install -Dm640 \
- "$srcdir/install/usr/share/bareos/config/bareos-dir.d/director/bareos-dir.conf" \
- -t "$pkgdir/etc/bareos/bareos-dir.d/director"
- install -Dm640 \
- "$srcdir/install/usr/share/bareos/config/bareos-dir.d/fileset/Catalog.conf" \
- "$srcdir/install/usr/share/bareos/config/bareos-dir.d/fileset/LinuxAll.conf" \
- "$srcdir/install/usr/share/bareos/config/bareos-dir.d/fileset/SelfTest.conf" \
- "$srcdir/install/usr/share/bareos/config/bareos-dir.d/fileset/Windows All Drives.conf" \
- -t "$pkgdir/etc/bareos/bareos-dir.d/fileset"
- install -Dm640 \
- "$srcdir/install/usr/share/bareos/config/bareos-dir.d/job/backup-bareos-fd.conf" \
- "$srcdir/install/usr/share/bareos/config/bareos-dir.d/job/BackupCatalog.conf" \
- "$srcdir/install/usr/share/bareos/config/bareos-dir.d/job/RestoreFiles.conf" \
- -t "$pkgdir/etc/bareos/bareos-dir.d/job"
- install -Dm640 \
- "$srcdir/install/usr/share/bareos/config/bareos-dir.d/jobdefs/DefaultJob.conf" \
- -t "$pkgdir/etc/bareos/bareos-dir.d/jobdefs"
- install -Dm640 \
- "$srcdir/install/usr/share/bareos/config/bareos-dir.d/messages/Daemon.conf" \
- "$srcdir/install/usr/share/bareos/config/bareos-dir.d/messages/Standard.conf" \
- -t "$pkgdir/etc/bareos/bareos-dir.d/messages"
- install -Dm640 \
- "$srcdir/install/usr/share/bareos/config/bareos-dir.d/pool/Differential.conf" \
- "$srcdir/install/usr/share/bareos/config/bareos-dir.d/pool/Full.conf" \
- "$srcdir/install/usr/share/bareos/config/bareos-dir.d/pool/Incremental.conf" \
- "$srcdir/install/usr/share/bareos/config/bareos-dir.d/pool/Scratch.conf" \
- -t "$pkgdir/etc/bareos/bareos-dir.d/pool"
- install -Dm640 \
- "$srcdir/install/usr/share/bareos/config/bareos-dir.d/profile/operator.conf" \
- -t "$pkgdir/etc/bareos/bareos-dir.d/profile"
- install -Dm640 \
- "$srcdir/install/usr/share/bareos/config/bareos-dir.d/schedule/WeeklyCycleAfterBackup.conf" \
- "$srcdir/install/usr/share/bareos/config/bareos-dir.d/schedule/WeeklyCycle.conf" \
- -t "$pkgdir/etc/bareos/bareos-dir.d/schedule"
- install -Dm640 \
- "$srcdir/install/usr/share/bareos/config/bareos-dir.d/storage/File.conf" \
- -t "$pkgdir/etc/bareos/bareos-dir.d/storage"
-
- install -Dm755 \
- "$srcdir/install/usr/bin/bareos-dir" \
- -t "$pkgdir/usr/bin"
- install -Dm644 \
- "$srcdir/install/usr/share/man/man8/bareos-dir.8" \
- "$srcdir/install/usr/share/man/man8/bareos.8" \
- -t "$pkgdir/usr/share/man/man8"
-
- install -Dm644 \
- "$srcdir/bareos-Release-$pkgver/core/platforms/systemd/bareos-dir.service" \
- -t "$pkgdir/usr/lib/systemd/system/"
- chmod -R o-rx "$pkgdir/etc/bareos"
+ # Currently upstream systemd file does not automatically create run directory
+ sed -i '/\[Service\]/a RuntimeDirectory=bareos' ${pkgdir}/usr/lib/systemd/system/bareos-dir.service
}
-package_bareos-storage-fifo() {
- pkgdesc="${pkgdesc} - FIFO support for storage daemon"
- local _pinned_dependencies
- _pinned_dependencies=(
- 'gcc-libs=12.2.0'
- 'glibc>=2.31'
- )
- depends=("bareos-storage=$pkgver" 'libcap' 'openssl' 'jansson' 'lzo' "${_pinned_dependencies[@]}")
- install=bareos-storage-fifo.install
- install -Dm755 \
- "$srcdir/install/usr/lib/bareos/backends/libbareossd-fifo.so" \
- -t "$pkgdir/usr/lib/bareos/backends"
- backup=(
- 'etc/bareos/bareos-dir.d/storage/NULL.conf.example'
- 'etc/bareos/bareos-sd.d/device/NULL.conf.example'
- )
- install -Dm640 \
- "$srcdir/install/usr/share/bareos/config/bareos-dir.d/storage/NULL.conf.example" \
- -t "$pkgdir/etc/bareos/bareos-dir.d/storage"
- install -Dm640 \
- "$srcdir/install/usr/share/bareos/config/bareos-sd.d/device/NULL.conf.example" \
- -t "$pkgdir/etc/bareos/bareos-sd.d/device"
- chmod -R o-rx "$pkgdir/etc/bareos"
+#=========================================
+package_bareos-director-python-plugins-common() {
+ pkgdesc="${pkgdesc} - This package contains the common files for the python 2 and python 3 director plugins"
+ depends=("bareos-director=${pkgver}")
+
+ for f in \
+ usr/lib/bareos/plugins/BareosDirWrapper.py* \
+ usr/lib/bareos/plugins/BareosDirPluginBaseclass.py* \
+ usr/lib/bareos/plugins/bareos-dir-class-plugin.py* \
+ ; do
+ cp_pkgdir "$f" "$srcdir/install/"
+ done
}
-package_bareos-tools() {
- pkgdesc="${pkgdesc} - CLI tools (bcopy, bextract, bls, bregeq, bwild)"
- local _pinned_dependencies
- _pinned_dependencies=(
- 'gcc-libs=12.2.0'
- 'glibc>=2.31'
- )
- depends=("bareos-common=$pkgver" "${_pinned_dependencies[@]}")
-
- install -Dm755 \
- "$srcdir/install/usr/bin/bregex" \
- "$srcdir/install/usr/bin/bwild" \
- "$srcdir/install/usr/bin/bcopy" \
- "$srcdir/install/usr/bin/bextract" \
- "$srcdir/install/usr/bin/bls" \
- "$srcdir/install/usr/bin/bpluginfo" \
- -t "$pkgdir/usr/bin"
- install -Dm644 \
- "$srcdir/install/usr/share/man/man1/bwild.1" \
- "$srcdir/install/usr/share/man/man1/bregex.1" \
- -t "$pkgdir/usr/share/man/man1"
- install -Dm644 \
- "$srcdir/install/usr/share/man/man8/bcopy.8" \
- "$srcdir/install/usr/share/man/man8/bextract.8" \
- "$srcdir/install/usr/share/man/man8/bls.8" \
- "$srcdir/install/usr/share/man/man8/bpluginfo.8" \
- -t "$pkgdir/usr/share/man/man8"
+#=========================================
+package_bareos-director-python3-plugin() {
+ conflicts=("bareos-director-python-plugin")
+ pkgdesc="${pkgdesc} - Python plugin for director daemon"
+ depends=("bareos-director=${pkgver}"
+ "bareos-director-python-plugins-common=${pkgver}"
+ 'python' 'libcap' 'jansson' 'lzo')
+ for f in \
+ usr/lib/bareos/plugins/python3-dir.so \
+ usr/lib/python${python3_ver}/site-packages/bareosdir.cpython*.so \
+ ; do
+ cp_pkgdir "$f" "$srcdir/install/"
+ done
}
+#=========================================
package_bareos-filedaemon() {
pkgdesc="${pkgdesc} - File daemon"
- local _pinned_dependencies
- _pinned_dependencies=(
- 'gcc-libs=12.2.0'
- 'glibc>=2.31'
- 'jansson=2.14'
- 'zlib=1:1.2.13'
- )
- depends=("bareos-common=$pkgver" "${_pinned_dependencies[@]}")
+ depends=("bareos-common=${pkgver}" 'jansson' 'zlib' 'gcc-libs')
groups+=('bareos-client')
install=bareos-filedaemon.install
+ for f in \
+ usr/share/bareos/config/bareos-fd.d/client/myself.conf \
+ usr/share/bareos/config/bareos-fd.d/director/bareos-dir.conf \
+ usr/share/bareos/config/bareos-fd.d/director/bareos-mon.conf \
+ usr/share/bareos/config/bareos-fd.d/messages/Standard.conf \
+ usr/share/bareos/config/tray-monitor.d/client/FileDaemon-local*.conf \
+ usr/bin/bareos-fd \
+ usr/lib/bareos/plugins/bpipe-fd.so \
+ usr/share/man/man8/bareos-fd.8* \
+ usr/lib/systemd/system/bareos-fd.service \
+ ; do
+ cp_pkgdir "$f" "$srcdir/install/"
+ done
+ # Currently upstream systemd file does not automatically create run directory
+ sed -i '/\[Service\]/a RuntimeDirectory=bareos' ${pkgdir}/usr/lib/systemd/system/bareos-fd.service
+}
+
+#=========================================
+package_bareos-filedaemon-glusterfs-plugin() {
+ pkgdesc="${pkgdesc} - GlusterFS plugin for Bareos File daemon"
+ depends=("bareos-filedaemon=${pkgver}"
+ "glusterfs")
+ for f in \
+ usr/lib/bareos/plugins/gfapi-fd.so \
+ usr/share/bareos/config/bareos-dir.d/fileset/plugin-gfapi.conf.example \
+ usr/share/bareos/config/bareos-dir.d/job/BackupGFAPI.conf.example \
+ usr/share/bareos/config/bareos-dir.d/job/RestoreGFAPI.conf.example \
+ ; do
+ cp_pkgdir "$f" "$srcdir/install/"
+ done
+}
+
+#=========================================
+package_bareos-filedaemon-ldap-python-plugin() {
+ pkgdesc="${pkgdesc} - LDAP Python plugin for Bareos File daemon"
+ depends=("bareos-filedaemon=${pkgver}"
+ "bareos-filedaemon-python3-plugin=${pkgver}"
+ 'python-ldap')
+ #backup=("etc/bareos/bareos-dir.d/plugin-python-ldap.conf")
+
+ for f in \
+ usr/lib/bareos/plugins/bareos-fd-ldap.py* \
+ usr/lib/bareos/plugins/BareosFdPluginLDAP.py* \
+ usr/share/bareos/config/bareos-dir.d/fileset/plugin-ldap.conf.example \
+ usr/share/bareos/config/bareos-dir.d/job/backup-ldap.conf.example \
+ usr/share/bareos/config/bareos-dir.d/job/restore-ldap.conf.example \
+ ; do
+ cp_pkgdir "$f" "$srcdir/install/"
+ done
+}
+
+#=========================================
+package_bareos-filedaemon-libcloud-python-plugin() {
+ pkgdesc="${pkgdesc} - Libcloud Python plugin for Bareos File daemon"
+ depends=("bareos-filedaemon=${pkgver}"
+ "python-apache-libcloud")
+ for f in \
+ usr/lib/bareos/plugins/bareos-fd-libcloud.py* \
+ usr/lib/bareos/plugins/BareosFdPluginLibcloud.py* \
+ usr/lib/bareos/plugins/BareosLibcloudApi.py \
+ usr/lib/bareos/plugins/bareos_libcloud_api \
+ usr/lib/bareos/plugins/bareos_libcloud_api/* \
+ ; do
+ cp_pkgdir "$f" "$srcdir/install/"
+ done
+}
+
+#=========================================
+package_bareos-filedaemon-mariabackup-python-plugin() {
+ pkgdesc="${pkgdesc} - MariaBackup plugin for Bareos File daemon"
+ depends=("bareos-filedaemon=${pkgver}"
+ "mariadb")
+ for f in \
+ usr/lib/bareos/plugins/bareos-fd-mariabackup.py* \
+ usr/lib/bareos/plugins/BareosFdPluginMariabackup.py* \
+ ; do
+ cp_pkgdir "$f" "$srcdir/install/"
+ done
+}
- backup=(
- 'etc/bareos/bareos-fd.d/client/myself.conf'
- 'etc/bareos/bareos-fd.d/director/bareos-dir.conf'
- 'etc/bareos/bareos-fd.d/director/bareos-mon.conf'
- 'etc/bareos/bareos-fd.d/messages/Standard.conf'
- )
- install -Dm640 \
- "$srcdir/install/usr/share/bareos/config/bareos-fd.d/client/myself.conf" \
- -t "$pkgdir/etc/bareos/bareos-fd.d/client"
- install -Dm640 \
- "$srcdir/install/usr/share/bareos/config/bareos-fd.d/director/bareos-dir.conf" \
- "$srcdir/install/usr/share/bareos/config/bareos-fd.d/director/bareos-mon.conf" \
- -t "$pkgdir/etc/bareos/bareos-fd.d/director"
- install -Dm640 \
- "$srcdir/install/usr/share/bareos/config/bareos-fd.d/messages/Standard.conf" \
- -t "$pkgdir/etc/bareos/bareos-fd.d/messages"
-
- install -Dm755 \
- "$srcdir/install/usr/bin/bareos-fd" \
- "$srcdir/check-if-bareos-backup-is-running" \
- -t "$pkgdir/usr/bin"
- install -Dm755 \
- "$srcdir/install/usr/lib/bareos/plugins/bpipe-fd.so" \
- -t "$pkgdir/usr/lib/bareos/plugins"
- install -Dm644 \
- "$srcdir/install/usr/share/man/man8/bareos-fd.8" \
- -t "$pkgdir/usr/share/man/man8"
- install -Dm644 \
- "$srcdir/bareos-Release-$pkgver/core/platforms/systemd/bareos-fd.service" \
- -t "$pkgdir/usr/lib/systemd/system"
- chmod -R o-rx "$pkgdir/etc/bareos"
+#=========================================
+package_bareos-filedaemon-percona-xtrabackup-python-plugin() {
+ pkgdesc="${pkgdesc} - XtraBackup plugin for Bareos File daemon"
+ depends=("bareos-filedaemon=${pkgver}"
+ "xtrabackup")
+ for f in \
+ usr/lib/bareos/plugins/bareos-fd-percona-xtrabackup.py* \
+ usr/lib/bareos/plugins/BareosFdPluginPerconaXtraBackup.py* \
+ ; do
+ cp_pkgdir "$f" "$srcdir/install/"
+ done
+}
+
+#=========================================
+package_bareos-filedaemon-postgresql-python-plugin() {
+ pkgdesc="${pkgdesc} - PostgreSQL plugin for Bareos File daemon"
+ depends=("bareos-filedaemon=${pkgver}"
+ "postgresql")
+ for f in \
+ usr/lib/bareos/plugins/bareos-fd-postgres.py* \
+ usr/lib/bareos/plugins/BareosFdPluginPostgres.py* \
+ ; do
+ cp_pkgdir "$f" "$srcdir/install/"
+ done
+}
+
+#=========================================
+package_bareos-filedaemon-python-plugins-common() {
+ pkgdesc="${pkgdesc} - This package contains the common files for the python 2 and python 3 filedaemon plugins"
+ depends=("bareos-filedaemon=${pkgver}")
+ for f in \
+ usr/lib/bareos/plugins/bareos-fd-local-fileset.py* \
+ usr/lib/bareos/plugins/BareosFdPluginBaseclass.py* \
+ usr/lib/bareos/plugins/BareosFdPluginLocalFileset.py* \
+ usr/lib/bareos/plugins/BareosFdPluginLocalFilesBaseclass.py* \
+ usr/lib/bareos/plugins/BareosFdWrapper.py* \
+ ; do
+ cp_pkgdir "$f" "$srcdir/install/"
+ done
+}
+
+#=========================================
+package_bareos-filedaemon-python3-plugin() {
+ conflicts=("bareos-filedaemon-python-plugin")
+ pkgdesc="${pkgdesc} - Python plugin for file daemon"
+ depends=("bareos-filedaemon=${pkgver}"
+ "bareos-filedaemon-python-plugins-common=${pkgver}"
+ 'python' 'libcap' 'lzo' 'jansson')
+ for f in \
+ usr/lib/bareos/plugins/python3-fd.so \
+ usr/lib/python${python3_ver}/site-packages/bareosfd.cpython*.so \
+ ; do
+ cp_pkgdir "$f" "$srcdir/install/"
+ done
}
+#=========================================
package_bareos-storage() {
pkgdesc="${pkgdesc} - Storage daemon"
- local _pinned_dependencies
- _pinned_dependencies=(
- 'gcc-libs=12.2.0'
- 'glibc>=2.31'
- )
- depends=("bareos-common=$pkgver" 'lzo' 'jansson' 'openssl' 'libcap' "${_pinned_dependencies[@]}")
+ depends=("bareos-common=${pkgver}" 'zlib' 'lzo' 'jansson' 'openssl' 'libcap')
install=bareos-storage.install
+ for f in \
+ usr/lib/bareos/plugins/autoxflate-sd.so \
+ usr/lib/bareos/scripts/disk-changer \
+ usr/share/bareos/config/bareos-sd.d/device/FileStorage.conf \
+ usr/share/bareos/config/bareos-sd.d/director/bareos-dir.conf \
+ usr/share/bareos/config/bareos-sd.d/director/bareos-mon.conf \
+ usr/share/bareos/config/bareos-sd.d/messages/Standard.conf \
+ usr/share/bareos/config/bareos-sd.d/storage/bareos-sd.conf \
+ usr/share/bareos/config/tray-monitor.d/storage/StorageDaemon-local*.conf \
+ usr/bin/bareos-sd \
+ usr/share/man/man8/bareos-sd.8 \
+ usr/lib/systemd/system/bareos-sd.service \
+ +var/lib/bareos/storage \
+ ; do
+ cp_pkgdir "$f" "$srcdir/install/"
+ done
+
+ # Currently upstream systemd file does not automatically create run directory
+ sed -i '/\[Service\]/a RuntimeDirectory=bareos' ${pkgdir}/usr/lib/systemd/system/bareos-sd.service
+}
+
+#=========================================
+package_bareos-storage-droplet() {
+ pkgdesc="${pkgdesc} - Droplet support for storage daemon"
+ depends=("bareos-storage=${pkgver}")
+ for f in \
+ usr/lib/bareos/libbareosdroplet.so* \
+ usr/lib/bareos/backends/libbareossd-chunked.so* \
+ usr/lib/bareos/backends/libbareossd-droplet.so* \
+ usr/share/bareos/config/bareos-dir.d/storage/S3_Object.conf.example \
+ usr/share/bareos/config/bareos-sd.d/device/S3_ObjectStorage.conf.example \
+ usr/share/bareos/config/bareos-sd.d/device/droplet \
+ usr/share/bareos/config/bareos-sd.d/device/droplet/aws_eu-central-1.profile.example \
+ ; do
+ cp_pkgdir "$f" "$srcdir/install/"
+ done
+}
+
+#=========================================
+package_bareos-storage-fifo() {
+ pkgdesc="${pkgdesc} - FIFO support for storage daemon"
+ depends=("bareos-storage=${pkgver}" 'zlib' 'libcap' 'openssl' 'jansson' 'lzo')
+ for f in \
+ usr/lib/bareos/backends/libbareossd-fifo.so* \
+ usr/share/bareos/config/bareos-dir.d/storage/NULL.conf.example \
+ usr/share/bareos/config/bareos-sd.d/device/NULL.conf.example \
+ ; do
+ cp_pkgdir "$f" "$srcdir/install/"
+ done
+}
+
+#=========================================
+package_bareos-storage-glusterfs() {
+ pkgdesc="${pkgdesc} - GlusterFS support for storage daemon"
+ depends=("bareos-storage=${pkgver}"
+ "glusterfs")
+ for f in \
+ usr/lib/bareos/backends/libbareossd-gfapi.so* \
+ usr/share/bareos/config/bareos-dir.d/storage/Gluster.conf.example \
+ usr/share/bareos/config/bareos-sd.d/device/GlusterStorage.conf.example \
+ ; do
+ cp_pkgdir "$f" "$srcdir/install/"
+ done
+}
+
+#=========================================
+package_bareos-storage-python-plugins-common() {
+ pkgdesc="${pkgdesc} - This package contains the common files for the python 2 and python 3 storage plugins"
+ depends=("bareos-storage=${pkgver}")
+ for f in \
+ usr/lib/bareos/plugins/BareosSdPluginBaseclass.py* \
+ usr/lib/bareos/plugins/BareosSdWrapper.py* \
+ usr/lib/bareos/plugins/bareos-sd-class-plugin.py* \
+ ; do
+ cp_pkgdir "$f" "$srcdir/install/"
+ done
+}
- install -Dm755 \
- "$srcdir/install/usr/lib/bareos/plugins/autoxflate-sd.so" \
- -t "$pkgdir/usr/lib/bareos/plugins"
- install -Dm755 \
- "$srcdir/install/usr/lib/bareos/scripts/disk-changer" \
- -t "$pkgdir/usr/lib/bareos/scripts"
- backup=(
- 'etc/bareos/bareos-sd.d/device/FileStorage.conf'
- 'etc/bareos/bareos-sd.d/director/bareos-dir.conf'
- 'etc/bareos/bareos-sd.d/director/bareos-mon.conf'
- 'etc/bareos/bareos-sd.d/messages/Standard.conf'
- 'etc/bareos/bareos-sd.d/storage/bareos-sd.conf'
- )
- install -Dm644 \
- "$srcdir/install/usr/share/bareos/config/bareos-sd.d/device/FileStorage.conf" \
- -t "$pkgdir/etc/bareos/bareos-sd.d/device"
- install -Dm644 \
- "$srcdir/install/usr/share/bareos/config/bareos-sd.d/director/bareos-dir.conf" \
- "$srcdir/install/usr/share/bareos/config/bareos-sd.d/director/bareos-mon.conf" \
- -t "$pkgdir/etc/bareos/bareos-sd.d/director"
- install -Dm644 \
- "$srcdir/install/usr/share/bareos/config/bareos-sd.d/messages/Standard.conf" \
- -t "$pkgdir/etc/bareos/bareos-sd.d/messages"
- install -Dm644 \
- "$srcdir/install/usr/share/bareos/config/bareos-sd.d/storage/bareos-sd.conf" \
- -t "$pkgdir/etc/bareos/bareos-sd.d/storage"
- install -Dm755 \
- "$srcdir/install/usr/bin/bareos-sd" \
- -t "$pkgdir/usr/bin"
- install -Dm644 \
- "$srcdir/install/usr/share/man/man8/bareos-sd.8" \
- -t "$pkgdir/usr/share/man/man8"
- install -Dm644 \
- "$srcdir/bareos-Release-$pkgver/core/platforms/systemd/bareos-sd.service" \
- -t "$pkgdir/usr/lib/systemd/system"
- install -dm750 "$pkgdir/var/lib/bareos/storage"
- chmod -R o-rx "$pkgdir/etc/bareos"
+#=========================================
+package_bareos-storage-python3-plugin() {
+ conflicts=("bareos-storage-python-plugin")
+ pkgdesc="${pkgdesc} - Python plugin for storage daemon"
+ depends=("bareos-storage=${pkgver}"
+ "bareos-storage-python-plugins-common=${pkgver}"
+ 'python' 'lzo' 'libcap' 'jansson')
+ for f in \
+ usr/lib/bareos/plugins/python3-sd.so \
+ usr/lib/python${python3_ver}/site-packages/bareossd.cpython*.so \
+ ; do
+ cp_pkgdir "$f" "$srcdir/install/"
+ done
}
+#=========================================
package_bareos-storage-tape() {
pkgdesc="${pkgdesc} - Tape support for storage daemon"
- local _pinned_dependencies
- _pinned_dependencies=(
- 'gcc-libs=12.2.0'
- 'glibc>=2.31'
- )
- depends=("bareos-common=$pkgver" "bareos-storage=$pkgver" 'libcap' 'bash' 'openssl' 'jansson' 'lzo' "${_pinned_dependencies[@]}")
- install=bareos-storage-tape.install
- backup=(
- 'etc/bareos/mtx-changer.conf'
- 'etc/bareos/bareos-dir.d/storage/Tape.conf.example'
- 'etc/bareos/bareos-sd.d/autochanger/autochanger-0.conf.example'
- 'etc/bareos/bareos-sd.d/device/tapedrive-0.conf.example'
- )
- install -Dm640 \
- "$srcdir/install/etc/bareos/mtx-changer.conf" \
- -t "$pkgdir/etc/bareos"
- install -Dm640 \
- "$srcdir/install/usr/share/bareos/config/bareos-dir.d/storage/Tape.conf.example" \
- -t "$pkgdir/etc/bareos/bareos-dir.d/storage"
- install -Dm640 \
- "$srcdir/install/usr/share/bareos/config/bareos-sd.d/autochanger/autochanger-0.conf.example" \
- -t "$pkgdir/etc/bareos/bareos-sd.d/autochanger"
- install -Dm640 \
- "$srcdir/install/usr/share/bareos/config/bareos-sd.d/device/tapedrive-0.conf.example" \
- -t "$pkgdir/etc/bareos/bareos-sd.d/device"
- install -Dm755 \
- "$srcdir/install/usr/lib/bareos/backends/libbareossd-gentape.so" \
- "$srcdir/install/usr/lib/bareos/backends/libbareossd-tape.so" \
- -t "$pkgdir/usr/lib/bareos/backends"
- install -Dm755 \
- "$srcdir/install/usr/lib/bareos/scripts/mtx-changer" \
- -t "$pkgdir/usr/lib/bareos/scripts"
- install -Dm644 \
- "$srcdir/install/usr/share/man/man8/bscrypto.8" \
- "$srcdir/install/usr/share/man/man8/btape.8" \
- -t "$pkgdir/usr/share/man/man8"
- install -Dm755 \
- "$srcdir/install/usr/bin/bscrypto" \
- "$srcdir/install/usr/bin/btape" \
- -t "$pkgdir/usr/bin"
- chmod -R o-rx "$pkgdir/etc/bareos"
-}
-
-package_bareos-director-python-plugin() {
- pkgdesc="${pkgdesc} - Python plugin for director daemon"
- local _pinned_dependencies
- _pinned_dependencies=(
- 'gcc-libs=12.2.0'
- 'glibc>=2.31'
- 'python2=2.7.18'
- )
- depends=("bareos-common=$pkgver" "bareos-director=$pkgver" 'libcap' 'jansson' 'lzo' 'python' "${_pinned_dependencies[@]}")
-
- install -Dm755 \
- "$srcdir/install/usr/lib/bareos/plugins/python-dir.so" \
- "$srcdir/install/usr/lib/bareos/plugins/BareosDirWrapper.py" \
- "$srcdir/install/usr/lib/bareos/plugins/BareosDirPluginBaseclass.py" \
- "$srcdir/install/usr/lib/bareos/plugins/bareos-dir-class-plugin.py" \
- -t "$pkgdir/usr/lib/bareos/plugins"
-}
-
-package_bareos-filedaemon-python-plugin() {
- pkgdesc="${pkgdesc} - Python plugin for file daemon"
- local _pinned_dependencies
- _pinned_dependencies=(
- 'gcc-libs=12.2.0'
- 'glibc>=2.31'
- 'python2=2.7.18'
- )
- depends=("bareos-common=$pkgver" "bareos-filedaemon=$pkgver" 'python' "${_pinned_dependencies[@]}" 'libcap' 'lzo' 'jansson')
-
- install -Dm755 \
- "$srcdir/install/usr/lib/bareos/plugins/python-fd.so" \
- "$srcdir/install/usr/lib/bareos/plugins/bareos-fd-local-fileset.py" \
- "$srcdir/install/usr/lib/bareos/plugins/BareosFdPluginBaseclass.py" \
- "$srcdir/install/usr/lib/bareos/plugins/BareosFdPluginLocalFileset.py" \
- "$srcdir/install/usr/lib/bareos/plugins/BareosFdWrapper.py" \
- -t "$pkgdir/usr/lib/bareos/plugins"
-}
-
-package_bareos-storage-python-plugin() {
- pkgdesc="${pkgdesc} - Python plugin for storage daemon"
- local _pinned_dependencies
- _pinned_dependencies=(
- 'gcc-libs=12.2.0'
- 'glibc>=2.31'
- 'python2=2.7.18'
- )
- depends=("bareos-common=$pkgver" "bareos-storage=$pkgver" 'lzo' 'python' 'libcap' 'jansson' "${_pinned_dependencies[@]}")
-
- install -Dm755 \
- "$srcdir/install/usr/lib/bareos/plugins/python-sd.so" \
- "$srcdir/install/usr/lib/bareos/plugins/BareosSdPluginBaseclass.py" \
- "$srcdir/install/usr/lib/bareos/plugins/BareosSdWrapper.py" \
- "$srcdir/install/usr/lib/bareos/plugins/bareos-sd-class-plugin.py" \
- -t "$pkgdir/usr/lib/bareos/plugins"
+ depends=("bareos-storage=${pkgver}" 'zlib' 'libcap' 'bash' 'openssl' 'jansson' 'lzo' "mtx")
+ backup=(etc/bareos/mtx-changer.conf)
+ for f in \
+ etc/bareos/mtx-changer.conf \
+ usr/share/bareos/config/bareos-dir.d/storage/Tape.conf.example \
+ usr/share/bareos/config/bareos-sd.d/autochanger/autochanger-0.conf.example \
+ usr/share/bareos/config/bareos-sd.d/device/tapedrive-0.conf.example \
+ usr/lib/bareos/backends/libbareossd-gentape.so* \
+ usr/lib/bareos/backends/libbareossd-tape.so* \
+ usr/lib/bareos/plugins/scsicrypto-sd.so \
+ usr/lib/bareos/plugins/scsitapealert-sd.so \
+ usr/lib/bareos/scripts/mtx-changer \
+ usr/share/man/man8/bscrypto.8* \
+ usr/share/man/man8/btape.8* \
+ usr/bin/bscrypto \
+ usr/bin/btape \
+ ; do
+ cp_pkgdir "$f" "$srcdir/install/"
+ done
+}
+
+#=========================================
+package_bareos-tools() {
+ pkgdesc="${pkgdesc} - CLI tools (bcopy, bextract, bls, bregeq, bwild, bregex)"
+ depends=("bareos-common=${pkgver}" 'glibc')
+ for f in \
+ usr/bin/bregex \
+ usr/bin/bwild \
+ usr/bin/bcopy \
+ usr/bin/bextract \
+ usr/bin/bls \
+ usr/bin/bregex \
+ usr/bin/bwild \
+ usr/bin/bpluginfo \
+ usr/share/man/man1/bwild.1* \
+ usr/share/man/man1/bregex.1* \
+ usr/share/man/man8/bcopy.8* \
+ usr/share/man/man8/bextract.8* \
+ usr/share/man/man8/bls.8* \
+ usr/share/man/man8/bpluginfo.8* \
+ ; do
+ cp_pkgdir "$f" "$srcdir/install/"
+ done
+}
+
+#=========================================
+package_bareos-traymonitor() {
+ groups+=("bareos-client")
+ pkgdesc="${pkgdesc} - This package contains the tray monitor (QT based)"
+ depends=("bareos-common=${pkgver}")
+ backup=("etc/bareos/tray-monitor.d/monitor/bareos-mon.conf")
+ install=bareos-traymonitor.install
+
+ for f in \
+ +etc/bareos/tray-monitor.d/monitor \
+ etc/xdg/autostart/bareos-tray-monitor.desktop \
+ usr/share/bareos/config/tray-monitor.d/monitor/bareos-mon.conf \
+ usr/bin/bareos-tray-monitor \
+ usr/share/man/man1/bareos-tray-monitor.1* \
+ usr/share/applications/bareos-tray-monitor.desktop \
+ usr/share/pixmaps/bareos-tray-monitor.png \
+ ; do
+ cp_pkgdir "$f" "$srcdir/install/"
+ done
+
+ # tray-monitor needs configuration files to run
+ install -m640 "${pkgdir}/usr/share/bareos/config/tray-monitor.d/monitor/bareos-mon.conf" "${pkgdir}/etc/bareos/tray-monitor.d/monitor/bareos-mon.conf"
}
+#=========================================
package_bareos-webui() {
- arch=('any')
pkgdesc="${pkgdesc} - Webui (Bareos web administration)"
- local _pinned_dependencies
- _pinned_dependencies=(
- )
- depends=('php' 'php-fpm' 'jansson')
- optdepend=('nginx' 'apache')
+ depends=('php7' 'php7-fpm' 'jansson')
+ optdepend=('apache' 'nginx' 'php7-apache' )
backup=('etc/bareos-webui/directors.ini'
'etc/bareos-webui/configuration.ini'
'etc/bareos/bareos-dir.d/console/admin.conf.example'
- 'etc/bareos/bareos-dir.d/profile/webui-admin.conf')
-
- install -dm755 \
- "$pkgdir/etc" \
- "$pkgdir/usr/share/webapps"
- mv \
- "$srcdir/install/usr/local/share/bareos-webui" \
- "$pkgdir/usr/share/webapps/"
- mv \
- "$srcdir/install/etc/bareos-webui" \
- "$pkgdir/etc/"
-
- install -Dm644 \
- "$srcdir/install/etc/httpd/conf.d/bareos-webui.conf" \
- -t "$pkgdir/etc/httpd/conf.d/extra"
- install -Dm644 \
- "$srcdir/install/etc/bareos/bareos-dir.d/console/admin.conf.example" \
- -t "$pkgdir/etc/bareos/bareos-dir.d/console"
- install -Dm644 \
- "$srcdir/install/etc/bareos/bareos-dir.d/profile/webui-admin.conf" \
- -t "$pkgdir/etc/bareos/bareos-dir.d/profile"
-}
-
-makedepends+=(
- $(
- for _pn in "${pkgname[@]}"; do
- (
- eval "$(
- declare -f "package_${_pn}" \
- | sed '
- s/^\s*_pinned_dependencies=(\(.*\));\?$/echo \1/
- t
- /\[ "${CARCH}" /!d
- s/return/exit/
- '
- )"
- ) \
- | tr ' ' '\n' \
- | tr -d '"'"'"
- done \
- | sort -u
- )
-)
+ 'etc/bareos/bareos-dir.d/profile/webui-admin.conf'
+ 'etc/httpd/conf/extra/bareos-webui.conf')
+ #_cp ${srcdir}/install/usr/share/bareos-webui ${pkgdir}/usr/share/webapps/bareos-webui
+ for f in \
+ etc/bareos/bareos-dir.d/console/admin.conf.example \
+ etc/bareos/bareos-dir.d/profile/webui-admin.conf \
+ etc/bareos/bareos-dir.d/profile/webui-limited.conf.example \
+ etc/bareos/bareos-dir.d/profile/webui-readonly.conf \
+ etc/httpd/conf/extra/bareos-webui.conf \
+ etc/bareos-webui/directors.ini \
+ etc/bareos-webui/configuration.ini \
+ usr/share/bareos-webui \
+ +usr/share/licenses/${pkgname} \
+ ; do
+ cp_pkgdir "$f" "$srcdir/install/"
+ done
+ cp ${srcdir}/bootstrap-table-locale-all.min.js ${pkgdir}/usr/share/bareos-webui/public/js/bootstrap-table-locale-all.min.js
+ install -Dm644 ${srcdir}/bareos/webui/{README.md,LICENSE,doc/README-TRANSLATION.md} "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
+
+#=========================================
+package_python-bareos() {
+ pkgdesc="${pkgdesc} - python-bareos is a Python module to access a backup system."
+ depends=('python' 'python-sslpsk' 'jansson')
+ conflicts=("python2-bareos")
+
+ cd "${srcdir}/${pkgbase}/python-bareos"
+ python setup.py install --skip-build --root="${pkgdir}" --optimize='1'
+}
diff --git a/archlinuxaba/bareos/PoolModel.patch b/archlinuxaba/bareos/PoolModel.patch
new file mode 100644
index 0000000..91acadf
--- /dev/null
+++ b/archlinuxaba/bareos/PoolModel.patch
@@ -0,0 +1,15 @@
+--- a/webui/module/Pool/src/Pool/Model/PoolModel.php 2021-06-10 16:18:18.371213388 +0300
++++ b/webui/module/Pool/src/Pool/Model/PoolModel.php 2021-06-11 00:44:00.000000000 +0300
+@@ -146,9 +146,10 @@
+ if(isset($bsock, $pool)) {
+ $cmd = 'show pool="'.$pool.'"';
+ $result = $bsock->send_command($cmd, 0);
+-
+ $matches = [];
+- preg_match('/\s*Next\s*Pool\s*=\s*("|\')?(?<value>.*)(?(1)\1|)/i', $result, $matches);
++ //preg_match('/\s*Next\s*Pool\s*=\s*("|\')?(?<value>.*)(?(1)\1|)/i', $result, $matches);
++ preg_match('/\s*Pool\s*=?(?<value>.*)(?(1)\1|)/i', $result, $matches);
++ //print_r($matches);
+ return $matches["value"];
+ }
+ else {
diff --git a/archlinuxaba/bareos/bareos-bconsole.install b/archlinuxaba/bareos/bareos-bconsole.install
index e78060c..6ed9055 100644
--- a/archlinuxaba/bareos/bareos-bconsole.install
+++ b/archlinuxaba/bareos/bareos-bconsole.install
@@ -1,9 +1,8 @@
## arg 1: the new package version
post_install() {
- /usr/lib/bareos/scripts/bareos-config initialize_local_hostname
- /usr/lib/bareos/scripts/bareos-config initialize_passwords
-
- chown -R bareos:bareos /etc/bareos
+ /usr/lib/bareos/scripts/bareos-config initialize_local_hostname
+ /usr/lib/bareos/scripts/bareos-config initialize_passwords
+ chown root:bareos /etc/bareos/bconsole.conf
}
post_upgrade() {
diff --git a/archlinuxaba/bareos/bareos-common.install b/archlinuxaba/bareos/bareos-common.install
index 4261570..0e8b84e 100644
--- a/archlinuxaba/bareos/bareos-common.install
+++ b/archlinuxaba/bareos/bareos-common.install
@@ -1,31 +1,31 @@
# arg 1: the new package version
pre_install() {
- # Create User/Group
- getent group bareos > /dev/null || groupadd --system bareos
- getent passwd bareos > /dev/null || useradd --system --gid bareos \
- --home-dir /var/lib/bareos --no-create-home bareos
-
+ # Create User/Group
+ getent group bareos > /dev/null || groupadd --system bareos
+ getent passwd bareos > /dev/null || useradd --system --gid bareos \
+ --home-dir /var/lib/bareos --no-create-home bareos
}
# arg 1: the new package version
post_install() {
- chown bareos:bareos /var/lib/bareos/
- chown bareos:bareos /run/bareos/
- #chown bareos:bareos /var/log/bareos/
+ chown bareos:bareos /etc/bareos/
+ chown bareos:bareos /var/lib/bareos/
+ chown bareos:bareos /run/bareos/
+ chown bareos:bareos /var/log/bareos/
}
# arg 1: the new package version
# arg 2: the old package version
pre_upgrade() {
- pre_install
+ pre_install
}
post_upgrade() {
- post_install
+ post_install
}
# arg 1: the old package version
post_remove() {
- getent passwd bareos > /dev/null && userdel bareos
- rm -f /etc/bareos/.rndpwd
+ getent passwd bareos > /dev/null && userdel bareos
+ rm -f /etc/bareos/.rndpwd
}
diff --git a/archlinuxaba/bareos/bareos-database-mysql.install b/archlinuxaba/bareos/bareos-database-mysql.install
index dcfdf04..d462ace 100644
--- a/archlinuxaba/bareos/bareos-database-mysql.install
+++ b/archlinuxaba/bareos/bareos-database-mysql.install
@@ -3,22 +3,16 @@ coloroff='\e[0m'
# arg 0: the new package version
post_install() {
- echo -e "${yellow}NOTE: Please see documentation (section 2.4.2) to setup database:${coloroff}"
- #echo -e "${yellow} http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-400002.4.2${coloroff}"
- echo -e "${yellow} http://download.bareos.org/bareos/release/17.2/documentation/html/bareos-manual-main-reference.html#QQ2-1-47${coloroff}"
-
+ echo -e "${yellow}NOTE: Please see documentation to setup database${coloroff}"
}
# arg 0: the new package version
# arg 2: the old package version
post_upgrade() {
- #echo -e "${yellow}NOTE: Please see documentation (section) 3.1.2 to update database${coloroff}"
- #echo -e "${yellow} http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-450003.1.2${coloroff}"
- echo -e "${yellow}NOTE: Please see documentation (section) 4.2.2 to update database${coloroff}"
- echo -e "${yellow} http://download.bareos.org/bareos/release/17.2/documentation/html/bareos-manual-main-reference.html#x1-710004.2.2${coloroff}"
+ echo -e "${yellow}NOTE: Please see documentation to setup database${coloroff}"
}
# arg 0: the old package version
post_remove() {
- echo -e "${yellow}NOTE: To remove all traces of bareos please delete the bareos database.${coloroff}"
+ echo -e "${yellow}NOTE: To remove all traces of bareos please delete the bareos database.${coloroff}"
}
diff --git a/archlinuxaba/bareos/bareos-database-postgresql.install b/archlinuxaba/bareos/bareos-database-postgresql.install
index dcfdf04..d462ace 100644
--- a/archlinuxaba/bareos/bareos-database-postgresql.install
+++ b/archlinuxaba/bareos/bareos-database-postgresql.install
@@ -3,22 +3,16 @@ coloroff='\e[0m'
# arg 0: the new package version
post_install() {
- echo -e "${yellow}NOTE: Please see documentation (section 2.4.2) to setup database:${coloroff}"
- #echo -e "${yellow} http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-400002.4.2${coloroff}"
- echo -e "${yellow} http://download.bareos.org/bareos/release/17.2/documentation/html/bareos-manual-main-reference.html#QQ2-1-47${coloroff}"
-
+ echo -e "${yellow}NOTE: Please see documentation to setup database${coloroff}"
}
# arg 0: the new package version
# arg 2: the old package version
post_upgrade() {
- #echo -e "${yellow}NOTE: Please see documentation (section) 3.1.2 to update database${coloroff}"
- #echo -e "${yellow} http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-450003.1.2${coloroff}"
- echo -e "${yellow}NOTE: Please see documentation (section) 4.2.2 to update database${coloroff}"
- echo -e "${yellow} http://download.bareos.org/bareos/release/17.2/documentation/html/bareos-manual-main-reference.html#x1-710004.2.2${coloroff}"
+ echo -e "${yellow}NOTE: Please see documentation to setup database${coloroff}"
}
# arg 0: the old package version
post_remove() {
- echo -e "${yellow}NOTE: To remove all traces of bareos please delete the bareos database.${coloroff}"
+ echo -e "${yellow}NOTE: To remove all traces of bareos please delete the bareos database.${coloroff}"
}
diff --git a/archlinuxaba/bareos/bareos-director.install b/archlinuxaba/bareos/bareos-director.install
index b464fee..d7d6f79 100644
--- a/archlinuxaba/bareos/bareos-director.install
+++ b/archlinuxaba/bareos/bareos-director.install
@@ -1,19 +1,15 @@
## arg 1: the new package version
post_install() {
- /usr/lib/bareos/scripts/bareos-config initialize_local_hostname
- /usr/lib/bareos/scripts/bareos-config initialize_passwords
+ /usr/lib/bareos/scripts/bareos-config initialize_local_hostname
+ /usr/lib/bareos/scripts/bareos-config initialize_passwords
- chown -R bareos:bareos /etc/bareos
+ chown -R bareos:bareos /usr/share/bareos/config/bareos-dir.d
+ chown bareos:bareos /usr/bin/bareos-dir
- /usr/lib/bareos/scripts/bareos-config initialize_database_driver
- /usr/lib/bareos/scripts/bareos-config apply_dbconfig_settings
-
- #for dir in /etc/bareos/bareos-dir-export/ /etc/bareos/bareos-dir-export/client; do
- #chown bareos:bareos "$dir"
- #chmod 750 "$dir"
- #done
+ /usr/lib/bareos/scripts/bareos-config initialize_database_driver
+ /usr/lib/bareos/scripts/bareos-config apply_dbconfig_settings
}
post_upgrade() {
- post_install
+ post_install
}
diff --git a/archlinuxaba/bareos/bareos-filedaemon.install b/archlinuxaba/bareos/bareos-filedaemon.install
index d88a620..e071d98 100644
--- a/archlinuxaba/bareos/bareos-filedaemon.install
+++ b/archlinuxaba/bareos/bareos-filedaemon.install
@@ -1,11 +1,9 @@
## arg 1: the new package version
post_install() {
- /usr/lib/bareos/scripts/bareos-config initialize_local_hostname
- /usr/lib/bareos/scripts/bareos-config initialize_passwords
-
- chown -R bareos:bareos /etc/bareos
+ /usr/lib/bareos/scripts/bareos-config initialize_local_hostname
+ /usr/lib/bareos/scripts/bareos-config initialize_passwords
}
post_upgrade() {
- post_install
+ post_install
}
diff --git a/archlinuxaba/bareos/bareos-storage.install b/archlinuxaba/bareos/bareos-storage.install
index 8833363..d4326a0 100644
--- a/archlinuxaba/bareos/bareos-storage.install
+++ b/archlinuxaba/bareos/bareos-storage.install
@@ -1,14 +1,17 @@
## arg 1: the new package version
post_install() {
- /usr/lib/bareos/scripts/bareos-config initialize_local_hostname
- /usr/lib/bareos/scripts/bareos-config initialize_passwords
+ /usr/lib/bareos/scripts/bareos-config initialize_local_hostname
+ /usr/lib/bareos/scripts/bareos-config initialize_passwords
- chown -R bareos:bareos /etc/bareos
- chown bareos:bareos /var/lib/bareos/storage/
+ chown -R bareos:bareos /usr/share/bareos/config/bareos-sd.d
+ chown bareos:bareos /usr/bin/bareos-sd
- /usr/lib/bareos/scripts/bareos-config setup_sd_user
+ chown bareos:bareos /var/lib/bareos/storage/
+ chmod 750 /var/lib/bareos/storage/
+
+ /usr/lib/bareos/scripts/bareos-config setup_sd_user
}
post_upgrade() {
- post_install
+ post_install
}
diff --git a/archlinuxaba/bareos/bareos-traymonitor.install b/archlinuxaba/bareos/bareos-traymonitor.install
new file mode 100644
index 0000000..407370f
--- /dev/null
+++ b/archlinuxaba/bareos/bareos-traymonitor.install
@@ -0,0 +1,11 @@
+post_install() {
+ /usr/lib/bareos/scripts/bareos-config initialize_local_hostname
+ /usr/lib/bareos/scripts/bareos-config initialize_passwords
+ CONFIGDIR="/etc/bareos/tray-monitor.d/"
+ chown -R root:bareos ${CONFIGDIR}
+ chmod -R u=rwX,go=rX ${CONFIGDIR}
+}
+
+post_upgrade() {
+ post_install
+}
diff --git a/archlinuxaba/bareos/bootstrap-table-locale-all.min.js b/archlinuxaba/bareos/bootstrap-table-locale-all.min.js
new file mode 100644
index 0000000..91f2b02
--- /dev/null
+++ b/archlinuxaba/bareos/bootstrap-table-locale-all.min.js
@@ -0,0 +1,10 @@
+/**
+* bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
+*
+* @version v1.15.5
+* @homepage https://bootstrap-table.com
+* @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
+* @license MIT
+*/
+
+!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function o(t,n){return t(n={exports:{}},n.exports),n.exports}var r,e,a,c,i="object",u=function(t){return t&&t.Math==Math&&t},f=u(typeof globalThis==i&&globalThis)||u(typeof window==i&&window)||u(typeof self==i&&self)||u(typeof n==i&&n)||Function("return this")(),l=function(t){try{return!!t()}catch(t){return!0}},s=!l((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),m={}.propertyIsEnumerable,g=Object.getOwnPropertyDescriptor,d={f:g&&!m.call({1:2},1)?function(t){var n=g(this,t);return!!n&&n.enumerable}:m},h=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},p={}.toString,S=function(t){return p.call(t).slice(8,-1)},w="".split,T=l((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==S(t)?w.call(t,""):Object(t)}:Object,P=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},R=function(t){return T(P(t))},v=function(t){return"object"==typeof t?null!==t:"function"==typeof t},A=function(t,n){if(!v(t))return t;var o,r;if(n&&"function"==typeof(o=t.toString)&&!v(r=o.call(t)))return r;if("function"==typeof(o=t.valueOf)&&!v(r=o.call(t)))return r;if(!n&&"function"==typeof(o=t.toString)&&!v(r=o.call(t)))return r;throw TypeError("Can't convert object to primitive value")},x={}.hasOwnProperty,b=function(t,n){return x.call(t,n)},C=f.document,O=v(C)&&v(C.createElement),k=!s&&!l((function(){return 7!=Object.defineProperty((t="div",O?C.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),E=Object.getOwnPropertyDescriptor,M={f:s?E:function(t,n){if(t=R(t),n=A(n,!0),k)try{return E(t,n)}catch(t){}if(b(t,n))return h(!d.f.call(t,n),t[n])}},N=function(t){if(!v(t))throw TypeError(String(t)+" is not an object");return t},y=Object.defineProperty,D={f:s?y:function(t,n,o){if(N(t),n=A(n,!0),N(o),k)try{return y(t,n,o)}catch(t){}if("get"in o||"set"in o)throw TypeError("Accessors not supported");return"value"in o&&(t[n]=o.value),t}},H=s?function(t,n,o){return D.f(t,n,h(1,o))}:function(t,n,o){return t[n]=o,t},F=function(t,n){try{H(f,t,n)}catch(o){f[t]=n}return n},L=o((function(t){var n=f["__core-js_shared__"]||F("__core-js_shared__",{});(t.exports=function(t,o){return n[t]||(n[t]=void 0!==o?o:{})})("versions",[]).push({version:"3.1.3",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),B=L("native-function-to-string",Function.toString),z=f.WeakMap,j="function"==typeof z&&/native code/.test(B.call(z)),U=0,G=Math.random(),J=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++U+G).toString(36)},V=L("keys"),Z={},K=f.WeakMap;if(j){var I=new K,q=I.get,_=I.has,W=I.set;r=function(t,n){return W.call(I,t,n),n},e=function(t){return q.call(I,t)||{}},a=function(t){return _.call(I,t)}}else{var Y=V[c="state"]||(V[c]=J(c));Z[Y]=!0,r=function(t,n){return H(t,Y,n),n},e=function(t){return b(t,Y)?t[Y]:{}},a=function(t){return b(t,Y)}}var Q,X={set:r,get:e,has:a,enforce:function(t){return a(t)?e(t):r(t,{})},getterFor:function(t){return function(n){var o;if(!v(n)||(o=e(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return o}}},$=o((function(t){var n=X.get,o=X.enforce,r=String(B).split("toString");L("inspectSource",(function(t){return B.call(t)})),(t.exports=function(t,n,e,a){var c=!!a&&!!a.unsafe,i=!!a&&!!a.enumerable,u=!!a&&!!a.noTargetGet;"function"==typeof e&&("string"!=typeof n||b(e,"name")||H(e,"name",n),o(e).source=r.join("string"==typeof n?n:"")),t!==f?(c?!u&&t[n]&&(i=!0):delete t[n],i?t[n]=e:H(t,n,e)):i?t[n]=e:F(n,e)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||B.call(this)}))})),tt=f,nt=function(t){return"function"==typeof t?t:void 0},ot=Math.ceil,rt=Math.floor,et=function(t){return isNaN(t=+t)?0:(t>0?rt:ot)(t)},at=Math.min,ct=function(t){return t>0?at(et(t),9007199254740991):0},it=Math.max,ut=Math.min,ft=function(t){return function(n,o,r){var e,a=R(n),c=ct(a.length),i=function(t,n){var o=et(t);return o<0?it(o+n,0):ut(o,n)}(r,c);if(t&&o!=o){for(;c>i;)if((e=a[i++])!=e)return!0}else for(;c>i;i++)if((t||i in a)&&a[i]===o)return t||i||0;return!t&&-1}},lt={includes:ft(!0),indexOf:ft(!1)}.indexOf,st=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),mt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var o,r=R(t),e=0,a=[];for(o in r)!b(Z,o)&&b(r,o)&&a.push(o);for(;n.length>e;)b(r,o=n[e++])&&(~lt(a,o)||a.push(o));return a}(t,st)}},gt={f:Object.getOwnPropertySymbols},dt=function(t,n){return arguments.length<2?nt(tt[t])||nt(f[t]):tt[t]&&tt[t][n]||f[t]&&f[t][n]}("Reflect","ownKeys")||function(t){var n=mt.f(N(t)),o=gt.f;return o?n.concat(o(t)):n},ht=function(t,n){for(var o=dt(n),r=D.f,e=M.f,a=0;a<o.length;a++){var c=o[a];b(t,c)||r(t,c,e(n,c))}},pt=/#|\.prototype\./,St=function(t,n){var o=Tt[wt(t)];return o==Rt||o!=Pt&&("function"==typeof n?l(n):!!n)},wt=St.normalize=function(t){return String(t).replace(pt,".").toLowerCase()},Tt=St.data={},Pt=St.NATIVE="N",Rt=St.POLYFILL="P",vt=St,At=M.f,xt=Array.isArray||function(t){return"Array"==S(t)},bt=function(t){return Object(P(t))},Ct=function(t,n,o){var r=A(n);r in t?D.f(t,r,h(0,o)):t[r]=o},Ot=!!Object.getOwnPropertySymbols&&!l((function(){return!String(Symbol())})),kt=f.Symbol,Et=L("wks"),Mt=function(t){return Et[t]||(Et[t]=Ot&&kt[t]||(Ot?kt:J)("Symbol."+t))},Nt=Mt("species"),yt=function(t,n){var o;return xt(t)&&("function"!=typeof(o=t.constructor)||o!==Array&&!xt(o.prototype)?v(o)&&null===(o=o[Nt])&&(o=void 0):o=void 0),new(void 0===o?Array:o)(0===n?0:n)},Dt=Mt("species"),Ht=Mt("isConcatSpreadable"),Ft=!l((function(){var t=[];return t[Ht]=!1,t.concat()[0]!==t})),Lt=(Q="concat",!l((function(){var t=[];return(t.constructor={})[Dt]=function(){return{foo:1}},1!==t[Q](Boolean).foo}))),Bt=function(t){if(!v(t))return!1;var n=t[Ht];return void 0!==n?!!n:xt(t)};!function(t,n){var o,r,e,a,c,i=t.target,u=t.global,l=t.stat;if(o=u?f:l?f[i]||F(i,{}):(f[i]||{}).prototype)for(r in n){if(a=n[r],e=t.noTargetGet?(c=At(o,r))&&c.value:o[r],!vt(u?r:i+(l?".":"#")+r,t.forced)&&void 0!==e){if(typeof a==typeof e)continue;ht(a,e)}(t.sham||e&&e.sham)&&H(a,"sham",!0),$(o,r,a,t)}}({target:"Array",proto:!0,forced:!Ft||!Lt},{concat:function(t){var n,o,r,e,a,c=bt(this),i=yt(c,0),u=0;for(n=-1,r=arguments.length;n<r;n++)if(a=-1===n?c:arguments[n],Bt(a)){if(u+(e=ct(a.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(o=0;o<e;o++,u++)o in a&&Ct(i,u,a[o])}else{if(u>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Ct(i,u++,a)}return i.length=u,i}}),t.fn.bootstrapTable.locales["af-ZA"]={formatLoadingMessage:function(){return"Besig om te laai, wag asseblief"},formatRecordsPerPage:function(t){return"".concat(t," rekords per bladsy")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Resultate ".concat(t," tot ").concat(n," van ").concat(o," rye (filtered from ").concat(r," total rows)"):"Resultate ".concat(t," tot ").concat(n," van ").concat(o," rye")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Soek"},formatNoMatches:function(){return"Geen rekords gevind nie"},formatPaginationSwitch:function(){return"Wys/verberg bladsy nummering"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Herlaai"},formatToggle:function(){return"Wissel"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Kolomme"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["af-ZA"]),t.fn.bootstrapTable.locales["ar-SA"]={formatLoadingMessage:function(){return"جاري التحميل, يرجى الإنتظار"},formatRecordsPerPage:function(t){return"".concat(t," سجل لكل صفحة")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"الظاهر ".concat(t," إلى ").concat(n," من ").concat(o," سجل ").concat(r," total rows)"):"الظاهر ".concat(t," إلى ").concat(n," من ").concat(o," سجل")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"بحث"},formatNoMatches:function(){return"لا توجد نتائج مطابقة للبحث"},formatPaginationSwitch:function(){return"إخفاءإظهار ترقيم الصفحات"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"تحديث"},formatToggle:function(){return"تغيير"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"أعمدة"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ar-SA"]),t.fn.bootstrapTable.locales["ca-ES"]={formatLoadingMessage:function(){return"Espereu, si us plau"},formatRecordsPerPage:function(t){return"".concat(t," resultats per pàgina")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Mostrant de ".concat(t," fins ").concat(n," - total ").concat(o," resultats (filtered from ").concat(r," total rows)"):"Mostrant de ".concat(t," fins ").concat(n," - total ").concat(o," resultats")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Cerca"},formatNoMatches:function(){return"No s'han trobat resultats"},formatPaginationSwitch:function(){return"Amaga/Mostra paginació"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refresca"},formatToggle:function(){return"Alterna formatació"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columnes"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Tots"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ca-ES"]),t.fn.bootstrapTable.locales["cs-CZ"]={formatLoadingMessage:function(){return"Čekejte, prosím"},formatRecordsPerPage:function(t){return"".concat(t," položek na stránku")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Zobrazena ".concat(t,". - ").concat(n," . položka z celkových ").concat(o," (filtered from ").concat(r," total rows)"):"Zobrazena ".concat(t,". - ").concat(n," . položka z celkových ").concat(o)},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Vyhledávání"},formatNoMatches:function(){return"Nenalezena žádná vyhovující položka"},formatPaginationSwitch:function(){return"Skrýt/Zobrazit stránkování"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Aktualizovat"},formatToggle:function(){return"Přepni"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Sloupce"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Vše"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["cs-CZ"]),t.fn.bootstrapTable.locales["da-DK"]={formatLoadingMessage:function(){return"Indlæser, vent venligst"},formatRecordsPerPage:function(t){return"".concat(t," poster pr side")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Viser ".concat(t," til ").concat(n," af ").concat(o," række").concat(o>1?"r":""," (filtered from ").concat(r," total rows)"):"Viser ".concat(t," til ").concat(n," af ").concat(o," række").concat(o>1?"r":"")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Viser ".concat(t," række").concat(t>1?"r":"")},formatClearSearch:function(){return"Ryd filtre"},formatSearch:function(){return"Søg"},formatNoMatches:function(){return"Ingen poster fundet"},formatPaginationSwitch:function(){return"Skjul/vis nummerering"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Opdater"},formatToggle:function(){return"Skift"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Kolonner"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Alle"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Eksporter"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["da-DK"]),t.fn.bootstrapTable.locales["de-DE"]={formatLoadingMessage:function(){return"Lade, bitte warten"},formatRecordsPerPage:function(t){return"".concat(t," Zeilen pro Seite.")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Zeige Zeile ".concat(t," bis ").concat(n," von ").concat(o," Zeile").concat(o>1?"n":""," (Gefiltert von ").concat(r," Zeile").concat(r>1?"n":"",")"):"Zeige Zeile ".concat(t," bis ").concat(n," von ").concat(o," Zeile").concat(o>1?"n":"",".")},formatSRPaginationPreText:function(){return"Vorherige Seite"},formatSRPaginationPageText:function(t){return"Zu Seite ".concat(t)},formatSRPaginationNextText:function(){return"Nächste Seite"},formatDetailPagination:function(t){return"Zeige ".concat(t," Zeile").concat(t>1?"n":"",".")},formatClearSearch:function(){return"Lösche Filter"},formatSearch:function(){return"Suchen"},formatNoMatches:function(){return"Keine passenden Ergebnisse gefunden"},formatPaginationSwitch:function(){return"Verstecke/Zeige Nummerierung"},formatPaginationSwitchDown:function(){return"Zeige Nummerierung"},formatPaginationSwitchUp:function(){return"Verstecke Nummerierung"},formatRefresh:function(){return"Neu laden"},formatToggle:function(){return"Umschalten"},formatToggleOn:function(){return"Normale Ansicht"},formatToggleOff:function(){return"Kartenansicht"},formatColumns:function(){return"Spalten"},formatColumnsToggleAll:function(){return"Alle umschalten"},formatFullscreen:function(){return"Vollbild"},formatAllRows:function(){return"Alle"},formatAutoRefresh:function(){return"Automatisches Neuladen"},formatExport:function(){return"Datenexport"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Erweiterte Suche"},formatAdvancedCloseButton:function(){return"Schließen"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["de-DE"]),t.fn.bootstrapTable.locales["el-GR"]={formatLoadingMessage:function(){return"Φορτώνει, παρακαλώ περιμένετε"},formatRecordsPerPage:function(t){return"".concat(t," αποτελέσματα ανά σελίδα")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Εμφανίζονται από την ".concat(t," ως την ").concat(n," από σύνολο ").concat(o," σειρών (filtered from ").concat(r," total rows)"):"Εμφανίζονται από την ".concat(t," ως την ").concat(n," από σύνολο ").concat(o," σειρών")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Αναζητήστε"},formatNoMatches:function(){return"Δεν βρέθηκαν αποτελέσματα"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refresh"},formatToggle:function(){return"Toggle"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columns"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["el-GR"]),t.fn.bootstrapTable.locales["en-US"]={formatLoadingMessage:function(){return"Loading, please wait"},formatRecordsPerPage:function(t){return"".concat(t," rows per page")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Showing ".concat(t," to ").concat(n," of ").concat(o," rows (filtered from ").concat(r," total rows)"):"Showing ".concat(t," to ").concat(n," of ").concat(o," rows")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Search"},formatNoMatches:function(){return"No matching records found"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refresh"},formatToggle:function(){return"Toggle"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columns"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["en-US"]),t.fn.bootstrapTable.locales["es-AR"]={formatLoadingMessage:function(){return"Cargando, espere por favor"},formatRecordsPerPage:function(t){return"".concat(t," registros por página")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Mostrando ".concat(t," a ").concat(n," de ").concat(o," filas (filtered from ").concat(r," total rows)"):"Mostrando ".concat(t," a ").concat(n," de ").concat(o," filas")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Limpiar búsqueda"},formatSearch:function(){return"Buscar"},formatNoMatches:function(){return"No se encontraron registros"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refresh"},formatToggle:function(){return"Toggle"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columns"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Todo"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["es-AR"]),t.fn.bootstrapTable.locales["es-CL"]={formatLoadingMessage:function(){return"Cargando, espere por favor"},formatRecordsPerPage:function(t){return"".concat(t," filas por página")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Mostrando ".concat(t," a ").concat(n," de ").concat(o," filas (filtered from ").concat(r," total rows)"):"Mostrando ".concat(t," a ").concat(n," de ").concat(o," filas")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Limpiar búsqueda"},formatSearch:function(){return"Buscar"},formatNoMatches:function(){return"No se encontraron registros"},formatPaginationSwitch:function(){return"Ocultar/Mostrar paginación"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refrescar"},formatToggle:function(){return"Cambiar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columnas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Todo"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["es-CL"]),t.fn.bootstrapTable.locales["es-CR"]={formatLoadingMessage:function(){return"Cargando, por favor espere"},formatRecordsPerPage:function(t){return"".concat(t," registros por página")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Mostrando de ".concat(t," a ").concat(n," registros de ").concat(o," registros en total (filtered from ").concat(r," total rows)"):"Mostrando de ".concat(t," a ").concat(n," registros de ").concat(o," registros en total")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Limpiar búsqueda"},formatSearch:function(){return"Buscar"},formatNoMatches:function(){return"No se encontraron registros"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refrescar"},formatToggle:function(){return"Alternar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columnas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Todo"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["es-CR"]),t.fn.bootstrapTable.locales["es-ES"]={formatLoadingMessage:function(){return"Por favor espere"},formatRecordsPerPage:function(t){return"".concat(t," resultados por página")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Mostrando desde ".concat(t," hasta ").concat(n," - En total ").concat(o," resultados (filtered from ").concat(r," total rows)"):"Mostrando desde ".concat(t," hasta ").concat(n," - En total ").concat(o," resultados")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Limpiar búsqueda"},formatSearch:function(){return"Buscar"},formatNoMatches:function(){return"No se encontraron resultados"},formatPaginationSwitch:function(){return"Ocultar/Mostrar paginación"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refrescar"},formatToggle:function(){return"Ocultar/Mostrar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columnas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Todos"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Exportar los datos"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Búsqueda avanzada"},formatAdvancedCloseButton:function(){return"Cerrar"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["es-ES"]),t.fn.bootstrapTable.locales["es-MX"]={formatLoadingMessage:function(){return"Cargando, espere por favor"},formatRecordsPerPage:function(t){return"".concat(t," registros por página")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Mostrando ".concat(t," a ").concat(n," de ").concat(o," filas (filtered from ").concat(r," total rows)"):"Mostrando ".concat(t," a ").concat(n," de ").concat(o," filas")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Mostrando ".concat(t," filas")},formatClearSearch:function(){return"Limpiar búsqueda"},formatSearch:function(){return"Buscar"},formatNoMatches:function(){return"No se encontraron registros que coincidan"},formatPaginationSwitch:function(){return"Mostrar/ocultar paginación"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Actualizar"},formatToggle:function(){return"Cambiar vista"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columnas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Pantalla completa"},formatAllRows:function(){return"Todo"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["es-MX"]),t.fn.bootstrapTable.locales["es-NI"]={formatLoadingMessage:function(){return"Cargando, por favor espere"},formatRecordsPerPage:function(t){return"".concat(t," registros por página")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Mostrando de ".concat(t," a ").concat(n," registros de ").concat(o," registros en total (filtered from ").concat(r," total rows)"):"Mostrando de ".concat(t," a ").concat(n," registros de ").concat(o," registros en total")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Limpiar búsqueda"},formatSearch:function(){return"Buscar"},formatNoMatches:function(){return"No se encontraron registros"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refrescar"},formatToggle:function(){return"Alternar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columnas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Todo"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["es-NI"]),t.fn.bootstrapTable.locales["es-SP"]={formatLoadingMessage:function(){return"Cargando, por favor espera"},formatRecordsPerPage:function(t){return"".concat(t," registros por p&#225;gina.")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"".concat(t," - ").concat(n," de ").concat(o," registros (filtered from ").concat(r," total rows)"):"".concat(t," - ").concat(n," de ").concat(o," registros.")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Limpiar búsqueda"},formatSearch:function(){return"Buscar"},formatNoMatches:function(){return"No se han encontrado registros."},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Actualizar"},formatToggle:function(){return"Alternar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columnas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Todo"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["es-SP"]),t.fn.bootstrapTable.locales["et-EE"]={formatLoadingMessage:function(){return"Päring käib, palun oota"},formatRecordsPerPage:function(t){return"".concat(t," rida lehe kohta")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Näitan tulemusi ".concat(t," kuni ").concat(n," - kokku ").concat(o," tulemust (filtered from ").concat(r," total rows)"):"Näitan tulemusi ".concat(t," kuni ").concat(n," - kokku ").concat(o," tulemust")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Otsi"},formatNoMatches:function(){return"Päringu tingimustele ei vastanud ühtegi tulemust"},formatPaginationSwitch:function(){return"Näita/Peida lehtedeks jagamine"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Värskenda"},formatToggle:function(){return"Lülita"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Veerud"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Kõik"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["et-EE"]),t.fn.bootstrapTable.locales["eu-EU"]={formatLoadingMessage:function(){return"Itxaron mesedez"},formatRecordsPerPage:function(t){return"".concat(t," emaitza orriko.")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"".concat(o," erregistroetatik ").concat(t,"etik ").concat(n,"erakoak erakusten (filtered from ").concat(r," total rows)"):"".concat(o," erregistroetatik ").concat(t,"etik ").concat(n,"erakoak erakusten.")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Bilatu"},formatNoMatches:function(){return"Ez da emaitzarik aurkitu"},formatPaginationSwitch:function(){return"Ezkutatu/Erakutsi orrikatzea"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Eguneratu"},formatToggle:function(){return"Ezkutatu/Erakutsi"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Zutabeak"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Guztiak"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["eu-EU"]),t.fn.bootstrapTable.locales["fa-IR"]={formatLoadingMessage:function(){return"در حال بارگذاری, لطفا صبر کنید"},formatRecordsPerPage:function(t){return"".concat(t," رکورد در صفحه")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"نمایش ".concat(t," تا ").concat(n," از ").concat(o," ردیف (filtered from ").concat(r," total rows)"):"نمایش ".concat(t," تا ").concat(n," از ").concat(o," ردیف")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"جستجو"},formatNoMatches:function(){return"رکوردی یافت نشد."},formatPaginationSwitch:function(){return"نمایش/مخفی صفحه بندی"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"به روز رسانی"},formatToggle:function(){return"تغییر نمایش"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"سطر ها"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"همه"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["fa-IR"]),t.fn.bootstrapTable.locales["fi-FI"]={formatLoadingMessage:function(){return"Ladataan, ole hyvä ja odota"},formatRecordsPerPage:function(t){return"".concat(t," riviä sivulla")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Näytetään rivit ".concat(t," - ").concat(n," / ").concat(o," (filtered from ").concat(r," total rows)"):"Näytetään rivit ".concat(t," - ").concat(n," / ").concat(o)},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Poista suodattimet"},formatSearch:function(){return"Hae"},formatNoMatches:function(){return"Hakuehtoja vastaavia tuloksia ei löytynyt"},formatPaginationSwitch:function(){return"Näytä/Piilota sivutus"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Päivitä"},formatToggle:function(){return"Valitse"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Sarakkeet"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Kaikki"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Vie tiedot"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["fi-FI"]),t.fn.bootstrapTable.locales["fr-BE"]={formatLoadingMessage:function(){return"Chargement en cours"},formatRecordsPerPage:function(t){return"".concat(t," lignes par page")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Affiche de ".concat(t," à ").concat(n," sur ").concat(o," lignes (filtrés à partir de ").concat(r," lignes)"):"Affiche de ".concat(t," à ").concat(n," sur ").concat(o," lignes")},formatSRPaginationPreText:function(){return"page précédente"},formatSRPaginationPageText:function(t){return"vers la page ".concat(t)},formatSRPaginationNextText:function(){return"page suivante"},formatDetailPagination:function(t){return"Affiche ".concat(t," lignes")},formatClearSearch:function(){return"Effacer la recherche"},formatSearch:function(){return"Recherche"},formatNoMatches:function(){return"Pas de lignes trouvés"},formatPaginationSwitch:function(){return"Cacher/Afficher pagination"},formatPaginationSwitchDown:function(){return"Afficher pagination"},formatPaginationSwitchUp:function(){return"Cacher pagination"},formatRefresh:function(){return"Rafraichir"},formatToggle:function(){return"Basculer"},formatToggleOn:function(){return"Afficher vue carte"},formatToggleOff:function(){return"Cacher vue carte"},formatColumns:function(){return"Colonnes"},formatColumnsToggleAll:function(){return"Tout basculer"},formatFullscreen:function(){return"Plein écran"},formatAllRows:function(){return"Tout"},formatAutoRefresh:function(){return"Rafraîchissement automatique"},formatExport:function(){return"Exporter les données"},formatJumpTo:function(){return"Aller à"},formatAdvancedSearch:function(){return"Recherche avancée"},formatAdvancedCloseButton:function(){return"Fermer"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["fr-BE"]),t.fn.bootstrapTable.locales["fr-CH"]={formatLoadingMessage:function(){return"Chargement en cours"},formatRecordsPerPage:function(t){return"".concat(t," lignes par page")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Affiche de ".concat(t," à ").concat(n," sur ").concat(o," lignes (filtrés à partir de ").concat(r," lignes)"):"Affiche de ".concat(t," à ").concat(n," sur ").concat(o," lignes")},formatSRPaginationPreText:function(){return"page précédente"},formatSRPaginationPageText:function(t){return"vers la page ".concat(t)},formatSRPaginationNextText:function(){return"page suivante"},formatDetailPagination:function(t){return"Affiche ".concat(t," lignes")},formatClearSearch:function(){return"Effacer la recherche"},formatSearch:function(){return"Recherche"},formatNoMatches:function(){return"Pas de lignes trouvés"},formatPaginationSwitch:function(){return"Cacher/Afficher pagination"},formatPaginationSwitchDown:function(){return"Afficher pagination"},formatPaginationSwitchUp:function(){return"Cacher pagination"},formatRefresh:function(){return"Rafraichir"},formatToggle:function(){return"Basculer"},formatToggleOn:function(){return"Afficher vue carte"},formatToggleOff:function(){return"Cacher vue carte"},formatColumns:function(){return"Colonnes"},formatColumnsToggleAll:function(){return"Tout basculer"},formatFullscreen:function(){return"Plein écran"},formatAllRows:function(){return"Tout"},formatAutoRefresh:function(){return"Rafraîchissement automatique"},formatExport:function(){return"Exporter les données"},formatJumpTo:function(){return"Aller à"},formatAdvancedSearch:function(){return"Recherche avancée"},formatAdvancedCloseButton:function(){return"Fermer"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["fr-CH"]),t.fn.bootstrapTable.locales["fr-FR"]={formatLoadingMessage:function(){return"Chargement en cours"},formatRecordsPerPage:function(t){return"".concat(t," lignes par page")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Affiche de ".concat(t," à ").concat(n," sur ").concat(o," lignes (filtrés à partir de ").concat(r," lignes)"):"Affiche de ".concat(t," à ").concat(n," sur ").concat(o," lignes")},formatSRPaginationPreText:function(){return"page précédente"},formatSRPaginationPageText:function(t){return"vers la page ".concat(t)},formatSRPaginationNextText:function(){return"page suivante"},formatDetailPagination:function(t){return"Affiche ".concat(t," lignes")},formatClearSearch:function(){return"Effacer la recherche"},formatSearch:function(){return"Recherche"},formatNoMatches:function(){return"Pas de lignes trouvés"},formatPaginationSwitch:function(){return"Cacher/Afficher pagination"},formatPaginationSwitchDown:function(){return"Afficher pagination"},formatPaginationSwitchUp:function(){return"Cacher pagination"},formatRefresh:function(){return"Rafraichir"},formatToggle:function(){return"Basculer"},formatToggleOn:function(){return"Afficher vue carte"},formatToggleOff:function(){return"Cacher vue carte"},formatColumns:function(){return"Colonnes"},formatColumnsToggleAll:function(){return"Tout basculer"},formatFullscreen:function(){return"Plein écran"},formatAllRows:function(){return"Tout"},formatAutoRefresh:function(){return"Rafraîchissement automatique"},formatExport:function(){return"Exporter les données"},formatJumpTo:function(){return"Aller à"},formatAdvancedSearch:function(){return"Recherche avancée"},formatAdvancedCloseButton:function(){return"Fermer"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["fr-FR"]),t.fn.bootstrapTable.locales["fr-LU"]={formatLoadingMessage:function(){return"Chargement en cours"},formatRecordsPerPage:function(t){return"".concat(t," lignes par page")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Affiche de ".concat(t," à ").concat(n," sur ").concat(o," lignes (filtrés à partir de ").concat(r," lignes)"):"Affiche de ".concat(t," à ").concat(n," sur ").concat(o," lignes")},formatSRPaginationPreText:function(){return"page précédente"},formatSRPaginationPageText:function(t){return"vers la page ".concat(t)},formatSRPaginationNextText:function(){return"page suivante"},formatDetailPagination:function(t){return"Affiche ".concat(t," lignes")},formatClearSearch:function(){return"Effacer la recherche"},formatSearch:function(){return"Recherche"},formatNoMatches:function(){return"Pas de lignes trouvés"},formatPaginationSwitch:function(){return"Cacher/Afficher pagination"},formatPaginationSwitchDown:function(){return"Afficher pagination"},formatPaginationSwitchUp:function(){return"Cacher pagination"},formatRefresh:function(){return"Rafraichir"},formatToggle:function(){return"Basculer"},formatToggleOn:function(){return"Afficher vue carte"},formatToggleOff:function(){return"Cacher vue carte"},formatColumns:function(){return"Colonnes"},formatColumnsToggleAll:function(){return"Tout basculer"},formatFullscreen:function(){return"Plein écran"},formatAllRows:function(){return"Tout"},formatAutoRefresh:function(){return"Rafraîchissement automatique"},formatExport:function(){return"Exporter les données"},formatJumpTo:function(){return"Aller à"},formatAdvancedSearch:function(){return"Recherche avancée"},formatAdvancedCloseButton:function(){return"Fermer"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["fr-LU"]),t.fn.bootstrapTable.locales["he-IL"]={formatLoadingMessage:function(){return"טוען, נא להמתין"},formatRecordsPerPage:function(t){return"".concat(t," שורות בעמוד")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"מציג ".concat(t," עד ").concat(n," מ-").concat(o,"שורות").concat(r," total rows)"):"מציג ".concat(t," עד ").concat(n," מ-").concat(o," שורות")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"חיפוש"},formatNoMatches:function(){return"לא נמצאו רשומות תואמות"},formatPaginationSwitch:function(){return"הסתר/הצג מספור דפים"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"רענן"},formatToggle:function(){return"החלף תצוגה"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"עמודות"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"הכל"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["he-IL"]),t.fn.bootstrapTable.locales["hr-HR"]={formatLoadingMessage:function(){return"Molimo pričekajte"},formatRecordsPerPage:function(t){return"".concat(t," broj zapisa po stranici")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Prikazujem ".concat(t,". - ").concat(n,". od ukupnog broja zapisa ").concat(o," (filtered from ").concat(r," total rows)"):"Prikazujem ".concat(t,". - ").concat(n,". od ukupnog broja zapisa ").concat(o)},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Pretraži"},formatNoMatches:function(){return"Nije pronađen niti jedan zapis"},formatPaginationSwitch:function(){return"Prikaži/sakrij stranice"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Osvježi"},formatToggle:function(){return"Promijeni prikaz"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Kolone"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Sve"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["hr-HR"]),t.fn.bootstrapTable.locales["hu-HU"]={formatLoadingMessage:function(){return"Betöltés, kérem várjon"},formatRecordsPerPage:function(t){return"".concat(t," rekord per oldal")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Megjelenítve ".concat(t," - ").concat(n," / ").concat(o," összesen (filtered from ").concat(r," total rows)"):"Megjelenítve ".concat(t," - ").concat(n," / ").concat(o," összesen")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Keresés"},formatNoMatches:function(){return"Nincs találat"},formatPaginationSwitch:function(){return"Lapozó elrejtése/megjelenítése"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Frissítés"},formatToggle:function(){return"Összecsuk/Kinyit"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Oszlopok"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Összes"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["hu-HU"]),t.fn.bootstrapTable.locales["id-ID"]={formatLoadingMessage:function(){return"Memuat, mohon tunggu"},formatRecordsPerPage:function(t){return"".concat(t," baris per halaman")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Menampilkan ".concat(t," sampai ").concat(n," dari ").concat(o," baris (filtered from ").concat(r," total rows)"):"Menampilkan ".concat(t," sampai ").concat(n," dari ").concat(o," baris")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Bersihkan filter"},formatSearch:function(){return"Pencarian"},formatNoMatches:function(){return"Tidak ditemukan data yang cocok"},formatPaginationSwitch:function(){return"Sembunyikan/Tampilkan halaman"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Muat ulang"},formatToggle:function(){return"Beralih"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"kolom"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Semua"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Ekspor data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["id-ID"]),t.fn.bootstrapTable.locales["it-IT"]={formatLoadingMessage:function(){return"Caricamento in corso"},formatRecordsPerPage:function(t){return"".concat(t," elementi per pagina")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Visualizzazione da ".concat(t," a ").concat(n," di ").concat(o," elementi (filtered from ").concat(r," total rows)"):"Visualizzazione da ".concat(t," a ").concat(n," di ").concat(o," elementi")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Pulisci filtri"},formatSearch:function(){return"Cerca"},formatNoMatches:function(){return"Nessun elemento trovato"},formatPaginationSwitch:function(){return"Nascondi/Mostra paginazione"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Aggiorna"},formatToggle:function(){return"Attiva/Disattiva"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Colonne"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Tutto"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Esporta dati"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["it-IT"]),t.fn.bootstrapTable.locales["ja-JP"]={formatLoadingMessage:function(){return"読み込み中です。少々お待ちください。"},formatRecordsPerPage:function(t){return"ページ当たり最大".concat(t,"件")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"全".concat(o,"件から、").concat(t,"から").concat(n,"件目まで表示しています (filtered from ").concat(r," total rows)"):"全".concat(o,"件から、").concat(t,"から").concat(n,"件目まで表示しています")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"検索"},formatNoMatches:function(){return"該当するレコードが見つかりません"},formatPaginationSwitch:function(){return"ページ数を表示・非表示"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"更新"},formatToggle:function(){return"トグル"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"列"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"すべて"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ja-JP"]),t.fn.bootstrapTable.locales["ka-GE"]={formatLoadingMessage:function(){return"იტვირთება, გთხოვთ მოიცადოთ"},formatRecordsPerPage:function(t){return"".concat(t," ჩანაწერი თითო გვერდზე")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"ნაჩვენებია ".concat(t,"-დან ").concat(n,"-მდე ჩანაწერი ჯამური ").concat(o,"-დან (filtered from ").concat(r," total rows)"):"ნაჩვენებია ".concat(t,"-დან ").concat(n,"-მდე ჩანაწერი ჯამური ").concat(o,"-დან")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"ძებნა"},formatNoMatches:function(){return"მონაცემები არ არის"},formatPaginationSwitch:function(){return"გვერდების გადამრთველის დამალვა/გამოჩენა"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"განახლება"},formatToggle:function(){return"ჩართვა/გამორთვა"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"სვეტები"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ka-GE"]),t.fn.bootstrapTable.locales["ko-KR"]={formatLoadingMessage:function(){return"데이터를 불러오는 중입니다"},formatRecordsPerPage:function(t){return"페이지 당 ".concat(t,"개 데이터 출력")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"전체 ".concat(o,"개 중 ").concat(t,"~").concat(n,"번째 데이터 출력, (filtered from ").concat(r," total rows)"):"전체 ".concat(o,"개 중 ").concat(t,"~").concat(n,"번째 데이터 출력,")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"검색"},formatNoMatches:function(){return"조회된 데이터가 없습니다."},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"새로 고침"},formatToggle:function(){return"전환"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"컬럼 필터링"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ko-KR"]),t.fn.bootstrapTable.locales["ms-MY"]={formatLoadingMessage:function(){return"Permintaan sedang dimuatkan. Sila tunggu sebentar"},formatRecordsPerPage:function(t){return"".concat(t," rekod setiap muka surat")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Sedang memaparkan rekod ".concat(t," hingga ").concat(n," daripada jumlah ").concat(o," rekod (filtered from ").concat(r," total rows)"):"Sedang memaparkan rekod ".concat(t," hingga ").concat(n," daripada jumlah ").concat(o," rekod")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Cari"},formatNoMatches:function(){return"Tiada rekod yang menyamai permintaan"},formatPaginationSwitch:function(){return"Tunjuk/sembunyi muka surat"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Muatsemula"},formatToggle:function(){return"Tukar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Lajur"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Semua"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ms-MY"]),t.fn.bootstrapTable.locales["nb-NO"]={formatLoadingMessage:function(){return"Oppdaterer, vennligst vent"},formatRecordsPerPage:function(t){return"".concat(t," poster pr side")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Viser ".concat(t," til ").concat(n," av ").concat(o," rekker (filtered from ").concat(r," total rows)"):"Viser ".concat(t," til ").concat(n," av ").concat(o," rekker")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Søk"},formatNoMatches:function(){return"Ingen poster funnet"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Oppdater"},formatToggle:function(){return"Endre"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Kolonner"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["nb-NO"]),t.fn.bootstrapTable.locales["nl-BE"]={formatLoadingMessage:function(){return"Laden, even geduld"},formatRecordsPerPage:function(t){return"".concat(t," records per pagina")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Toon ".concat(t," tot ").concat(n," van ").concat(o," record").concat(o>1?"s":""," (gefilterd van ").concat(r," records in totaal)"):"Toon ".concat(t," tot ").concat(n," van ").concat(o," record").concat(o>1?"s":"")},formatSRPaginationPreText:function(){return"vorige pagina"},formatSRPaginationPageText:function(t){return"tot pagina ".concat(t)},formatSRPaginationNextText:function(){return"volgende pagina"},formatDetailPagination:function(t){return"Toon ".concat(t," record").concat(t>1?"s":"")},formatClearSearch:function(){return"Verwijder filters"},formatSearch:function(){return"Zoeken"},formatNoMatches:function(){return"Geen resultaten gevonden"},formatPaginationSwitch:function(){return"Verberg/Toon paginering"},formatPaginationSwitchDown:function(){return"Toon paginering"},formatPaginationSwitchUp:function(){return"Verberg paginering"},formatRefresh:function(){return"Vernieuwen"},formatToggle:function(){return"Omschakelen"},formatToggleOn:function(){return"Toon kaartweergave"},formatToggleOff:function(){return"Verberg kaartweergave"},formatColumns:function(){return"Kolommen"},formatColumnsToggleAll:function(){return"Allen omschakelen"},formatFullscreen:function(){return"Volledig scherm"},formatAllRows:function(){return"Alle"},formatAutoRefresh:function(){return"Automatisch vernieuwen"},formatExport:function(){return"Exporteer gegevens"},formatJumpTo:function(){return"GA"},formatAdvancedSearch:function(){return"Geavanceerd zoeken"},formatAdvancedCloseButton:function(){return"Sluiten"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["nl-BE"]),t.fn.bootstrapTable.locales["nl-NL"]={formatLoadingMessage:function(){return"Laden, even geduld"},formatRecordsPerPage:function(t){return"".concat(t," records per pagina")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Toon ".concat(t," tot ").concat(n," van ").concat(o," record").concat(o>1?"s":""," (gefilterd van ").concat(r," records in totaal)"):"Toon ".concat(t," tot ").concat(n," van ").concat(o," record").concat(o>1?"s":"")},formatSRPaginationPreText:function(){return"vorige pagina"},formatSRPaginationPageText:function(t){return"tot pagina ".concat(t)},formatSRPaginationNextText:function(){return"volgende pagina"},formatDetailPagination:function(t){return"Toon ".concat(t," record").concat(t>1?"s":"")},formatClearSearch:function(){return"Verwijder filters"},formatSearch:function(){return"Zoeken"},formatNoMatches:function(){return"Geen resultaten gevonden"},formatPaginationSwitch:function(){return"Verberg/Toon paginering"},formatPaginationSwitchDown:function(){return"Toon paginering"},formatPaginationSwitchUp:function(){return"Verberg paginering"},formatRefresh:function(){return"Vernieuwen"},formatToggle:function(){return"Omschakelen"},formatToggleOn:function(){return"Toon kaartweergave"},formatToggleOff:function(){return"Verberg kaartweergave"},formatColumns:function(){return"Kolommen"},formatColumnsToggleAll:function(){return"Allen omschakelen"},formatFullscreen:function(){return"Volledig scherm"},formatAllRows:function(){return"Alle"},formatAutoRefresh:function(){return"Automatisch vernieuwen"},formatExport:function(){return"Exporteer gegevens"},formatJumpTo:function(){return"GA"},formatAdvancedSearch:function(){return"Geavanceerd zoeken"},formatAdvancedCloseButton:function(){return"Sluiten"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["nl-NL"]),t.fn.bootstrapTable.locales["pl-PL"]={formatLoadingMessage:function(){return"Ładowanie, proszę czekać"},formatRecordsPerPage:function(t){return"".concat(t," rekordów na stronę")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Wyświetlanie rekordów od ".concat(t," do ").concat(n," z ").concat(o," (filtered from ").concat(r," total rows)"):"Wyświetlanie rekordów od ".concat(t," do ").concat(n," z ").concat(o)},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Szukaj"},formatNoMatches:function(){return"Niestety, nic nie znaleziono"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Odśwież"},formatToggle:function(){return"Przełącz"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Kolumny"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["pl-PL"]),t.fn.bootstrapTable.locales["pt-BR"]={formatLoadingMessage:function(){return"Carregando, aguarde"},formatRecordsPerPage:function(t){return"".concat(t," registros por página")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Exibindo ".concat(t," até ").concat(n," de ").concat(o," linhas (filtered from ").concat(r," total rows)"):"Exibindo ".concat(t," até ").concat(n," de ").concat(o," linhas")},formatSRPaginationPreText:function(){return"página anterior"},formatSRPaginationPageText:function(t){return"Para a página ".concat(t)},formatSRPaginationNextText:function(){return"próxima página"},formatDetailPagination:function(t){return"Mostrando ".concat(t," linhas")},formatClearSearch:function(){return"Limpar Pasquisa"},formatSearch:function(){return"Pesquisar"},formatNoMatches:function(){return"Nenhum registro encontrado"},formatPaginationSwitch:function(){return"Ocultar/Exibir paginação"},formatPaginationSwitchDown:function(){return"Mostrar Paginação"},formatPaginationSwitchUp:function(){return"Esconder Paginação"},formatRefresh:function(){return"Recarregar"},formatToggle:function(){return"Alternar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Colunas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Tela cheia"},formatAllRows:function(){return"Tudo"},formatAutoRefresh:function(){return"Atualização Automática"},formatExport:function(){return"Exportar dados"},formatJumpTo:function(){return"IR"},formatAdvancedSearch:function(){return"Pesquisa Avançada"},formatAdvancedCloseButton:function(){return"Fechar"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["pt-BR"]),t.fn.bootstrapTable.locales["pt-PT"]={formatLoadingMessage:function(){return"A carregar, por favor aguarde"},formatRecordsPerPage:function(t){return"".concat(t," registos por p&aacute;gina")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"A mostrar ".concat(t," at&eacute; ").concat(n," de ").concat(o," linhas (filtered from ").concat(r," total rows)"):"A mostrar ".concat(t," at&eacute; ").concat(n," de ").concat(o," linhas")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Pesquisa"},formatNoMatches:function(){return"Nenhum registo encontrado"},formatPaginationSwitch:function(){return"Esconder/Mostrar pagina&ccedil&atilde;o"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Atualizar"},formatToggle:function(){return"Alternar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Colunas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Tudo"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["pt-PT"]),t.fn.bootstrapTable.locales["ro-RO"]={formatLoadingMessage:function(){return"Se incarca, va rugam asteptati"},formatRecordsPerPage:function(t){return"".concat(t," inregistrari pe pagina")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Arata de la ".concat(t," pana la ").concat(n," din ").concat(o," randuri (filtered from ").concat(r," total rows)"):"Arata de la ".concat(t," pana la ").concat(n," din ").concat(o," randuri")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Cauta"},formatNoMatches:function(){return"Nu au fost gasite inregistrari"},formatPaginationSwitch:function(){return"Ascunde/Arata paginatia"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Reincarca"},formatToggle:function(){return"Comuta"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Coloane"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Toate"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ro-RO"]),t.fn.bootstrapTable.locales["ru-RU"]={formatLoadingMessage:function(){return"Пожалуйста, подождите, идёт загрузка"},formatRecordsPerPage:function(t){return"".concat(t," записей на страницу")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Записи с ".concat(t," по ").concat(n," из ").concat(o," (filtered from ").concat(r," total rows)"):"Записи с ".concat(t," по ").concat(n," из ").concat(o)},formatSRPaginationPreText:function(){return"предыдущая страница"},formatSRPaginationPageText:function(t){return"на страницу ".concat(t)},formatSRPaginationNextText:function(){return"следущая страница"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Очистить фильтры"},formatSearch:function(){return"Поиск"},formatNoMatches:function(){return"Ничего не найдено"},formatPaginationSwitch:function(){return"Скрыть/Показать нумерацию страниц"},formatPaginationSwitchDown:function(){return"Показать пагинацию"},formatPaginationSwitchUp:function(){return"Скрыть пагинацию"},formatRefresh:function(){return"Обновить"},formatToggle:function(){return"Переключить"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Колонки"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Полноэкранный"},formatAllRows:function(){return"Все"},formatAutoRefresh:function(){return"Авто обновление"},formatExport:function(){return"Экспорт данных"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Расширенный поиск"},formatAdvancedCloseButton:function(){return"Закрыть"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ru-RU"]),t.fn.bootstrapTable.locales["sk-SK"]={formatLoadingMessage:function(){return"Prosím čakajte"},formatRecordsPerPage:function(t){return"".concat(t," záznamov na stranu")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Zobrazená ".concat(t,". - ").concat(n,". položka z celkových ").concat(o," (filtered from ").concat(r," total rows)"):"Zobrazená ".concat(t,". - ").concat(n,". položka z celkových ").concat(o)},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Odstráň filtre"},formatSearch:function(){return"Vyhľadávanie"},formatNoMatches:function(){return"Nenájdená žiadna vyhovujúca položka"},formatPaginationSwitch:function(){return"Skry/Zobraz stránkovanie"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Obnoviť"},formatToggle:function(){return"Prepni"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Stĺpce"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Všetky"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Exportuj dáta"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["sk-SK"]),t.fn.bootstrapTable.locales["sr-Cyrl-RS"]={formatLoadingMessage:function(){return"Молим сачекај"},formatRecordsPerPage:function(t){return"".concat(t," редова по страни")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Приказано ".concat(t,". - ").concat(n,". од укупног броја редова ").concat(o," (филтрирано од ").concat(r,")"):"Приказано ".concat(t,". - ").concat(n,". од укупног броја редова ").concat(o)},formatSRPaginationPreText:function(){return"претходна страна"},formatSRPaginationPageText:function(t){return"на страну ".concat(t)},formatSRPaginationNextText:function(){return"следећа страна"},formatDetailPagination:function(t){return"Приказано ".concat(t," редова")},formatClearSearch:function(){return"Обриши претрагу"},formatSearch:function(){return"Пронађи"},formatNoMatches:function(){return"Није пронађен ни један податак"},formatPaginationSwitch:function(){return"Прикажи/сакриј пагинацију"},formatPaginationSwitchDown:function(){return"Прикажи пагинацију"},formatPaginationSwitchUp:function(){return"Сакриј пагинацију"},formatRefresh:function(){return"Освежи"},formatToggle:function(){return"Промени приказ"},formatToggleOn:function(){return"Прикажи картице"},formatToggleOff:function(){return"Сакриј картице"},formatColumns:function(){return"Колоне"},formatColumnsToggleAll:function(){return"Прикажи/сакриј све"},formatFullscreen:function(){return"Цео екран"},formatAllRows:function(){return"Све"},formatAutoRefresh:function(){return"Аутоматско освежавање"},formatExport:function(){return"Извези податке"},formatJumpTo:function(){return"Иди"},formatAdvancedSearch:function(){return"Напредна претрага"},formatAdvancedCloseButton:function(){return"Затвори"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["sr-Cyrl-RS"]),t.fn.bootstrapTable.locales["sr-Latn-RS"]={formatLoadingMessage:function(){return"Molim sačekaj"},formatRecordsPerPage:function(t){return"".concat(t," redova po strani")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Prikazano ".concat(t,". - ").concat(n,". od ukupnog broja redova ").concat(o," (filtrirano od ").concat(r,")"):"Prikazano ".concat(t,". - ").concat(n,". od ukupnog broja redova ").concat(o)},formatSRPaginationPreText:function(){return"prethodna strana"},formatSRPaginationPageText:function(t){return"na stranu ".concat(t)},formatSRPaginationNextText:function(){return"sledeća strana"},formatDetailPagination:function(t){return"Prikazano ".concat(t," redova")},formatClearSearch:function(){return"Obriši pretragu"},formatSearch:function(){return"Pronađi"},formatNoMatches:function(){return"Nije pronađen ni jedan podatak"},formatPaginationSwitch:function(){return"Prikaži/sakrij paginaciju"},formatPaginationSwitchDown:function(){return"Prikaži paginaciju"},formatPaginationSwitchUp:function(){return"Sakrij paginaciju"},formatRefresh:function(){return"Osveži"},formatToggle:function(){return"Promeni prikaz"},formatToggleOn:function(){return"Prikaži kartice"},formatToggleOff:function(){return"Sakrij kartice"},formatColumns:function(){return"Kolone"},formatColumnsToggleAll:function(){return"Prikaži/sakrij sve"},formatFullscreen:function(){return"Ceo ekran"},formatAllRows:function(){return"Sve"},formatAutoRefresh:function(){return"Automatsko osvežavanje"},formatExport:function(){return"Izvezi podatke"},formatJumpTo:function(){return"Idi"},formatAdvancedSearch:function(){return"Napredna pretraga"},formatAdvancedCloseButton:function(){return"Zatvori"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["sr-Latn-RS"]),t.fn.bootstrapTable.locales["sv-SE"]={formatLoadingMessage:function(){return"Laddar, vänligen vänta"},formatRecordsPerPage:function(t){return"".concat(t," rader per sida")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Visa ".concat(t," till ").concat(n," av ").concat(o," rader (filtered from ").concat(r," total rows)"):"Visa ".concat(t," till ").concat(n," av ").concat(o," rader")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Sök"},formatNoMatches:function(){return"Inga matchande resultat funna."},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Uppdatera"},formatToggle:function(){return"Skifta"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"kolumn"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["sv-SE"]),t.fn.bootstrapTable.locales["th-TH"]={formatLoadingMessage:function(){return"กำลังโหลดข้อมูล, กรุณารอสักครู่"},formatRecordsPerPage:function(t){return"".concat(t," รายการต่อหน้า")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"รายการที่ ".concat(t," ถึง ").concat(n," จากทั้งหมด ").concat(o," รายการ (filtered from ").concat(r," total rows)"):"รายการที่ ".concat(t," ถึง ").concat(n," จากทั้งหมด ").concat(o," รายการ")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"ค้นหา"},formatNoMatches:function(){return"ไม่พบรายการที่ค้นหา !"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"รีเฟรส"},formatToggle:function(){return"สลับมุมมอง"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"คอลัมน์"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["th-TH"]),t.fn.bootstrapTable.locales["tr-TR"]={formatLoadingMessage:function(){return"Yükleniyor, lütfen bekleyin"},formatRecordsPerPage:function(t){return"Sayfa başına ".concat(t," kayıt.")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"".concat(o," kayıttan ").concat(t,"-").concat(n," arası gösteriliyor (filtered from ").concat(r," total rows)."):"".concat(o," kayıttan ").concat(t,"-").concat(n," arası gösteriliyor.")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Ara"},formatNoMatches:function(){return"Eşleşen kayıt bulunamadı."},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Yenile"},formatToggle:function(){return"Değiştir"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Sütunlar"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Tüm Satırlar"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["tr-TR"]),t.fn.bootstrapTable.locales["uk-UA"]={formatLoadingMessage:function(){return"Завантаження, будь ласка, зачекайте"},formatRecordsPerPage:function(t){return"".concat(t," записів на сторінку")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Показано з ".concat(t," по ").concat(n,". Всього: ").concat(o," (filtered from ").concat(r," total rows)"):"Показано з ".concat(t," по ").concat(n,". Всього: ").concat(o)},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Очистити фільтри"},formatSearch:function(){return"Пошук"},formatNoMatches:function(){return"Не знайдено жодного запису"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Оновити"},formatToggle:function(){return"Змінити"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Стовпці"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["uk-UA"]),t.fn.bootstrapTable.locales["ur-PK"]={formatLoadingMessage:function(){return"براۓ مہربانی انتظار کیجئے"},formatRecordsPerPage:function(t){return"".concat(t," ریکارڈز فی صفہ ")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"دیکھیں ".concat(t," سے ").concat(n," کے ").concat(o,"ریکارڈز (filtered from ").concat(r," total rows)"):"دیکھیں ".concat(t," سے ").concat(n," کے ").concat(o,"ریکارڈز")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"تلاش"},formatNoMatches:function(){return"کوئی ریکارڈ نہیں ملا"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"تازہ کریں"},formatToggle:function(){return"تبدیل کریں"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"کالم"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ur-PK"]),t.fn.bootstrapTable.locales["uz-Latn-UZ"]={formatLoadingMessage:function(){return"Yuklanyapti, iltimos kuting"},formatRecordsPerPage:function(t){return"".concat(t," qator har sahifada")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Ko'rsatypati ".concat(t," dan ").concat(n," gacha ").concat(o," qatorlarni (filtered from ").concat(r," total rows)"):"Ko'rsatypati ".concat(t," dan ").concat(n," gacha ").concat(o," qatorlarni")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Filtrlarni tozalash"},formatSearch:function(){return"Qidirish"},formatNoMatches:function(){return"Hech narsa topilmadi"},formatPaginationSwitch:function(){return"Sahifalashni yashirish/ko'rsatish"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Yangilash"},formatToggle:function(){return"Ko'rinish"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Ustunlar"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Hammasi"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Eksport"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["uz-Latn-UZ"]),t.fn.bootstrapTable.locales["vi-VN"]={formatLoadingMessage:function(){return"Đang tải"},formatRecordsPerPage:function(t){return"".concat(t," bản ghi mỗi trang")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Hiển thị từ trang ".concat(t," đến ").concat(n," của ").concat(o," bảng ghi (filtered from ").concat(r," total rows)"):"Hiển thị từ trang ".concat(t," đến ").concat(n," của ").concat(o," bảng ghi")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Tìm kiếm"},formatNoMatches:function(){return"Không có dữ liệu"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refresh"},formatToggle:function(){return"Toggle"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columns"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["vi-VN"]),t.fn.bootstrapTable.locales["zh-CN"]={formatLoadingMessage:function(){return"正在努力地加载数据中,请稍候"},formatRecordsPerPage:function(t){return"每页显示 ".concat(t," 条记录")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"显示第 ".concat(t," 到第 ").concat(n," 条记录,总共 ").concat(o," 条记录(从 ").concat(r," 总记录中过滤)"):"显示第 ".concat(t," 到第 ").concat(n," 条记录,总共 ").concat(o," 条记录")},formatSRPaginationPreText:function(){return"上一页"},formatSRPaginationPageText:function(t){return"第".concat(t,"页")},formatSRPaginationNextText:function(){return"下一页"},formatDetailPagination:function(t){return"总共 ".concat(t," 条记录")},formatClearSearch:function(){return"清空过滤"},formatSearch:function(){return"搜索"},formatNoMatches:function(){return"没有找到匹配的记录"},formatPaginationSwitch:function(){return"隐藏/显示分页"},formatPaginationSwitchDown:function(){return"显示分页"},formatPaginationSwitchUp:function(){return"隐藏分页"},formatRefresh:function(){return"刷新"},formatToggle:function(){return"切换"},formatToggleOn:function(){return"显示卡片视图"},formatToggleOff:function(){return"隐藏卡片视图"},formatColumns:function(){return"列"},formatColumnsToggleAll:function(){return"切换所有"},formatFullscreen:function(){return"全屏"},formatAllRows:function(){return"所有"},formatAutoRefresh:function(){return"自动刷新"},formatExport:function(){return"导出数据"},formatJumpTo:function(){return"跳转"},formatAdvancedSearch:function(){return"高级搜索"},formatAdvancedCloseButton:function(){return"关闭"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["zh-CN"]),t.fn.bootstrapTable.locales["zh-TW"]={formatLoadingMessage:function(){return"正在努力地載入資料,請稍候"},formatRecordsPerPage:function(t){return"每頁顯示 ".concat(t," 項記錄")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"顯示第 ".concat(t," 到第 ").concat(n," 項記錄,總共 ").concat(o," 項記錄(從 ").concat(r," 總記錄中過濾)"):"顯示第 ".concat(t," 到第 ").concat(n," 項記錄,總共 ").concat(o," 項記錄")},formatSRPaginationPreText:function(){return"上一頁"},formatSRPaginationPageText:function(t){return"第".concat(t,"頁")},formatSRPaginationNextText:function(){return"下一頁"},formatDetailPagination:function(t){return"總共 ".concat(t," 項記錄")},formatClearSearch:function(){return"清空過濾"},formatSearch:function(){return"搜尋"},formatNoMatches:function(){return"沒有找到符合的結果"},formatPaginationSwitch:function(){return"隱藏/顯示分頁"},formatPaginationSwitchDown:function(){return"顯示分頁"},formatPaginationSwitchUp:function(){return"隱藏分頁"},formatRefresh:function(){return"重新整理"},formatToggle:function(){return"切換"},formatToggleOn:function(){return"顯示卡片視圖"},formatToggleOff:function(){return"隱藏卡片視圖"},formatColumns:function(){return"列"},formatColumnsToggleAll:function(){return"切換所有"},formatFullscreen:function(){return"全屏"},formatAllRows:function(){return"所有"},formatAutoRefresh:function(){return"自動刷新"},formatExport:function(){return"導出數據"},formatJumpTo:function(){return"跳轉"},formatAdvancedSearch:function(){return"高級搜尋"},formatAdvancedCloseButton:function(){return"關閉"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["zh-TW"])})); \ No newline at end of file
diff --git a/archlinuxaba/bareos/fix-build-bareos.patch b/archlinuxaba/bareos/fix-build-bareos.patch
new file mode 100644
index 0000000..e0b963b
--- /dev/null
+++ b/archlinuxaba/bareos/fix-build-bareos.patch
@@ -0,0 +1,44 @@
+--- a/core/src/droplet/libdroplet/src/utils.c 2021-04-16 00:09:37.856912334 +0300
++++ b/core/src/droplet/libdroplet/src/utils.c 2021-04-16 00:32:28.058300432 +0300
+@@ -33,7 +33,7 @@
+ */
+ #include <dropletp.h>
+ #include <linux/xattr.h>
+-#include <attr/xattr.h>
++#include <sys/xattr.h>
+ #include <errno.h>
+
+ /** @file */
+--- a/core/src/droplet/libdroplet/include/droplet/cdmi/crcmodel.h 2021-04-16 17:25:43.613478257 +0300
++++ b/core/src/droplet/libdroplet/include/droplet/cdmi/crcmodel.h 2021-04-16 17:31:53.449697759 +0300
+@@ -78,7 +78,7 @@
+ #ifndef DONE_STYLE
+
+ typedef unsigned long ulong;
+-typedef unsigned bool;
++/*typedef unsigned bool;*/
+ typedef unsigned char * p_ubyte_;
+
+ #ifndef TRUE
+@@ -107,8 +107,8 @@
+ int cm_width; /* Parameter: Width in bits [8,32]. */
+ ulong cm_poly; /* Parameter: The algorithm's polynomial. */
+ ulong cm_init; /* Parameter: Initial register value. */
+- bool cm_refin; /* Parameter: Reflect input bytes? */
+- bool cm_refot; /* Parameter: Reflect output CRC? */
++ _Bool cm_refin; /* Parameter: Reflect input bytes? */
++ _Bool cm_refot; /* Parameter: Reflect output CRC? */
+ ulong cm_xorot; /* Parameter: XOR this to output CRC. */
+
+ ulong cm_reg; /* Context: Context during execution. */
+--- a/core/src/droplet/libdroplet/src/backend/posix/reqbuilder.c 2021-04-16 17:32:41.619204579 +0300
++++ b/core/src/droplet/libdroplet/src/backend/posix/reqbuilder.c 2021-04-16 17:33:54.938453657 +0300
+@@ -39,7 +39,7 @@
+ #include <dirent.h>
+ #include <sys/types.h>
+ #include <linux/xattr.h>
+-#include <attr/xattr.h>
++#include <sys/xattr.h>
+ #include <utime.h>
+ #include <pwd.h>
+ #include <grp.h>
diff --git a/archlinuxaba/bareos/fix-headlink.patch b/archlinuxaba/bareos/fix-headlink.patch
new file mode 100644
index 0000000..6830228
--- /dev/null
+++ b/archlinuxaba/bareos/fix-headlink.patch
@@ -0,0 +1,193 @@
+--- a/webui/vendor/zendframework/zend-view/src/Helper/HeadLink.php 2021-04-16 20:54:47.655312342 +0300
++++ b/webui/vendor/zendframework/zend-view/src/Helper/HeadLink.php 2021-04-16 23:17:00.000000000 +0300
+@@ -13,21 +13,23 @@
+ use Zend\View;
+ use Zend\View\Exception;
+
++// @codingStandardsIgnoreStart
+ /**
+ * Zend_Layout_View_Helper_HeadLink
+ *
+ * @see http://www.w3.org/TR/xhtml1/dtds.html
+ *
+ * Creates the following virtual methods:
+- * @method HeadLink appendStylesheet($href, $media = 'screen', $conditionalStylesheet = '', $extras = array())
+- * @method HeadLink offsetSetStylesheet($index, $href, $media = 'screen', $conditionalStylesheet = '', $extras = array())
+- * @method HeadLink prependStylesheet($href, $media = 'screen', $conditionalStylesheet = '', $extras = array())
+- * @method HeadLink setStylesheet($href, $media = 'screen', $conditionalStylesheet = '', $extras = array())
+- * @method HeadLink appendAlternate($href, $type, $title, $extras = array())
+- * @method HeadLink offsetSetAlternate($index, $href, $type, $title, $extras = array())
+- * @method HeadLink prependAlternate($href, $type, $title, $extras = array())
+- * @method HeadLink setAlternate($href, $type, $title, $extras = array())
++ * @method HeadLink appendStylesheet($href, $media = 'screen', $conditionalStylesheet = '', $extras = [])
++ * @method HeadLink offsetSetStylesheet($index, $href, $media = 'screen', $conditionalStylesheet = '', $extras = [])
++ * @method HeadLink prependStylesheet($href, $media = 'screen', $conditionalStylesheet = '', $extras = [])
++ * @method HeadLink setStylesheet($href, $media = 'screen', $conditionalStylesheet = '', $extras = [])
++ * @method HeadLink appendAlternate($href, $type, $title, $extras = [])
++ * @method HeadLink offsetSetAlternate($index, $href, $type, $title, $extras = [])
++ * @method HeadLink prependAlternate($href, $type, $title, $extras = [])
++ * @method HeadLink setAlternate($href, $type, $title, $extras = [])
+ */
++// @codingStandardsIgnoreEnd
+ class HeadLink extends Placeholder\Container\AbstractStandalone
+ {
+ /**
+@@ -35,7 +37,7 @@
+ *
+ * @var string[]
+ */
+- protected $itemKeys = array(
++ protected $itemKeys = [
+ 'charset',
+ 'href',
+ 'hreflang',
+@@ -46,8 +48,12 @@
+ 'sizes',
+ 'type',
+ 'title',
+- 'extras'
+- );
++ 'extras',
++ 'itemprop',
++ 'crossorigin',
++ 'integrity',
++ 'as',
++ ];
+
+ /**
+ * Registry key for placeholder
+@@ -80,7 +86,7 @@
+ */
+ public function headLink(array $attributes = null, $placement = Placeholder\Container\AbstractContainer::APPEND)
+ {
+- return call_user_func_array(array($this, '__invoke'), func_get_args());
++ return call_user_func_array([$this, '__invoke'], func_get_args());
+ }
+
+ /**
+@@ -142,7 +148,11 @@
+ */
+ public function __call($method, $args)
+ {
+- if (preg_match('/^(?P<action>set|(ap|pre)pend|offsetSet)(?P<type>Stylesheet|Alternate|Prev|Next)$/', $method, $matches)) {
++ if (preg_match(
++ '/^(?P<action>set|(ap|pre)pend|offsetSet)(?P<type>Stylesheet|Alternate|Prev|Next)$/',
++ $method,
++ $matches
++ )) {
+ $argc = count($args);
+ $action = $matches['action'];
+ $type = $matches['type'];
+@@ -190,7 +200,7 @@
+ */
+ protected function isValid($value)
+ {
+- if (!$value instanceof stdClass) {
++ if (! $value instanceof stdClass) {
+ return false;
+ }
+
+@@ -213,7 +223,7 @@
+ */
+ public function append($value)
+ {
+- if (!$this->isValid($value)) {
++ if (! $this->isValid($value)) {
+ throw new Exception\InvalidArgumentException(
+ 'append() expects a data token; please use one of the custom append*() methods'
+ );
+@@ -232,7 +242,7 @@
+ */
+ public function offsetSet($index, $value)
+ {
+- if (!$this->isValid($value)) {
++ if (! $this->isValid($value)) {
+ throw new Exception\InvalidArgumentException(
+ 'offsetSet() expects a data token; please use one of the custom offsetSet*() methods'
+ );
+@@ -250,7 +260,7 @@
+ */
+ public function prepend($value)
+ {
+- if (!$this->isValid($value)) {
++ if (! $this->isValid($value)) {
+ throw new Exception\InvalidArgumentException(
+ 'prepend() expects a data token; please use one of the custom prepend*() methods'
+ );
+@@ -268,7 +278,7 @@
+ */
+ public function set($value)
+ {
+- if (!$this->isValid($value)) {
++ if (! $this->isValid($value)) {
+ throw new Exception\InvalidArgumentException(
+ 'set() expects a data token; please use one of the custom set*() methods'
+ );
+@@ -315,7 +325,7 @@
+ }
+
+ if (isset($attributes['conditionalStylesheet'])
+- && !empty($attributes['conditionalStylesheet'])
++ && ! empty($attributes['conditionalStylesheet'])
+ && is_string($attributes['conditionalStylesheet'])
+ ) {
+ // inner wrap with comment end and start if !IE
+@@ -340,7 +350,7 @@
+ ? $this->getWhitespace($indent)
+ : $this->getIndent();
+
+- $items = array();
++ $items = [];
+ $this->getContainer()->ksort();
+ foreach ($this as $item) {
+ $items[] = $this->itemToString($item);
+@@ -378,7 +388,7 @@
+ return false;
+ }
+
+- if (0 < count($args)) {
++ if ($args) {
+ $media = array_shift($args);
+ if (is_array($media)) {
+ $media = implode(',', $media);
+@@ -386,18 +396,20 @@
+ $media = (string) $media;
+ }
+ }
+- if (0 < count($args)) {
++ if ($args) {
+ $conditionalStylesheet = array_shift($args);
+- if (!empty($conditionalStylesheet) && is_string($conditionalStylesheet)) {
++ if (! empty($conditionalStylesheet) && is_string($conditionalStylesheet)) {
+ $conditionalStylesheet = (string) $conditionalStylesheet;
+ } else {
+ $conditionalStylesheet = null;
+ }
+ }
+
+- if (0 < count($args) && is_array($args[0])) {
++ if ($args && is_array($args[0])) {
+ $extras = array_shift($args);
+ $extras = (array) $extras;
++ } else {
++ $extras = array();
+ }
+
+ $attributes = compact('rel', 'type', 'href', 'media', 'conditionalStylesheet', 'extras');
+@@ -443,13 +455,15 @@
+ $type = array_shift($args);
+ $title = array_shift($args);
+
+- if (0 < count($args) && is_array($args[0])) {
++ if ($args && is_array($args[0])) {
+ $extras = array_shift($args);
+ $extras = (array) $extras;
+
+ if (isset($extras['media']) && is_array($extras['media'])) {
+ $extras['media'] = implode(',', $extras['media']);
+ }
++ } else {
++ $extras = array();
+ }
+
+ $href = (string) $href;
diff --git a/archlinuxaba/bareos/mysql.patch b/archlinuxaba/bareos/mysql.patch
new file mode 100644
index 0000000..b10f910
--- /dev/null
+++ b/archlinuxaba/bareos/mysql.patch
@@ -0,0 +1,397 @@
+--- a/core/src/cats/ddl/creates/mysql.sql 2021-06-10 16:14:05.373605979 +0300
++++ b/core/src/cats/ddl/creates/mysql.sql 2021-06-10 16:33:09.592630760 +0300
+@@ -11,63 +11,6 @@
+ INDEX (Path(255))
+ );
+
+--- We strongly recommend to avoid the temptation to add new indexes.
+--- In general, these will cause very significant performance
+--- problems in other areas. A better approach is to carefully check
+--- that all your memory configuration parameters are
+--- suitable for the size of your installation. If you backup
+--- millions of files, you need to adapt the database memory
+--- configuration parameters concerning sorting, joining and global
+--- memory. By default, sort and join parameters are very small
+--- (sometimes 8Kb), and having sufficient memory specified by those
+--- parameters is extremely important to run fast.
+-
+--- In File table
+--- FileIndex is 0 for FT_DELETED files
+--- Name is '' for directories
+--- The index INDEX (PathId, JobId, FileIndex) is
+--- important for bvfs performance, especially
+--- for .bvfs_lsdirs which is used by bareos-webui.
+-CREATE TABLE File (
+- FileId BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
+- FileIndex INTEGER UNSIGNED DEFAULT 0,
+- JobId INTEGER UNSIGNED NOT NULL REFERENCES Job,
+- PathId INTEGER UNSIGNED NOT NULL REFERENCES Path,
+- DeltaSeq SMALLINT UNSIGNED DEFAULT 0,
+- MarkId INTEGER UNSIGNED DEFAULT 0,
+- Fhinfo NUMERIC(20) DEFAULT 0,
+- Fhnode NUMERIC(20) DEFAULT 0,
+- LStat TINYBLOB NOT NULL,
+- MD5 TINYBLOB NOT NULL,
+- Name BLOB NOT NULL,
+- PRIMARY KEY (FileId),
+- INDEX (JobId, PathId, Name(255)),
+- INDEX (PathId, JobId, FileIndex)
+-);
+-
+---
+--- Possibly add one or more of the following indexes
+--- to the above File table if your Verifies are
+--- too slow, but they can slow down backups.
+---
+--- INDEX (PathId),
+-
+-CREATE TABLE RestoreObject (
+- RestoreObjectId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+- ObjectName BLOB NOT NULL,
+- RestoreObject LONGBLOB NOT NULL,
+- PluginName TINYBLOB NOT NULL,
+- ObjectLength INTEGER DEFAULT 0,
+- ObjectFullLength INTEGER DEFAULT 0,
+- ObjectIndex INTEGER DEFAULT 0,
+- ObjectType INTEGER DEFAULT 0,
+- FileIndex INTEGER UNSIGNED DEFAULT 0,
+- JobId INTEGER UNSIGNED NOT NULL REFERENCES Job,
+- ObjectCompression INTEGER DEFAULT 0,
+- PRIMARY KEY(RestoreObjectId),
+- INDEX (JobId)
+-);
+-
+ CREATE TABLE MediaType (
+ MediaTypeId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+ MediaType TINYBLOB NOT NULL,
+@@ -101,13 +44,65 @@
+ PRIMARY KEY(DeviceId)
+ );
+
++CREATE TABLE FileSet (
++ FileSetId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
++ FileSet TINYBLOB NOT NULL,
++ MD5 TINYBLOB,
++ CreateTime DATETIME DEFAULT NULL,
++ FileSetText BLOB NOT NULL,
++ PRIMARY KEY(FileSetId)
++);
++
++CREATE TABLE Client (
++ ClientId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
++ Name TINYBLOB NOT NULL,
++ Uname TINYBLOB NOT NULL, /* full uname -a of client */
++ AutoPrune TINYINT DEFAULT 0,
++ FileRetention BIGINT UNSIGNED DEFAULT 0,
++ JobRetention BIGINT UNSIGNED DEFAULT 0,
++ UNIQUE (Name(128)),
++ PRIMARY KEY(ClientId)
++);
++
++CREATE TABLE Pool (
++ PoolId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
++ Name TINYBLOB NOT NULL,
++ NumVols INTEGER UNSIGNED DEFAULT 0,
++ MaxVols INTEGER UNSIGNED DEFAULT 0,
++ UseOnce TINYINT DEFAULT 0,
++ UseCatalog TINYINT DEFAULT 0,
++ AcceptAnyVolume TINYINT DEFAULT 0,
++ VolRetention BIGINT UNSIGNED DEFAULT 0,
++ VolUseDuration BIGINT UNSIGNED DEFAULT 0,
++ MaxVolJobs INTEGER UNSIGNED DEFAULT 0,
++ MaxVolFiles INTEGER UNSIGNED DEFAULT 0,
++ MaxVolBytes BIGINT UNSIGNED DEFAULT 0,
++ AutoPrune TINYINT DEFAULT 0,
++ Recycle TINYINT DEFAULT 0,
++ ActionOnPurge TINYINT DEFAULT 0,
++ PoolType ENUM('Backup', 'Copy', 'Cloned', 'Archive', 'Migration', 'Scratch') NOT NULL,
++ LabelType TINYINT DEFAULT 0,
++ LabelFormat TINYBLOB,
++ Enabled TINYINT DEFAULT 1,
++ ScratchPoolId INTEGER UNSIGNED DEFAULT 0,
++ RecyclePoolId INTEGER UNSIGNED DEFAULT 0,
++ NextPoolId INTEGER UNSIGNED DEFAULT 0,
++ MinBlockSize INTEGER UNSIGNED DEFAULT 0,
++ MaxBlockSize INTEGER UNSIGNED DEFAULT 0,
++ MigrationHighBytes BIGINT UNSIGNED DEFAULT 0,
++ MigrationLowBytes BIGINT UNSIGNED DEFAULT 0,
++ MigrationTime BIGINT UNSIGNED DEFAULT 0,
++ UNIQUE (Name(128)),
++ PRIMARY KEY (PoolId)
++);
++
+ CREATE TABLE Job (
+ JobId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+ Job TINYBLOB NOT NULL,
+ Name TINYBLOB NOT NULL,
+ Type BINARY(1) NOT NULL,
+ Level BINARY(1) NOT NULL,
+- ClientId INTEGER DEFAULT 0 REFERENCES Client(ClientId),
++ ClientId INTEGER UNSIGNED DEFAULT 0 REFERENCES Client(ClientId),
+ JobStatus BINARY(1) NOT NULL,
+ SchedTime DATETIME DEFAULT NULL,
+ StartTime DATETIME DEFAULT NULL,
+@@ -121,9 +116,9 @@
+ ReadBytes BIGINT UNSIGNED DEFAULT 0,
+ JobErrors INTEGER UNSIGNED DEFAULT 0,
+ JobMissingFiles INTEGER UNSIGNED DEFAULT 0,
+- PoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool(PoolId),
+- FileSetId INTEGER UNSIGNED DEFAULT 0 REFERENCES FileSet(FileSetId),
+- PriorJobId INTEGER UNSIGNED DEFAULT 0 REFERENCES Job(JobId),
++ PoolId INTEGER UNSIGNED DEFAULT 0,
++ FileSetId INTEGER UNSIGNED DEFAULT 0,
++ PriorJobId INTEGER UNSIGNED DEFAULT 0,
+ PurgedFiles TINYINT DEFAULT 0,
+ HasBase TINYINT DEFAULT 0,
+ HasCache TINYINT DEFAULT 0,
+@@ -134,6 +129,63 @@
+ INDEX (JobTDate)
+ );
+
++-- We strongly recommend to avoid the temptation to add new indexes.
++-- In general, these will cause very significant performance
++-- problems in other areas. A better approach is to carefully check
++-- that all your memory configuration parameters are
++-- suitable for the size of your installation. If you backup
++-- millions of files, you need to adapt the database memory
++-- configuration parameters concerning sorting, joining and global
++-- memory. By default, sort and join parameters are very small
++-- (sometimes 8Kb), and having sufficient memory specified by those
++-- parameters is extremely important to run fast.
++
++-- In File table
++-- FileIndex is 0 for FT_DELETED files
++-- Name is '' for directories
++-- The index INDEX (PathId, JobId, FileIndex) is
++-- important for bvfs performance, especially
++-- for .bvfs_lsdirs which is used by bareos-webui.
++CREATE TABLE File (
++ FileId BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
++ FileIndex INTEGER UNSIGNED DEFAULT 0,
++ JobId INTEGER UNSIGNED NOT NULL REFERENCES Job,
++ PathId INTEGER UNSIGNED NOT NULL REFERENCES Path,
++ DeltaSeq SMALLINT UNSIGNED DEFAULT 0,
++ MarkId INTEGER UNSIGNED DEFAULT 0,
++ Fhinfo NUMERIC(20) DEFAULT 0,
++ Fhnode NUMERIC(20) DEFAULT 0,
++ LStat TINYBLOB NOT NULL,
++ MD5 TINYBLOB NOT NULL,
++ Name BLOB NOT NULL,
++ PRIMARY KEY (FileId),
++ INDEX (JobId, PathId, Name(255)),
++ INDEX (PathId, JobId, FileIndex)
++);
++
++--
++-- Possibly add one or more of the following indexes
++-- to the above File table if your Verifies are
++-- too slow, but they can slow down backups.
++--
++-- INDEX (PathId),
++
++CREATE TABLE RestoreObject (
++ RestoreObjectId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
++ ObjectName BLOB NOT NULL,
++ RestoreObject LONGBLOB NOT NULL,
++ PluginName TINYBLOB NOT NULL,
++ ObjectLength INTEGER DEFAULT 0,
++ ObjectFullLength INTEGER DEFAULT 0,
++ ObjectIndex INTEGER DEFAULT 0,
++ ObjectType INTEGER DEFAULT 0,
++ FileIndex INTEGER UNSIGNED DEFAULT 0,
++ JobId INTEGER UNSIGNED NOT NULL REFERENCES Job,
++ ObjectCompression INTEGER DEFAULT 0,
++ PRIMARY KEY(RestoreObjectId),
++ INDEX (JobId)
++);
++
+ -- Create a table like Job for long term statistics
+ CREATE TABLE JobHisto (
+ JobId INTEGER UNSIGNED NOT NULL,
+@@ -175,50 +227,13 @@
+ PRIMARY KEY(LocationId)
+ );
+
+-CREATE TABLE LocationLog (
+- LocLogId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+- Date DATETIME DEFAULT NULL,
+- Comment BLOB NOT NULL,
+- MediaId INTEGER UNSIGNED DEFAULT 0 REFERENCES Media(MediaId),
+- LocationId INTEGER UNSIGNED DEFAULT 0 REFERENCES Location(LocationId),
+- NewVolStatus ENUM('Full', 'Archive', 'Append', 'Recycle', 'Purged',
+- 'Read-Only', 'Disabled', 'Error', 'Busy', 'Used', 'Cleaning') NOT NULL,
+- NewEnabled TINYINT,
+- PRIMARY KEY(LocLogId)
+-);
+-
+-CREATE TABLE FileSet (
+- FileSetId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+- FileSet TINYBLOB NOT NULL,
+- MD5 TINYBLOB,
+- CreateTime DATETIME DEFAULT NULL,
+- FileSetText BLOB NOT NULL,
+- PRIMARY KEY(FileSetId)
+-);
+-
+-CREATE TABLE JobMedia (
+- JobMediaId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+- JobId INTEGER UNSIGNED NOT NULL REFERENCES Job,
+- MediaId INTEGER UNSIGNED NOT NULL REFERENCES Media,
+- FirstIndex INTEGER UNSIGNED DEFAULT 0,
+- LastIndex INTEGER UNSIGNED DEFAULT 0,
+- StartFile INTEGER UNSIGNED DEFAULT 0,
+- EndFile INTEGER UNSIGNED DEFAULT 0,
+- StartBlock INTEGER UNSIGNED DEFAULT 0,
+- EndBlock INTEGER UNSIGNED DEFAULT 0,
+- JobBytes NUMERIC(20) DEFAULT 0,
+- VolIndex INTEGER UNSIGNED DEFAULT 0,
+- PRIMARY KEY(JobMediaId),
+- INDEX (JobId, MediaId)
+-);
+-
+ CREATE TABLE Media (
+ MediaId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+ VolumeName TINYBLOB NOT NULL,
+ Slot INTEGER DEFAULT 0,
+ PoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool(PoolId),
+ MediaType TINYBLOB NOT NULL,
+- MediaTypeId INTEGER UNSIGNED DEFAULT 0 REFERENCES MediaType(MediaTypeId),
++ MediaTypeId INTEGER UNSIGNED DEFAULT 0,
+ LabelType TINYINT DEFAULT 0,
+ FirstWritten DATETIME DEFAULT NULL,
+ LastWritten DATETIME DEFAULT NULL,
+@@ -244,19 +259,19 @@
+ MaxVolBytes BIGINT UNSIGNED DEFAULT 0,
+ InChanger TINYINT DEFAULT 0,
+ StorageId INTEGER UNSIGNED DEFAULT 0 REFERENCES Storage(StorageId),
+- DeviceId INTEGER UNSIGNED DEFAULT 0 REFERENCES Device(DeviceId),
++ DeviceId INTEGER UNSIGNED DEFAULT 0,
+ MediaAddressing TINYINT DEFAULT 0,
+ VolReadTime BIGINT UNSIGNED DEFAULT 0,
+ VolWriteTime BIGINT UNSIGNED DEFAULT 0,
+ EndFile INTEGER UNSIGNED DEFAULT 0,
+ EndBlock INTEGER UNSIGNED DEFAULT 0,
+- LocationId INTEGER UNSIGNED DEFAULT 0 REFERENCES Location(LocationId),
++ LocationId INTEGER UNSIGNED DEFAULT 0,
+ RecycleCount INTEGER UNSIGNED DEFAULT 0,
+ MinBlockSize INTEGER UNSIGNED DEFAULT 0,
+ MaxBlockSize INTEGER UNSIGNED DEFAULT 0,
+ InitialWrite DATETIME DEFAULT NULL,
+- ScratchPoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool(PoolId),
+- RecyclePoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool(PoolId),
++ ScratchPoolId INTEGER UNSIGNED DEFAULT 0,
++ RecyclePoolId INTEGER UNSIGNED DEFAULT 0,
+ EncryptionKey TINYBLOB,
+ Comment BLOB,
+ PRIMARY KEY(MediaId),
+@@ -264,47 +279,32 @@
+ INDEX (PoolId)
+ );
+
+-CREATE TABLE Pool (
+- PoolId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+- Name TINYBLOB NOT NULL,
+- NumVols INTEGER UNSIGNED DEFAULT 0,
+- MaxVols INTEGER UNSIGNED DEFAULT 0,
+- UseOnce TINYINT DEFAULT 0,
+- UseCatalog TINYINT DEFAULT 0,
+- AcceptAnyVolume TINYINT DEFAULT 0,
+- VolRetention BIGINT UNSIGNED DEFAULT 0,
+- VolUseDuration BIGINT UNSIGNED DEFAULT 0,
+- MaxVolJobs INTEGER UNSIGNED DEFAULT 0,
+- MaxVolFiles INTEGER UNSIGNED DEFAULT 0,
+- MaxVolBytes BIGINT UNSIGNED DEFAULT 0,
+- AutoPrune TINYINT DEFAULT 0,
+- Recycle TINYINT DEFAULT 0,
+- ActionOnPurge TINYINT DEFAULT 0,
+- PoolType ENUM('Backup', 'Copy', 'Cloned', 'Archive', 'Migration', 'Scratch') NOT NULL,
+- LabelType TINYINT DEFAULT 0,
+- LabelFormat TINYBLOB,
+- Enabled TINYINT DEFAULT 1,
+- ScratchPoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool,
+- RecyclePoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool,
+- NextPoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool,
+- MinBlockSize INTEGER UNSIGNED DEFAULT 0,
+- MaxBlockSize INTEGER UNSIGNED DEFAULT 0,
+- MigrationHighBytes BIGINT UNSIGNED DEFAULT 0,
+- MigrationLowBytes BIGINT UNSIGNED DEFAULT 0,
+- MigrationTime BIGINT UNSIGNED DEFAULT 0,
+- UNIQUE (Name(128)),
+- PRIMARY KEY (PoolId)
++CREATE TABLE JobMedia (
++ JobMediaId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
++ JobId INTEGER UNSIGNED NOT NULL REFERENCES Job,
++ MediaId INTEGER UNSIGNED NOT NULL REFERENCES Media,
++ FirstIndex INTEGER UNSIGNED DEFAULT 0,
++ LastIndex INTEGER UNSIGNED DEFAULT 0,
++ StartFile INTEGER UNSIGNED DEFAULT 0,
++ EndFile INTEGER UNSIGNED DEFAULT 0,
++ StartBlock INTEGER UNSIGNED DEFAULT 0,
++ EndBlock INTEGER UNSIGNED DEFAULT 0,
++ JobBytes NUMERIC(20) DEFAULT 0,
++ VolIndex INTEGER UNSIGNED DEFAULT 0,
++ PRIMARY KEY(JobMediaId),
++ INDEX (JobId, MediaId)
+ );
+
+-CREATE TABLE Client (
+- ClientId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+- Name TINYBLOB NOT NULL,
+- Uname TINYBLOB NOT NULL, /* full uname -a of client */
+- AutoPrune TINYINT DEFAULT 0,
+- FileRetention BIGINT UNSIGNED DEFAULT 0,
+- JobRetention BIGINT UNSIGNED DEFAULT 0,
+- UNIQUE (Name(128)),
+- PRIMARY KEY(ClientId)
++CREATE TABLE LocationLog (
++ LocLogId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
++ Date DATETIME DEFAULT NULL,
++ Comment BLOB NOT NULL,
++ MediaId INTEGER UNSIGNED DEFAULT 0 REFERENCES Media(MediaId),
++ LocationId INTEGER UNSIGNED DEFAULT 0 REFERENCES Location(LocationId),
++ NewVolStatus ENUM('Full', 'Archive', 'Append', 'Recycle', 'Purged',
++ 'Read-Only', 'Disabled', 'Error', 'Busy', 'Used', 'Cleaning') NOT NULL,
++ NewEnabled TINYINT,
++ PRIMARY KEY(LocLogId)
+ );
+
+ CREATE TABLE Log (
+@@ -318,9 +318,9 @@
+
+ CREATE TABLE BaseFiles (
+ BaseId BIGINT UNSIGNED AUTO_INCREMENT,
+- BaseJobId INTEGER UNSIGNED NOT NULL REFERENCES Job,
+- JobId INTEGER UNSIGNED NOT NULL REFERENCES Job,
+- FileId BIGINT UNSIGNED NOT NULL REFERENCES File,
++ BaseJobId INTEGER UNSIGNED NOT NULL,
++ JobId INTEGER UNSIGNED NOT NULL REFERENCES Job(JobId),
++ FileId BIGINT UNSIGNED NOT NULL REFERENCES File(FileId),
+ FileIndex INTEGER UNSIGNED,
+ PRIMARY KEY(BaseId)
+ );
+@@ -360,7 +360,7 @@
+ );
+
+ CREATE INDEX pathhierarchy_ppathid
+- ON PathHierarchy (PPathId);
++ ON PathHierarchy (PPathId);
+
+ CREATE TABLE PathVisibility
+ (
+@@ -376,14 +376,14 @@
+ );
+
+ CREATE TABLE Quota (
+- ClientId INTEGER DEFAULT 0 REFERENCES Client,
++ ClientId INTEGER UNSIGNED DEFAULT 0 REFERENCES Client(ClientId),
+ GraceTime BIGINT DEFAULT 0,
+ QuotaLimit BIGINT UNSIGNED DEFAULT 0,
+ PRIMARY KEY (ClientId)
+ );
+
+ CREATE TABLE NDMPLevelMap (
+- ClientId INTEGER DEFAULT 0 REFERENCES Client(ClientId),
++ ClientId INTEGER UNSIGNED DEFAULT 0 REFERENCES Client(ClientId),
+ FileSetId INTEGER UNSIGNED DEFAULT 0 REFERENCES FileSet(FileSetId),
+ FileSystem TINYBLOB NOT NULL,
+ DumpLevel INTEGER NOT NULL,
diff --git a/archlinuxaba/bareos/plattforms-archlinux.patch b/archlinuxaba/bareos/plattforms-archlinux.patch
new file mode 100644
index 0000000..caa7bd3
--- /dev/null
+++ b/archlinuxaba/bareos/plattforms-archlinux.patch
@@ -0,0 +1,11 @@
+--- bareos/core/platforms/CMakeLists.txt 2020-02-07 22:05:23.436631465 +0100
++++ bareosb/core/platforms/CMakeLists.txt 2020-02-07 22:19:25.365678836 +0100
+@@ -31,6 +31,8 @@
+ add_subdirectory(univention)
+ elseif(${DISTNAME} STREQUAL hpux)
+ message(STATUS "DISTNAME: " ${DISTNAME})
++ elseif(${DISTNAME} STREQUAL archlinux)
++ message(STATUS "DISTNAME: ", ${DISTNAME})
+ else()
+ add_subdirectory(${DISTNAME})
+ endif()
diff --git a/archlinuxaba/bareos/restore-form.patch b/archlinuxaba/bareos/restore-form.patch
new file mode 100644
index 0000000..9860474
--- /dev/null
+++ b/archlinuxaba/bareos/restore-form.patch
@@ -0,0 +1,12 @@
+--- bareos/webui/module/Restore/src/Restore/Form/RestoreForm.php 2020-02-21 23:01:23.000000000 +0200
++++ bareos/webui/module/Restore/src/Restore/Form/RestoreForm.php 2020-04-09 23:28:34.194634728 +0300
+@@ -244,7 +244,8 @@
+ ));
+ }
+ else {
+- if(!empty($this->restore_params['client']) && count($this->getRestoreJobList()) == 1) {
++ // if(!empty($this->restore_params['client']) && count($this->getRestoreJobList()) == 1) {
++ if(!empty($this->restore_params['client']) && count($this->getRestoreJobList()) > 0) {
+ $this->add(array(
+ 'name' => 'restorejob',
+ 'type' => 'select',