From 91d3f2ebc9b69c3e24bd507890afbb4bd3f4eea3 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 5 Jun 2013 00:33:46 -0700 Subject: Wed Jun 5 00:33:46 PDT 2013 --- extra/amule/PKGBUILD | 21 +++++++++++++++------ extra/amule/amule.install | 34 ++++++++++++++++++++++++++++++++++ extra/amule/amuled.systemd | 11 +++++++++++ extra/amule/amuleweb.systemd | 13 +++++++++++++ 4 files changed, 73 insertions(+), 6 deletions(-) create mode 100644 extra/amule/amule.install create mode 100644 extra/amule/amuled.systemd create mode 100644 extra/amule/amuleweb.systemd (limited to 'extra/amule') diff --git a/extra/amule/PKGBUILD b/extra/amule/PKGBUILD index d68ded83b..fc02817fe 100644 --- a/extra/amule/PKGBUILD +++ b/extra/amule/PKGBUILD @@ -1,19 +1,25 @@ -# $Id: PKGBUILD 184360 2013-05-06 19:36:35Z foutrelis $ +# $Id: PKGBUILD 187176 2013-06-04 19:44:11Z giovanni $ # Maintainer: Giovanni Scafora # Contributor: Henrik Ronellenfitsch # Contributor: Alessio Sergi # Contributor: Dario 'Dax' Vilardi +# Contributor: Anatol Pomozov pkgname=amule -pkgver=10802 -pkgrel=2 +pkgver=10803 +pkgrel=1 pkgdesc="An eMule-like client for ed2k p2p network" arch=('i686' 'x86_64') url="http://www.amule.org" license=('GPL') depends=('wxgtk' 'gd' 'geoip' 'libupnp' 'crypto++') -source=("http://amule.sourceforge.net/tarballs/aMule-SVN-r${pkgver}.tar.bz2") -md5sums=('46bbfbfba0af431b6baa0c30bd35600c') +install=amule.install +source=("http://amule.sourceforge.net/tarballs/aMule-SVN-r${pkgver}.tar.bz2" + 'amuled.systemd' + 'amuleweb.systemd') +md5sums=('febf14f5b1185f25acde64f61b78ed38' + '59772c41860e238f1c822feb8ca8d47f' + '05975c5d94bfc41fddb894d98b1115d5') build() { cd "${srcdir}/aMule-SVN-r${pkgver}" @@ -40,5 +46,8 @@ build() { package() { cd "${srcdir}/aMule-SVN-r${pkgver}" - make DESTDIR=${pkgdir}/ install + make DESTDIR=${pkgdir} install + + install -D -m644 "${srcdir}/amuled.systemd" "${pkgdir}/usr/lib/systemd/system/amuled.service" + install -D -m644 "${srcdir}/amuleweb.systemd" "${pkgdir}/usr/lib/systemd/system/amuleweb.service" } diff --git a/extra/amule/amule.install b/extra/amule/amule.install new file mode 100644 index 000000000..397f68bf2 --- /dev/null +++ b/extra/amule/amule.install @@ -0,0 +1,34 @@ +post_install() { + post_upgrade + passwd -l amule &>/dev/null + + # Generate a random password for amuled<->amuleweb communication + ec_password=$(tr -cd '[:alnum:]' < /dev/urandom | fold -w30 | head -n1) + encripted_ec_password=$(echo -n $ec_password | md5sum | cut -d ' ' -f 1) + # Create a config file + sudo -u amule mkdir -p /var/lib/amule/.aMule + echo "[ExternalConnect] +AcceptExternalConnections=1 +ECPassword=$encripted_ec_password" > /var/lib/amule/.aMule/amule.conf + + sudo -u amule /usr/bin/amuleweb --write-config --password=$ec_password --admin-pass=amule + + echo "A new password for extarnal configuration is generated: $ec_password" + echo "Please follow https://wiki.archlinux.org/index.php/AMule how to setup" + echo "external connection (e.g. using amule-gui tool)." + echo "amuleweb can be started as 'systemctl start amuleweb'." + echo "Password for amuleweb: amule" +} + +post_upgrade() { + # create user/group that the daemon will run as by default, do not delete this on uninstall, as it will own files + getent group amule >/dev/null || groupadd amule + getent passwd amule >/dev/null || useradd -c 'aMule Client' -g amule -b '/var/lib' -m -s /bin/false amule +} + +post_remove(){ + /usr/bin/systemctl stop amuled.service amuleweb.service + + getent passwd amule >/dev/null && userdel amule + getent group amule >/dev/null && groupdel amule +} diff --git a/extra/amule/amuled.systemd b/extra/amule/amuled.systemd new file mode 100644 index 000000000..e1878dfd9 --- /dev/null +++ b/extra/amule/amuled.systemd @@ -0,0 +1,11 @@ +[Unit] +Description=aMule Daemon +After=network.target + +# This assumes that a user 'amule' exists, with a writeable home directory +[Service] +User=amule +ExecStart=/usr/bin/amuled + +[Install] +WantedBy=multi-user.target diff --git a/extra/amule/amuleweb.systemd b/extra/amule/amuleweb.systemd new file mode 100644 index 000000000..1799f4ae8 --- /dev/null +++ b/extra/amule/amuleweb.systemd @@ -0,0 +1,13 @@ +[Unit] +Description=aMule Webserver +Requires=amuled.service + +[Service] +User=amule +ExecStart=/usr/bin/amuleweb --quiet +# If amuled still starting then amuleweb exits, restart until amuleweb is up +Restart=on-success +RestartSec=3s + +[Install] +WantedBy=multi-user.target -- cgit v1.2.3-54-g00ecf