diff options
Diffstat (limited to 'extra/amule')
-rw-r--r-- | extra/amule/PKGBUILD | 21 | ||||
-rw-r--r-- | extra/amule/amule.install | 34 | ||||
-rw-r--r-- | extra/amule/amuled.systemd | 11 | ||||
-rw-r--r-- | extra/amule/amuleweb.systemd | 13 |
4 files changed, 73 insertions, 6 deletions
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 <giovanni@archlinux.org> # Contributor: Henrik Ronellenfitsch <searinox@web.de> # Contributor: Alessio Sergi <sergi.alessio {at} gmail.com> # Contributor: Dario 'Dax' Vilardi <dax [at] deelab [dot] org> +# Contributor: Anatol Pomozov <anatol@google.com> 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 |