diff options
author | Valery Kartel <valery.kartel@gmail.com> | 2017-02-16 03:19:13 +0200 |
---|---|---|
committer | Leonardo Arena <rnalrd@alpinelinux.org> | 2017-02-16 07:24:05 +0000 |
commit | bec0e79ed2237c7240744b9102994da583018267 (patch) | |
tree | 2e16c372228a482c6f87f9510c3a7da70ee5c15d /testing | |
parent | c868fc7f8cd280a65dd6c3440a5596a37cca834c (diff) | |
download | aports-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')
-rw-r--r-- | testing/otrs/APKBUILD | 181 | ||||
-rw-r--r-- | testing/otrs/otrs-setup.post-deinstall | 5 | ||||
-rw-r--r-- | testing/otrs/otrs-setup.post-install | 33 | ||||
-rw-r--r-- | testing/otrs/otrs.initd | 42 | ||||
-rw-r--r-- | testing/otrs/otrs.nginx.conf | 25 | ||||
-rw-r--r-- | testing/otrs/otrs.post-install | 17 | ||||
l--------- | testing/otrs/otrs.post-upgrade | 1 | ||||
-rw-r--r-- | testing/otrs/otrs.pre-install | 8 | ||||
-rw-r--r-- | testing/otrs/otrs.spawn-fcgi | 6 |
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 |