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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
# Contributor: Maxim Devaev <[email protected]>
# Author: Maxim Devaev <[email protected]>
_variants=(v2-hdmi:rpi4)
for _platform in v0-vga v0-hdmi v1-vga v1-hdmi; do
for _board in rpi2 rpi3; do
_variants+=($_platform:$_board)
done
done
pkgname=(kvmd)
for _variant in "${_variants[@]}"; do
_platform=${_variant%:*}
_board=${_variant#*:}
pkgname+=(kvmd-platform-$_platform-$_board)
done
pkgbase=kvmd
pkgver=1.22
pkgrel=1
pkgdesc="The main Pi-KVM daemon"
url="https://github.com/pikvm/kvmd"
license=(GPL)
arch=(any)
depends=(
python
python-yaml
python-aiohttp
python-aiofiles
python-passlib
python-raspberry-gpio
python-pyserial
python-setproctitle
python-psutil
python-systemd
python-dbus
python-pygments
python-pyghmi
v4l-utils
nginx-mainline
openssl
platformio
make
patch
raspberrypi-io-access
"ustreamer>=1.9"
)
makedepends=(python-setuptools)
source=("$url/archive/v$pkgver.tar.gz")
md5sums=(SKIP)
backup=(
etc/kvmd/{override,logging,auth,meta}.yaml
etc/kvmd/{ht,ipmi}passwd
etc/kvmd/nginx/{loc-{login,nocache,proxy,websocket},mime-types,ssl,nginx}.conf
)
build() {
cd "$srcdir"
rm -rf $pkgname-build
cp -r kvmd-$pkgver $pkgname-build
cd $pkgname-build
python setup.py build
}
package_kvmd() {
install=$pkgname.install
cd "$srcdir/$pkgname-build"
python setup.py install --root="$pkgdir"
mkdir -p "$pkgdir/usr/lib/systemd/system"
cp configs/os/services/*.service "$pkgdir/usr/lib/systemd/system"
mkdir -p "$pkgdir/usr/lib/sysusers.d"
cp configs/os/sysusers.conf "$pkgdir/usr/lib/sysusers.d/kvmd.conf"
mkdir -p "$pkgdir/usr/lib/tmpfiles.d"
cp configs/os/tmpfiles.conf "$pkgdir/usr/lib/tmpfiles.d/kvmd.conf"
mkdir -p "$pkgdir/usr/share/kvmd"
cp -r {hid,web,extras} "$pkgdir/usr/share/kvmd"
local _cfg_default="$pkgdir/usr/share/kvmd/configs.default"
mkdir -p "$_cfg_default"
cp -r configs/* "$_cfg_default"
find "$pkgdir" -name ".gitignore" -delete
sed -i -e "s/^#PROD//g" "$_cfg_default/nginx/nginx.conf"
find "$_cfg_default" -type f -exec chmod 444 '{}' \;
chmod 400 "$_cfg_default/kvmd"/*passwd
mkdir -p "$pkgdir/etc/kvmd/nginx/ssl"
chmod 750 "$pkgdir/etc/kvmd/nginx/ssl"
cp "$_cfg_default/nginx"/*.conf "$pkgdir/etc/kvmd/nginx"
cp "$_cfg_default/kvmd"/*.yaml "$pkgdir/etc/kvmd"
chmod 644 "$pkgdir/etc/kvmd"/*.yaml
cp "$_cfg_default/kvmd"/*passwd "$pkgdir/etc/kvmd"
chmod 600 "$pkgdir/etc/kvmd/"/*passwd
}
for _variant in "${_variants[@]}"; do
_platform=${_variant%:*}
_board=${_variant#*:}
eval "package_kvmd-platform-$_platform-$_board() {
pkgdesc=\"Pi-KVM platform configs - $_platform for $_board\"
depends=(kvmd)
if [[ $_platform =~ ^.*-hdmi$ ]]; then
depends=(\"\${depends[@]}\" \"tc358743-dkms>=0.3\")
fi
backup=(
etc/sysctl.d/99-kvmd.conf
etc/udev/rules.d/99-kvmd.rules
etc/kvmd/main.yaml
)
cd \"kvmd-\$pkgver\"
mkdir -p \"\$pkgdir/etc\"/{kvmd,sysctl.d,udev/rules.d,modules-load.d}
cp configs/os/sysctl.conf \"\$pkgdir/etc/sysctl.d/99-kvmd.conf\"
cp configs/os/udev/$_platform-$_board.rules \"\$pkgdir/etc/udev/rules.d/99-kvmd.rules\"
if [ -f configs/os/modules-load/$_platform.conf ]; then
backup=(\"\${backup[@]}\" etc/modules-load.d/kvmd.conf)
cp configs/os/modules-load/$_platform.conf \"\$pkgdir/etc/modules-load.d/kvmd.conf\"
fi
cp configs/kvmd/main/$_platform.yaml \"\$pkgdir/etc/kvmd/main.yaml\"
chmod 444 \"\$pkgdir/etc/kvmd/main.yaml\"
if [[ $_platform =~ ^.*-hdmi$ ]]; then
backup=(\"\${backup[@]}\" etc/kvmd/tc358743-edid.hex)
cp configs/kvmd/tc358743-edid.hex \"\$pkgdir/etc/kvmd/tc358743-edid.hex\"
fi
}"
done
|