From d7e641858ad29557db831415c28aa46c51128901 Mon Sep 17 00:00:00 2001 From: "mkanat%bugzilla.org" Date: Fri, 19 Oct 2007 06:46:19 +0000 Subject: [PATCH] Bug 399954: Make Bugzilla able to hold its dependencies in a local directory Patch By Max Kanat-Alexander r=LpSolit, a=LpSolit git-svn-id: svn://10.0.0.236/trunk@237891 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/webtools/bugzilla/Bugzilla/Chart.pm | 1 - .../webtools/bugzilla/Bugzilla/Constants.pm | 1 + .../bugzilla/Bugzilla/Install/Filesystem.pm | 5 +++++ mozilla/webtools/bugzilla/Bugzilla/Series.pm | 1 - mozilla/webtools/bugzilla/admin.cgi | 2 +- mozilla/webtools/bugzilla/attachment.cgi | 2 +- mozilla/webtools/bugzilla/buglist.cgi | 2 +- mozilla/webtools/bugzilla/chart.cgi | 2 +- mozilla/webtools/bugzilla/checksetup.pl | 2 +- mozilla/webtools/bugzilla/colchange.cgi | 2 +- mozilla/webtools/bugzilla/collectstats.pl | 2 +- mozilla/webtools/bugzilla/config.cgi | 2 +- .../bugzilla/contrib/bz_webservice_demo.pl | 1 + mozilla/webtools/bugzilla/contrib/bzdbcopy.pl | 2 +- .../webtools/bugzilla/contrib/merge-users.pl | 2 +- mozilla/webtools/bugzilla/contrib/recode.pl | 3 +-- .../webtools/bugzilla/contrib/sendbugmail.pl | 4 ++-- .../bugzilla/contrib/sendunsentbugmail.pl | 2 +- mozilla/webtools/bugzilla/contrib/syncLDAP.pl | 2 +- mozilla/webtools/bugzilla/createaccount.cgi | 2 +- .../webtools/bugzilla/describecomponents.cgi | 2 +- .../webtools/bugzilla/describekeywords.cgi | 2 +- mozilla/webtools/bugzilla/docs/makedocs.pl | 2 +- .../bugzilla/docs/xml/installation.xml | 4 ++-- mozilla/webtools/bugzilla/duplicates.cgi | 2 +- .../webtools/bugzilla/editclassifications.cgi | 2 +- mozilla/webtools/bugzilla/editcomponents.cgi | 2 +- mozilla/webtools/bugzilla/editfields.cgi | 2 +- mozilla/webtools/bugzilla/editflagtypes.cgi | 2 +- mozilla/webtools/bugzilla/editgroups.cgi | 2 +- mozilla/webtools/bugzilla/editkeywords.cgi | 2 +- mozilla/webtools/bugzilla/editmilestones.cgi | 2 +- mozilla/webtools/bugzilla/editparams.cgi | 2 +- mozilla/webtools/bugzilla/editproducts.cgi | 2 +- mozilla/webtools/bugzilla/editsettings.cgi | 2 +- mozilla/webtools/bugzilla/editusers.cgi | 2 +- mozilla/webtools/bugzilla/editvalues.cgi | 2 +- mozilla/webtools/bugzilla/editversions.cgi | 2 +- mozilla/webtools/bugzilla/editwhines.cgi | 2 +- mozilla/webtools/bugzilla/editworkflow.cgi | 2 +- mozilla/webtools/bugzilla/email_in.pl | 2 ++ mozilla/webtools/bugzilla/enter_bug.cgi | 2 +- mozilla/webtools/bugzilla/importxml.pl | 20 +++++++------------ mozilla/webtools/bugzilla/index.cgi | 2 +- mozilla/webtools/bugzilla/lib/README | 4 ++++ mozilla/webtools/bugzilla/long_list.cgi | 2 +- mozilla/webtools/bugzilla/page.cgi | 2 +- mozilla/webtools/bugzilla/post_bug.cgi | 2 +- mozilla/webtools/bugzilla/process_bug.cgi | 2 +- mozilla/webtools/bugzilla/query.cgi | 2 +- mozilla/webtools/bugzilla/quips.cgi | 2 +- mozilla/webtools/bugzilla/relogin.cgi | 2 +- mozilla/webtools/bugzilla/report.cgi | 2 +- mozilla/webtools/bugzilla/reports.cgi | 2 +- mozilla/webtools/bugzilla/request.cgi | 2 +- mozilla/webtools/bugzilla/runtests.pl | 1 + mozilla/webtools/bugzilla/sanitycheck.cgi | 2 +- mozilla/webtools/bugzilla/sanitycheck.pl | 2 +- mozilla/webtools/bugzilla/search_plugin.cgi | 2 +- mozilla/webtools/bugzilla/show_activity.cgi | 2 +- mozilla/webtools/bugzilla/show_bug.cgi | 2 +- mozilla/webtools/bugzilla/showattachment.cgi | 2 +- .../webtools/bugzilla/showdependencygraph.cgi | 2 +- .../webtools/bugzilla/showdependencytree.cgi | 2 +- mozilla/webtools/bugzilla/sidebar.cgi | 2 +- mozilla/webtools/bugzilla/summarize_time.cgi | 2 +- mozilla/webtools/bugzilla/testserver.pl | 2 +- mozilla/webtools/bugzilla/token.cgi | 2 +- mozilla/webtools/bugzilla/userprefs.cgi | 2 +- mozilla/webtools/bugzilla/votes.cgi | 2 +- mozilla/webtools/bugzilla/whine.pl | 2 +- mozilla/webtools/bugzilla/whineatnews.pl | 2 +- mozilla/webtools/bugzilla/xml.cgi | 2 +- mozilla/webtools/bugzilla/xmlrpc.cgi | 2 +- 74 files changed, 88 insertions(+), 83 deletions(-) create mode 100644 mozilla/webtools/bugzilla/lib/README diff --git a/mozilla/webtools/bugzilla/Bugzilla/Chart.pm b/mozilla/webtools/bugzilla/Bugzilla/Chart.pm index 9701f7b32de..a119e4b7cd7 100644 --- a/mozilla/webtools/bugzilla/Bugzilla/Chart.pm +++ b/mozilla/webtools/bugzilla/Bugzilla/Chart.pm @@ -22,7 +22,6 @@ # A. Karl Kornel use strict; -use lib "."; # This module represents a chart. # diff --git a/mozilla/webtools/bugzilla/Bugzilla/Constants.pm b/mozilla/webtools/bugzilla/Bugzilla/Constants.pm index f84ece0063b..827bb2d4b67 100644 --- a/mozilla/webtools/bugzilla/Bugzilla/Constants.pm +++ b/mozilla/webtools/bugzilla/Bugzilla/Constants.pm @@ -445,6 +445,7 @@ sub bz_locations { # That means that if you modify these paths, they must be absolute paths. return { 'libpath' => $libpath, + 'ext_libpath' => "$libpath/lib", # If you put the libraries in a different location than the CGIs, # make sure this still points to the CGIs. 'cgi_path' => $libpath, diff --git a/mozilla/webtools/bugzilla/Bugzilla/Install/Filesystem.pm b/mozilla/webtools/bugzilla/Bugzilla/Install/Filesystem.pm index 8387d01734a..127fe0b58b7 100644 --- a/mozilla/webtools/bugzilla/Bugzilla/Install/Filesystem.pm +++ b/mozilla/webtools/bugzilla/Bugzilla/Install/Filesystem.pm @@ -62,6 +62,7 @@ sub FILESYSTEM { my $webdotdir = bz_locations()->{'webdotdir'}; my $templatedir = bz_locations()->{'templatedir'}; my $libdir = bz_locations()->{'libpath'}; + my $extlib = bz_locations()->{'ext_libpath'}; my $skinsdir = bz_locations()->{'skinsdir'}; my $ws_group = Bugzilla->localconfig->{'webservergroup'}; @@ -152,6 +153,8 @@ sub FILESYSTEM { dirs => $ws_dir_readable }, "$libdir/Bugzilla" => { files => $ws_readable, dirs => $ws_dir_readable }, + $extlib => { files => $ws_readable, + dirs => $ws_dir_readable }, $templatedir => { files => $ws_readable, dirs => $ws_dir_readable }, images => { files => $ws_readable, @@ -251,6 +254,8 @@ EOT contents => $ht_default_deny }, "$libdir/Bugzilla/.htaccess" => { perms => $ws_readable, contents => $ht_default_deny }, + "$extlib/.htaccess" => { perms => $ws_readable, + contents => $ht_default_deny }, "$templatedir/.htaccess" => { perms => $ws_readable, contents => $ht_default_deny }, diff --git a/mozilla/webtools/bugzilla/Bugzilla/Series.pm b/mozilla/webtools/bugzilla/Bugzilla/Series.pm index 877f69866e1..d6fd7a08a3f 100644 --- a/mozilla/webtools/bugzilla/Bugzilla/Series.pm +++ b/mozilla/webtools/bugzilla/Bugzilla/Series.pm @@ -21,7 +21,6 @@ # Lance Larsh use strict; -use lib "."; # This module implements a series - a set of data to be plotted on a chart. # diff --git a/mozilla/webtools/bugzilla/admin.cgi b/mozilla/webtools/bugzilla/admin.cgi index 3edff133879..83cc55d8b0c 100755 --- a/mozilla/webtools/bugzilla/admin.cgi +++ b/mozilla/webtools/bugzilla/admin.cgi @@ -21,7 +21,7 @@ use strict; -use lib qw(.); +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/attachment.cgi b/mozilla/webtools/bugzilla/attachment.cgi index 82f650f3c60..cc6408f2baa 100755 --- a/mozilla/webtools/bugzilla/attachment.cgi +++ b/mozilla/webtools/bugzilla/attachment.cgi @@ -35,7 +35,7 @@ # Make it harder for us to do dangerous things in Perl. use strict; -use lib qw(.); +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/buglist.cgi b/mozilla/webtools/bugzilla/buglist.cgi index 71b6fd14f46..0f98a381118 100755 --- a/mozilla/webtools/bugzilla/buglist.cgi +++ b/mozilla/webtools/bugzilla/buglist.cgi @@ -32,7 +32,7 @@ # Make it harder for us to do dangerous things in Perl. use strict; -use lib qw(.); +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/chart.cgi b/mozilla/webtools/bugzilla/chart.cgi index db487457078..97bf9e77d27 100755 --- a/mozilla/webtools/bugzilla/chart.cgi +++ b/mozilla/webtools/bugzilla/chart.cgi @@ -43,7 +43,7 @@ # Offer subscription when you get a "series already exists" error? use strict; -use lib qw(.); +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/checksetup.pl b/mozilla/webtools/bugzilla/checksetup.pl index 81d4a819f24..f1cf9e2246e 100755 --- a/mozilla/webtools/bugzilla/checksetup.pl +++ b/mozilla/webtools/bugzilla/checksetup.pl @@ -51,7 +51,7 @@ use POSIX qw(setlocale LC_CTYPE); use Safe; BEGIN { chdir dirname($0); } -use lib "."; +use lib qw(. lib); use Bugzilla::Constants; use Bugzilla::Install::Requirements; use Bugzilla::Install::Util qw(install_string get_version_and_os); diff --git a/mozilla/webtools/bugzilla/colchange.cgi b/mozilla/webtools/bugzilla/colchange.cgi index b2deb3274b6..c580547ce3d 100755 --- a/mozilla/webtools/bugzilla/colchange.cgi +++ b/mozilla/webtools/bugzilla/colchange.cgi @@ -24,7 +24,7 @@ use strict; -use lib qw(.); +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/collectstats.pl b/mozilla/webtools/bugzilla/collectstats.pl index a1ab9b2d197..1e5c5fd9d1a 100755 --- a/mozilla/webtools/bugzilla/collectstats.pl +++ b/mozilla/webtools/bugzilla/collectstats.pl @@ -34,7 +34,7 @@ use AnyDBM_File; use strict; use IO::Handle; -use lib "."; +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/config.cgi b/mozilla/webtools/bugzilla/config.cgi index 84bcb9038e7..ad8dbf0fe52 100755 --- a/mozilla/webtools/bugzilla/config.cgi +++ b/mozilla/webtools/bugzilla/config.cgi @@ -28,7 +28,7 @@ # Make it harder for us to do dangerous things in Perl. use strict; -use lib qw(.); +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/contrib/bz_webservice_demo.pl b/mozilla/webtools/bugzilla/contrib/bz_webservice_demo.pl index 70fb6c29430..72dd78a19da 100755 --- a/mozilla/webtools/bugzilla/contrib/bz_webservice_demo.pl +++ b/mozilla/webtools/bugzilla/contrib/bz_webservice_demo.pl @@ -29,6 +29,7 @@ C for detailed help =cut use strict; +use lib qw(lib); use Getopt::Long; use Pod::Usage; use File::Basename qw(dirname); diff --git a/mozilla/webtools/bugzilla/contrib/bzdbcopy.pl b/mozilla/webtools/bugzilla/contrib/bzdbcopy.pl index 489909882a8..9edf585afe1 100755 --- a/mozilla/webtools/bugzilla/contrib/bzdbcopy.pl +++ b/mozilla/webtools/bugzilla/contrib/bzdbcopy.pl @@ -19,7 +19,7 @@ # Contributor(s): Max Kanat-Alexander use strict; -use lib "."; +use lib qw(. lib); use Bugzilla; use Bugzilla::DB; use Bugzilla::Util; diff --git a/mozilla/webtools/bugzilla/contrib/merge-users.pl b/mozilla/webtools/bugzilla/contrib/merge-users.pl index f071f7c2c1e..ac689abfdf0 100755 --- a/mozilla/webtools/bugzilla/contrib/merge-users.pl +++ b/mozilla/webtools/bugzilla/contrib/merge-users.pl @@ -44,7 +44,7 @@ merge-users.pl - Merge two user accounts. =cut -use lib qw(.); +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/contrib/recode.pl b/mozilla/webtools/bugzilla/contrib/recode.pl index 49e824f6d3b..713465be76c 100755 --- a/mozilla/webtools/bugzilla/contrib/recode.pl +++ b/mozilla/webtools/bugzilla/contrib/recode.pl @@ -20,8 +20,7 @@ # Contributor(s): Max Kanat-Alexander use strict; -# Allow the script to be run from contrib or as contrib/recode.pl -use lib '..'; +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/contrib/sendbugmail.pl b/mozilla/webtools/bugzilla/contrib/sendbugmail.pl index 55904cf85f7..c11c1f1040c 100755 --- a/mozilla/webtools/bugzilla/contrib/sendbugmail.pl +++ b/mozilla/webtools/bugzilla/contrib/sendbugmail.pl @@ -4,7 +4,7 @@ # # Nick Barnes, Ravenbrook Limited, 2004-04-01. # -# $Id: sendbugmail.pl,v 1.7 2006-07-03 21:42:47 mkanat%bugzilla.org Exp $ +# $Id: sendbugmail.pl,v 1.8 2007-10-19 06:46:17 mkanat%bugzilla.org Exp $ # # Bugzilla email script for Bugzilla 2.17.4 and later. Invoke this to send # bugmail for a bug which has been changed directly in the database. @@ -14,7 +14,7 @@ # # Usage: perl -T contrib/sendbugmail.pl bug_id user_email -use lib qw(.); +use lib qw(. lib); use Bugzilla; use Bugzilla::Util; diff --git a/mozilla/webtools/bugzilla/contrib/sendunsentbugmail.pl b/mozilla/webtools/bugzilla/contrib/sendunsentbugmail.pl index 5ed49b22ede..ec92a97a06d 100755 --- a/mozilla/webtools/bugzilla/contrib/sendunsentbugmail.pl +++ b/mozilla/webtools/bugzilla/contrib/sendunsentbugmail.pl @@ -23,7 +23,7 @@ use strict; -use lib qw(.); +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/contrib/syncLDAP.pl b/mozilla/webtools/bugzilla/contrib/syncLDAP.pl index 72ea917980b..07fa6f46b44 100755 --- a/mozilla/webtools/bugzilla/contrib/syncLDAP.pl +++ b/mozilla/webtools/bugzilla/contrib/syncLDAP.pl @@ -22,7 +22,7 @@ use strict; -use lib qw(.); +use lib qw(. lib); use Net::LDAP; use Bugzilla; diff --git a/mozilla/webtools/bugzilla/createaccount.cgi b/mozilla/webtools/bugzilla/createaccount.cgi index 1ec7ec31d16..c10c9b378c3 100755 --- a/mozilla/webtools/bugzilla/createaccount.cgi +++ b/mozilla/webtools/bugzilla/createaccount.cgi @@ -26,7 +26,7 @@ use strict; -use lib qw(.); +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/describecomponents.cgi b/mozilla/webtools/bugzilla/describecomponents.cgi index b282040c508..80618378366 100755 --- a/mozilla/webtools/bugzilla/describecomponents.cgi +++ b/mozilla/webtools/bugzilla/describecomponents.cgi @@ -23,7 +23,7 @@ # Frédéric Buclin use strict; -use lib qw(.); +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/describekeywords.cgi b/mozilla/webtools/bugzilla/describekeywords.cgi index 70c0ba4e05f..5ff5c508963 100755 --- a/mozilla/webtools/bugzilla/describekeywords.cgi +++ b/mozilla/webtools/bugzilla/describekeywords.cgi @@ -22,7 +22,7 @@ # Contributor(s): Gervase Markham use strict; -use lib "."; +use lib qw(. lib); use Bugzilla; use Bugzilla::Error; diff --git a/mozilla/webtools/bugzilla/docs/makedocs.pl b/mozilla/webtools/bugzilla/docs/makedocs.pl index b636a2f37ab..1b9a44296b4 100755 --- a/mozilla/webtools/bugzilla/docs/makedocs.pl +++ b/mozilla/webtools/bugzilla/docs/makedocs.pl @@ -34,7 +34,7 @@ BEGIN { chdir dirname($0); } -use lib qw(.. lib); +use lib qw(.. ../lib lib); # We only compile our POD if Pod::Simple is installed. We do the checks # this way so that if there's a compile error in Pod::Simple::HTML::Bugzilla, diff --git a/mozilla/webtools/bugzilla/docs/xml/installation.xml b/mozilla/webtools/bugzilla/docs/xml/installation.xml index 659d5e4d36d..c569a9eb4e0 100644 --- a/mozilla/webtools/bugzilla/docs/xml/installation.xml +++ b/mozilla/webtools/bugzilla/docs/xml/installation.xml @@ -1,5 +1,5 @@ - + Installing Bugzilla @@ -1123,7 +1123,7 @@ - PerlSwitches -I/var/www/html/bugzilla -w -T + PerlSwitches -I/var/www/html/bugzilla -I/var/www/html/bugzilla/lib -w -T PerlConfigRequire /var/www/html/bugzilla/mod_perl.pl diff --git a/mozilla/webtools/bugzilla/duplicates.cgi b/mozilla/webtools/bugzilla/duplicates.cgi index e393d7c2571..32553a39d71 100755 --- a/mozilla/webtools/bugzilla/duplicates.cgi +++ b/mozilla/webtools/bugzilla/duplicates.cgi @@ -27,7 +27,7 @@ use strict; use AnyDBM_File; -use lib qw(.); +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/editclassifications.cgi b/mozilla/webtools/bugzilla/editclassifications.cgi index cacc47fb6e7..03d3af81cb2 100755 --- a/mozilla/webtools/bugzilla/editclassifications.cgi +++ b/mozilla/webtools/bugzilla/editclassifications.cgi @@ -21,7 +21,7 @@ # Direct any questions on this source code to mozilla.org use strict; -use lib "."; +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/editcomponents.cgi b/mozilla/webtools/bugzilla/editcomponents.cgi index dd693c05f41..46b319edd3e 100755 --- a/mozilla/webtools/bugzilla/editcomponents.cgi +++ b/mozilla/webtools/bugzilla/editcomponents.cgi @@ -24,7 +24,7 @@ # Akamai Technologies use strict; -use lib "."; +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/editfields.cgi b/mozilla/webtools/bugzilla/editfields.cgi index e57e1952c4c..50564c19094 100755 --- a/mozilla/webtools/bugzilla/editfields.cgi +++ b/mozilla/webtools/bugzilla/editfields.cgi @@ -16,7 +16,7 @@ # Contributor(s): Frédéric Buclin use strict; -use lib "."; +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/editflagtypes.cgi b/mozilla/webtools/bugzilla/editflagtypes.cgi index e32b7f50952..47eac753ec3 100755 --- a/mozilla/webtools/bugzilla/editflagtypes.cgi +++ b/mozilla/webtools/bugzilla/editflagtypes.cgi @@ -27,7 +27,7 @@ # Make it harder for us to do dangerous things in Perl. use strict; -use lib "."; +use lib qw(. lib); # Use Bugzilla's flag modules for handling flag types. use Bugzilla; diff --git a/mozilla/webtools/bugzilla/editgroups.cgi b/mozilla/webtools/bugzilla/editgroups.cgi index 19db870ec5b..b7223e08dc7 100755 --- a/mozilla/webtools/bugzilla/editgroups.cgi +++ b/mozilla/webtools/bugzilla/editgroups.cgi @@ -25,7 +25,7 @@ # Frédéric Buclin use strict; -use lib "."; +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/editkeywords.cgi b/mozilla/webtools/bugzilla/editkeywords.cgi index 3aca22e4384..7ded21471f0 100755 --- a/mozilla/webtools/bugzilla/editkeywords.cgi +++ b/mozilla/webtools/bugzilla/editkeywords.cgi @@ -21,7 +21,7 @@ # Contributor(s): Terry Weissman use strict; -use lib "."; +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/editmilestones.cgi b/mozilla/webtools/bugzilla/editmilestones.cgi index 77762532685..0be0f6c7f1e 100755 --- a/mozilla/webtools/bugzilla/editmilestones.cgi +++ b/mozilla/webtools/bugzilla/editmilestones.cgi @@ -16,7 +16,7 @@ # use strict; -use lib "."; +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/editparams.cgi b/mozilla/webtools/bugzilla/editparams.cgi index 819c8c64580..39faa16c6ec 100755 --- a/mozilla/webtools/bugzilla/editparams.cgi +++ b/mozilla/webtools/bugzilla/editparams.cgi @@ -23,7 +23,7 @@ # Frédéric Buclin use strict; -use lib "."; +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/editproducts.cgi b/mozilla/webtools/bugzilla/editproducts.cgi index 5a937db9d33..7c6c52f7d3c 100755 --- a/mozilla/webtools/bugzilla/editproducts.cgi +++ b/mozilla/webtools/bugzilla/editproducts.cgi @@ -32,7 +32,7 @@ # Holger Schurig use strict; -use lib "."; +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/editsettings.cgi b/mozilla/webtools/bugzilla/editsettings.cgi index a4a85710f92..cf87e632637 100755 --- a/mozilla/webtools/bugzilla/editsettings.cgi +++ b/mozilla/webtools/bugzilla/editsettings.cgi @@ -17,7 +17,7 @@ # use strict; -use lib qw(.); +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/editusers.cgi b/mozilla/webtools/bugzilla/editusers.cgi index e452eea01d9..b996c139e8d 100755 --- a/mozilla/webtools/bugzilla/editusers.cgi +++ b/mozilla/webtools/bugzilla/editusers.cgi @@ -21,7 +21,7 @@ # Gavin Shelley use strict; -use lib "."; +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/editvalues.cgi b/mozilla/webtools/bugzilla/editvalues.cgi index 520c0797b2a..f60ab634e56 100755 --- a/mozilla/webtools/bugzilla/editvalues.cgi +++ b/mozilla/webtools/bugzilla/editvalues.cgi @@ -19,7 +19,7 @@ # with some cleanup. use strict; -use lib "."; +use lib qw(. lib); use Bugzilla; use Bugzilla::Util; diff --git a/mozilla/webtools/bugzilla/editversions.cgi b/mozilla/webtools/bugzilla/editversions.cgi index 223f1f5559e..ac7b2c7a03d 100755 --- a/mozilla/webtools/bugzilla/editversions.cgi +++ b/mozilla/webtools/bugzilla/editversions.cgi @@ -29,7 +29,7 @@ # Holger Schurig use strict; -use lib "."; +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/editwhines.cgi b/mozilla/webtools/bugzilla/editwhines.cgi index ba39b543dda..7da598dd8b1 100755 --- a/mozilla/webtools/bugzilla/editwhines.cgi +++ b/mozilla/webtools/bugzilla/editwhines.cgi @@ -27,7 +27,7 @@ use strict; -use lib "."; +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/editworkflow.cgi b/mozilla/webtools/bugzilla/editworkflow.cgi index d599a97fdc6..eddf845f224 100755 --- a/mozilla/webtools/bugzilla/editworkflow.cgi +++ b/mozilla/webtools/bugzilla/editworkflow.cgi @@ -21,7 +21,7 @@ use strict; -use lib qw(.); +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/email_in.pl b/mozilla/webtools/bugzilla/email_in.pl index ea5082844d7..7b8232192d2 100755 --- a/mozilla/webtools/bugzilla/email_in.pl +++ b/mozilla/webtools/bugzilla/email_in.pl @@ -29,6 +29,8 @@ BEGIN { chdir(File::Basename::dirname($0)); } +use lib qw(. lib); + use Data::Dumper; use Email::Address; use Email::Reply qw(reply); diff --git a/mozilla/webtools/bugzilla/enter_bug.cgi b/mozilla/webtools/bugzilla/enter_bug.cgi index d4ee73bfb03..dc268047386 100755 --- a/mozilla/webtools/bugzilla/enter_bug.cgi +++ b/mozilla/webtools/bugzilla/enter_bug.cgi @@ -35,7 +35,7 @@ use strict; -use lib qw(.); +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/importxml.pl b/mozilla/webtools/bugzilla/importxml.pl index 9ef8150f627..80506971cf9 100755 --- a/mozilla/webtools/bugzilla/importxml.pl +++ b/mozilla/webtools/bugzilla/importxml.pl @@ -54,22 +54,16 @@ use strict; # ##################################################################### -# figure out which path this script lives in. Set the current path to -# this and add it to @INC so this will work when run as part of mail -# alias by the mailer daemon -# since "use lib" is run at compile time, we need to enclose the -# $::path declaration in a BEGIN block so that it is executed before -# the rest of the file is compiled. +use File::Basename qw(dirname); +# MTAs may call this script from any directory, but it should always +# run from this one so that it can find its modules. BEGIN { - $::path = $0; - $::path =~ m#(.*)/[^/]+#; - $::path = $1; - $::path ||= '.'; # $0 is empty at compile time. This line will - # have no effect on this script at runtime. + require File::Basename; + my $dir = $0; $dir =~ /(.*)/; $dir = $1; # trick taint + chdir(File::Basename::dirname($dir)); } -chdir $::path; -use lib ($::path); +use lib qw(. lib); # Data dumber is used for debugging, I got tired of copying it back in # and then removing it. #use Data::Dumper; diff --git a/mozilla/webtools/bugzilla/index.cgi b/mozilla/webtools/bugzilla/index.cgi index 7d1525b58ff..100941765d9 100755 --- a/mozilla/webtools/bugzilla/index.cgi +++ b/mozilla/webtools/bugzilla/index.cgi @@ -29,7 +29,7 @@ use strict; # Include the Bugzilla CGI and general utility library. -use lib "."; +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/lib/README b/mozilla/webtools/bugzilla/lib/README new file mode 100644 index 00000000000..5778a9a3f20 --- /dev/null +++ b/mozilla/webtools/bugzilla/lib/README @@ -0,0 +1,4 @@ +This directory contains the Perl modules that Bugzilla requires to run. + +If you would rather have Bugzilla use the Perl modules installed on your +system, you can delete everything in this directory. diff --git a/mozilla/webtools/bugzilla/long_list.cgi b/mozilla/webtools/bugzilla/long_list.cgi index c02c8deda5d..7e1f69534e3 100755 --- a/mozilla/webtools/bugzilla/long_list.cgi +++ b/mozilla/webtools/bugzilla/long_list.cgi @@ -22,7 +22,7 @@ # Gervase Markham use strict; -use lib qw(.); +use lib qw(. lib); use Bugzilla; my $cgi = Bugzilla->cgi; diff --git a/mozilla/webtools/bugzilla/page.cgi b/mozilla/webtools/bugzilla/page.cgi index 43a826590d4..290a4acb6bc 100755 --- a/mozilla/webtools/bugzilla/page.cgi +++ b/mozilla/webtools/bugzilla/page.cgi @@ -30,7 +30,7 @@ use strict; -use lib "."; +use lib qw(. lib); use Bugzilla; use Bugzilla::Error; diff --git a/mozilla/webtools/bugzilla/post_bug.cgi b/mozilla/webtools/bugzilla/post_bug.cgi index 8ce7f07234f..2ef2dcde590 100755 --- a/mozilla/webtools/bugzilla/post_bug.cgi +++ b/mozilla/webtools/bugzilla/post_bug.cgi @@ -25,7 +25,7 @@ # Marc Schumann use strict; -use lib qw(.); +use lib qw(. lib); use Bugzilla; use Bugzilla::Attachment; diff --git a/mozilla/webtools/bugzilla/process_bug.cgi b/mozilla/webtools/bugzilla/process_bug.cgi index 56931c2938d..d7fee819922 100755 --- a/mozilla/webtools/bugzilla/process_bug.cgi +++ b/mozilla/webtools/bugzilla/process_bug.cgi @@ -43,7 +43,7 @@ use strict; -use lib qw(.); +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/query.cgi b/mozilla/webtools/bugzilla/query.cgi index bd69330e948..aaabc152949 100755 --- a/mozilla/webtools/bugzilla/query.cgi +++ b/mozilla/webtools/bugzilla/query.cgi @@ -26,7 +26,7 @@ # Max Kanat-Alexander use strict; -use lib "."; +use lib qw(. lib); use Bugzilla; use Bugzilla::Bug; diff --git a/mozilla/webtools/bugzilla/quips.cgi b/mozilla/webtools/bugzilla/quips.cgi index bb0e5afffc2..295b6c83fc0 100755 --- a/mozilla/webtools/bugzilla/quips.cgi +++ b/mozilla/webtools/bugzilla/quips.cgi @@ -25,7 +25,7 @@ use strict; -use lib qw(.); +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/relogin.cgi b/mozilla/webtools/bugzilla/relogin.cgi index 5aa187490f9..e2182699aa7 100755 --- a/mozilla/webtools/bugzilla/relogin.cgi +++ b/mozilla/webtools/bugzilla/relogin.cgi @@ -23,7 +23,7 @@ # A. Karl Kornel use strict; -use lib qw(.); +use lib qw(. lib); use Bugzilla; use Bugzilla::Mailer; diff --git a/mozilla/webtools/bugzilla/report.cgi b/mozilla/webtools/bugzilla/report.cgi index 10c532163e9..9ee5df287e9 100755 --- a/mozilla/webtools/bugzilla/report.cgi +++ b/mozilla/webtools/bugzilla/report.cgi @@ -22,7 +22,7 @@ # use strict; -use lib "."; +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/reports.cgi b/mozilla/webtools/bugzilla/reports.cgi index 7ed396935f1..40bbc82bb5d 100755 --- a/mozilla/webtools/bugzilla/reports.cgi +++ b/mozilla/webtools/bugzilla/reports.cgi @@ -37,7 +37,7 @@ use strict; -use lib qw(.); +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/request.cgi b/mozilla/webtools/bugzilla/request.cgi index 186b42e1c4f..6c3ff48eeb0 100755 --- a/mozilla/webtools/bugzilla/request.cgi +++ b/mozilla/webtools/bugzilla/request.cgi @@ -28,7 +28,7 @@ # Make it harder for us to do dangerous things in Perl. use strict; -use lib qw(.); +use lib qw(. lib); use Bugzilla; use Bugzilla::Util; diff --git a/mozilla/webtools/bugzilla/runtests.pl b/mozilla/webtools/bugzilla/runtests.pl index ad6898b2396..092d8069b94 100755 --- a/mozilla/webtools/bugzilla/runtests.pl +++ b/mozilla/webtools/bugzilla/runtests.pl @@ -23,6 +23,7 @@ # Make it harder for us to do dangerous things in Perl. use diagnostics; use strict; +use lib qw(lib); use Test::Harness qw(&runtests $verbose); diff --git a/mozilla/webtools/bugzilla/sanitycheck.cgi b/mozilla/webtools/bugzilla/sanitycheck.cgi index 3d718a0dc84..b1a48b16aa8 100755 --- a/mozilla/webtools/bugzilla/sanitycheck.cgi +++ b/mozilla/webtools/bugzilla/sanitycheck.cgi @@ -26,7 +26,7 @@ use strict; -use lib qw(.); +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/sanitycheck.pl b/mozilla/webtools/bugzilla/sanitycheck.pl index 5c383e67d65..5f158cb3b5a 100755 --- a/mozilla/webtools/bugzilla/sanitycheck.pl +++ b/mozilla/webtools/bugzilla/sanitycheck.pl @@ -21,7 +21,7 @@ use strict; -use lib qw(.); +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/search_plugin.cgi b/mozilla/webtools/bugzilla/search_plugin.cgi index e3384fccede..5048f7ce6ac 100755 --- a/mozilla/webtools/bugzilla/search_plugin.cgi +++ b/mozilla/webtools/bugzilla/search_plugin.cgi @@ -16,7 +16,7 @@ # Contributor(s): Frédéric Buclin use strict; -use lib "."; +use lib qw(. lib); use Bugzilla; use Bugzilla::Error; diff --git a/mozilla/webtools/bugzilla/show_activity.cgi b/mozilla/webtools/bugzilla/show_activity.cgi index e1278723048..d2570f8b105 100755 --- a/mozilla/webtools/bugzilla/show_activity.cgi +++ b/mozilla/webtools/bugzilla/show_activity.cgi @@ -24,7 +24,7 @@ use strict; -use lib qw(.); +use lib qw(. lib); use Bugzilla; use Bugzilla::Error; diff --git a/mozilla/webtools/bugzilla/show_bug.cgi b/mozilla/webtools/bugzilla/show_bug.cgi index 6aa31456564..4e3aac982f4 100755 --- a/mozilla/webtools/bugzilla/show_bug.cgi +++ b/mozilla/webtools/bugzilla/show_bug.cgi @@ -22,7 +22,7 @@ use strict; -use lib qw(.); +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/showattachment.cgi b/mozilla/webtools/bugzilla/showattachment.cgi index f535d5c9dac..e90a01533ee 100755 --- a/mozilla/webtools/bugzilla/showattachment.cgi +++ b/mozilla/webtools/bugzilla/showattachment.cgi @@ -23,7 +23,7 @@ use strict; -use lib qw(.); +use lib qw(. lib); use Bugzilla; use Bugzilla::Util; diff --git a/mozilla/webtools/bugzilla/showdependencygraph.cgi b/mozilla/webtools/bugzilla/showdependencygraph.cgi index 30d7ebac1c6..f7977446ef6 100755 --- a/mozilla/webtools/bugzilla/showdependencygraph.cgi +++ b/mozilla/webtools/bugzilla/showdependencygraph.cgi @@ -23,7 +23,7 @@ use strict; -use lib qw(.); +use lib qw(. lib); use File::Temp; diff --git a/mozilla/webtools/bugzilla/showdependencytree.cgi b/mozilla/webtools/bugzilla/showdependencytree.cgi index 070986d5ef2..80e67716afe 100755 --- a/mozilla/webtools/bugzilla/showdependencytree.cgi +++ b/mozilla/webtools/bugzilla/showdependencytree.cgi @@ -26,7 +26,7 @@ use strict; -use lib qw(.); +use lib qw(. lib); use Bugzilla; use Bugzilla::Error; diff --git a/mozilla/webtools/bugzilla/sidebar.cgi b/mozilla/webtools/bugzilla/sidebar.cgi index 5619d6b4075..35c4e64ad51 100755 --- a/mozilla/webtools/bugzilla/sidebar.cgi +++ b/mozilla/webtools/bugzilla/sidebar.cgi @@ -17,7 +17,7 @@ use strict; -use lib "."; +use lib qw(. lib); use Bugzilla; use Bugzilla::Error; diff --git a/mozilla/webtools/bugzilla/summarize_time.cgi b/mozilla/webtools/bugzilla/summarize_time.cgi index df1297e5e06..071f89a67ad 100755 --- a/mozilla/webtools/bugzilla/summarize_time.cgi +++ b/mozilla/webtools/bugzilla/summarize_time.cgi @@ -19,7 +19,7 @@ use strict; -use lib qw(.); +use lib qw(. lib); use Date::Parse; # strptime diff --git a/mozilla/webtools/bugzilla/testserver.pl b/mozilla/webtools/bugzilla/testserver.pl index 6169a77e0db..9b649277caa 100755 --- a/mozilla/webtools/bugzilla/testserver.pl +++ b/mozilla/webtools/bugzilla/testserver.pl @@ -19,7 +19,7 @@ # issues as possible. use strict; -use lib "."; +use lib qw(. lib); BEGIN { my $envpath = $ENV{'PATH'}; diff --git a/mozilla/webtools/bugzilla/token.cgi b/mozilla/webtools/bugzilla/token.cgi index dd41e466520..a880d3294a7 100755 --- a/mozilla/webtools/bugzilla/token.cgi +++ b/mozilla/webtools/bugzilla/token.cgi @@ -28,7 +28,7 @@ # Make it harder for us to do dangerous things in Perl. use strict; -use lib qw(.); +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/userprefs.cgi b/mozilla/webtools/bugzilla/userprefs.cgi index efe07921bec..e2cc2e0ce9f 100755 --- a/mozilla/webtools/bugzilla/userprefs.cgi +++ b/mozilla/webtools/bugzilla/userprefs.cgi @@ -24,7 +24,7 @@ use strict; -use lib qw(.); +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/votes.cgi b/mozilla/webtools/bugzilla/votes.cgi index 9805ae48ebf..9fe94484a16 100755 --- a/mozilla/webtools/bugzilla/votes.cgi +++ b/mozilla/webtools/bugzilla/votes.cgi @@ -25,7 +25,7 @@ # Frédéric Buclin use strict; -use lib "."; +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/whine.pl b/mozilla/webtools/bugzilla/whine.pl index a809025c09e..963805be69f 100755 --- a/mozilla/webtools/bugzilla/whine.pl +++ b/mozilla/webtools/bugzilla/whine.pl @@ -26,7 +26,7 @@ use strict; -use lib "."; +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants; diff --git a/mozilla/webtools/bugzilla/whineatnews.pl b/mozilla/webtools/bugzilla/whineatnews.pl index 12a86cb6b1a..5c1ec655daa 100755 --- a/mozilla/webtools/bugzilla/whineatnews.pl +++ b/mozilla/webtools/bugzilla/whineatnews.pl @@ -29,7 +29,7 @@ # touched for more than the number of days specified in the whinedays param. use strict; -use lib '.'; +use lib qw(. lib); use Bugzilla; use Bugzilla::Mailer; diff --git a/mozilla/webtools/bugzilla/xml.cgi b/mozilla/webtools/bugzilla/xml.cgi index 8316971c9ac..ce6a7c39b10 100755 --- a/mozilla/webtools/bugzilla/xml.cgi +++ b/mozilla/webtools/bugzilla/xml.cgi @@ -24,7 +24,7 @@ use strict; -use lib qw(.); +use lib qw(. lib); use Bugzilla; my $cgi = Bugzilla->cgi; diff --git a/mozilla/webtools/bugzilla/xmlrpc.cgi b/mozilla/webtools/bugzilla/xmlrpc.cgi index c17cab86c3e..227815d267c 100755 --- a/mozilla/webtools/bugzilla/xmlrpc.cgi +++ b/mozilla/webtools/bugzilla/xmlrpc.cgi @@ -16,7 +16,7 @@ # Contributor(s): Marc Schumann use strict; -use lib qw(.); +use lib qw(. lib); use Bugzilla; use Bugzilla::Constants;