From 1a3e02b59348e881f9e8a7cd67c6301f6e0390d8 Mon Sep 17 00:00:00 2001 From: moparisthebest Date: Fri, 25 May 2018 22:37:27 -0400 Subject: [PATCH] Add atheme --- src/atheme/PKGBUILD | 87 +++++++++++++++++++++++++++++++++++++++ src/atheme/atheme.install | 20 +++++++++ src/atheme/atheme.service | 12 ++++++ 3 files changed, 119 insertions(+) create mode 100644 src/atheme/PKGBUILD create mode 100644 src/atheme/atheme.install create mode 100644 src/atheme/atheme.service diff --git a/src/atheme/PKGBUILD b/src/atheme/PKGBUILD new file mode 100644 index 0000000..99b97a9 --- /dev/null +++ b/src/atheme/PKGBUILD @@ -0,0 +1,87 @@ +# Original: Maxime Poulin +# Maintainer: Trevor Bergeron + +# Build options (yes/no/default) +_large_network=default +_pcre=default +_perl=default +_contrib=default +_cracklib=default +_ldap=no + +pkgname=atheme +pkgver=7.2.9 +pkgrel=1 +pkgdesc="IRC services" +arch=("i686" "x86_64") +url="http://www.atheme.org/atheme/" +license=('custom:ISC') +# qrencode seems to be optional at build time but with no easy way to disable +# it aside from uninstalling qrencode +depends=('qrencode') +conflicts=('libmowgli' 'xtheme' 'atheme-git') +optdepends=( + 'pcre: for pcre support' + 'perl: for Perl support' + 'cracklib: cracklib support in NickServ' + 'libldap: LDAP support' +) +backup=( + 'etc/atheme/atheme.conf' + 'etc/atheme/atheme.motd' +) +install=atheme.install +source=("https://github.com/atheme/atheme/releases/download/v${pkgver}/atheme-${pkgver}.tar.bz2" + "atheme.service" +) +sha256sums=('a87a046aa73fc4a97a11d41cc08c60b835135ba20bb173ca888b40e0d6b54b27' + 'ee9ad7658434451184872c21c7fd38196d22d1dfb6b1f37bcfaf8c363d50296f') + +build() { + cd "atheme-$pkgver" + + _configure="./configure --prefix=/usr --enable-fhs-paths" + _configure+=" --sysconfdir=/etc/atheme --localstatedir=/var" + + # By default, if you have libmowgli-2.so, it doesn't bother to build it. + # So it finds the version installed by atheme, doesn't build it, then when + # you install the new build, it's gone and atheme doesn't start. + # It's then absent from the system for the next build, so it's included. + # I can never get my saturday morning back. + _configure+=" --with-libmowgli=no" + + [[ $_large_network = yes ]] && _configure+=" --enable-large-net" + [[ $_contrib = yes ]] && _configure+=" --enable-contrib" + + [[ $_pcre = yes ]] && _configure+=" --with-pcre" + [[ $_pcre = no ]] && _configure+=" --without-pcre" + + + [[ $_pcre = yes ]] && _configure+=" --with-pcre" + [[ $_pcre = no ]] && _configure+=" --without-pcre" + + eval $_configure + make +} + +package() { + cd "atheme-$pkgver" + make DESTDIR="$pkgdir/" install + install -Dm0644 "$srcdir/atheme.service" "$pkgdir/usr/lib/systemd/system/atheme.service" + + cd "$pkgdir" + rm -r var + install -dm755 -o142 -g142 var/lib/atheme/ + + install -d usr/share/licenses/atheme/ + mv usr/share/doc/atheme/LICENSE usr/share/licenses/atheme/LICENSE + + chmod 0755 etc/atheme/ + chmod 0644 etc/atheme/* + install -dm755 usr/share/doc/atheme/config/ + mv etc/atheme/atheme.conf.example etc/atheme/atheme.conf + mv etc/atheme/atheme.conf.operserv-example usr/share/doc/atheme/config/ + mv etc/atheme/atheme.conf.userserv-example usr/share/doc/atheme/config/ + mv etc/atheme/atheme.motd.example etc/atheme/atheme.motd + rm etc/atheme/atheme.cron.example +} diff --git a/src/atheme/atheme.install b/src/atheme/atheme.install new file mode 100644 index 0000000..7000e05 --- /dev/null +++ b/src/atheme/atheme.install @@ -0,0 +1,20 @@ +create_user() { + getent group atheme &>/dev/null \ + || groupadd -g 142 atheme + + getent passwd atheme &>/dev/null \ + || useradd atheme -u 142 -g 142 \ + -d /var/lib/atheme -s /bin/false +} + +post_install() { + create_user +} + +post_upgrade() { + create_user +} + +post_remove() { + getent passwd atheme &>/dev/null && userdel atheme +} diff --git a/src/atheme/atheme.service b/src/atheme/atheme.service new file mode 100644 index 0000000..2334559 --- /dev/null +++ b/src/atheme/atheme.service @@ -0,0 +1,12 @@ +[Unit] +Description=Atheme IRC services + +[Service] +Type=simple +User=atheme +Group=atheme +ExecStart=/usr/bin/atheme-services -n -p /var/lib/atheme/pid +Restart=always + +[Install] +WantedBy=network.target