Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/bareos/bareos.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-11-13Merge pull request #1305HEADmasterPhilipp Storz
webui: patch zf2 to eliminate a php warning caused by zend-stdlib
2022-11-13update CHANGELOG.mdBruno Friedmann
Signed-off-by: Bruno Friedmann <bruno.friedmann@bareos.com>
2022-11-13webui: patch zf2 to eliminate a php warning caused by zend-stdlibFrank Bergkemper
Use break instead of continue inside switch. See: https://github.com/zendframework/zend-stdlib/commit/d0cd1d043ba70feb503fb1015fbc94a6ca414056
2022-11-13Merge pull request #1283Philipp Storz
webui: fix job timeline x-axis UTC timestamp issue
2022-11-10Merge pull request #1306Philipp Storz
webui-selenium-test: use `options` instead of `chrome_options`
2022-11-10update CHANGELOG.mdPhilipp Storz
2022-11-10webui-selenium-test: use options instead of chrome_optionsFrank Bergkemper
Eliminates deprecation warning: `use options instead of chrome_options`.
2022-11-10Merge pull request #1310Andreas Rogge
build: fix droplet_backend.cc compilation
2022-11-10build: fix droplet_backend.cc compilationPhilipp Storz
2022-11-09Merge branch 'master' into dev/fbergkemper/master/fix-timelineSebastian Lederer
2022-11-09updated CHANGELOG.mdSebastian Lederer
Signed-off-by: Sebastian Lederer <sebastian.lederer@dass-it.de>
2022-11-09Merge pull request #1307Philipp Storz
core: use distinct names for JobControlRecordPrivate
2022-11-09update CHANGELOG.mdPhilipp Storz
2022-11-09core: distinct names for JobControlRecordPrivateAndreas Rogge
When we moved the daemon-specific functionality of the JobControlRecord into JobControlRecordPrivate, we essentially introduced three different types that were all named JobControlRecordPrivate - one for the Director, one for the Storage Daemon and one for the File Daemon. This could lead to ODR violations when you tried to link parts of the daemons together. In fact, that implementation already behaved like a union of the three different types (i.e. requiring per-implementation initialisation and teardown, undefined behaviour when accessing via the wrong type, etc.). This patch renames the daemon's individual JobControlRecordPrivate to DirectorJcrImpl, StoredJcrImpl and FiledJcrImpl. The impl-pointer was changed to a union of dir_impl, sd_impl and fd_impl. With this change applied you can now build programs that use two or more of the JCR types.
2022-11-09Merge pull request #1272Andreas Rogge
sd: refactor the SD's backend interface
2022-11-09update CHANGELOG.mdAndreas Rogge
2022-11-09cmake: bump minimum required version to 3.17Andreas Rogge
also set cmake_policy version to 3.17...3.19 enabling all policies present in CMake up until 3.19. CMake 3.19 contains the newest policy we require (CMP0109) which makes find_program() only check for executability but not readability which allows to find sudo.
2022-11-08Merge pull request #1302dev/bpoed/master/localizationAndreas Rogge
webui: fix pool link in job details formatter
2022-11-07stored: improve texts for Device TypesAndreas Rogge
2022-11-07stored: rename dev_type to device_typeAndreas Rogge
2022-11-07lib: rename PluginRegistryAndreas Rogge
As we have so many kinds of plugins, we'll just call it ImplementationFactory as it is a factory that returns implementations.
2022-11-07droplet: build static library instead of sharedAndreas Rogge
Historically, we linked against a 3rd-party package. Thus we were using dynamic linking. As we're shipping libdroplet ourselves and there is no other consumer than the droplet storage backend, it is easier to link it directly into the backend.
2022-11-07stored: statically link backend dependenciesAndreas Rogge
Previously, the baseclasses for generic tape support and chunked devices were built as shared modules. As this code is never shared, we can just link it all into the resulting backends with no drawbacks at all.
2022-11-07stored: don't call Device::IsTape() unneccessaryAndreas Rogge
Previously IsTape() was called for display purposes. This patch displays the configured Device Type instead.
2022-11-07stored: remove Device::IsFifo()Andreas Rogge
This is now implemented via SeekType. The refactored code also catches some cases when a backend does not override a required method.
2022-11-07stored: remove Device::IsFile()Andreas Rogge
This patch refactors all uses of IsFile() into individual checks that should do what the original author intended.
2022-11-07systemtests: suppress python leaks in py23plug-dirAndreas Rogge
2022-11-07stored: disable copy/move on Device classAndreas Rogge
2022-11-07tests: refactor droplet test into own programAndreas Rogge
Previously the droplet tests were integrated into the sd_backend tests. With the new backend loading, we cannot configure a droplet backend if we did not build it, thus we need to extract the droplet tests so we can disable them completely.
2022-11-07stored: remove BackendInterface layerAndreas Rogge
Instead of returning a factory that will then provide Device*, we can return the Device* from the PluginRegistry's factory directly. This removes the BackendInterface layer that wrapped the factory again.
2022-11-07stored: cleanup unused backend interfacesAndreas Rogge
This patch removes now unused parts of the old storage backend interface.
2022-11-07stored: register backends in plugin-registryAndreas Rogge
This patch introduces a plugin regsitry that contains all loaded backends. Storage backends will self-register their factory either at startup (in case the backend is statically linked into the SD) or when the backend is loaded. From the backend's perspective, there's no difference if it is statically or dynamically loaded anymore. Finally, the loading of the backends is done right after loading the configuration, so for every device we check the presence of its backend and fail if it is missing or cannot be loaded.
2022-11-07tests: adapt test config to stricter requirementsAndreas Rogge
If you configure a device, the backend will be checked when the configuration is loaded. Thus a lot of the existing test configurations need to be adapted to either use existing storge backends or to have BackendDirectory configured.
2022-11-07stored: make device_type a std::stringAndreas Rogge
This patch turns the SD's device_type into a std::string, so we can use arbitrary backend names without registering them in a central list of backends.
2022-11-07stored: move device-type guessing to configparserAndreas Rogge
Previously the device-type for a device where the type was not specified was determined when it was first used. Now we do the check for every device right after the configuration was loaded and fail early if needed.
2022-11-07stored: simplify GetDevice() function in factoriesAndreas Rogge
2022-11-07stored: remove vtl, rados and cephfs backendsAndreas Rogge
This patch removes the remaining traces of these three removed backends from the codebase.
2022-11-07systemtests: fail early if daemon is misconfiguredAndreas Rogge
2022-11-07stored: gfapi-device remove bogus "override"Andreas Rogge
2022-11-07stored: load file device dynamicallyAndreas Rogge
Instead of building unix_file_device/win32_file_device directory into libbareossd, this patch builds them as a dynamic backend and removes special handling for them. Also move all backend build configuration into the backends directory.
2022-11-07stored: remove FlushDevice() from backendsAndreas Rogge
remove the unused FlushDevice() function from the backend interface and all interfaces.
2022-11-07systemtests: configure BackendDirectory for SDsAndreas Rogge
this patch amends the SD configuration in every systemtest to have the correct BackendDirectory set, so we can load dynamic backends during testing. It also removed the BackendDirectory when built without dynamic backends.
2022-11-07Merge pull request #1271Andreas Rogge
Prepare Bareos for an upgrade to the C++20 standard
2022-11-07Updated CHANGELOG.mdAndreas Rogge
2022-11-07python-fd: force C++17 for python modulesAndreas Rogge
C++20 supports designated initializers. However, it doesn't allow mixing of named and unnamed initialization. As we need to use the PyVarObject_HEAD_INIT() macro, which doesn't name the attributes it sets, we have to downgrade the compiler to C++17, so designated initializers are handled as compiler extension, which will allow the mixing that occurs here. See also: https://github.com/python/cpython/issues/99202
2022-11-07vol_mgr: replace construct_at with placement newAlaa Eddine Elamri
Certain compilers we use in our containers seem to not support std::construct_at
2022-11-07use compare exchange before changing statusAlaa Eddine Elamri
2022-11-07make JobStatus private and replace accesses with setter and getterAlaa Eddine Elamri
2022-11-07replace volatile jobstatus with atomicAlaa Eddine Elamri
replace problematic accesses to JobStatus with getter
2022-11-07rename forceJobStatus to setJobStatusAlaa Eddine Elamri