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.
From a quick scan, I think you might need to alter the way the otrs user is created. http://fedoraproject.org/wiki/Packaging/UserCreation
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).
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()).
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?
* 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.
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)
(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.
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
Thanks, approved.
Built and released.