aboutsummaryrefslogtreecommitdiffstats
path: root/main/smokeping/APKBUILD
blob: c8a9fe1451d77bafdc6712ac003178758064d5da (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
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
141
142
143
144
145
146
147
148
149
150
151
152
# Contributor: Jeff Bilyk <jbilyk@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=smokeping
pkgver=2.7.3
pkgrel=3
pkgdesc="Smokeping network latency monitoring"
pkgusers="smokeping"
pkggroups="smokeping"
install="$pkgname.pre-install"
url="https://oss.oetiker.ch/smokeping/"
options="!check"  # No test suite
source="https://oss.oetiker.ch/smokeping/pub/smokeping-$pkgver.tar.gz
	smokeping.initd
	musl-lc_numeric-utf8.patch
	"
depends="
	fping
	perl
	perl-cgi
	perl-cgi-fast
	perl-cgi-session
	perl-config-grammar
	perl-data-hexdump
	perl-digest-hmac
	perl-fcgi
	perl-io-socket-ssl
	perl-io-tty
	perl-ldap
	perl-libwww
	perl-mozilla-ca
	perl-net-dns
	perl-net-ip
	perl-net-openssh
	perl-net-snmp
	perl-net-telnet
	perl-text-soundex
	perl-rrd
	perl-snmp-session
	perl-uri
	rrdtool
	"
makedepends="
	openssl-dev
	perl-dev
	perl-try-tiny
	zlib-dev
	"
arch="all"
license="GPL"
subpackages="$pkgname-doc"
builddir="$srcdir/$pkgname-$pkgver"

_vendorlib=/usr/share/perl5/vendor_perl

prepare() {
	default_prepare

	cd "$builddir"
	# provided by perl-snmp-session
	rm -r lib/BER.pm lib/SNMP_Session.pm lib/SNMP_util.pm
}

build() {
	cd "$builddir"
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--bindir=/usr/bin \
		--libdir=/usr/lib \
		--sysconfdir=/etc/smokeping \
		--libexecdir=/usr/libexec \
		--datarootdir=/usr/share \
		--mandir=/usr/share/man \
		--with-htdocs-dir=/usr/share/webapps/smokeping \
		|| return 1
}

package() {
	cd "$builddir"
	make DESTDIR="$pkgdir" install || return 1

	for i in basepage.html config smokemail smokeping_secrets tmail; do
		mv "$pkgdir"/etc/smokeping/${i}.dist "$pkgdir"/etc/smokeping/${i}
	done

	# Next part here cleans up the mess that the Makefile leaves behind...

	mkdir -p "$pkgdir"/$_vendorlib
	mv "$pkgdir"/usr/lib/Smokeping.pm "$pkgdir"/$_vendorlib/
	mv "$pkgdir"/usr/lib/Smokeping "$pkgdir"/$_vendorlib/

	# Fix path to config file
	sed -i -e 's#/usr/etc/config#/etc/smokeping/config#' "$pkgdir"/usr/share/webapps/smokeping/smokeping.fcgi.dist

	# Install cgi in the right spot and fix permissions
	mv "$pkgdir"/usr/share/webapps/smokeping/smokeping.fcgi.dist "$pkgdir"/usr/share/webapps/smokeping/smokeping.cgi
	chmod 755 "$pkgdir"/usr/share/webapps/smokeping/smokeping.cgi

	# Fix up some paths within smokeping.cgi
	sed -i -e 's:^use lib:#use lib:' \
		-e 's:/etc/config:/etc/smokeping/config:' \
		-e '1s:.*:#!/usr/bin/perl:' \
		"$pkgdir"/usr/bin/smokeping_cgi || return 1

	for i in smokeping smokeinfo; do
		sed -e 's:^use lib:#use lib:g' \
			-e 's:etc/config:etc/smokeping/config:' \
			-i "$pkgdir"/usr/bin/$i
	done

	sed -e 's#Smokeping::main("$FindBin::Bin/../etc/config")#Smokeping::main("/etc/smokeping/config")#' \
		-i "$pkgdir"/usr/bin/smokeping

	sed -e 's:etc/config.dist:etc/smokeping/config:' \
		-i "$pkgdir"/usr/bin/tSmoke

	# config
	sed -e '/^imgcache/{s:\(^imgcache[ \t]*=\).*:\1 /var/lib/smokeping/.simg:}' \
		-e '/^imgurl/{s:\(^imgurl[ \t]*=\).*:\1 img:}' \
		-e '/^datadir/{s:\(^datadir[ \t]*=\).*:\1 /var/lib/smokeping:}' \
		-e '/^piddir/{s:\(^piddir[ \t]*=\).*:\1 /var/run/smokeping:}' \
		-e '/^cgiurl/{s#\(^cgiurl[ \t]*=\).*#\1 http://some.place.xyz/perl/smokeping.pl#}' \
		-e '/^smokemail/{s:\(^smokemail[ \t]*=\).*:\1 /etc/smokeping/smokemail:}' \
		-e '/^tmail/{s:\(^tmail[ \t]*=\).*:\1 /etc/smokeping/tmail:}' \
		-e '/^secrets/{s:\(^secrets[ \t]*=\).*:\1 /etc/smokeping/smokeping_secrets:}' \
		-e '/^template/{s:\(^template[ \t]*=\).*:\1 /etc/smokeping/basepage.html:}' \
		-e '/^sendmail/{s:usr/lib:usr/sbin:}' \
		-i "$pkgdir"/etc/smokeping/config || return 1

	# Create softlink for image directory
	ln -s /var/lib/smokeping/.simg/ "$pkgdir"/usr/share/webapps/smokeping/img

	sed -e '/^<script/{s:cropper/:/cropper/:}' \
		-i "$pkgdir"/etc/smokeping/basepage.html \
		|| return 1

	chmod 700 "$pkgdir"/etc/smokeping/smokeping_secrets

	# initscript
	install -Dm755 "$srcdir"/smokeping.initd "$pkgdir"/etc/init.d/smokeping\
		|| return 1

	install -d -o smokeping -g smokeping -m755 \
		"$pkgdir"/var/lib/smokeping \
		"$pkgdir"/var/lib/smokeping/.simg \
		"$pkgdir"/var/run/smokeping
}

sha512sums="d46d61539ffdd9cac41391aa813364260f90f84443c328b1c9233ab6ba3a0c157861694614e6c33e18b153f6a6afc0769c5fc7752b3ab52f114d984e53232830  smokeping-2.7.3.tar.gz
58189cb39bb085022b0c1197ccc59e06412d1cfb62bace79a168a8c63952c1ccc051cddb48c1d9260a2b1246306d90e5c08323e35c21de66fa663e3f98325e02  smokeping.initd
e6bc389d8edbc000f5ad65848308197b3eb1ddb24bfa9df9c05fa027103952484383b7e021bea86795dceccdcf3f3d51a24c22cae3a68dc5afa30a72b2dbf803  musl-lc_numeric-utf8.patch"