Package Details: bareos-storage-fifo 21.1.3-1

Git Clone URL: (read-only, click to copy)
Package Base: bareos
Description: Bareos - Backup Archiving REcovery Open Sourced - Admin Tool (CLI)
Upstream URL:
Keywords: Backup bacula bareos
Licenses: AGPL3
Submitter: AlD
Maintainer: khvalera
Last Packager: khvalera
Votes: 19
Popularity: 1.59
First Submitted: 2014-07-23 09:45 (UTC)
Last Updated: 2022-05-17 19:08 (UTC)

Pinned Comments

Latest Comments

derdeagle commented on 2022-05-18 05:17 (UTC)

@khvalera The build now worked and I could install it successfully. Thank you very much for your work and effort!

deep_thought commented on 2022-05-15 18:27 (UTC)

ah, yes - that patch looks better than mine. Didn't look too hard at the code :D

bsdice commented on 2022-05-15 18:15 (UTC)

Here is the "official" patch:

Does you patch fix the use-after-free?

deep_thought commented on 2022-05-15 18:11 (UTC) (edited on 2022-05-15 18:12 (UTC) by deep_thought)

This patch fixes it for me:

--- a/core/src/lib/  2022-03-17 17:22:34.000000000 +0100
+++ b/core/src/lib/  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;

though, on second look, I got a different error (use after delete) and I use a newer version: 21.1.2.

derdeagle commented on 2022-05-14 17:15 (UTC)

@khvalera Thank you very much for the further investigation. I have indeed the following versions installed. gcc 12.1.0-1 gcc-libs 12.1.0-1 lib32-gcc-libs 12.1.0-1

Good call.

khvalera commented on 2022-05-14 09:48 (UTC)

I checked it is going without problems on gcc-11.2.0-4 gcc-libs-11.2.0-4, on gcc-12.1.0 there are errors :(

simona commented on 2022-05-13 22:13 (UTC)

/home/simona/.cache/yay/bareos/src/bareos/core/src/tests/ error: ‘sleep_for’ is not a member of ‘std::this_thread’
148 | std::this_thread::sleep_for(std::chrono::milliseconds(10));
| ^~~~~~~~~ make[2]: *** [core/src/tests/CMakeFiles/sd_reservation.dir/build.make:76: core/src/tests/CMakeFiles/sd_reservation.dir/] Errore 1

khvalera commented on 2022-05-13 09:12 (UTC)

@derdeagle Unfortunately, the problem could not be recreated. On standard packages, assembly occurs without errors, perhaps non-standard packages are used in your system. Alternatively, try updating your system with pacman -Syu

bsdice commented on 2022-05-12 23:52 (UTC)

@derdeagle You can try which I just updated with my latest changes. Unzip into a directory and makepkg -Ccf should build a clean, single, complete, small, package.

This build has completed a 20 LTO-6 tape spanning backup with 48 TB of data with no issues a couple weeks ago.

I have also extended functionality to use ZFS snapshot names unique per job, so while job 1 runs a full backup to a tape pool, job 2 for a different drive but for the same ZFS dataset will not interfere, because it will create/delete its own snapshot. Bareos should really only be used with a snapshotting-capable filesystem. Every else is just not elegant.

Passwords are preset randomly (using pwg helper, supplied) in configs, should of course be changed to something completely different.

derdeagle commented on 2022-05-12 20:34 (UTC) (edited on 2022-05-12 20:34 (UTC) by derdeagle)

I am glad you adopted this project. Unfortunately I cannot build it, below is the error message.

[ 92%] Built target test_backtrace
[ 92%] Building CXX object core/src/tests/CMakeFiles/sd_reservation.dir/
/home/username/.cache/yay/bareos/src/bareos/core/src/tests/ In function ‘void WaitThenUnreserve(std::unique_ptr<TestJob>&)’:
/home/username/.cache/yay/bareos/src/bareos/core/src/tests/ error: ‘sleep_for’ is not a member of ‘std::this_thread’
  148 |   std::this_thread::sleep_for(std::chrono::milliseconds(10));
      |                     ^~~~~~~~~
make[2]: *** [core/src/tests/CMakeFiles/sd_reservation.dir/build.make:76: core/src/tests/CMakeFiles/sd_reservation.dir/] Error 1
make[1]: *** [CMakeFiles/Makefile2:3380: core/src/tests/CMakeFiles/sd_reservation.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
==> ERROR: A failure occurred in build().
 -> error making: bareos (bareos-common bareos-filedaemon)

I am using cmake 3.23.1-1. Could you please take a look into this and help resolve it?

wcasanova commented on 2022-01-24 14:53 (UTC)

Thanks @bsdice

bsdice commented on 2022-01-23 06:31 (UTC)

To please the r/datahoarder crowd, I have put up ten screenshots of the web UI with a brief explainer:

bsdice commented on 2022-01-21 02:54 (UTC) (edited on 2022-01-21 02:55 (UTC) by bsdice)

There's a new test version up at and I zipped up all files for easier download. Single file access is still possible at I also changed the mime-type on the web server to text/plain so if you click on a file, it will show in the browser as a preview and not annoyingly download right away.

My example configs and example scripts are now part of the package, instead of being bystanders. Can be found in /etc/bareos/examples. Dito for the NGINX config, which is now a single file. I made a README also in this directory to explain more concepts of the examples. Cleaned up tape-helper, with settings now at start of the file. Bunch more PKGBUILD bugfixes.

If you populate /etc/bareos with working


files things should start to work pretty fast.

Well let me know what you think and if you could get it to work.

bsdice commented on 2022-01-20 03:29 (UTC) (edited on 2022-01-20 03:30 (UTC) by bsdice)

OK I spent the evening fixing things...

Download is again available at

  • All changes are now fully AGPL3 compatible.
  • The default is now a non-debug build, resulting in a 5 MB .zst-archive for everything (neat!).
  • CAP_SYS_PTRACE capability is removed for security reasons in non-debug builds.
  • Explained and extended optional deps more.
  • PKGBUILD will now include all AUR files in the package (/etc/bareos/pkgbuild). This may seem weird but it will allow you to copy the single directory /etc/bareos off to some other place, and you will have everything necessary to bootstrap your server back into life. This is especially helpful when you need to stay at the installed Bareos version during disaster recovery.
  • I included a few nginx snippets in nginx/ to help people understand how to get the web UI going quickly.
  • Also included are now sanitized configuration files which I personally use, see etc_bareos/. bareos-dir.conf contains some more lenghty explanations.

LTO is a solid and safe backup technology. I'd hope with a bit of mentoring and polishing of this package people will appreciate this too and spin up a trial in their own computer landscape.

#Arch #LTOultras ;-)

bsdice commented on 2022-01-18 21:13 (UTC)

@wcasanova I know, and I am sorry. I had to take it down because after reading the AGPL3 license text I realized some patches might be in violation. Other things taking precedence I can't work on this right now. Some patches may be substitutable with deletion sequences in PKGBUILD which have no origin in the source code unlike patch files, so could possibly be distributed. But if you run this at your university or CERN or something, with others accessing it, you would again be in violation. On the other hand I really can't have my browser phone home to the Bareos guys every time I open the web UI. This being Germany which has overtaken litigious USA on the right, I need to find a precedence-proofed solution.

wcasanova commented on 2022-01-18 20:45 (UTC)

@bsdice, the new changes you mention are no longer available.

bsdice commented on 2022-01-17 01:54 (UTC)

You're welcome. I updated the systemd files to include SuccessExitStatus for error-message-less stopping of services. New PKGBUILD I just uploaded also includes a better cleanup of the entire web GUI tree, which I audited manually to really get rid of 99% of useless files.

Currently using this at home with an LTO-5 and an LTO-6 drive. System runs quarterly fulls to LTO-6 and daily incrementals to LTO-4. Tape drives are turned on/off on demand via the USB box, ZFS snapshot create/delete before/after backup run, second run after main backup run saves database+PKGBUILD+files+configuration to tape for disaster recovery purposes. Operator command is a script which beeps to alert me, should I happen to be around, unmounts tape in Bareos and ejects the tape, because it will want another one anyway, and also sends me an e-mail.

I included a bunch more files:

1) parses binary MAM data into human-readable output. Should probably be rewritten in C. I made it work with recent Perl versions from older versions found on the web.

2) tape-label: Needs configuration in the file. Argument will be tape name. Loads tape, writes EOF to start to delete any records, rewinds, labels in Bareos, ejects tape again.

