Commit Graph

143 Commits

Author SHA1 Message Date
Marian Beermann eace147611 setup.py: add crc32.c to sdist 2017-01-14 22:27:39 +01:00
Thomas Waldmann e4c5db4efc posix platform module: only build / import on non-win32 platforms, fixes #2041
rather use a inverted check like "not windows".
also: add a base implementation for this stuff, just raising NotImplementedError
2017-01-14 14:48:49 +01:00
Marian Beermann ecad0ed53a Merge branch '1.0-maint' into merge/1.0-maint
# Conflicts: ... everywhere ...
#	.travis.yml
#	Vagrantfile
#	borg/testsuite/key.py
#	docs/changes.rst
#	docs/quickstart.rst
#	docs/usage.rst
#	docs/usage/upgrade.rst.inc
#	src/borg/archive.py
#	src/borg/archiver.py
#	src/borg/crypto.pyx
#	src/borg/helpers.py
#	src/borg/key.py
#	src/borg/remote.py
#	src/borg/repository.py
#	src/borg/testsuite/archive.py
#	src/borg/testsuite/archiver.py
#	src/borg/testsuite/crypto.py
#	src/borg/testsuite/helpers.py
#	src/borg/testsuite/repository.py
#	src/borg/upgrader.py
#	tox.ini
2017-01-12 15:01:41 +01:00
Thomas Waldmann 7d4d7e7901 setup.py: add Python 3.6 qualifier 2017-01-04 01:03:18 +01:00
Marian Beermann 9afebead84 two fast CRC implementations
CRC slice by 8 for generic CPUs outperforms zlib CRC32 on ppc
and x86 (ARM untested but expected to as well).

PCLMULQDQ derived from Intel's zlib patches outperforms every other
CRC implementation by a huge margin.
2017-01-02 15:54:14 +01:00
Marian Beermann 5e1cb9d899 Add tertiary authentication for metadata (TAM) 2016-12-20 22:53:53 +01:00
Thomas Waldmann c855c687eb Merge branch '1.0-maint' 2016-12-14 03:33:53 +01:00
Marian Beermann b885841c39 make item native code
This makes an surprisingly large difference. Test case: ~70000 empty files.
(Ie. little data shoveling, lots of metadata shoveling). Before: 9.1 seconds
+- 0.1 seconds. After: 8.4 seconds +- 0.1 seconds.). That's a huge
win for changing a few lines.

I'd expect that this improves performance in almost all areas that touch
the items (list, delete, prune).
2016-12-03 00:11:36 +01:00
Marian Beermann 288cac788c setup.py: build_usage: don't generate includes for debug commands 2016-12-02 13:28:49 +01:00
Marian Beermann 1c261f6b7b setup.py: fix build_usage not processing all commands 2016-12-02 13:25:24 +01:00
Thomas Waldmann c83a124e65 Merge branch '1.0-maint' (into master) 2016-11-28 02:23:32 +01:00
Antoine Beaupré fbada18b0d display README correctly on PyPI
I have discovered that PyPI is way more sensitive to RST warnings than
other platforms: warnings and errors will make the document not show
up correctly, which is currently the case here:

https://pypi.python.org/pypi/borgbackup/

the suggested changes remove Sphinx-specific markup from the output,
namely the badges and `|replacement|` patterns, but also the
`higlight` directive. this also requires adding tags to the README to
mark the badges to remove and removal of the `none` argument for the
`.. code-block::` element which was not having any significant in
Sphinx anyways.
2016-11-24 09:09:15 -05:00
Marian Beermann c380d91805 fixes for flake 3.1.1 2016-11-14 21:50:20 +01:00
Marian Beermann a31ca4f022
crypto: link against system libb2, if possible 2016-11-11 03:08:11 +01:00
Thomas Waldmann 09e74af7bf Merge branch '1.0-maint' 2016-10-24 21:41:20 +02:00
Thomas Waldmann f10700841f add comment about requiring llfuse, fixes #1726 2016-10-19 00:56:22 +02:00
Thomas Waldmann 47cf501bc1 Merge branch '1.0-maint' into merge-1.0-maint 2016-09-27 22:35:30 +02:00
Martin Hostettler fe9816d8d4 setup.py: Fix build_usage to always process all commands. 2016-09-27 22:34:19 +02:00
Thomas Waldmann 2a864be84f Merge branch '1.0-maint' into merge-1.0-maint
# Conflicts:
#	setup.py
#	src/borg/archiver.py
#	src/borg/helpers.py
2016-09-27 21:31:41 +02:00
Martin Hostettler a11436cfb6 setup.py: Add subcommand support to build_usage. 2016-09-25 17:11:56 +02:00
Thomas Waldmann 3baa8a3728 Merge branch '1.0-maint'
# Conflicts:
#	docs/changes.rst
#	docs/usage/mount.rst.inc
#	src/borg/archive.py
#	src/borg/archiver.py
#	src/borg/fuse.py
#	src/borg/testsuite/archiver.py
2016-07-11 01:23:27 +02:00
Thomas Waldmann 5660cd1f96 fix most non-python-source related sphinx warnings
literal blocks must be followed by an empty line

suppressed the non-local image uri warning via sphinx config

the links on the resources page must have different label texts

