summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorrespiranto2015-08-10 00:26:25 +0200
committerrespiranto2015-08-10 00:26:25 +0200
commit470f07e5251fce5c1ad2adab7204ccc01d19df8a (patch)
tree5436c98cfa8aac8d05a504cd158c60c62e6648f8
parent965186931ec2a488b680d2429acb2084ebe206af (diff)
downloadaur-470f07e5251fce5c1ad2adab7204ccc01d19df8a.tar.gz
Improved the .install file and made dictd optional
- automated dictd configuration - notification if dictd is not installed - (re-)start dictd upon first install - restart dictd after each upgrade if it was running
-rw-r--r--.SRCINFO5
-rw-r--r--PKGBUILD9
-rw-r--r--dict-freedict-deu-eng.install72
3 files changed, 76 insertions, 10 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 0a18e41f5623..55a3e127d020 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,12 +1,13 @@
pkgbase = dict-freedict-deu-eng
pkgdesc = German -> English dictionary for dictd from Freedict.org
pkgver = 0.3.4
- pkgrel = 1
+ pkgrel = 2
url = http://www.freedict.org/
install = dict-freedict-deu-eng.install
arch = any
license = GPL
- depends = dictd
+ makedepends = dictd
+ optdepends = dictd: dict client and server
source = http://sourceforge.net/projects/freedict/files/German%20-%20English/0.3.4/freedict-deu-eng-0.3.4.tar.bz2
md5sums = 476f304c0b6c0901e67b05daf8bc215e
diff --git a/PKGBUILD b/PKGBUILD
index 1babf858e085..f63a0bd64434 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,14 +1,15 @@
-# Contributor: akane <grangerspit@gmail.com> <xmpp:heiß@neko.im>
# Maintainer: respiranto <respiranto@icloud.com>
+# Contributor: akane <grangerspit@gmail.com> <xmpp:heiß@neko.im>
pkgname=dict-freedict-deu-eng
pkgver=0.3.4
-pkgrel=1
+pkgrel=2
pkgdesc="German -> English dictionary for dictd from Freedict.org"
arch=('any')
url="http://www.freedict.org/"
license=('GPL')
-depends=(dictd)
-install=dict-freedict-deu-eng.install
+optdepends=('dictd: dict client and server')
+makedepends=('dictd')
+install=$pkgname.install
source=("http://sourceforge.net/projects/freedict/files/German%20-%20English/$pkgver/freedict-deu-eng-$pkgver.tar.bz2")
md5sums=('476f304c0b6c0901e67b05daf8bc215e')
diff --git a/dict-freedict-deu-eng.install b/dict-freedict-deu-eng.install
index cf923dd12079..fb4aa6a13130 100644
--- a/dict-freedict-deu-eng.install
+++ b/dict-freedict-deu-eng.install
@@ -1,7 +1,71 @@
+pkgname=dict-freedict-deu-eng
+basename=deu-eng
+dictd_conf=/etc/dict/dictd.conf
+datadir=/usr/share/dictd
+conf="database $basename {
+ data $datadir/$basename.dict.dz
+ index $datadir/$basename.index
+}"
+
post_install()
{
- echo -e "\nYou have to configure dictd to use the new dictionary" \
- "database located in /usr/share/dictd/ manually" \
- "and restart the dictd service afterwards.\n\n" \
- "See also dictd(8).\n"
+ echo
+ if pacman -Qq dictd > /dev/null 2>&1
+ then
+ if grep -q "^database *$basename" "$dictd_conf"
+ then
+ echo "$pkgname already configured in $dictd_conf"
+ else
+ echo "Adding configuration for $pkgname to $dictd_conf"
+ echo -e "$conf" >> "$dictd_conf"
+ fi
+
+ if systemctl -q is-active dictd.service
+ then
+ echo "Restarting dictd service in order to" \
+ "use the new dictionary database"
+ systemctl restart dictd.service
+ else
+ echo "Starting dictd service in order to" \
+ "use the new dictionary database"
+ systemctl start dictd.service
+ fi
+ else
+ echo "dictd does not appear to be installed."
+ echo "In order to use this database you should either" \
+ "install dictd or alternatively" \
+ "another dict server and configure it on your own."
+ fi
+ echo
+}
+
+post_upgrade()
+{
+ if pacman -Qq dictd > /dev/null 2>&1 && \
+ systemctl -q is-active dictd.service
+ then
+ echo -e "\nRestarting dictd service in order to" \
+ "use the updated dictionary database"
+ systemctl restart dictd.service
+ fi
+}
+
+post_remove()
+{
+ if pacman -Qq dictd > /dev/null 2>&1
+ then
+ current_conf="$(grep -A 3 "^database *$basename" "$dictd_conf")"
+ if test -n "$current_conf"
+ then
+ echo
+ if test "$current_conf" = "$conf"
+ then
+ echo "Removing configuration for $pkgname from $dictd_conf"
+ sed -i "/database $basename {/,/}/d" "$dictd_conf"
+ else
+ echo "User created / modified configuration" \
+ "for $pkgname in $dictd_conf is left untouched."
+ fi
+ fi
+ fi
}