diff options
-rw-r--r-- | .SRCINFO | 236 | ||||
-rw-r--r-- | 0002-libdroplet.patch | 23 | ||||
-rw-r--r-- | 0002-logspam.patch (renamed from 0004-logspam.patch) | 0 | ||||
-rw-r--r-- | 0003-version.patch (renamed from 0005-version.patch) | 0 | ||||
-rw-r--r-- | 0003-zend.patch | 11 | ||||
-rw-r--r-- | 0004-sqlspam.patch (renamed from 0006-sqlspam.patch) | 0 | ||||
-rw-r--r-- | 0005-httpd.patch | 13 | ||||
-rw-r--r-- | 0006-hostname.patch | 11 | ||||
-rw-r--r-- | 0007-fix-gcc-13.patch | 138 | ||||
-rw-r--r-- | 0007-hostname.patch | 22 | ||||
-rw-r--r-- | 0008-httpd.patch | 11 | ||||
-rw-r--r-- | 009-fix-timer_thread.patch | 14 | ||||
-rw-r--r-- | PKGBUILD | 391 | ||||
-rw-r--r-- | PoolModel.patch | 15 | ||||
-rw-r--r-- | bootstrap-table-locale-all.min.js | 10 | ||||
-rw-r--r-- | fix-build-bareos.patch | 44 | ||||
-rw-r--r-- | fix-headlink.patch | 193 | ||||
-rw-r--r-- | mysql.patch | 397 | ||||
-rw-r--r-- | plattforms-archlinux.patch | 11 | ||||
-rw-r--r-- | restore-form.patch | 12 |
20 files changed, 488 insertions, 1064 deletions
@@ -1,6 +1,6 @@ pkgbase = bareos pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - pkgver = 21.1.3 + pkgver = 23.0.1 pkgrel = 2 url = http://www.bareos.org arch = i686 @@ -13,8 +13,8 @@ pkgbase = bareos makedepends = gcc makedepends = libmariadbclient makedepends = postgresql-libs - makedepends = python2 makedepends = python + makedepends = python-setuptools makedepends = rpcsvc-proto makedepends = git makedepends = lsb-release @@ -22,36 +22,23 @@ pkgbase = bareos makedepends = glusterfs makedepends = jansson makedepends = pam_wrapper - makedepends = ceph-libs - source = git+https://github.com/bareos/bareos.git#tag=Release/21.1.3 + source = git+https://github.com/bareos/bareos.git#tag=Release/23.0.1 source = 0001-distver.patch - source = 0002-libdroplet.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 = 009-fix-timer_thread.patch - source = bootstrap-table-locale-all.min.js + source = 0003-version.patch + source = 0004-sqlspam.patch + source = 0005-httpd.patch md5sums = SKIP md5sums = 419b0c64af750aa3e8ea668edf464d3e - md5sums = f2a2a4e1a83d80ee3ba42b38b2062208 - md5sums = f9b885e18313d9c070372d313e1b422d - md5sums = 39724df5903b712fb8d34209c7ac8f1e md5sums = 5bf1233d94dfecc9060746bfb39b9d2b md5sums = ca4c929a2462cafaead8d0b49e3cebed - md5sums = b0068e1a248ac0d0e83fb8ae1e034f62 - md5sums = 33d9c3a1d25b30ac2182aa8d874e28a5 - md5sums = c8d3568ddf543a576c6fdbe586d8d3d3 - md5sums = e78b88f897cfc3e60129eec360521e3d + md5sums = a6a260808e46c20b1c22aa2efebc3fe1 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.3 + depends = bareos-common=23.0.1 depends = readline depends = jansson backup = etc/bareos/bconsole.conf @@ -67,9 +54,26 @@ pkgname = bareos-common depends = jansson depends = zlib +pkgname = bareos-contrib-director-python-plugins + pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Backup Archiving Recovery Open Sourced - contributed Director plugins + depends = bareos-common=23.0.1 + depends = bareos-director-python-plugin=23.0.1 + +pkgname = bareos-contrib-filedaemon-python-plugins + pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Backup Archiving Recovery Open Sourced - contributed File Daemon plugins + depends = bareos-common=23.0.1 + depends = bareos-filedaemon-python-plugin=23.0.1 + +pkgname = bareos-contrib-tools + pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Backup Archiving Recovery Open Sourced - contributed tools + arch = any + depends = python-bareos=23.0.1 + depends = bareos-filedaemon=23.0.1 + pkgname = bareos-database-common - pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Generic abstration libs and tools for sql catalog - depends = bareos-common=21.1.3 + pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Backup Archiving Recovery Open Sourced - common catalog files + depends = bareos-common=23.0.1 + depends = bareos-database-postgresql=23.0.1 depends = libcap depends = lzo depends = zlib @@ -80,134 +84,107 @@ pkgname = bareos-database-common 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.3 + depends = bareos-database-common=23.0.1 depends = postgresql-libs - provides = bareos-database=21.1.3 + provides = bareos-database=23.0.1 pkgname = bareos-database-tools pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - CLI tools with database dpendencies (dbcheck, bscan) - depends = bareos-database-common=21.1.3 - 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.3 + depends = bareos-database-common=23.0.1 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.3 - -pkgname = bareos-director-python2-plugin - pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Python plugin for director daemon - depends = bareos-director=21.1.3 - depends = bareos-director-python-plugins-common=21.1.3 - depends = python2 - depends = libcap - depends = jansson - depends = lzo - conflicts = bareos-director-python-plugin + arch = any + depends = bareos-director=23.0.1 pkgname = bareos-director-python3-plugin pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Python plugin for director daemon - depends = bareos-director=21.1.3 - depends = bareos-director-python-plugins-common=21.1.3 + depends = bareos-director=23.0.1 + depends = bareos-director-python-plugins-common=23.0.1 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.3 +pkgname = bareos-director + pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Director daemon + install = bareos-director.install + depends = bareos-common=23.0.1 + depends = openssl + depends = bash 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.3 + depends = bareos-filedaemon=23.0.1 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.3 - depends = bareos-filedaemon-python3-plugin=21.1.3 + arch = any + depends = bareos-filedaemon=23.0.1 + depends = bareos-filedaemon-python3-plugin=23.0.1 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.3 + arch = any + depends = bareos-filedaemon=23.0.1 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.3 + arch = any + depends = bareos-filedaemon=23.0.1 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.3 + arch = any + depends = bareos-filedaemon=23.0.1 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.3 + arch = any + depends = bareos-filedaemon=23.0.1 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.3 - -pkgname = bareos-filedaemon-python2-plugin - pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Python plugin for file daemon - depends = bareos-filedaemon=21.1.3 - depends = bareos-filedaemon-python-plugins-common=21.1.3 - depends = python2 - depends = libcap - depends = lzo - depends = jansson - conflicts = bareos-filedaemon-python-plugin + arch = any + depends = bareos-filedaemon=23.0.1 pkgname = bareos-filedaemon-python3-plugin pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Python plugin for file daemon - depends = bareos-filedaemon=21.1.3 - depends = bareos-filedaemon-python-plugins-common=21.1.3 + depends = bareos-filedaemon=23.0.1 + depends = bareos-filedaemon-python-plugins-common=23.0.1 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.3 - depends = zlib - depends = lzo +pkgname = bareos-filedaemon + pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - File daemon + install = bareos-filedaemon.install + groups = bareos + groups = bareos-client + depends = bareos-common=23.0.1 depends = jansson - depends = openssl - depends = libcap - -pkgname = bareos-storage-ceph - pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Backup Archiving Recovery Open Sourced - storage daemon CEPH backend - depends = bareos-storage=21.1.3 + depends = zlib + depends = gcc-libs pkgname = bareos-storage-droplet pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Droplet support for storage daemon - depends = bareos-storage=21.1.3 + depends = bareos-storage=23.0.1 pkgname = bareos-storage-fifo pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - FIFO support for storage daemon - depends = bareos-storage=21.1.3 + depends = bareos-storage=23.0.1 depends = zlib depends = libcap depends = openssl @@ -216,27 +193,18 @@ pkgname = bareos-storage-fifo pkgname = bareos-storage-glusterfs pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - GlusterFS support for storage daemon - depends = bareos-storage=21.1.3 + depends = bareos-storage=23.0.1 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.3 - -pkgname = bareos-storage-python2-plugin - pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Python plugin for storage daemon - depends = bareos-storage=21.1.3 - depends = bareos-storage-python-plugins-common=21.1.3 - depends = python2 - depends = lzo - depends = libcap - depends = jansson - conflicts = bareos-storage-python-plugin + arch = any + depends = bareos-storage=23.0.1 pkgname = bareos-storage-python3-plugin pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Python plugin for storage daemon - depends = bareos-storage=21.1.3 - depends = bareos-storage-python-plugins-common=21.1.3 + depends = bareos-storage=23.0.1 + depends = bareos-storage-python-plugins-common=23.0.1 depends = python depends = lzo depends = libcap @@ -245,7 +213,7 @@ pkgname = bareos-storage-python3-plugin pkgname = bareos-storage-tape pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Tape support for storage daemon - depends = bareos-storage=21.1.3 + depends = bareos-storage=23.0.1 depends = zlib depends = libcap depends = bash @@ -255,44 +223,70 @@ pkgname = bareos-storage-tape depends = mtx backup = etc/bareos/mtx-changer.conf +pkgname = bareos-storage + pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Storage daemon + install = bareos-storage.install + depends = bareos-common=23.0.1 + depends = zlib + depends = lzo + depends = jansson + depends = openssl + depends = libcap + pkgname = bareos-tools pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - CLI tools (bcopy, bextract, bls, bregeq, bwild, bregex) - depends = bareos-common=21.1.3 + depends = bareos-common=23.0.1 depends = glibc +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=23.0.1 + backup = etc/bareos/tray-monitor.d/monitor/bareos-mon.conf + pkgname = bareos-vmware-plugin pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Bareos VMware plugin - depends = python2 + arch = any + depends = bareos-vadp-dumper=23.0.1 + depends = bareos-common=23.0.1 + optdepends = bareos-filedaemon-python3-plugin=23.0.1 pkgname = bareos-webui pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Webui (Bareos web administration) - depends = php7 - depends = php7-fpm + arch = any 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 + +pkgname = bareos-webui-apache + pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Webui Apache + arch = any + depends = apache + depends = php-apache + depends = php + depends = php-fpm + depends = php-pgsql backup = etc/httpd/conf/extra/bareos-webui.conf +pkgname = bareos-webui-nginx + pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - Webui nginx + arch = any + depends = nginx + depends = php + depends = php-fpm + depends = php-pgsql + backup = etc/nginx/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.3 - backup = etc/bareos/tray-monitor.d/monitor/bareos-mon.conf - -pkgname = python2-bareos - pkgdesc = Bareos - Backup Archiving Recovery Open Sourced - python-bareos is a Python2 module to access a backup system. - depends = python2 - depends = jansson - 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 diff --git a/0002-libdroplet.patch b/0002-libdroplet.patch deleted file mode 100644 index 9b9dc5cbcc9a..000000000000 --- a/0002-libdroplet.patch +++ /dev/null @@ -1,23 +0,0 @@ -# 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/0004-logspam.patch b/0002-logspam.patch index 18f6d5b1faa5..18f6d5b1faa5 100644 --- a/0004-logspam.patch +++ b/0002-logspam.patch diff --git a/0005-version.patch b/0003-version.patch index 96440ac549db..96440ac549db 100644 --- a/0005-version.patch +++ b/0003-version.patch diff --git a/0003-zend.patch b/0003-zend.patch deleted file mode 100644 index 0c136fa0c0bf..000000000000 --- a/0003-zend.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- 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/0006-sqlspam.patch b/0004-sqlspam.patch index 1882f0c6b988..1882f0c6b988 100644 --- a/0006-sqlspam.patch +++ b/0004-sqlspam.patch diff --git a/0005-httpd.patch b/0005-httpd.patch new file mode 100644 index 000000000000..247ba934e6ba --- /dev/null +++ b/0005-httpd.patch @@ -0,0 +1,13 @@ +--- webui/CMakeLists.txt.orig 2023-03-03 21:55:18.000000000 +0200 ++++ webui/CMakeLists.txt 2023-03-03 22:01:47.835425931 +0200 +@@ -66,7 +66,9 @@ + message(" BAREOS_FULL_VERSION: ${BAREOS_FULL_VERSION} ") + message(" LocalBuildDefinitionsFile: ${BareosLocalBuildDefinitionsFile}") + +-if(EXISTS ${sysconfdir}/httpd/conf.d) ++if(EXISTS ${sysconfdir}/httpd/conf/extra ) ++ set(HTTPD_CONF ${sysconfdir}/httpd/conf/extra ) ++elseif(EXISTS ${sysconfdir}/httpd/conf.d) + set(HTTPD_CONF ${sysconfdir}/httpd/conf.d) + elseif(EXISTS ${sysconfdir}/apache2/conf.d) + set(HTTPD_CONF ${sysconfdir}/apache2/conf.d) diff --git a/0006-hostname.patch b/0006-hostname.patch new file mode 100644 index 000000000000..ac9be85634d8 --- /dev/null +++ b/0006-hostname.patch @@ -0,0 +1,11 @@ +--- core/scripts/bareos-config-lib.sh.in.orig 2023-03-03 18:31:34.000000000 +0200 ++++ core/scripts/bareos-config-lib.sh.in 2023-03-03 18:58:35.163665093 +0200 +@@ -998,7 +998,7 @@ + { + # put actual short hostname in configuration files + # try to get short hostname +- hname=$(hostname -s) ++ hname=$(hostnamectl hostname) + if [ -z "${hname}" ]; then + # try to get long hostname + hname=$(hostname|sed 's/\..*//g') diff --git a/0007-fix-gcc-13.patch b/0007-fix-gcc-13.patch new file mode 100644 index 000000000000..a0b32879ccc2 --- /dev/null +++ b/0007-fix-gcc-13.patch @@ -0,0 +1,138 @@ +From 2bb7d74215bf6ae4f350de11bff04b68cf3c82b3 Mon Sep 17 00:00:00 2001 +From: Bruno Friedmann <bruno.friedmann@bareos.com> +Date: Mon, 27 Mar 2023 13:22:11 +0200 +Subject: [PATCH] core: fixes for gcc-13 support + +- add explicit system_error and stdexcept +- console_conf.cc fix std::move warning + +Signed-off-by: Bruno Friedmann <bruno.friedmann@bareos.com> +--- + core/src/cats/cats.h | 2 ++ + core/src/console/console_conf.cc | 4 ++-- + core/src/lib/thread_list.cc | 3 ++- + core/src/lib/thread_specific_data.cc | 3 ++- + core/src/lib/thread_specific_data.h | 3 ++- + core/src/lib/thread_specific_data_key.h | 4 +++- + 6 files changed, 13 insertions(+), 6 deletions(-) + +diff --git core/src/cats/cats.h.orig core/src/cats/cats.h +index 7a6641b3f72..edb5ecbe38b 100644 +--- core/src/cats/cats.h.orig ++++ core/src/cats/cats.h +@@ -41,6 +41,8 @@ + #include "lib/output_formatter.h" + + #include <string> ++#include <stdexcept> ++#include <system_error> + #include <vector> + template <typename T> class dlist; + +diff --git core/src/console/console_conf.cc.orig core/src/console/console_conf.cc +index 9d3aecead2b..f0c0402744e 100644 +--- core/src/console/console_conf.cc.orig ++++ core/src/console/console_conf.cc +@@ -3,7 +3,7 @@ + + Copyright (C) 2000-2009 Free Software Foundation Europe e.V. + Copyright (C) 2011-2012 Planets Communications B.V. +- Copyright (C) 2013-2022 Bareos GmbH & Co. KG ++ Copyright (C) 2013-2023 Bareos GmbH & Co. KG + + This program is Free Software; you can redistribute it and/or + modify it under the terms of version three of the GNU Affero General Public +@@ -203,7 +203,7 @@ static bool SaveResource(int type, ResourceItem* items, int pass) + res_dir->resource_name_); + } else { + p->tls_cert_.allowed_certificate_common_names_ +- = std::move(p->tls_cert_.allowed_certificate_common_names_); ++ = std::move(res_dir->tls_cert_.allowed_certificate_common_names_); + } + break; + } +diff --git core/src/lib/thread_list.cc.orig core/src/lib/thread_list.cc +index 50aefb8ee2d..05607124a55 100644 +--- core/src/lib/thread_list.cc.orig ++++ core/src/lib/thread_list.cc +@@ -1,7 +1,7 @@ + /* + BAREOS® - Backup Archiving REcovery Open Sourced + +- Copyright (C) 2019-2022 Bareos GmbH & Co. KG ++ Copyright (C) 2019-2023 Bareos GmbH & Co. KG + + This program is Free Software; you can redistribute it and/or + modify it under the terms of version three of the GNU Affero General Public +@@ -32,6 +32,7 @@ + #include <memory> + #include <mutex> + #include <set> ++#include <system_error> + #include <thread> + + static constexpr int debuglevel{800}; +diff --git core/src/lib/thread_specific_data.cc.orig core/src/lib/thread_specific_data.cc +index 0953f5c125a..22a98c4a759 100644 +--- core/src/lib/thread_specific_data.cc.orig ++++ core/src/lib/thread_specific_data.cc +@@ -3,7 +3,7 @@ + + Copyright (C) 2000-2012 Free Software Foundation Europe e.V. + Copyright (C) 2011-2012 Planets Communications B.V. +- Copyright (C) 2019-2019 Bareos GmbH & Co. KG ++ Copyright (C) 2019-2023 Bareos GmbH & Co. KG + + This program is Free Software; you can redistribute it and/or + modify it under the terms of version three of the GNU Affero General Public +@@ -25,6 +25,7 @@ + #include "lib/thread_specific_data.h" + #include "lib/thread_specific_data_key.h" + #include "include/jcr.h" ++#include <system_error> + + JobControlRecord* GetJcrFromThreadSpecificData() + { +diff --git core/src/lib/thread_specific_data.h.orig core/src/lib/thread_specific_data.h +index 4bd4dedafae..4c427d171c0 100644 +--- core/src/lib/thread_specific_data.h.orig ++++ core/src/lib/thread_specific_data.h +@@ -3,7 +3,7 @@ + + Copyright (C) 2000-2012 Free Software Foundation Europe e.V. + Copyright (C) 2011-2012 Planets Communications B.V. +- Copyright (C) 2019-2021 Bareos GmbH & Co. KG ++ Copyright (C) 2019-2023 Bareos GmbH & Co. KG + + This program is Free Software; you can redistribute it and/or + modify it under the terms of version three of the GNU Affero General Public +@@ -24,6 +24,7 @@ + #ifndef BAREOS_LIB_THREAD_SPECIFIC_DATA_H_ + #define BAREOS_LIB_THREAD_SPECIFIC_DATA_H_ + ++ + class JobControlRecord; + + JobControlRecord* GetJcrFromThreadSpecificData(); +diff --git core/src/lib/thread_specific_data_key.h.orig core/src/lib/thread_specific_data_key.h +index 9c02c07f47e..c8c63c757fe 100644 +--- core/src/lib/thread_specific_data_key.h.orig ++++ core/src/lib/thread_specific_data_key.h +@@ -1,7 +1,7 @@ + /* + BAREOS® - Backup Archiving REcovery Open Sourced + +- Copyright (C) 2019-2021 Bareos GmbH & Co. KG ++ Copyright (C) 2019-2023 Bareos GmbH & Co. KG + + This program is Free Software; you can redistribute it and/or + modify it under the terms of version three of the GNU Affero General Public +@@ -22,6 +22,8 @@ + #ifndef BAREOS_LIB_THREAD_SPECIFIC_DATA_KEY_H_ + #define BAREOS_LIB_THREAD_SPECIFIC_DATA_KEY_H_ + ++ ++#include <system_error> + #include "lib/berrno.h" + + #include <mutex> diff --git a/0007-hostname.patch b/0007-hostname.patch deleted file mode 100644 index 261be232d45b..000000000000 --- a/0007-hostname.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- 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/0008-httpd.patch b/0008-httpd.patch deleted file mode 100644 index c8d8e8a56876..000000000000 --- a/0008-httpd.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- 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/009-fix-timer_thread.patch b/009-fix-timer_thread.patch deleted file mode 100644 index 533066cb6350..000000000000 --- a/009-fix-timer_thread.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- 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; - } @@ -6,14 +6,15 @@ pkgbase='bareos' pkgname=("bareos-bconsole" "bareos-common" + "bareos-contrib-director-python-plugins" + "bareos-contrib-filedaemon-python-plugins" + "bareos-contrib-tools" "bareos-database-common" "bareos-database-postgresql" "bareos-database-tools" - "bareos-director" "bareos-director-python-plugins-common" - "bareos-director-python2-plugin" "bareos-director-python3-plugin" - "bareos-filedaemon" + "bareos-director" "bareos-filedaemon-glusterfs-plugin" "bareos-filedaemon-ldap-python-plugin" "bareos-filedaemon-libcloud-python-plugin" @@ -21,59 +22,51 @@ pkgname=("bareos-bconsole" "bareos-filedaemon-percona-xtrabackup-python-plugin" "bareos-filedaemon-postgresql-python-plugin" "bareos-filedaemon-python-plugins-common" - "bareos-filedaemon-python2-plugin" "bareos-filedaemon-python3-plugin" - "bareos-storage" - "bareos-storage-ceph" + "bareos-filedaemon" "bareos-storage-droplet" "bareos-storage-fifo" "bareos-storage-glusterfs" "bareos-storage-python-plugins-common" - "bareos-storage-python2-plugin" "bareos-storage-python3-plugin" "bareos-storage-tape" + "bareos-storage" "bareos-tools" + "bareos-traymonitor" "bareos-vmware-plugin" "bareos-webui" + "bareos-webui-apache" + "bareos-webui-nginx" "bareos-devel" - "bareos-traymonitor" - "python2-bareos" "python-bareos" ) -pkgver=21.1.3 +# "bareos-vadp-dumper" +# "bareos-vmware-vix-disklib" + +pkgver=23.0.1 pkgmajor=${pkgver%%.*} -pkgrel=3 +pkgrel=2 arch=(i686 x86_64 armv7h aarch64) groups=('bareos') pkgdesc="Bareos - Backup Archiving Recovery Open Sourced" url="http://www.bareos.org" license=('AGPL3') -makedepends=('cmake' 'gcc' 'libmariadbclient' 'postgresql-libs' 'python2' 'python' 'rpcsvc-proto' 'git' 'lsb-release' 'qt5-base' 'glusterfs' 'jansson' 'pam_wrapper' 'ceph-libs') +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" - "0002-libdroplet.patch" - "0003-zend.patch" - "0004-logspam.patch" - "0005-version.patch" - "0006-sqlspam.patch" - "0007-hostname.patch" - "0008-httpd.patch" - "009-fix-timer_thread.patch" - "bootstrap-table-locale-all.min.js") + "0003-version.patch" + "0004-sqlspam.patch" + "0005-httpd.patch") + md5sums=('SKIP' '419b0c64af750aa3e8ea668edf464d3e' - 'f2a2a4e1a83d80ee3ba42b38b2062208' - 'f9b885e18313d9c070372d313e1b422d' - '39724df5903b712fb8d34209c7ac8f1e' '5bf1233d94dfecc9060746bfb39b9d2b' 'ca4c929a2462cafaead8d0b49e3cebed' - 'b0068e1a248ac0d0e83fb8ae1e034f62' - '33d9c3a1d25b30ac2182aa8d874e28a5' - 'c8d3568ddf543a576c6fdbe586d8d3d3' - 'e78b88f897cfc3e60129eec360521e3d') -python3_ver="3.10" -python2_ver="2.7" + 'a6a260808e46c20b1c22aa2efebc3fe1' + ) + +python3_ver=$(python -c "from sys import version_info; print(\"%d.%d\" % (version_info[0],version_info[1]))");#" #========================================= prepare() { @@ -120,7 +113,9 @@ build() { -Ddynamic-cats-backends=yes \ -Ddynamic-storage-backends=yes \ -Dpostgresql=yes \ - -Dpython=yes \ + -Dlmdb=yes \ + -Dndmp=yes \ + -Dacl=yes \ -Dopenssl=yes \ -Ddir-user=bareos \ -Ddir-group=bareos \ @@ -130,12 +125,13 @@ build() { -Dfd-group=root \ -Dscsi-crypto=yes \ -Dsystemd=yes \ - -Dtraymonitor=yes + -Dtraymonitor=yes \ + -DCMAKE_CXX_FLAGS="-Wno-use-after-free" \ + -DCMAKE_C_FLAGS="-Wno-use-after-free" make DESTDIR="${srcdir}/install" install cd "${srcdir}/${pkgbase}/python-bareos" - python2 setup.py build python setup.py build } @@ -144,29 +140,45 @@ build() { # - skip a line # directory - add recursively an arbitrary directory cp_pkgdir() { + mkdir -p "$pkgdir" if [ "${1:0:1}" = "-" ] ; then return elif [ "${1:0:1}" = "+" ] ; then - dir_name=$pkgdir/`echo "$1" | sed "s|+||"` - mkdir -p "$dir_name" + dir_out=$pkgdir/`echo "$1" | sed "s|+||"` + mkdir -p "$dir_out" 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 + for n in $1 \ + ; do + echo "Copied: $n" + if [[ "$n" =~ "*" ]]; then + res=1 + ls -l $2/$n > /dev/null 2>&1 && res=0 + if [ ${res} -ne 0 ] ; then + echo -e "\033[41mError:\033[0m missing $2/$n"; + return + fi + files=`find $2/$n -type f,l` + for f in $files \ + ; do + new_dir=$(dirname $pkgdir`echo "$f" | sed "s|$2||"`) + mkdir -p $new_dir + cp -au $f "$new_dir" + done + elif [ -f $2/$n ]; then + # pacman LINT tool currently does not like spaces + #space_removal=`echo $f | tr ' ' '_'` + new_dir=$(dirname $pkgdir/`echo "$n" | sed "s|$2||"`) + new_file=$pkgdir/`echo "${n//\?/_}" | sed "s|$2||"` + mkdir -p $new_dir + cp -au $2/$n $new_file + elif [ -d $2/$n ]; then + new_dir=$(dirname $pkgdir/`echo "$n" | sed "s|$2||"`) + mkdir -p $new_dir + cp -aR $2/$n "$new_dir" 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)" + echo -e "\033[41mError:\033[0m missing $2/$n"; + return fi done } @@ -185,7 +197,7 @@ package_bareos-bconsole() { usr/share/man/man1/bconsole.1* \ +etc/bareos \ ; do - cp_pkgdir "$f" "$srcdir/install/" + cp_pkgdir "$f" "$srcdir/install" done install -m640 "${srcdir}/install/usr/share/bareos/config/bconsole.conf" \ "${pkgdir}/etc/bareos/bconsole.conf" @@ -217,19 +229,59 @@ package_bareos-common() { +run/bareos \ +usr/share/licenses/${pkgname} \ ; do - cp_pkgdir "$f" "$srcdir/install/" + cp_pkgdir "$f" "$srcdir/install" done install -Dm644 ${srcdir}/bareos/core/{AGPL-3.0.txt,LICENSE,README.*} "${pkgdir}/usr/share/licenses/${pkgname}/" } +#========================================= +package_bareos-contrib-director-python-plugins() { + pkgdesc="${pkgdesc} - Backup Archiving Recovery Open Sourced - contributed Director plugins" + depends=("bareos-common=${pkgver}" "bareos-director-python-plugin=${pkgver}") + + for f in \ + usr/lib/bareos/plugins/BareosDirPluginNscaSender.py \ + usr/lib/bareos/plugins/bareos-dir-nsca-sender.py \ + ; do + cp_pkgdir "$f" "$srcdir/install" + done +} + +#========================================= +package_bareos-contrib-filedaemon-python-plugins() { + pkgdesc="${pkgdesc} - Backup Archiving Recovery Open Sourced - contributed File Daemon plugins" + depends=("bareos-common=${pkgver}" "bareos-filedaemon-python-plugin=${pkgver}") + + for f in \ + usr/lib/bareos/plugins/bareos_mysql_dump/* \ + usr/lib/bareos/plugins/bareos_tasks/* \ + usr/lib/bareos/plugins/openvz7/* \ + ; do + cp_pkgdir "$f" "$srcdir/install" + done +} + +#========================================= +package_bareos-contrib-tools() { + arch=(any) + pkgdesc="${pkgdesc} - Backup Archiving Recovery Open Sourced - contributed tools" + depends=("python-bareos=${pkgver}" "bareos-filedaemon=${pkgver}") + + for f in \ + usr/bin/bareos-triggerjob.py \ + usr/bin/bsmc \ + etc/bareos/bsmc.conf \ + ; do + cp_pkgdir "$f" "$srcdir/install" + done +} #========================================= package_bareos-database-common() { - pkgdesc="${pkgdesc} - Generic abstration libs and tools for sql catalog" - depends=("bareos-common=${pkgver}" 'libcap' 'lzo' 'zlib' 'openssl' 'bash' 'jansson') + pkgdesc="${pkgdesc} - Backup Archiving Recovery Open Sourced - common catalog files" + depends=("bareos-common=${pkgver}" "bareos-database-postgresql=${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 \ @@ -238,7 +290,7 @@ package_bareos-database-common() { usr/lib/bareos/scripts/update_bareos_tables \ usr/lib/bareos/scripts/ddl/versions.map \ ; do - cp_pkgdir "$f" "$srcdir/install/" + cp_pkgdir "$f" "$srcdir/install" done } @@ -248,11 +300,11 @@ package_bareos-database-postgresql() { 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/" + cp_pkgdir "$f" "$srcdir/install" done } @@ -267,7 +319,7 @@ package_bareos-database-tools() { usr/share/man/man8/bareos-dbcheck.8* \ usr/share/man/man8/bscan.8* \ ; do - cp_pkgdir "$f" "$srcdir/install/" + cp_pkgdir "$f" "$srcdir/install" done } @@ -289,7 +341,6 @@ package_bareos-director() { 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 \ @@ -320,9 +371,7 @@ package_bareos-director() { 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/" + cp_pkgdir "$f" "$srcdir/install" done # Currently upstream systemd file does not automatically create run directory @@ -331,6 +380,7 @@ package_bareos-director() { #========================================= package_bareos-director-python-plugins-common() { + arch=(any) pkgdesc="${pkgdesc} - This package contains the common files for the python 2 and python 3 director plugins" depends=("bareos-director=${pkgver}") @@ -339,22 +389,7 @@ package_bareos-director-python-plugins-common() { usr/lib/bareos/plugins/BareosDirPluginBaseclass.py* \ usr/lib/bareos/plugins/bareos-dir-class-plugin.py* \ ; do - cp_pkgdir "$f" "$srcdir/install/" - done -} - -#========================================= -package_bareos-director-python2-plugin() { - conflicts=("bareos-director-python-plugin") - pkgdesc="${pkgdesc} - Python plugin for director daemon" - depends=("bareos-director=${pkgver}" - "bareos-director-python-plugins-common=${pkgver}" - 'python2' 'libcap' 'jansson' 'lzo') - for f in \ - usr/lib/bareos/plugins/python-dir.so \ - usr/lib/python2.7/site-packages/bareosdir.so \ - ; do - cp_pkgdir "$f" "$srcdir/install/" + cp_pkgdir "$f" "$srcdir/install" done } @@ -369,7 +404,7 @@ package_bareos-director-python3-plugin() { usr/lib/bareos/plugins/python3-dir.so \ usr/lib/python${python3_ver}/site-packages/bareosdir.cpython*.so \ ; do - cp_pkgdir "$f" "$srcdir/install/" + cp_pkgdir "$f" "$srcdir/install" done } @@ -390,7 +425,7 @@ package_bareos-filedaemon() { usr/share/man/man8/bareos-fd.8* \ usr/lib/systemd/system/bareos-fd.service \ ; do - cp_pkgdir "$f" "$srcdir/install/" + 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 @@ -407,12 +442,13 @@ package_bareos-filedaemon-glusterfs-plugin() { 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/" + cp_pkgdir "$f" "$srcdir/install" done } #========================================= package_bareos-filedaemon-ldap-python-plugin() { + arch=(any) pkgdesc="${pkgdesc} - LDAP Python plugin for Bareos File daemon" depends=("bareos-filedaemon=${pkgver}" "bareos-filedaemon-python3-plugin=${pkgver}" @@ -421,17 +457,17 @@ package_bareos-filedaemon-ldap-python-plugin() { 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/" + cp_pkgdir "$f" "$srcdir/install" done } #========================================= package_bareos-filedaemon-libcloud-python-plugin() { + arch=(any) pkgdesc="${pkgdesc} - Libcloud Python plugin for Bareos File daemon" depends=("bareos-filedaemon=${pkgver}" "python-apache-libcloud") @@ -442,76 +478,63 @@ package_bareos-filedaemon-libcloud-python-plugin() { usr/lib/bareos/plugins/bareos_libcloud_api \ usr/lib/bareos/plugins/bareos_libcloud_api/* \ ; do - cp_pkgdir "$f" "$srcdir/install/" + cp_pkgdir "$f" "$srcdir/install" done } #========================================= package_bareos-filedaemon-mariabackup-python-plugin() { + arch=(any) 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/" + cp_pkgdir "$f" "$srcdir/install" done } #========================================= package_bareos-filedaemon-percona-xtrabackup-python-plugin() { + arch=(any) 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/" + cp_pkgdir "$f" "$srcdir/install" done } #========================================= package_bareos-filedaemon-postgresql-python-plugin() { + arch=(any) 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* \ + usr/lib/bareos/plugins/bareos-fd-postgresql.py* \ ; do - cp_pkgdir "$f" "$srcdir/install/" + cp_pkgdir "$f" "$srcdir/install" done } #========================================= package_bareos-filedaemon-python-plugins-common() { + arch=(any) 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* \ + usr/lib/bareos/scripts/bareos_encode_string.py \ ; do - cp_pkgdir "$f" "$srcdir/install/" - done -} - -#========================================= -package_bareos-filedaemon-python2-plugin() { - conflicts=("bareos-filedaemon-python-plugin") - pkgdesc="${pkgdesc} - Python plugin for file daemon" - depends=("bareos-filedaemon=${pkgver}" - "bareos-filedaemon-python-plugins-common=${pkgver}" - 'python2' 'libcap' 'lzo' 'jansson') - for f in \ - usr/lib/bareos/plugins/python-fd.so \ - usr/lib/python${python2_ver}/site-packages/bareosfd.so \ - ; do - cp_pkgdir "$f" "$srcdir/install/" + cp_pkgdir "$f" "$srcdir/install" done } @@ -526,7 +549,7 @@ package_bareos-filedaemon-python3-plugin() { usr/lib/bareos/plugins/python3-fd.so \ usr/lib/python${python3_ver}/site-packages/bareosfd.cpython*.so \ ; do - cp_pkgdir "$f" "$srcdir/install/" + cp_pkgdir "$f" "$srcdir/install" done } @@ -537,6 +560,7 @@ package_bareos-storage() { install=bareos-storage.install for f in \ usr/lib/bareos/plugins/autoxflate-sd.so \ + usr/lib/bareos/backends/libbareossd-file.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 \ @@ -545,11 +569,11 @@ package_bareos-storage() { 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/share/man/man8/bareos-sd.8* \ usr/lib/systemd/system/bareos-sd.service \ +var/lib/bareos/storage \ ; do - cp_pkgdir "$f" "$srcdir/install/" + cp_pkgdir "$f" "$srcdir/install" done # Currently upstream systemd file does not automatically create run directory @@ -557,26 +581,10 @@ package_bareos-storage() { } #========================================= -package_bareos-storage-ceph() { - pkgdesc="${pkgdesc} - Backup Archiving Recovery Open Sourced - storage daemon CEPH backend" - depends=("bareos-storage=${pkgver}") - for f in \ - usr/lib/bareos/backends/libbareossd-rados.so* \ - usr/lib/bareos/backends/libbareossd-cephfs.so* \ - usr/share/bareos/config/bareos-dir.d/storage/Rados.conf.example \ - usr/share/bareos/config/bareos-sd.d/device/RadosStorage.conf.example \ - ; do - cp_pkgdir "$f" "$srcdir/install/" - done -} - -#========================================= 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 \ @@ -584,7 +592,7 @@ package_bareos-storage-droplet() { usr/share/bareos/config/bareos-sd.d/device/droplet/aws_eu-central-1.profile.example \ usr/share/bareos/config/bareos-sd.d/device/droplet/ceph-rados-gateway.profile.example \ ; do - cp_pkgdir "$f" "$srcdir/install/" + cp_pkgdir "$f" "$srcdir/install" done } @@ -597,7 +605,7 @@ package_bareos-storage-fifo() { 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/" + cp_pkgdir "$f" "$srcdir/install" done } @@ -611,12 +619,13 @@ package_bareos-storage-glusterfs() { 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/" + cp_pkgdir "$f" "$srcdir/install" done } #========================================= package_bareos-storage-python-plugins-common() { + arch=(any) pkgdesc="${pkgdesc} - This package contains the common files for the python 2 and python 3 storage plugins" depends=("bareos-storage=${pkgver}") for f in \ @@ -624,22 +633,7 @@ package_bareos-storage-python-plugins-common() { usr/lib/bareos/plugins/BareosSdWrapper.py* \ usr/lib/bareos/plugins/bareos-sd-class-plugin.py* \ ; do - cp_pkgdir "$f" "$srcdir/install/" - done -} - -#========================================= -package_bareos-storage-python2-plugin() { - conflicts=("bareos-storage-python-plugin") - pkgdesc="${pkgdesc} - Python plugin for storage daemon" - depends=("bareos-storage=${pkgver}" - "bareos-storage-python-plugins-common=${pkgver}" - 'python2' 'lzo' 'libcap' 'jansson') - for f in \ - usr/lib/bareos/plugins/python-sd.so \ - usr/lib/python${python2_ver}/site-packages/bareossd.so \ - ; do - cp_pkgdir "$f" "$srcdir/install/" + cp_pkgdir "$f" "$srcdir/install" done } @@ -654,7 +648,7 @@ package_bareos-storage-python3-plugin() { usr/lib/bareos/plugins/python3-sd.so \ usr/lib/python${python3_ver}/site-packages/bareossd.cpython*.so \ ; do - cp_pkgdir "$f" "$srcdir/install/" + cp_pkgdir "$f" "$srcdir/install" done } @@ -664,21 +658,20 @@ package_bareos-storage-tape() { 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 \ + 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-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/" + cp_pkgdir "$f" "$srcdir/install" done } @@ -702,7 +695,7 @@ package_bareos-tools() { usr/share/man/man8/bls.8* \ usr/share/man/man8/bpluginfo.8* \ ; do - cp_pkgdir "$f" "$srcdir/install/" + cp_pkgdir "$f" "$srcdir/install" done } @@ -723,7 +716,7 @@ package_bareos-traymonitor() { usr/share/applications/bareos-tray-monitor.desktop \ usr/share/pixmaps/bareos-tray-monitor.png \ ; do - cp_pkgdir "$f" "$srcdir/install/" + cp_pkgdir "$f" "$srcdir/install" done # tray-monitor needs configuration files to run @@ -731,61 +724,99 @@ package_bareos-traymonitor() { } #========================================= +package_bareos-vadp-dumper() { + pkgdesc="${pkgdesc} - vStorage APIs for Data Protection Dumper program" + + for f in \ + usr/bin/bareos_vadp_dumper \ + usr/bin/bareos_vadp_dumper_wrapper.sh \ + ; do + cp_pkgdir "$f" "$srcdir/install" + done +} + +#========================================= +package_bareos-vmware-vix-disklib() { + pkgdesc="${pkgdesc} - VMware vix disklib distributable libraries" + + for f in \ + usr/lib/vmware-vix-disklib/lib64/* \ + ; do + cp_pkgdir "$f" "$srcdir/install" + done +} + +#========================================= package_bareos-vmware-plugin() { + arch=(any) pkgdesc="${pkgdesc} - Bareos VMware plugin" - depends=('python2') + depends=("bareos-vadp-dumper=${pkgver}" "bareos-common=${pkgver}" ) + optdepends=("bareos-filedaemon-python3-plugin=${pkgver}") for f in \ - usr/lib/bareos/plugins/BareosFdPluginVMware.py \ usr/lib/bareos/plugins/bareos-fd-vmware.py \ -usr/bin/vmware_cbt_tool.py \ +usr/bin \ ; do - cp_pkgdir "$f" "$srcdir/install/" + cp_pkgdir "$f" "$srcdir/install" done install -m755 "${srcdir}/bareos/core/src/vmware/vmware_cbt_tool/vmware_cbt_tool.py" "${pkgdir}/usr/bin/vmware_cbt_tool.py" } #========================================= package_bareos-webui() { + arch=(any) pkgdesc="${pkgdesc} - Webui (Bareos web administration)" - depends=('php7' 'php7-fpm' 'jansson') - optdepend=('apache' 'nginx' 'php7-apache' ) + depends=('jansson') + optdepend=( 'bareos-webui-apache' 'bareos-webui-nginx' ) 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' - 'etc/httpd/conf/extra/bareos-webui.conf') - #_cp ${srcdir}/install/usr/share/bareos-webui ${pkgdir}/usr/share/webapps/bareos-webui + 'etc/bareos/bareos-dir.d/profile/webui-admin.conf') + 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/" + 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_python2-bareos() { - pkgdesc="${pkgdesc} - python-bareos is a Python2 module to access a backup system." - depends=('python2' 'jansson') +package_bareos-webui-apache() { + arch=(any) + pkgdesc="${pkgdesc} - Webui Apache" + depends=('apache' 'php-apache' 'php' 'php-fpm' 'php-pgsql') + backup=('etc/httpd/conf/extra/bareos-webui.conf') - cd "${srcdir}/${pkgbase}/python-bareos" - python2 setup.py install --skip-build --root="${pkgdir}" --optimize='1' + for f in \ + etc/httpd/conf/extra/bareos-webui.conf \ + ; do + cp_pkgdir "$f" "$srcdir/install" + done +} + +#========================================= +package_bareos-webui-nginx() { + arch=(any) + pkgdesc="${pkgdesc} - Webui nginx" + depends=('nginx' 'php' 'php-fpm' 'php-pgsql') + backup=('etc/nginx/bareos-webui.conf') + + mkdir -p "$pkgdir"/etc/nginx + cp ${srcdir}/bareos/webui/install/nginx/bareos-webui.conf ${pkgdir}/etc/nginx/bareos-webui.conf } #========================================= package_python-bareos() { pkgdesc="${pkgdesc} - python-bareos is a Python module to access a backup system." - depends=('python' 'jansson') + depends=('python' 'python-sslpsk' 'jansson') cd "${srcdir}/${pkgbase}/python-bareos" python setup.py install --skip-build --root="${pkgdir}" --optimize='1' diff --git a/PoolModel.patch b/PoolModel.patch deleted file mode 100644 index 91acadf3f497..000000000000 --- a/PoolModel.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- 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/bootstrap-table-locale-all.min.js b/bootstrap-table-locale-all.min.js deleted file mode 100644 index 91f2b0276d65..000000000000 --- a/bootstrap-table-locale-all.min.js +++ /dev/null @@ -1,10 +0,0 @@ -/** -* 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á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ágina")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"A mostrar ".concat(t," até ").concat(n," de ").concat(o," linhas (filtered from ").concat(r," total rows)"):"A mostrar ".concat(t," até ").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çã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/fix-build-bareos.patch b/fix-build-bareos.patch deleted file mode 100644 index e0b963be4e2e..000000000000 --- a/fix-build-bareos.patch +++ /dev/null @@ -1,44 +0,0 @@ ---- 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/fix-headlink.patch b/fix-headlink.patch deleted file mode 100644 index 6830228d03d2..000000000000 --- a/fix-headlink.patch +++ /dev/null @@ -1,193 +0,0 @@ ---- 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/mysql.patch b/mysql.patch deleted file mode 100644 index b10f910f6554..000000000000 --- a/mysql.patch +++ /dev/null @@ -1,397 +0,0 @@ ---- 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/plattforms-archlinux.patch b/plattforms-archlinux.patch deleted file mode 100644 index caa7bd30530a..000000000000 --- a/plattforms-archlinux.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- 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/restore-form.patch b/restore-form.patch deleted file mode 100644 index 986047463b5b..000000000000 --- a/restore-form.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- 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', |