Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 180015

Summary: Review Request: OTRS - Open Ticket Request System
Product: [Fedora] Fedora Reporter: Mike McGrath <imlinux>
Component: Package ReviewAssignee: Miloslav Trmač <mitr>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Package Reviews List <fedora-package-review>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: rdieter
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-04-02 20:35:22 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 185824, 185848    
Bug Blocks: 163779    

Description Mike McGrath 2006-02-04 18:22:54 UTC
Spec: http://mmcgrath.net/~mmcgrath/otrs/otrs.spec
SRPM: http://mmcgrath.net/~mmcgrath/otrs/otrs-2.0.4-1.src.rpm
Description: 

OTRS is an Open source Ticket Request System (also well known as trouble ticket
system) with many features to manage customer telephone calls and e-mails. The
system is built to allow your support, sales, pre-sales, billing, internal IT,
helpdesk, etc. department to react quickly to inbound inquiries.

Comment 1 Jason Tibbitts 2006-02-17 04:59:13 UTC
From a quick scan, I think you might need to alter the way the otrs user is
created.  http://fedoraproject.org/wiki/Packaging/UserCreation

Comment 2 Mike McGrath 2006-03-01 19:05:57 UTC
This page keeps changing, which worries me.  Also I think its silly to require a
fedora-specific package just to create user names.  This method seems to be the
most common method used and its one I've used before with other packages (Cacti,
Nagios).

Comment 3 Miloslav Trmač 2006-03-07 01:59:09 UTC
Formal blockers:
* The %files section does not specify %defattr
* Kernel/cpan-lib seems to be duplicates of separate perl packages, at least
  some currently in Fedora.

Other issues:
* scriptlets should properly guard against upgrades, see "Running scriptlets
  only in certain situations" in PackagingGuidelines
* I don't think just installing a package should change the MaxRequestsPerChild
  option in httpd; does otrs really leak that badly?
* Starting httpd: [Tue Mar 07 02:44:25 2006] [warn] Useless use of AllowOverride
in line 20.
  Can this be avoided?
* The package seems to install most files world-readable, owned by root;
  INSTALL.Redhat seems to suggest the permissions should be already configured
  by the RPM, probably similar to the SetPermissions.sh script.
  This breaks at least the spell checker:
[Tue Mar 07 02:54:14 2006] [error] [Tue Mar  7 02:54:14 2006] -e: Error in
tempfile() using /var/www/otrs/var/tmp/XXXXXXXXXX.tmp: Parent directory
(/var/www/otrs/var/tmp/) is not writable\n[Tue Mar  7 02:54:14 2006] -e:  at
/var/www/otrs//Kernel/System/FileTemp.pm line 91\n
* The Requires(postun) is not necessary AFAICS
* Requires: perl perl-DBI perl-DBD-MySQL  is autodetected
* I can't see any use of perl-URI from a quick grep
* Does the package really require the sendmail program, or just an
  /usr/sbin/sendmail implementation?

* It would be nice if the initscripts used the same way to report
  success/failure as the other Fedora initscripts (success()/failure()).

Comment 4 Mike McGrath 2006-03-09 02:40:07 UTC
Changelog:
- Major updates in permissions (see below)
- Removed perl perl-DBI perl-DBD-MySQL and perl-URI from requires
- Changed requires to /usr/sbin/sendmail
- Updated Pre to check for udpate conditions
- Removed Requires(postun)
- Removed MaxRequestsPerChild from http config
- Added RELEASE file to ~otrs.  It's required there.

* I tried to remove cpan-lib and I got some dependancy errors.  Since its only
available to otrs and not installed site-wide I think it'll be ok.
* rpmlint HATES the new permissions scheme but without it the package updater
doesn't work, instead of failing when an issue occures it actually checks before
doing anything.
* I couldn't reproduce the "Useless use of AllowOverride" error, what version of
apache/FC are you using?


Comment 5 Miloslav Trmač 2006-03-13 22:47:34 UTC
* cpan-lib is currently a big problem because the package
  Provides: perl(the_modules), so it could get pulled in by yum instead of the
  perl module packages; yum would actually prefer otrs to the perl-whatever
  packages because "otrs" is a shorter name.

  otrs should have all perl(*) provides filtered out, including the internal
  Kernel::* modules.

  Removing cpan-lib completely won't work because Date-Pcalc and SOAP-Lite
  are not currently packaged in Fedora, and HTML::Safe is not even on CPAN.
  But after removing the other parts of cpan-lib and installing the
  corresponding Fedora packages otrs seems to work correctly.

  I was afraid it would be more packages, I think blocking otrs until 2 Perl
  modules are packaged is acceptable.  I'll help packaging them if necessary.

* I don't think the rpmlint warnings are a problem.
* I have tried installing Calendar-1.4.3 in the package manager, it failed
  because /var/www/otrs/var/httpd/htdocs/images/Standard isn't writable
  by apache.
* I see the "Useless use of AllowOverride:" warning on rawhide.
  http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride says that
  AllowOverride is valid only in <Directory>.  Because a later
  <Directory .../cgi-bin> contains "AllowOverride None", it should be safe to
  just drop it from the <Location /otrs> section.

Other stuff:
* %pre assumes the apache group exists, so there should be Requires(pre): httpd.

Suggestions:
* Consider defining and using %{otrsdir} instead of repeating
  %{_localstatedir}/www/%{name} all over the spec file
* Consider using patches for the more modified files (redhat-rcorts*,
  apache2-httpd-new.include.conf), patches are more readable than a sequence of
  sed statements.
  The s|/opt/|...|g is OTOH probably better than a large patch.

Comment 6 Mike McGrath 2006-03-17 03:54:29 UTC
Good catch, I'll be working the perl issues soon.  Question about the perl
modules.  Is there some way to say "does not provide" in RPM?  Or is that
cheating :-D.  I've never packaged a perl module so I may need help with that. 
I'll let you know when they're ready (unless you'd like to assist :-D)

Comment 7 Paul Howarth 2006-03-17 10:05:14 UTC
(In reply to comment #6)
> Good catch, I'll be working the perl issues soon.  Question about the perl
> modules.  Is there some way to say "does not provide" in RPM?  Or is that
> cheating :-D.  I've never packaged a perl module so I may need help with that.

There was a discussion on filtering perl requires/provides on
fedora-perl-devel-list earlier this month:
http://www.redhat.com/archives/fedora-perl-devel-list/2006-March/msg00001.html

A few suggestions were made but no decision as to which way was "best". Most
will work though.

Comment 8 Mike McGrath 2006-03-22 20:02:54 UTC
SPEC: http://mmcgrath.net/~mmcgrath/otrs/otrs.spec
SRPM: http://mmcgrath.net/~mmcgrath/otrs/otrs-2.0.4-3.src.rpm

* Wed Mar 22 2006 Mike McGrath <imlinux> 2.0.4-3
- Removed bogus req's and perl provides
- Removed a number of perl packages that are provided by Fedora
- Now using %{otrsdir} macro
- Created an otrs.httpd.conf source
- Changed permissions for otrs/var/httpd



Comment 9 Miloslav Trmač 2006-03-23 01:13:55 UTC
Thanks, approved.

Comment 10 Mike McGrath 2006-04-02 20:35:22 UTC
Built and released.