Change version_check_file() to prefer global system dirs first.

This commit is contained in:
Daniel Nichter
2013-02-14 08:49:57 -07:00
parent 4545926556
commit 877d1a3b26
20 changed files with 384 additions and 81 deletions

View File

@@ -4707,11 +4707,26 @@ eval {
require HTTPMicro; require HTTPMicro;
}; };
sub version_check_file { {
return File::Spec->catfile( my $file = 'percona-version-check';
File::Spec->tmpdir(), my $home = $ENV{HOME} || $ENV{HOMEPATH} || $ENV{USERPROFILE} || '.';
'percona-version-check-2.2' my @vc_dirs = (
'/etc/percona',
'/etc/percona-toolkit',
'/tmp',
"$home",
); );
sub version_check_file {
foreach my $dir ( @vc_dirs ) {
if ( -d $dir && -w $dir ) {
PTDEBUG && _d('Version check file', $file, 'in', $dir);
return $dir . '/' . $file;
}
}
PTDEBUG && _d('Version check file', $file, 'in', $ENV{PWD});
return $file; # in the CWD
}
} }
sub version_check_time_limit { sub version_check_time_limit {

View File

@@ -4381,11 +4381,26 @@ eval {
require HTTPMicro; require HTTPMicro;
}; };
sub version_check_file { {
return File::Spec->catfile( my $file = 'percona-version-check';
File::Spec->tmpdir(), my $home = $ENV{HOME} || $ENV{HOMEPATH} || $ENV{USERPROFILE} || '.';
'percona-version-check-2.2' my @vc_dirs = (
'/etc/percona',
'/etc/percona-toolkit',
'/tmp',
"$home",
); );
sub version_check_file {
foreach my $dir ( @vc_dirs ) {
if ( -d $dir && -w $dir ) {
PTDEBUG && _d('Version check file', $file, 'in', $dir);
return $dir . '/' . $file;
}
}
PTDEBUG && _d('Version check file', $file, 'in', $ENV{PWD});
return $file; # in the CWD
}
} }
sub version_check_time_limit { sub version_check_time_limit {

View File

@@ -3297,11 +3297,26 @@ eval {
require HTTPMicro; require HTTPMicro;
}; };
sub version_check_file { {
return File::Spec->catfile( my $file = 'percona-version-check';
File::Spec->tmpdir(), my $home = $ENV{HOME} || $ENV{HOMEPATH} || $ENV{USERPROFILE} || '.';
'percona-version-check-2.2' my @vc_dirs = (
'/etc/percona',
'/etc/percona-toolkit',
'/tmp',
"$home",
); );
sub version_check_file {
foreach my $dir ( @vc_dirs ) {
if ( -d $dir && -w $dir ) {
PTDEBUG && _d('Version check file', $file, 'in', $dir);
return $dir . '/' . $file;
}
}
PTDEBUG && _d('Version check file', $file, 'in', $ENV{PWD});
return $file; # in the CWD
}
} }
sub version_check_time_limit { sub version_check_time_limit {

View File

@@ -4192,11 +4192,26 @@ eval {
require HTTPMicro; require HTTPMicro;
}; };
sub version_check_file { {
return File::Spec->catfile( my $file = 'percona-version-check';
File::Spec->tmpdir(), my $home = $ENV{HOME} || $ENV{HOMEPATH} || $ENV{USERPROFILE} || '.';
'percona-version-check-2.2' my @vc_dirs = (
'/etc/percona',
'/etc/percona-toolkit',
'/tmp',
"$home",
); );
sub version_check_file {
foreach my $dir ( @vc_dirs ) {
if ( -d $dir && -w $dir ) {
PTDEBUG && _d('Version check file', $file, 'in', $dir);
return $dir . '/' . $file;
}
}
PTDEBUG && _d('Version check file', $file, 'in', $ENV{PWD});
return $file; # in the CWD
}
} }
sub version_check_time_limit { sub version_check_time_limit {

View File

@@ -4053,11 +4053,26 @@ eval {
require HTTPMicro; require HTTPMicro;
}; };
sub version_check_file { {
return File::Spec->catfile( my $file = 'percona-version-check';
File::Spec->tmpdir(), my $home = $ENV{HOME} || $ENV{HOMEPATH} || $ENV{USERPROFILE} || '.';
'percona-version-check-2.2' my @vc_dirs = (
'/etc/percona',
'/etc/percona-toolkit',
'/tmp',
"$home",
); );
sub version_check_file {
foreach my $dir ( @vc_dirs ) {
if ( -d $dir && -w $dir ) {
PTDEBUG && _d('Version check file', $file, 'in', $dir);
return $dir . '/' . $file;
}
}
PTDEBUG && _d('Version check file', $file, 'in', $ENV{PWD});
return $file; # in the CWD
}
} }
sub version_check_time_limit { sub version_check_time_limit {

View File

@@ -2865,11 +2865,26 @@ eval {
require HTTPMicro; require HTTPMicro;
}; };
sub version_check_file { {
return File::Spec->catfile( my $file = 'percona-version-check';
File::Spec->tmpdir(), my $home = $ENV{HOME} || $ENV{HOMEPATH} || $ENV{USERPROFILE} || '.';
'percona-version-check-2.2' my @vc_dirs = (
'/etc/percona',
'/etc/percona-toolkit',
'/tmp',
"$home",
); );
sub version_check_file {
foreach my $dir ( @vc_dirs ) {
if ( -d $dir && -w $dir ) {
PTDEBUG && _d('Version check file', $file, 'in', $dir);
return $dir . '/' . $file;
}
}
PTDEBUG && _d('Version check file', $file, 'in', $ENV{PWD});
return $file; # in the CWD
}
} }
sub version_check_time_limit { sub version_check_time_limit {

View File

@@ -2807,11 +2807,26 @@ eval {
require HTTPMicro; require HTTPMicro;
}; };
sub version_check_file { {
return File::Spec->catfile( my $file = 'percona-version-check';
File::Spec->tmpdir(), my $home = $ENV{HOME} || $ENV{HOMEPATH} || $ENV{USERPROFILE} || '.';
'percona-version-check-2.2' my @vc_dirs = (
'/etc/percona',
'/etc/percona-toolkit',
'/tmp',
"$home",
); );
sub version_check_file {
foreach my $dir ( @vc_dirs ) {
if ( -d $dir && -w $dir ) {
PTDEBUG && _d('Version check file', $file, 'in', $dir);
return $dir . '/' . $file;
}
}
PTDEBUG && _d('Version check file', $file, 'in', $ENV{PWD});
return $file; # in the CWD
}
} }
sub version_check_time_limit { sub version_check_time_limit {

View File

@@ -4033,11 +4033,26 @@ eval {
require HTTPMicro; require HTTPMicro;
}; };
sub version_check_file { {
return File::Spec->catfile( my $file = 'percona-version-check';
File::Spec->tmpdir(), my $home = $ENV{HOME} || $ENV{HOMEPATH} || $ENV{USERPROFILE} || '.';
'percona-version-check-2.2' my @vc_dirs = (
'/etc/percona',
'/etc/percona-toolkit',
'/tmp',
"$home",
); );
sub version_check_file {
foreach my $dir ( @vc_dirs ) {
if ( -d $dir && -w $dir ) {
PTDEBUG && _d('Version check file', $file, 'in', $dir);
return $dir . '/' . $file;
}
}
PTDEBUG && _d('Version check file', $file, 'in', $ENV{PWD});
return $file; # in the CWD
}
} }
sub version_check_time_limit { sub version_check_time_limit {

View File

@@ -5508,11 +5508,26 @@ eval {
require HTTPMicro; require HTTPMicro;
}; };
sub version_check_file { {
return File::Spec->catfile( my $file = 'percona-version-check';
File::Spec->tmpdir(), my $home = $ENV{HOME} || $ENV{HOMEPATH} || $ENV{USERPROFILE} || '.';
'percona-version-check-2.2' my @vc_dirs = (
'/etc/percona',
'/etc/percona-toolkit',
'/tmp',
"$home",
); );
sub version_check_file {
foreach my $dir ( @vc_dirs ) {
if ( -d $dir && -w $dir ) {
PTDEBUG && _d('Version check file', $file, 'in', $dir);
return $dir . '/' . $file;
}
}
PTDEBUG && _d('Version check file', $file, 'in', $ENV{PWD});
return $file; # in the CWD
}
} }
sub version_check_time_limit { sub version_check_time_limit {

View File

@@ -5730,11 +5730,26 @@ eval {
require HTTPMicro; require HTTPMicro;
}; };
sub version_check_file { {
return File::Spec->catfile( my $file = 'percona-version-check';
File::Spec->tmpdir(), my $home = $ENV{HOME} || $ENV{HOMEPATH} || $ENV{USERPROFILE} || '.';
'percona-version-check-2.2' my @vc_dirs = (
'/etc/percona',
'/etc/percona-toolkit',
'/tmp',
"$home",
); );
sub version_check_file {
foreach my $dir ( @vc_dirs ) {
if ( -d $dir && -w $dir ) {
PTDEBUG && _d('Version check file', $file, 'in', $dir);
return $dir . '/' . $file;
}
}
PTDEBUG && _d('Version check file', $file, 'in', $ENV{PWD});
return $file; # in the CWD
}
} }
sub version_check_time_limit { sub version_check_time_limit {

View File

@@ -7180,11 +7180,26 @@ eval {
require HTTPMicro; require HTTPMicro;
}; };
sub version_check_file { {
return File::Spec->catfile( my $file = 'percona-version-check';
File::Spec->tmpdir(), my $home = $ENV{HOME} || $ENV{HOMEPATH} || $ENV{USERPROFILE} || '.';
'percona-version-check-2.2' my @vc_dirs = (
'/etc/percona',
'/etc/percona-toolkit',
'/tmp',
"$home",
); );
sub version_check_file {
foreach my $dir ( @vc_dirs ) {
if ( -d $dir && -w $dir ) {
PTDEBUG && _d('Version check file', $file, 'in', $dir);
return $dir . '/' . $file;
}
}
PTDEBUG && _d('Version check file', $file, 'in', $ENV{PWD});
return $file; # in the CWD
}
} }
sub version_check_time_limit { sub version_check_time_limit {

View File

@@ -7463,11 +7463,26 @@ eval {
require HTTPMicro; require HTTPMicro;
}; };
sub version_check_file { {
return File::Spec->catfile( my $file = 'percona-version-check';
File::Spec->tmpdir(), my $home = $ENV{HOME} || $ENV{HOMEPATH} || $ENV{USERPROFILE} || '.';
'percona-version-check-2.2' my @vc_dirs = (
'/etc/percona',
'/etc/percona-toolkit',
'/tmp',
"$home",
); );
sub version_check_file {
foreach my $dir ( @vc_dirs ) {
if ( -d $dir && -w $dir ) {
PTDEBUG && _d('Version check file', $file, 'in', $dir);
return $dir . '/' . $file;
}
}
PTDEBUG && _d('Version check file', $file, 'in', $ENV{PWD});
return $file; # in the CWD
}
} }
sub version_check_time_limit { sub version_check_time_limit {

View File

@@ -13092,11 +13092,26 @@ eval {
require HTTPMicro; require HTTPMicro;
}; };
sub version_check_file { {
return File::Spec->catfile( my $file = 'percona-version-check';
File::Spec->tmpdir(), my $home = $ENV{HOME} || $ENV{HOMEPATH} || $ENV{USERPROFILE} || '.';
'percona-version-check-2.2' my @vc_dirs = (
'/etc/percona',
'/etc/percona-toolkit',
'/tmp',
"$home",
); );
sub version_check_file {
foreach my $dir ( @vc_dirs ) {
if ( -d $dir && -w $dir ) {
PTDEBUG && _d('Version check file', $file, 'in', $dir);
return $dir . '/' . $file;
}
}
PTDEBUG && _d('Version check file', $file, 'in', $ENV{PWD});
return $file; # in the CWD
}
} }
sub version_check_time_limit { sub version_check_time_limit {

View File

@@ -3408,11 +3408,26 @@ eval {
require HTTPMicro; require HTTPMicro;
}; };
sub version_check_file { {
return File::Spec->catfile( my $file = 'percona-version-check';
File::Spec->tmpdir(), my $home = $ENV{HOME} || $ENV{HOMEPATH} || $ENV{USERPROFILE} || '.';
'percona-version-check-2.2' my @vc_dirs = (
'/etc/percona',
'/etc/percona-toolkit',
'/tmp',
"$home",
); );
sub version_check_file {
foreach my $dir ( @vc_dirs ) {
if ( -d $dir && -w $dir ) {
PTDEBUG && _d('Version check file', $file, 'in', $dir);
return $dir . '/' . $file;
}
}
PTDEBUG && _d('Version check file', $file, 'in', $ENV{PWD});
return $file; # in the CWD
}
} }
sub version_check_time_limit { sub version_check_time_limit {

View File

@@ -4032,11 +4032,26 @@ eval {
require HTTPMicro; require HTTPMicro;
}; };
sub version_check_file { {
return File::Spec->catfile( my $file = 'percona-version-check';
File::Spec->tmpdir(), my $home = $ENV{HOME} || $ENV{HOMEPATH} || $ENV{USERPROFILE} || '.';
'percona-version-check-2.2' my @vc_dirs = (
'/etc/percona',
'/etc/percona-toolkit',
'/tmp',
"$home",
); );
sub version_check_file {
foreach my $dir ( @vc_dirs ) {
if ( -d $dir && -w $dir ) {
PTDEBUG && _d('Version check file', $file, 'in', $dir);
return $dir . '/' . $file;
}
}
PTDEBUG && _d('Version check file', $file, 'in', $ENV{PWD});
return $file; # in the CWD
}
} }
sub version_check_time_limit { sub version_check_time_limit {

View File

@@ -746,11 +746,26 @@ eval {
require HTTPMicro; require HTTPMicro;
}; };
sub version_check_file { {
return File::Spec->catfile( my $file = 'percona-version-check';
File::Spec->tmpdir(), my $home = $ENV{HOME} || $ENV{HOMEPATH} || $ENV{USERPROFILE} || '.';
'percona-version-check-2.2' my @vc_dirs = (
'/etc/percona',
'/etc/percona-toolkit',
'/tmp',
"$home",
); );
sub version_check_file {
foreach my $dir ( @vc_dirs ) {
if ( -d $dir && -w $dir ) {
PTDEBUG && _d('Version check file', $file, 'in', $dir);
return $dir . '/' . $file;
}
}
PTDEBUG && _d('Version check file', $file, 'in', $ENV{PWD});
return $file; # in the CWD
}
} }
sub version_check_time_limit { sub version_check_time_limit {

View File

@@ -8870,11 +8870,26 @@ eval {
require HTTPMicro; require HTTPMicro;
}; };
sub version_check_file { {
return File::Spec->catfile( my $file = 'percona-version-check';
File::Spec->tmpdir(), my $home = $ENV{HOME} || $ENV{HOMEPATH} || $ENV{USERPROFILE} || '.';
'percona-version-check-2.2' my @vc_dirs = (
'/etc/percona',
'/etc/percona-toolkit',
'/tmp',
"$home",
); );
sub version_check_file {
foreach my $dir ( @vc_dirs ) {
if ( -d $dir && -w $dir ) {
PTDEBUG && _d('Version check file', $file, 'in', $dir);
return $dir . '/' . $file;
}
}
PTDEBUG && _d('Version check file', $file, 'in', $ENV{PWD});
return $file; # in the CWD
}
} }
sub version_check_time_limit { sub version_check_time_limit {

View File

@@ -11689,11 +11689,26 @@ eval {
require HTTPMicro; require HTTPMicro;
}; };
sub version_check_file { {
return File::Spec->catfile( my $file = 'percona-version-check';
File::Spec->tmpdir(), my $home = $ENV{HOME} || $ENV{HOMEPATH} || $ENV{USERPROFILE} || '.';
'percona-version-check-2.2' my @vc_dirs = (
'/etc/percona',
'/etc/percona-toolkit',
'/tmp',
"$home",
); );
sub version_check_file {
foreach my $dir ( @vc_dirs ) {
if ( -d $dir && -w $dir ) {
PTDEBUG && _d('Version check file', $file, 'in', $dir);
return $dir . '/' . $file;
}
}
PTDEBUG && _d('Version check file', $file, 'in', $ENV{PWD});
return $file; # in the CWD
}
} }
sub version_check_time_limit { sub version_check_time_limit {

View File

@@ -4315,11 +4315,26 @@ eval {
require HTTPMicro; require HTTPMicro;
}; };
sub version_check_file { {
return File::Spec->catfile( my $file = 'percona-version-check';
File::Spec->tmpdir(), my $home = $ENV{HOME} || $ENV{HOMEPATH} || $ENV{USERPROFILE} || '.';
'percona-version-check-2.2' my @vc_dirs = (
'/etc/percona',
'/etc/percona-toolkit',
'/tmp',
"$home",
); );
sub version_check_file {
foreach my $dir ( @vc_dirs ) {
if ( -d $dir && -w $dir ) {
PTDEBUG && _d('Version check file', $file, 'in', $dir);
return $dir . '/' . $file;
}
}
PTDEBUG && _d('Version check file', $file, 'in', $ENV{PWD});
return $file; # in the CWD
}
} }
sub version_check_time_limit { sub version_check_time_limit {

View File

@@ -48,12 +48,30 @@ eval {
}; };
# Return the version check file used to keep track of # Return the version check file used to keep track of
# MySQL instance that have been checked and when. # MySQL instance that have been checked and when. Some
sub version_check_file { # systems use random tmp dirs; we don't want that else
return File::Spec->catfile( # every user will have their own vc file. One vc file
File::Spec->tmpdir(), # per system is the goal, so prefer global sys dirs first.
'percona-version-check-2.2' {
my $file = 'percona-version-check';
my $home = $ENV{HOME} || $ENV{HOMEPATH} || $ENV{USERPROFILE} || '.';
my @vc_dirs = (
'/etc/percona',
'/etc/percona-toolkit',
'/tmp',
"$home",
); );
sub version_check_file {
foreach my $dir ( @vc_dirs ) {
if ( -d $dir && -w $dir ) {
PTDEBUG && _d('Version check file', $file, 'in', $dir);
return $dir . '/' . $file;
}
}
PTDEBUG && _d('Version check file', $file, 'in', $ENV{PWD});
return $file; # in the CWD
}
} }
# Return time limit between checks. # Return time limit between checks.