forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
75b5a7f
commit 4e55823
Showing
2 changed files
with
154 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
DIST otrs-5.0.16.tar.bz2 19417591 SHA256 ddec039990c1bdfc27299ab175eff3e1665aa99ba48050f7f2dde480b28f4029 SHA512 326ebc97b689ce05c33a4f8e5587b891029c168544ab6bea4e5b112b2c75527a605689fd957d7acdebf18e331176db727cca4c87244f22cfdb9b9e4e0735b6c4 WHIRLPOOL 4dfe35d1c3cd940523219dafae5f62447e6bc363e601b4fc98fdf46d09731dbf61ddb109d5b368af6fc2b25ab44f18e455dbd9de2e00d367363c34972af221b2 | ||
DIST otrs-5.0.18.tar.bz2 20401943 SHA256 32d2a17996a882fb8965e52d92589be1a9a8fb1a15cd47689919e6d1302fe1b4 SHA512 5b228a92f8280b79ed32853f9b0a5b135ee42068faba66267c9772697c3ccd8f2ee965797fe65b8c7d1455f3729fe106d9321a06e444bda8e06f92dac00ab8c1 WHIRLPOOL 35123d1eb33e5abdb5c44edf55fd204df8f4b50fe331ae3f8f2634cdb21ca091e76b8517458595af4f0246eebb399770fc02a54070833ad6dae4dd83b2ad8c11 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,153 @@ | ||
# Copyright 1999-2017 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI="6" | ||
|
||
inherit user systemd | ||
|
||
DESCRIPTION="OTRS is an Open source Ticket Request System" | ||
HOMEPAGE="https://www.otrs.com/" | ||
SRC_URI="https://ftp.otrs.org/pub/${PN}/${P}.tar.bz2" | ||
|
||
LICENSE="AGPL-3+" | ||
KEYWORDS="~amd64 ~x86" | ||
IUSE="apache2 fastcgi +gd ldap mod_perl +mysql pdf postgres soap" | ||
SLOT="0" | ||
|
||
REQUIRED_USE="|| ( mysql postgres )" | ||
|
||
DEPEND="media-libs/libpng:0" | ||
|
||
RDEPEND="dev-perl/Apache-Reload | ||
dev-perl/Archive-Zip | ||
dev-perl/DBI | ||
dev-perl/IO-Socket-SSL | ||
dev-perl/JSON-XS | ||
dev-perl/LWP-UserAgent-Determined | ||
dev-perl/Mail-POP3Client | ||
dev-perl/Mail-IMAPClient | ||
>dev-perl/Net-DNS-0.60 | ||
dev-perl/Template-Toolkit | ||
dev-perl/Text-CSV_XS | ||
dev-perl/TimeDate | ||
dev-perl/XML-Parser | ||
dev-perl/YAML-LibYAML | ||
apache2? ( | ||
mod_perl? ( | ||
www-servers/apache:2 | ||
=www-apache/libapreq2-2* www-apache/mod_perl | ||
) | ||
!fastcgi? ( !mod_perl? ( www-servers/apache:2[suexec] ) ) | ||
) | ||
fastcgi? ( | ||
dev-perl/FCGI | ||
virtual/httpd-fastcgi | ||
) | ||
!fastcgi? ( !apache2? ( virtual/httpd-cgi ) ) | ||
gd? ( | ||
dev-perl/GD | ||
dev-perl/GDTextUtil | ||
dev-perl/GDGraph | ||
) | ||
ldap? ( dev-perl/perl-ldap ) | ||
mysql? ( dev-perl/DBD-mysql ) | ||
postgres? ( dev-perl/DBD-Pg ) | ||
pdf? ( | ||
>=dev-perl/PDF-API2-0.73 | ||
virtual/perl-Compress-Raw-Zlib | ||
) | ||
soap? ( | ||
dev-perl/SOAP-Lite | ||
!=dev-perl/SOAP-Lite-0.711 | ||
!=dev-perl/SOAP-Lite-0.712 | ||
) | ||
" | ||
|
||
OTRS_HOME="/var/lib/otrs" | ||
|
||
pkg_setup() { | ||
# The enewuser otrs will fail if apache isn't there, but it's an optional dep | ||
# so we create the apache user here just in case | ||
enewgroup apache 81 | ||
enewuser apache 81 -1 /var/www apache | ||
enewuser otrs -1 -1 "${OTRS_HOME}" apache | ||
} | ||
|
||
src_prepare() { | ||
rm -r "${S}/scripts"/auto_* || die | ||
|
||
pushd Kernel >/dev/null || die | ||
for i in *.dist; do | ||
cp "${i}" $(basename "${i}" .dist) || die | ||
done | ||
popd >/dev/null || die | ||
|
||
# Fix broken png file (and see pngfix help for exit codes) | ||
pngfix -q --out=out.png "${S}/var/httpd/htdocs/skins/Agent/default/img/otrs-verify.png" | ||
if [[ $? -gt 15 ]]; then | ||
die "pngfix failed" | ||
fi | ||
mv -f out.png "${S}/var/httpd/htdocs/skins/Agent/default/img/otrs-verify.png" || die | ||
|
||
sed -i -e "s:/opt/otrs:${EPREFIX%/}${OTRS_HOME}:g" "${S}"/Kernel/Config.pm \ | ||
|| die "sed failed" | ||
|
||
sed -i -e "s:/opt/otrs:${EPREFIX%/}${OTRS_HOME}:g" "${S}"/Kernel/Config/Defaults.pm \ | ||
|| die "sed failed" | ||
|
||
grep -lR "/opt" "${S}"/scripts | \ | ||
xargs sed -i -e "s:/opt/otrs:${EPREFIX%/}${OTRS_HOME}:g" \ | ||
|| die "sed failed" | ||
|
||
echo "CONFIG_PROTECT=\"${EPREFIX%/}${OTRS_HOME}/Kernel/Config.pm \ | ||
${EPREFIX%/}${OTRS_HOME}/Kernel/Config/GenericAgent.pm\"" > "${T}/50${PN}" || die | ||
|
||
eapply_user | ||
} | ||
|
||
# This is too automagic, either einfo telling user or installing to /etc/cron.d/ should be preferred | ||
pkg_config() { | ||
einfo "Installing cronjobs" | ||
crontab -u otrs "${EROOT%/}"/usr/share/doc/${PF}/crontab || die | ||
} | ||
|
||
src_install() { | ||
dodoc CHANGES.md README* | ||
|
||
insinto "${OTRS_HOME}" | ||
doins -r .fetchmailrc.dist .mailfilter.dist .procmailrc.dist RELEASE \ | ||
Custom Kernel bin scripts var | ||
|
||
cat "${S}"/var/cron/*.dist > "${T}"/crontab || die | ||
insinto /usr/share/doc/${PF}/ | ||
doins "${T}"/crontab | ||
|
||
local a | ||
for a in article log pics/images pics/stats pics sessions spool tmp tmp/CacheFileStorable | ||
do | ||
keepdir "${OTRS_HOME}/var/${a}" | ||
done | ||
doenvd "${T}/50${PN}" | ||
|
||
systemd_dounit "${FILESDIR}/otrs.service" | ||
} | ||
|
||
pkg_postinst() { | ||
einfo "Setting correct permissions ..." | ||
/usr/bin/env perl "${EROOT%/}${OTRS_HOME}"/bin/otrs.SetPermissions.pl "${EROOT%/}${OTRS_HOME}" \ | ||
--otrs-user=otrs \ | ||
--web-group=apache \ | ||
|| die "Could not set permissions" | ||
|
||
einfo "Installation done!" | ||
elog "1) Rebuild your config now by running the following commands:" | ||
elog "sudo -u otrs /usr/bin/env perl "${EROOT%/}${OTRS_HOME}"/bin/otrs.Console.pl Maint::Config::Rebuild" | ||
elog "sudo -u otrs /usr/bin/env perl "${EROOT%/}${OTRS_HOME}"/bin/otrs.Console.pl Maint::Cache::Delete" | ||
elog "" | ||
elog "2) Enable cronjobs with the following command:" | ||
elog "crontab -u otrs crontab" | ||
elog "" | ||
elog "3) systemd users: enable and start OTRS daemon:" | ||
elog "systemctl enable otrs" | ||
elog "systemctl start otrs" | ||
} |