Hello community, here is the log from the commit of package otrs for openSUSE:Factory checked in at 2012-06-13 13:32:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/otrs (Old) and /work/SRC/openSUSE:Factory/.otrs.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "otrs", Maintainer is "lmue...@suse.com" Changes: -------- --- /work/SRC/openSUSE:Factory/otrs/otrs.changes 2011-12-06 16:23:30.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.otrs.new/otrs.changes 2012-06-13 13:32:31.000000000 +0200 @@ -1,0 +2,312 @@ +Mon Jun 11 09:05:12 UTC 2012 - ch...@computersalat.de + +- cleanup source, spec + * - remove 'permissions' stuff +- fix changes file + +------------------------------------------------------------------- +Tue Jun 5 16:07:59 UTC 2012 - ch...@computersalat.de + +- update to 3.1.6 + * Bug#8495 - Generic Agent TicketAction single value attributes + should not let multiple selection. + * Bug#8378 - Validation fails if the ID of the element contains a + dot (.) or a colon (:). + * Bug#7532 - 'Field is required' message should be removed in RTE if + content is added. + * Bug#8514 - Long words in description break rendering of SysConfig + items. + * Bug#8537 - DynamicField caching issue. + * Bug#8482 - Responsible of a ticket without responsible permission. + * Bug#8485 - CustomerUser validation fails in GI Ticket Operations + if there is no ValidID in the mapping. + * Bug#8529 - Fixed print to STDERR in ReferenceData.pm. + * Bug#8427 - Dynamic Field Type Multiselect not shown in Notification + (event). + * Bug#8189 - AgentTicketCompose: Pressing "Enter" will delete + Attachment. + * Bug#7844 - Escalation Event does not respect service calendar of + ticket/queue. + * Bug#8228 - Ticket::Frontend::AgentTicketNote###StateDefault + doesn't work. + * Bug#8519 - Kernel::System::TicketSearch->TicketSearch() doesn't + properly handle array references in SortBy parameter + * Bug#7519 - AJAX-reload of SMIME-fields did not work properly. + * Bug#8518 - Crypt on multiple recipients error replaces Crypt + selection. + * Bug#8164 - Internal articles are visible within customer ticket + overview. + * Bug#8506 - Customer email link won't open in popup as expected. + * Bug#7844 - Escalation Event does not respect service calendar of + ticket/queue. + * Bug#8498 - OpenSSL 1.0.0 does not get the stored SMIME + certificates when -CApath is used in the command. + * Bug#8337 - Parentheses in user last_name / first_name are not + sanitized. + * Bug#8467 - Reply to an e-mail address with ' not possible. + * Bug#8352 - Wrong substitution regex in HTMLUtils.pm->ToAscii. + * Bug#8401 - DynamicField Update doesn't update the + X-OTRS-DynamicField-XXX Fields in Postmaster Filters. + * Bug#5746 - Using PerlEx you have to restart IIS each time a setting + is changed in SysConfig. + * Bug#8452 - Dynamic Field Date/Time not working when server runs on + UTC. + - The detailed ChangeLog can be found at: + http://source.otrs.org/viewvc.cgi/otrs/CHANGES?revision=1.2260.2.47&view=markup. +- Update ITSM to 3.1.4: + * Bug#8479 - Change and workorder notification records are not + deleted during module uninstallation. + * Bug#8484 - Can't create cache for Change Management Toolbar + Modules on win32 platform. + * Bug#8453 - Saved time in ITSMChangeManagement screens adds UTC + offset. + * Bug#8487 - Usage of event.stopPropagation() causes javascript + error in IE8. + * Bug#8488 - Change search should require at least one search + parameter. + * Bug#8507nbsp;- Font size is ignored for text if input is made in + certain order. + * Bug#8515 - Search icon shows the ticket search instead of the + change search when the current screen is the workorder zoom. + * Bug#8521 - Back-Link in Workorder-Zoom returns to the previous + page, but does not reload the page + (the page comes from the browser cache). + * Bug#8538 - AgentTicketZoom does not show "Review Required" Field. + +------------------------------------------------------------------- +Wed May 16 21:00:51 UTC 2012 - ch...@computersalat.de + +- fix itsm sources + * dos2unix INSTALL-3.1.ITSM + * readd packages30 + * readd packages31/*3.1.{1,2}.opm +- fix itsm deps +- remove/disable permissions file stuff +- exclude bin/otrs.SetPermissions.pl +- fix perl deps + * use module names, not pkg names + +------------------------------------------------------------------- +Wed May 16 16:22:36 UTC 2012 - alexan...@exatati.com.br + +- Update to 3.1.5: + - Updated Hungarian translation, thanks to Csaba Nemeth! + - Added possibility to specify a cache type for selective cache + cleaning in bin/otrs.DeleteCache. + - Added possibility to define ACL rules by user role. + - Bug#8466 - On Win32 GenericInterface does not return results + properly. + - Bug#8465 - Can't create cache for web service debug log on Win32 + platforms. + - Bug#7919 - Translation of ticket states in CSV Export of + CustomerTicketSearch. + - Bug#8461 - CustomerTicketSearch doesn't use ticket ACL rules. + - Bug#7877 - SMIME emails don't get parsed properly (follow-up + fix). + - Bug#8446 - Dynamic Field type TextArea missing > 3800 characters + validation. + - Bug#8447 - Checkbox Dynamic Field is incorrectly calculated in + statistics. + - Bug#8328 - Statistics ignores any restrictions on dynamic fields. + - Bug#8439 - AgentTicketForward: ticket not unlocked after selecting + a close state. + - Bug#7168 - Ticket Overview Control Row can only be one line high. + - Bug#8437 - Dynamic Field order duplicated when change the order + of a field. + - Bug#8409 - Deselecting 'select all' in queue view does not work. + - Bug#8424 - Ticket articles of large tickets cannot be opened. + - Bug#8415 - Setting Ticket::Responsible ignored by AgentTicketActionCommon. + - Bug#8288 - Autocomplete search results show up in Times font when + using Internet Explorer. + - Bug#8414 - ACL for AgentTicketCustomer in AgentTicketZoom doesn't + affect CustomerID link in ticket information. + - Updated CKEditor to version 3.6.3, fixing several bugs. + - Bug#8369 - Incorrect handling of Ticket ACL in AJAX Updates. +- Update ITSM to 3.1.3: + - Added Portuguese translations for Portugal, thanks to Rui + Francisco! + - Small performance improvement when creating a change from a + template. + - Bug# 8261 - Bad performance when moving timeslot in + AgentITSMChangeTimeSlot. + - Bug# 8265 - Error in ITSM Incident Problem Management statistics. + - Bug# 8302 - CI class names are not translated in + AgentITSMConfigItemAdd.dtl + - Bug# 8303 - Wrong charset for cs_ITSMTicket.pm + - Bug# 8293 - Cannot delete change search profile. + - Bug# 8362 - Change-Delete menu link is visible for other + group members than itsm-change-manager. + - Bug# 8366 - Number of SQL statements could be decreased when + deleting a change. + - Bug# 8386 - Change Mangement Toolbar Modules could use caching + to reduce the number of SQL statements. + - Bug# 8396 - Dynamic Field creation problem on migrated framework. + - Bug# 8305 - Possible SQL injection problem in change search. + +------------------------------------------------------------------- +Tue Apr 24 20:26:42 UTC 2012 - ch...@computersalat.de + +- update to 3.1.4 + * Bug#8284 - The text "Cc: (x...@mail.com) added database email!" is confusing. + * Bug#8392 - DynamicFieldAdd returns wrong value. + * Bug#8387 - UseSyncBackend configuration does not conform to OTRS style. + * Bug#8367 - Customer entry not marked as mandatory. + * Bug#8348 - Wrong pop-up close behavior when no URL is given and SessionUseCookie is set to No. + * Bug#8346 - Incoming phone calls trigger NewTicket notification, even for existing tickets. + * Bug#8353 - Small typo in print CSS. + * Bug#8370 - AgentTicketForward does not set pending date for pending states. + * Bug#8368 - Personal queues update is not reflected in UI. + * Bug#8363 - SOAP Transport can't send a value '0'. + * Bug#8356 - ACLs for DynamicFields does not work on AgentTicketSearch. + * Bug#8336 - otrs.ExportStatsToOPM.pl broken. + * Bug#8349 - Caching breaks Admin frontend. + * Bug#7877 - SMIME emails don't get parsed properly. + * Disabled error message in RemoveSessionID(). + * Repaired broken cache handling in DynamicFieldList(). + - The detailed ChangeLog can be found at: + http://source.otrs.org/viewvc.cgi/otrs/CHANGES?revision=1.2254&view=markup. + * for more info please see release-notes + http://www.otrs.com/open-source/community-news/releases-notes/\ + release-notes-otrs-help-desk-314/ +- rework permissions + * otrs_root/otrs/var/log (660,otrs,www,2775) + * otrs_root/otrs/bin (750,root,www,755) +- rework README files + * add some usefull mysql info +- fix init + * on 'start', start scheduler if not already running +- add missing bin_files + * otrs.DeleteSessionIDs.pl, otrs.UnlockTickets.pl +- fix sysconfig file + * do not use (hostname -f) + +------------------------------------------------------------------- +Wed Apr 4 21:37:24 UTC 2012 - ch...@computersalat.de + +- update to 3.1.3 + * Bug#8343 - Configuration of additional modules can be lost during + upgrade. + * Renamed form id in AgentLinkObject.dtl to make sure it doesn't + interfere with wrong CSS. + * Bug#8333 - Type option '-' should not be available in + ActionTicketCommon screens. + * Bug#8331 - Unable to delete ticket with > 1000 articles on Oracle + database. + * Bug#8335 - Cache keys are not always properly constructed. + * Dynamic fields and associated values can now be deleted in the + admin area. ++++ 115 more lines (skipped) ++++ between /work/SRC/openSUSE:Factory/otrs/otrs.changes ++++ and /work/SRC/openSUSE:Factory/.otrs.new/otrs.changes Old: ---- itsm-3.0.5.tar.bz2 otrs-3.0.11-init.patch otrs-3.0.11.tar.bz2 otrs-3.0.7-perm.patch otrs-3.0.9-httpd_conf.patch New: ---- UPGRADING.SuSE itsm-3.1.4.tar.bz2 otrs-3.1.1-httpd_conf.patch otrs-3.1.6.tar.bz2 otrs-perm.patch otrs-scheduler.init otrs.init ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ otrs.spec ++++++ --- /var/tmp/diff_new_pack.AuBmFQ/_old 2012-06-13 13:32:44.000000000 +0200 +++ /var/tmp/diff_new_pack.AuBmFQ/_new 2012-06-13 13:32:44.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package otrs # -# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2012 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 @@ -16,18 +16,19 @@ # -%define otrs_ver 3.0.11 -%define itsm_ver 3.0.5 -%define itsm_min 3.0 +%define otrs_ver 3.1.6 +%define itsm_ver 3.1.4 +%define itsm_min 3.1 %define otrs_root /srv -%define otrsdoc_dir_files CHANGES COPYING* CREDITS INSTALL README* TODO UPGRADING doc +%define otrsdoc_dir_files CHANGES COPYING* CREDITS README* UPGRADING.SuSE doc +%define otrsdocs CHANGES CREDITS doc Name: otrs Summary: The Open Ticket Request System -Version: %{otrs_ver} -Release: 1 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 @@ -39,27 +40,41 @@ Source14: itsm.README.en Source15: itsm.README.de Source16: ZZZAuto.pm -Patch0: %{name}-3.0.11-init.patch -Patch1: %{name}-3.0.9-httpd_conf.patch -Patch2: %{name}-3.0.7-perm.patch +Source17: UPGRADING.SuSE +Source20: %{name}.init +Source21: %{name}-scheduler.init +#atch0: %{name}-3.1.1-init.patch +Patch1: %{name}-3.1.1-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 -# /usr/bin/getent -PreReq: glibc -PreReq: apache2 grep permissions sed +PreReq: grep sed +PreReq: apache2 BuildRequires: pwdutils %if 0%{?suse_version} > 1020 BuildRequires: fdupes %endif +# Requires: apache2-mod_perl -Requires: perl perl-DBI perl-GD perl-GDGraph perl-GDTextUtil perl-Digest-MD5 -Requires: perl-DBD-mysql perl-Net-DNS perl-PDF-API2 -Requires: mysql mysql-client fetchmail procmail -Recommends: perl-Encode-HanExtra -Recommends: perl-IO-Socket-SSL -Recommends: perl-SOAP-Lite +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(Encode::HanExtra) +Recommends: perl(IO::Socket::SSL) +Recommends: perl(SOAP::Lite) %if "%_vendor" == "suse" %define VENDOR SUSE @@ -79,7 +94,6 @@ Authors list: see CREDITS %package doc -License: AGPL-3.0 Summary: OTRS Documentation Group: Documentation/Other @@ -89,13 +103,13 @@ Authors list: see CREDITS %package -n otrs-itsm -License: AGPL-3.0 Summary: ITIL (R) focused IT service management -Version: %{itsm_ver} -Release: 1 Group: Productivity/Networking/Email/Utilities -Requires: %{name} >= 3.0.10 -Provides: itsm OTRS::ITSM +Version: %{itsm_ver} +Release: 0 +Requires: %{name} >= 3.1.6 +Provides: OTRS::ITSM +Provides: itsm %description itsm OTRS::ITSM implements ITIL (R) focused IT service management. @@ -116,7 +130,7 @@ %prep %setup -q -n %{name}-%{otrs_ver} -a 1 -%patch0 +#patch0 %patch1 %patch2 ##### rpmlint @@ -128,6 +142,8 @@ 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"\ @@ -165,8 +181,8 @@ do %__mv $file var/cron/`basename $file .dist` done -%__rm INSTALL.RedHat -%__mv INSTALL.SuSE INSTALL +%__rm INSTALL{,.RedHat,.SuSE} +#%__mv INSTALL.SuSE INSTALL %install export DESTROOT="%{otrs_root}/%{name}/" @@ -197,13 +213,18 @@ # remove unneeded files from scripts pushd ${RPM_BUILD_ROOT}/${DESTROOT}/scripts -%__rm -rf apache{,2}*.conf auto_build* auto_docbuild.sh redhat-* suse-* *.spec test/* tool +%__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 scripts/suse-rc%{name} ${RPM_BUILD_ROOT}/etc/init.d/%{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 @@ -239,17 +260,19 @@ %{_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 -G %{name},www -g %{name} -u 88 %{name} 2>/dev/null + %{_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} -/usr/sbin/a2enmod perl >/dev/null -# if rpm is not in update mode +%if 0%{?suse_version} + /usr/sbin/a2enmod perl >/dev/null +%endif # Update ? -if [ ${1:-0} -gt 1 ]; then +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/ @@ -258,6 +281,7 @@ #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 @@ -280,6 +304,7 @@ exit 0 %postun +%restart_on_update otrs-scheduler %restart_on_update otrs %restart_on_update apache2 %insserv_cleanup @@ -289,14 +314,32 @@ %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 + +############### ## {otrs,otrs} ############### @@ -313,7 +356,6 @@ %{otrs_root}/%{name}/RELEASE # scripts -%{otrs_root}/%{name}/scripts/*.php %{otrs_root}/%{name}/scripts/*.pl %{otrs_root}/%{name}/scripts/*.pm %{otrs_root}/%{name}/scripts/*.sql @@ -328,17 +370,6 @@ ## {otrs,www} ############### %defattr(0744,%{name},www,0775) -# bin -%{otrs_root}/%{name}/bin - -%defattr(0644,%{name},www,0775) -%exclude %{otrs_root}/%{name}/bin/%{name}.DeleteSessionIDs.pl -%exclude %{otrs_root}/%{name}/bin/%{name}.UnlockTickets.pl -%exclude %{otrs_root}/%{name}/bin/%{name}.GetConfig.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 - # doc and scripts %dir %{otrs_root}/%{name}/doc %dir %{otrs_root}/%{name}/scripts @@ -359,11 +390,12 @@ # var/{article,log,tmp} #defattr(0644,%{name},www,2775) %dir %{otrs_root}/%{name}/var/article -%dir %{otrs_root}/%{name}/var/log %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 @@ -405,8 +437,12 @@ %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 @@ -419,16 +455,20 @@ #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(-,root,root) -%doc %{otrsdoc_dir_files} scripts/apache2-httpd.include.conf +%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-%{itsm_ver} %{otrs_root}/%{name}/itsm %config %attr(0644,wwwrun,www) %{otrs_root}/%{name}/Kernel/Config/Files/ZZZAuto.pm ++++++ 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 ++++++ --- /var/tmp/diff_new_pack.AuBmFQ/_old 2012-06-13 13:32:44.000000000 +0200 +++ /var/tmp/diff_new_pack.AuBmFQ/_new 2012-06-13 13:32:44.000000000 +0200 @@ -9,9 +9,10 @@ $Self->{'DefaultLanguage'} = 'de'; $Self->{'LogModule'} = 'Kernel::System::Log::File'; $Self->{'Package::RepositoryList'} = { - 'file://@OTRS_ROOT@/otrs/itsm/packages30/' => '[--OTRS::ITSM local repo]', - 'http://ftp.otrs.org/pub/otrs/itsm/packages21/' => '[--OTRS::ITSM 2.1 Master--] http://ftp.otrs.org/', + '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'; } ++++++ itsm-3.0.5.tar.bz2 -> itsm-3.1.4.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/otrs/itsm-3.0.5.tar.bz2 /work/SRC/openSUSE:Factory/.otrs.new/itsm-3.1.4.tar.bz2 differ: char 11, line 1 ++++++ itsm.README.de ++++++ --- /var/tmp/diff_new_pack.AuBmFQ/_old 2012-06-13 13:32:44.000000000 +0200 +++ /var/tmp/diff_new_pack.AuBmFQ/_new 2012-06-13 13:32:44.000000000 +0200 @@ -21,7 +21,7 @@ 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/packages21/ + Schlüssel: file://@OTRS_ROOT@/otrs/itsm/packages31/ Inhalt: [--OTRS::ITSM local repo] -> klicken Sie auf Aktualisieren ++++++ itsm.README.en ++++++ --- /var/tmp/diff_new_pack.AuBmFQ/_old 2012-06-13 13:32:44.000000000 +0200 +++ /var/tmp/diff_new_pack.AuBmFQ/_new 2012-06-13 13:32:44.000000000 +0200 @@ -19,7 +19,7 @@ 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/packages21/ + Key: file://@OTRS_ROOT/otrs/itsm/packages31/ Value: [--OTRS::ITSM local repo] -> click refresh ++++++ otrs-3.0.9-httpd_conf.patch -> otrs-3.1.1-httpd_conf.patch ++++++ --- /work/SRC/openSUSE:Factory/otrs/otrs-3.0.9-httpd_conf.patch 2011-12-06 16:23:30.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.otrs.new/otrs-3.1.1-httpd_conf.patch 2012-06-13 13:32:30.000000000 +0200 @@ -22,7 +22,7 @@ # Apache::Reload - Reload Perl Modules when Changed on Disk PerlModule Apache2::Reload -@@ -40,26 +40,53 @@ Alias /otrs-web/ "/opt/otrs/var/httpd/ht +@@ -45,26 +45,53 @@ Alias /otrs-web/ "/opt/otrs/var/httpd/ht </IfModule> # directory settings ++++++ otrs-3.0.11.tar.bz2 -> otrs-3.1.6.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/otrs/otrs-3.0.11.tar.bz2 /work/SRC/openSUSE:Factory/.otrs.new/otrs-3.1.6.tar.bz2 differ: char 11, line 1 ++++++ otrs-perm.patch ++++++ Index: Kernel/System/Package.pm =================================================================== --- Kernel/System/Package.pm.orig +++ Kernel/System/Package.pm @@ -2762,7 +2762,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 <r...@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 ++++++ --- /var/tmp/diff_new_pack.AuBmFQ/_old 2012-06-13 13:32:44.000000000 +0200 +++ /var/tmp/diff_new_pack.AuBmFQ/_new 2012-06-13 13:32:44.000000000 +0200 @@ -3,6 +3,10 @@ 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 @@ -12,11 +16,12 @@ 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 und otrs mit dem YaST Runlevel-Editor -oder auf der Kommandozeile mittels +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! ++++++ otrs.README.en ++++++ --- /var/tmp/diff_new_pack.AuBmFQ/_old 2012-06-13 13:32:45.000000000 +0200 +++ /var/tmp/diff_new_pack.AuBmFQ/_new 2012-06-13 13:32:45.000000000 +0200 @@ -3,6 +3,10 @@ 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 @@ -12,10 +16,11 @@ 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, and otrs or on the command line with +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! ++++++ otrs.init ++++++ #!/bin/sh # # Copyright (c) 2012 Scorpio IT, Deidesheim, Germany # All rights reserved # # Author: Christian Wittmer <r...@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 ++++++ --- /var/tmp/diff_new_pack.AuBmFQ/_old 2012-06-13 13:32:45.000000000 +0200 +++ /var/tmp/diff_new_pack.AuBmFQ/_new 2012-06-13 13:32:45.000000000 +0200 @@ -1,3 +1,5 @@ +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') ++++++ sysconfig.otrs ++++++ --- /var/tmp/diff_new_pack.AuBmFQ/_old 2012-06-13 13:32:45.000000000 +0200 +++ /var/tmp/diff_new_pack.AuBmFQ/_new 2012-06-13 13:32:45.000000000 +0200 @@ -7,6 +7,20 @@ # 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 # @@ -17,9 +31,16 @@ ## 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="1" +OTRS_DB_RUNNING="0" ## Type: string(0,1) ## Default: 1 @@ -31,9 +52,9 @@ ## Type: string(0,1) ## Default: 1 # -# The OTRS cron jobs run on this host? 1=yes, 0=no +# The OTRS scheduler server is on this host? 1=yes, 0=no # -OTRS_CRON_RUNNING="1" +OTRS_SCHEDULER_RUNNING="1" ## Type: string(MySQL,PostgreSQL) ## Default: MySQL @@ -90,11 +111,11 @@ OTRS_CRON_USER=" -u otrs " ## Type: string -## Default: $( hostname -f) +## Default: otrs.example.com # # Command to get the systems hostname # -OTRS_HOST="$( hostname -f)" +OTRS_HOST="otrs.example.com" ## Type: string ## Default: otrs @@ -125,6 +146,28 @@ 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. -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org