3) tape-operator: Beep, unmount, eject tape when Bareos wants a new tape. Used in bareos-dir.conf Messages resource as "operatorcommand". Needs correct storage name as first argument to know what to eject and then the usual bstmp command following.

4) tape-helper: Needs in-script configuration. As such probably only useful in my system, but just to give anyone interested an idea what can be done feature-wise. Like ZFS snapshots, USB-control, send e-mail in case drive wants a cleaning tape, read MAM chip of cartridge and send to etc.

Only thing missing is now my six config files bareos-sd|dir|fd.conf bconsole.conf and the two .ini files for the web UI. No time to sanitize right now.

wcasanova commented on 2022-01-16 23:28 (UTC)

@bsdice thanks

spradlim commented on 2021-12-24 01:04 (UTC)

Obviously, I am not really maintaining this. (I moved to borg) I don't think mfulz is either. Let me know if anyone would like to be a maintainer or would like to own the package.

bsdice commented on 2021-12-23 16:29 (UTC)

Hey guys, I ported this AUR to Bareos version 22 i.e. latest git as of yesterday for my own personal use.

You can find the PKGBUILD and necessary files at

Some notes:

  • Single AUR package only, because deciding what packages you need is hard.
  • PostgreSQL only from 21 on, check official release notes. You have to migrate to this database before updating.
  • Disabled phone home and prettified some areas; a matter of taste.
  • Various compile fixes, PHP warning fixes, measures to cut back on log spam.
  • For the web-GUI nginx is recommended, I deprecated Apache.
  • Binaries are unstripped and daemons run among others with CAP_SYS_PTRACE privileges so I can debug segfaults.
  • New systemd-service files. All daemons run as user "bareos". File daemon gets CAP_DAC_READ_SEARCH to read everything without root.
  • Meticulous cleaning of useless files before packaging.
  • I am using a USB relais box to switch on two LTO drives before jobs, that's what 99-bareos-usb.rules is for, to fix up device permissions.
  • Tested with a LTO-5 and LTO-6 drive.

I also have a couple of unpublished scripts and .conf files to tie everything together. Mostly to turn tape drives on/off using the USB box, read the cartridge MAM chip, send mail warnings on tape alerts (e.g. when cleaning is necessary), to queue backup jobs from a systemd timer depending on time of day and day of week (rare fulls to LTO-6, daily incrementals to LTO-4 but on different drive), or to unmount and eject the tape and play an audible beep in Backup Exec style if operator intervention is required.

Personally I like handcrafted single bareos-(dir|sd|fd).conf and bconsole.conf files more than the spread out directories with many partial config files. After 2-3 years of using the software, I think I got the hang of it.

All my contributions are licensed CC0 i.e. in the public domain, or as governed by the original license if more restrictive.

hirnschmalz commented on 2021-01-17 12:16 (UTC) (edited on 2021-01-23 10:08 (UTC) by hirnschmalz)

I tried to install bareos on one of my machines. During the build I go the following error

/home/XXXXX/.cache/rua/build/bareos/src/bareos/core/src/plugins/filed/ error: cannot convert 'stat*' to 'ceph_statx*'

I had samba installed which requires ceph-libs. After removing those two packages the build did finish successfully.

deep_thought commented on 2021-01-09 21:48 (UTC)

This makes version 20.0.0 compile for me - not sure, if this is the right thing to do, though.

