Commit Graph

1226 Commits

Author SHA1 Message Date
Antoine Beaupré 4787424a66 move API generation to setup.py 2015-10-07 19:58:24 -04:00
Antoine Beaupré 28cbc6cbd1 fix build on RTFD
first off, this required ticking the `Install your project inside a
virtualenv using setup.py install` box in the advanced config.

then, i had to disable all the C extensions build and disable some
checks, based on whether we are running on RTD or not.

still missing: usage builds and possibly other stuff that is in our
Makefile and not in setup.py.
2015-10-07 19:29:27 -04:00
TW df20e512a0 Merge pull request #260 from anarcat/releng-docs
some fixes to the release engineering docs
2015-10-07 16:29:26 +02:00
Antoine Beaupré cec8e18d2b gpg can't sign multiple files at once, use a loop 2015-10-07 10:17:35 -04:00
Antoine Beaupré 48c8186592 detail what needs to happen in the github release 2015-10-07 10:16:07 -04:00
Antoine Beaupré bb9b31e265 Revert "new proposal: formal release notes"
This reverts commit 4dca50fafa.

Conflicts:
	docs/development.rst
2015-10-07 10:12:56 -04:00
Antoine Beaupré a49029db13 s/look/find/ 2015-10-07 10:08:00 -04:00
Antoine Beaupré ebe2e397f7 -them 2015-10-07 10:01:12 -04:00
Antoine Beaupré 74338f8a82 update where twitter is 2015-10-07 09:59:30 -04:00
Antoine Beaupré d375a69689 fix rst formatting warnings 2015-10-07 09:54:40 -04:00
Antoine Beaupré 4dca50fafa new proposal: formal release notes
this integrates the ideas in #214 to have a small checklist of things to send in the announcements on the mailing list and on the github release
2015-10-07 09:48:52 -04:00
Antoine Beaupré 2259bc050c more reshuffling of release docs
mention that binaries should be signed
clarify where release milestones
reword all steps to be executive
2015-10-07 09:48:52 -04:00
Antoine Beaupré ba0aeeb331 some fixes to the release engineering docs
link to the locations of different tools when I know them. i marked
the ones I don't know about specially so we can document those as
well.

point to the Github releases for the standalone binaries upload
2015-10-07 09:48:52 -04:00
Thomas Waldmann 04ac82d3e2 do binary releases via "github releases", closes #214 2015-10-07 15:41:17 +02:00
Thomas Waldmann 30bd38b51b update linux glibc requirement (binaries built on debian7 now) 2015-10-07 15:08:09 +02:00
Thomas Waldmann 6299f2d02c docs: pyinstaller 3.0 is released now
this or any later 3.x or git master checkout should work.
2015-10-07 03:42:08 +02:00
Thomas Waldmann 81423071d7 vagrant: llfuse install on darwin needs pkgconfig installed 2015-10-07 03:39:46 +02:00
Thomas Waldmann a4967ec582 ssh_cmd: fix wrong caller, fixes #255 2015-10-07 03:32:55 +02:00
Thomas Waldmann 190eed6bb9 Vagrant: check out pyinstaller code from master branch
they just recently released 3.0 and that is in master now
2015-10-06 23:28:56 +02:00
Thomas Waldmann 10db8c1d9b update CHANGES.rst 2015-10-06 22:57:33 +02:00
TW 7e4971145e Merge pull request #254 from ThomasWaldmann/remove-wheels
update website sidebar link also
2015-10-06 21:55:18 +02:00
Thomas Waldmann 28a85bf0aa update website sidebar link also 2015-10-06 21:53:20 +02:00
TW efa6a2c9a0 Merge pull request #253 from ThomasWaldmann/remove-wheels
remove docs about binary wheels, closes #147
2015-10-06 21:50:19 +02:00
Thomas Waldmann ee66c4c435 remove docs about binary wheels
we stop supporting them, because there are better alternatives:
- use a distribution package (from your linux distribution), if available
- use a pyinstaller binary provided by us (they include all you need in 1 file and
  thus have better compatibility properties and are easier to install than a wheel)
