Clean up library path fiddling across all scripts

This commit is contained in:
Oliver Gorwits
2014-03-11 21:40:58 +00:00
parent 58ffd7a53a
commit 47d712490e
11 changed files with 85 additions and 47 deletions

View File

@@ -10,6 +10,7 @@
* Use daterange for IP Subnets (same as IP Inventory) * Use daterange for IP Subnets (same as IP Inventory)
* Run daemons as target binary's owning user (supports run control) * Run daemons as target binary's owning user (supports run control)
* Clean up library path fiddling across all scripts
[BUG FIXES] [BUG FIXES]

View File

@@ -1,5 +1,8 @@
#!/usr/bin/env perl #!/usr/bin/env perl
use strict;
use warnings;
use FindBin; use FindBin;
FindBin::again(); FindBin::again();
use Path::Class 'dir'; use Path::Class 'dir';

View File

@@ -1,11 +1,29 @@
#!/usr/bin/env perl #!/usr/bin/env perl
use FindBin; use strict;
FindBin::again(); use warnings;
use Path::Class 'dir';
our $home = ($ENV{NETDISCO_HOME} || $ENV{HOME});
BEGIN { BEGIN {
# stuff useful locations into @INC use FindBin;
FindBin::again();
# try to find a localenv if one isn't already in place.
if (!exists $ENV{PERL_LOCAL_LIB_ROOT}) {
use File::Spec;
my $localenv = File::Spec->catfile($FindBin::RealBin, 'localenv');
exec($localenv, $0, @ARGV) if -f $localenv;
$localenv = File::Spec->catfile($home, 'perl5', 'bin', 'localenv');
exec($localenv, $0, @ARGV) if -f $localenv;
die "Sorry, can't find libs required for App::Netdisco.\n"
if !exists $ENV{PERLBREW_PERL};
}
use Path::Class;
# stuff useful locations into @INC and $PATH
unshift @INC, unshift @INC,
dir($FindBin::RealBin)->parent->subdir('lib')->stringify, dir($FindBin::RealBin)->parent->subdir('lib')->stringify,
dir($FindBin::RealBin, 'lib')->stringify; dir($FindBin::RealBin, 'lib')->stringify;

View File

@@ -27,6 +27,9 @@ BEGIN {
unshift @INC, unshift @INC,
dir($FindBin::RealBin)->parent->subdir('lib')->stringify, dir($FindBin::RealBin)->parent->subdir('lib')->stringify,
dir($FindBin::RealBin, 'lib')->stringify; dir($FindBin::RealBin, 'lib')->stringify;
use Config;
$ENV{PATH} = $FindBin::RealBin . $Config{path_sep} . $ENV{PATH};
} }
use Daemon::Control; use Daemon::Control;

View File

@@ -14,10 +14,9 @@ BEGIN {
dir($FindBin::RealBin, 'lib')->stringify; dir($FindBin::RealBin, 'lib')->stringify;
} }
# for netdisco app config
use App::Netdisco; use App::Netdisco;
use Dancer qw/:moose :script/; use Dancer qw/:moose :script/;
info "App::Netdisco version $App::Netdisco::VERSION daemon loaded."; warning sprintf "App::Netdisco %s backend", ($App::Netdisco::VERSION || 'HEAD');
# callbacks and local job queue management # callbacks and local job queue management
use App::Netdisco::Daemon::Queue ':all'; use App::Netdisco::Daemon::Queue ':all';

View File

