Hello community, here is the log from the commit of package otrs.2716 for openSUSE:12.3:Update checked in at 2014-04-22 15:33:29 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:12.3:Update/otrs.2716 (Old) and /work/SRC/openSUSE:12.3:Update/.otrs.2716.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "otrs.2716" Changes: -------- New Changes file: --- /dev/null 2014-04-17 09:46:44.096034755 +0200 +++ /work/SRC/openSUSE:12.3:Update/.otrs.2716.new/otrs.changes 2014-04-22 15:33:33.000000000 +0200 @@ -0,0 +1,2287 @@ +------------------------------------------------------------------- +Thu Apr 3 22:25:16 UTC 2014 - chris@computersalat.de + +- fix for bnc#871758 (CVE-2014-2553) +- update to 3.1.21 2014-04-01 + fix for OSA-2014-04 (CVE-2014-2553) + fix for OSA-2014-05 (CVE-2014-2554) + * Fixed bug#10374 - OTRS does not protect against clickjacking. + * Fixed bug#10361 - Incorrect handling of special characters in + DynamicFields. + * Fixed bug#10309 - mails with an empty return-path header must not + trigger auto responses in OTRS. +- rename, rebase and update httpd_conf patch + +------------------------------------------------------------------- +Thu Mar 6 00:54:26 UTC 2014 - chris@computersalat.de + +- fix for bnc#866476 (CVE-2014-1695) +- update to 3.1.20 + (fix for OSA-2014-03, CVE-2014-1695) + * Improved HTML filter. + - 3.1.19 2014-01-28 + * Fixed bug#10158 - Missing quoting in State::StateGetStatesByType(). + * Fixed bug#10099 - Missing challenge token checks on customer interface. + * Fixed bug#8489 - setting Tickets per page resets AgentTicketQueue. + * Fixed bug#9661 - Useless code in DynamicField backend. + * Fixed bug#9622 - Actions in Small ticket overview don't work when cookies + are turned off. + * Fixed bug#9541 - Package manager cannot use https proxy. + * Fixed bug#9594 - No auto-reply sent with multiple From addresses in + AgentTicketPhone on PostgreSQL and Oracle. + * Fixed bug#3434 - Validity of search time frame not checked by OTRS. + * Fixed bug#9596 - On merge and bounce screens is confusing when fill or not + 'To', 'Subject' and 'Body' fields. + * Fixed bug#9595 - Incomplete page reload handling in merge and bounce. + * Fixed bug#3007 - CheckMXRecord and CheckEmailAddresses have no effect on + AgentTicketBounce. + * Fixed bug#9512 - Database error for invalid date in AgentTicketSearch. + * Fixed bug#8835 - No article found for TicketID <TICKET ID> when showing + group tickets + * Fixed bug#9583 - Dynamic Fields of type Date have timestamp in notifications. + * Fixed bug#9579 - SOAP Serializer used in Kernel/GenericInterface/Transport/ + HTTP/SOAP.pm does not correctly set namespace. + * Fixed bug#7359 - Setting pending states via generic agent does not set + pending time. + * Fixed bug#8380 - Middle name not displayed in AdminCustomerUser. + * Fixed bug#9576 - GI TicketSearch Date and Date/Time dynamic fields are + ignored. + * Changed Dynamic Field SearchFieldParameterBuild() API, LayoutObject is now + optional. + * Fixed bug#9573 - Date and DateTime dynamic fields not considered in + GenericAgent Jobs. +- rebase perm patch + +------------------------------------------------------------------- +Fri Jul 26 23:46:45 UTC 2013 - chris@computersalat.de + +- fix for bnc#828850 (CVE-2013-4717, CVE-2013-4718) +- update to 3.1.18 + (fix for OSA-2013-05, CVE-2013-4717, CVE-2013-4718) + * Fixed bug#9561 - ACL restriction with CustomerID for DynamicFields at new + Ticket screen not working. + * Fixed bug#9425 - Wrong created date for queue view. + * Fixed bug#9125 - AgentTicketSearch dialog does not expand when choosing + more search criteria. + * Fixed bug#8273 - Copying text in preview mode not possible. + * Fixed bug#9557 - Cannot see quoted text in customer ticket zoom. + * Fixed bug#9011 - GenericInterface: New value after value mapping can't be 0. + * Improved parameter quoting in various places. + * Fixed bug#9104 - Group permission for customer subset overwrites permissions + for other customers. + * Fixed bug#8719 - PasswordMin2Lower2UpperCharacters problem. + - 3.1.17 + (fix for OSA-2013-04, CVE-2013-4088) + * Improved permission checks in AgentTicketWatcher. + * Fixed bug#9503 - no connection header in soap responses. + * Added parameter "-t dbonly" to backup.pl to only backup the database + * Fixed bug#9491 - GenericAgent job update with dynamic fields sends + Uninitialized value error. + * Fixed bug#9462 - Package Management page timeout due to HTTPS disabled on + Proxy connections. + - 3.1.16 + (fix for OSA-2013-03, CVE-2013-3551) + * Updated Package Manager, that will ensure that packages to be installed + meet the quality standards of OTRS Group. This is to guarantee that your + package wasn’t modified, which may possibly harm your system or have an + influence on the stability and performance of it. All independent package + contributors will have to conduct a check of their Add-Ons by OTRS Group + in order to take full advantage of the OTRS package verification. + * Fixed bug#9387 - Error in a condition with dynamic fields in + NotificationEvent. + * Fixed bug#9286 - Ticket::ChangeOwnerToEveryone isn't functional, After a + AJAX Load the setting is ignored. + * Fixed bug#7518 - Escalation Notify by not working properly (follow-up fix). + * Fixed bug#7478 - Got an external answer to an internal mail. + * Improved permission checks in AgentTicketPhone. + * Fixed bug#[9360](http://bugs.otrs.org/show_bug.cgi?id=9360) - + DynamicField Names shown in CSV output. + * Fixed bug#9384 - Problem with Method ServiceParentsGet of ServiceObject. + * Fixed bug#9072 - Reply to email-internal includes customer users email in + Cc. field. + - 3.1.15 + * Added Malay translation. + * Fixed bug#8960 - AgentTicketSearch.pm SearchProfile problem. + * Fixed bug#9182 - Customer Search Function -> If you go into a ticket + and go back you got not the search results. + * Fixed bug#9198 - Linked search with fulltext AND additional attributes. + * Fixed bug#9295 - Article dynamic field is not searchable. + * Fixed bug#9312 - LinkObject permission check problem. + - 3.1.14 + (fix for OSA-2013-01, CVE-2013-2625) + * Fixed bug#9257 - No notifications to agents with out-of-office set but + period not reached. + * Improved permission checks in LinkObject. + * Fixed bug#9191 - When ticket types are restricted, first available type + is selected in AgentTicketActionCommon-based screens. + * Updated Turkish translation, thanks to Sefer Şimşek / Network Group! + * Fixed bug#9214 - IE10: impossible to open links from rich text articles. + * Fixed bug#9218 - Cannot use special characters in TicketHook. + * Fixed bug#9056 - Unused SysConfig option Ticket::Frontend::CustomerInfoQueueMaxSize. + * Follow-up fix for bug#8533 apache will not start on Fedora. + * Fixed bug#9172 - Generic Interface does not work on IIS 7.0. + * Updated Czech language translation, thanks to Katerina Bubenickova! + * Fixed bug#8865 - Additional empty data column in statistics CSV-Output. +- update OTRS::ITSM to 3.1.10 + (fix for OSA-2013-05, CVE-2013-4717, CVE-2013-4718) + - update OTRS::ITSM to 3.1.9 + (fix for OSA-2013-03, CVE-2013-3551) + - update OTRS::ITSM to 3.1.8 + (fix for OSA-2013-01, CVE-2013-2625) + (fix for OSA-2013-02, CVE-2013-2637) + +------------------------------------------------------------------- +Tue Feb 19 16:42:56 UTC 2013 - chris@computersalat.de + +- update to 3.1.13 + - http://www.otrs.com/en/open-source/community-news/releases-notes/ + release-notes-otrs-help-desk-3113/ + - http://source.otrs.org/viewvc.cgi/otrs/CHANGES?revision=1.2260.2.206&view=markup + * Fixed bug#9162 - Setting the start day of the week for the datepicker to + Sunday does not work. + * Fixed bug#9141 - Confused Columns in CustomerTicketSearch (ResultShort). + * Fixed bug#9146 - Signed SMIME mails with altered content shows a not clear + message. + * Fixed bug#9145 - SMIME sign verification errors are not displayed in TicketZoom. + * Fixed bug#9140 - Postmaster Filter for empty subjects does not work. + * Fixed bug#9121 - Filenames with Unicode NFD are incorrectly reported as NFC + by Main::DirectoryRead(). + * Fixed bug#9108 - Check for opened/closed tickets not working with + Ticket::SubjectFormat = Right. + * Fixed bug#8839 - DateChecksum followup doesn't get correctly SystemID. + * Updated Russian translation, thanks to Vadim Goncharov! + * Fixed bug#9101 - Not possible to create dropdown with autocomplete attribute. + * Fixed bug#9096 - All services list is shown instead of only default services. + * Fixed bug#8470 - otrs.GenericAgent.pl reports: Can't open + '/opt/otrs/otrs_vemco/var/tmp/CacheFileStorable/DynamicField/f3b7e10730fb6c9cab5ae0e7f7e034f3'. + * Added new translation for Spanish (Colombia), thanks to John Edisson Ortiz Roman! + * Fixed bug#9054 - Link Object deletes all links under certain conditions. + * Fixed bug#8944 - do not backup the cache. + * Fixed bug#9057 - Generating a PDF with bin/otrs.GenerateStats.pl produces lots + of warnings. + * Fixed bug#8929 - Fix problems with empty ticket search results while + Ticket::Frontend::AgentTicketSearch###ExtendedSearchCondition is inactive. + * Fixed bug#9042 - Add X-Spam-Score to Ticket.xml. + * Fixed bug#9047 - HistoryTicketGet caches info on disk directly. + * Fixed bug#8923 - Alert message shown, if parent window is reloaded while + bulk action popup is open. + * Fixed bug#9030 - Wrong handling of Invalid YAML in Scheduler Tasks. + * Updated CKEditor to version 3.6.6. + * Updated Polish translation, thanks to Pawel @ ib.pl! + * Follow-up fix for bug#8805 - Cron missing as RPM dependency on RHEL. + Changed dependency on 'anacron' to 'vixie-cron' on RHEL5. + * Fixed bug#9020 - Generic Ticket Connector does not support attachments with + ContentType without charset. + * Fixed bug#8545 - Attachment download not possible if pop up of another action is open. + * Fixed bug#9009 - Empty Multiselect Dynamic Fields provokes an error. + * Fixed bug#8589 - Bulk-Action not possible for single ticket. + * Fixed bug#7198 - Broken repository selection width in Package Manager. + * Fixed bug#8457 - Error if accessing AgentTicketSearch from AgentTicketPhone in IE8. + * Fixed bug#8695 - Table head of Customer Ticket History does not resize on window resize. + * Fixed bug#8533 - Apache will not start if you use mod_perl on Fedora 16 or 17. + * Fixed bug#8974 - Event Based Notification does not populate REALNAME with + Customer User data. + +------------------------------------------------------------------- +Wed Dec 12 17:11:37 UTC 2012 - chris@computersalat.de + +- update to 3.1.12 + * Fixed bug#8933 - ArticleStorageInit permission check problem. + * Fixed bug#8763 - Please add charset conversion for customer companies. + * Fixed bug#1970 - Email attachments of type .msg (Outlook-Message) are converted. + * Fixed bug#8955 - Init script might fail on SUSE. + * Fixed bug#8936 - Ticket close date is empty when ticket is created in closed state. + * Fixed bug#8937 - "$" should be escaped in interpolated strings when javascript is meant. + * Fixed bug#8919 - Customer interface search results: ticket can only be accessed + via ticket number and subject. + * Fixed bug#8850 - CustomerTicketOverview - MouseOver Age isn't always correct. ++++ 2090 more lines (skipped) ++++ between /dev/null ++++ and /work/SRC/openSUSE:12.3:Update/.otrs.2716.new/otrs.changes New: ---- UPGRADING.SuSE ZZZAuto.pm itsm-3.1.10.tar.bz2 itsm.README.de itsm.README.en otrs-3.1.21.tar.bz2 otrs-httpd_conf.patch otrs-perm.patch otrs-scheduler.init otrs.README.de otrs.README.en otrs.changes otrs.init otrs.rpmlintrc otrs.spec sysconfig.otrs ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ otrs.spec ++++++ # # spec file for package otrs # # Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # # 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 http://bugs.opensuse.org/ # %define otrs_ver 3.1.21 %define itsm_ver 3.1.10 %define itsm_min 3.1 %define otrs_root /srv %define otrsdoc_dir_files CHANGES COPYING* CREDITS README* UPGRADING.SuSE doc %define otrsdocs CHANGES CREDITS doc Name: otrs Summary: The Open Ticket Request System License: AGPL-3.0+ Group: Productivity/Networking/Email/Utilities Version: %{otrs_ver} Release: 0 Url: http://otrs.org/ AutoReqProv: off Source: ftp://ftp.otrs.org/pub/otrs/%{name}-%{otrs_ver}.tar.bz2 Source1: itsm-%{itsm_ver}.tar.bz2 Source2: %{name}.rpmlintrc 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}.init Source21: %{name}-scheduler.init #atch0: %{name}-3.1.1-init.patch Patch1: %{name}-httpd_conf.patch Patch2: %{name}-perm.patch BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: %insserv_prereq %fillup_prereq PreReq: coreutils mktemp net-tools pwdutils PreReq: grep sed PreReq: apache2 BuildRequires: pwdutils %if 0%{?suse_version} > 1020 BuildRequires: fdupes %endif # Requires: apache2-mod_perl Requires: fetchmail Requires: mysql Requires: mysql-client Requires: perl Requires: procmail Requires: perl(DBD::mysql) Requires: perl(DBI) Requires: perl(Digest::MD5) Requires: perl(GD) Requires: perl(GD::Graph) Requires: perl(GD::Text) Requires: perl(Net::DNS) Requires: perl(PDF::API2) # Recommends: perl(Crypt::SSLeay) Recommends: perl(Encode::HanExtra) Recommends: perl(IO::Socket::SSL) Recommends: perl(JSON::XS) Recommends: perl(Mail::IMAPClient) Recommends: perl(Net::SSL) Recommends: perl(SOAP::Lite) # Suggests: perl(Net::LDAP) Suggests: perl(Text::CSV_XS) %if "%_vendor" == "suse" %define VENDOR SUSE %else %define VENDOR %_vendor %endif %description OTRS is an Open source Ticket Request System with many features to manage customer telephone calls and e-mails. It is distributed under the GNU AFFERO General Public License (AGPL) and tested on Linux, Solaris, AIX, Windows, FreeBSD, OpenBSD and Mac OS 10.x. Do you receive many e-mails and want to answer them with a team of agents? You're going to love OTRS! 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 (R) focused IT service management Group: Productivity/Networking/Email/Utilities Version: %{itsm_ver} Release: 0 Requires: %{name} >= %{itsm_min} Provides: OTRS::ITSM Provides: itsm %description itsm OTRS::ITSM implements ITIL (R) 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}/%{name}/itsm Authors list: see CREDITS %prep %setup -q -n %{name}-%{otrs_ver} -a 1 #patch0 %patch1 %patch2 ##### rpmlint #### incorrect-fsf-address ### http://www.fsf.org/about/contact/ for sdir in bin scripts; do find ./${sdir} -type f -exec perl -p -i -e 's|^# Foundation.*|# Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA|' {} \; done find -name ".cvsignore" -type f | xargs rm -fv find -name ".htaccess" -type f | xargs rm -fv %__rm -f UPGRADING %__cp %{S:17} . pushd Kernel/Config/Files %__cp %{S:16} . %__sed -i -e "s,@OTRS_ROOT@,%{otrs_root},g"\ ZZZAuto.pm ../../../scripts/apache2-httpd.include.conf popd # fix old otrs_root (/opt) %__sed -i -e "s,/opt/%{name},%{otrs_root}/%{name},g" \ bin/otrs.SetPermissions.pl \ Kernel/Config/Files/Framework.xml \ Kernel/Config/Defaults.pm \ Kernel/Config.pm.dist \ README \ scripts/apache2-perl-startup.pl \ scripts/restore.pl ## rpmlint: # wrong-file-end-of-line-encoding %{__perl} -p -i -e "s|\r\n|\n|" itsm-%{itsm_ver}/INSTALL-%{itsm_min}.ITSM %build %{_sbindir}/groupadd -g 88 -r %{name} 2>/dev/null || : %{_sbindir}/useradd -c "OTRS User" -d %{otrs_root}/%{name} -G %{name},www -g %{name} \ -u 88 -r -s /bin/false %{name} 2>/dev/null || : # copy config file %__cp -a Kernel/Config.pm.dist Kernel/Config.pm cd Kernel/Config/ for file in *.dist do %__cp -a $file `basename $file .dist` done cd ../../ # copy all crontab dist files for file in var/cron/*.dist do %__mv $file var/cron/`basename $file .dist` done %__rm INSTALL{,.RedHat,.SuSE} #%__mv INSTALL.SuSE INSTALL %install export DESTROOT="%{otrs_root}/%{name}/" %__install -d ${RPM_BUILD_ROOT}${DESTROOT} %__install -d ${RPM_BUILD_ROOT}%{_sbindir} %__cp -a . ${RPM_BUILD_ROOT}/${DESTROOT} for configFile in .fetchmailrc .mailfilter .procmailrc; do touch ${RPM_BUILD_ROOT}/${DESTROOT}/${configFile} done touch $RPM_BUILD_ROOT${DESTROOT}var/log/TicketCounter.log # add ghost file 'otrs.NagiosCheck.pl' # otherwise module 'SystemMonitoring' won't install touch ${RPM_BUILD_ROOT}${DESTROOT}/bin/%{name}.NagiosCheck.pl # otherwise module 'Survey' won't install touch ${RPM_BUILD_ROOT}${DESTROOT}/bin/%{name}.SurveyTriggerSendRequests.pl # install README for lang in en de; do %__cp -p "${RPM_SOURCE_DIR}/%{name}.README.${lang}" "README.%{VENDOR}.${lang}" %__cp -p "${RPM_SOURCE_DIR}/itsm.README.${lang}" "README.itsm.%{VENDOR}.${lang}" done # fix @OTRS_ROOT@ in itsm.README.* for r in $(ls -1 README.itsm.*); do %__sed -i -e "s,@OTRS_ROOT@,%{otrs_root},g" $r done # remove files that are part of the docdir pushd ${RPM_BUILD_ROOT}/${DESTROOT} %__rm -rf %{otrsdoc_dir_files} %__install -d doc popd # remove unneeded files from scripts pushd ${RPM_BUILD_ROOT}/${DESTROOT}/scripts %__rm -rf apache{,2}*.conf auto_build* auto_docbuild.sh otrs-scheduler-* redhat-* suse-* *.spec test/* tool popd # install permissions file #__install -D -m0644 %{S:3} ${RPM_BUILD_ROOT}/etc/permissions.d/%{name} # install sysconfig file and init script %__install -D -m0644 ${RPM_SOURCE_DIR}/sysconfig.%{name} $RPM_BUILD_ROOT/%{_var}/adm/fillup-templates/sysconfig.%{name} %__install -D -m0755 %{S:20} ${RPM_BUILD_ROOT}/etc/init.d/%{name} %__ln_s -f ../../etc/init.d/%{name} ${RPM_BUILD_ROOT}/%{_sbindir}/rc%{name} %__install -D -m0755 %{S:21} ${RPM_BUILD_ROOT}/etc/init.d/%{name}-scheduler %__ln_s -f ../../etc/init.d/%{name}-scheduler ${RPM_BUILD_ROOT}/%{_sbindir}/rc%{name}-scheduler ## FIXME - nochown patch obsolete, cause script complete changed #${RPM_BUILD_ROOT}%{otrs_root}/%{name}/bin/SetPermissions.sh ${RPM_BUILD_ROOT}%{otrs_root}/%{name} %{name} wwwrun %{name} www echo otrs_apache_conf="scripts/apache2-httpd.include.conf" %__install -D -m0644 ${otrs_apache_conf} ${RPM_BUILD_ROOT}/etc/apache2/conf.d/%{name}.conf # OTRS::ITSM # rename itsm-%{itsm_ver} to itsm pushd ${RPM_BUILD_ROOT}/${DESTROOT} %__mv itsm-%{itsm_ver} itsm popd %if 0%{?suse_version} > 1020 %fdupes ${RPM_BUILD_ROOT}/%{otrs_root}/%{name}/var %fdupes ${RPM_BUILD_ROOT}/%{otrs_root}/%{name}/Kernel/cpan-lib %endif %preun %stop_on_removal otrs : %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} 2>/dev/null else if [ `%{_bindir}/id -g %{name}` != 88 ]; then %{_sbindir}/groupmod -g 88 %{name} 2>/dev/null fi fi if [ -z "`%{_bindir}/getent passwd %{name} 2>/dev/null`" ]; then %{_sbindir}/useradd -c "OTRS User" -d %{otrs_root}/%{name} -G %{name},www -g %{name} -u 88 -r -s /bin/false %{name} 2>/dev/null else if [ `%{_bindir}/id -u %{name}` != 88 ]; then %{_sbindir}/usermod -c "OTRS User" -d %{otrs_root}/%{name} -G %{name},www -g %{name} -u 88 %{name} 2>/dev/null fi fi %post # fill otrs sysconfig file %{fillup_and_insserv -f otrs-scheduler} %{fillup_and_insserv otrs} %if 0%{?suse_version} /usr/sbin/a2enmod perl >/dev/null %endif # Update ? if [ ${FIRST_ARG:-0} -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}/%{name}/Kernel/ fi %{_sbindir}/usermod -d %{otrs_root}/%{name} %{name} #update sysconfig %__sed -i -e "s,/opt/%{name},%{otrs_root}/%{name},g" /etc/sysconfig/%{name} fi # if rpm is not in update mode if ! [ ${FIRST_ARG:-0} -gt 1 ]; then if [ -z "${YAST_IS_RUNNING}" ]; then for lang in LC_ALL LC_MESSAGE LANG; do test "${!lang}" && break done 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 %restart_on_update otrs-scheduler %restart_on_update otrs %restart_on_update apache2 %insserv_cleanup %clean %{__rm} -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %doc COPYING* README{,.database,.webserver} README.SUSE.* UPGRADING.SuSE %dir /etc/apache2 %dir /etc/apache2/conf.d %config(noreplace) /etc/apache2/conf.d/%{name}.conf /etc/init.d/%{name} /usr/sbin/rc%{name} /etc/init.d/%{name}-scheduler /usr/sbin/rc%{name}-scheduler #config /etc/permissions.d/%{name} %{_var}/adm/fillup-templates/sysconfig.%{name} ############### ## {root,www} ############### %defattr(0750,root,www,0755) # bin %{otrs_root}/%{name}/bin #exclude %{otrs_root}/%{name}/bin/%{name}.DeleteSessionIDs.pl #exclude %{otrs_root}/%{name}/bin/%{name}.UnlockTickets.pl %exclude %{otrs_root}/%{name}/bin/%{name}.GetConfig.pl %exclude %{otrs_root}/%{name}/bin/%{name}.SetPermissions.pl #%attr(0700,%{name},%{name}) %{otrs_root}/%{name}/bin/%{name}.DeleteSessionIDs.pl #%attr(0700,%{name},%{name}) %{otrs_root}/%{name}/bin/%{name}.UnlockTickets.pl #%attr(0700,%{name},%{name}) %{otrs_root}/%{name}/bin/%{name}.GetConfig.pl # add ghost file 'otrs.NagiosCheck.pl' # otherwise module 'SystemMonitoring' won't install %attr(0750,wwwrun,www) %{otrs_root}/%{name}/bin/%{name}.NagiosCheck.pl # otherwise module 'Survey' won't install %attr(0750,wwwrun,www) %{otrs_root}/%{name}/bin/%{name}.SurveyTriggerSendRequests.pl ############### ## {otrs,otrs} ############### # otrs HOME %defattr(-,%{name},%{name}) %dir %{otrs_root}/%{name} %ghost %config(noreplace) %{otrs_root}/%{name}/.fetchmailrc %ghost %config(noreplace) %{otrs_root}/%{name}/.mailfilter %ghost %config(noreplace) %{otrs_root}/%{name}/.procmailrc %{otrs_root}/%{name}/.fetchmailrc.dist %{otrs_root}/%{name}/.mailfilter.dist %{otrs_root}/%{name}/.procmailrc.dist %{otrs_root}/%{name}/ARCHIVE %{otrs_root}/%{name}/RELEASE # scripts %{otrs_root}/%{name}/scripts/*.pl %{otrs_root}/%{name}/scripts/*.pm %{otrs_root}/%{name}/scripts/*.sql %{otrs_root}/%{name}/scripts/database %{otrs_root}/%{name}/scripts/tools #%defattr(0755,wwwrun,%{name},0755) # var/httpd %dir %{otrs_root}/%{name}/var/httpd ############### ## {otrs,www} ############### %defattr(0744,%{name},www,0775) # doc and scripts %dir %{otrs_root}/%{name}/doc %dir %{otrs_root}/%{name}/scripts %dir %{otrs_root}/%{name}/scripts/test # var %dir %{otrs_root}/%{name}/var %{otrs_root}/%{name}/var/logo-%{name}.png # var/cron %dir %{otrs_root}/%{name}/var/cron %config(noreplace) %{otrs_root}/%{name}/var/cron/* # var/{packages,spool} %{otrs_root}/%{name}/var/packages %dir %{otrs_root}/%{name}/var/spool # var/{article,log,tmp} #defattr(0644,%{name},www,2775) %dir %{otrs_root}/%{name}/var/article %ghost %config(noreplace) %attr(660,%{name},www) %{otrs_root}/%{name}/var/log/TicketCounter.log %defattr(0644,%{name},www,2775) %dir %{otrs_root}/%{name}/var/tmp %defattr(0660,%{name},www,2775) %dir %{otrs_root}/%{name}/var/log #%dir %{otrs_root}/%{name}/var/httpd/htdocs/js #%dir %{otrs_root}/%{name}/var/httpd/htdocs/js/js-cache #%{otrs_root}/%{name}/var/httpd/htdocs/skins/Agent/default #%{otrs_root}/%{name}/var/httpd/htdocs/skins/Customer/default ############### ## {wwwrun,www} ############### # var/tmp/Cache %defattr(0644,wwwrun,www,0755) %dir %{otrs_root}/%{name}/var/tmp/Cache # var/fonts %{otrs_root}/%{name}/var/fonts # var/httpd/htdocs %{otrs_root}/%{name}/var/httpd/htdocs # var/{session,stats} %dir %{otrs_root}/%{name}/var/sessions %dir %{otrs_root}/%{name}/var/stats %{otrs_root}/%{name}/var/stats/* # Custom DIR #defattr(0644,wwwrun,www,0755) %dir %{otrs_root}/%{name}/Custom %{otrs_root}/%{name}/Custom/README # Kernel DIR #defattr(0644,wwwrun,www,0755) %dir %{otrs_root}/%{name}/Kernel %config(noreplace) %attr(0640,wwwrun,www) %{otrs_root}/%{name}/Kernel/Config.pm %{otrs_root}/%{name}/Kernel/Config.pm.dist %dir %{otrs_root}/%{name}/Kernel/Config %{otrs_root}/%{name}/Kernel/Config/Defaults.pm %config(noreplace) %{otrs_root}/%{name}/Kernel/Config/GenericAgent.pm %{otrs_root}/%{name}/Kernel/Config/GenericAgent.pm.* %dir %{otrs_root}/%{name}/Kernel/Config/Files %{otrs_root}/%{name}/Kernel/Config/Files/Deprecated.xml %{otrs_root}/%{name}/Kernel/Config/Files/Framework.xml %{otrs_root}/%{name}/Kernel/Config/Files/GenericInterface.xml %{otrs_root}/%{name}/Kernel/Config/Files/Scheduler.xml %{otrs_root}/%{name}/Kernel/Config/Files/Ticket.xml %{otrs_root}/%{name}/Kernel/GenericInterface %{otrs_root}/%{name}/Kernel/cpan-lib %{otrs_root}/%{name}/Kernel/Language.pm %dir %{otrs_root}/%{name}/Kernel/Language %config(noreplace) %{otrs_root}/%{name}/Kernel/Language/*.pm %{otrs_root}/%{name}/Kernel/Modules/ %config(noreplace) %{otrs_root}/%{name}/Kernel/Output/HTML/Standard/*.dtl #config(noreplace) %{otrs_root}/%{name}/Kernel/Output/HTML/Lite/*.dtl %dir %{otrs_root}/%{name}/Kernel/Output %dir %{otrs_root}/%{name}/Kernel/Output/HTML #dir %{otrs_root}/%{name}/Kernel/Output/HTML/Lite %dir %{otrs_root}/%{name}/Kernel/Output/HTML/Standard %{otrs_root}/%{name}/Kernel/Output/HTML/*.pm %{otrs_root}/%{name}/Kernel/Scheduler.pm %{otrs_root}/%{name}/Kernel/Scheduler %{otrs_root}/%{name}/Kernel/System/ # %files doc %defattr(644,root,root,755) %doc %{otrsdocs} %files itsm %defattr(-,root,root) %doc COPYING* %doc README.itsm* %doc itsm-%{itsm_ver}/INSTALL-%{itsm_min}.ITSM %{otrs_root}/%{name}/itsm %config %attr(0644,wwwrun,www) %{otrs_root}/%{name}/Kernel/Config/Files/ZZZAuto.pm %changelog ++++++ UPGRADING.SuSE ++++++ # -- # UPGRADING - Upgrading Instructions for OTRS # Copyright (C) 2001-2012 OTRS AG, http://otrs.org/ # -- # $Id: UPGRADING,v 1.66 2012/02/07 14:10:57 mg Exp $ # -- # This software comes with ABSOLUTELY NO WARRANTY. For details, see # the enclosed file COPYING for license information (AGPL). If you # did not receive this file, see http://www.gnu.org/licenses/agpl.txt. # -- These instructions are for people upgrading OTRS from "3.0" to "3.1", 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 3.0 first (1.1->1.2->1.3->2.0->2.1->2.2->2.3->2.4->3.0->3.1 ...)! Please note that if you upgrade from OTRS 2.2 or earlier, you have to take an extra step; please read http://bugs.otrs.org/show_bug.cgi?id=6798 If you need to do a "patch level upgrade", which is an upgrade for instance from OTRS version 3.1.1 to 3.1.3, you should skip steps 8, 10 and 12-19. Please note that for upgrades from 3.1.beta1 or 3.1.beta2, an additional step 20 is needed! If you are using Microsoft SQL Server as the DBMS for OTRS, please refer to the manual, chapter "Upgrading Microsoft SQL Server Data Types" for instructions how to upgrade the data types used by OTRS (http://doc.otrs.org/3.1/en/html/upgrading-mssql-datatypes.html). 1) Stop all relevant services -------------------------- e. g. (depends on used services): shell> rccron stop shell> rcpostfix stop shell> rcapache2 stop shell> rcotrs stop 2) Backup everything below $OTRS_HOME (default: OTRS_HOME=/srv/otrs) ----------------------------------------------------------------- o Kernel/Config.pm o Kernel/Config/GenericAgent.pm o Kernel/Config/Files/ZZZAuto.pm o var/* o as well as the database 3) Make sure that you have backed up everything ;-) ------------------------------------------------ 4) Setup new system (optional) --------------------------- If possible try this install on a separate machine for testing first. 5) Install the new release (RPM) ------------------------------------ shell> rpm -Uvh otrs-3.1.x-?.noarch.rpm The RPM-update will keep the old configuration files. o Kernel/Config.pm o Kernel/Config/GenericAgent.pm o Kernel/Config/Files/ZZZAuto.pm (will be overwritten by itsm) You must use the new files *.rpmnew o Kernel/Config.pm.rpmnew cp -a Kernel/Config.pm Kernel/Config.pm.backup mv Kernel/Config.pm.rpmnew Kernel/Config.pm then modify Kernel/Config.pm to adapt settings (e.g. DB connection) 6) Own themes ---------- Note: The OTRS themes between 3.0 and 3.1 are NOT compatible, so don't use your old themes! Themes are located under $OTRS_HOME/Kernel/Output/HTML/*/*.dtl (default: OTRS_HOME=/srv/otrs) 7) Apply the database changes -------------------------- shell> cd $OTRS_HOME SCHEMA UPDATE PART 1: ===================== MySQL: shell> cat scripts/DBUpdate-to-3.1.mysql.sql | mysql -p -f -u root otrs PostgreSQL 8.2+: shell> cat scripts/DBUpdate-to-3.1.postgresql.sql | psql otrs PostgreSQL, older versions: shell> cat scripts/DBUpdate-to-3.1.postgresql_before_8_2.sql | psql otrs NOTE: If you use PostgreSQL 8.1 or earlier, you need to activate the new legacy driver for these older versions. Do this by adding a new line to your Kernel/Config.pm like this: $Self->{DatabasePostgresqlBefore82} = 1; DATABASE MIGRATION SCRIPT ========================= shell> scripts/DBUpdate-to-3.1.pl Do not continue the upgrading process if this script did not work properly for you. Otherwise data loss may occur. SCHEMA UPDATE PART 2: ===================== MySQL: shell> cat scripts/DBUpdate-to-3.1-post.mysql.sql | mysql -p -f -u root otrs PostgreSQL 8.2+: shell> cat scripts/DBUpdate-to-3.1-post.postgresql.sql | psql otrs PostgreSQL, older versions: shell> cat scripts/DBUpdate-to-3.1-post.postgresql_before_8_2.sql | psql otrs 8) Refresh the configuration cache and delete caches ------------------------------------------------- Please run: shell> bin/otrs.RebuildConfig.pl shell> bin/otrs.DeleteCache.pl 9) Restart your services --------------------- e. g. (depends on used services): shell> /etc/init.d/apache start shell> /etc/init.d/postfix start shell> /etc/init.d/cron start shell> /etc/init.d/otrs-scheduler start shell> /etc/init.d/otrs start Now you can log into your system. 10) Check installed packages ------------------------ In the package manager, check if all packages are still marked as correctly installed or if any require reinstallation or even a package upgrade. 11) Check for encoding issues ------------------------- OTRS 3.1 only allows UTF-8 as internal charset. Non-UTF-8 installations of OTRS must switch to UTF-8. 12) Escalation events ----------------- If you want to use the new escalation events in your system, you need to activate the corresponding GenericAgent job in Kernel/Config/GenericAcent.pm. Please look into Kernel/Config/GenericAgent.pm.dist for an example of how to do this. 13) TicketHistory ------------- The TicketHistory type TicketFreeTextUpdate was renamed to TicketDynamicFieldUpdate. If you have any custom reporting using this, please adjust it. 14) Ticket event handlers --------------------- The Event name TicketFreeTextUpdate_$Counter was renamed to TicketDynamicFieldUpdate_$FieldName. If you have any custom event handlers for these events, please adapt them. 15) DynamicField user preferences module ------------------------------------ If you had one or more active custom settings for "PreferencesGroups###Freetext", you need to adapt them to work with the new DynamicFields engine. The PrefKey setting must be changed to "UserDynamicField_DynamicField", where the part after the _ is the name of the dynamic field. Existing values would need to be renamed in the database as well. 16) Custom free field default value event handler --------------------------------------------- If you used the event handler Ticket::EventModulePost###TicketFreeFieldDefault (not active by default), you'll need to migrate its configuration to the new setting Ticket::EventModulePost###TicketDynamicFieldDefault. The configuration of this is slightly different; where you had to specify a Counter indicating the TicketFreeText number previously, now you need to specify the name of the DynamicField (for migrated fields, this will be DynamicField_TicketFreeKey$Counter and DynamicField_TicketFreeText$Counter. You need two separate entries now if you want to set both the key and the text field. 17) FreeText/Time based ACLs ------------------------ If you have any ACLs defined which involve freetext or freetime fields, you need to adjust these ACL definitions. Please have a look at http://doc.otrs.org/3.1/en/html/acl.html. There you can find a list of all possible ACL settings. In general, you need to add the prefix "DynamicField_" to existing free field definitions, and you can add a new "DynamicField" section to the "Properties" list for situations when a ticket does not exist yet. 18) Well done! ---------- ++++++ 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@/otrs/itsm/packages30/' => '[--OTRS::ITSM 3.0 local repo]', 'file://@OTRS_ROOT@/otrs/itsm/packages31/' => '[--OTRS::ITSM 3.1 local repo]', 'http://ftp.otrs.org/pub/otrs/itsm/packages30/' => '[--OTRS::ITSM 3.0 Master--] http://ftp.otrs.org/', 'http://ftp.otrs.org/pub/otrs/itsm/packages31/' => '[--OTRS::ITSM 3.1 Master--] http://ftp.otrs.org/' }; $Self->{'Package::RepositoryAccessRegExp'} = '127\\.0\\.0\\.1'; } 1; ++++++ 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@/otrs/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@/otrs/itsm/packages31/ 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/otrs/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/otrs/itsm/packages31/ 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-httpd_conf.patch ++++++ Index: scripts/apache2-httpd.include.conf =================================================================== --- scripts/apache2-httpd.include.conf.orig +++ scripts/apache2-httpd.include.conf @@ -4,8 +4,8 @@ # -- # agent, admin and customer frontend -ScriptAlias /otrs/ "/opt/otrs/bin/cgi-bin/" -Alias /otrs-web/ "/opt/otrs/var/httpd/htdocs/" +ScriptAlias /otrs/ "@OTRS_ROOT@/otrs/bin/cgi-bin/" +Alias /otrs-web/ "@OTRS_ROOT@/otrs/var/httpd/htdocs/" # activate this if you are using an Oracle database #SetEnv ORACLE_HOME /path/to/your/oracle/ @@ -17,7 +17,7 @@ Alias /otrs-web/ "/opt/otrs/var/httpd/ht <IfModule mod_perl.c> # load all otrs modules - Perlrequire /opt/otrs/scripts/apache2-perl-startup.pl + Perlrequire @OTRS_ROOT@/otrs/scripts/apache2-perl-startup.pl # Apache::Reload - Reload Perl Modules when Changed on Disk PerlModule Apache2::Reload @@ -45,26 +45,54 @@ Alias /otrs-web/ "/opt/otrs/var/httpd/ht </IfModule> # directory settings -<Directory "/opt/otrs/bin/cgi-bin/"> +<Directory "@OTRS_ROOT@/otrs/bin/cgi-bin/"> AllowOverride None Options +ExecCGI -Includes Order allow,deny Allow from all </Directory> -<Directory "/opt/otrs/var/httpd/htdocs/"> +<Directory "@OTRS_ROOT@/otrs/var/httpd/htdocs/"> + Options +FollowSymlinks AllowOverride None Order allow,deny Allow from all </Directory> +<Directory "@OTRS_ROOT@/otrs/var/httpd/htdocs/js/thirdparty/ckeditor-3.6.6/"> + # + # Copyright (c) 2003-2010, 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> + <IfModule mod_headers.c> - <Directory "/opt/otrs/var/httpd/htdocs/skins/*/*/css-cache"> + <Directory "@OTRS_ROOT@/otrs/var/httpd/htdocs/skins/*/*/css-cache"> <FilesMatch "\.(css|CSS)$"> Header set Cache-Control "max-age=2592000 must-revalidate" </FilesMatch> </Directory> - <Directory "/opt/otrs/var/httpd/htdocs/js/js-cache"> + <Directory "@OTRS_ROOT@/otrs/var/httpd/htdocs/js/js-cache"> <FilesMatch "\.(js|JS)$"> Header set Cache-Control "max-age=2592000 must-revalidate" </FilesMatch> ++++++ otrs-perm.patch ++++++ Index: Kernel/System/Package.pm =================================================================== --- Kernel/System/Package.pm.orig +++ Kernel/System/Package.pm @@ -2972,7 +2972,7 @@ sub _FileSystemCheck { } # create test files in following directories - for (qw(/bin/ /Kernel/ /Kernel/System/ /Kernel/Output/ /Kernel/Output/HTML/ /Kernel/Modules/)) { + for (qw(/Kernel/ /Kernel/System/ /Kernel/Output/ /Kernel/Output/HTML/ /Kernel/Modules/)) { my $Location = "$Home/$_/check_permissons.$$"; my $Content = 'test'; ++++++ otrs-scheduler.init ++++++ #!/bin/sh # # Copyright (c) 2012 Scorpio IT, Deidesheim, Germany # All rights reserved # # Author: Christian Wittmer <rpm@scorpio-it.net> # # /etc/init.d/otrs-scheduler # and its symbolic link # /(usr/)sbin/rcotrs-scheduler # ### BEGIN INIT INFO # Provides: otrs-scheduler # Required-Start: smtp # Should-Start: mysql postgresql # Required-Stop: smtp # Should-Stop: mysql postgresql # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Short-Description: start OTRS Scheduler # Description: start Scheduler for OTRS # (Open Ticket Request System) ### END INIT INFO # Check for existence of needed config file and read it OTRS_SYSCONFIG=/etc/sysconfig/otrs test -r $OTRS_SYSCONFIG || { echo "$OTRS_SYSCONFIG not existing"; if [ "$1" = "stop" ]; then exit 0; else exit 6; fi; } # Read config . $OTRS_SYSCONFIG if [ -z $OTRS_ROOT ]; then echo "OTRS_ROOT not set"; echo "check config: $OTRS_SYSCONFIG"; exit 6; fi if [ -z $OTRS_SCHEDULER ]; then echo "OTRS_SCHEDULER not set"; echo "check config: $OTRS_SYSCONFIG"; exit 6; fi if [ ! -x $OTRS_SCHEDULER ]; then echo "OTRS_SCHEDULER not executable"; echo "set executable bits for $OTRS_SYSCONFIG"; exit 6; fi OTRS_SVC="OTRS Scheduler" OTRS_USR=${OTRS_USER:="otrs"} OTRS_GRP=${OTRS_GROUP:="otrs"} # Shell functions sourced from /etc/rc.status: # rc_check check and set local and overall rc status # rc_status check and set local and overall rc status # rc_status -v be verbose in local rc status and clear it afterwards # rc_status -v -r ditto and clear both the local and overall rc status # rc_status -s display "skipped" and exit with status 3 # rc_status -u display "unused" and exit with status 3 # rc_failed set local and overall rc status to failed # rc_failed <num> set local and overall rc status to <num> # rc_reset clear both the local and overall rc status # rc_exit exit appropriate to overall rc status # rc_active checks whether a service is activated by symlinks . /etc/rc.status # Reset status of this service rc_reset # Return values acc. to LSB for all commands but status: # 0 - success # 1 - generic or unspecified error # 2 - invalid or excess argument(s) # 3 - unimplemented feature (e.g. "reload") # 4 - user had insufficient privileges # 5 - program is not installed # 6 - program is not configured # 7 - program is not running # 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl) # # Note that starting an already running service, stopping # or restarting a not-running service as well as the restart # with force-reload (in case signaling is not supported) are # considered a success. case "$1" in start) echo -n "Starting $OTRS_SVC " ## Start daemon with startproc(8). If this fails ## the return value is set appropriately by startproc. /sbin/startproc -u $OTRS_USR $OTRS_SCHEDULER -a $1 # Remember status and be verbose rc_status -v ;; stop) echo -n "Shutting down $OTRS_SVC " ## Stop daemon with killproc(8) and if this fails ## killproc sets the return value according to LSB. /sbin/killproc -TERM $OTRS_SCHEDULER # Remember status and be verbose rc_status -v ;; try-restart|condrestart) ## Do a restart only if the service was active before. ## Note: try-restart is now part of LSB (as of 1.9). ## RH has a similar command named condrestart. if test "$1" = "condrestart"; then echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}" fi $0 status if test $? = 0; then $0 restart else rc_reset # Not running is not a failure. fi # Remember status and be quiet rc_status ;; restart) ## Stop the service and regardless of whether it was ## running or not, start it again. $0 stop $0 start # Remember status and be quiet rc_status ;; force-reload) ## Signal the daemon to reload its config. Most daemons ## do this on signal 1 (SIGHUP). ## If it does not support it, restart the service if it ## is running. echo -n "Reload service $OTRS_SVC " ## if it supports it: #/sbin/killproc -HUP $OTRS_SCHEDULER #touch /var/run/FOO.pid # Remember status and be verbose #rc_status -v ## Otherwise: $0 try-restart # Remember status and be quiet rc_status ;; reload) ## Like force-reload, but if daemon does not support ## signaling, do nothing (!) # If it supports signaling: echo -n "Reload service $OTRS_SVC " #/sbin/killproc -HUP $OTRS_SCHEDULER #touch /var/run/FOO.pid ## Otherwise if it does not support reload: rc_failed 3 # Remember status and be verbose rc_status -v ;; status) echo -n "Checking for service $OTRS_SVC " ## Check status with checkproc(8), if process is running ## checkproc will return with exit status 0. # Return value is slightly different for the status command: # 0 - service up and running # 1 - service dead, but /var/run/ pid file exists # 2 - service dead, but /var/lock/ lock file exists # 3 - service not running (unused) # 4 - service status unknown :-( # 5--199 reserved (5--99 LSB, 100--149 distro, 150--199 appl.) # NOTE: checkproc returns LSB compliant status values. /sbin/checkproc $OTRS_SCHEDULER # NOTE: rc_status knows that we called this init script with # "status" option and adapts its messages accordingly. # Remember status and be verbose rc_status -v ;; *) echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload}" exit 1 ;; esac rc_exit ++++++ 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_allow_packets" Wert in Ihrer MySQL config (my.cnf). Dieser sollte auf jeden Fall > 1MB sein. Ich empfehle einen Wert von 8MB oder 16MB. 1) Starten Sie Apache und MySQL mittels 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 oder auf der Kommandozeile mittels insserv apache2 insserv mysql insserv otrs-scheduler insserv 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_allow_packets" in your MySQL config (my.cnf). The value should be > 1MB in any case. I recommend a value of 8MB or 16MB. 1) Start Apache and MySQL with 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 and activating the services apache2, mysql, otrs-scheduler and otrs or on the command line with insserv apache2 insserv mysql insserv otrs-scheduler insserv 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.init ++++++ #!/bin/sh # # Copyright (c) 2012 Scorpio IT, Deidesheim, Germany # All rights reserved # # Author: Christian Wittmer <rpm@scorpio-it.net> # # /etc/init.d/otrs # and its symbolic link # /(usr/)sbin/rcotrs # ### BEGIN INIT INFO # Provides: otrs # Required-Start: apache2 # Should-Start: mysql postgresql otrs-scheduler # Required-Stop: apache2 # Should-Stop: mysql postgresql otrs-scheduler # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Short-Description: start OTRS # Description: start OTRS (Open Ticket Request System) ### END INIT INFO 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 not existing"; if [ "$1" = "stop" ]; then exit 0; else exit 6; fi; } # Read config . $OTRS_SYSCONFIG if [ -z $OTRS_ROOT ]; then echo "OTRS_ROOT not set"; echo "check config: $OTRS_SYSCONFIG"; exit 6; fi if [ -z $OTRS_POSTMASTER ]; then echo "OTRS_POSTMASTER not set"; echo "check config: $OTRS_SYSCONFIG"; exit 6; fi if [ -z $OTRS_CHECKDB ]; then echo "OTRS_CHECKDB not set"; echo "check config: $OTRS_SYSCONFIG"; exit 6; fi if [ -z $OTRS_CLEANUP ]; then echo "OTRS_CLEANUP not set"; echo "check config: $OTRS_SYSCONFIG"; exit 6; fi if [ -z $OTRS_SPOOLDIR ]; then echo "OTRS_SPOOLDIR not set"; echo "check config: $OTRS_SYSCONFIG"; exit 6; fi # Shell functions sourced from /etc/rc.status: # rc_check check and set local and overall rc status # rc_status check and set local and overall rc status # rc_status -v ditto but be verbose in local rc status # rc_status -v -r ditto and clear the local rc status # rc_failed set local and overall rc status to failed # rc_failed <num> set local and overall rc status to <num> # rc_reset clear local rc status (overall remains) # rc_exit exit appropriate to overall rc status . /etc/rc.status # Reset status of this service rc_reset # Return values acc. to LSB for all commands but status: # 0 - success # 1 - generic or unspecified error # 2 - invalid or excess argument(s) # 3 - unimplemented feature (e.g. "reload") # 4 - user had insufficient privileges # 5 - program is not installed # 6 - program is not configured # 7 - program is not running # 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl) case "$1" in # ------------------------------------------------------ # start # ------------------------------------------------------ start) echo "Starting $OTRS_PROG" # -- # start web server # -- if test $OTRS_HTTP_RUNNING -gt 0; then if $OTRS_USED_WEBSERVER_RCSCRIPT status > /dev/null 2>&1 ; then echo " Checking $OTRS_USED_WEBSERVER ... done." rc_status else echo " Checking $OTRS_USED_WEBSERVER ... failed!" echo " --> Please start the web server first! ($OTRS_USED_WEBSERVER_RCSCRIPT start) <--" rc_failed exit 1 fi else echo " Disabled: web server check!" fi # -- # check database # -- if test $OTRS_DB_RUNNING -gt 0; then if $OTRS_USED_DB_RCSCRIPT status > /dev/null 2>&1 ; then echo " Checking $OTRS_USED_DB ... done." rc_status else echo " Checking $OTRS_USED_DB ... failed." echo " --> Please start the database at first! ($OTRS_USED_DB_RCSCRIPT start) <--" rc_failed rc_status -v exit 1; fi else echo " Disabled: database check!" fi # -- # database connect # -- echo -n " Checking database connection... (" if ! $OTRS_CHECKDB -s 1; then echo ") " echo "----------------------------------------------------------------------------" echo " Error: Maybe your database isn't configured yet? " echo "----------------------------------------------------------------------------" echo "" echo "" echo " Try the web installer to configure your database: " echo "" echo "" echo " -->> http://$OTRS_HOST/$OTRS_HTTP_LOCATION/installer.pl <<-- " echo "" echo "" echo "----------------------------------------------------------------------------" echo " or configure your database with README.database (DB - Setup Example) " echo "----------------------------------------------------------------------------" rc_failed rc_status -v exit 1; else echo ")." rc_status fi # -- # OTRS Scheduler Service # -- if test $OTRS_SCHEDULER_RUNNING -gt 0; then if $OTRS_USED_SCHEDULER_RCSCRIPT status > /dev/null 2>&1 ; then echo " Checking OTRS SCHEDULER ... done." rc_status else echo " Checking OTRS SCHEDULER ... failed!" #echo " --> Please start the scheduler first! ($OTRS_USED_SCHEDULER_RCSCRIPT start) <--" #rc_failed #exit 1 /etc/init.d/otrs-scheduler $1 fi else echo " Disabled: scheduler check!" fi # -- # enable otrs.PostMaster.pl # -- echo -n " Enable $OTRS_POSTMASTER ..." if chmod 755 $OTRS_POSTMASTER; then echo " done." rc_status else echo " failed." fi # -- # check otrs spool dir # -- echo -n " Checking otrs spool dir... " for i in $OTRS_SPOOLDIR/* ; do # process old emails if echo $i | grep -v '*' >> /dev/null; then echo -n " Starting otrs PostMaster... ($i) " if cat $i | $OTRS_POSTMASTER >> /dev/null 2>&1; then rm $i && echo "(remove email)"; else rc_failed fi fi done echo " done." rc_status # -- # start cron stuff # -- if test $OTRS_CRON_RUNNING -gt 0; then if mkdir -p $OTRS_CRON_DIR; cd $OTRS_CRON_DIR && ls *|grep -v '.dist'|grep -v '.save'|grep -v 'CVS'|grep -v '.rpm'|xargs cat > $OTRS_CRON_TMP_FILE && crontab $OTRS_CRON_USER $OTRS_CRON_TMP_FILE ; then echo " Creating cronjobs (source $OTRS_CRON_DIR/*) ... done." rc_status else echo " Creating cronjobs (source $OTRS_CRON_DIR/*) ... failed!" rc_failed exit 1 fi else echo " Disabled: cronjobs!" fi echo "" echo " -->> http://$OTRS_HOST/$OTRS_HTTP_LOCATION/index.pl <<-- " # show status rc_status -v ;; # ------------------------------------------------------ # stop # ------------------------------------------------------ stop) echo "Shutting down $OTRS_PROG " # -- # disable otrs.PostMaster.pl # -- echo -n " Disable $OTRS_POSTMASTER ..." if chmod 644 $OTRS_POSTMASTER; then echo " done." rc_status else echo " failed." fi # -- # stop cron stuff # -- if test $OTRS_CRON_RUNNING -gt 0; then if type -a crontab 2&>/dev/null && crontab $OTRS_CRON_USER -r ; then echo " Shutting down cronjobs ... done." rc_status else echo " Shutting down cronjobs ... failed!" rc_failed exit 1 fi else echo " Disabled: cronjobs!" fi # -- # stop scheduler # -- if test $OTRS_SCHEDULER_RUNNING -gt 0; then echo -e " Shutting down OTRS scheduler ..." $OTRS_SCHEDULER -a stop echo " done." fi # show status rc_status -v ;; # ------------------------------------------------------ # start-force # ------------------------------------------------------ start-force) echo "Starting $OTRS_PROG (completely)" # -- # start web server # -- if test $OTRS_HTTP_RUNNING -gt 0; then if $OTRS_USED_WEBSERVER_RCSCRIPT restart > /dev/null 2>&1 ; then echo " Starting $OTRS_USED_WEBSERVER ... done." rc_status else echo " Starting $OTRS_USED_WEBSERVER ... failed!" rc_failed exit 1 fi else echo " Disabled: web server check!" fi # -- # check database # -- if test $OTRS_DB_RUNNING -gt 0; then if $OTRS_USED_DB_RCSCRIPT restart > /dev/null 2>&1 ; then # just in case, some databases can't get ready so fast! sleep 5; echo " Starting $OTRS_USED_DB ... done." rc_status else echo " Starting $OTRS_USED_DB ... failed." rc_failed rc_status -v exit 1; fi else echo " Disabled: database check!" fi # -- # start normal # -- $0 start # show status rc_status -v ;; # ------------------------------------------------------ # stop-force # ------------------------------------------------------ stop-force) # -- # stop normal # -- $0 stop # -- # clean up # -- if test $OTRS_CLEANUP; then if $OTRS_CLEANUP > /dev/null 2>&1 ; then echo " Cleaning up session and log cache ... done." else echo " Cleaning up session and log cache ... failed." fi fi # -- # stop force # -- echo "Shutting down $OTRS_PROG (completely)" # -- # webserver # -- if test $OTRS_HTTP_RUNNING -gt 0; then if $OTRS_USED_WEBSERVER_RCSCRIPT stop > /dev/null 2>&1 ; then echo " Shutting down $OTRS_USED_WEBSERVER ... done." rc_status else echo " Shutting down $OTRS_USED_WEBSERVER ... failed." rc_failed fi fi # -- # database # -- if test $OTRS_DB_RUNNING -gt 0; then if $OTRS_USED_DB_RCSCRIPT stop > /dev/null 2>&1 ; then echo " Shutting down $OTRS_USED_DB ... done." rc_status else echo " Shutting down $OTRS_USED_DB ... failed." rc_failed fi fi # show status rc_status -v ;; # ------------------------------------------------------ # restart # ------------------------------------------------------ restart) $0 stop $0 start # Remember status and be quiet rc_status ;; # ------------------------------------------------------ # restart-force # ------------------------------------------------------ restart-force) $0 stop-force && sleep 3 $0 start-force # Remember status and be quiet rc_status ;; # ------------------------------------------------------ # try-restart # ------------------------------------------------------ try-restart|condrestart) if test "$1" = "condrestart"; then echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}" fi $0 status if test $? = 0; then $0 restart else # Not running is not a failure. rc_reset fi # Remember status and be quiet rc_status ;; # ------------------------------------------------------ # reload # ------------------------------------------------------ reload) ## OTRS does not support reload: rc_failed 3 # Remember status and be verbose rc_status -v ;; # ------------------------------------------------------ # cleanup # ------------------------------------------------------ cleanup) # -- # check otrs spool dir # -- echo -n " Checking otrs spool dir... " for i in $OTRS_SPOOLDIR/* ; do # process old emails echo $i | grep -v '*' >> /dev/null && \ echo "" && \ echo -n " Starting otrs PostMaster... ($i) " && \ cat $i | $OTRS_POSTMASTER >> /dev/null 2>&1 && \ echo -n "remove email... " && \ (rm $i || rc_failed) done echo " done." rc_status # Remember status and be quiet rc_status ;; # ------------------------------------------------------ # status # ------------------------------------------------------ status) # -- # web server # -- $OTRS_USED_WEBSERVER_RCSCRIPT status # -- # database # -- $OTRS_USED_DB_RCSCRIPT status # -- # db check # -- echo -n "Checking database connection... (" if ! $OTRS_CHECKDB -s 1; then echo ") " echo "----------------------------------------------------------------------------" echo " Error: Maybe your database isn't configured yet? " echo "----------------------------------------------------------------------------" else echo ")." fi # -- # scheduler check # -- $OTRS_USED_SCHEDULER_RCSCRIPT status # -- # postmaster check # -- echo -n "Checking $OTRS_POSTMASTER ... " if test -x $OTRS_POSTMASTER; then echo "(active) done." else echo "(not active) failed." fi # -- # spool dir # -- echo -n "Checking otrs spool dir... " for i in $OTRS_SPOOLDIR/* ; do # echo old emails echo $i | grep -v '*' > /dev/null && \ echo "" && \ echo -n " (message:$i) found! " done echo "done." ;; *) echo "Usage: $0 {start|stop|stop-force|start-force|status|restart|restart-force|cleanup}" exit 1 esac # Inform the caller not only verbosely and set an exit status. rc_exit ++++++ otrs.rpmlintrc ++++++ addFilter('files-duplicate /srv/otrs/Kernel/Config.pm.dist') addFilter('files-duplicate /srv/otrs/Kernel/Config/GenericAgent.pm.dist') addFilter('hidden-file-or-dir') addFilter('macro-in-comment') addFilter('non-etc-or-var-file-marked-as-conffile') addFilter('non-executable-script') addFilter('zero-length') ++++++ 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: /srv/otrs # # OTRS home (root) directory # OTRS_ROOT="/srv/otrs" ## 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" -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de