Blob Blame History Raw
%define bzinstallprefix %{_datadir}
%define bzdatadir %{_localstatedir}/lib/bugzilla

Summary: Bug tracking system
URL: http://www.bugzilla.org/
Name: bugzilla
Version: 3.2.10
Group: Applications/Publishing
Release: 5%{?dist}
License: MPLv1.1
Source0: http://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-%{version}.tar.gz
Source1: bugzilla-httpd-conf
Source2: README.fedora.bugzilla
Patch0: bugzilla-rw-paths.patch
Patch1: bugzilla-EL5-perl-versions.patch
Patch2: bugzilla-3.2.10-CVE-2011-2379.patch
Patch3: bugzilla-3.2.10-CVE-2011-2380.patch
Patch4: bugzilla-3.2.10-CVE-2011-2381.patch
Patch5: bugzilla-3.2.10-CVE-2011-2976.patch
Patch6: bugzilla-3.2.10-CVE-2011-2978.patch
Patch7: bugzilla-3.2.10-CVE-2011-3657.patch
Patch8: bugzilla-3.2.10-CVE-2011-3667.patch
Patch9: bugzilla-3.2.10-CVE-2012-0448.patch
Patch10: bugzilla-3.2.10-CVE-2012-0466.patch

BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
Requires: webserver, patchutils, mod_perl, perl(SOAP::Lite), which
Requires: perl(CGI) >= 3.33
Requires: perl(Date::Format) >= 2.21
Requires: perl(File::Spec) >= 0.84
Requires: perl(DBI) >= 1.41
Requires: perl(Template) >= 2.15
Requires: perl(Email::Send) >= 2.00
Requires: perl(Email::MIME) >= 1.859
Requires: perl(Email::MIME::Encodings) >= 1.313
Requires: perl(Email::MIME::Modifier) >= 1.441

%package doc
Summary: Bugzilla documentation
Group: Documentation

%package contrib
Summary: Bugzilla contributed scripts
Group: Applications/Publishing
BuildRequires: python

%description
Bugzilla is a popular bug tracking system used by multiple open source projects
It requires a database engine installed - either MySQL, PostgreSQL or Oracle.
Without one of these database engines (local or remote), Bugzilla will not work
- see the Release Notes for details.

%description doc
Documentation distributed with the Bugzilla bug tracking system

%description contrib
Contributed scripts and functions for Bugzilla

%prep
set -x
%setup -q -n %{name}-%{version}
%patch0 -p1
%patch1 -p2
%patch2 -p0
%patch3 -p0
%patch4 -p0
%patch5 -p0
%patch6 -p0
%patch7 -p0
%patch8 -p0
%patch9 -p0
%patch10 -p0

# Filter unwanted Requires found by /usr/lib/rpm/perldeps.pl:
# create a wrapper script which runs the original perl_requires
# command and strips some of the output
cat << \EOF > %{name}-req
#!/bin/sh
%{__perl_requires} $* |\
sed -e '/perl(Authen::Radius)/d;/perl(DBD::Pg)/d;/perl(DBD::Oracle)/d;/perl(sanitycheck.cgi)/d'
EOF

# use that wrapper script instead of the original perl_requires script
%define __perl_requires %{_builddir}/%{name}-%{version}/%{name}-req
chmod +x %{__perl_requires}