@@ -1,14 +1,35 @@
#!/usr/bin/env perl #!/usr/bin/env perl
use FindBin; use strict;
FindBin::again(); use warnings;
use Path::Class 'dir';
our $home = ($ENV{NETDISCO_HOME} || $ENV{HOME});
BEGIN { BEGIN {
# stuff useful locations into @INC use FindBin;
FindBin::again();
# try to find a localenv if one isn't already in place.
if (!exists $ENV{PERL_LOCAL_LIB_ROOT}) {
use File::Spec;
my $localenv = File::Spec->catfile($FindBin::RealBin, 'localenv');
exec($localenv, $0, @ARGV) if -f $localenv;
$localenv = File::Spec->catfile($home, 'perl5', 'bin', 'localenv');
exec($localenv, $0, @ARGV) if -f $localenv;
die "Sorry, can't find libs required for App::Netdisco.\n"
if !exists $ENV{PERLBREW_PERL};
}
use Path::Class;
# stuff useful locations into @INC and $PATH
unshift @INC, unshift @INC,
dir($FindBin::RealBin)->parent->subdir('lib')->stringify, dir($FindBin::RealBin)->parent->subdir('lib')->stringify,
dir($FindBin::RealBin, 'lib')->stringify; dir($FindBin::RealBin, 'lib')->stringify;
use Config;
$ENV{PATH} = $FindBin::RealBin . $Config{path_sep} . $ENV{PATH};
} }
use App::Netdisco; use App::Netdisco;

View File

