Mail archive
alpine-aports

[alpine-aports] [PATCH] testing/otrs: new aport

From: Valery Kartel <valery.kartel_at_gmail.com>
Date: Wed, 15 Feb 2017 21:27:47 +0200

Flexible Open Source Service Management Software
http://www.otrs.org/
---
 testing/otrs/APKBUILD                  | 158 +++++++++++++++++++++++++++++++++
 testing/otrs/otrs-setup.post-deinstall |   5 ++
 testing/otrs/otrs-setup.post-install   |  26 ++++++
 testing/otrs/otrs.initd                |  42 +++++++++
 testing/otrs/otrs.post-install         |  10 +++
 testing/otrs/otrs.post-upgrade         |   1 +
 testing/otrs/otrs.pre-install          |   8 ++
 7 files changed, 250 insertions(+)
 create mode 100644 testing/otrs/APKBUILD
 create mode 100644 testing/otrs/otrs-setup.post-deinstall
 create mode 100644 testing/otrs/otrs-setup.post-install
 create mode 100644 testing/otrs/otrs.initd
 create mode 100644 testing/otrs/otrs.post-install
 create mode 120000 testing/otrs/otrs.post-upgrade
 create mode 100644 testing/otrs/otrs.pre-install
diff --git a/testing/otrs/APKBUILD b/testing/otrs/APKBUILD
new file mode 100644
index 0000000000..276e965e8f
--- /dev/null
+++ b/testing/otrs/APKBUILD
_at_@ -0,0 +1,158 @@
+# Contributor: Valery Kartel <valery.kartel_at_gmail.com>
+# Maintainer: Valery Kartel <valery.kartel_at_gmail.com>
+pkgname=otrs
+pkgver=5.0.16
+pkgrel=0
+pkgdesc="Flexible Open Source Service Management Software"
+url="http://www.otrs.org/"
+arch="noarch"
+license="AGPL3"
+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-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"
+builddir="$srcdir/$pkgname-$pkgver"
+
+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/*.dist; do
+		mv $file ${file%.dist} || return 1
+	done
+}
+
+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
+
+	mv "$pkgdir"/var/lib/$pkgname/scripts/apache2-httpd-plack-proxy.conf \
+		"$subpkgdir"/var/lib/$pkgname/scripts || return 1
+
+	for file in fetchmailrc mailfilter procmailrc; do
+		install -Dm644 "$builddir"/.$file.dist \
+			"$subpkgdir"/var/lib/$pkgname/.$file || return 1
+	done
+
+	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
+
+	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() {
+	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
+
+	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
+}
+
+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
+}
+
+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
+}
+
+md5sums="9fe21e6993bcac71247fdcaf5e1f4e55  otrs-5.0.16.tar.bz2
+d7dfeda01df761cec67dfd480915ff45  otrs.initd"
+sha256sums="ddec039990c1bdfc27299ab175eff3e1665aa99ba48050f7f2dde480b28f4029  otrs-5.0.16.tar.bz2
+1f5600cb7a6a991b7c5d4fabe67a47d8efe91c6f40320eb21bbb14fd83806790  otrs.initd"
+sha512sums="326ebc97b689ce05c33a4f8e5587b891029c168544ab6bea4e5b112b2c75527a605689fd957d7acdebf18e331176db727cca4c87244f22cfdb9b9e4e0735b6c4  otrs-5.0.16.tar.bz2
+5d918dd364458b7cceede40a79c8511d596459ce88c38b262841645bc23a4a456c2c57d6c173adc74169957e5ec412bd3bef90a7df555265129ed3bb3ecfd2aa  otrs.initd"
diff --git a/testing/otrs/otrs-setup.post-deinstall b/testing/otrs/otrs-setup.post-deinstall
new file mode 100644
index 0000000000..027f87c441
--- /dev/null
+++ b/testing/otrs/otrs-setup.post-deinstall
_at_@ -0,0 +1,5 @@
+#!/bin/sh
+
+/var/lib/otrs/bin/otrs.SetPermissions.pl --web-group=www-data >/dev/null
+
+exit 0
diff --git a/testing/otrs/otrs-setup.post-install b/testing/otrs/otrs-setup.post-install
new file mode 100644
index 0000000000..1f42fd8863
--- /dev/null
+++ b/testing/otrs/otrs-setup.post-install
_at_@ -0,0 +1,26 @@
+#!/bin/sh
+
+/var/lib/otrs/bin/otrs.SetPermissions.pl --web-group=www-data >/dev/null
+
+su -s /bin/sh otrs -c "/var/lib/otrs/bin/otrs.CheckModules.pl"
+
+cat <<EOF
+----------------------------------------------------------
+*
+* Inital setup:
+* 1. configure and restart web server (auto: otrs-apache2)
+* 2. add needed database driver:
+*    - mysql: perl-dbd-mysql
+*    - postgress: perl-dbd-pg
+* 3. go online and continue setup
+*    - http://$(hostname -f)/otrs/installer.pl
+* 4. enable and start otrs service
+*    - rc-update add otrs
+*    - service otrs start
+* 5. enjoy :)
+*
+* After setup complete, you can safely remove otrs-setup aport
+*
+EOF
+
+exit 0
diff --git a/testing/otrs/otrs.initd b/testing/otrs/otrs.initd
new file mode 100644
index 0000000000..5e82854abf
--- /dev/null
+++ b/testing/otrs/otrs.initd
_at_@ -0,0 +1,42 @@
+#!/sbin/openrc-run
+
+description="Open Ticket Management System"
+extra_started_commands="reload status"
+
+otrs_cron=/var/lib/otrs/bin/Cron.sh
+otrs_daemon=/var/lib/otrs/bin/otrs.Daemon.pl
+
+depend() {
+	need net
+	after firewall
+}
+
+otrs() {
+	[ -n "$2" ] && su -s /bin/sh otrs -c "$(eval echo \$otrs_$1) $2" >/dev/null
+}
+
+start() {
+	ebegin "Starting $RC_SVCNAME"
+	/var/lib/otrs/bin/otrs.SetPermissions.pl --web-group=www-data >/dev/null
+	otrs daemon start
+	otrs cron start
+	eend
+}
+
+stop() {
+	ebegin "Stopping $RC_SVCNAME"
+	otrs daemon stop
+	otrs cron stop
+	eend
+}
+
+reload() {
+	ebegin "Reloading $RC_SVCNAME"
+	otrs daemon restart
+	otrs cron restart
+	eend
+}
+
+status() {
+	otrs daemon status
+}
diff --git a/testing/otrs/otrs.post-install b/testing/otrs/otrs.post-install
new file mode 100644
index 0000000000..b1987a650b
--- /dev/null
+++ b/testing/otrs/otrs.post-install
_at_@ -0,0 +1,10 @@
+#!/bin/sh
+
+/var/lib/otrs/bin/otrs.SetPermissions.pl --web-group=www-data >/dev/null
+
+if [ -e /var/lib/otrs/Kernel/Config/Files/ZZZAAuto.pm ]; then
+	su -s /bin/sh otrs -c "/var/lib/otrs/bin/otrs.Console.pl Maint::Config::Rebuild"
+	su -s /bin/sh otrs -c "/var/lib/otrs/bin/otrs.Console.pl Maint::Cache::Delete"
+fi
+
+exit 0
diff --git a/testing/otrs/otrs.post-upgrade b/testing/otrs/otrs.post-upgrade
new file mode 120000
index 0000000000..a405284d6f
--- /dev/null
+++ b/testing/otrs/otrs.post-upgrade
_at_@ -0,0 +1 @@
+otrs.post-install
\ No newline at end of file
diff --git a/testing/otrs/otrs.pre-install b/testing/otrs/otrs.pre-install
new file mode 100644
index 0000000000..377eb65a8a
--- /dev/null
+++ b/testing/otrs/otrs.pre-install
_at_@ -0,0 +1,8 @@
+#!/bin/sh
+
+addgroup -S -g 82 www-data 2>/dev/null
+
+addgroup -S otrs 2>/dev/null
+adduser -S -D -H -h /var/lib/otrs -s /sbin/nologin -G otrs -g otrs otrs 2>/dev/null
+
+exit 0
-- 
2.11.0
---
Unsubscribe:  alpine-aports+unsubscribe_at_lists.alpinelinux.org
Help:         alpine-aports+help_at_lists.alpinelinux.org
---
Received on Wed Feb 15 2017 - 21:27:47 GMT