aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrédéric Buclin <LpSolit@gmail.com>2016-05-20 00:42:54 +0200
committerFrédéric Buclin <LpSolit@gmail.com>2016-05-20 00:42:54 +0200
commitfe2e95faa245b0df7b9bdd47ff9bf36880f966ea (patch)
tree7c524834ec213ad77af46b22145662a801e34f9e
parent40d86a554f5da8f5ede4b3982460be7a95fd1379 (diff)
downloadbugs-fe2e95faa245b0df7b9bdd47ff9bf36880f966ea.tar
bugs-fe2e95faa245b0df7b9bdd47ff9bf36880f966ea.tar.gz
bugs-fe2e95faa245b0df7b9bdd47ff9bf36880f966ea.tar.bz2
bugs-fe2e95faa245b0df7b9bdd47ff9bf36880f966ea.tar.xz
bugs-fe2e95faa245b0df7b9bdd47ff9bf36880f966ea.zip
Bug 1273846 - Checksetup fails to update chart storage during pre-3.6 -> 5.0 upgrade
r/a=dkl
-rw-r--r--Bugzilla/Install/Filesystem.pm17
1 files changed, 8 insertions, 9 deletions
diff --git a/Bugzilla/Install/Filesystem.pm b/Bugzilla/Install/Filesystem.pm
index 4f133d865..43512e79c 100644
--- a/Bugzilla/Install/Filesystem.pm
+++ b/Bugzilla/Install/Filesystem.pm
@@ -782,22 +782,21 @@ sub _update_old_charts {
# to product IDs.
sub _update_old_mining_filenames {
my ($miningdir) = @_;
+ my $dbh = Bugzilla->dbh;
my @conversion_errors;
- require Bugzilla::Product;
-
# We use a dummy product instance with ID 0, representing all products
my $product_all = {id => 0, name => '-All-'};
- bless($product_all, 'Bugzilla::Product');
print "Updating old charting data file names...";
- my @products = Bugzilla::Product->get_all();
+ my @products = @{ $dbh->selectall_arrayref('SELECT id, name FROM products
+ ORDER BY name', {Slice=>{}}) };
push(@products, $product_all);
foreach my $product (@products) {
- if (-e File::Spec->catfile($miningdir, $product->id)) {
+ if (-e File::Spec->catfile($miningdir, $product->{id})) {
push(@conversion_errors,
{ product => $product,
- message => 'A file named "' . $product->id .
+ message => 'A file named "' . $product->{id} .
'" already exists.' });
}
}
@@ -805,8 +804,8 @@ sub _update_old_mining_filenames {
if (! @conversion_errors) {
# Renaming mining files should work now without a hitch.
foreach my $product (@products) {
- if (! rename(File::Spec->catfile($miningdir, $product->name),
- File::Spec->catfile($miningdir, $product->id))) {
+ if (! rename(File::Spec->catfile($miningdir, $product->{name}),
+ File::Spec->catfile($miningdir, $product->{id}))) {
push(@conversion_errors,
{ product => $product,
message => $! });
@@ -822,7 +821,7 @@ sub _update_old_mining_filenames {
print " FAILED:\n";
foreach my $error (@conversion_errors) {
printf "Cannot rename charting data file for product %d (%s): %s\n",
- $error->{product}->id, $error->{product}->name,
+ $error->{product}->{id}, $error->{product}->{name},
$error->{message};
}
print "You need to empty the \"$miningdir\" directory, then run\n",