@@ -1,11 +1,15 @@
#!/usr/bin/env perl #!/usr/bin/env perl
our $home; use strict;
use warnings;
our $home = ($ENV{NETDISCO_HOME} || $ENV{HOME});
BEGIN { BEGIN {
# try really hard to find a localenv if one isn't already in place. use FindBin;
$home = ($ENV{NETDISCO_HOME} || $ENV{HOME}); FindBin::again();
# try to find a localenv if one isn't already in place.
if (!exists $ENV{PERL_LOCAL_LIB_ROOT}) { if (!exists $ENV{PERL_LOCAL_LIB_ROOT}) {
use File::Spec; use File::Spec;
my $localenv = File::Spec->catfile($FindBin::RealBin, 'localenv'); my $localenv = File::Spec->catfile($FindBin::RealBin, 'localenv');
@@ -16,22 +20,16 @@ BEGIN {
die "Sorry, can't find libs required for App::Netdisco.\n" die "Sorry, can't find libs required for App::Netdisco.\n"
if !exists $ENV{PERLBREW_PERL}; if !exists $ENV{PERLBREW_PERL};
} }
}
use FindBin; use Path::Class;
FindBin::again();
use Path::Class;
BEGIN {
# stuff useful locations into @INC and $PATH # stuff useful locations into @INC and $PATH
my $location = $FindBin::RealBin;
unshift @INC, unshift @INC,
dir($location)->parent->subdir('lib')->stringify, dir($FindBin::RealBin)->parent->subdir('lib')->stringify,
dir($location, 'lib')->stringify; dir($FindBin::RealBin, 'lib')->stringify;
use Config; use Config;
$ENV{PATH} = $location . $Config{path_sep} . $ENV{PATH}; $ENV{PATH} = $FindBin::RealBin . $Config{path_sep} . $ENV{PATH};
} }
use App::Netdisco; use App::Netdisco;
@@ -39,7 +37,7 @@ use Dancer ':script';
use Dancer::Plugin::DBIC 'schema'; use Dancer::Plugin::DBIC 'schema';
use Dancer::Plugin::Passphrase; use Dancer::Plugin::Passphrase;
info "App::Netdisco version $App::Netdisco::VERSION loaded."; info "App::Netdisco $App::Netdisco::VERSION loaded.";
use 5.010_000; use 5.010_000;
use Term::UI; use Term::UI;

View File

@@ -1,11 +1,12 @@
#!/usr/bin/env perl #!/usr/bin/env perl
our $home; our $home = ($ENV{NETDISCO_HOME} || $ENV{HOME});
BEGIN { BEGIN {
# try to find a localenv if one isn't already in place. use FindBin;
$home = ($ENV{NETDISCO_HOME} || $ENV{HOME}); FindBin::again();
# try to find a localenv if one isn't already in place.
if (!exists $ENV{PERL_LOCAL_LIB_ROOT}) { if (!exists $ENV{PERL_LOCAL_LIB_ROOT}) {
use File::Spec; use File::Spec;
my $localenv = File::Spec->catfile($FindBin::RealBin, 'localenv'); my $localenv = File::Spec->catfile($FindBin::RealBin, 'localenv');
@@ -16,14 +17,10 @@ BEGIN {
die "Sorry, can't find libs required for App::Netdisco.\n" die "Sorry, can't find libs required for App::Netdisco.\n"
if !exists $ENV{PERLBREW_PERL}; if !exists $ENV{PERLBREW_PERL};
} }
}
use FindBin; use Path::Class;
FindBin::again();
use Path::Class 'dir';
BEGIN { # stuff useful locations into @INC and $PATH
# stuff useful locations into @INC
unshift @INC, unshift @INC,
dir($FindBin::RealBin)->parent->subdir('lib')->stringify, dir($FindBin::RealBin)->parent->subdir('lib')->stringify,
dir($FindBin::RealBin, 'lib')->stringify; dir($FindBin::RealBin, 'lib')->stringify;

View File

@@ -1,11 +1,12 @@
#!/usr/bin/env perl #!/usr/bin/env perl
our $home; our $home = ($ENV{NETDISCO_HOME} || $ENV{HOME});
BEGIN { BEGIN {
# try really hard to find a localenv if one isn't already in place. use FindBin;
$home = ($ENV{NETDISCO_HOME} || $ENV{HOME}); FindBin::again();
# try to find a localenv if one isn't already in place.
if (!exists $ENV{PERL_LOCAL_LIB_ROOT}) { if (!exists $ENV{PERL_LOCAL_LIB_ROOT}) {
use File::Spec; use File::Spec;
my $localenv = File::Spec->catfile($FindBin::RealBin, 'localenv'); my $localenv = File::Spec->catfile($FindBin::RealBin, 'localenv');
@@ -16,22 +17,16 @@ BEGIN {
die "Sorry, can't find libs required for App::Netdisco.\n" die "Sorry, can't find libs required for App::Netdisco.\n"
if !exists $ENV{PERLBREW_PERL}; if !exists $ENV{PERLBREW_PERL};
} }
}
use FindBin; use Path::Class;
FindBin::again();
use Path::Class;
BEGIN {
# stuff useful locations into @INC and $PATH # stuff useful locations into @INC and $PATH
my $location = $FindBin::RealBin;
unshift @INC, unshift @INC,
dir($location)->parent->subdir('lib')->stringify, dir($FindBin::RealBin)->parent->subdir('lib')->stringify,
dir($location, 'lib')->stringify; dir($FindBin::RealBin, 'lib')->stringify;
use Config; use Config;
$ENV{PATH} = $location . $Config{path_sep} . $ENV{PATH}; $ENV{PATH} = $FindBin::RealBin . $Config{path_sep} . $ENV{PATH};
} }
use App::Netdisco; use App::Netdisco;

View File

@@ -27,6 +27,9 @@ BEGIN {
unshift @INC, unshift @INC,
dir($FindBin::RealBin)->parent->subdir('lib')->stringify, dir($FindBin::RealBin)->parent->subdir('lib')->stringify,
dir($FindBin::RealBin, 'lib')->stringify; dir($FindBin::RealBin, 'lib')->stringify;
use Config;
$ENV{PATH} = $FindBin::RealBin . $Config{path_sep} . $ENV{PATH};
} }
use Daemon::Control; use Daemon::Control;

View File

@@ -22,7 +22,7 @@ BEGIN {
use App::Netdisco; use App::Netdisco;
use Dancer; use Dancer;
debug sprintf "App::Netdisco %s", ($App::Netdisco::VERSION || 'HEAD'); warning sprintf "App::Netdisco %s web", ($App::Netdisco::VERSION || 'HEAD');
my $home = ($ENV{NETDISCO_HOME} || $ENV{HOME}); my $home = ($ENV{NETDISCO_HOME} || $ENV{HOME});
set(session_dir => dir($home, 'netdisco-web-sessions')->stringify); set(session_dir => dir($home, 'netdisco-web-sessions')->stringify);