aboutsummaryrefslogtreecommitdiffstats
path: root/testing/otrs
diff options
context:
space:
mode:
authorValery Kartel <valery.kartel@gmail.com>2017-02-16 03:19:13 +0200
committerLeonardo Arena <rnalrd@alpinelinux.org>2017-02-16 07:24:05 +0000
commitbec0e79ed2237c7240744b9102994da583018267 (patch)
tree2e16c372228a482c6f87f9510c3a7da70ee5c15d /testing/otrs
parentc868fc7f8cd280a65dd6c3440a5596a37cca834c (diff)
downloadaports-bec0e79ed2237c7240744b9102994da583018267.tar.bz2
aports-bec0e79ed2237c7240744b9102994da583018267.tar.xz
testing/otrs: new aport
Flexible Open Source Service Management Software http://www.otrs.org/
Diffstat (limited to 'testing/otrs')
-rw-r--r--testing/otrs/APKBUILD181
-rw-r--r--testing/otrs/otrs-setup.post-deinstall5
-rw-r--r--testing/otrs/otrs-setup.post-install33
-rw-r--r--testing/otrs/otrs.initd42
-rw-r--r--testing/otrs/otrs.nginx.conf25
-rw-r--r--testing/otrs/otrs.post-install17
l---------testing/otrs/otrs.post-upgrade1
-rw-r--r--testing/otrs/otrs.pre-install8
-rw-r--r--testing/otrs/otrs.spawn-fcgi6
9 files changed, 318 insertions, 0 deletions
diff --git a/testing/otrs/APKBUILD b/testing/otrs/APKBUILD
new file mode 100644
index 0000000000..07a4464577
--- /dev/null
+++ b/testing/otrs/APKBUILD
@@ -0,0 +1,181 @@
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Valery Kartel <valery.kartel@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-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"
+
+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
+}
+
+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="326ebc97b689ce05c33a4f8e5587b891029c168544ab6bea4e5b112b2c75527a605689fd957d7acdebf18e331176db727cca4c87244f22cfdb9b9e4e0735b6c4 otrs-5.0.16.tar.bz2
+90d43b350a00fa1648c8add5e2af9b88f78cb583f71438306a9b80ee45a939eda903472b84db1327e0579a5d8c5fd88e3c1e7d55a15106aeef426b16e932363d otrs.initd
+7bab58132a5705c8e8ecade8e4aea3b0f04af66a71e4ae08cfeda91b0e143607de350debdc49bf2ce022277ee3804aead3ca8825804d073690c2f5f3a19d776e otrs.spawn-fcgi
+f79474575ac7c734edcfbaf56fc8062c3594749791f9d1fa4328c6bde71747f0ce6219d47ba7ab409927b7343b36dc0c4aa29cd03600c2d806ed5409edab6b14 otrs.nginx.conf"
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
@@ -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..c3f2df42b4
--- /dev/null
+++ b/testing/otrs/otrs-setup.post-install
@@ -0,0 +1,33 @@
+#!/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
+* - apache: otrs-apache2
+* - nginx: otrs-nginx (fastcgi service)
+* - include /etc/nginx/otrs.conf somewhere in 'server' section
+* - enable and start fastcgi service
+* - fastcgi service
+* - rc-update add spawn-fcgi.otrs
+* - service spawn-fcgi.otrs start
+* 2. add corresponding 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
+*
+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
@@ -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.nginx.conf b/testing/otrs/otrs.nginx.conf
new file mode 100644
index 0000000000..88d1100932
--- /dev/null
+++ b/testing/otrs/otrs.nginx.conf
@@ -0,0 +1,25 @@
+#
+# include this file somewhere to 'server' section
+#
+# server {
+# ...
+# include otrs.conf;
+# ...
+# }
+#
+
+root /var/lib/otrs/var/httpd/htdocs;
+index index.html;
+
+location /otrs-web {
+ gzip on;
+ alias /var/lib/otrs/var/httpd/htdocs;
+}
+
+location ~ ^/otrs/(.*\.pl)(/.*)?$ {
+ gzip off;
+ include fastcgi_params;
+ fastcgi_pass unix:/var/lib/otrs/var/run/socket-1;
+ fastcgi_index index.pl;
+ fastcgi_param SCRIPT_FILENAME /var/lib/otrs/bin/fcgi-bin/$1;
+}
diff --git a/testing/otrs/otrs.post-install b/testing/otrs/otrs.post-install
new file mode 100644
index 0000000000..757affecab
--- /dev/null
+++ b/testing/otrs/otrs.post-install
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+if [ ! -e /var/lib/otrs/Kernel/Config.pm ]; then
+ echo "Initializing /var/lib/otrs/Kernel/Config.pm"
+ cp /var/lib/otrs/Kernel/Config.pm.dist /var/lib/otrs/Kernel/Config.pm
+fi
+
+rm /var/lib/otrs/Kernel/Config.pm.dist
+
+/var/lib/otrs/bin/otrs.SetPermissions.pl --web-group=www-data
+
+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
@@ -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
@@ -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
diff --git a/testing/otrs/otrs.spawn-fcgi b/testing/otrs/otrs.spawn-fcgi
new file mode 100644
index 0000000000..b6d6ed6558
--- /dev/null
+++ b/testing/otrs/otrs.spawn-fcgi
@@ -0,0 +1,6 @@
+FCGI_SOCKET=/var/lib/otrs/var/run/socket
+FCGI_EXTRA_OPTIONS="-U otrs -G www-data -M 660"
+
+FCGI_PROGRAM=/usr/bin/fcgiwrap
+FCGI_USER=otrs
+FCGI_GROUP=www-data