Closed geckolinux closed 7 years ago
@rmoriz why did you add borgbackup to homebrew cask instead of homebrew? As far as I know homebrew cask is mainly for GUI applications.
Homebrew-Cask extends Homebrew and brings its elegance, simplicity, and speed to the installation and management of GUI Mac applications such as Google Chrome and Adium.[0]
Another problem with this is that brew update
does not work with homebrew cask. So for every new version you have to do a brew cask install borgbackup
. Another advantage of homebrew is the support of different version i.e. devel or head.[1]
[0] https://github.com/caskroom/homebrew-cask/blob/master/README.md [1] https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/Formula-Cookbook.md#formula-cookbook
Debian - available from stretch, backport in progress
Just a ping on this: borgbackup is included in the official jessie-backports
repository since 2016-01-30.
On 2016-02-16 07:18:07, Danny Edel wrote:
Debian - available from stretch, backport in progress
Just a ping on this: borgbackup is included in the official
jessie-backports
repository since 2016-01-30.
If the install docs are inaccurate, feel free to submit a pull request, I don't have access to update the summary here anymore, unfortunately.
PHP was originally designed explicitly for non-programmers (and, reading between the lines, non-programs); it has not well escaped its roots.
@elnappo please read my comments in the issue above your post. Also you want to read the homebrew-cask
Readme about updating casks. Also your statement "primarily GUI tools" is wrong (see https://github.com/caskroom/homebrew-cask/blob/master/Casks/docker.rb for a popular non-gui example). homebrew-cask
is about handling binaries (the reason why I prefer the single binary is mentioned above).
Congratulation! borgbackup added to official gentoo repo
Borg 1.0.0 packaged for GNU Guix!
http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/backup.scm#n410
FreeBSD is coming: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=207715
A package could already be built/installed with:
$ curl -L "https://bz-attachments.freebsd.org/attachment.cgi?id=167748" | sh
$ cd py-borgbackup
# make install
I've created a openSUSE 13.2 and Leap 42.1 build here: https://build.opensuse.org/project/monitor/home:frispete:python3 1 Click Install Download is a available here: http://software.opensuse.org/package/python3-borgbackup?search_term=python3-borgbackup
I will stress this package a bit myself before submitting a request for inclusion to the openSUSE standard python3 repository, hence wouldn't mind some feedback for the build.
I would like to note, that we usually try to make use of the supplied testsuite for testing the build during package creation (every time!), but this requires the availability of all dependent packages in the repos (including Attic in this case), since build environments like the openSUSE build service need to be fully deterministic and reproducible. Therefore I would like to suggest adding a limited test mode with minimal external dependencies, that just tests the basic functionality. The test diversity is added by building and testing against a growing number of real distributions.
@frispete thanks for working on packaging!
about the tests: if you run them "as is" (fakeroot -u tox), they will download all the required stuff from pypi (including attic).
Attic isn't a hard dependency of the test suite, if it isn't installed in the Python environment the tests needing it are skipped.
On 04/05/2016 11:08 AM, Hans-Peter Jansen wrote:
I've created a openSUSE 13.2 and Leap 42.1 build here: https://build.opensuse.org/project/monitor/home:frispete:python3 1 Click Install Download is a available here: http://software.opensuse.org/package/python3-borgbackup?search_term=python3-borgbackup
Many thanks!!!
Would it be possible to also build for Tumbleweed?
Also is there a way to make your repo appear in http://software.opensuse.org/ ?
Thanks again!
@ThomasWaldmann: ...downloading the required stuff is exactly, what is forbidden in the build system, as this has the potential of being non deterministic after all...
I found a way to setup the venv manually, but still struggling with some details. Here's the relevant section of the rpm spec - beware - it can hurt your eyes:
# testing the build is a little awkward, since the original testsuite is based on tox and
# tox tries to create a virtual environment, that we need tight control on in order to get
# it to behave in our build system (offline mode, access site packages). OTOH, without the
# venv, we face problems with setuptools (borg uses pkg_resources to locate the installed
# package), but py.test relies on the usual module handling.
# this is further complicated due to a missing .coveragerc file and a failing test.
# Boils down to:
pyvenv --system-site-packages --without-pip borg-env
source borg-env/bin/activate
python3 setup.py install
%define arch $(python3 -c 'import platform; print(platform.machine());')
cd build/lib.linux-%{arch}-%{py3_ver}
export PYTHONPATH=$(pwd)
py.test -v --cov=borg --cov-config=../../.coveragerc --benchmark-skip --pyargs borg.testsuite || true
Of course, I'm open to simplify this section. In its current state, chances of getting it into some official repo, are low.
Any idea about the failing test_non_ascii_acl test? https://build.opensuse.org/package/live_build_log/home:frispete:python3/python3-borgbackup/openSUSE_13.2/x86_64 @ 437s
@geckolinux: Tumbleweed build is on the way..
Package appears already in software.opensuse.org, but after searching borgbackup you need to push on the arrow below the list saying "Show more packages for unsupported distributions"
@frispete you don't need to do the coverage stuff, this is just for developers so that they try to maintain a good test coverage.
@ThomasWaldmann: thanks for the hint - I just copied this from the standalone build and was happy to get this finally going - will yank this now.
openSUSE seems to stick to lz4 r124. Any reason not to update to the current release (r131) from borgs perspective?
https://github.com/Cyan4973/lz4/blob/master/NEWS more recent versions have the usual fixes and some improvements.
I didn't notice any issues yet, not matter which lz4 version I used.
Debian has r114 / r122. Ubuntu has r114 in trusty and will have r131 in xenial.
I made a borg port for OpenBSD which was recently committed, so I suppose you can check that off the list.
Regarding borg's test suite: does it actually require fakeroot
, or is that just recommended? I ask because fakeroot
isn't available on OpenBSD, meaning we can't run the test suite... probably.
I noticed that OS X on Travis uses sudo instead of fakeroot, but I'm unsure if the same applies to OpenBSD.
Running the tests as a normal user has little impact afaik and only skips some parts of one test (something with device files that just won't work without (fake)root). Edit: borg/testsuite/archiver, test_basic_functionality
transparency note: I updated the list above with the OpenBSD ports link, and corrected a dead link to the AUR (borgbackup -> borg-git rename)
alright, I made #868 for the install docs to be up to date as well.
next up here should probably be the Red Hat family, it's in Q/A over there, I wonder if we should add it to the docs now or wait? not so familiar with their process.. https://bugzilla.redhat.com/show_bug.cgi?id=1287837
@mreed1 Since I did the openSUSE build lately, where I tried to remove as many additional dependencies for testing as possible, I'm running the tests as found in the %check section of the build spec here: https://build.opensuse.org/package/view_file/home:frispete:python3/python3-borgbackup/python3-borgbackup.spec?expand=1 It avoids calling tox altogether with fakeroot, it might be helpful for you, too. Please note the sed call in %prep and the packages in BuildRequires..
@LocutusOfBorg could it be possible to have a borg 1.0.1 package for ubuntu trusty in the PPA? Right now version 1.0.0-4 is the latest and version 1.0.1 has a lot of locking-related fixes that would be very useful to me. Thank you very much.
@jperville he's aware of 1.0.1, guess packages will come soon.
Thanks a bunch @enkore and @frispete, I set the tests up.
Before a few hours ago I had extremely little experience with Python infrastructure, so I'd appreciate it if someone can check if I did anything obviously wrong. Here's the test target from the port:
# XXX: We don't have py-test-benchmark, so we can't pass `--benchmark-skip' to
# py.test; instead we just remove benchmark.py.
do-test:
(cd ${WRKSRC} ;\
virtualenv-3 --system-site-packages --no-pip borg-env ;\
. borg-env/bin/activate ;\
python${MODPY_DEFAULT_VERSION_3} ./setup.py install ;\
cd build/lib.openbsd-$$(uname -r)-$$(uname -m)-${MODPY_DEFAULT_VERSION_3} ;\
export PYTHONPATH=`pwd` ;\
rm borg/testsuite/benchmark.py ;\
py.test-3 --pyargs borg.testsuite)
@mreed1 instead of removing borg/testsuite/benchmark you can also pass -k 'not benchmark'
to the pytest invocation. We are using this workaround in the Debian package until pytest-benchmark
is packaged too.
@jperville I uploaded on Debian some seconds after the release. However for ubuntu it took a day for the automatic sync because I want to do no change backports and I have to previously sync xenial. It is ready now.
@anarcat the package for the fedora stable (23) and the upcoming release (24) has status QA and is in the testing repositories. should be in stable in a week or earlier if someone tests it.
for centos 7 (epel) there are dependencies missing for the testsuite and manpage generation.
@bpereto that's great news for fedora! do you mind making a pull request to update the documentation when relevant? see #868 for an example.
Is there a man page available for borg somewhere?
See #208
Great, thanks @enkore.
NOTE to those, that already use my openSUSE build, which aren't that many, I hope:
I renamed the package from python3-borgbackup to borgbackup, and I did it the rough way (recreated with new name)!
If you're using my package, please do this:
rpm -e python3-borgbackup
and install the new borgbackup package, that comes as version 1.0.1, including a man page and a local copy of the comprehensive html documentation.
Sorry for the inconvenience (but I don't want to clutter this brand new package with ugly Conflicts:).
Please speak up, if you disagree.
New package is still available at: http://software.opensuse.org/package/borgbackup?search_term=borgbackup in the home:frispete:python3 repos for various distributions.
On 2016-04-10 16:27:05, Hans-Peter Jansen wrote:
NOTE to those, that already use my openSUSE build, which aren't that many, I hope:
I renamed the package from python3-borgbackup to borgbackup, and I did it the rough way (recreated with new name)!
hmm.. then we'd need another PR to fix #868, do you mind taking care of that?
@anarcat Done
More good news on the openSUSE front, the package borgbackup got accepted in the Archiving:Backup repository, and is available there for Leap 42.1, Tumbleweed and Factory.
I still maintain the package in home:frispete:python3, where it is available for 13.2 and SLE_12_SP1 as well.
If somebody is missing a target in the SUSE universe, speak up, please.
Borg is now in the FreeBSD Ports Tree: https://svnweb.freebsd.org/ports?view=revision&revision=413469
Amazing! Now we're just missing fedora and... well, windows. :)
@anarcat fedora is in place. see #879 Overview: https://apps.fedoraproject.org/packages/borgbackup
On 2016-04-23 11:57:24, Benjamin Pereto wrote:
@anarcat fedora is in place. see #879 Overview: https://apps.fedoraproject.org/packages/borgbackup
okay then the summary needs to be updated here and a PR needs to be done to update install docs!
whoohoo!
a.
Celui qui sait jouir du peu qu'il a est toujours assez riche.
@rmoriz @adidalal @elnappo i updated github releases with borg-macosx64 1.0.2 binary - with fixed lzma and updated osxfuse 3.2.0.
@ThomasWaldmann Will be merged shortly (https://github.com/caskroom/homebrew-cask/pull/20744)
For future reference, Cask updates are super easy - cask-repair -v {{new_version}} borgbackup
will update the required values and submit a PR automatically. (further details in our CONTRIBUTING)
Also install is just brew cask install borgbackup
or the older syntax brew install Caskroom/cask/borgbackup
(the two commands are equivalent now that Homebrew and Homebrew-Cask are a bit more tightly integrated)
@adidalal ah, interesting. I usually do not work on OS X, so I am not really familiar with it.
@ThomasWaldmann Not a problem, just thought it might be useful info to have for whoever ends up submitting Cask updates for borgbackup
in the long run - we rely on users to submit PRs for app updates, as there are far too many for the core maintainers to keep track of, and so we've tried to make that process as easy as possible for both maintainers and contributors. (Also, updated Cask is now live)
OpenIndiana seems to ship 1.0.0: http://pkg.openindiana.org/hipster/en/search.shtml?token=borg&action=Search
while borg is not in CentOS / RHEL "core" (and won't be until at least RHEL 8 due to missing Python 3) it is now in EPEL.
Done in Mageia (Cauldron) so will be in Mageia 6 http://madb.mageia.org/package/show/application/0/release/cauldron/name/borgbackup Version is now 1.03
@enkore, @pmakowski i have added raspbian, openindiana and mageia to the install docs in #1120.
i have now learned how to install binary packages in way more distributions than i ever wanted to. it would be great if people would send pull requests to update the docs themselves instead of me having to come by and redo this every month or so... in fact, maybe it would be more useful if the summary of this ticket would be change to not have an "exhaustive list" of all the distributions that actually ship with borg, especially considering how only a select few people can update the ticket summary here (as opposed to do pull requests to update the docs).
in other words, could the summary here be changed to remove the checked boxes and keep only the todo list? i would gladly make the change myself if i still had access...
something like this:
This issue tracks ongoing work to package borg in various distributions. Done items are documented in the install docs and should be edited there directly when new packages are published.
Non-exhaustive list of packages needing work:
Note: there are binary release packages for Linux, FreeBSD and OS X on the github releases page.
the install docs are turning into a miniature distrowatch, i like it. :) it would be great to have version numbers in there to see if the packages are up to date, but that will make probably too much churn, unless the checks are automated.
Using conda (http://conda.pydata.org/docs/) seems a good option here. It would work for all three major platforms. Once a conda package exists, the only thing a user needs to do is to type conda install borgbackup
. All dependencies can be inside the package. No need for so many platform-specific installation instructions. All is binary. So, the user does not need to have C compiler. Furthermore, conda-forge (https://conda-forge.github.io) can make CI and multi-platform support much easier.
@kleptos I've seen you put a USD 15 bounty on this. As this is a rather generic ticket, it is hard to say who shall get it, can you clarify?
This issue tracks ongoing work to package borg in various distributions.
Done items are documented in the install docs and should be edited there directly when new packages are published.
Non-exhaustive list of packages needing work:
Note: there are binary release packages for Linux, FreeBSD and OS X on the github releases page.