blob: ffc08944f2a62d17c3ff4a726dfe84947b9183a5 (
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: Alexandr Stelnykovych <alexandr dot stelnykovych at ivpn dot net>
# dependencies versions
_ver_ivpn_daemon=2.12.14
_ver_ivpn_cli=2.12.11
# PKGBUILD config
pkgname="ivpn"
pkgver=2.12.14
pkgrel=1
pkgdesc="IVPN Command Line Interface"
arch=('x86_64')
url="https://ivpn.net"
license=('GPL3')
depends=('glibc' 'wireless_tools' 'openvpn' 'wireguard-tools')
makedepends=('curl' 'go')
install="ivpn.install"
source=(
"ivpn-daemon-src-v${_ver_ivpn_daemon}.tar.gz::https://github.com/ivpn/desktop-app-daemon/archive/v${_ver_ivpn_daemon}.tar.gz"
"ivpn-cli-src-v${_ver_ivpn_cli}.tar.gz::https://github.com/ivpn/desktop-app-cli/archive/v${_ver_ivpn_cli}.tar.gz"
)
sha256sums=(
'e1fc7c1931b415aeee62afa2961f7a61e940109b9d81aaaa9c78f2c1853008a3' # daemon sources
'a7dcec032b2542770facf81aa896c596f240dcc00b4fb6d47dcb20cf48c2164d' # CLI sources
)
build() {
# build daemon
cd "$srcdir/desktop-app-daemon-${_ver_ivpn_daemon}"
./References/Linux/scripts/build-all.sh -v $_ver_ivpn_daemon -c "${_ver_ivpn_daemon}_stamped"
# build CLI
cd "$srcdir/desktop-app-cli-${_ver_ivpn_cli}"
./References/Linux/build.sh -v $_ver_ivpn_daemon -c "${_ver_ivpn_daemon}_stamped"
# prepare '*.service' file for systemd
cat > "$srcdir/ivpn-service.service" << EOF
[Unit]
Description=ivpn-service
[Service]
Type=simple
User=root
Group=root
# Load env vars from /etc/default/ and /etc/sysconfig/ if they exist.
# Prefixing the path with '-' makes it try to load, but if the file doesn't
# exist, it continues onward.
EnvironmentFile=-/etc/default/ivpn-service
EnvironmentFile=-/etc/sysconfig/ivpn-service
ExecStart=/usr/local/bin/ivpn-service
Restart=always
WorkingDirectory=/
# When stopping, how long to wait before giving up and sending SIGKILL?
# Keep in mind that SIGKILL on a process can cause data loss.
TimeoutStopSec=infinity
[Install]
WantedBy=multi-user.target
EOF
}
package() {
cd "$srcdir/desktop-app-daemon-${_ver_ivpn_daemon}"
install -D References/Linux/scripts/_out_bin/ivpn-service "$pkgdir/usr/local/bin/ivpn-service"
install -Dm700 -g root -o root References/Linux/etc/client.down "$pkgdir/opt/ivpn/etc/client.down"
install -Dm700 -g root -o root References/Linux/etc/client.up "$pkgdir/opt/ivpn/etc/client.up"
install -Dm700 -g root -o root References/Linux/etc/firewall.sh "$pkgdir/opt/ivpn/etc/firewall.sh"
install -Dm600 -g root -o root References/Linux/etc/servers.json "$pkgdir/opt/ivpn/etc/servers.json"
install -Dm400 -g root -o root References/Linux/etc/ca.crt "$pkgdir/opt/ivpn/etc/ca.crt"
install -Dm400 -g root -o root References/Linux/etc/signing.pub "$pkgdir/opt/ivpn/etc/signing.pub"
install -Dm400 -g root -o root References/Linux/etc/ta.key "$pkgdir/opt/ivpn/etc/ta.key"
cd "$srcdir/desktop-app-cli-${_ver_ivpn_cli}"
install -D References/Linux/_out_bin/ivpn "$pkgdir/usr/local/bin/ivpn"
cd "$srcdir"
install -D "ivpn-service.service" "$pkgdir/usr/lib/systemd/system/ivpn-service.service"
}
|