--- a/core/src/droplet/libdroplet/src/utils.c   2020-12-16 08:46:16.000000000 +0100
+++ b/core/src/droplet/libdroplet/src/utils.c   2021-01-09 21:28:43.099999815 +0100
@@ -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   2020-12-16 08:46:16.000000000 +0100
+++ b/core/src/droplet/libdroplet/include/droplet/cdmi/crcmodel.h   2021-01-09 21:50:10.506666487 +0100
@@ -78,7 +78,6 @@
 #ifndef DONE_STYLE

 typedef unsigned long   ulong;
-typedef unsigned        bool;
 typedef unsigned char * p_ubyte_;

 #ifndef TRUE
@@ -106,8 +106,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    2020-12-16 08:46:16.000000000 +0100
+++ b/core/src/droplet/libdroplet/src/backend/posix/reqbuilder.c    2021-01-09 22:27:57.346666239 +0100
@@ -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>

keijko commented on 2020-12-21 15:01 (UTC)

Is it possible that you remove or comment (also at the services of the other bareos-packages) the parameter "StandardOutput=syslog" in service section of the daemon service? Because this feature is outdated and normally bareos is logging to systemd-journald.

alphacent commented on 2020-08-26 19:15 (UTC)

build fails, I get:

ERROR: A failure occurred in build(). Aborting...

error making: %!s(func() string=0x563f3a164bb0)

I am unable to install bareos-common regardless if I meet the dependencies

arsirc commented on 2020-04-19 15:35 (UTC) (edited on 2020-04-26 14:06 (UTC) by arsirc)

EDIT: 26.04.2020

I have found the problem, at least on my installation of Manjaro Linux.

The output of the build process tells me that:

CMake Error at core/cmake/BareosGetDistInfo.cmake:36 (list):

list index: 1 out of range (-1, 0)

Call Stack (most recent call first):

core/CMakeLists.txt:151 (include)

After some investigation i found out that the script bareos/core/cmake/ does not provide a DISTVER.

The output of the script is "archlinux;;;;;"

The second field of that string is empty.

After some further investigation i found out that this script tries to get the DISTVER with lsb_release if it is available. But because i am on Manjaro Linux this does not work, so we fall back testing if /etc/arch-release is existing. But then we dont get the DISTVER set at all.

So a quick fix for everyone running on Manjaro Linux would be to just echo out the needed return of this script with something like this:


Hope that helps someone ...

Best regards



I have problems compiling bareos-common

Here are some logs:

Maybe you have an idea?

mfulz commented on 2020-04-09 08:26 (UTC)

Why OOD? still 19.2.6 is the last version....

AlD commented on 2020-02-19 21:05 (UTC)

'gmock' appears to be a make dependency now.

mfulz commented on 2020-01-30 23:47 (UTC) (edited on 2020-02-07 21:40 (UTC) by mfulz)

I'll check your comments out the next days: - update to 19.2.5 will be ready in a few minutes - web-ui.conf and logrotate added

The chmod makes sense to me, as the files contains sensitive data which shouldn't be readable worldwide. Of course in /usr/share it's arguable, but better safe than sorry ;)

khvalera commented on 2020-01-28 19:51 (UTC) (edited on 2020-01-28 19:58 (UTC) by khvalera)

@spradlim need to add: _cp $srcdir/install/etc/httpd/conf.d/bareos-webui.conf ${pkgdir}/etc/httpd/conf/extra/bareos-webui.conf and _cp $srcdir/install/etc/logrotate.d $pkgdir/etc/logrotate.d

khvalera commented on 2020-01-25 21:35 (UTC)

Why is this? : chmod -R 750 /usr/share/bareos/config/bareos-dir.d

mfulz commented on 2019-12-15 20:46 (UTC)

@FieldOfClay: I've removed everything ceph related from my system for a test and my build is working fine.

Could you please provide the logs / build errors you get?

FieldOfClay commented on 2019-12-07 09:00 (UTC) (edited on 2019-12-07 09:00 (UTC) by FieldOfClay)

It still fails for me during the cmake checks, unless I include ceph as a makedepends. It seems that it is still looking for ceph, somewhere. I haven't been able to figure out where.
This is on a machine that only needs bareos-filedaemon and bareos-common.

mfulz commented on 2019-12-04 18:12 (UTC)

Hi Kai,

I've added the mkdir -p thanks for the hint.

ceph is only needed for the bareos-backend-ceph afaik, which is not inlcuded here?

php is included as dependency for the webui package, which is correct in my opinion?

balticer commented on 2019-11-25 19:39 (UTC)


a few suggestions:

  • change "mkdir build" to "mkdir -p build" in build() or remove "build" directory after package is build to allow rebuilding without errors
  • "community/ceph" or "community/ceph-libs" is needed, at least as build dependency?!
  • PHP is needed, at least as build dependency?!

regards Kai

mfulz commented on 2019-10-23 11:24 (UTC)

@spradlim: Thanks.

The bareos is updated to 18.2.6 and working for me. Any feedback is welcome :)

I've added also bareos-web-ui but I've to rename it because of this one: which is not working at all. Hopefully this guy will throw it away so we can take it over.

spradlim commented on 2019-10-23 04:57 (UTC)

Mfulz I added you

mfulz commented on 2019-10-22 23:38 (UTC)

I'd like to take it over. Working on a 18.2.6 build atm and should be ready the next days.

spradlim commented on 2019-07-02 14:38 (UTC) (edited on 2019-07-02 14:39 (UTC) by spradlim)

Obviously, I no longer have time to maintain this package. Anyone, else want to maintain this package?

malus commented on 2019-06-26 21:50 (UTC)

Hello spradlim, could you please add 'git' to makedepends? I think it is needed by all involved packages. Thanks :)

spradlim commented on 2019-04-23 13:37 (UTC)

@impatt Upstream he puts it in in bareos-common so I would put it there.

impatt commented on 2019-04-23 08:01 (UTC) (edited on 2019-04-23 08:20 (UTC) by impatt)

