summarylogtreecommitdiffstats
path: root/teamspeak3-install-addon
blob: f0f388e308be83cf55676439e03d7811f75ef19b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#!/usr/bin/env bash

set -o errexit

REL=1
URL=$1

if [[ -z "$URL" || "$URL" == "-h" ]] ; then
  echo "Usage: teamspeak3-install-addon [URL] (url is the download link)"
  if [[ "$URL" == "-h" ]] ; then exit ; fi
  exit 1
fi

TMPDIR="$(mktemp -d --suffix=-teamspeak3-install-addon)"

cd "$TMPDIR"
echo "Using temporary directory $TMPDIR"
curl -L -o addon.zip "$URL"
unzip -d addon addon.zip

ADDONDIR="$(dirname "$(cd addon; find . -name package.ini)")"
SETTINGSINI="$(cd addon; find . -name settings.ini)"

TYPE="$(< "addon/$ADDONDIR/package.ini" grep '^Type *='|cut -d= -f2|sed 's/ //g'|tr "[:upper:]" "[:lower:]"|tr ' ' -|tr ',' '+'|tr -d '"'|tr -d '\r\n')"
if [[ -z "$TYPE" ]] ; then if < "addon/$SETTINGSINI" grep '\[soundfiles\]' >/dev/null ; then TYPE="soundpack" ; fi ; fi
VERSION="$(< "addon/$ADDONDIR/package.ini" grep -i '^Version *='|cut -d= -f2|tr -d '"'|tr -d ' \r\n')"
if [[ -z "$VERSION" ]] ; then VERSION="$(< "addon/$SETTINGSINI" grep -i '^version *='|cut -d= -f2|tr -d ' \r\n')" ; fi
NAME="$(< "addon/$ADDONDIR/package.ini" grep -i '^Name *='|cut -d= -f2|sed 's/^ //g'|tr -d '"'|tr -d '\r\n')"
if [[ -z "$NAME" ]] ; then NAME="$(< "addon/$SETTINGSINI" grep -i '^name *='|cut -d= -f2|tr -d ' \r\n')" ; fi
PKGNAME="teamspeak3-addon-$TYPE-$(echo "$NAME"|tr "[:upper:]" "[:lower:]"|tr ' ' -|tr -d '\r\n')"

CP_CMD="cp -R \"$ADDONDIR\" \"\$pkgdir/opt/teamspeak3\""
if [[ "$TYPE" == 'soundpack' && ! -d 'addon/sound' ]] ; then
  CP_CMD="mkdir \"\$pkgdir/opt/teamspeak3/sound\"; cp -R \"$(dirname "$SETTINGSINI")\" \"\$pkgdir/opt/teamspeak3/sound\""
fi

mkdir "$PKGNAME"
mv addon.zip "$PKGNAME"
cd "$PKGNAME"

> PKGBUILD cat <<PKGBUILD_END
# Maintainer: You
pkgname='$PKGNAME'
pkgver='$VERSION'
pkgrel=$REL
pkgdesc='An addon for Teamspeak 3 - $TYPE: $NAME'
arch=('any')
url='http://addons.teamspeak.com'
license=('Unknown')
depends=('teamspeak3')
source=('addon.zip::$URL')
sha1sums=('UNUSED')

package() {
  cd -- "\$srcdir"
  mkdir -p -- "\$pkgdir/opt/teamspeak3"
  rm "$ADDONDIR/package.ini"
  rm addon.zip
  find "$ADDONDIR" -type f -exec chmod a-x {} \+
  $CP_CMD
}
PKGBUILD_END

updpkgsums

makepkg -S
echo
echo "Feel free to submit this package to AUR"
echo "$TMPDIR/$PKGNAME"
echo
echo "Building binary package"
echo
makepkg
echo
echo "Installing package"
sudo pacman -U "$PKGNAME-$VERSION-$REL-any.pkg.tar.zst"