diff --git a/.gitignore b/.gitignore index 182d354..c0922ac 100644 --- a/.gitignore +++ b/.gitignore @@ -27,4 +27,3 @@ 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-1301887-File-Slurp-Warnings.patch b/bugzilla-1301887-File-Slurp-Warnings.patch new file mode 100644 index 0000000..e983cc3 --- /dev/null +++ b/bugzilla-1301887-File-Slurp-Warnings.patch @@ -0,0 +1,256 @@ +diff -up ./Bugzilla/Config.pm.orig ./Bugzilla/Config.pm +--- ./Bugzilla/Config.pm.orig 2017-03-05 20:38:55.540137017 +0100 ++++ ./Bugzilla/Config.pm 2017-03-05 20:40:18.954614192 +0100 +@@ -16,10 +16,9 @@ use autodie qw(:default); + + use Bugzilla::Constants; + use Bugzilla::Hook; +-use Bugzilla::Util qw(trick_taint); ++use Bugzilla::Util qw(trick_taint read_text write_text); + + use JSON::XS; +-use File::Slurp; + use File::Temp; + use File::Basename; + +@@ -284,7 +283,7 @@ sub write_params { + my $param_file = bz_locations()->{'datadir'} . '/params.json'; + + my $json_data = JSON::XS->new->canonical->pretty->encode($param_data); +- write_file($param_file, { binmode => ':utf8', atomic => 1 }, \$json_data); ++ write_text($param_file, $json_data); + + # It's not common to edit parameters and loading + # Bugzilla::Install::Filesystem is slow. +@@ -301,8 +300,8 @@ sub read_param_file { + my $file = bz_locations()->{'datadir'} . '/params.json'; + + if (-e $file) { +- my $data; +- read_file($file, binmode => ':utf8', buf_ref => \$data); ++ my $data = read_text($file); ++ trick_taint($data); + + # If params.json has been manually edited and e.g. some quotes are + # missing, we don't want JSON::XS to leak the content of the file +diff -up ./Bugzilla/Install/Filesystem.pm.orig ./Bugzilla/Install/Filesystem.pm +--- ./Bugzilla/Install/Filesystem.pm.orig 2017-03-05 20:40:25.563572768 +0100 ++++ ./Bugzilla/Install/Filesystem.pm 2017-03-05 20:40:53.516397565 +0100 +@@ -31,7 +31,6 @@ use File::Path; + use File::Basename; + use File::Copy qw(move); + use File::Spec; +-use File::Slurp; + use IO::File; + use POSIX (); + +@@ -536,7 +535,7 @@ sub update_filesystem { + + # Remove old assets htaccess file to force recreation with correct values. + if (-e "$assetsdir/.htaccess") { +- if (read_file("$assetsdir/.htaccess") =~ //) { ++ if (read_text("$assetsdir/.htaccess") =~ //) { + unlink("$assetsdir/.htaccess"); + } + } +diff -up ./Bugzilla/Install/Requirements.pm.orig ./Bugzilla/Install/Requirements.pm +--- ./Bugzilla/Install/Requirements.pm.orig 2017-03-05 20:41:00.420354292 +0100 ++++ ./Bugzilla/Install/Requirements.pm 2017-03-05 20:41:24.044206223 +0100 +@@ -156,11 +156,6 @@ sub REQUIRED_MODULES { + version => '1.0.1', + }, + { +- package => 'File-Slurp', +- module => 'File::Slurp', +- version => '9999.13', +- }, +- { + package => 'JSON-XS', + module => 'JSON::XS', + # 2.0 is the first version that will work with JSON::RPC. +diff -up ./Bugzilla/JobQueue.pm.orig ./Bugzilla/JobQueue.pm +--- ./Bugzilla/JobQueue.pm.orig 2017-03-05 20:41:33.460147206 +0100 ++++ ./Bugzilla/JobQueue.pm 2017-03-05 20:42:40.659726012 +0100 +@@ -14,8 +14,8 @@ use warnings; + use Bugzilla::Constants; + use Bugzilla::Error; + use Bugzilla::Install::Util qw(install_string); ++use Bugzilla::Util qw(read_text); + use File::Basename; +-use File::Slurp; + use base qw(TheSchwartz); + use fields qw(_worker_pidfile); + +@@ -124,7 +124,7 @@ sub subprocess_worker { + # And poll the PID to detect when the working has finished. + # We do this instead of system() to allow for the INT signal to + # interrup us and trigger kill_worker(). +- my $pid = read_file($self->{_worker_pidfile}, err_mode => 'quiet'); ++ my $pid = read_text($self->{_worker_pidfile}, err_mode => 'quiet'); + if ($pid) { + sleep(3) while(kill(0, $pid)); + } +@@ -139,7 +139,7 @@ sub subprocess_worker { + sub kill_worker { + my $self = Bugzilla->job_queue(); + if ($self->{_worker_pidfile} && -e $self->{_worker_pidfile}) { +- my $worker_pid = read_file($self->{_worker_pidfile}); ++ my $worker_pid = read_text($self->{_worker_pidfile}); + if ($worker_pid && kill(0, $worker_pid)) { + $self->debug("Stopping worker process"); + system "$0 -f -p '" . $self->{_worker_pidfile} . "' stop"; +diff -up ./Bugzilla/Template.pm.orig ./Bugzilla/Template.pm +--- ./Bugzilla/Template.pm.orig 2017-03-05 20:42:47.460683385 +0100 ++++ ./Bugzilla/Template.pm 2017-03-05 20:46:35.942251308 +0100 +@@ -32,7 +32,6 @@ use Digest::MD5 qw(md5_hex); + use File::Basename qw(basename dirname); + use File::Find; + use File::Path qw(rmtree mkpath); +-use File::Slurp; + use File::Spec; + use IO::Dir; + use List::MoreUtils qw(firstidx); +@@ -502,7 +501,7 @@ sub _concatenate_css { + next unless -e "$cgi_path/$files{$source}"; + my $file = $skins_path . '/' . md5_hex($source) . '.css'; + if (!-e $file) { +- my $content = read_file("$cgi_path/$files{$source}"); ++ my $content = read_text("$cgi_path/$files{$source}"); + + # minify + $content =~ s{/\*.*?\*/}{}sg; # comments +@@ -512,7 +511,7 @@ sub _concatenate_css { + # rewrite urls + $content =~ s{url\(([^\)]+)\)}{_css_url_rewrite($source, $1)}eig; + +- write_file($file, "/* $files{$source} */\n" . $content . "\n"); ++ write_text($file, "/* $files{$source} */\n" . $content . "\n"); + } + push @minified, $file; + } +@@ -522,9 +521,9 @@ sub _concatenate_css { + if (!-e $file) { + my $content = ''; + foreach my $source (@minified) { +- $content .= read_file($source); ++ $content .= read_text($source); + } +- write_file($file, $content); ++ write_text($file, $content); + } + + $file =~ s/^\Q$cgi_path\E\///o; +@@ -563,7 +562,7 @@ sub _concatenate_js { + next unless -e "$cgi_path/$files{$source}"; + my $file = $skins_path . '/' . md5_hex($source) . '.js'; + if (!-e $file) { +- my $content = read_file("$cgi_path/$files{$source}"); ++ my $content = read_text("$cgi_path/$files{$source}"); + + # minimal minification + $content =~ s#/\*.*?\*/##sg; # block comments +@@ -572,7 +571,7 @@ sub _concatenate_js { + $content =~ s#\n{2,}#\n#g; # blank lines + $content =~ s#(^\s+|\s+$)##g; # whitespace at the start/end of file + +- write_file($file, ";/* $files{$source} */\n" . $content . "\n"); ++ write_text($file, ";/* $files{$source} */\n" . $content . "\n"); + } + push @minified, $file; + } +@@ -582,9 +581,9 @@ sub _concatenate_js { + if (!-e $file) { + my $content = ''; + foreach my $source (@minified) { +- $content .= read_file($source); ++ $content .= read_text($source); + } +- write_file($file, $content); ++ write_text($file, $content); + } + + $file =~ s/^\Q$cgi_path\E\///o; +diff -up ./Bugzilla/Util.pm.orig ./Bugzilla/Util.pm +--- ./Bugzilla/Util.pm.orig 2017-03-05 20:46:54.370135805 +0100 ++++ ./Bugzilla/Util.pm 2017-03-05 20:48:12.190648042 +0100 +@@ -24,7 +24,7 @@ use parent qw(Exporter); + validate_email_syntax check_email_syntax clean_text + get_text template_var display_value disable_utf8 + detect_encoding email_filter +- join_activity_entries); ++ join_activity_entries read_text write_text); + + use Bugzilla::Constants; + use Bugzilla::RNG qw(irand); +@@ -39,6 +39,8 @@ use Scalar::Util qw(tainted blessed); + use Text::Wrap; + use Encode qw(encode decode resolve_alias); + use Encode::Guess; ++use File::Basename qw(dirname); ++use File::Temp qw(tempfile); + + sub trick_taint { + require Carp; +@@ -106,6 +108,27 @@ sub html_quote { + return $var; + } + ++sub read_text { ++ my ($filename) = @_; ++ open my $fh, '<:encoding(utf-8)', $filename; ++ local $/ = undef; ++ my $content = <$fh>; ++ close $fh; ++ return $content; ++} ++ ++sub write_text { ++ my ($filename, $content) = @_; ++ my ($tmp_fh, $tmp_filename) = tempfile('.tmp.XXXXXXXXXX', ++ DIR => dirname($filename), ++ UNLINK => 0, ++ ); ++ binmode $tmp_fh, ':encoding(utf-8)'; ++ print $tmp_fh $content; ++ close $tmp_fh; ++ rename $tmp_filename, $filename; ++} ++ + sub html_light_quote { + my ($text) = @_; + # admin/table.html.tmpl calls |FILTER html_light| many times. +diff -up ./docs/en/rst/installing/linux.rst.orig ./docs/en/rst/installing/linux.rst +--- ./docs/en/rst/installing/linux.rst.orig 2017-03-05 20:48:20.526595794 +0100 ++++ ./docs/en/rst/installing/linux.rst 2017-03-05 20:49:00.375346030 +0100 +@@ -49,7 +49,7 @@ graphviz patchutils gcc 'perl(Apache2::S + 'perl(Daemon::Generic)' 'perl(Date::Format)' 'perl(DateTime)' + 'perl(DateTime::TimeZone)' 'perl(DBI)' 'perl(Digest::SHA)' 'perl(Email::MIME)' + 'perl(Email::Reply)' 'perl(Email::Sender)' 'perl(Encode)' 'perl(Encode::Detect)' +-'perl(File::MimeInfo::Magic)' 'perl(File::Slurp)' 'perl(GD)' 'perl(GD::Graph)' ++'perl(File::MimeInfo::Magic)' 'perl(GD)' 'perl(GD::Graph)' + 'perl(GD::Text)' 'perl(HTML::FormatText::WithLinks)' 'perl(HTML::Parser)' + 'perl(HTML::Scrubber)' 'perl(IO::Scalar)' 'perl(JSON::RPC)' 'perl(JSON::XS)' + 'perl(List::MoreUtils)' 'perl(LWP::UserAgent)' 'perl(Math::Random::ISAAC)' +diff -up ./docs/en/rst/installing/windows.rst.orig ./docs/en/rst/installing/windows.rst +--- ./docs/en/rst/installing/windows.rst.orig 2017-03-05 20:49:10.415283101 +0100 ++++ ./docs/en/rst/installing/windows.rst 2017-03-05 20:49:25.631187731 +0100 +@@ -85,7 +85,6 @@ Install the following mandatory modules + * URI + * List-MoreUtils + * Math-Random-ISAAC +-* File-Slurp + * JSON-XS + * Win32 + * Win32-API +diff -up ./template/en/default/pages/release-notes.html.tmpl.orig ./template/en/default/pages/release-notes.html.tmpl +--- ./template/en/default/pages/release-notes.html.tmpl.orig 2017-03-05 20:49:34.287133477 +0100 ++++ ./template/en/default/pages/release-notes.html.tmpl 2017-03-05 20:49:52.223021059 +0100 +@@ -174,7 +174,7 @@ +

Required Perl Modules

+ + [% INCLUDE req_table reqs = REQUIRED_MODULES +- new = ['File-Slurp','JSON-XS', 'Email-Sender'] ++ new = ['JSON-XS', 'Email-Sender'] + updated = ['DateTime', 'DateTime-TimeZone', + 'Template-Toolkit', 'URI'] %] + diff --git a/bugzilla-1855962-non-html-mail.patch b/bugzilla-1855962-non-html-mail.patch deleted file mode 100644 index 0fd0637..0000000 --- a/bugzilla-1855962-non-html-mail.patch +++ /dev/null @@ -1,19 +0,0 @@ -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 deleted file mode 100644 index f6bdebb..0000000 --- a/bugzilla-2180465-sphinx-build.patch +++ /dev/null @@ -1,11 +0,0 @@ -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 f7e28e8..8824d21 100644 --- a/bugzilla-dnf.patch +++ b/bugzilla-dnf.patch @@ -1,30 +1,29 @@ -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 { +--- 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 { }, { - 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'], }, -@@ -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. +@@ -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}; diff --git a/bugzilla-rw-paths.patch b/bugzilla-rw-paths.patch index 98a5ec9..3f60dea 100644 --- a/bugzilla-rw-paths.patch +++ b/bugzilla-rw-paths.patch @@ -1,35 +1,35 @@ -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"; - } +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"; + } -- $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", - }; +- $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", + }; } diff --git a/bugzilla.spec b/bugzilla.spec index 41c4a86..9baa1a4 100644 --- a/bugzilla.spec +++ b/bugzilla.spec @@ -4,20 +4,16 @@ Summary: Bug tracking system URL: https://www.bugzilla.org/ Name: bugzilla -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 +Version: 5.0.4 +Release: 1%{?dist} +License: MPLv1.1 +Source0: https://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-%{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 @@ -42,47 +38,39 @@ 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: perl(parent) -BuildRequires: perl(Pod::Simple) -BuildRequires: perl(strict) -BuildRequires: perl(warnings) -BuildRequires: python3-sphinx +BuildRequires: python-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 -BuildRequires: python3-devel +Group: Applications/Publishing +BuildRequires: python %{?perl_default_filter} @@ -170,19 +158,30 @@ Tools to generate the documentation distributed with Bugzilla Contributed scripts and functions for Bugzilla %prep -%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 +%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 # Deal with changing /usr/local paths here instead of via patches -/usr/bin/perl -pi -e 's|/usr/local/bin/python\b|%{__python3}|' contrib/*.py -/usr/bin/rm -rf contrib/bugzilla-submit +%{__perl} -pi -e 's|/usr/local/bin/python\b|%{__python}|' contrib/*.py +%{__perl} -pi -e 's|/usr/bin/env python|%{__python}|' contrib/bugzilla-submit/bugzilla-submit grep -rl '/usr/lib/sendmail\b' contrib docs \ -| xargs /usr/bin/perl -pi -e 's|/usr/lib/sendmail\b|%{_sbindir}/sendmail|' +| xargs %{__perl} -pi -e 's|/usr/lib/sendmail\b|%{_sbindir}/sendmail|' %build # Build docs @@ -272,6 +271,7 @@ 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 @@ -283,7 +283,6 @@ 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,116 +290,17 @@ 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 - * Sun Feb 18 2018 Emmanuel Seyman - 5.0.4-1 - Update to 5.0.4 - Remove backported File::Slurp patch, no longer needed -- use %%{__python2} instead of %%{__python} - Disable the concatenation of assets (#1438957) -* Wed Feb 07 2018 Iryna Shcherbina - 5.0.3-10 -- Update Python 2 dependency declarations to new packaging standards - (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) - -* Wed Feb 07 2018 Fedora Release Engineering - 5.0.3-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Sun Aug 20 2017 Emmanuel Seyman - 5.0.3-8 +* Sun Aug 27 2017 Emmanuel Seyman - 5.0.3-6 - Tighten macro expansion (thanks to ppisar) - Drop Group tag -- Use tex(..) BuildRequires where possible - -* Mon Aug 07 2017 Emmanuel Seyman - 5.0.3-7 - Add doc-building requirement to fix FTBS - Add perl(ExtUtils::MM) to the list of required modules -* Wed Jul 26 2017 Fedora Release Engineering - 5.0.3-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - * Tue Apr 04 2017 Emmanuel Seyman - 5.0.3-5 - Include more dependencies to fix FTBFS (#1423283) - Allow AuthConfig directives in Bugzilla's directory (#1403588) diff --git a/sources b/sources index df32c14..6ed1eab 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (release-5.0.6.tar.gz) = 941087510e2c742ffd4f9c82f6d93253e04c4bde0b3a992d7bbec7672e02604d5cc8b63a12c86b0af8f7a5f7dd8e2ee4e0fa136b4b343fe4d03fd884796a4d2c +SHA512 (bugzilla-5.0.4.tar.gz) = 9a508c623406fe71c485f85091c0dec87f7f600190bb88e6b097afaeb94a0bfc32db664609debb2265f21f48734bd040e2f5ecbf40dba0071940f31e195c8dbc