@deep_thought: Two things: Maybe this patch will be useful:

--- /tmp/PKGBUILD 2019-04-23 11:50:04.845864401 +0500 +++ /tmp/PKGBUILD_ 2019-04-23 12:22:50.103145212 +0500 @@ -28,7 +28,7 @@ pkgdesc="Bareos - Backup Archiving REcovery Open Sourced" url="" license=('AGPL3') -makedepends=(acl bash cmake gcc-libs glibc jansson libcap libmariadbclient lsb-release lzo mtx openssl postgresql-libs python python2 readline sqlite3 zlib) +makedepends=(acl bash cmake gcc-libs glibc jansson libcap libmariadbclient lsb-release lzo mtx openssl postgresql-libs python python2 readline sqlite3 zlib patch gcc make pkg-config fakeroot) makedepends_x86_64=(ceph) makedepends_armv7h=(ceph) makedepends_aarch64=(ceph)

Question: when installing packages on ARMv7, a conflict of files is detected: error: failed to commit transaction (conflicting files) /usr/lib/bareos/ exists in both 'bareos-common' and 'bareos-storage' Which package would it be more logical to attribute /usr/lib/bareos/ when building packages?

Thank you.

deep_thought commented on 2019-04-14 09:00 (UTC)

spradlim: I was able to compile it with cmake.

It's based on your pkgbuild, so the changes should be minor.

spradlim commented on 2019-04-03 20:13 (UTC) (edited on 2019-04-03 20:14 (UTC) by spradlim)

So has anyone got cmake to compile. It looks like its more difficult to compile this with an unoffical supported distribution. Even if you force set distname when doing cmake it does more depending on that version to pull more information out.

spradlim commented on 2019-03-19 13:37 (UTC) (edited on 2019-03-21 15:26 (UTC) by spradlim)

Yes, I am still working on this. I will try and update it today. Made some progress, trying to as I get time. I see he switched over a new build system so I am trying to make sure everything is correct.

mfulz commented on 2019-03-14 23:23 (UTC)

Are you still maintaining this aur? There is version 18.2.6 out already and I'd like to help updating if you need assitance :)

deep_thought commented on 2019-02-26 09:49 (UTC)

