Compare commits
3 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
569413ad62 | ||
|
|
929e8fa342 | ||
|
|
458563bdbb |
6 changed files with 352 additions and 61 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -26,3 +26,4 @@ bugzilla-3.6.1.tar.gz
|
||||||
/bugzilla-4.4.11.tar.gz
|
/bugzilla-4.4.11.tar.gz
|
||||||
/bugzilla-5.0.2.tar.gz
|
/bugzilla-5.0.2.tar.gz
|
||||||
/bugzilla-5.0.3.tar.gz
|
/bugzilla-5.0.3.tar.gz
|
||||||
|
/bugzilla-5.0.4.tar.gz
|
||||||
|
|
|
||||||
256
bugzilla-1301887-File-Slurp-Warnings.patch
Normal file
256
bugzilla-1301887-File-Slurp-Warnings.patch
Normal file
|
|
@ -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") =~ /<FilesMatch \\\.css\$>/) {
|
||||||
|
+ if (read_text("$assetsdir/.htaccess") =~ /<FilesMatch \\\.css\$>/) {
|
||||||
|
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 @@
|
||||||
|
<h3 id="req_modules">Required Perl Modules</h3>
|
||||||
|
|
||||||
|
[% 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'] %]
|
||||||
|
|
||||||
12
bugzilla-1438957-concatenate-assets.patch
Normal file
12
bugzilla-1438957-concatenate-assets.patch
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
diff -up ./Bugzilla/Constants.pm.orig ./Bugzilla/Constants.pm
|
||||||
|
--- ./Bugzilla/Constants.pm.orig 2018-02-18 12:22:45.541837039 +0100
|
||||||
|
+++ ./Bugzilla/Constants.pm 2018-02-18 12:22:53.538784733 +0100
|
||||||
|
@@ -213,7 +213,7 @@ use constant LOCAL_FILE => 'bugzilla-up
|
||||||
|
# When true CSS and JavaScript assets will be concatanted and minified at
|
||||||
|
# run-time, to reduce the number of requests required to render a page.
|
||||||
|
# Setting this to a false value can help debugging.
|
||||||
|
-use constant CONCATENATE_ASSETS => 1;
|
||||||
|
+use constant CONCATENATE_ASSETS => 0;
|
||||||
|
|
||||||
|
# These are unique values that are unlikely to match a string or a number,
|
||||||
|
# to be used in criteria for match() functions and other things. They start
|
||||||
|
|
@ -13,7 +13,7 @@ Alias /bugzilla /usr/share/bugzilla
|
||||||
AddHandler cgi-script .cgi
|
AddHandler cgi-script .cgi
|
||||||
Options +Indexes +ExecCGI +FollowSymLinks
|
Options +Indexes +ExecCGI +FollowSymLinks
|
||||||
DirectoryIndex index.cgi index.html
|
DirectoryIndex index.cgi index.html
|
||||||
AllowOverride Limit Options FileInfo Indexes
|
AllowOverride Limit Options FileInfo Indexes AuthConfig
|
||||||
AddType application/vnd.mozilla.xul+xml .xul
|
AddType application/vnd.mozilla.xul+xml .xul
|
||||||
AddType application/rdf+xml .rdf
|
AddType application/rdf+xml .rdf
|
||||||
</Directory>
|
</Directory>
|
||||||
|
|
|
||||||
140
bugzilla.spec
140
bugzilla.spec
|
|
@ -4,9 +4,8 @@
|
||||||
Summary: Bug tracking system
|
Summary: Bug tracking system
|
||||||
URL: https://www.bugzilla.org/
|
URL: https://www.bugzilla.org/
|
||||||
Name: bugzilla
|
Name: bugzilla
|
||||||
Version: 5.0.3
|
Version: 5.0.4
|
||||||
Group: Applications/Publishing
|
Release: 1%{?dist}
|
||||||
Release: 4%{?dist}
|
|
||||||
License: MPLv1.1
|
License: MPLv1.1
|
||||||
Source0: https://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-%{version}.tar.gz
|
Source0: https://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-%{version}.tar.gz
|
||||||
Source1: bugzilla-httpd-conf
|
Source1: bugzilla-httpd-conf
|
||||||
|
|
@ -14,6 +13,7 @@ Source2: README.fedora.bugzilla
|
||||||
Source3: bugzilla.cron-daily
|
Source3: bugzilla.cron-daily
|
||||||
Patch0: bugzilla-rw-paths.patch
|
Patch0: bugzilla-rw-paths.patch
|
||||||
Patch1: bugzilla-dnf.patch
|
Patch1: bugzilla-dnf.patch
|
||||||
|
Patch2: bugzilla-1438957-concatenate-assets.patch
|
||||||
|
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
Requires: patchutils
|
Requires: patchutils
|
||||||
|
|
@ -23,6 +23,7 @@ Requires: perl(Date::Format) >= 2.23
|
||||||
Requires: perl(DateTime) >= 0.75
|
Requires: perl(DateTime) >= 0.75
|
||||||
Requires: perl(DateTime::TimeZone) >= 1.64
|
Requires: perl(DateTime::TimeZone) >= 1.64
|
||||||
Requires: perl(DBI) >= 1.614
|
Requires: perl(DBI) >= 1.614
|
||||||
|
Requires: perl(ExtUtils::MM)
|
||||||
Requires: perl(Template) >= 2.24
|
Requires: perl(Template) >= 2.24
|
||||||
Requires: perl(Email::Sender) >= 1.300011
|
Requires: perl(Email::Sender) >= 1.300011
|
||||||
Requires: perl(Email::MIME) >= 1.904
|
Requires: perl(Email::MIME) >= 1.904
|
||||||
|
|
@ -34,24 +35,28 @@ Requires: perl(JSON::XS) >= 2.01
|
||||||
Requires: perl(Locale::Language)
|
Requires: perl(Locale::Language)
|
||||||
Requires: webserver
|
Requires: webserver
|
||||||
Requires: which
|
Requires: which
|
||||||
|
|
||||||
# for building docs
|
# for building docs
|
||||||
|
BuildRequires: latexmk
|
||||||
BuildRequires: perl-generators
|
BuildRequires: perl-generators
|
||||||
BuildRequires: perl(File::Copy::Recursive)
|
BuildRequires: perl(File::Copy::Recursive)
|
||||||
BuildRequires: perl(File::Which)
|
BuildRequires: perl(File::Which)
|
||||||
BuildRequires: perl(Memoize)
|
BuildRequires: perl(Memoize)
|
||||||
BuildRequires: python-sphinx
|
BuildRequires: python-sphinx
|
||||||
BuildRequires: texlive-collection-fontsrecommended
|
|
||||||
BuildRequires: texlive-collection-latexrecommended
|
BuildRequires: texlive-collection-latexrecommended
|
||||||
BuildRequires: texlive-collection-basic
|
BuildRequires: texlive-collection-basic
|
||||||
BuildRequires: tex-framed
|
BuildRequires: tex(fncychap.sty)
|
||||||
BuildRequires: tex-multirow
|
BuildRequires: tex(framed.sty)
|
||||||
BuildRequires: tex-threeparttable
|
BuildRequires: tex(multirow.sty)
|
||||||
BuildRequires: tex-titlesec
|
BuildRequires: tex(threeparttable.sty)
|
||||||
BuildRequires: tex-wrapfig
|
BuildRequires: tex(titlesec.sty)
|
||||||
|
BuildRequires: tex(wrapfig.sty)
|
||||||
%if 0%{?fedora}
|
%if 0%{?fedora}
|
||||||
BuildRequires: texlive-capt-of.noarch
|
BuildRequires: tex(capt-of.sty)
|
||||||
BuildRequires: texlive-eqparbox.noarch
|
BuildRequires: tex(eqparbox.sty)
|
||||||
BuildRequires: texlive-upquote
|
BuildRequires: tex(needspace.sty)
|
||||||
|
BuildRequires: tex(tabulary.sty)
|
||||||
|
BuildRequires: tex(upquote.sty)
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%package doc
|
%package doc
|
||||||
|
|
@ -70,73 +75,72 @@ BuildRequires: python
|
||||||
%{?perl_default_filter}
|
%{?perl_default_filter}
|
||||||
|
|
||||||
# Remove private modules from the requires stream
|
# Remove private modules from the requires stream
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(sanitycheck.cgi\\)$
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(sanitycheck.cgi\\)$
|
||||||
|
|
||||||
# Remove all optional modules from the requires stream
|
# Remove all optional modules from the requires stream
|
||||||
# mod_perl modules
|
# mod_perl modules
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(Apache2::
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(Apache2::
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(ModPerl::
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(ModPerl::
|
||||||
# installation of optional modules
|
# installation of optional modules
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(Config\\)$
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(Config\\)$
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(CPAN\\)$
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(CPAN\\)$
|
||||||
# authentification modules
|
# authentification modules
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(Authen::Radius\\)$
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(Authen::Radius\\)$
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(Net::LDAP
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(Net::LDAP
|
||||||
# database modules
|
# database modules
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(DBD::Oracle\\)$
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(DBD::Oracle\\)$
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(DBD::Pg\\)$
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(DBD::Pg\\)$
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(DBI::db\\)$
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(DBI::db\\)$
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(DBI::st\\)$
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(DBI::st\\)$
|
||||||
# graphical reports and charts
|
# graphical reports and charts
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(Chart::Lines\\)$
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(Chart::Lines\\)$
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(GD::Graph\\)$
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(GD::Graph\\)$
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(GD::Graph\\)$
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(Template::Plugin::GD::Image\\)$
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(Template::Plugin::GD::Image\\)$
|
|
||||||
# inbound email modules
|
# inbound email modules
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(Email::MIME::Attachment::Stripper\\)$
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(Email::MIME::Attachment::Stripper\\)$
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(Email::Reply\\)$
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(Email::Reply\\)$
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(HTML::FormatText::WithLinks\\)$
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(HTML::FormatText::WithLinks\\)$
|
||||||
# automatic charset detection for text attachments
|
# automatic charset detection for text attachments
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(Encode
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(Encode
|
||||||
# sniff MIME type of attachments
|
# sniff MIME type of attachments
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(File::MimeInfo::Magic\\)$
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(File::MimeInfo::Magic\\)$
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(IO::Scalar\\)$
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(IO::Scalar\\)$
|
||||||
# mail queueing
|
# mail queueing
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(TheSchwartz\\)$
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(TheSchwartz\\)$
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(Daemon::Generic\\)$
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(Daemon::Generic\\)$
|
||||||
# smtp security
|
# smtp security
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(Authen::SASL\\)$
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(Authen::SASL\\)$
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(Net::SMTP::SSL\\)$
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(Net::SMTP::SSL\\)$
|
||||||
# bug moving modules
|
# bug moving modules
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(MIME::Parser\\)$
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(MIME::Parser\\)$
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(XML::Twig\\)$
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(XML::Twig\\)$
|
||||||
# update notifications
|
# update notifications
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(LWP::UserAgent\\)$
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(LWP::UserAgent\\)$
|
||||||
# use html in product and group descriptions
|
# use html in product and group descriptions
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(HTML::Parser\\)$
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(HTML::Parser\\)$
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(HTML::Scrubber\\)$
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(HTML::Scrubber\\)$
|
||||||
# memcached support
|
# memcached support
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(Cache::Memcached\\)$
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(Cache::Memcached\\)$
|
||||||
# documentation
|
# documentation
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(File::Copy::Recursive\\)$
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(File::Copy::Recursive\\)$
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(File::Which\\)$
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(File::Which\\)$
|
||||||
# xml-rpc and json-rpc modules
|
# xml-rpc and json-rpc modules
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(XMLRPC::
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(XMLRPC::
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(HTTP::Message\\)$
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(HTTP::Message\\)$
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(Test::Taint\\)$
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(Test::Taint\\)$
|
||||||
# extension modules
|
# extension modules
|
||||||
%global __requires_exclude %__requires_exclude|^perl\\(Image::Magick\\)$
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(Image::Magick\\)$
|
||||||
|
|
||||||
# and remove the extensions from the provides stream
|
# and remove the extensions from the provides stream
|
||||||
%global __provides_exclude %__provides_exclude|^perl\\(Bugzilla::Extension::BmpConvert\\)$
|
%global __provides_exclude %{?__provides_exclude:%{__provides_exclude}|}^perl\\(Bugzilla::Extension::BmpConvert\\)$
|
||||||
%global __provides_exclude %__provides_exclude|^perl\\(Bugzilla::Extension::Example\\)$
|
%global __provides_exclude %{?__provides_exclude:%{__provides_exclude}|}^perl\\(Bugzilla::Extension::Example\\)$
|
||||||
%global __provides_exclude %__provides_exclude|^perl\\(Bugzilla::Extension::Example::Auth::Login\\)$
|
%global __provides_exclude %{?__provides_exclude:%{__provides_exclude}|}^perl\\(Bugzilla::Extension::Example::Auth::Login\\)$
|
||||||
%global __provides_exclude %__provides_exclude|^perl\\(Bugzilla::Extension::Example::Auth::Verify\\)$
|
%global __provides_exclude %{?__provides_exclude:%{__provides_exclude}|}^perl\\(Bugzilla::Extension::Example::Auth::Verify\\)$
|
||||||
%global __provides_exclude %__provides_exclude|^perl\\(Bugzilla::Extension::Example::Config\\)$
|
%global __provides_exclude %{?__provides_exclude:%{__provides_exclude}|}^perl\\(Bugzilla::Extension::Example::Config\\)$
|
||||||
%global __provides_exclude %__provides_exclude|^perl\\(Bugzilla::Extension::Example::WebService\\)$
|
%global __provides_exclude %{?__provides_exclude:%{__provides_exclude}|}^perl\\(Bugzilla::Extension::Example::WebService\\)$
|
||||||
%global __provides_exclude %__provides_exclude|^perl\\(Bugzilla::Extension::OldBugMove\\)$
|
%global __provides_exclude %{?__provides_exclude:%{__provides_exclude}|}^perl\\(Bugzilla::Extension::OldBugMove\\)$
|
||||||
%global __provides_exclude %__provides_exclude|^perl\\(Bugzilla::Extension::OldBugMove::Params\\)$
|
%global __provides_exclude %{?__provides_exclude:%{__provides_exclude}|}^perl\\(Bugzilla::Extension::OldBugMove::Params\\)$
|
||||||
%global __provides_exclude %__provides_exclude|^perl\\(Bugzilla::Extension::Voting\\)$
|
%global __provides_exclude %{?__provides_exclude:%{__provides_exclude}|}^perl\\(Bugzilla::Extension::Voting\\)$
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Bugzilla is a popular bug tracking system used by multiple open source projects
|
Bugzilla is a popular bug tracking system used by multiple open source projects
|
||||||
|
|
@ -165,6 +169,7 @@ if [ -f Bugzilla/Install/Requirements.pm.orig ]; then
|
||||||
: ERROR: Patch1 did not apply cleanly
|
: ERROR: Patch1 did not apply cleanly
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
%patch2 -p1
|
||||||
|
|
||||||
# Remove bundled libs
|
# Remove bundled libs
|
||||||
rm -rf lib/CGI*
|
rm -rf lib/CGI*
|
||||||
|
|
@ -173,7 +178,8 @@ rm -f js/yui/*/*.swf
|
||||||
|
|
||||||
# Deal with changing /usr/local paths here instead of via patches
|
# 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/python\b|%{__python}|' contrib/*.py
|
||||||
%{__perl} -pi -e 's|/usr/local/bin/ruby\b|%{_bindir}/ruby|' contrib/*.rb
|
%{__perl} -pi -e 's|/usr/bin/env python|%{__python}|' contrib/bugzilla-submit/bugzilla-submit
|
||||||
|
|
||||||
grep -rl '/usr/lib/sendmail\b' contrib docs \
|
grep -rl '/usr/lib/sendmail\b' contrib docs \
|
||||||
| xargs %{__perl} -pi -e 's|/usr/lib/sendmail\b|%{_sbindir}/sendmail|'
|
| xargs %{__perl} -pi -e 's|/usr/lib/sendmail\b|%{_sbindir}/sendmail|'
|
||||||
|
|
||||||
|
|
@ -284,6 +290,22 @@ popd > /dev/null)
|
||||||
%{bzinstallprefix}/bugzilla/contrib/Bugzilla.pm
|
%{bzinstallprefix}/bugzilla/contrib/Bugzilla.pm
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sun Feb 18 2018 Emmanuel Seyman <emmanuel@seyman.fr> - 5.0.4-1
|
||||||
|
- Update to 5.0.4
|
||||||
|
- Remove backported File::Slurp patch, no longer needed
|
||||||
|
- Disable the concatenation of assets (#1438957)
|
||||||
|
|
||||||
|
* Sun Aug 27 2017 Emmanuel Seyman <emmanuel@seyman.fr> - 5.0.3-6
|
||||||
|
- Tighten macro expansion (thanks to ppisar)
|
||||||
|
- Drop Group tag
|
||||||
|
- Add doc-building requirement to fix FTBS
|
||||||
|
- Add perl(ExtUtils::MM) to the list of required modules
|
||||||
|
|
||||||
|
* Tue Apr 04 2017 Emmanuel Seyman <emmanuel@seyman.fr> - 5.0.3-5
|
||||||
|
- Include more dependencies to fix FTBFS (#1423283)
|
||||||
|
- Allow AuthConfig directives in Bugzilla's directory (#1403588)
|
||||||
|
- Backport patch to use internal functions rather than File::Slurp (#1425077)
|
||||||
|
|
||||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.3-4
|
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.3-4
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||||
|
|
||||||
|
|
|
||||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
||||||
b78365742a85cd030c87af12c196e8e9 bugzilla-5.0.3.tar.gz
|
SHA512 (bugzilla-5.0.4.tar.gz) = 9a508c623406fe71c485f85091c0dec87f7f600190bb88e6b097afaeb94a0bfc32db664609debb2265f21f48734bd040e2f5ecbf40dba0071940f31e195c8dbc
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue