summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 0d123d452db8c78c71798489edd70632975842de (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
77
78
79
80
81
# Maintainer: Anton Hvornum <anton.feeds+AUR@gmail.com>
_owner=Torxed
_name=slimdns
_dbuser_passwd=$(</dev/urandom tr -dc 'A-Za-z0-9!"#$%&()*+,-./:;<=>?@[\]^_`{|}~' | head -c 25  ; echo)
pkgname=$_name-git
pkgver=0.r17.67809b0
pkgrel=1
pkgdesc="A simple, light weight DNS server"
arch=('x86_64')
url="https://hvornum.se"
license=('custom:BSD' 'cc-by-nc-sa-3.0')
depends=('python-dnslib' 'postgresql')
makedepends=('python')
#optdepends=('')
provides=('slimdns-git' 'slimdns')
conflicts=('slimdns-git' 'slimdns')
source=("git+https://github.com/$_owner/$_name.git")
sha256sums=('SKIP')

pkgver() {
    cd $_name
    r=$(git log --pretty=oneline | cut -d' ' -f1 | wc -l)
    h=$(git rev-parse --short HEAD)
    printf v0.r$r.g$h
}

prepare() {
    cd $_name

    # Create the .service file.
    cat > slimDNS.service <<EOL
[Unit]
Description=$pkgdesc
Requires=postgresql
After=postgresql

[Service]
Type=simple
ExecStart=/usr/bin/slimDNS
EOL

    # Create the postgresql-user (if not exist)
    sudo -i -u postgres psql postgres -tAc "SELECT 1 FROM pg_roles WHERE rolname='slimdns'" | grep -q 1 || createuser -D -R -S slimdns; sudo -i -u postgres psql postgres -tAc "ALTER USER slimdns WITH PASSWORD '$_dbuser_passwd';"

    # And create the database if it doesn't excist
    sudo -i -u postgres psql postgres -tAc "SELECT 1 FROM pg_roles WHERE rolname='slimdns'" | grep -q 1 || sudo -i -u postgres psql postgres -tAc "SELECT 1 FROM pg_database WHERE datname = 'slimdns'" | grep -q 1 || psql -U postgres -c "CREATE DATABASE slimdns OWNER slimdns;"
    
}

#build() {
#    Nothing to build
#}

package() {
    cd $_name

    # Install main application
    install -d -m755 "$pkgdir/usr/bin"
    install -m755 slimDNS.py           "$pkgdir/usr/bin/slimDNS"

    # Install extra tools
    install -m755 dnstool.py          "$pkgdir/usr/bin/dnstool"

    # Install the sample configuration
    install -d -m755 "$pkgdir/etc/slimDNS/"
    install -m755 config.py           "$pkgdir/etc/slimDNS/"

    # Install data files (for future reference)
    #install -d -m755 "$pkgdir/usr/share/slimDNS/data/"
    #cp -r data/* "$pkgdir/usr/share/slimDNS/data/"

    # Install the .service file
    install -d -m755 "$pkgdir/etc/systemd/system"
    install -m755 slimDNS.service     "$pkgdir/etc/systemd/system/"

    # Install license files
    #install -Dm644 ../$_name/license.txt "$pkgdir/usr/share/licenses/$pkgname/license.txt"

    echo
    echo "The password for slimDNS db-password is: $_dbuser_passwd"
}