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

Reply via email to