diff --git a/.gitignore b/.gitignore index c0922ac..182d354 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,4 @@ bugzilla-3.6.1.tar.gz /bugzilla-5.0.2.tar.gz /bugzilla-5.0.3.tar.gz /bugzilla-5.0.4.tar.gz +/release-5.0.6.tar.gz diff --git a/bugzilla-1855962-non-html-mail.patch b/bugzilla-1855962-non-html-mail.patch new file mode 100644 index 0000000..0fd0637 --- /dev/null +++ b/bugzilla-1855962-non-html-mail.patch @@ -0,0 +1,19 @@ +diff --git a/Bugzilla/BugMail.pm b/Bugzilla/BugMail.pm +index 18795d735..2075a71e1 100644 +--- a/Bugzilla/BugMail.pm ++++ b/Bugzilla/BugMail.pm +@@ -495,10 +495,10 @@ sub _generate_bugmail { + } + + my $email = Bugzilla::MIME->new($msg_header); +- if (scalar(@parts) == 1) { +- $email->content_type_set($parts[0]->content_type); +- } +- else { ++ ++ # If there's only one part, we don't need to set the overall content type ++ # because Email::MIME will automatically take it from that part (bug 1657496) ++ if (scalar(@parts) > 1) { + $email->content_type_set('multipart/alternative'); + + # Some mail clients need same encoding for each part, even empty ones. diff --git a/bugzilla-2180465-sphinx-build.patch b/bugzilla-2180465-sphinx-build.patch new file mode 100644 index 0000000..f6bdebb --- /dev/null +++ b/bugzilla-2180465-sphinx-build.patch @@ -0,0 +1,11 @@ +diff -up ./docs/en/rst/conf.py.orig ./docs/en/rst/conf.py +--- ./docs/en/rst/conf.py.orig 2023-04-17 12:51:46.689758866 +0200 ++++ ./docs/en/rst/conf.py 2023-04-17 22:43:10.003583492 +0200 +@@ -391,5 +391,5 @@ if on_rtd: + else: + base_api_url = '../integrating/api/' + +-extlinks = {'bug': ('https://bugzilla.mozilla.org/show_bug.cgi?id=%s', 'bug '), +- 'api': (base_api_url + '%s', '')} ++extlinks = {'bug': ('https://bugzilla.mozilla.org/show_bug.cgi?id=%s', 'bug %s'), ++ 'api': (base_api_url + '%s', '%s')} diff --git a/bugzilla-dnf.patch b/bugzilla-dnf.patch index 8824d21..f7e28e8 100644 --- a/bugzilla-dnf.patch +++ b/bugzilla-dnf.patch @@ -1,29 +1,30 @@ ---- bugzilla-5.0.3/Bugzilla/Install/Requirements.pm.orig 2016-11-13 11:03:43.977035344 +0100 -+++ bugzilla-5.0.3/Bugzilla/Install/Requirements.pm 2016-11-13 11:16:26.115320528 +0100 -@@ -304,7 +304,7 @@ sub OPTIONAL_MODULES { +diff -up ./Bugzilla/Install/Requirements.pm.dnf ./Bugzilla/Install/Requirements.pm +--- ./Bugzilla/Install/Requirements.pm.dnf 2019-02-14 20:47:13.396609293 +0100 ++++ ./Bugzilla/Install/Requirements.pm 2019-02-14 20:49:04.733906799 +0100 +@@ -298,7 +298,7 @@ sub OPTIONAL_MODULES { }, { - package => 'JSON-RPC', -- module => 'JSON::RPC', -+ module => 'JSON::RPC::Legacy::Server::CGI', - version => 0, - feature => ['jsonrpc', 'rest'], + package => 'JSON-RPC', +- module => 'JSON::RPC', ++ module => 'JSON::RPC::Legacy::Server::CGI', + version => 0, + feature => ['jsonrpc', 'rest'], }, -@@ -648,7 +648,7 @@ - if ($output && $check_results->{any_missing} && !ON_ACTIVESTATE - && !$check_results->{hide_all}) - { -- print install_string('install_all', { perl => $^X }); -+ # print install_string('install_all', { perl => $^X }); - } - if (!$check_results->{pass}) { - print colored(install_string('installation_failed'), COLOR_ERROR), -@@ -797,7 +797,7 @@ - $package = $module->{package}; - } - else { -- $command = "$^X install-module.pl \%s"; -+ $command = "dnf install \"perl(\%s)\""; - # Non-Windows installations need to use module names, because - # CPAN doesn't understand package names. - $package = $module->{module}; +@@ -657,7 +657,7 @@ sub print_module_instructions { + && !ON_ACTIVESTATE + && !$check_results->{hide_all}) + { +- print install_string('install_all', {perl => $^X}); ++ # print install_string('install_all', {perl => $^X}); + } + if (!$check_results->{pass}) { + print colored(install_string('installation_failed'), COLOR_ERROR), "\n\n"; +@@ -811,7 +811,7 @@ sub install_command { + $package = $module->{package}; + } + else { +- $command = "$^X install-module.pl \%s"; ++ $command = "dnf install \"perl(\%s)\""; + + # Non-Windows installations need to use module names, because + # CPAN doesn't understand package names. diff --git a/bugzilla-rw-paths.patch b/bugzilla-rw-paths.patch index 3f60dea..98a5ec9 100644 --- a/bugzilla-rw-paths.patch +++ b/bugzilla-rw-paths.patch @@ -1,35 +1,35 @@ -diff -up bugzilla-5.0.1/Bugzilla/Constants.pm.rw-paths bugzilla-5.0.1/Bugzilla/Constants.pm ---- bugzilla-5.0.1/Bugzilla/Constants.pm.rw-paths 2015-09-10 21:36:29.000000000 +0300 -+++ bugzilla-5.0.1/Bugzilla/Constants.pm 2015-09-28 19:20:45.347013271 +0300 -@@ -670,7 +670,7 @@ sub _bz_locations { - $datadir = "data"; - } +diff -up ./Bugzilla/Constants.pm.rw-paths ./Bugzilla/Constants.pm +--- ./Bugzilla/Constants.pm.rw-paths 2019-02-14 20:42:11.280492600 +0100 ++++ ./Bugzilla/Constants.pm 2019-02-14 20:44:39.281581534 +0100 +@@ -700,7 +700,7 @@ sub _bz_locations { + $datadir = "data"; + } -- $datadir = "$libpath/$datadir"; -+ $datadir = "/var/lib/bugzilla/$datadir"; - # We have to return absolute paths for mod_perl. - # That means that if you modify these paths, they must be absolute paths. - return { -@@ -682,11 +682,11 @@ sub _bz_locations { - 'templatedir' => "$libpath/template", - 'template_cache' => "$datadir/template", - 'project' => $project, -- 'localconfig' => "$libpath/$localconfig", -+ 'localconfig' => "/etc/bugzilla/$localconfig", - 'datadir' => $datadir, - 'attachdir' => "$datadir/attachments", - 'skinsdir' => "$libpath/skins", -- 'graphsdir' => "$libpath/graphs", -+ 'graphsdir' => "/var/lib/bugzilla/graphs", - # $webdotdir must be in the web server's tree somewhere. Even if you use a - # local dot, we output images to there. Also, if $webdotdir is - # not relative to the bugzilla root directory, you'll need to -@@ -695,7 +695,7 @@ sub _bz_locations { - # The script should really generate these graphs directly... - 'webdotdir' => "$datadir/webdot", - 'extensionsdir' => "$libpath/extensions", -- 'assetsdir' => "$datadir/assets", -+ 'assetsdir' => "$libpath/assets", - }; +- $datadir = "$libpath/$datadir"; ++ $datadir = "/var/lib/bugzilla/$datadir"; + + # We have to return absolute paths for mod_perl. + # That means that if you modify these paths, they must be absolute paths. +@@ -714,11 +714,11 @@ sub _bz_locations { + 'templatedir' => "$libpath/template", + 'template_cache' => "$datadir/template", + 'project' => $project, +- 'localconfig' => "$libpath/$localconfig", ++ 'localconfig' => "/etc/bugzilla/$localconfig", + 'datadir' => $datadir, + 'attachdir' => "$datadir/attachments", + 'skinsdir' => "$libpath/skins", +- 'graphsdir' => "$libpath/graphs", ++ 'graphsdir' => "/var/lib/bugzilla/graphs", + + # $webdotdir must be in the web server's tree somewhere. Even if you use a + # local dot, we output images to there. Also, if $webdotdir is +@@ -728,7 +728,7 @@ sub _bz_locations { + # The script should really generate these graphs directly... + 'webdotdir' => "$datadir/webdot", + 'extensionsdir' => "$libpath/extensions", +- 'assetsdir' => "$datadir/assets", ++ 'assetsdir' => "$libpath/assets", + }; } diff --git a/bugzilla.spec b/bugzilla.spec index f273b03..41c4a86 100644 --- a/bugzilla.spec +++ b/bugzilla.spec @@ -4,16 +4,20 @@ Summary: Bug tracking system URL: https://www.bugzilla.org/ Name: bugzilla -Version: 5.0.4 -Release: 2%{?dist} -License: MPLv1.1 -Source0: https://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-%{version}.tar.gz +Version: 5.0.6 +Release: 25%{?dist} +# Automatically converted from old format: MPLv1.1 - review is highly recommended. +License: LicenseRef-Callaway-MPLv1.1 +Source0: https://github.com/bugzilla/bugzilla/archive/release-%{version}.tar.gz Source1: bugzilla-httpd-conf Source2: README.fedora.bugzilla Source3: bugzilla.cron-daily Patch0: bugzilla-rw-paths.patch Patch1: bugzilla-dnf.patch Patch2: bugzilla-1438957-concatenate-assets.patch +# https://bug1657496.bmoattachments.org/attachment.cgi?id=9169528 +Patch3: bugzilla-1855962-non-html-mail.patch +Patch4: bugzilla-2180465-sphinx-build.patch BuildArch: noarch Requires: patchutils @@ -38,40 +42,47 @@ Requires: which # for building docs BuildRequires: latexmk +BuildRequires: make BuildRequires: perl-generators +BuildRequires: perl(constant) +BuildRequires: perl(Cwd) +BuildRequires: perl(Exporter) +BuildRequires: perl(File::Basename) BuildRequires: perl(File::Copy::Recursive) +BuildRequires: perl(File::Find) +BuildRequires: perl(File::Path) BuildRequires: perl(File::Which) +BuildRequires: perl(lib) BuildRequires: perl(Memoize) -BuildRequires: python2-sphinx +BuildRequires: perl(parent) +BuildRequires: perl(Pod::Simple) +BuildRequires: perl(strict) +BuildRequires: perl(warnings) +BuildRequires: python3-sphinx BuildRequires: texlive-collection-latexrecommended BuildRequires: texlive-collection-basic BuildRequires: tex(fncychap.sty) BuildRequires: tex(framed.sty) BuildRequires: tex(multirow.sty) +BuildRequires: tex(tgtermes.sty) BuildRequires: tex(threeparttable.sty) BuildRequires: tex(titlesec.sty) BuildRequires: tex(wrapfig.sty) -%if 0%{?fedora} BuildRequires: tex(capt-of.sty) BuildRequires: tex(eqparbox.sty) BuildRequires: tex(needspace.sty) BuildRequires: tex(tabulary.sty) BuildRequires: tex(upquote.sty) -%endif %package doc Summary: Bugzilla documentation -Group: Documentation %package doc-build Summary: Tools to generate the Bugzilla documentation -Group: Applications/Publishing %package contrib Summary: Bugzilla contributed scripts -Group: Applications/Publishing -BuildRequires: python2 -BuildRequires: python2-rpm-macros +BuildRequires: python3-devel %{?perl_default_filter} @@ -159,30 +170,19 @@ Tools to generate the documentation distributed with Bugzilla Contributed scripts and functions for Bugzilla %prep -%setup -q -n %{name}-%{version} -%patch0 -p1 -if [ -f Bugzilla/Constants.pm.orig ]; then - : ERROR: Patch0 did not apply cleanly - exit 1 -fi -%patch1 -p1 -if [ -f Bugzilla/Install/Requirements.pm.orig ]; then - : ERROR: Patch1 did not apply cleanly - exit 1 -fi -%patch2 -p1 - -# Remove bundled libs -rm -rf lib/CGI* -# Remove bundled binary files -rm -f js/yui/*/*.swf +%setup -q -n %{name}-release-%{version} +%patch -P 0 -p1 +%patch -P 1 -p1 +%patch -P 2 -p1 +%patch -P 3 -p1 +%patch -P 4 -p1 # Deal with changing /usr/local paths here instead of via patches -%{__perl} -pi -e 's|/usr/local/bin/python\b|%{__python2}|' contrib/*.py -%{__perl} -pi -e 's|/usr/bin/env python|%{__python2}|' contrib/bugzilla-submit/bugzilla-submit +/usr/bin/perl -pi -e 's|/usr/local/bin/python\b|%{__python3}|' contrib/*.py +/usr/bin/rm -rf contrib/bugzilla-submit grep -rl '/usr/lib/sendmail\b' contrib docs \ -| xargs %{__perl} -pi -e 's|/usr/lib/sendmail\b|%{_sbindir}/sendmail|' +| xargs /usr/bin/perl -pi -e 's|/usr/lib/sendmail\b|%{_sbindir}/sendmail|' %build # Build docs @@ -272,7 +272,6 @@ popd > /dev/null) %defattr(-,root,apache,-) %{bzinstallprefix}/bugzilla/contrib/bugzilla-queue.rhel %{bzinstallprefix}/bugzilla/contrib/bugzilla-queue.suse -%{bzinstallprefix}/bugzilla/contrib/bugzilla-submit %{bzinstallprefix}/bugzilla/contrib/bzdbcopy.pl %{bzinstallprefix}/bugzilla/contrib/bz_webservice_demo.pl %{bzinstallprefix}/bugzilla/contrib/cmdline @@ -284,6 +283,7 @@ popd > /dev/null) %{bzinstallprefix}/bugzilla/contrib/merge-users.pl %{bzinstallprefix}/bugzilla/contrib/mysqld-watcher.pl %{bzinstallprefix}/bugzilla/contrib/new-yui.sh +%{bzinstallprefix}/bugzilla/contrib/perl-fmt %{bzinstallprefix}/bugzilla/contrib/recode.pl %{bzinstallprefix}/bugzilla/contrib/sendbugmail.pl %{bzinstallprefix}/bugzilla/contrib/sendunsentbugmail.pl @@ -291,6 +291,88 @@ popd > /dev/null) %{bzinstallprefix}/bugzilla/contrib/Bugzilla.pm %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 5.0.6-25 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Thu Jan 16 2025 Fedora Release Engineering - 5.0.6-24 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Wed Aug 28 2024 Miroslav Suchý - 5.0.6-23 +- convert license to SPDX + +* Wed Jul 17 2024 Fedora Release Engineering - 5.0.6-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Jan 23 2024 Fedora Release Engineering - 5.0.6-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 5.0.6-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jul 19 2023 Fedora Release Engineering - 5.0.6-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sun May 07 2023 Emmanuel Seyman - 5.0.6-18 +- Patch to build against Sphinx 6.1.3 (#2180465) +- Use new patch syntax + +* Sun Feb 12 2023 Emmanuel Seyman - 5.0.6-17 +- Add missing buildrequirement on tgtermes.sty (#2160038) + +* Wed Jan 18 2023 Fedora Release Engineering - 5.0.6-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Jul 20 2022 Fedora Release Engineering - 5.0.6-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed Jan 19 2022 Fedora Release Engineering - 5.0.6-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jul 21 2021 Fedora Release Engineering - 5.0.6-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Sun Feb 14 2021 Emmanuel Seyman - 5.0.6-12 +- Add make to BuildRequires + +* Tue Jan 26 2021 Fedora Release Engineering - 5.0.6-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Oct 19 2020 Emmanuel Seyman - 5.0.6-10 +- Replace calls to %%{__perl} with /usr/bin/perl +- Remove contrib/bugzilla-submit (no longers works) (#1835451) + +* Tue Sep 29 2020 Emmanuel Seyman - 5.0.6-9 +- Remove automagic Python bytecompilation macro +- Include upstream patch for text mails (#1855962) + +* Sat Aug 01 2020 Fedora Release Engineering - 5.0.6-8 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 5.0.6-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild +* Tue Mar 24 2020 Jitka Plesnikova - 5.0.6-6 +- Add all perl dependencies needed for build + +* Tue Jan 28 2020 Fedora Release Engineering - 5.0.6-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Sep 04 2019 Miro Hrončok - 5.0.6-4 +- Drop unused build dependency on Python 2 + +* Wed Jul 24 2019 Fedora Release Engineering - 5.0.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Mar 10 2019 Emmanuel Seyman - 5.0.6-2 +- Use %%{__python3} instead of %%{__python2} +- Depend on python3-sphinx instead of python2-sphinx + +* Thu Feb 14 2019 Emmanuel Seyman - 5.0.6-1 +- Update to 5.0.6 + +* Thu Jan 31 2019 Fedora Release Engineering - 5.0.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Thu Jul 12 2018 Fedora Release Engineering - 5.0.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild diff --git a/sources b/sources index 6ed1eab..df32c14 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (bugzilla-5.0.4.tar.gz) = 9a508c623406fe71c485f85091c0dec87f7f600190bb88e6b097afaeb94a0bfc32db664609debb2265f21f48734bd040e2f5ecbf40dba0071940f31e195c8dbc +SHA512 (release-5.0.6.tar.gz) = 941087510e2c742ffd4f9c82f6d93253e04c4bde0b3a992d7bbec7672e02604d5cc8b63a12c86b0af8f7a5f7dd8e2ee4e0fa136b4b343fe4d03fd884796a4d2c