summaryrefslogtreecommitdiff
path: root/extra/amule
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-06-05 00:33:46 -0700
committerroot <root@rshg054.dnsready.net>2013-06-05 00:33:46 -0700
commit91d3f2ebc9b69c3e24bd507890afbb4bd3f4eea3 (patch)
treea34b437b45b5977131ce84f74ac379d56dbba0c7 /extra/amule
parentcc57cb201ddb179d2bb481c13dd4f286ae643b12 (diff)
Wed Jun 5 00:33:46 PDT 2013
Diffstat (limited to 'extra/amule')
-rw-r--r--extra/amule/PKGBUILD21
-rw-r--r--extra/amule/amule.install34
-rw-r--r--extra/amule/amuled.systemd11
-rw-r--r--extra/amule/amuleweb.systemd13
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