# Deal with changing /usr/local paths here instead of via patches
%{__perl} -pi -e 's|/usr/local/bin/python\b|%{__python}|' contrib/*.py
%{__perl} -pi -e 's|/usr/local/bin/ruby\b|%{_bindir}/ruby|' contrib/*.rb
grep -rl '/usr/lib/sendmail\b' contrib docs \
| xargs %{__perl} -pi -e 's|/usr/lib/sendmail\b|%{_sbindir}/sendmail|'

%build
find . -depth -name CVS -type d -exec rm -rf {} \;
find . -depth -name .cvsignore -type f -exec rm -rf {} \;
# Remove the execute bit from files that don't start with #!
for file in `find -type f -perm /111`; do
  if head -1 $file | egrep -v '^\#!' &>/dev/null; then
    chmod a-x $file
  fi
done
# Ensure shebang shell scripts have executable bit set
for file in `find -type f -perm /664`; do
  if head -1 $file | egrep '^\#!' &>/dev/null; then
    chmod a+x $file
  fi
done

# Remove un-needed files
find . -name "*.orig" -delete

%install
mkdir -p ${RPM_BUILD_ROOT}/%{bzinstallprefix}/bugzilla
cp -pr * ${RPM_BUILD_ROOT}/%{bzinstallprefix}/bugzilla
cat << EOM > ${RPM_BUILD_ROOT}/%{bzinstallprefix}/bugzilla/cron.daily
#!/bin/bash
# Daily Bugzilla collectstats cron job run
cd %{bzinstallprefix}/bugzilla
./collectstats.pl
EOM
echo "0-59/15 * * * * apache cd %{bzinstallprefix}/bugzilla && env LANG=C %{bzinstallprefix}/bugzilla/whine.pl" > ${RPM_BUILD_ROOT}/%{bzinstallprefix}/bugzilla/cron.whine
rm -f ${RPM_BUILD_ROOT}/%{bzinstallprefix}/bugzilla/README
mkdir -p ${RPM_BUILD_ROOT}/%{_datadir}/doc/%{name}-%{version}
cp %{SOURCE2} ./README.fedora
mkdir -p ${RPM_BUILD_ROOT}/%{bzdatadir}
mkdir -p ${RPM_BUILD_ROOT}/%{_sysconfdir}/bugzilla
install -m 0644 -D -p %{SOURCE1}  ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d/bugzilla.conf

%clean
rm -rf ${RPM_BUILD_ROOT}

%post
(pushd %{bzinstallprefix}/bugzilla > /dev/null
./checksetup.pl > /dev/null
popd > /dev/null)

%files
%defattr(-,root,apache,-)
%dir %{bzinstallprefix}/bugzilla
%{bzinstallprefix}/bugzilla/*.cgi
%{bzinstallprefix}/bugzilla/*.pl
%{bzinstallprefix}/bugzilla/Bugzilla.pm
%{bzinstallprefix}/bugzilla/bugzilla.dtd
%{bzinstallprefix}/bugzilla/duplicates.xul
%{bzinstallprefix}/bugzilla/robots.txt
%{bzinstallprefix}/bugzilla/Bugzilla
%{bzinstallprefix}/bugzilla/images
%{bzinstallprefix}/bugzilla/js
%{bzinstallprefix}/bugzilla/skins
%{bzinstallprefix}/bugzilla/t
%{bzinstallprefix}/bugzilla/template
%{bzinstallprefix}/bugzilla/extensions/example
%{bzinstallprefix}/bugzilla/lib/README
%{bzinstallprefix}/bugzilla/cron.daily
%{bzinstallprefix}/bugzilla/cron.whine
%ghost %{bzinstallprefix}/bugzilla/bugzilla-req
%config(noreplace) %{_sysconfdir}/httpd/conf.d/bugzilla.conf
%defattr(-,root,root,-)
%doc README
%doc README.fedora
%dir %{bzdatadir}
%defattr(0750,root,apache,-)
%dir %{_sysconfdir}/bugzilla

%files doc
%defattr(-,root,root,-)
%{bzinstallprefix}/bugzilla/docs

%files contrib
%defattr(-,root,root,-)
%{bzinstallprefix}/bugzilla/contrib

%changelog
* Fri Apr 20 2012 Xavier Bachelot <xavier@bachelot.org> - 3.2.10-5
- Add patch for CVE-2012-0466.
- Drop version requirement downgrade for perl(Email::MIME) and
  perl(Email::MIME::Modifier).

* Wed Feb 01 2012 Xavier Bachelot <xavier@bachelot.org> - 3.2.10-4
- Add patch for CVE-2012-0448.

* Thu Dec 29 2011 Xavier Bachelot <xavier@bachelot.org> - 3.2.10-3
- Add patches for CVE-2011-3657 and CVE-2011-3667.

* Thu Sep 15 2011 Xavier Bachelot <xavier@bachelot.org> - 3.2.10-2
- Add patches for CVE-2011-2379, CVE-2011-2380, CVE-2011-2381, CVE-2011-2978
  and CVE-2011-2976.
- Fix httpd conf (RHBZ#736579, RHBZ #736584).
- Fix typo in doc (RHBZ#736581).
- Fix files ownership (RHBZ#736583).

* Tue May 03 2011 Xavier Bachelot <xavier@bachelot.org> - 3.2.10-1
- Update to 3.2.10 for CVE-2010-4411, CVE-2010-4567, CVE-2010-4568,
  CVE-2010-4569, CVE-2010-4570, CVE-2010-4572, CVE-2011-0046, CVE-2011-0048)

* Tue Feb 02 2010 Emmanuel Seyman <emmanuel.seyman@club-internet.fr> - 3.2.6-2
- Use Linux requirements, not Windows'

* Mon Feb 01 2010 Emmanuel Seyman <emmanuel.seyman@club-internet.fr> - 3.2.6-1
- Update to 3.2.6 (CVE-2009-3989, CVE-2009-3387)
- Specify Perl module versions in the Requires (fixes #524309)
- Add an alias to make $webdotdir a working path (fixes #458848)

* Fri Sep 11 2009 Emmanuel Seyman <emmanuel.seyman@club-internet.fr> - 3.2.5-1
- Update to 3.2.5 (CVE-2009-3125, CVE-2009-3165 and CVE-2009-3166)

* Tue Aug 04 2009 Itamar Reis Peixoto <itamar@ispbrasil.com.br> - 3.2.4-2
- fix EL-5 perl dependencies bz#515158

* Wed Jul 08 2009 Itamar Reis Peixoto <itamar@ispbrasil.com.br> - 3.2.4-1
- fix https://bugzilla.mozilla.org/show_bug.cgi?id=495257

* Mon Apr 06 2009 Itamar Reis Peixoto <itamar@ispbrasil.com.br> 3.2.3-1
- fix CVE-2009-1213

* Thu Mar 05 2009 Itamar Reis Peixoto <itamar@ispbrasil.com.br> 3.2.2-2
- fix from BZ #474250 Comment #16, from Chris Eveleigh -->
- add python BR for contrib subpackage
- fix description
- change Requires perl-SOAP-Lite to perl(SOAP::Lite) according guidelines

* Sun Mar 01 2009 Itamar Reis Peixoto <itamar@ispbrasil.com.br> 3.2.2-1
- thanks to Chris Eveleigh <chris dot eveleigh at planningportal dot gov dot uk>
- for contributing with patches :-)
- Upgrade to upstream 3.2.2 to fix multiple security vulns
- Removed old perl_requires exclusions, added new ones for RADIUS, Oracle and sanitycheck.cgi
- Added Oracle to supported DBs in description (and moved line breaks)
- Include a patch to fix max_allowed_packet warnin when using with mysql

* Sat Feb 28 2009 Itamar Reis Peixoto <itamar@ispbrasil.com.br> 3.0.8-1
- Upgrade to 3.0.8, fix #466077 #438080
- fix macro in changelog rpmlint warning
- fix files-attr-not-set rpmlint warning for doc and contrib sub-packages

* Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Mon Feb  2 2009 Stepan Kasal <skasal@redhat.com> - 3.0.4-3
- do not require perl-Email-Simple, it is (no longer) in use
- remove several explicit perl-* requires; the automatic dependencies
  do handle them

* Mon Jul 14 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 3.0.4-2
- fix license tag

* Fri May  9 2008 John Berninger <john at ncphotography dot com> - 3.0.4-1
- Update to upstream 3.0.4 to fix multiple security vulns
- Change perms on /etc/bugzilla for bz 427981

* Sun May  4 2008 John Berninger <john at ncphotography dot com> - 3.0.3-0
- Update to upstream 3.0.3 - bz 444669

* Fri Dec 28 2007 John Berninger <john at ncphotography dot com> - 3.0.2-6
- Add cron.daily, cron.whine to payload list

* Fri Dec 28 2007 John Berninger <john at ncphotography dot com> - 3.0.2-5
- Typo in spec file, rebuild

* Fri Dec 28 2007 John Berninger <john at ncphotography dot com> - 3.0.2-3
- bz 426465 - don't enable cron jobs so cron doesn't complain about
  an unconfigured installation

* Fri Oct 26 2007 John Berninger <john at ncphotography dot com> - 3.0.2-2
- fix issue with AlowOverride Options

* Mon Oct 22 2007 John Berninger <john at ncphotography dot com> - 3.0.2-1
- updates to requires and httpd conf for BZ's 279961, 295861, 339531

* Mon Sep 24 2007 John Berninger <john at ncphotography dot com> - 3.0.2-0
- update to 3.0.2 - bz 299981

* Mon Aug 27 2007 John Berninger <john at ncphotography dot com> - 3.0.1-0
- update to 3.0.1 - bz 256021

* Fri May 18 2007 John Berninger <jwb at redhat dot com> - 3.0-2
- update Requires for bz's 241037, 241206

* Fri May 18 2007 John Berninger <jwb at redhat dot com> - 3.0-1
- update to upstream version 3.0
- add new dependencies on mod_perl, perl-SOAP-Lite
- refactor patch(es) to change paths for read-only /usr

* Tue Feb 20 2007 John Berninger <jwb at redhat dot com> - 2.22.2-1
- update to 2.22.2 - bz 229163

* Wed Feb 14 2007 John Berninger <jwb at redhat dot com> - 2.22-12
- More cron job fixes

* Wed Jan 31 2007 John Berninger <jwb at redhat dot com> - 2.22-11
- Fix cron job perms

* Sat Jan 27 2007 John Berninger <jwb at redhat dot com> - 2.22-10
- Fix collectstats cron job, bx 224550

* Mon Jan 22 2007 John Berninger <jwb at redhat dot com> - 2.22-9
- Fix linebreak issues in specfile

* Mon Jan 22 2007 John Berninger <jwb at redhat dot com> - 2.22-8
- Put daily and hourly cronjobs in place per bz 223747

* Wed Nov  8 2006 John Berninger <johnw at berningeronline dot net> - 2.22-7
- Fixes for bz # 212355

* Tue Jun 26 2006 John Berninger <johnw at berningeronline dot net> - 2.22-6
- Clean up BugzillaEmail requires (filter it out)

* Mon Jun 26 2006 John Berninger <johnw at berningeronline dot net> - 2.22-5
- License is MPL, not GPL
- Clean up %%doc specs

* Sun Jun 25 2006 John Benringer <johnw at berningeronline dot net> - 2.22-4
- Remove localconfig file per upstream
- Patch to have localconfig appear in /etc/bugzilla when checksetup.pl is run

* Tue Jun 20 2006 John Berninger <johnw at berningeronline dot net> - 2.22-3
- Add README.fedora file
- Add additional requires per comments from upstream

* Mon Jun 19 2006 John Berninger <johnw at berningeronline dot net> - 2.22-2
- Code to /usr/share, data to /var/lib/bugzilla per FE packaging req's

* Tue Jun 13 2006 John Berninger <johnw at berningeronline dot net> - 2.22-1
- Shift to /var/lib/bugzilla install dir per discussion in review request
- Minor change in filtering requires

* Tue May 23 2006 John Berninger <johnw at berningeronline dot net> - 2.22-0
- Update to upstream 2.22 release
- Split off -contrib package, but keep it where it usually gets installed

* Wed Apr 26 2006 John Berninger <johnw at berningeronline dot net> - 2.20.1-4
- rpmlint cleanups

* Mon Apr 24 2006 John Berninger <johnw at berningeronline dot net> - 2.20.1-3
- Cleanup of prov/req filters
- Split docs into -doc package

* Thu Apr 20 2006 John Berninger <johnw at berningeronline dot net> - 2.20.1-2
- No need for CVS tarball - I was thinking things too far through.  Change
  to 2.20.1 release.

* Fri Apr  7 2006 John Berninger <johnw at berningeronline dot net> - 2.20-0.1cvs20060407
- Initial spec creation/build for Fedora Extras packaging.