diff options
author | Brian Bidulock | 2018-09-02 15:58:17 -0600 |
---|---|---|
committer | Brian Bidulock | 2018-09-02 15:58:17 -0600 |
commit | 95c77348632ad9714a418019100d045cdcdd965d (patch) | |
tree | 7693758f5f025deff38affe1cebe249a86115732 | |
parent | bbc78f5a9c6fcb6fbba05c9317f845408a6c72d4 (diff) | |
download | aur-95c77348632ad9714a418019100d045cdcdd965d.tar.gz |
add systemd files and better build
-rw-r--r-- | .SRCINFO | 11 | ||||
-rw-r--r-- | PKGBUILD | 33 | ||||
-rwxr-xr-x | csync2-rm-ssl-cert | 46 | ||||
-rw-r--r-- | csync2.socket | 7 | ||||
-rw-r--r-- | csync2@.service | 9 |
5 files changed, 95 insertions, 11 deletions
@@ -1,16 +1,25 @@ pkgbase = csync2 pkgdesc = Asynchronous cluster syncronisation tool based on librsync and inspired by Unison pkgver = 2.0 - pkgrel = 3 + pkgrel = 4 url = http://oss.linbit.com/csync2/ arch = i686 arch = x86_64 license = GPL + makedepends = texlive-latexextra + makedepends = sqlite + makedepends = git depends = librsync depends = gnutls optdepends = sqlite: for sqlite backend source = http://oss.linbit.com/csync2/csync2-2.0.tar.gz + source = csync2.socket + source = csync2@.service + source = csync2-rm-ssl-cert sha256sums = 11cb37380fb185bce0c22b804fec9b01c385d9d83cc528cfd48d748453834fa2 + sha256sums = ccb6ac225d2a4b490d47c87d835c1f2fb8caa5a21c46cf117cce0253c05c8eb1 + sha256sums = c51e1ca1b41e0204d73e036727f8122d2420e8b044ec50ae9fe8fc07a0712a43 + sha256sums = f63ccb9d5dd4da556eec7920aed21925d8809d4fb6c081b22e82cc87c617567f pkgname = csync2 @@ -1,17 +1,25 @@ -# Maintainer : gls < ghostlovescorebg at gmail dot com > +# vim:set ts=2 sw=2 et: +# Maintainer: Brian Bidulock <bidulock@openss7.org> +# Contributor : gls < ghostlovescorebg at gmail dot com > pkgname=csync2 pkgver=2.0 -pkgrel=3 +pkgrel=4 arch=('i686' 'x86_64') pkgdesc="Asynchronous cluster syncronisation tool based on librsync and inspired by Unison" url="http://oss.linbit.com/csync2/" license=('GPL') -makedepnds=('sqlite') +makedepends=('texlive-latexextra' 'sqlite' 'git') depends=('librsync' 'gnutls') optdepends=('sqlite: for sqlite backend') -source=(http://oss.linbit.com/csync2/${pkgname}-${pkgver}.tar.gz) -sha256sums=('11cb37380fb185bce0c22b804fec9b01c385d9d83cc528cfd48d748453834fa2') +source=("http://oss.linbit.com/csync2/${pkgname}-${pkgver}.tar.gz" + 'csync2.socket' + 'csync2@.service' + 'csync2-rm-ssl-cert') +sha256sums=('11cb37380fb185bce0c22b804fec9b01c385d9d83cc528cfd48d748453834fa2' + 'ccb6ac225d2a4b490d47c87d835c1f2fb8caa5a21c46cf117cce0253c05c8eb1' + 'c51e1ca1b41e0204d73e036727f8122d2420e8b044ec50ae9fe8fc07a0712a43' + 'f63ccb9d5dd4da556eec7920aed21925d8809d4fb6c081b22e82cc87c617567f') build() { cd ${pkgname}-${pkgver} @@ -20,15 +28,20 @@ build() { --prefix=/usr \ --bindir=/usr/bin \ --sbindir=/usr/bin \ - --sysconfdir=/etc \ + --sysconfdir=/etc/csync2 \ --localstatedir=/var - - make + make V=0 } package() { cd ${pkgname}-${pkgver} - make DESTDIR="${pkgdir}" install + make -j1 DESTDIR="${pkgdir}" install + install -Dm644 ../'csync2.socket' "$pkgdir/usr/lib/systemd/system/csync2.socket" + install -Dm644 ../'csync2@.service' "$pkgdir/usr/lib/systemd/system/csync2@.service" + install -Dm755 ../'csync2-rm-ssl-cert' "$pkgdir/usr/bin/csync2-rm-ssl-cert" + rm -fr "${pkgdir}"/var + install -Dm644 /dev/stdin "${pkgdir}"/usr/lib/tmpfiles.d/${_pkgname}.conf <<-END + d /var/lib/${_pkgname} 0755 root root - +END } -# vim:set ts=2 sw=2 et: diff --git a/csync2-rm-ssl-cert b/csync2-rm-ssl-cert new file mode 100755 index 000000000000..06a3809a5951 --- /dev/null +++ b/csync2-rm-ssl-cert @@ -0,0 +1,46 @@ +#!/bin/bash + +if [ $# -eq 0 -o "$1" = "-h" ]; then + cat <<END + +Remove a peer's SSL certificate from csync2's local database. Use this after +replacing a peer node (or regenerating its SSL certificate). + +Usage: $0 [-h] <hostname> + +Options: + -h Display this usage information + +END + exit 0 +fi + +DBFILE=/var/lib/csync2/$(hostname).db3 +if [ ! -f "$DBFILE" ]; then + echo "Local csync2 database ($DBFILE) not found." + exit 1 +fi + +# Strip double and single quotes from hostname so they can't interfere with the SQL +PEERNAME=$(echo $1 | sed -e "s/['\"]//g") + +certcount() +{ + echo "SELECT COUNT(peername) FROM x509_cert WHERE peername='$1';" | sqlite3 $DBFILE +} + +if [ $(certcount "$PEERNAME") -eq 0 ]; then + echo "Certificate for '$PEERNAME' not in local database." + exit 0 +fi + +echo "DELETE FROM x509_cert WHERE peername='$PEERNAME';" | sqlite3 $DBFILE + +if [ $(certcount "$PEERNAME") -ne 0 ]; then + echo "Error removing certificate for '$PEERNAME' from local database." + exit 1 +fi + +echo "Certificate for '$PEERNAME' removed from local database." + + diff --git a/csync2.socket b/csync2.socket new file mode 100644 index 000000000000..c314aa27b9ca --- /dev/null +++ b/csync2.socket @@ -0,0 +1,7 @@ +[Socket] +ListenStream=30865 +Accept=yes + +[Install] +WantedBy=sockets.target + diff --git a/csync2@.service b/csync2@.service new file mode 100644 index 000000000000..d2cc59653a33 --- /dev/null +++ b/csync2@.service @@ -0,0 +1,9 @@ +[Unit] +Description=Csync2 connection handler +After=syslog.target + +[Service] +ExecStart=-/usr/bin/csync2 -i -v +StandardInput=socket +StandardOutput=socket + |