- install from source (pypi or git) if everything else fails
2015-10-06 21:49:21 +02:00
TW 8d529f9be2 Merge pull request #252 from ThomasWaldmann/fix-exc-msg
make sure to always give segment and offset in repo IntegrityError ex…
2015-10-06 21:06:59 +02:00
Thomas Waldmann 8ddc448f41 make sure to always give segment and offset in repo IntegrityError exception messages
this was only handled correctly at one place, by adding the segment number afterwards.
now the segment number is always included.
2015-10-06 20:35:22 +02:00
anarcat 7908c29180 Merge pull request #249 from anarcat/ssh-env
complete test coverage for SSH args parsing
2015-10-05 19:53:17 -04:00
Antoine Beaupré a7b70d87cd complete test coverage for SSH args parsing 2015-10-05 19:22:33 -04:00
TW 745f9b89f8 Merge pull request #247 from anarcat/xdg
respect XDG_CACHE_HOME
2015-10-06 01:20:48 +02:00
TW 974dd58c23 Merge pull request #248 from anarcat/ssh-env
add support for arbitrary SSH commands
2015-10-06 01:20:23 +02:00
Antoine Beaupré 8f0de2cab7 fix tests on travis, which seem to set BORG_CACHE_DIR 2015-10-05 19:05:27 -04:00
Antoine Beaupré a0ef4e25dd add support for arbitrary SSH commands (attic#99)
while SSH options can be specified through `~/.ssh/config`, some users
may want to use a completely different SSH command for their backups,
without overriding their $PATH variable. it may also be easier to do
ad-hoc configuration and tests that way.

plus, the POLA tells us that users expects something like this to be
supported by commands that talk to ssh. it is supported by rsync, git
and so on.
2015-10-05 18:54:00 -04:00
Antoine Beaupré 43a65933f7 move ssh generation code to a stub, add unit test 2015-10-05 18:51:20 -04:00
Antoine Beaupré de2a811606 move RemoteRepository defaults to the class
the reasoning behind this is that we may need to test a
RemoteRepository setup outside of the main archiver routines, which
the current default location makes impossible

by moving the umask and remote_path remotes into the RemoteRepository
the (reasonable) defaults are available regardless of the (currently
obscure) initialisation routine, and make unit tests easier to develop
and support
2015-10-05 18:45:57 -04:00
TW 934f18f447 Merge pull request #246 from ThomasWaldmann/lock-roster-fix
do not crash on empty lock.roster, fixes #232
2015-10-06 00:14:31 +02:00
Antoine Beaupré 427ddd64a6 respect XDG_CACHE_HOME
fixes attic#181
2015-10-05 17:50:46 -04:00
Thomas Waldmann c50f32426b do not crash on empty lock.roster, fixes #232 2015-10-05 23:23:59 +02:00
Thomas Waldmann 6f637bed2f LoggedIO: deduplicated code, improved checks and error handling in read()
Code shared by read() and iter_objects() was moved into _read().

Compared to read()'s previous state, this improved:
- fixed size check to avoid read with negative size
- exception handler for struct unpack
- checking for short read
- more precise exception messages
2015-10-05 02:27:24 +02:00
TW 4474db31d4 Merge pull request #242 from ThomasWaldmann/delete-cache-only
implement borg delete --cache-only repo, attic #123
2015-10-03 19:46:51 +02:00
Thomas Waldmann 51dc66d05f implement borg delete --cache-only repo, attic #123
it deletes just the local cache for the given repository, not the repo itself.
2015-10-03 19:29:45 +02:00
TW adac324b6c Merge pull request #240 from ThomasWaldmann/cache-config-check
fix multiple issues with the cache config version check, fixes #234
2015-10-03 19:19:22 +02:00
TW 23bfe4d1bc Merge pull request #238 from ThomasWaldmann/index-archive-optional
temporary hack to avoid using lots of disk space for chunks.archive.d
2015-10-03 19:12:52 +02:00
TW 1207e1a4fa Merge pull request #231 from anarcat/attic-converter
attic to borg one time converter
2015-10-03 19:05:39 +02:00
Antoine Beaupré 5409cbaa67 also copy files cache verbatim
it seems the file cache does *not* have the ATTIC magic header (nor
does it have one in borg), so we don't need to edit the file - we just
copy it like a regular file.

while i'm here, simplify the cache conversion loop: it's no use
splitting the copy and the edition since the latter is so fast, just
do everything in one loop, which makes it much easier to read.
2015-10-03 12:56:03 -04:00
Antoine Beaupré fded2219a8 mention borg delete borg
this makes it clear how to start from scratch, in case the chunk cache
was failed to be copied and so on.
2015-10-03 12:46:23 -04:00
Antoine Beaupré c91c5d0029 rename convert command to upgrade
convert is too generic for the Attic conversion: we may have other
converters, from other, more foreign systems that will require
different options and different upgrade mechanisms that convert could
never cover appropriately. we are more likely to use an approach
similar to "git fast-import" instead here, and have the conversion
tools be external tool that feed standard data into borg during
conversion.

upgrade seems like a more natural fit: Attic could be considered like
a pre-historic version of Borg that requires invasive changes for borg
to be able to use the repository. we may require such changes in the
future of borg as well: if we make backwards-incompatible changes to
the repository layout or data format, it is possible that we require
such changes to be performed on the repository before it is usable
again. instead of scattering those conversions all over the code, we
should simply have assertions that check the layout is correct and
point the user to upgrade if it is not.

upgrade should eventually automatically detect the repository format
or version and perform appropriate conversions. Attic is only the
first one. we still need to implement an adequate API for
auto-detection and upgrade, only the seeds of that are present for now.

of course, changes to the upgrade command should be thoroughly
documented in the release notes and an eventual upgrade manual.
2015-10-03 12:36:52 -04:00
Antoine Beaupré 48b7c8cea3 avoid checking for non-existent files
if there's no attic cache, it's no use checking for individual files

this also makes the code a little clearer

also added comments
2015-10-03 11:52:12 -04:00
Antoine Beaupré 690541264e style fixes (pep8, append, file builtin) 2015-10-03 11:49:01 -04:00
Antoine Beaupré 3773681f00 rewire cache copy mechanisms
we separate the conversion and the copy in order to be able to copy
arbitrary files from attic without converting them. this allows us to
copy the config file cleanly without attempting to rewrite its magic
number
2015-10-03 11:07:38 -04:00
Antoine Beaupré 2c66e7c233 make percentage a real percentage 2015-10-03 10:49:29 -04:00