aboutsummaryrefslogtreecommitdiffstats
path: root/testing/tomcat9/APKBUILD
blob: aff5531fe552814647c69b30cdad15ce2412994c (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
# Contributor: Holger Jaekel <holger.jaekel@gmx.de>
# Maintainer: Holger Jaekel <holger.jaekel@gmx.de>
pkgname=tomcat9
pkgver=9.0.37
pkgrel=0
pkgdesc="Open source implementation of the Java Servlet 4.0 and JavaServer Pages 2.3 technologies"
url="https://tomcat.apache.org/"
arch="noarch !x86 !armv7 !armhf !mips !mips64"  # eclipse-ecj availability
license="Apache-2.0"
depends="eclipse-ecj java-common"
pkgusers="tomcat9"
pkggroups="tomcat9"
makedepends="coreutils"
checkdepends="openjdk8-jre"
install="$pkgname.pre-install"
subpackages="
	$pkgname-openrc
	$pkgname-admin
	$pkgname-doc
	$pkgname-examples
	"
builddir="$srcdir/apache-tomcat-$pkgver-src/"

source="
	https://downloads.apache.org/tomcat/tomcat-9/v$pkgver/bin/apache-tomcat-$pkgver.tar.gz
	10-daemon.patch
	"
builddir=$srcdir/apache-${pkgname//9/}-$pkgver

check() {
	$builddir/bin/configtest.sh
}

package() {
	# Tomcat general files
	install -dm 755 "$pkgdir"/usr/share/$pkgname
	install -dm 755 "$pkgdir"/usr/share/$pkgname/bin
	install -dm 755 "$pkgdir"/usr/share/java/$pkgname
	cp -dr --no-preserve=ownership bin "$pkgdir"/usr/share/$pkgname
	# commons-daemon and tomcat-natives are packaged on their own
	chmod 644 "$pkgdir"/usr/share/$pkgname/bin/*.jar
	chmod 755 "$pkgdir"/usr/share/$pkgname/bin/*.sh
	rm "$pkgdir"/usr/share/$pkgname/bin/*.bat
	rm "$pkgdir"/usr/share/$pkgname/bin/commons-daemon*
	rm "$pkgdir"/usr/share/$pkgname/bin/daemon.sh
	rm "$pkgdir"/usr/share/$pkgname/bin/tomcat-native.tar.gz

	install -m 644 lib/* "$pkgdir"/usr/share/java/$pkgname
	# eclipse-ecj is packaged on its own
	rm "$pkgdir"/usr/share/java/$pkgname/ecj-*.jar
	ln -s ../eclipse-ecj.jar "$pkgdir"/usr/share/java/$pkgname/ecj.jar

	ln -s /usr/share/java/$pkgname "$pkgdir"/usr/share/$pkgname/lib

	install -dm 775 -o $pkgusers "$pkgdir"/var/log/$pkgname
	ln -s /var/log/$pkgname "$pkgdir"/usr/share/$pkgname/logs

	install -dm 775 "$pkgdir"/etc/$pkgname
	install -m 640 -g $pkggroups conf/* "$pkgdir"/etc/$pkgname
	install -dm 775 -g $pkggroups "$pkgdir"/etc/$pkgname/Catalina
	ln -s /etc/$pkgname "$pkgdir"/usr/share/$pkgname/conf

	install -dm 775 "$pkgdir"/var/lib/$pkgname
	cp -r webapps "$pkgdir"/var/lib/$pkgname
	chown -R $pkgusers:$pkggroups "$pkgdir"/var/lib/$pkgname
	chmod 775 "$pkgdir"/var/lib/$pkgname/webapps
	ln -s /var/lib/$pkgname/webapps "$pkgdir"/usr/share/$pkgname/webapps

	install -d -o $pkgusers -g $pkggroups -m 755 "$pkgdir"/var/cache/$pkgname
	ln -s /tmp "$pkgdir"/usr/share/$pkgname/temp
	ln -s /var/cache/$pkgname "$pkgdir"/usr/share/$pkgname/work
}

admin() {
	pkgdesc="$pkgdesc (admin web applications)"
	_copy_webapp manager
	_copy_webapp host-manager
}

doc() {
	pkgdesc="$pkgdesc (documentation)"
	_copy_webapp docs
}

examples() {
	pkgdesc="$pkgdesc (example web applications)"
	_copy_webapp examples
}

_copy_webapp() {
	depends="$pkgname"

	cd $builddir

	mkdir -p $subpkgdir/var/lib/tomcat9/webapps
	mv $pkgdir/var/lib/tomcat9/webapps/$1 $subpkgdir/var/lib/tomcat9/webapps
	chown -R $pkgusers:$pkggroups "$pkgdir"/var/lib/tomcat9
	chmod 775 "$pkgdir"/var/lib/tomcat9/webapps
}

openrc() {
	depends="commons-daemon jsvc $pkgname"
	pkgdesc="$pkgdesc (OpenRC init scripts)"

	cd $builddir
	install -Dm 755 bin/daemon.sh "$subpkgdir"/etc/init.d/tomcat9
	install -dm 755 "$subpkgdir"/usr/share/tomcat9/bin
	ln -s /usr/share/java/commons-daemon.jar "$subpkgdir"/usr/share/tomcat9/bin/commons-daemon.jar
}

sha512sums="077c3e69553b9388b5cdf46b6d204e895d69629a4ec8dd8cf13eb2ee97a04f50e70478fee4f2f91e8809b85bdcd3656188b00d17165c86cf6113ded18729ba06  apache-tomcat-9.0.37.tar.gz
7d16b14977c22e1ae998d15a0a83a574624b62c722a0adbfd05a4105581eee347d38e366a269ebca4c8fa894c3718d6fbdcea0e0974d20407075ec2af6ea07a4  10-daemon.patch"