[Dev] [PATCH] pacman-4.2.1-2.parabola2: convert cron job to systemd timer
Daniel Milewski
niitotantei at riseup.net
Wed Jul 29 15:41:43 GMT 2015
cronie dependency introduced with pacman-4.2.1-2.parabola1 makes it
impossible to use other cron implementations. This week I saw a user on
#parabola which couldn't update his system because cronie conflicts
with cron. Instead of imposing a specific cron implementation I think
it'd be better to use a systemd timer. Timers are already used by other
packages like logrotate and man-db.
---
libre/pacman/PKGBUILD | 14 +++++++++-----
libre/pacman/pacman-keyring.service | 6 ++++++
libre/pacman/pacman-keyring.timer | 11 +++++++++++
libre/pacman/refresh-pacman-keys | 3 ---
4 files changed, 26 insertions(+), 8 deletions(-)
create mode 100644 libre/pacman/pacman-keyring.service
create mode 100644 libre/pacman/pacman-keyring.timer
delete mode 100644 libre/pacman/refresh-pacman-keys
diff --git a/libre/pacman/PKGBUILD b/libre/pacman/PKGBUILD
index 4fba510..c4cf748 100644
--- a/libre/pacman/PKGBUILD
+++ b/libre/pacman/PKGBUILD
@@ -6,10 +6,11 @@
# Contributor: Márcio Silva <coadde at parabola.nu>
# Contributor: Nicolás Reynolds <fauno at kiwwwi.com.ar>
# Contributor: Luke Shumaker <lukeshu at sbcglobal.net>
+# Contributor: Daniel Milewski <niitotantei at riseup.net>
pkgname=pacman
pkgver=4.2.1
-pkgrel=2.parabola1
+pkgrel=2.parabola2
pkgdesc="A library-based package manager with dependency support"
arch=('i686' 'x86_64')
url="http://www.archlinux.org/pacman/"
@@ -17,7 +18,7 @@ license=('GPL')
groups=('base' 'base-devel')
depends=('bash' 'glibc' 'libarchive>=3.1.2' 'curl>=7.39.0'
'gpgme' 'pacman-mirrorlist' 'archlinux-keyring'
- 'parabola-keyring' 'ca-certificates-cacert' 'cronie')
+ 'parabola-keyring' 'ca-certificates-cacert')
makedepends=('asciidoc') # roundup patch alters docs
checkdepends=('python2' 'fakechroot')
provides=("$pkgname-contrib")
@@ -29,7 +30,8 @@ source=(https://sources.archlinux.org/other/pacman/$pkgname-$pkgver.tar.gz{,.sig
ensure-matching-database-and-package-version.patch
$pkgname.conf.{i686,x86_64}
makepkg.conf
- refresh-$pkgname-keys
+ $pkgname-keyring.service
+ $pkgname-keyring.timer
makepkg-pkgrel-4.patch)
md5sums=('2a596fc8f723e99660c0869a74afcf47'
'SKIP'
@@ -37,7 +39,8 @@ md5sums=('2a596fc8f723e99660c0869a74afcf47'
'9c1454e48b2216b23f931e04d6dab1ee'
'7279d086428df483fd60c33f7c88cf3e'
'ce525a9af50f1d9b824806d2e5a4f0c8'
- '093f0779ac55ae781ba028ad74b95f84'
+ '11a5fac02651041e44d65d66c3538030'
+ '7fb448e0d2b5b22da5ddc0040378efb0'
'0ee98dc38ff80ba127772f5104e18e46')
validpgpkeys=('6645B0A8C7005E78DB1D7864F99FFE0FEAE999BD') # Allan McRae <allan at archlinux.org>
@@ -108,5 +111,6 @@ package() {
install -Dm644 contrib/PKGBUILD.vim "$pkgdir/usr/share/vim/vimfiles/syntax/PKGBUILD.vim"
- install -Dm755 "$srcdir/refresh-pacman-keys" "$pkgdir/etc/cron.weekly/refresh-pacman-keys"
+ install -Dm644 "$srcdir/pacman-keyring.service" "$pkgdir/usr/lib/systemd/system/pacman-keyring.service"
+ install -Dm644 "$srcdir/pacman-keyring.timer" "$pkgdir/usr/lib/systemd/system/pacman-keyring.timer"
}
diff --git a/libre/pacman/pacman-keyring.service b/libre/pacman/pacman-keyring.service
new file mode 100644
index 0000000..e090734
--- /dev/null
+++ b/libre/pacman/pacman-keyring.service
@@ -0,0 +1,6 @@
+[Unit]
+Description=Refresh pacman keyring
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/pacman-key --refresh-keys
diff --git a/libre/pacman/pacman-keyring.timer b/libre/pacman/pacman-keyring.timer
new file mode 100644
index 0000000..137ef7c
--- /dev/null
+++ b/libre/pacman/pacman-keyring.timer
@@ -0,0 +1,11 @@
+[Unit]
+Description=Refresh pacman keyring once a week
+Documentation=man:pacman-key
+
+[Timer]
+OnCalendar=weekly
+AccuracySec=1h
+Persistent=true
+
+[Install]
+WantedBy=multi-user.target
diff --git a/libre/pacman/refresh-pacman-keys b/libre/pacman/refresh-pacman-keys
deleted file mode 100644
index e96dc34..0000000
--- a/libre/pacman/refresh-pacman-keys
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/bash
-
-pacman-key --refresh-keys
--
Daniel Milewski
GPG key ID: 8D43A4A1
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <https://lists.parabola.nu/pipermail/dev/attachments/20150729/c6126067/attachment.sig>
More information about the Dev
mailing list