another thing: running '/usr/lib/bareos/scripts/bareos-config initialize_local_hostname' and alike should happen after copying the files into /etc/bareos (at least, that's the location, where the script looks). So maybe you should just print the instruction for the sysadmin to execute after he set up those files from the templates?

deep_thought commented on 2019-02-26 08:30 (UTC) (edited on 2019-02-26 08:31 (UTC) by deep_thought)

Can you please add --with-hostname='XXX_REPLACE_WITH_LOCAL_HOSTNAME_XXX' --with-dir-password="XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX" --with-fd-password="XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX" --with-sd-password="XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX" --with-mon-dir-password="XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX" --with-mon-fd-password="XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX" --with-mon-sd-password="XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX" --with-basename="XXX_REPLACE_WITH_LOCAL_HOSTNAME_XXX" --with-hostname="XXX_REPLACE_WITH_LOCAL_HOSTNAME_XXX" to the configure options? Otherwise, bareos has this stuff fixed at compile time. (hostname of build machine may be different from host name of machine where bareos will be installed; having the passwords in the packages is also a bad idea)

The above list was derived from!topic/bareos-users/rQ4i5oHoKGQ - maybe there is some stuff missing or superfluid (I know close to nothing about bareos).

Cheers, deep42thought

icebal commented on 2018-10-05 10:02 (UTC) (edited on 2018-10-05 10:07 (UTC) by icebal)

By default, bareos runs under the bareos user, but the /usr/lib/bareos/scripts/ directory is owned by root:root causing bareos not able to usw the mtx-changer script. Can you update the pkgbuild to chown that directory to bareos:bareos, or atleast preserve the ownership when updating the files?

Edit: actually, looking further, it now looks like all bareos files need to be bareos:bareos, including /usr/bin/bareos-*

rafael.castellar commented on 2018-06-21 10:37 (UTC)

Fixed! Tks!!

rafael.castellar commented on 2018-06-19 10:09 (UTC)

I'm getting the same error: ERROR: Package contains paths with newlines Is there any tip?


icebal commented on 2018-06-12 06:41 (UTC) (edited on 2018-06-12 08:29 (UTC) by icebal)

with all bareos packages, they are getting the following error via yay and trizen. Packages to test error with are bconsole and storage-tape packages. ==> Checking for packaging issues... ==> ERROR: Package contains paths with newlines /opt/Git/bareos/pkg/bareos-director/usr/share/bareos/config/bareos-dir.d/fileset . .

Edit: looks like the file responsible is this one, created from the makepkg:


spradlim commented on 2018-04-02 13:41 (UTC) (edited on 2018-04-02 14:02 (UTC) by spradlim)

Latest Change:

  • Support armv7h and aarch64
  • Fix systemd service files to create /run directories automatically.

spradlim commented on 2018-03-22 13:13 (UTC) (edited on 2018-03-22 13:13 (UTC) by spradlim)

Hello Freaknils.

Yes armv7h and aarch64 work. I should add them.

freaknils commented on 2018-03-22 08:09 (UTC)

Hi, is there a reason why arm is not in arch=(i686 x86_64) ? On my armv7h cubietruck i am able to build and use bareos.

spradlim commented on 2018-02-20 02:28 (UTC)

Fixed Cephfs broken build. I did not see this issue since I didn't have the lib for cephfs installed and autotools did not try to build with cephfs.

@bsdice FYI: I have updated the PKGBUILD quite a bit, I made it more ArchLinux way of doing stuff, rather than a hacking script. You don't need those CPPFLAGS for openssl anymore.

bsdice commented on 2018-02-19 22:14 (UTC) (edited on 2018-02-19 22:16 (UTC) by bsdice)

As a temp fix, see sed line below to disable.

    build() {
    cd "${srcdir}/${pkgname}"

    # Disable cephfs, broken
    sed -i 's/have_cephfs=\"yes\"/have_cephfs=\"no\"/' configure

    CPPFLAGS+=" -I/usr/include/openssl-1.0" \
    LDFLAGS+=" -L/usr/lib/openssl-1.0" \
    DISTNAME="systemd" \
    ./configure \

ferion commented on 2018-02-19 20:17 (UTC) (edited on 2018-02-19 20:18 (UTC) by ferion)

Any way around to not compilie ceph in bareos-common ?

cephfs-fd.c:470:97: error: cannot convert 'stat' to 'ceph_statx' for argument '4' to 'int ceph_readdirplus_r(ceph_mount_info, ceph_dir_result, dirent*, ceph_st

It's an open bug report here:

spradlim commented on 2017-12-08 17:41 (UTC) (edited on 2017-12-08 20:05 (UTC) by spradlim)

I have upgraded the package to 17.2.4rc2.

Several things have changed, hopefully all for the better.

  • openssl 1.1 is now supported, fixes all ssl issues

  • I moved config files to /usr/share/bareos/config to prevent pacnew files being created whenever you upgraded. bsdice suggested this idea.

  • Moved to the systemd script included with bareos.

  • I am actually correctly managing the package rather than using my script that used the debian paths. This means binaries have moved from /sbin to /bin to fit with ArchLinux.

  • Tested bareos-webui works with arch package jansson, community doesn't seeem to be required.

I have successfully upgraded my database and machines from 16.2 to 17.2. Some manual work was required.


  • Fix some namcap warnings.

  • Move some required dependencies to optional.

Renich commented on 2017-09-15 18:36 (UTC) (edited on 2017-09-15 18:36 (UTC) by Renich)

Guys, if you don't have community/jansson installed, the webui will not work. It will claim that you need to "upgrade" to an older version. IMHO, this should be included as a dependency.

bsdice commented on 2017-08-30 09:51 (UTC)

My build with my PKGBUILD has this: # ldd /usr/bin/bconsole ... => /usr/lib/ (0x00007feafbafd000) => /usr/lib/ (0x00007feafb688000) ... Not tested though because I only use localhost.

svenne_k commented on 2017-08-30 06:21 (UTC)

Nope, still no openssl support on Arch (due to openssl 1.1 :( (ldd on the bconsole binary should have both libssl and libcrypto)

svenne_k commented on 2017-08-30 06:15 (UTC)

@spradlim Regarding your side-note: the Bareos project is active, they just have fewer releases in the open source version that the commercial version (I run both). A new version is probably out within a month, most likely called 17.2. I work at a danish Bareos partner company, so I know for sure :) I have been bugging them for an official Arch build, but they have not had the ressources to set it up yet.. (it should be doable as they run their infrastructure on Suse Opn Build Service (OBS). Is the SSL working? I currently use a hacked build to have it working in the current aur-version...

spradlim commented on 2017-08-29 19:30 (UTC) (edited on 2017-08-29 19:34 (UTC) by spradlim)

@bsdice, Thanks I agree that determining the package layout based on the debian files is wrong. I don't have a lot of time to maintain the package and the author of bareos has moved/renamed files between releases. Rather than the aur package breaking after every upgrade this "hack" allowed it to keep working. However, this package does not follow "arch" standards. A lot of what you list such as sbins binaries are installed in the incorrect places or indirect results of depending on this debian file layout. Maybe if I get some time and am less lazy,I will move away from that, its more work to maintain as the bareos author changes stuff around. A side note: It appears like bareos isn't very active anymore. I was thinking about looking at bacula.

bsdice commented on 2017-08-29 19:17 (UTC)

TLDR; I audited the software and made a new package from scratch with below issues imho fixed, see (snip into files PKGBUILD and bareos.install) Credits to the maintainers of bareos and bacula for workarounds and a little template help. Hello, I've been tinkering with a spare LTO5 drive for homeoffice backup needs using this package. Here are some issues I have encountered: - OpenSSL-1.1 API breakage - sbin binaries are installed in /usr/bin/sbin/ (should be /usr/bin) - wrong chmod of /etc/bareos and its files (+x for config files is wrong) - on my fully up-to-date Arch machine, /etc/nst0 (tape) is owned by root:storage. Post-install script should add user bareos to group storage in order to access the tape drive without root - configure parameters not fully up to date with 16.2.6 i.e. some superfluous settings (ipv6 is enabled by default, others I forget) - build/package/opt dependencies slightly out of tune (e.g. openssl is basically installed everywhere, configure will see it and try to use it, make will fall over due to API breakage, in essence making openssl-1.0 a hard dependency) - Not using /run for PID and lock files (together with tmpfiles.d by systemd) - Config files that come with the package are in the way if you modify them and want to upgrade. Imho Arch philosophy should be more like "supply samples and let the user pick any configs" instead of throwing active upstream configs in his face on every install and upgrade. Compare for a visual image. ;-) - with bat qt-gui deprecated upstream in favor of web-gui I wonder what is gained from splitting this package up into client, server, database support and whatnot instead of doing one package. Granted, it will pull in postgresql as well as mysql support libs (sqlite is pulled in by python already) but with an uncertain future of bat, it no longer requires graphical libs on the server. - post-remove cleanup could use some work (not stopping and disabling services in pre-uninstall etc.) - This package imho wrongly relies on Debianisms and I may be wrong but does pulling in dbconfig-common files make any sense on Arch? - Since I have a lot of cores I use aggressive parallel make settings to speed things up; make install of bareos requires -j1 otherwise it will error out (just to note that) - In my package there is no requirement for logrotate and also there is no /var/log/bareos, the user should log to systemd and let it do all the rotating work - I ran namcap -i on PKGBUILD and .xz and may have fixed a couple of other things I won't upload my PKGBUILD into AUR because I have little time to maintain it right now, so just contributing some hopefully valuable feedback. Regards, --se

spradlim commented on 2017-08-29 18:44 (UTC)

All, I added openssl-1.0 dependency back in. Again, let me know if it works. It really bothers me that I am unable to duplicate this problem. Sorry for any troubles.

beatus commented on 2017-08-29 18:00 (UTC) (edited on 2017-08-29 18:39 (UTC) by beatus)

I'm getting a similar issue to @CastenF. make[2]: Leaving directory '/home/beatus/.cache/pacaur/bareos/src/bareos/platforms/debian' make[1]: Leaving directory '/home/beatus/.cache/pacaur/bareos/src/bareos/platforms' ==> Entering fakeroot environment... ==> Starting package_bareos-common()... cp: cannot stat 'usr/lib/bareos/libbareos-[0-9]*.so': No such file or directory ==> ERROR: A failure occurred in package_bareos-common(). Aborting... :: failed to build bareos-common package(s) ---- The git link does not work from his comment. The openssl workaround from before fixed this.

CarstenF commented on 2017-08-26 21:38 (UTC)

Hello spradlim. I have the following Problem with bareos-compiling. There was a Version where I can fix this issue. When I apply these than the build does not fail like this. make[2]: Leaving directory '/yaourt/yaourt-tmp-carstenfeuls/aur-bareos-common/src/bareos/platforms/debian' make[1]: Leaving directory '/yaourt/yaourt-tmp-carstenfeuls/aur-bareos-common/src/bareos/platforms' ==> Entering fakeroot environment... ==> Starting package_bareos-common()... cp: cannot stat 'usr/lib/bareos/libbareos-[0-9]*.so': No such file or directory It is the same bug we have before with openssl. And please add openssl-1.0 as dependency.

spradlim commented on 2017-05-10 12:31 (UTC)

Change made freaknils. @CarstenF, I didn't read your comment on libbareosndmp right. Now that should work for both of you.

freaknils commented on 2017-05-10 11:59 (UTC)

Hmm now the build is working fine, but if I want to try to execute bareos I get the same error like CarstenF wrote: :/usr/lib/bareos > bareos-dir -t bareos-dir: error while loading shared libraries: cannot open shared object file: No such file or directory is there in ./install/usr/lib/bareos/ but it is missing in the package. It seems that you created this problem in PKGBUILD.common:97-99 If I remove these lines from PKGBUILD it works fine.

spradlim commented on 2017-05-10 00:56 (UTC)

All: CartstenF workaround for openssl-1.0 is now installed. I left the ticket open upstream for support with openssl-1.0 support. There should be no issues with the package, let me know if anyone sees anything wrong.

spradlim commented on 2017-05-09 22:32 (UTC) (edited on 2017-05-09 22:35 (UTC) by spradlim)

@CarstenF: Thanks for the possible solutions, this is very helpful and I will add one of those in the build. libbareosndmp: I fixed this dependency in the latest pkgbuild. Did you try version version 16.2.5-2? All config files have a backup entry: You can see them listed here: What version did you upgrade from? I added backup entrys on 2015-11-20. If you installed or upgraded after that you shouldn't have backup entries. Did you see pacnew files or is it fixable with pacdiff?

CarstenF commented on 2017-05-09 20:19 (UTC)

@spradlim: I have found a solution. Change the optdepend. optdepends=('openssl-1.0: network encryption between daemons') and add this two build lines to the build part. build() { export CFLAGS="${CFLAGS} -L /usr/include/openssl-1.0" export LIBS="${LIBS} -I /usr/include/openssl-1.0" another solution is to fix the configure script. Which denys the Path in --with-openssl=/usr/include/openssl-1.0 The following file is missing in the install dir. But not available in the system. /usr/lib/bareos/ I hope this is fixable. And Please add for all Config Files in /etc/bareos a backup entry. Because after an Update the Config files changes and I need to fix wrong keys and so on. Thanks for your work to get bareos working.

freaknils commented on 2017-05-09 13:04 (UTC)

@spradlim: Big thanks for your work! I thought something like this. I hope they will fix it soon!

spradlim commented on 2017-05-09 12:40 (UTC)

@freaknils I see the message now. I was building on a different box and hadn't updated to openssl 1.1. Someone mentioned a openssl 1.1 compatibility problem and I think they are correct. Unfortunately this is related to the bareos project itself and this doesn't have anything to do with the package. I am submitting a ticket upstream.

freaknils commented on 2017-05-09 12:10 (UTC)

@spradlim: I think so:

spradlim commented on 2017-05-09 12:01 (UTC)

Do you have openssl installed? I wonder if this is a required dependency. Can you try it with openssl installed if you don't have it installed.

freaknils commented on 2017-05-08 19:26 (UTC) (edited on 2017-05-09 09:52 (UTC) by freaknils)

Building bareos-common. This is the output of the build: If I do it in a fresh VM I get the same error.

spradlim commented on 2017-05-08 17:08 (UTC)

@freaknils: What package are you trying to install filedaemon? I am not seeing this error so am having trouble debugging it.

freaknils commented on 2017-05-07 12:34 (UTC)

Same error still here: cp: the call from stat for 'usr/lib/bareos/libbareos-[0-9]*.so' is not possible: File or folder not found

spradlim commented on 2017-05-06 02:01 (UTC)

Fixed. Sorry was busy

freaknils commented on 2017-05-05 08:17 (UTC)

@spradlim: Hey, thanks for your work. Did you got a solution for this problem? Do you need any support?

spradlim commented on 2017-05-02 14:00 (UTC)

I will take a look at it tonight, thanks guys.

freaknils commented on 2017-05-01 17:24 (UTC)

@CarstenF: Same error on x86_64 machine here.

CarstenF commented on 2017-05-01 11:01 (UTC)

Hello spradlim, thank you for maintaining bareos. I have not the problem does bareos not compile anymore. I get the following error message( I have translated the error message from german) cp: the call from stat for 'usr/lib/bareos/libbareos-[0-9]*.so' is not possible: File or folder not found I think it could habe something to do with the openssl update. Some reasearch to solve this issue does not help. On my Cubietruck "armv7" the package does not build after the update today. I have a package list what changed during this update. Maybe this can help to find a solution. Thanks.

spradlim commented on 2017-01-30 02:48 (UTC)

PiroXiline, You are correct that it builds them once and installs the needed one this is an offical Arch Linux way of doing it. They are called split packages and you can read more about them here: As for a command that installs just a file daemon on my clients I use: "pacaur -S bareos-filedaemon" FYI: I used to use yaourt but then found out it doesn't support split packages. I actually determined this when trying to install another PKGBUILD maintained by another user. I took over maintaining bareos, it already had split packages, I kept them. They have an advantage that the components can be installed many times on the same machine, but only need to be built once. For example the director and storage daemon is a common case for users.

PiroXiline commented on 2017-01-28 20:53 (UTC) (edited on 2017-01-28 21:15 (UTC) by PiroXiline)

Hello, spradlim. I though I was completely wrong, as it often happens. But no. I see not. I do install bareos-filedaemon, and get: $ makepkg -si ==> WARNING: The package group has already been built, installing existing packages... ==> Installing bareos package group with pacman -U... [sudo] password for pyro: loading packages... warning: bareos-common-16.2.4-1 is up to date -- reinstalling warning: bareos-bconsole-16.2.4-1 is up to date -- reinstalling warning: bareos-database-common-16.2.4-1 is up to date -- reinstalling warning: bareos-database-mysql-16.2.4-1 is up to date -- reinstalling warning: bareos-database-postgresql-16.2.4-1 is up to date -- reinstalling warning: bareos-database-sqlite3-16.2.4-1 is up to date -- reinstalling warning: bareos-database-tools-16.2.4-1 is up to date -- reinstalling warning: bareos-devel-16.2.4-1 is up to date -- reinstalling warning: bareos-director-16.2.4-1 is up to date -- reinstalling warning: bareos-storage-fifo-16.2.4-1 is up to date -- reinstalling warning: bareos-tools-16.2.4-1 is up to date -- reinstalling warning: bareos-storage-16.2.4-1 is up to date -- reinstalling warning: bareos-director-python-plugin-16.2.4-1 is up to date -- reinstalling warning: bareos-storage-python-plugin-16.2.4-1 is up to date -- reinstalling resolving dependencies... warning: cannot resolve "mtx", a dependency of "bareos-storage-tape" :: The following package cannot be upgraded due to unresolvable dependencies: bareos-storage-tape :: Do you want to skip the above package for this upgrade? [y/N] In other words - It do compile and install all BareoOS packages. It compile and install whole bareos group. That what I was talking about in previous message, mentioning PKGBUILD is bold and include all packages all together. And all BareOS packages share that one PKGBUILD. That all this is one also can be seen through - all AUR package pages share one page and one message thread, only Description changes. Or I don't understand something. Maybe you don't see users perspective. This seems like with official way - we can build only a main BareOS group package and all other names are aliases to "bareos" one. And with this group we build all packages and install them. So, to clear the question. I approach with a question to you, as a maintainer. Please, can you provide information on how you build/install separate packages, and if so - can you provide a description of it where users can see it? P.S. Now, I see - it builds all packages. And then I can choose which to install. The thing is - you need to do it manually. User needs to do process manually and to see packages and to do minor, but nonstandard operation, which is completely not obvious, because users and even experienced ones are blind while no needed information provided. Official AUR building guide ( states to use "$ makepkg -si", take a note "-i" is install option, and that installs everything. Yaourt also does it "official way" installing everything, I also think other helpers do the same. So what user need to do literally: $ cd 'to_build\git_directory' $ git clone $ cd package_name # Get everything and builds everything, but not install $ makepkg -s # See list of packages $ ls # Install chosen packages # pacman -U selected_package.pkg.tar.xz That does the trick. So Michael, please provide this information. It can be seen as I am disrespectful, but I thank you. I go to such extends to link developers/maintainers/users and share perspective. I am persistent - because it takes effort of persistency to explain bugreports/feature_requests, otherwise, as 99% do - we skip "it", and becouse of that - "it" silently repeats to all other people over and over who knows how many times.

spradlim commented on 2017-01-20 05:17 (UTC)

Hello PrioXiline, These packages are in the same layout as every other distro that bareos officially supports. This aur packages asctually reads/converts from those source packages. I don't know what you are seeing but you only need to install the components you need. For example, The installing the file daemon only requires a few other bareos packages. bareos-common, etc... Hope this helps, Michael

PiroXiline commented on 2017-01-17 21:48 (UTC) (edited on 2017-01-18 00:32 (UTC) by PiroXiline)

Guys, come on. I need install client ('bareos-filedaemon'). I see this list, and it's not even funny. PKGBUILD: bareos-bconsole 16.2.4-1 0.04 MiB bareos-common 16.2.4-1 1.57 MiB bareos-database-common 16.2.4-1 0.21 MiB bareos-database-mysql 16.2.4-1 0.05 MiB bareos-database-postgresql 16.2.4-1 0.07 MiB bareos-database-sqlite3 16.2.4-1 0.05 MiB bareos-database-tools 16.2.4-1 0.18 MiB bareos-devel 16.2.4-1 0.88 MiB bareos-director 16.2.4-1 0.74 MiB bareos-director-python-plugin 16.2.4-1 0.03 MiB bareos-filedaemon 16.2.4-1 0.22 MiB bareos-filedaemon-python-plugin 16.2.4-1 0.09 MiB bareos-storage 16.2.4-1 0.18 MiB bareos-storage-fifo 16.2.4-1 0.02 MiB bareos-storage-python-plugin 16.2.4-1 0.03 MiB bareos-tools ## kind rant Client don't need all other services/servers hanging-around on system, more than it is all AUR deps. This package forces to install a whole everything that we can find of BareOS in Arch stack. ## /kind rant Official Bacula documentation says: "If the machine (they mean architecture, x64) and the Operating System are identical, you can simply copy the Bacula File daemon binary file bacula-fd as well as its configuration file bacula-fd.conf" - and install is already over, then goes manual configuration. So, BareOS Client (File Daemon) needs only: binary, and /etc/bareos/bareos-fd.d/* configs. In latest releases BareOS even simplified client, untying it from need of straight DB connection configuration. As we install prebuilt package - clearly package bareos-filedaemon needs only itself. Maybe I did't know or understand something. It doesn't cancel thou, I am thankful that you provided me BareOS packages.

spradlim commented on 2016-10-31 01:57 (UTC)

Hello all, I am using all daemons of this package now as a backup solution. I am supporting it as I am actively using it.

spradlim commented on 2016-05-10 01:56 (UTC)

eayin2: This package is not out of date. 15.2.2 is the latest official released package.

spradlim commented on 2016-05-10 01:21 (UTC) (edited on 2016-05-10 01:32 (UTC) by spradlim)

Eayin2: I agree, I was just looking at middy's problem and this is how I fixed it. Also to be fair, I haven't used the FD on Linux yet. I am getting to it. Finished my window clients first.

eayin2 commented on 2016-05-09 21:10 (UTC)

please change in PKGBUILD.common: --with-fd-group=root --with-fd-user=root

muddy.muskrat commented on 2016-04-13 12:11 (UTC)

Example: - bareos-filedaemon started with user bareos - bareos user have not permission on directories /home - as a result we have "Permission denied" erro when try backup /home directory

spradlim commented on 2016-04-07 01:38 (UTC)

bareos-filedamon is configured with --with-fd-user=bareos and --with-fd-group=bareos. What is your problem?

muddy.muskrat commented on 2016-04-06 16:31 (UTC)

bareos-filedarmon must be configure with: --with-fd-user= \ --with-fd-group=" bareos user have not permissions for read most files in system

spradlim commented on 2015-12-12 23:33 (UTC) (edited on 2016-04-06 20:14 (UTC) by spradlim)

I have noticed this and updated my checksum before. I don't know why github is regenerating the compressed files. I need to change this to checkout the git repository.

oneup commented on 2015-12-12 21:14 (UTC)

Upstream updated the 15.2.2 release and re-uploaded it as a new 15.2.2 with no version change, causing the checksum to fail on 15.2.2.tar.gz. There are at least 8 commits included in this updated 15.2.2 tag that have been made since this package was updated to use 15.2.2 on Nov 21, so it's unclear to me if the 15.2.2 release is being continually updated or if this was a one time fix. Having updated the checksum locally, everything appears to build fine.

spradlim commented on 2015-11-16 04:52 (UTC)

PKGBUILDS have been updated to handle all install steps but creating the database. A note is printed out when installing on how to create the database/tables.

spradlim commented on 2015-10-31 02:12 (UTC)

Yes I changed the package names to match how the bareos developer expected them to be built. I don't remember the old packages names, so it will be hard to update variables you specify.

AlD commented on 2015-10-29 03:40 (UTC)

Looks like you renamed some packages. Would be nice to use - depends=newpackage on the old package (not sure if that works) - replaces=oldpackage on the new package - maybe conflicts=oldpackage on -common to make sure those get upgraded.

spradlim commented on 2015-10-02 18:51 (UTC)

Everything seems good to me. Let me know if anyone has problems.

spradlim commented on 2015-04-03 04:45 (UTC)

@freaknils I am working on updating the directory structure. It should work much better and have the missing binaries. Still working on this...

max_meyer commented on 2015-03-31 14:52 (UTC)

I created both packages for my bareos-packages...

max_meyer commented on 2015-03-31 14:52 (UTC)

And this one?

max_meyer commented on 2015-03-31 14:52 (UTC)

Are you interested to take over

freaknils commented on 2015-03-30 19:29 (UTC)

The tool "bareos-dbcheck" is missing, why?

freaknils commented on 2015-02-25 10:52 (UTC)

No, new Version 14.2.3 ist available

AlD commented on 2014-07-23 09:47 (UTC)

Thanks, fixed and updated.

MagnusW commented on 2014-07-22 21:47 (UTC)

Not sure if you still are interrested in this, but it seems that the names of the files in the "install"-portion of this PKGBUILD has changed. I changed: <code> install -D ${_instdir}/usr/lib/libbac-${pkgver}.so ${pkgdir}/usr/lib/libbac-${pkgver}.so install -D ${_instdir}/usr/lib/libbaccfg-${pkgver}.so ${pkgdir}/usr/lib/libbaccfg-${pkgver}.so install -D ${_instdir}/usr/lib/libbacfind-${pkgver}.so ${pkgdir}/usr/lib/libbacfind-${pkgver}.so install -D ${_instdir}/usr/lib/libbacpy-${pkgver}.so ${pkgdir}/usr/lib/libbacpy-${pkgver}.so install -D ${_instdir}/etc/bareos/scripts/btraceback.gdb ${pkgdir}/etc/bareos/scripts/btraceback.gdb install -D ${_instdir}/usr/bin/btraceback ${pkgdir}/usr/btraceback </code> to: <code> install -D ${_instdir}/usr/lib/libbareos-${pkgver}.so ${pkgdir}/usr/lib/libbareos-${pkgver}.so install -D ${_instdir}/usr/lib/libbareoscfg-${pkgver}.so ${pkgdir}/usr/lib/libbareoscfg-${pkgver}.so install -D ${_instdir}/usr/lib/libbareosfind-${pkgver}.so ${pkgdir}/usr/lib/libbareosfind-${pkgver}.so install -D ${_instdir}/usr/lib/ ${pkgdir}/usr/lib/ install -D ${_instdir}/etc/bareos/scripts/btraceback.gdb ${pkgdir}/etc/bareos/scripts/btraceback.gdb install -D ${_instdir}/usr/bin/btraceback ${pkgdir}/usr/btraceback </code>

mgisbers commented on 2014-04-15 09:40 (UTC)

Package doesn't build. While install() copying of libraries fails.