diff options
author | respiranto | 2015-08-10 00:26:25 +0200 |
---|---|---|
committer | respiranto | 2015-08-10 00:26:25 +0200 |
commit | 470f07e5251fce5c1ad2adab7204ccc01d19df8a (patch) | |
tree | 5436c98cfa8aac8d05a504cd158c60c62e6648f8 | |
parent | 965186931ec2a488b680d2429acb2084ebe206af (diff) | |
download | aur-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-- | .SRCINFO | 5 | ||||
-rw-r--r-- | PKGBUILD | 9 | ||||
-rw-r--r-- | dict-freedict-deu-eng.install | 72 |
3 files changed, 76 insertions, 10 deletions
@@ -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 @@ -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 } |