diff options
-rw-r--r-- | .SRCINFO | 18 | ||||
-rw-r--r-- | PKGBUILD | 48 | ||||
-rw-r--r-- | calcardbackup.service | 8 | ||||
-rw-r--r-- | calcardbackup.timer | 11 |
4 files changed, 85 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..2b4176987e2a --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,18 @@ +pkgbase = calcardbackup + pkgdesc = Bash script to backup calendars and addressbooks from a local Nextcloud installation + pkgver = 3.0.0 + pkgrel = 1 + url = https://codeberg.org/BernieO/calcardbackup + arch = any + license = AGPL3 + depends = nextcloud + optdepends = zip: for zip compression instead of tar.gz + backup = etc/calcardbackup/calcardbackup.conf + source = https://codeberg.org/BernieO/calcardbackup/archive/v3.0.0.tar.gz + source = calcardbackup.service + source = calcardbackup.timer + sha256sums = 863d9cc1e2124158589776809e6862f57f864fa403f57d4b75d276c09ec4a30f + sha256sums = 2288a3c62b736c322e23c36ca3d7c07dd849e716a372e80662b86b6c4c1e5a4b + sha256sums = f7769992870000fe550da0c95d918fa6c30f852b7c95064ec0851a7f941eb2a9 + +pkgname = calcardbackup diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..9e29ec04447f --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,48 @@ +# Maintainer: Gunnar Bretthauer <taijian@posteo.de> + +pkgname=calcardbackup +pkgver=3.0.0 +pkgrel=1 +pkgdesc="Bash script to backup calendars and addressbooks from a local Nextcloud installation" +arch=('any') +license=('AGPL3') +url="https://codeberg.org/BernieO/${pkgname}" +depends=('nextcloud') +makedepends=() +optdepends=('zip: for zip compression instead of tar.gz') +backup=(etc/${pkgname}/${pkgname}.conf) +source=("https://codeberg.org/BernieO/${pkgname}/archive/v${pkgver}.tar.gz" + ${pkgname}.service + ${pkgname}.timer) +sha256sums=('863d9cc1e2124158589776809e6862f57f864fa403f57d4b75d276c09ec4a30f' + '2288a3c62b736c322e23c36ca3d7c07dd849e716a372e80662b86b6c4c1e5a4b' + 'f7769992870000fe550da0c95d918fa6c30f852b7c95064ec0851a7f941eb2a9') + +prepare() { + # replace default Nextcloud path in config file + sed -i '/nextcloud_path/s/nginx\/www/webapps\/nextcloud/' $srcdir/$pkgname/examples/${pkgname}.conf.example + # point default backup location to default Nextcloud data dir + sed -i '/backupfolder/s/backups/\/var\/lib\/nextcloud\/data\/.calcardbackup/' $srcdir/$pkgname/examples/${pkgname}.conf.example +} + +package() { + cd "$srcdir/${pkgname}" + + # install the shell script + install -Dm755 ./${pkgname} "${pkgdir}/usr/bin/${pkgname}" + + # install systemd files + install -Dm644 $srcdir/${pkgname}.service "${pkgdir}/usr/lib/systemd/system/${pkgname}.service" + install -Dm644 $srcdir/${pkgname}.timer "${pkgdir}/usr/lib/systemd/system/${pkgname}.timer" + + # copy the readmes + install -Dm644 ./README.md "${pkgdir}/usr/share/doc/${pkgname}/readme.txt" + install -Dm644 ./README_GER.md "${pkgdir}/usr/share/doc/${pkgname}/readme_de.txt" + install -Dm644 ./changelog.md "${pkgdir}/usr/share/doc/${pkgname}/changelog.txt" + install -Dm644 examples/users.txt.example "${pkgdir}/usr/share/doc/${pkgname}/users.txt.example" + install -Dm644 examples/${pkgname}.conf.example "${pkgdir}/usr/share/doc/${pkgname}/${pkgname}.conf.example" + + # copy example config to /etc/${pkgname} + install -Dm644 examples/${pkgname}.conf.example "${pkgdir}/etc/${pkgname}/${pkgname}.conf" +} + diff --git a/calcardbackup.service b/calcardbackup.service new file mode 100644 index 000000000000..ff3321636f04 --- /dev/null +++ b/calcardbackup.service @@ -0,0 +1,8 @@ +[Unit] +Description=weekly backup of nextcloud databases + +[Service] +ExecStart=/usr/bin/calcardbackup -c /etc/calcardbackup/calcardbackup.conf +Type=oneshot +ProtectSystem=full +ProtectHome=true diff --git a/calcardbackup.timer b/calcardbackup.timer new file mode 100644 index 000000000000..bec170e2a0ef --- /dev/null +++ b/calcardbackup.timer @@ -0,0 +1,11 @@ +[Unit] +Description=weekly backup of nextcloud databases +After=mariadb.service + +[Timer] +OnCalendar=monday 03:00 +Persistent=true +Unit=calcardbackup.service + +[Install] +WantedBy=timers.target |