Description
I was curious whether borg could work on haiku, so I tried borg 1.1.7 on Haiku OS R1/beta1 32bit:
borg seems to work.
I am not a haiku user, so I won't do the necessary changes to borg nor more extensive testing (nor packaging for haiku), but PRs are welcome.
Here are some notes about it for whoever wants to work on it:
I started with installing Haiku OS R1/beta1 from the ISO into VirtualBox - see their notes about installing into VirtualBox (esp. the hint about the Pro/1000 NIC card, to get a working network connection).
Then I installed some obviously needed stuff (see our docs): python3
, pip3
Also installed zstd
and lz4
(but guess this is not really needed as we bundle them).
I didn't install libacl
nor libattr
, haiku does not have them. Also no libb2
(blake2) in haiku, but borg bundles it, so no problem.
My first tries failed because it did not find the openssl headers (see code in our setup.py
).
There are 2 problems:
- the openssl header location on haiku is not in our default search list
- even if it was, it would not work as it has
headers/
instead ofinclude/
in the path component after the prefix (which is hardcoded in currentsetup.py
)
I hacked around them by creating a symbolic link in my home dir like include --> /boot/.../headers/
and then pointed BORG_OPENSSL_PREFIX
to my home dir. :-)
After that, it stumbled over the too old default gcc 2.95. The setarch x86
command fixed that, then it compiled successfully with gcc 7.
I did some quick manual tests, borg init, create, list seemed to work ok.
TODO:
- FIXED by use pkg-config / refactor setup code #4437? : fix setup.py to be more flexible finding header files
- run the automated test suite of borg on haiku
- do more practical testing
- test on 32 and 64bit haiku
- if there is platform specific stuff a backup program needs to support for haiku / BeFS, implement it.