* Before, doing `$ PREFIX=/usr/local make install` would install files to`/usr/local/usr/local..` which is wrong * With this PR, files will be installed to the expected location e.g. `/usr/local/etc/restic` * `Makefile` almost completely rewritten * As e.g. `default.env` would source `_global.env`, `default.env` must be edited to find the right location of `_global.env` depending on what `$PREFIX` was set to. * see documented build stages in the `Makefile` itself. * Made sure that the rules are correct so that only modifed files are installed, not all at once unnecessarily like before. * A sub-goal was that the [PKGBUILD](https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=restic-systemd-automatic-backup#n20) for Arch should not need to do any custom install configuration, to keep everything easier to maintain. `$ make install` should work out of the box for Arch. * Additionally added the `-b` flag to `install(1)` that makes a backup of existing `etc/restic/*` files before installing a newer version. Fixes #49
4.3 KiB
4.3 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Added
resticwwrapper for working with different profiles without the need to source the profiles first.$make installwill now make a timestamped backup of any existing/etc/restic/*files before installing a newer version.
Changed
- BREAKING CHANGE moved systemd installation with makefile from
/etc/systemd/systemto/usr/lib/systemd/systemas this is what packages should do. This is to be able to simplify the arch PKGBUILD so that it does not need to do anything else thanmake install.- If you upgrade form an existing install, you should disable and then re-enable the timer, so that the symlink is pointing to the new location of the timer.
# systemctl disable restic-backup@<profile>.timer # systemctl enable restic-backup@<profile>.timer - BREAKING CHANGE moved script installation with makefile from
/usr/local/sbinto/sbinto have a simpler interface to work with$PREFIX.
Fixed
- Installation with custom
PREFIXnow works properly with Make:$ PREFIX=/usr/local make installwhill now install everything at the expected location. With this, it's easy to use this script as non-root user on e.g. an macOS system.
[4.0.0] - 2022-02-01
Fixed
- Use arrays to build up command lines. When fixing
shellcheck(1)errors, quotes would disable expansion on e.g. $RESTIC_BACKUP_PATHS- BREAKING CHANGE
RESTIC_BACKUP_PATHSis now a string with:separated values
- BREAKING CHANGE
[3.0.1] - 2022-02-01
Fixed
- Environment variable assertion should allow empty values e.g.
RESTIC_BACKUP_EXTRA_ARGS
[3.0.0] - 2022-02-01
Added
- Allow extra arguments to restic-backup with
$RESTIC_BACKUP_EXTRA_ARGS. - Add
$RESTIC_VERBOSITY_LEVELfor debugging. - Assertion on all needed environment variables in the backup and check scripts.
- Added linter (
shellcheck(1)) that is run on push and PRs.
Changed
- BREAKING CHANGE renamed
/etc/restic/backup_excludeto/etc/restic/backup_exclude.txt<backup-dest>/.backup_excludeto<backup-dest>/.backup_exclude.txt.
- BREAKING CHANGE renamed envvars for consistency
BACKUP_PATHS->RESTIC_BACKUP_PATHSBACKUP_TAG->RESTIC_BACKUP_TAGRETENTION_DAYS->RESTIC_RETENTION_DAYSRETENTION_WEEKS->RESTIC_RETENTION_WEEKSRETENTION_MONTHS->RESTIC_RETENTION_MONTHSRETENTION_YEARS->RESTIC_RETENTION_YEARS
- Align terminology used in README with the one used by B2 for credentials (keyId + applicationKey pair).
[2.0.0] - 2022-02-01
Changed
- BREAKING CHANGE #45: multiple backup profiles are now supported. Please backup your configuration before upgrading. The setup of configuration files are now laied out differently. See the README.md TL;DR setup section.
restic_backup.shhas had variables extracted to profiles instead, to allow for configuration of different backups on the same system.b2_env.shis split to two files_global.envanddefault.env(the default profile)._global.envwill have B2 accountID and accountKey anddefault.envhas backup paths, and retention.b2_pw.shrenamed to pw.txt
Fixed
restic_backup.shnow finds.backup_excludefiles on each backup path as intended.- Install executeables to
$PREFIX/sbininstead of$PREFIX/user/local/sbin, so that$ PREFIX=/usr/local make installdoes what is expected.
[1.0.1] - 2021-12-03
Fixed
- $(make install) now works for the *.template files (#40)
[1.0.0] - 2021-12-02
It's time to call this a proper major version!
Added
uninstalltarget forMakefile- Add
--prunetorestic-forget - README badges and updates.
Fixed
backup_excludedestination- Conflicts for restic-check service
[0.1.0] - 2019-07-23
- First tagged version to allow Arch's AUR to download a tarball archive to install.