setup.py: do not generate pointless "::\n" - it does not create a literal block if the stuff below is not indented
2016-07-10 17:25:51 +02:00
Thomas Waldmann 12f55f4e9f Merge branch '1.0-maint' 2016-07-06 01:33:53 +02:00
Thomas Waldmann 2f2925ed89 add a do-not-edit note to auto-generated files 2016-07-05 23:29:23 +02:00
Thomas Waldmann 9ef565b00e Merge branch '1.0-maint' 2016-06-09 20:21:48 +02:00
Thomas Waldmann 8e7ed8ebea llfuse: update version requirement for freebsd
as the requirement string is a AND operation, I used the rough "<2.0" requirement
and then excluded the non-working versions.
2016-06-04 15:53:30 +02:00
Marian Beermann 0ca1a18b33
Make borg.platform a package 2016-05-31 15:38:56 +02:00
Thomas Waldmann 045e5a1203 Merge branch 'master' into move-to-src 2016-05-30 19:38:16 +02:00
Marian Beermann 0e3bba7b64 Don't rebuild command line parser for each invocation
Makes tests faster
2016-05-25 22:01:38 +02:00
Thomas Waldmann 3ce35f6843 Merge branch 'master' into move-to-src 2016-05-21 19:06:01 +02:00
Thomas Waldmann b8303a38bf Merge branch '1.0-maint' 2016-05-20 22:48:57 +02:00
Thomas Waldmann 21a30269c2 freebsd: use a older llfuse release that builds
llfuse >0.41.1 <=1.0.0 does not build on freebsd.
the issue is already fixed, but no new release yet.
2016-05-20 21:50:26 +02:00
Thomas Waldmann 596a276a26 setup.py: add check for platform_darwin.c
this was just forgotten...
2016-05-18 18:07:10 +02:00
Thomas Waldmann d7500a1191 create new platform_posix module
move common posix cython code there.
2016-05-18 17:40:04 +02:00
Thomas Waldmann 0fa663febe seek /opt/pkg (pkgsrc OS X) for openssl and lz4
Add /opt/pkg (used by pkgsrc on Mac OS X) to possible openssl and
lz4 header path.

    from 2015Q2 onwards the prefix has changed to /opt/pkg
    in order to be compatible with El Capitan's
    "System Integrity Protection" feature.

-- pkgsrc.joynet.com

thanks to @weakish for finding this!
2016-05-06 14:56:54 +02:00
Thomas Waldmann 76839362e2 fix packaging/git/coverage for src/ path 2016-05-05 21:42:37 +02:00
Thomas Waldmann b641d11e1b Merge branch '1.0-maint' 2016-05-01 20:28:17 +02:00
Thomas Waldmann 4b73ebc613 update readthedocs urls, fixes #991 2016-04-29 03:19:27 +02:00
Marian Beermann 0a369c0985
Better help texts and Sphinx reproduction of usage
- Group options
- Nicer list of options in Sphinx
- Deduplicate 'Common options'
  (including --help)

The latter is done by explicitly declaring --help in the common_parser,
which is then inherited by the sub-parsers; no change in observable
behaviour.
2016-04-10 01:28:19 +02:00
Daniel Reichelt e1f6a34820 provide wrapper for borg mount, fixes #743
- add archiver.main_mount()

- provide borgfs behaviour when the monolithic binary is called via a
  symlink called borgfs

- docs: update usage of mount subcommand, provide examples for borgfs and
  add symlink creation to standalone binary installation

- run build_usage

- add entry point in setup.py

- patch helpers.py:get_keys_dir() to allow mounting fstab entries with
  "user" option set

  Without this, setuid() called at some point by mount changes the HOME
  environment variable to '/root' and os.expanduser('~') would return
  '/root' as well, thus the mount would fail with
 	 PermissionError: [Errno 13] Permission denied: '/root/.config'
  After setuid(), the HOME variable stays intact, so we still can
  explicitly query USER's home.

  Also, os.path.expanduser() behaves differently for '~' and '~someuser'
  as parameters: when called with an explicit username, the possibly set
  environment variable HOME is no longer respected. So we have to check if
  it is set and only expand the user's home directory if HOME is unset.

- add myself to AUTHORS
2016-03-17 01:40:17 +01:00
Thomas Waldmann dd6a795536 update llfuse requirement, llfuse 1.0 works 2016-03-09 15:45:10 +01:00
Thomas Waldmann a4ec69c610 setup.py: add note about llfuse 0.42 2016-02-27 20:59:32 +01:00
Thomas Waldmann 44c8a4af80 fix pep8 failures 2016-02-17 01:05:04 +01:00
Nikolaus Rath dbec05ab73 Make python-llfuse 0.42 compatible.
--HG--
extra : amend_source : 6004af01c4ee6f7ddf6f4138bfc9bbdf2a785eb2
2016-02-16 10:28:16 -08:00
Thomas Waldmann 08fe16c176 allow llfuse version 0.41.x, fixes #642 2016-02-07 22:54:53 +01:00
Thomas Waldmann c2edfab237 all FUSE related version requirements in 1 place 2016-02-07 19:08:03 +01:00
Thomas Waldmann 69300e473d document and automate llfuse requirement 2016-02-07 19:03:32 +01:00
Thomas Waldmann 4b339f5d69 cosmetic source cleanup (flake8) 2016-01-30 21:32:45 +01:00
Thomas Waldmann 0be62d4233 stuff found on "Porting to Python 3.3" 2016-01-24 15:36:04 +01:00
Thomas Waldmann 8a819d4499 remove borg.support, fixes #358
we only needed it because argparse was broken on some 3.2.x and 3.3.x pythons.
2016-01-24 14:57:48 +01:00