summaryrefslogtreecommitdiff
path: root/testing/otrs/APKBUILD
blob: fa2132c39b3811955b9c57dd4a754e0849eabca6 (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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
# Contributor: Valery Kartel <valery.kartel@gmail.com>
# Maintainer: Valery Kartel <valery.kartel@gmail.com>
pkgname=otrs
pkgver=5.0.23
pkgrel=0
pkgdesc="Flexible Open Source Service Management Software"
url="http://www.otrs.org/"
arch="noarch"
license="AGPL-3.0"
pkgusers="otrs"
pkggroups="www-data"
depends="perl perl-archive-zip perl-crypt-eksblowfish perl-crypt-ssleay
	perl-date-format perl-dbi perl-encode-hanextra perl-io-socket-ssl perl-json-xs
	perl-ldap perl-libwww perl-mail-imapclient perl-net-dns perl-template-toolkit
	perl-text-csv perl-text-csv_xs perl-uri perl-xml-libxml perl-xml-libxslt
	perl-xml-parser perl-yaml-xs ttf-dejavu"
makedepends=""
subpackages="$pkgname-doc $pkgname-dev $pkgname-setup $pkgname-apache2
	$pkgname-fastcgi $pkgname-nginx $pkgname-bash-completion:bashcomp"
install="$pkgname.pre-install $pkgname.post-install $pkgname.post-upgrade
	$pkgname-setup.post-install $pkgname-setup.post-deinstall"
source="http://ftp.otrs.org/pub/$pkgname/$pkgname-$pkgver.tar.bz2
	$pkgname.initd
	$pkgname.spawn-fcgi
	$pkgname.nginx.conf
	"
builddir="$srcdir/$pkgname-$pkgver"

# Security fixes:
#   5.0.23:
#     - CVE-2017-14635

prepare() {
	default_prepare || return 1

	find "$builddir" -type f -exec \
		sed -i 's:/opt/otrs:/var/lib/otrs:g' {} + \
		|| return 1
}

package() {
	local file

	mkdir -p "$pkgdir"/var/lib/$pkgname

	cd "$pkgdir"

	cp -r "$builddir"/* var/lib/$pkgname || return 1
	install -Dm755 "$srcdir"/$pkgname.initd etc/init.d/$pkgname || return 1

	# switch to system fonts
	rm -fr var/lib/$pkgname/var/fonts
	ln -s /usr/share/fonts/ttf-dejavu \
		var/lib/$pkgname/var/fonts

	# fix *.dist files
	for file in var/lib/$pkgname/var/cron/*.dist \
		var/lib/$pkgname/Kernel/Config.pod.dist
	do
		mv $file ${file%.dist} || return 1
	done
}

check() {
	"$builddir"/bin/otrs.CheckModules.pl
}

doc() {
	local file;
	default_doc || return 1

	mkdir -p "$subpkgdir"/var/lib/$pkgname/scripts

	mv "$pkgdir"/var/lib/$pkgname/doc \
		"$subpkgdir"/var/lib/$pkgname || return 1

	for file in $(find "$pkgdir" -name "*.md" -o -name "*.pod" -o -name "*.txt" \
		-o -name "ARCHIVE" -o -name "README"  \
		-o -name "UPGRADING" -o -name "COPYING*")
	do
		file=${file#$pkgdir}
		mkdir -p "$subpkgdir"/${file%/*} || return 1
		mv "$pkgdir"/$file "$subpkgdir"/$file || return 1
	done
}

dev() {
	local file
	default_dev || return 1

	mkdir -p "$subpkgdir"/var/lib/$pkgname/scripts \
		"$subpkgdir"/var/lib/$pkgname/var/httpd/htdocs/js

	mv "$pkgdir"/var/lib/$pkgname/scripts/auto_build \
		"$pkgdir"/var/lib/$pkgname/scripts/tools \
		"$pkgdir"/var/lib/$pkgname/scripts/test \
		"$pkgdir"/var/lib/$pkgname/scripts/contrib \
		"$pkgdir"/var/lib/$pkgname/scripts/rpc-example.pl \
		"$subpkgdir"/var/lib/$pkgname/scripts || return 1

	for file in processes webservices; do
		mkdir -p "$subpkgdir"/var/lib/$pkgname/var/$file
		mv "$pkgdir"/var/lib/$pkgname/var/$file/examples \
			"$subpkgdir"/var/lib/$pkgname/var/$file || return 1
	done

	mv "$pkgdir"/var/lib/$pkgname/var/httpd/htdocs/js/test \
		"$subpkgdir"/var/lib/$pkgname/var/httpd/htdocs/js
}

setup() {
	local file
	pkgdesc="$pkgdesc (initial setup)"
	depends="$pkgname"

	mkdir -p "$subpkgdir"/var/lib/$pkgname/scripts \
		"$subpkgdir"/var/lib/$pkgname/bin/cgi-bin \
		"$subpkgdir"/var/lib/$pkgname/bin/fcgi-bin

	mv "$pkgdir"/var/lib/$pkgname/scripts/DBUpdate-* \
		"$pkgdir"/var/lib/$pkgname/scripts/database \
		"$subpkgdir"/var/lib/$pkgname/scripts || return 1

	mv "$pkgdir"/var/lib/$pkgname/bin/cgi-bin/installer.pl \
		"$subpkgdir"/var/lib/$pkgname/bin/cgi-bin/installer.pl || return 1

	mv "$pkgdir"/var/lib/$pkgname/bin/fcgi-bin/installer.pl \
		"$subpkgdir"/var/lib/$pkgname/bin/fcgi-bin/installer.pl || return 1

	for file in CheckModules CheckSum; do
		mv "$pkgdir"/var/lib/$pkgname/bin/$pkgname.$file.pl \
			"$subpkgdir"/var/lib/$pkgname/bin/$pkgname.$file.pl || return 1
	done

	for file in fetchmailrc mailfilter procmailrc; do
		install -Dm644 "$builddir"/.$file.dist \
			"$subpkgdir"/var/lib/$pkgname/.$file.dist || return 1
	done

	mv "$pkgdir"/var/lib/$pkgname/scripts/apache2-httpd-plack-proxy.conf \
		"$subpkgdir"/var/lib/$pkgname/scripts
}

apache2() {
	pkgdesc="$pkgdesc (apache2 configuration)"
	depends="$pkgname apache2 apache2-mod-perl"

	mkdir -p "$subpkgdir"/etc/apache2/conf.d \
		"$subpkgdir"/var/lib/$pkgname/scripts

	mv "$pkgdir"/var/lib/$pkgname/scripts/apache2-httpd.include.conf \
		"$subpkgdir"/etc/apache2/conf.d/$pkgname.conf || return 1

	mv "$pkgdir"/var/lib/$pkgname/scripts/apache2-perl-startup.pl \
		"$subpkgdir"/var/lib/$pkgname/scripts
}

fastcgi() {
	pkgdesc="$pkgdesc (fastcgi configuration)"
	depends="$pkgname fcgiwrap perl-cgi-fast spawn-fcgi"

	install -Dm644 "$srcdir"/$pkgname.spawn-fcgi \
		"$subpkgdir"/etc/conf.d/spawn-fcgi.$pkgname || return 1

	mkdir -p "$subpkgdir"/etc/init.d
	ln -s spawn-fcgi "$subpkgdir"/etc/init.d/spawn-fcgi.$pkgname
}

nginx() {
	pkgdesc="$pkgdesc (nginx configuration)"
	depends="$pkgname $pkgname-fastcgi nginx"

	install -Dm644 "$srcdir"/$pkgname.nginx.conf \
		"$subpkgdir"/etc/nginx/$pkgname.conf || return 1
}

bashcomp() {
	pkgdesc="$pkgdesc (bash completion)"
	depends=""
	install_if="$pkgname=$pkgver-r$pkgrel bash-completion"

	install -Dm644 "$builddir"/.bash_completion \
		"$subpkgdir"/var/lib/$pkgname/.bash_completion
}

sha512sums="c6ae594178e1f0eb59b87a8d08b610940ba7ad0a44699ba73568c6844a49fc03e2486bce393aaf0dd78da9c64790b9fae72cfad65c9c6955c0524fbf27b95d7e  otrs-5.0.23.tar.bz2
90d43b350a00fa1648c8add5e2af9b88f78cb583f71438306a9b80ee45a939eda903472b84db1327e0579a5d8c5fd88e3c1e7d55a15106aeef426b16e932363d  otrs.initd
7bab58132a5705c8e8ecade8e4aea3b0f04af66a71e4ae08cfeda91b0e143607de350debdc49bf2ce022277ee3804aead3ca8825804d073690c2f5f3a19d776e  otrs.spawn-fcgi
f79474575ac7c734edcfbaf56fc8062c3594749791f9d1fa4328c6bde71747f0ce6219d47ba7ab409927b7343b36dc0c4aa29cd03600c2d806ed5409edab6b14  otrs.nginx.conf"