From 14bcdce1dc6029c3676c3640d8148c83c14692e5 Mon Sep 17 00:00:00 2001 From: Dylan William Hardison Date: Mon, 12 Sep 2016 16:22:17 -0400 Subject: Revert "Bug 1283930 - Add Makefile.PL & local/lib/perl5 support to bmo/master + local symlink to data/ directory" This reverts commit e6bf4cacb10f86077fe898349485f5c7ab9fb4b6. --- Bugzilla/DB.pm | 63 ++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 52 insertions(+), 11 deletions(-) (limited to 'Bugzilla/DB.pm') diff --git a/Bugzilla/DB.pm b/Bugzilla/DB.pm index ae881cf05..cc2826f55 100644 --- a/Bugzilla/DB.pm +++ b/Bugzilla/DB.pm @@ -1,15 +1,34 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# -*- Mode: perl; indent-tabs-mode: nil -*- # -# This Source Code Form is "Incompatible With Secondary Licenses", as -# defined by the Mozilla Public License, v. 2.0. +# The contents of this file are subject to the Mozilla Public +# License Version 1.1 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS +# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or +# implied. See the License for the specific language governing +# rights and limitations under the License. +# +# The Original Code is the Bugzilla Bug Tracking System. +# +# The Initial Developer of the Original Code is Netscape Communications +# Corporation. Portions created by Netscape are +# Copyright (C) 1998 Netscape Communications Corporation. All +# Rights Reserved. +# +# Contributor(s): Terry Weissman +# Dan Mosedale +# Jacob Steenhagen +# Bradley Baetz +# Christopher Aillon +# Tomas Kopal +# Max Kanat-Alexander +# Lance Larsh package Bugzilla::DB; -use 5.10.1; use strict; -use warnings; use DBI; @@ -18,14 +37,11 @@ use base qw(DBI::db); use Bugzilla::Constants; use Bugzilla::Install::Requirements; -use Bugzilla::Install::Util qw(install_string); -use Bugzilla::Version qw(vers_cmp); -use Bugzilla::Install::Util qw(install_string); +use Bugzilla::Install::Util qw(vers_cmp install_string); use Bugzilla::Install::Localconfig; use Bugzilla::Util; use Bugzilla::Error; use Bugzilla::DB::Schema; -use Bugzilla::Version; use Bugzilla::Metrics::Mysql; @@ -185,6 +201,10 @@ sub bz_check_requirements { . bz_locations()->{'localconfig'}; } + # Check the existence and version of the DBD that we need. + my $dbd = $db->{dbd}; + _bz_check_dbd($db, $output); + # We don't try to connect to the actual database if $db_check is # disabled. unless ($lc->{db_check}) { @@ -199,6 +219,27 @@ sub bz_check_requirements { print "\n" if $output; } +sub _bz_check_dbd { + my ($db, $output) = @_; + + my $dbd = $db->{dbd}; + unless (have_vers($dbd, $output)) { + my $sql_server = $db->{name}; + my $command = install_command($dbd); + my $root = ROOT_USER; + my $dbd_mod = $dbd->{module}; + my $dbd_ver = $dbd->{version}; + die <