Hello community, here is the log from the commit of package otrs.14919 for openSUSE:Leap:15.1:Update checked in at 2020-11-09 20:24:07 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Leap:15.1:Update/otrs.14919 (Old) and /work/SRC/openSUSE:Leap:15.1:Update/.otrs.14919.new.11331 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "otrs.14919" Mon Nov 9 20:24:07 2020 rev:1 rq:846517 version:6.0.30 Changes: -------- New Changes file: --- /dev/null 2020-10-22 01:51:33.322291705 +0200 +++ /work/SRC/openSUSE:Leap:15.1:Update/.otrs.14919.new.11331/otrs.changes 2020-11-09 20:24:10.617143944 +0100 @@ -0,0 +1,3735 @@ +------------------------------------------------------------------- +Wed Nov 4 16:47:26 UTC 2020 - ch...@computersalat.de + +- Update to 6.0.30 + https://community.otrs.com/otrs-community-edition-6-patch-level-30/ +- fix for boo#1178434 + * (CVE-2020-11022, CVE-2020-11023, OSA-2020-14) + Vulnerability in third-party library - jquery + OTRS uses jquery version 3.4.1, which is vulnerable to cross-site + scripting (XSS). For more information, please read following article + https://snyk.io/test/npm/jquery/3.4.1 + +------------------------------------------------------------------- +Mon Aug 3 14:25:06 UTC 2020 - ch...@computersalat.de + +- Update to 6.0.29 + https://community.otrs.com/otrs-community-edition-6-patch-level-29/ +- fix for boo#1174830 + * (CVE-2020-1776, OSA-2020-13) + Information disclosure + When an agent user is renamed or set to invalid the session + belonging to the user is keept active. The session can not be used + to access ticket data in the case the agent is invalid. +- Update to 6.0.28 + https://community.otrs.com/otrs-community-edition-6-patch-level-28/ +- fix for boo#1170764 + * (CVE-2020-1774, OSA-2020-11) + Information disclosure + When user downloads PGP or S/MIME keys/certificates, exported file + has same name for private and public keys. Therefore it’s possible + to mix them and to send private key to the third-party instead of + public key. +- rebase otrs-CheckModules.patch + +------------------------------------------------------------------- +Sat Aug 1 12:32:06 UTC 2020 - ch...@computersalat.de + +- fix deps + * add missing perl(Moo) +- add otrs-CheckModules.patch + +------------------------------------------------------------------- +Tue Apr 7 21:05:42 UTC 2020 - ch...@computersalat.de + +- Update to 5.0.42 + https://community.otrs.com/otrs-community-edition-5s-patch-level-42/ +- fix for boo#1168029 (CVE-2020-1773, OSA-2020-10) + * Session / Password / Password token leak + An attacker with the ability to generate session IDs or password + reset tokens, either by being able to authenticate or by exploiting + OSA-2020-09, may be able to predict other users session IDs, + password reset tokens and automatically generated passwords. +- fix for boo#1168029 (CVE-2020-1772, OSA-2020-09) + * Information Disclosure + It’s possible to craft Lost Password requests with wildcards in + the Token value, which allows attacker to retrieve valid Token(s), + generated by users which already requested new passwords. +- fix for boo#1168030 (CVE-2020-1771, OSA-2020-08) + * Possible XSS in Customer user address book + Attacker is able craft an article with a link to the customer + address book with malicious content (JavaScript). When agent opens + the link, JavaScript code is executed due to the missing parameter + encoding. +- fix for boo#1168031 (CVE-2020-1770, OSA-2020-07) + * Information disclosure in support bundle files + Support bundle generated files could contain sensitive information + that might be unwanted to be disclosed. +- fix for boo#1168032 (CVE-2020-1769, OSA-2020-06) + * Autocomplete in the form login screens + In the login screens (in agent and customer interface), Username + and Password fields use autocomplete, which might be considered + as security issue. +- Update to 5.0.41 + https://community.otrs.com/otrs-community-edition-5s-patch-level-41/ + * bug#14912 - Installer refers to non-existing documentation +- add code to upgrade OTRS from 4 to 5 + READ UPGRADING.SUSE + * steps 1 to 4 are done by rpm pkg + * steps 5 to *END* need to be done manully cause of DB backup +- BuildRequire pkgconfig(systemd) instead of systemd: allow OBS to + shortcut through the -mini flavors. + +------------------------------------------------------------------- +Fri Jan 10 17:46:02 UTC 2020 - ch...@computersalat.de + +- Update to 5.0.40 + https://community.otrs.com/otrs-community-edition-5s-patch-level-40/ +- fix for boo#1160663 + * (CVE-2020-1766, OSA-2020-02) + Improper handling of uploaded inline images + Due to improper handling of uploaded images it is possible in very + unlikely and rare conditions to force the agents browser to execute + malicious javascript from a special crafted SVG file rendered as + inline jpg file. + * (CVE-2020-1765, OSA-2020-01) + Spoofing of From field in several screens + An improper control of parameters allows the spoofing of the from + fields of the following screens: + AgentTicketCompose, AgentTicketForward, AgentTicketBounce and + AgentTicketEmailOutbound + * run bin/otrs.Console.pl Maint::Config::Rebuild after the upgrade +- !!! This is latest update for 5.0.x Release by OTRS !!! + +------------------------------------------------------------------- +Sat Dec 28 18:16:25 UTC 2019 - ch...@computersalat.de + +- Update 5.0.39 + https://community.otrs.com/otrs-community-edition-5s-patch-level-39/ +- fix for boo#1157001 + * (CVE-2019-18180, OSA-2019-15) + Denial of service + OTRS can be put into an endless loop by providing filenames with + overly long extensions. This applies to the PostMaster + (sending in email) and also upload + (attaching files to mails, for example). + * (CVE-2019-18179, OSA-2019-14) + Information Disclosure + An attacker who is logged into OTRS as an agent is able to list + tickets assigned to other agents, which are in the queue where + attacker doesn’t have permissions. + +------------------------------------------------------------------- +Sun Nov 10 13:42:13 UTC 2019 - ch...@computersalat.de + +- Update to 5.0.38 + https://community.otrs.com/release-notes-otrs-5s-patch-level-38/ +- fix for boo#1156431 + * (CVE-2019-16375, OSA-2019-13) + Stored XXS + An attacker who is logged into OTRS as an agent or customer user + with appropriate permissions can create a carefully crafted + string containing malicious JavaScript code as an article body. + This malicious code is executed when an agent compose an answer + to the original article. + +------------------------------------------------------------------- +Sat Jul 20 11:50:04 UTC 2019 - ch...@computersalat.de + +- Update to 5.0.37 + https://community.otrs.com/release-notes-otrs-5s-patch-level-37/ +- fix for boo#1141432 + * (CVE-2019-13458, OSA-2019-12) + Information Disclosure + An attacker who is logged into OTRS as an agent user with + appropriate permissions can leverage OTRS tags in templates in + order to disclose hashed user passwords. +- fix for boo#1141431 + * (CVE-2019-13457, OSA-2019-11) + Information Disclosure + A customer user can use the search results to disclose information + from their “company” tickets (with the same CustomerID), even when + CustomerDisableCompanyTicketAccess setting is turned on. +- fix for boo#1141430 + * (CVE-2019-12746, OSA-2019-10) + Session ID Disclosure + A user logged into OTRS as an agent might unknowingly disclose + their session ID by sharing the link of an embedded ticket article + with third parties. This identifier can be then potentially abused + in order to impersonate the agent user. + +------------------------------------------------------------------- +Sat Jun 29 10:50:27 UTC 2019 - ch...@computersalat.de + +- Update to 5.0.36 + https://community.otrs.com/release-notes-otrs-5s-patch-level-36/ +- fix for boo#1137614 + * (CVE-2019-12497, OSA-2019-09) + Information Disclosure + In the customer or external frontend, personal information of agents + can be disclosed like Name and mail address in external notes. +- fix for boo#1137615 + * (CVE-2019-12248, OSA-2019-08) + Loading External Image Resources + An attacker could send a malicious email to an OTRS system. If a + logged in agent user quotes it, the email could cause the browser + to load external image resources. +- Update to 5.0.35 + https://community.otrs.com/release-notes-otrs-5s-patch-level-35/ +- fix for boo#1139406 + * (CVE-2019-10067, OSA-2019-05) + Reflected and Stored XSS + An attacker who is logged into OTRS as an agent user with appropriate + permissions may manipulate the URL to cause execution of JavaScript + in the context of OTRS. +- fix for boo#1139406 + * (CVE-2019-9892, OSA-2019-04) + XXE Processing + An attacker who is logged into OTRS as an agent user with appropriate + permissions may try to import carefully crafted Report Statistics XML + that will result in reading of arbitrary files of OTRS filesystem. +- rebase otrs-perm_test.patch + +------------------------------------------------------------------- +Sat Jun 22 22:33:42 UTC 2019 - ch...@computersalat.de + +- update missing CVE for OSA-2018-10, OSA-2019-01 + ++++ 3538 more lines (skipped) ++++ between /dev/null ++++ and /work/SRC/openSUSE:Leap:15.1:Update/.otrs.14919.new.11331/otrs.changes New: ---- UPGRADING.SUSE ZZZAuto.pm itsm-6.0.30.tar.bz2 itsm-update.sh itsm.README.de itsm.README.en otrs-6.0.30.tar.bz2 otrs-CheckModules.patch otrs-httpd_conf.patch otrs-perm_test.patch otrs.README.de otrs.README.en otrs.changes otrs.permissions otrs.rpmlintrc otrs.service otrs.service.helper.sh otrs.spec sysconfig.otrs ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ otrs.spec ++++++ # # spec file for package otrs # # Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # #Compat macro for new _fillupdir macro introduced in Nov 2017 %if ! %{defined _fillupdir} %define _fillupdir /var/adm/fillup-templates %endif Name: otrs %define otrs_ver 6.0.30 %define itsm_ver 6.0.30 %define itsm_min 6 %define otrs_root /srv/%{name} %define otrsdoc_dir_files AUTHORS* CHANGES* COPYING* CREDITS README* UPGRADING.SUSE doc %define otrsdocs CHANGES* doc Summary: The Open Ticket Request System License: GPL-3.0-or-later Group: Productivity/Networking/Email/Utilities Version: %{otrs_ver} Release: 0 URL: https://community.otrs.com/ AutoReqProv: off Source: ftp://ftp.otrs.org/pub/otrs/%{name}-%{otrs_ver}.tar.bz2 Source1: itsm-%{itsm_ver}.tar.bz2 Source2: %{name}.rpmlintrc Source3: %{name}.permissions # Used to update the itsm package Source11: sysconfig.%{name} Source12: %{name}.README.en Source13: %{name}.README.de Source14: itsm.README.en Source15: itsm.README.de Source16: ZZZAuto.pm Source17: UPGRADING.SUSE Source20: %{name}.service Source21: %{name}.service.helper.sh # Source99: itsm-update.sh # PATCH-FIX-OPENSUSE -- VARS for conf and fix for apache >= 2.4 Patch1: %{name}-httpd_conf.patch # PATCH-FIX-OPENSUSE -- don't test write permissions on bin/ Patch2: otrs-perm_test.patch # PATCH-FIX-OPENSUSE -- missing check for perl(Moo) Patch10: otrs-CheckModules.patch BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build Requires(pre): coreutils Requires(pre): permissions Requires(pre): shadow Requires(post): %fillup_prereq Requires(post): apache2 Requires(post): coreutils Requires(post): sed Requires(post): shadow BuildRequires: fdupes BuildRequires: pwdutils # %if 0%{?suse_version} >= 1210 BuildRequires: pkgconfig(systemd) %{?systemd_ordering} %define has_systemd 1 %endif # Requires: apache2-mod_perl Requires: fetchmail Requires: mysql Requires: mysql-client Requires: perl Requires: procmail Requires: perl(Archive::Tar) Requires: perl(Archive::Zip) Requires: perl(DBD::mysql) Requires: perl(DBI) Requires: perl(Date::Format) Requires: perl(DateTime) Requires: perl(Digest::SHA) Requires: perl(LWP::UserAgent) Requires: perl(List::Util::XS) Requires: perl(Moo) Requires: perl(Net::DNS) >= 0.60 Requires: perl(Template) Requires: perl(Template::Stash::XS) Requires: perl(Time::HiRes) Requires: perl(Time::Piece) Requires: perl(YAML::XS) # Recommends: perl(Apache::DBI) Recommends: perl(Apache2::Reload) Recommends: perl(Authen::SASL) Recommends: perl(Crypt::Eksblowfish::Bcrypt) Recommends: perl(Crypt::SSLeay) Recommends: perl(GD) Recommends: perl(GD::Graph) Recommends: perl(GD::Text) Recommends: perl(IO::Socket::SSL) Recommends: perl(JSON::XS) Recommends: perl(Mail::IMAPClient) >= 3.22 Recommends: perl(ModPerl::Util) Recommends: perl(Net::SSL) Recommends: perl(PDF::API2) >= 0.73 Recommends: perl(SOAP::Lite) Recommends: perl(Text::CSV_XS) Recommends: perl(XML::LibXML) Recommends: perl(XML::LibXSLT) Recommends: perl(XML::Parser) # Suggests: perl(Authen::NTML) Suggests: perl(DBD::ODBC) Suggests: perl(DBD::Oracle) Suggests: perl(DBD::Pg) Suggests: perl(Encode::HanExtra) >= 0.23 Suggests: perl(Net::LDAP) # ### Framework -> Crypt::SMIME Recommends: ca-certificates %if "%_vendor" == "suse" %define VENDOR SUSE %else %define VENDOR %_vendor %endif %description OTRS is a Ticket Request System with many features to manage customer telephone calls and e-mails. Feature list: see README Authors list: see CREDITS %package doc Summary: OTRS Documentation Group: Documentation/Other %description doc This package contains the README, Changes and docs for OTRS Authors list: see CREDITS %package -n otrs-itsm Summary: ITIL focused IT service management Group: Productivity/Networking/Email/Utilities Version: %{itsm_ver} Release: 0 Requires: %{name} >= %{itsm_ver} Provides: OTRS::ITSM Provides: itsm = %{itsm_ver} %description itsm OTRS::ITSM implements ITIL focused IT service management. You need a OTRS %{otrs_ver} (http://otrs.org/) installation. Make sure your database accepts packages over 5 MB in size. A MySQL database for example accepts packages up to 1 MB by default. In this case, the value for max_allowed_packet must be increased. The recommended maximum size accepted is 20 MB. for INSTALL see INSTALL-%{itsm_min}.ITSM please see README.itsm for further details, which comes with otrs package Required OTRS::ITSM modules can be found under %{otrs_root}/itsm Authors list: see CREDITS %prep %setup -q -n %{name}-%{otrs_ver} -a 1 %patch1 %patch2 %patch10 ### Is this critical ? (https://bugs.otrs.org/show_bug.cgi?id=12889) # rpmlint: pem-certificate /srv/otrs/Kernel/cpan-lib/Mozilla/CA/cacert.pem #rm -f Kernel/cpan-lib/Mozilla/CA/cacert.pem ### UPGRADING.SUSE rm -f CONTRIBUTING.md INSTALL.md UPDATING.md cp %{S:17} . # fix @OTRS_ROOT@ sed -i -e "s,@OTRS_ROOT@,%{otrs_root},g" UPGRADING.SUSE ### ZZZAuto.pm for OTRS::ITSM pushd Kernel/Config/Files cp %{S:16} . # fix @OTRS_ROOT@ sed -i -e "s,@OTRS_ROOT@,%{otrs_root},g" ZZZAuto.pm popd # remove not needed files from scripts rm -rf \ scripts/*.spec \ scripts/auto_build \ scripts/redhat-* \ scripts/suse-*rc*otrs* # scripts/test [Kernel::System::Package::_FileInstall] # fix old otrs_root (/opt) sed -i -e "s,/opt/%{name},%{otrs_root},g" \ bin/Cron.sh \ i18n/otrs/otrs.*.po \ Kernel/Config/Defaults.pm \ Kernel/Config/Files/XML/Daemon.xml \ Kernel/Config/Files/XML/Framework.xml \ Kernel/Config.pm.dist \ Kernel/Language/*.pm \ Kernel/Modules/AdminDynamicFieldText.pm \ Kernel/Output/HTML/Templates/Standard/AdminGenericInterfaceTransportHTTPSOAP.tt \ Kernel/System/SysConfig.pm \ Kernel/System/ACL/DB/ACL.pm \ Kernel/System/Environment.pm \ Kernel/System/ProcessManagement/DB/Process.pm \ Kernel/System/UnitTest/Helper.pm \ scripts/apache2-perl-startup.pl # rpmlint: wrong-file-end-of-line-encoding perl -p -i -e "s|\r\n|\n|" itsm-%{itsm_ver}/INSTALL-%{itsm_min}.ITSM %build # copy config file cp -a Kernel/Config.pm.dist Kernel/Config.pm # copy all crontab dist files for file in var/cron/*.dist; do mv $file var/cron/$(basename $file .dist) done %install export DESTROOT="%{otrs_root}/" install -d %{buildroot}/${DESTROOT} install -d %{buildroot}/%{_sbindir} # install OTRS base system cp -a . %{buildroot}/${DESTROOT} # remove SECURITY.md rm -f %{buildroot}/${DESTROOT}/SECURITY.md for configFile in .fetchmailrc .mailfilter .procmailrc; do touch %{buildroot}/${DESTROOT}/${configFile} done touch %{buildroot}${DESTROOT}var/log/TicketCounter.log # install README for lang in en de; do cp -p "%{_sourcedir}/%{name}.README.${lang}" "README.%{VENDOR}.${lang}" cp -p "%{_sourcedir}/itsm.README.${lang}" "README.itsm.%{VENDOR}.${lang}" done # fix @OTRS_ROOT@ in README.* for r in $(ls -1 README.*); do sed -i -e "s,@OTRS_ROOT@,%{otrs_root},g" $r done # remove files that are part of the docdir pushd %{buildroot}/${DESTROOT} rm -rf %{otrsdoc_dir_files} install -d doc popd # permissions install -D -m 0644 %{S:3} %{buildroot}/etc/permissions.d/%{name} # fix @OTRS_ROOT@ sed -i -e "s,@OTRS_ROOT@,%{otrs_root},g" %{buildroot}/etc/permissions.d/%{name} # sysconfig install -D -m 0644 %{S:11} %{buildroot}%{_fillupdir}/sysconfig.%{name} # fix @OTRS_ROOT@ sed -i -e "s,@OTRS_ROOT@,%{otrs_root},g" %{buildroot}%{_fillupdir}/sysconfig.%{name} # systemd install -D -m 0644 %{S:20} %{buildroot}/%{_unitdir}/%{name}.service ln -fs %{_sbindir}/service %{buildroot}/%{_sbindir}/rc%{name} install -D -m 0755 %{S:21} %{buildroot}/%{_bindir}/%{name}.service.helper.sh # fix @OTRS_ROOT@ sed -i -e "s,@OTRS_ROOT@,%{otrs_root},g" "%{buildroot}/%{_unitdir}/%{name}.service" sed -i -e "s,@OTRS_ROOT@,%{otrs_root},g" "%{buildroot}/%{_bindir}/%{name}.service.helper.sh" otrs_apache_conf="scripts/apache2-httpd.include.conf" install -D -m 0644 ${otrs_apache_conf} %{buildroot}/etc/apache2/conf.d/%{name}.conf rm -f %{buildroot}/%{otrs_root}/scripts/apache*.conf # fix @OTRS_ROOT@ sed -i -e "s,@OTRS_ROOT@,%{otrs_root},g" %{buildroot}/etc/apache2/conf.d/%{name}.conf # OTRS::ITSM # rename itsm-%{itsm_ver} to itsm pushd %{buildroot}/${DESTROOT} mv itsm-%{itsm_ver} itsm popd %if 0%{?suse_version} > 1020 %fdupes %{buildroot}/%{otrs_root}/scripts/test %fdupes %{buildroot}/%{otrs_root}/var %fdupes %{buildroot}/%{otrs_root}/Kernel/cpan-lib %endif %if 0%{?suse_version} %verifyscript %verify_permissions -e %{otrs_root}/var/tmp/ %endif %pre # on `rpm -ivh` PARAM is 1 # on `rpm -Uvh` PARAM is 2 if [ -z "`%{_bindir}/getent group %{name} 2>/dev/null`" ]; then %{_sbindir}/groupadd -g 88 -r %{name} else if [ `%{_bindir}/id -g %{name}` != 88 ]; then %{_sbindir}/groupmod -g 88 %{name} fi fi if [ -z "`%{_bindir}/getent passwd %{name} 2>/dev/null`" ]; then %{_sbindir}/useradd -c "OTRS User" -d %{otrs_root} -G %{name},www -g %{name} -u 88 -r -s /bin/false %{name} else if [ `%{_bindir}/id -u %{name}` != 88 ]; then %{_sbindir}/usermod -c "OTRS User" -d %{otrs_root} -G %{name},www -g %{name} -u 88 %{name} fi fi # add wwwrun to otrs group %{_sbindir}/usermod -G %{name} wwwrun %service_add_pre %{name}.service %preun %service_del_preun %{name}.service %post %{fillup_only -n otrs} %service_add_post %{name}.service # set permissions %set_permissions %{otrs_root}/var/tmp/ # %if 0%{?suse_version} /usr/sbin/a2enmod perl >/dev/null /usr/sbin/a2enmod version >/dev/null %endif # Update ? if [ $1 -gt 1 ]; then # OTRS_ROOT changed from /opt to /srv if [ -f /opt/%{name}/Kernel/Config.pm.rpmsave ]; then mv /opt/%{name}/Kernel/Config.pm.rpmsave %{otrs_root}/Kernel/ fi %{_sbindir}/usermod -d %{otrs_root} %{name} #update sysconfig if [ -f /etc/sysconfig/%{name} ]; then sed -i -e "s,/opt/%{name},%{otrs_root},g" /etc/sysconfig/%{name} fi fi # if rpm is not in update mode if ! [ $1 -gt 1 ]; then if [ -z "${YAST_IS_RUNNING}" ]; then if [ -n "$LC_ALL" ]; then lang="$LC_ALL" elif [ -n "$LC_MESSAGE" ]; then lang="$LC_MESSAGE" elif [ -n "$LANG" ]; then lang="$LANG" else lang= fi echo case "$lang" in de_*) echo "Hinweise zur Erstkonfiguration von OTRS finden Sie in" echo "/usr/share/doc/packages/otrs/README.%{VENDOR}.de" ;; *) echo "About the initial setup of OTRS, please read" echo "/usr/share/doc/packages/otrs/README.%{VENDOR}.en" ;; esac echo fi fi exit 0 %postun %service_del_postun %{name}.service %files %defattr(-,root,root,-) %doc AUTHORS.md CHANGES.md COPYING* README* SECURITY.md UPGRADING.SUSE %{otrs_root}/ARCHIVE %{otrs_root}/RELEASE %{otrs_root}/.bash_completion %dir %{_sysconfdir}/apache2 %dir %{_sysconfdir}/apache2/conf.d %config(noreplace) %{_sysconfdir}/apache2/conf.d/%{name}.conf # permissions %config %{_sysconfdir}/permissions.d/%{name} # systemd %{_fillupdir}/sysconfig.%{name} %{_unitdir}/%{name}.service %{_bindir}/%{name}.service.helper.sh %{_sbindir}/rc%{name} # Custom %dir %{otrs_root}/Custom %{otrs_root}/Custom/README # i18n %dir %{otrs_root}/i18n %{otrs_root}/i18n/* # scripts/* %{otrs_root}/scripts/contrib %{otrs_root}/scripts/database %{otrs_root}/scripts/DBUpdateTo6 %{otrs_root}/scripts/tools %{otrs_root}/scripts/*.pl %{otrs_root}/scripts/*.pm # var/cron %dir %{otrs_root}/var/cron %config(noreplace) %attr(644,%{name},www) %{otrs_root}/var/cron/* # var/fonts %{otrs_root}/var/fonts # var/processes %{otrs_root}/var/processes # var/webservices %{otrs_root}/var/webservices ############### ## {root,www} ############### #defattr(0770,root,www,0775) %defattr(0750,root,www,0750) # bin %{otrs_root}/bin/*.pl %{otrs_root}/bin/cgi-bin/app.psgi %{otrs_root}/bin/cgi-bin/*.pl %{otrs_root}/bin/Cron.sh %{otrs_root}/bin/fcgi-bin/*.pl %exclude %{otrs_root}/bin/%{name}.SetPermissions.pl ############### ## {otrs,otrs} ############### # otrs HOME %defattr(-,%{name},%{name}) %dir %{otrs_root} %ghost %config(noreplace) %{otrs_root}/.fetchmailrc %ghost %config(noreplace) %{otrs_root}/.mailfilter %ghost %config(noreplace) %{otrs_root}/.procmailrc %{otrs_root}/.fetchmailrc.dist %{otrs_root}/.mailfilter.dist %{otrs_root}/.procmailrc.dist ############### ## {otrs,www} ############### %defattr(0644,%{name},www,0775) # var %dir %{otrs_root}/var %{otrs_root}/var/logo-%{name}.png # var/log %dir %attr(0770,%{name},www) %{otrs_root}/var/log %ghost %config(noreplace) %attr(660,%{name},www) %{otrs_root}/var/log/TicketCounter.log # var/spool %dir %attr(0770,%{name},www) %{otrs_root}/var/spool ############### ## {wwwrun,www} ############### %defattr(0750,wwwrun,www,0750) # bin %dir %{otrs_root}/bin %dir %{otrs_root}/bin/cgi-bin %dir %{otrs_root}/bin/fcgi-bin %defattr(0644,wwwrun,www,0755) # doc (is empty), [Kernel::System::Package::_FileInstall] %dir %{otrs_root}/doc # scripts/* %dir %{otrs_root}/scripts # scripts/test, [Kernel::System::Package::_FileInstall] %dir %{otrs_root}/scripts/test %{otrs_root}/scripts/test/* # var/httpd, [Kernel::System::Package::_FileInstall] %{otrs_root}/var/httpd # var/stats %dir %{otrs_root}/var/stats %{otrs_root}/var/stats/* # var/tmp %dir %{otrs_root}/var/tmp %verify(not user group mode) %attr(2770,wwwrun,www) %dir %{otrs_root}/var/tmp %defattr(0664,wwwrun,www,0775) # Kernel DIR %dir %{otrs_root}/Kernel %dir %{otrs_root}/Kernel/Autoload %{otrs_root}/Kernel/Autoload/Test.pm %config(noreplace) %attr(0640,wwwrun,www) %{otrs_root}/Kernel/Config.pm %{otrs_root}/Kernel/Config.pm.dist %{otrs_root}/Kernel/Config.pod.dist %dir %{otrs_root}/Kernel/Config %{otrs_root}/Kernel/Config/Defaults.pm %dir %{otrs_root}/Kernel/Config/Files %dir %{otrs_root}/Kernel/Config/Files/XML/ %{otrs_root}/Kernel/Config/Files/XML/*.xml %{otrs_root}/Kernel/GenericInterface %{otrs_root}/Kernel/cpan-lib %dir %{otrs_root}/Kernel/Language %config(noreplace) %{otrs_root}/Kernel/Language/*.pm %{otrs_root}/Kernel/Language.pm %{otrs_root}/Kernel/Modules/ %dir %{otrs_root}/Kernel/Output %dir %{otrs_root}/Kernel/Output/HTML %{otrs_root}/Kernel/Output/HTML/* %{otrs_root}/Kernel/Output/JavaScript %dir %{otrs_root}/Kernel/Output/PDF %{otrs_root}/Kernel/Output/PDF/* %dir %{otrs_root}/Kernel/Output/Template %{otrs_root}/Kernel/Output/Template/* %{otrs_root}/Kernel/System/ %files doc %defattr(644,root,root,755) %doc %{otrsdocs} %files itsm %defattr(-,root,root,-) %doc COPYING* README.itsm* %doc itsm-%{itsm_ver}/INSTALL-%{itsm_min}.ITSM %{otrs_root}/itsm %config(noreplace) %attr(0664,wwwrun,www) %{otrs_root}/Kernel/Config/Files/ZZZAuto.pm %changelog ++++++ UPGRADING.SUSE ++++++ Upgrading OTRS from 5 to 6 ========================== Warning ------- You cannot update from OTRS 4 or earlier directly to OTRS 6. Full updates to all available minor versions have to be made sequentially instead. For example, if you come from OTRS 3.0, you first have to perform a full update to OTRS 3.1, then to 3.2, 3.3, 4, 5 and finally to OTRS 6. These instructions are for people upgrading OTRS from 5 to 6 or from a 6 to a later patchlevel release 6 and applies both for RPM and source code (tarball) upgrades. If you are running a lower version of OTRS you have to follow the upgrade path to 5 first (1.1->1.2->1.3->2.0->2.1->2.2->2.3->2.4->3.0->3.1->3.2->3.3->4->5)! You need to perform a full upgrade to every version in between, including database changes and the upgrading Perl script. Please note that if you upgrade from OTRS 2.2 or earlier, you have to take an extra step. Within a single minor version you can skip patch level releases if you want to upgrade. For instance you can upgrade directly from OTRS 6 patchlevel 2 to version 6 patchlevel 14. It is highly recommended to perform a test update on a separate testing machine first. It is highly recommended to have a backup of your database first. 1. Stop all relevant services ----------------------------- e. g. (depends on used services): shell> rcotrs stop shell> rcpostfix stop shell> rcapache2 stop 2. Backup everything below @OTRS_ROOT@ (default: OTRS_ROOT=@OTRS_ROOT@) --------------------------------------------------------------------- - Kernel/Config.pm - Kernel/Config/Files/ZZZAuto.pm - var/* - as well as the database 3. Make sure that you have backed up everything ;-) --------------------------------------------------- 4. Install the new release (RPM) -------------------------------- shell> zypper -n up otrs if are also using ITSM, then also shell> zypper -n up otrs-itsm The RPM-update will keep the old configuration files. - Kernel/Config.pm - Kernel/Config/Files/ZZZAuto.pm (will be overwritten by itsm) You must use the new files *.rpmnew - Kernel/Config.pm.rpmnew shell> cp -a Kernel/Config.pm Kernel/Config.pm.backup shell> mv Kernel/Config.pm.rpmnew Kernel/Config.pm Then modify Kernel/Config.pm to adapt your settings (e.g. DB connection) 5. Check needed Perl modules ---------------------------- shell> @OTRS_ROOT@/bin/otrs.CheckModules.pl 6. Apply the database changes ----------------------------- shell> cd @OTRS_ROOT@ Note: If you have any custom Perl or XML configuration files in Kernel/Config/Files, these need to be converted to the new formats supported by OTRS 6 before running the migration script. You should convert the config files to the new XML format. shell> bin/otrs.Console.pl Dev::Tools::Migrate::ConfigXMLStructure --source-directory Kernel/Config/Files ### DATABASE MIGRATION SCRIPT Run the migration script (as user `otrs`, NOT as `root`): shell> scripts/DBUpdate-to-6.pl Do not continue the upgrading process if this script did not work properly for you. Otherwise data loss may occur. 7. Refresh the configuration cache and delete caches ----------------------------------------------------- Please run (as user `otrs`, NOT as `root`): shell> cd /opt/otrs/ shell> bin/otrs.Console.pl Maint::Config::Rebuild shell> bin/otrs.Console.pl Maint::Cache::Delete 8 Update installed packages --------------------------- Please run (as user `otrs`, NOT as `root`): shell> bin/otrs.Console.pl Admin::Package::UpgradeAll 9. Restart your services ------------------------ e. g. (depends on used services): shell> rcapache2 start shell> rcpostfix start shell> rcotrs start Now you can log into your system. ++++++ ZZZAuto.pm ++++++ # OTRS config file (automaticaly generated!) # VERSION:1.1 package Kernel::Config::Files::ZZZAuto; use utf8; sub Load { my ($File, $Self) = @_; $Self->{'SecureMode'} = 1; $Self->{'DefaultCharset'} = 'utf-8'; $Self->{'DefaultLanguage'} = 'de'; $Self->{'LogModule'} = 'Kernel::System::Log::File'; $Self->{'Package::RepositoryList'} = { 'file://@OTRS_ROOT@/itsm/packages5/' => '[--OTRS::ITSM 5 local repo]', 'http://ftp.otrs.org/pub/otrs/itsm/packages5/' => '[--OTRS::ITSM 5 Master--] http://ftp.otrs.org/', 'file://@OTRS_ROOT@/itsm/packages6/' => '[--OTRS::ITSM 6 local repo]', 'http://ftp.otrs.org/pub/otrs/itsm/packages6/' => '[--OTRS::ITSM 6 Master--] http://ftp.otrs.org/' }; $Self->{'Package::RepositoryAccessRegExp'} = '127\\.0\\.0\\.1'; } 1; ++++++ itsm-update.sh ++++++ #!/bin/bash # This script creates a new itsm-%version.tar.bz2 URL='ftp://ftp.otrs.org/pub/otrs/itsm' VERSION=$(grep "%define itsm_ver" otrs.spec | cut -d' ' -f3) MAJOR=$(echo ${VERSION} | cut -d'.' -f1) MINOR=$(echo ${VERSION} | cut -d'.' -f2) PATCH=$(echo ${VERSION} | cut -d'.' -f3) PPATCH=$((${PATCH} - 1)) if [[ ${MAJOR} -eq 4 ]]; then PMINOR='3.3' PMINOR_PKG=33 PREJECT="*3.2.9?.opm,*${PMINOR}.?.opm,*${PMINOR}.9?.opm" REJECT="*${PMINOR}.9?.opm,*${MAJOR}.0.?.opm,*${MAJOR}.0.1?.opm" elif [[ ${MAJOR} -eq 5 ]]; then PMINOR=$((${MAJOR} - 1)) PMINOR_PKG=${PMINOR} PREJECT="*3.3.9?.opm,*${PMINOR}.0.?.opm,*${PMINOR}.0.1?.opm,*${PMINOR}.0.9?.opm" REJECT="*${PMINOR}.0.9?.opm,*${MAJOR}.0.?.opm,*${MAJOR}.0.1?.opm" elif [[ ${MAJOR} -ge 6 ]]; then PMINOR=$((${MAJOR} - 1)) PMINOR_PKG=${PMINOR} PREJECT="*$((PMINOR - 1)).0.9?.opm,*$((MAJOR - 1)).0.?.opm,*$((MAJOR - 1)).0.1?.opm,*$((MAJOR - 1)).0.2?.opm" REJECT="*${PMINOR}.0.9?.opm,*${MAJOR}.0.9?.opm,*${MAJOR}.0.?.opm" fi if [[ ! -d itsm-${VERSION} ]]; then if [[ ! -d itsm-${MAJOR}.${MINOR}.${PPATCH} ]]; then if [[ -f itsm-${MAJOR}.${MINOR}.${PPATCH}.tar.bz2 ]]; then tar xvfpj itsm-${MAJOR}.${MINOR}.${PPATCH}.tar.bz2 mv itsm-${MAJOR}.${MINOR}.${PPATCH} itsm-${VERSION} else mkdir -p itsm-${VERSION} fi else mv itsm-${MAJOR}.${MINOR}.${PPATCH} itsm-${VERSION} fi fi cd itsm-${VERSION}/ || exit 1 # get INSTALL file wget -nH --cut-dirs=3 -m \ ${URL}/INSTALL-${MAJOR}.ITSM # convert "ASCII English text, with CRLF line terminators" # into "ASCII English text" perl -p -i -e 's|\r\n|\n|' INSTALL-* # get packages of current version, exclude RC's wget -nH --cut-dirs=3 -m \ -R ${REJECT} \ -R *~ \ ${URL}/packages${MAJOR}/ # get packages of previous version, exclude RC's wget -nH --cut-dirs=3 -m \ -R ${PREJECT} \ -R *~ \ ${URL}/packages${PMINOR_PKG}/ cd .. tar cvfj itsm-${VERSION}.tar.bz2 --exclude='.listing' itsm-${VERSION} ++++++ itsm.README.de ++++++ README Datei für OTRS::ITSM Das Paket otrs-itsm enhält alle notwendigen Module, um Ihre OTRS Installation mit ITSM zu erweitern. Hierbei sollten sie folgendes beachten: - mit der Installation dieses Pakets wird die Datei @OTRS_ROOT@/Kernel/Config/Files/ZZZAuto.pm hinzugefügt, welches ein lokales Repository zur Installation von OTRS::ITSM Modulen zur Verfügung stellt. Somit muß das OTRS System nicht zwingend eine Verbindung zum Internet haben. - Falls sie OTRS bereits schon länger in Verwendung haben und auch Anpassungen vorgenommen haben,dann sollten Sie das lokale Repository via SysConfig hinzufügen. -> gehen SIe in den Admin Bereich: -> wählen Sie SysConfig -> wählen Sie bei der Gruppenauswahl "Framework (324)" -> im erscheinenden Ergebnis wählen Sie "Core::Package" -> Config Einstellungen: Framework -> Core::Package o aktivieren Sie "Package::RepositoryAccessRegExp:" und belassen Sie den (Default: 127\.0\.0\.1) Wert o fügen Sie bei "Package::RepositoryList:" ein neues Repository hinzu Schlüssel: file://@OTRS_ROOT@/itsm/packages4/ Inhalt: [--OTRS::ITSM local repo] -> klicken Sie auf Aktualisieren Sie können nun in der "Paket Verwaltung" als Quelle "[--OTRS::ITSM local repo]" auswählen, um OTRS::ITSM zu installieren. Viel Spaß mit OTRS::ITSM ++++++ itsm.README.en ++++++ README File for OTRS::ITSM This package holds all needed modules to extend your OTRS with ITSM You should take care of the following info - with installing this package, there will be @OTRS_ROOT@/Kernel/Config/Files/ZZZAuto.pm added, which provides a local repo for installing all needed ITSM modules. So your OTRS System does not need to have internet access. - If you were using your OTRS and you already have done many mods, then you should add the local repo by hand. -> go to Admin section -> choose SysConfig -> on groups select "Framework (324)" -> on the results choose "Core::Package" -> Config settings: Framework -> Core::Package o activate "Package::RepositoryAccessRegExp:" and leave (Default: 127\.0\.0\.1) value as is. o on "Package::RepositoryList:" add a new repo Key: file://@OTRS_ROOT@/itsm/packages4/ Value: [--OTRS::ITSM local repo] -> click refresh Now you are able to select Source "[--OTRS::ITSM local repo]" in package management and can install OTRS::ITSM modules. Have fun with OTRS::ITSM ++++++ otrs-CheckModules.patch ++++++ Index: bin/otrs.CheckModules.pl =================================================================== --- bin/otrs.CheckModules.pl.orig +++ bin/otrs.CheckModules.pl @@ -438,6 +438,17 @@ my @NeededModules = ( }, }, { + Module => 'Moo', + Required => 1, + Comment => 'Minimalist Object Orientation.', + InstTypes => { + aptget => 'libmoo-perl', + emerge => 'dev-perl/Moo', + zypper => 'perl-Moo', + ports => 'perl/p5-moo', + }, + }, + { Module => 'Net::DNS', Required => 1, VersionsNotSupported => [ ++++++ otrs-httpd_conf.patch ++++++ Index: scripts/apache2-httpd.include.conf =================================================================== --- scripts/apache2-httpd.include.conf.orig +++ scripts/apache2-httpd.include.conf @@ -2,13 +2,13 @@ # added for OTRS (http://otrs.org/) # -- -ScriptAlias /otrs/ "/opt/otrs/bin/cgi-bin/" -Alias /otrs-web/ "/opt/otrs/var/httpd/htdocs/" +ScriptAlias /otrs/ "@OTRS_ROOT@/bin/cgi-bin/" +Alias /otrs-web/ "@OTRS_ROOT@/var/httpd/htdocs/" <IfModule mod_perl.c> # Setup environment and preload modules - Perlrequire /opt/otrs/scripts/apache2-perl-startup.pl + Perlrequire @OTRS_ROOT@/scripts/apache2-perl-startup.pl # Reload Perl modules when changed on disk PerlModule Apache2::Reload @@ -16,7 +16,8 @@ Alias /otrs-web/ "/opt/otrs/var/httpd/ht # general mod_perl2 options <Location /otrs> -# ErrorDocument 403 /otrs/customer.pl + +# ErrorDocument 403 /otrs/customer.pl ErrorDocument 403 /otrs/index.pl SetHandler perl-script PerlResponseHandler ModPerl::Registry @@ -24,19 +25,21 @@ Alias /otrs-web/ "/opt/otrs/var/httpd/ht PerlOptions +ParseHeaders PerlOptions +SetupEnv - <IfModule mod_version.c> - <IfVersion < 2.4> - Order allow,deny - Allow from all - </IfVersion> - <IfVersion >= 2.4> - Require all granted - </IfVersion> - </IfModule> - <IfModule !mod_version.c> + <IfVersion < 2.4> Order allow,deny Allow from all - </IfModule> + </IfVersion> + + <IfVersion >= 2.4> + <IfModule !mod_access_compat.c> + Require all granted + </IfModule> + <IfModule mod_access_compat.c> + Order allow,deny + Allow from all + </IfModule> + </IfVersion> + </Location> # mod_perl2 options for GenericInterface @@ -46,23 +49,25 @@ Alias /otrs-web/ "/opt/otrs/var/httpd/ht </IfModule> -<Directory "/opt/otrs/bin/cgi-bin/"> +<Directory "@OTRS_ROOT@/bin/cgi-bin/"> + AllowOverride None Options +ExecCGI -Includes - <IfModule mod_version.c> - <IfVersion < 2.4> - Order allow,deny - Allow from all - </IfVersion> - <IfVersion >= 2.4> - Require all granted - </IfVersion> - </IfModule> - <IfModule !mod_version.c> + <IfVersion < 2.4> Order allow,deny Allow from all - </IfModule> + </IfVersion> + + <IfVersion >= 2.4> + <IfModule !mod_access_compat.c> + Require all granted + </IfModule> + <IfModule mod_access_compat.c> + Order allow,deny + Allow from all + </IfModule> + </IfVersion> <IfModule mod_filter.c> <IfModule mod_deflate.c> @@ -72,22 +77,52 @@ Alias /otrs-web/ "/opt/otrs/var/httpd/ht </Directory> -<Directory "/opt/otrs/var/httpd/htdocs/"> +<Directory "@OTRS_ROOT@/var/httpd/htdocs/js/thirdparty/ckeditor-4.4.8/"> + # + # Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. + # For licensing, see LICENSE.html or http://ckeditor.com/license + # + + # + # On some specific Linux installations you could face problems with Firefox. + # It could give you errors when loading the editor saying that some illegal + # characters were found (three strange chars in the beginning of the file). + # This could happen if you map the .js or .css files to PHP, for example. + # + # Those characters are the Byte Order Mask (BOM) of the Unicode encoded files. + # All FCKeditor files are Unicode encoded. + # + + AddType application/x-javascript .js + AddType text/css .css + + # + # If PHP is mapped to handle XML files, you could have some issues. The + # following will disable it. + # + + AddType text/xml .xml +</Directory> + +<Directory "@OTRS_ROOT@/var/httpd/htdocs/"> + + Options +FollowSymlinks AllowOverride None - <IfModule mod_version.c> - <IfVersion < 2.4> - Order allow,deny - Allow from all - </IfVersion> - <IfVersion >= 2.4> - Require all granted - </IfVersion> - </IfModule> - <IfModule !mod_version.c> + <IfVersion < 2.4> Order allow,deny Allow from all - </IfModule> + </IfVersion> + + <IfVersion >= 2.4> + <IfModule !mod_access_compat.c> + Require all granted + </IfModule> + <IfModule mod_access_compat.c> + Order allow,deny + Allow from all + </IfModule> + </IfVersion> <IfModule mod_filter.c> <IfModule mod_deflate.c> @@ -123,33 +158,35 @@ Alias /otrs-web/ "/opt/otrs/var/httpd/ht # </Location> <IfModule mod_headers.c> + # Cache css-cache for 30 days - <Directory "/opt/otrs/var/httpd/htdocs/skins/*/*/css-cache"> + <Directory "@OTRS_ROOT@/var/httpd/htdocs/skins/*/*/css-cache"> <FilesMatch "\.(css|CSS)$"> Header set Cache-Control "max-age=2592000 must-revalidate" </FilesMatch> </Directory> # Cache css thirdparty for 4 hours, including icon fonts - <Directory "/opt/otrs/var/httpd/htdocs/skins/*/*/css/thirdparty"> + <Directory "@OTRS_ROOT@/var/httpd/htdocs/skins/*/*/css/thirdparty"> <FilesMatch "\.(css|CSS|woff|svg)$"> Header set Cache-Control "max-age=14400 must-revalidate" </FilesMatch> </Directory> # Cache js-cache for 30 days - <Directory "/opt/otrs/var/httpd/htdocs/js/js-cache"> + <Directory "@OTRS_ROOT@/var/httpd/htdocs/js/js-cache"> <FilesMatch "\.(js|JS)$"> Header set Cache-Control "max-age=2592000 must-revalidate" </FilesMatch> </Directory> # Cache js thirdparty for 4 hours - <Directory "/opt/otrs/var/httpd/htdocs/js/thirdparty/"> + <Directory "@OTRS_ROOT@/var/httpd/htdocs/js/thirdparty/"> <FilesMatch "\.(js|JS)$"> Header set Cache-Control "max-age=14400 must-revalidate" </FilesMatch> </Directory> + </IfModule> # Limit the number of requests per child to avoid excessive memory usage ++++++ otrs-perm_test.patch ++++++ Index: Kernel/System/Package.pm =================================================================== --- Kernel/System/Package.pm.orig +++ Kernel/System/Package.pm @@ -4321,7 +4321,6 @@ sub _FileSystemCheck { } my @Filepaths = ( - '/bin/', '/Kernel/', '/Kernel/System/', '/Kernel/Output/', ++++++ otrs.README.de ++++++ Hallo, hier eine Schnellübersicht, wie Sie das OTRS auf Ihrem SUSE Linux zum Laufen bringen. Prüfen Sie bitte den "max_allowed_packet" Wert in Ihrer MySQL config (my.cnf). Dieser sollte auf jeden Fall > 1MB sein. Ich empfehle einen Wert von 20MB. 1) Starten Sie Apache und MySQL mittels shell> rcapache2 restart && rcmysql restart 2) Rufen Sie http://localhost/otrs/installer.pl in einem web browser auf und folgen Sie den Anweisungen. 3) Wenn Sie Ihr System neu starten müssen, stellen Sie sicher, dass alle für OTRS erforderlichen Dienste gestartet werden. Sie gewährleisten dies durch Aktivieren der Dienste apache2, mysql, otrs-scheduler und otrs mit dem YaST Runlevel-Editor (SLE11) oder dem YaST Dienste-Manager (SLE12 und openSUSE ab Version 13.1) oder auf der Kommandozeile mittels SLE11: shell> insserv apache2 shell> insserv mysql shell> insserv otrs SLE12 und openSUSE: shell> systemctl enable apache2 shell> systemctl enable mysql shell> systemctl enable otrs 4) Remember to have fun! Für weitergehende Fragen besuchen Sie doch unter http://www.otrs.org die OTRS web-Seiten. Insoweit Sie professionelle Unterstützung oder Beratung benötigen, wird ein solcher Dienst durch ((otrs)) unter http://www.otrs.com seitens des OTRS-Kernteams angeboten. ++++++ otrs.README.en ++++++ Hello, here is a quick overview, what you have to do, to get the OTRS running on SUSE Linux. Please check settings of "max_allowed_packet" in your MySQL config (my.cnf). The value should be > 1MB in any case. I recommend a value of 20MB. 1) Start Apache and MySQL with shell> rcapache2 restart && rcmysql restart 2) Load http://localhost/otrs/installer.pl with a web browser and follow the instructions. 3) If you reboot the system, make sure, all services are available. You can achieve this with the YaST runlevel editor on SLE11 or the YaST services manager on SLE12 and openSUSE >= 13.1, activating the services apache2, mysql, otrs-scheduler and otrs, or on the command line with SLE11: shell> insserv apache2 shell> insserv mysql shell> insserv otrs SLE12 and openSUSE: shell> systemctl enable apache2 shell> systemctl enable mysql shell> systemctl enable otrs 4) Remember to have fun! For further questions take a look at the http://www.otrs.org website. Or if you are searching for professional support or consulting regarding OTRS, take a look at ((otrs)) http://www.otrs.com where the OTRS coreteam offers these services. ++++++ otrs.permissions ++++++ ### DBUpdate-to-y.pl is going to write there @OTRS_ROOT@/var/tmp/ wwwrun:www 2770 ++++++ otrs.rpmlintrc ++++++ addFilter('files-duplicate /srv/otrs/Kernel/Config.pm.dist') addFilter('files-duplicate /srv/otrs/Kernel/Config/GenericAgent.pm.dist') addFilter('files-duplicate /srv/otrs/Kernel/Output/HTML/Standard/AgentTicketNote.tt') addFilter('files-duplicate /srv/otrs/Kernel/Output/HTML/Standard/AgentTicketFreeText.tt') addFilter('files-duplicate /srv/otrs/Kernel/Output/HTML/Standard/AgentTicketResponsible.tt') addFilter('files-duplicate /srv/otrs/Kernel/Output/HTML/Standard/AgentTicketOwner.tt') addFilter('files-duplicate /srv/otrs/Kernel/Output/HTML/Standard/AgentTicketPending.tt') addFilter('files-duplicate /srv/otrs/Kernel/Output/HTML/Standard/AgentTicketPriority.tt') addFilter('files-duplicate /srv/otrs/Kernel/Output/HTML/Standard/AgentTicketClose.tt') addFilter('hidden-file-or-dir') addFilter('macro-in-comment') addFilter('no-manual-page-for-binary') addFilter('non-etc-or-var-file-marked-as-conffile') addFilter('non-executable-script') addFilter('zero-length') addFilter('pem-certificate /srv/otrs/Kernel/cpan-lib/Mozilla/CA/cacert.pem') addFilter('pem-certificate /srv/otrs/scripts/test/sample/SSL/certificate.pem') addFilter('pem-certificate /srv/otrs/scripts/test/sample/SSL/ca-certificate.pem') #setBadness('permissions-unauthorized-file', 333) ++++++ otrs.service ++++++ # Copyright (c) 2017 Scorpio IT, Deidesheim, Germany [Unit] # Copyright (C) 2001-2017 OTRS AG, http://otrs.com/ Description=OTRS Documentation=https://otrs.github.io/doc/manual/admin/stable/en/html/ After=crond.service apache2.service mysql.service [Service] User=otrs Type=oneshot RemainAfterExit=yes EnvironmentFile=/etc/sysconfig/otrs #ExecStartPre=/usr/bin/chmod 755 @OTRS_ROOT@/bin/otrs.PostMaster.pl #ExecStartPre=/usr/bin/otrs.service.helper.sh ExecStart=@OTRS_ROOT@/bin/otrs.Daemon.pl start #ExecStop=/usr/bin/chmod 644 @OTRS_ROOT@/bin/otrs.PostMaster.pl #ExecStopPost=/usr/bin/crontab -u otrs -r [Install] WantedBy=multi-user.target ++++++ otrs.service.helper.sh ++++++ #!/bin/bash # # Copyright (c) 2017 Scorpio IT, Deidesheim, Germany # All rights reserved # # Author: Christian Wittmer <r...@scorpio-it.net> # export LANG=POSIX PATH="/bin:/usr/bin:/sbin:/usr/sbin" # Check for existence of needed config file and read it OTRS_SYSCONFIG=/etc/sysconfig/otrs test -r $OTRS_SYSCONFIG || { echo "$OTRS_SYSCONFIG does not exist"; if [ "$1" = "stop" ]; then exit 0; else exit 6; fi; } # Read config . $OTRS_SYSCONFIG # -- # prepare cron stuff # -- if test $OTRS_CRON_RUNNING -gt 0; then if [[ -d $OTRS_CRON_DIR ]]; then cd $OTRS_CRON_DIR /bin/ls * | /usr/bin/grep -v '.dist' | /usr/bin/grep -v '.save' | /usr/bin/grep -v 'CVS' | /usr/bin/grep -v '.rpm' | \ /usr/bin/xargs cat > $OTRS_CRON_TMP_FILE fi fi ++++++ sysconfig.otrs ++++++ ## Path: Network/Mail/OTRS ## Description: Open source Ticket Request System configuration ## Type: string ## Default: OTRS # # program name # OTRS_PROG="OTRS" # Type: string ## Default: otrs # # OTRS User # OTRS_USER="otrs" ## Type: string ## Default: otrs # # OTRS Group # OTRS_GROUP="otrs" ## Type: string ## Default: @OTRS_ROOT@ # # OTRS home (root) directory # OTRS_ROOT="@OTRS_ROOT@" ## Type: string(0,1) ## Default: 1 # # The OTRS cron jobs run on this host? 1=yes, 0=no # OTRS_CRON_RUNNING="1" ## Type: string(0,1) ## Default: 1 # # The OTRS database is on this host? 1=yes, 0=no # OTRS_DB_RUNNING="0" ## Type: string(0,1) ## Default: 1 # # The OTRS web server is on this host? 1=yes, 0=no # OTRS_HTTP_RUNNING="1" ## Type: string(0,1) ## Default: 1 # # The OTRS scheduler server is on this host? 1=yes, 0=no # OTRS_SCHEDULER_RUNNING="1" ## Type: string(MySQL,PostgreSQL) ## Default: MySQL ## ServiceRestart: otrs # # Used database. # Note: Take care, that you have changed the Config.pm database settings! # OTRS_USED_DB="MySQL" ## Type: string(rcmysql,rcpostgresql) ## Default: rcmysql ## ServiceRestart: otrs # # Init script to control database. # OTRS_USED_DB_RCSCRIPT="rcmysql" ## Type: string ## Default: apache ## ServiceRestart: otrs # # Used webserver # OTRS_USED_WEBSERVER="Apache" ## Type: string ## Default: rcapache2 ## ServiceRestart: otrs # # Init script to control the webserver # OTRS_USED_WEBSERVER_RCSCRIPT="rcapache2" ## Type: string ## Default: $OTRS_ROOT/var/cron # # Location of the cron jobs # OTRS_CRON_DIR="$OTRS_ROOT/var/cron" ## Type: string ## Default: $OTRS_ROOT/var/tmp/cron # # Location of the temporary cron files # OTRS_CRON_TMP_FILE="$OTRS_ROOT/var/tmp/cron" ## Type: string ## Default: " -u otrs " # # Cron job user option # OTRS_CRON_USER=" -u otrs " ## Type: string ## Default: otrs.example.com # # Command to get the systems hostname # OTRS_HOST="otrs.example.com" ## Type: string ## Default: otrs # # OTRS location - means http://host/$OTRS_HTTP_LOCATION/index.pl # OTRS_HTTP_LOCATION="otrs" ## Type: string ## Default: $OTRS_ROOT/bin/otrs.PostMaster.pl # # Location of the PostMaster.pl script. # OTRS_POSTMASTER="$OTRS_ROOT/bin/otrs.PostMaster.pl" ## Type: string ## Default: $OTRS_ROOT/bin/otrs.CheckDB.pl # # Location of the CheckDB.pl script. # OTRS_CHECKDB="$OTRS_ROOT/bin/otrs.CheckDB.pl" ## Type: string ## Default: $OTRS_ROOT/bin/otrs.CleanUp.pl # # Location of the CleanUp.pl script. # OTRS_CLEANUP="$OTRS_ROOT/bin/otrs.CleanUp.pl" ## Type: string ## Default: $OTRS_ROOT/bin/otrs.Scheduler.pl # # Location of the Scheduler.pl script. # OTRS_SCHEDULER="$OTRS_ROOT/bin/otrs.Scheduler.pl" ## Type: string ## Default: "$OTRS_SCHEDULER -a status | grep 'Running'" # # Command to get status of Scheduler # OTRS_SCHEDULER_TEST="$OTRS_SCHEDULER -a status | grep 'Running'" # Type: string ## Default: rcotrs-scheduler ## ServiceRestart: otrs # # Init script to control the OTRS Scheduler # OTRS_USED_SCHEDULER_RCSCRIPT="rcotrs-scheduler" ## Type: string ## Default: $OTRS_ROOT/var/spool # # Location of the OTRS spool directory. # OTRS_SPOOLDIR="$OTRS_ROOT/var/spool"