]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 1283930 - Add Makefile.PL & local/lib/perl5 support to bmo/master + local symlink...
authorDylan William Hardison <dylan@hardison.net>
Fri, 1 Jul 2016 03:32:40 +0000 (23:32 -0400)
committerDylan William Hardison <dylan@hardison.net>
Tue, 13 Sep 2016 13:27:19 +0000 (09:27 -0400)
522 files changed:
.gitignore
Bugzilla.pm
Bugzilla/Attachment.pm
Bugzilla/Attachment/Database.pm
Bugzilla/Attachment/FileSystem.pm
Bugzilla/Attachment/PatchReader.pm
Bugzilla/Attachment/S3.pm
Bugzilla/Auth.pm
Bugzilla/Auth/Login.pm
Bugzilla/Auth/Login/APIKey.pm
Bugzilla/Auth/Login/CGI.pm
Bugzilla/Auth/Login/Cookie.pm
Bugzilla/Auth/Login/Env.pm
Bugzilla/Auth/Login/Stack.pm
Bugzilla/Auth/Persist/Cookie.pm
Bugzilla/Auth/Verify.pm
Bugzilla/Auth/Verify/DB.pm
Bugzilla/Auth/Verify/LDAP.pm
Bugzilla/Auth/Verify/RADIUS.pm
Bugzilla/Auth/Verify/Stack.pm
Bugzilla/Bug.pm
Bugzilla/BugMail.pm
Bugzilla/BugUrl.pm
Bugzilla/BugUrl/Aha.pm
Bugzilla/BugUrl/Bugzilla.pm
Bugzilla/BugUrl/Bugzilla/Local.pm
Bugzilla/BugUrl/Debian.pm
Bugzilla/BugUrl/GitHub.pm
Bugzilla/BugUrl/Google.pm
Bugzilla/BugUrl/JIRA.pm
Bugzilla/BugUrl/Launchpad.pm
Bugzilla/BugUrl/MantisBT.pm
Bugzilla/BugUrl/MozSupport.pm
Bugzilla/BugUrl/ServiceNow.pm
Bugzilla/BugUrl/SourceForge.pm
Bugzilla/BugUrl/Splat.pm
Bugzilla/BugUrl/Trac.pm
Bugzilla/BugUrl/WebCompat.pm
Bugzilla/BugUserLastVisit.pm
Bugzilla/CGI.pm
Bugzilla/Chart.pm
Bugzilla/Classification.pm
Bugzilla/Comment.pm
Bugzilla/Comment/TagWeights.pm
Bugzilla/Component.pm
Bugzilla/Config.pm
Bugzilla/Config/Admin.pm
Bugzilla/Config/Advanced.pm
Bugzilla/Config/Attachment.pm
Bugzilla/Config/Auth.pm
Bugzilla/Config/BugChange.pm
Bugzilla/Config/BugFields.pm
Bugzilla/Config/Common.pm
Bugzilla/Config/Core.pm
Bugzilla/Config/DependencyGraph.pm
Bugzilla/Config/General.pm
Bugzilla/Config/GroupSecurity.pm
Bugzilla/Config/LDAP.pm
Bugzilla/Config/MTA.pm
Bugzilla/Config/Memcached.pm
Bugzilla/Config/PatchViewer.pm
Bugzilla/Config/Query.pm
Bugzilla/Config/RADIUS.pm
Bugzilla/Config/ShadowDB.pm
Bugzilla/Config/UserMatch.pm
Bugzilla/Constants.pm
Bugzilla/DB.pm
Bugzilla/DB/Mysql.pm
Bugzilla/DB/Oracle.pm
Bugzilla/DB/Pg.pm
Bugzilla/DB/Schema.pm
Bugzilla/DB/Schema/Mysql.pm
Bugzilla/DB/Schema/Oracle.pm
Bugzilla/DB/Schema/Pg.pm
Bugzilla/DB/Schema/Sqlite.pm
Bugzilla/DB/Sqlite.pm
Bugzilla/DuoWeb.pm
Bugzilla/Error.pm
Bugzilla/Extension.pm
Bugzilla/Field.pm
Bugzilla/Field/Choice.pm
Bugzilla/Field/ChoiceInterface.pm
Bugzilla/Flag.pm
Bugzilla/FlagType.pm
Bugzilla/Group.pm
Bugzilla/Hook.pm
Bugzilla/Install.pm
Bugzilla/Install/CPAN.pm [deleted file]
Bugzilla/Install/DB.pm
Bugzilla/Install/Filesystem.pm
Bugzilla/Install/Localconfig.pm
Bugzilla/Install/Requirements.pm
Bugzilla/Install/Util.pm
Bugzilla/Job/BugMail.pm
Bugzilla/Job/Mailer.pm
Bugzilla/JobQueue.pm
Bugzilla/JobQueue/Runner.pm
Bugzilla/Keyword.pm
Bugzilla/MFA.pm
Bugzilla/MFA/Dummy.pm
Bugzilla/MFA/Duo.pm
Bugzilla/MFA/TOTP.pm
Bugzilla/Mailer.pm
Bugzilla/Metrics/Memcached.pm
Bugzilla/Metrics/Mysql.pm
Bugzilla/Metrics/Reporter.pm
Bugzilla/Metrics/Reporter/ElasticSearch.pm
Bugzilla/Metrics/Reporter/STDERR.pm
Bugzilla/Metrics/Template.pm
Bugzilla/Metrics/Template/Context.pm
Bugzilla/Migrate.pm
Bugzilla/Migrate/Gnats.pm
Bugzilla/Milestone.pm
Bugzilla/Object.pm
Bugzilla/PatchReader.pm
Bugzilla/PatchReader/AddCVSContext.pm
Bugzilla/PatchReader/Base.pm
Bugzilla/PatchReader/CVSClient.pm
Bugzilla/PatchReader/DiffPrinter/raw.pm
Bugzilla/PatchReader/DiffPrinter/template.pm
Bugzilla/PatchReader/FilterPatch.pm
Bugzilla/PatchReader/FixPatchRoot.pm
Bugzilla/PatchReader/NarrowPatch.pm
Bugzilla/PatchReader/PatchInfoGrabber.pm
Bugzilla/PatchReader/Raw.pm
Bugzilla/Product.pm
Bugzilla/RNG.pm
Bugzilla/S3.pm
Bugzilla/S3/Bucket.pm
Bugzilla/Search.pm
Bugzilla/Search/Clause.pm
Bugzilla/Search/ClauseGroup.pm
Bugzilla/Search/Condition.pm
Bugzilla/Search/Quicksearch.pm
Bugzilla/Search/Recent.pm
Bugzilla/Search/Saved.pm
Bugzilla/Send/Sendmail.pm
Bugzilla/Sentry.pm
Bugzilla/Series.pm
Bugzilla/Status.pm
Bugzilla/Template.pm
Bugzilla/Template/Context.pm
Bugzilla/Template/Plugin/Bugzilla.pm
Bugzilla/Template/Plugin/Hook.pm
Bugzilla/Template/Plugin/User.pm
Bugzilla/Token.pm
Bugzilla/Update.pm
Bugzilla/User.pm
Bugzilla/User/APIKey.pm
Bugzilla/User/Session.pm
Bugzilla/User/Setting.pm
Bugzilla/User/Setting/Lang.pm
Bugzilla/User/Setting/Skin.pm
Bugzilla/User/Setting/Timezone.pm
Bugzilla/UserAgent.pm
Bugzilla/Util.pm
Bugzilla/Version.pm
Bugzilla/WebService.pm
Bugzilla/WebService/Bug.pm
Bugzilla/WebService/BugUserLastVisit.pm
Bugzilla/WebService/Bugzilla.pm
Bugzilla/WebService/Classification.pm
Bugzilla/WebService/Constants.pm
Bugzilla/WebService/Group.pm
Bugzilla/WebService/Product.pm
Bugzilla/WebService/Server.pm
Bugzilla/WebService/Server/JSONRPC.pm
Bugzilla/WebService/Server/REST.pm
Bugzilla/WebService/Server/REST/Resources/Bug.pm
Bugzilla/WebService/Server/REST/Resources/Bugzilla.pm
Bugzilla/WebService/Server/REST/Resources/Classification.pm
Bugzilla/WebService/Server/REST/Resources/Product.pm
Bugzilla/WebService/Server/REST/Resources/User.pm
Bugzilla/WebService/Server/XMLRPC.pm
Bugzilla/WebService/User.pm
Bugzilla/WebService/Util.pm
Bugzilla/Whine.pm
Bugzilla/Whine/Query.pm
Bugzilla/Whine/Schedule.pm
META.json [new file with mode: 0644]
META.yml [new file with mode: 0644]
Makefile.PL [new file with mode: 0644]
admin.cgi
attachment.cgi
auth.cgi
buglist.cgi
chart.cgi
checksetup.pl
clean-bug-user-last-visit.pl
colchange.cgi
collectstats.pl
config.cgi
contrib/clear-memcached.pl
contrib/clear-templates.pl
contrib/fixperms.pl
contrib/nagios_blocker_checker.pl
cpanfile [new file with mode: 0644]
cpanfile.snapshot [new file with mode: 0644]
createaccount.cgi
describecomponents.cgi
describekeywords.cgi
docs/makedocs.pl
duplicates.cgi
editclassifications.cgi
editcomponents.cgi
editfields.cgi
editflagtypes.cgi
editgroups.cgi
editkeywords.cgi
editmilestones.cgi
editparams.cgi
editproducts.cgi
editsettings.cgi
editusers.cgi
editvalues.cgi
editversions.cgi
editwhines.cgi
editworkflow.cgi
email_in.pl
enter_bug.cgi
extensions/AntiSpam/Config.pm
extensions/AntiSpam/Extension.pm
extensions/AntiSpam/lib/Config.pm
extensions/BMO/Config.pm
extensions/BMO/Extension.pm
extensions/BMO/bin/bug_1022707.pl
extensions/BMO/bin/bug_1093952.pl
extensions/BMO/bin/bug_1141452.pl
extensions/BMO/bin/migrate-github-pull-requests.pl
extensions/BMO/lib/Constants.pm
extensions/BMO/lib/Data.pm
extensions/BMO/lib/FakeBug.pm
extensions/BMO/lib/Reports/Groups.pm
extensions/BMO/lib/Reports/Internship.pm
extensions/BMO/lib/Reports/ProductSecurity.pm
extensions/BMO/lib/Reports/Recruiting.pm
extensions/BMO/lib/Reports/ReleaseTracking.pm
extensions/BMO/lib/Reports/Triage.pm
extensions/BMO/lib/Reports/UserActivity.pm
extensions/BMO/lib/Util.pm
extensions/BMO/lib/WebService.pm
extensions/Bitly/Config.pm
extensions/Bitly/Extension.pm
extensions/Bitly/lib/WebService.pm
extensions/BugModal/Config.pm
extensions/BugModal/Extension.pm
extensions/BugModal/lib/ActivityStream.pm
extensions/BugModal/lib/MonkeyPatches.pm
extensions/BugModal/lib/Util.pm
extensions/BugModal/lib/WebService.pm
extensions/BugmailFilter/Config.pm
extensions/BugmailFilter/Extension.pm
extensions/BugmailFilter/lib/Constants.pm
extensions/BugmailFilter/lib/FakeField.pm
extensions/BugmailFilter/lib/Filter.pm
extensions/BzAPI/Config.pm
extensions/BzAPI/Extension.pm
extensions/BzAPI/lib/Constants.pm
extensions/BzAPI/lib/Resources/Bug.pm
extensions/BzAPI/lib/Resources/Bugzilla.pm
extensions/BzAPI/lib/Resources/User.pm
extensions/BzAPI/lib/Util.pm
extensions/ComponentWatching/Config.pm
extensions/ComponentWatching/Extension.pm
extensions/ContributorEngagement/Config.pm
extensions/ContributorEngagement/Extension.pm
extensions/ContributorEngagement/lib/Constants.pm
extensions/EditComments/Config.pm
extensions/EditComments/Extension.pm
extensions/EditComments/lib/WebService.pm
extensions/EditTable/Config.pm
extensions/EditTable/Extension.pm
extensions/Ember/Config.pm
extensions/Ember/Extension.pm
extensions/Example/Config.pm
extensions/Example/Extension.pm
extensions/Example/lib/Auth/Login.pm
extensions/Example/lib/Auth/Verify.pm
extensions/Example/lib/Config.pm
extensions/Example/lib/Util.pm
extensions/Example/lib/WebService.pm
extensions/FlagDefaultRequestee/Config.pm
extensions/FlagDefaultRequestee/Extension.pm
extensions/FlagDefaultRequestee/lib/Constants.pm
extensions/FlagTypeComment/Config.pm
extensions/FlagTypeComment/Extension.pm
extensions/FlagTypeComment/lib/Constants.pm
extensions/GitHubAuth/Config.pm
extensions/GitHubAuth/Extension.pm
extensions/GitHubAuth/lib/Client.pm
extensions/GitHubAuth/lib/Client/Error.pm
extensions/GitHubAuth/lib/Config.pm
extensions/GitHubAuth/lib/Login.pm
extensions/GitHubAuth/lib/Verify.pm
extensions/Gravatar/Config.pm
extensions/Gravatar/Extension.pm
extensions/Gravatar/lib/Data.pm
extensions/GuidedBugEntry/Config.pm
extensions/GuidedBugEntry/Extension.pm
extensions/InlineHistory/Config.pm
extensions/InlineHistory/Extension.pm
extensions/LastResolved/Config.pm
extensions/LastResolved/Extension.pm
extensions/LimitedEmail/Config.pm
extensions/LimitedEmail/Extension.pm
extensions/MozProjectReview/Config.pm
extensions/MozProjectReview/Extension.pm
extensions/MozReview/Config.pm
extensions/MozReview/bin/add-mozreview-children.pl
extensions/MozReview/lib/Config.pm
extensions/MozReview/lib/WebService.pm
extensions/MyDashboard/Config.pm
extensions/MyDashboard/Extension.pm
extensions/MyDashboard/lib/BugInterest.pm
extensions/MyDashboard/lib/Queries.pm
extensions/MyDashboard/lib/Util.pm
extensions/MyDashboard/lib/WebService.pm
extensions/Needinfo/Config.pm
extensions/Needinfo/Extension.pm
extensions/OpenGraph/Config.pm
extensions/OpenGraph/Extension.pm
extensions/OrangeFactor/Config.pm
extensions/OrangeFactor/Extension.pm
extensions/Persona/Config.pm
extensions/Persona/Extension.pm
extensions/Persona/lib/Config.pm
extensions/Persona/lib/Login.pm
extensions/ProdCompSearch/Config.pm
extensions/ProdCompSearch/Extension.pm
extensions/ProdCompSearch/lib/WebService.pm
extensions/ProductDashboard/Config.pm
extensions/ProductDashboard/Extension.pm
extensions/ProductDashboard/lib/Queries.pm
extensions/ProductDashboard/lib/Util.pm
extensions/Profanivore/Config.pm
extensions/Profanivore/Extension.pm
extensions/Push/Config.pm
extensions/Push/Extension.pm
extensions/Push/bin/bugzilla-pushd.pl
extensions/Push/bin/nagios_push_checker.pl
extensions/Push/lib/Admin.pm
extensions/Push/lib/BacklogMessage.pm
extensions/Push/lib/BacklogQueue.pm
extensions/Push/lib/Backoff.pm
extensions/Push/lib/Config.pm
extensions/Push/lib/Connector.disabled/AMQP.pm
extensions/Push/lib/Connector.disabled/ServiceNow.pm
extensions/Push/lib/Connector/Aha.pm
extensions/Push/lib/Connector/Base.pm
extensions/Push/lib/Connector/File.pm
extensions/Push/lib/Connector/ReviewBoard.pm
extensions/Push/lib/Connector/Spark.pm
extensions/Push/lib/Connector/TCL.pm
extensions/Push/lib/Connectors.pm
extensions/Push/lib/Constants.pm
extensions/Push/lib/Daemon.pm
extensions/Push/lib/Log.pm
extensions/Push/lib/LogEntry.pm
extensions/Push/lib/Logger.pm
extensions/Push/lib/Message.pm
extensions/Push/lib/Option.pm
extensions/Push/lib/Push.pm
extensions/Push/lib/Queue.pm
extensions/Push/lib/Serialise.pm
extensions/Push/lib/Util.pm
extensions/REMO/Config.pm
extensions/REMO/Extension.pm
extensions/RequestNagger/Config.pm
extensions/RequestNagger/Extension.pm
extensions/RequestNagger/bin/send-request-nags.pl
extensions/RequestNagger/lib/Bug.pm
extensions/RequestNagger/lib/Constants.pm
extensions/RequestNagger/lib/Settings.pm
extensions/RestrictComments/Config.pm
extensions/RestrictComments/Extension.pm
extensions/RestrictComments/lib/Config.pm
extensions/Review/Config.pm
extensions/Review/Extension.pm
extensions/Review/bin/migrate_mentor_from_whiteboard.pl
extensions/Review/bin/review_requests_rebuild.pl
extensions/Review/lib/FlagStateActivity.pm
extensions/Review/lib/Util.pm
extensions/Review/lib/WebService.pm
extensions/SecureMail/Config.pm
extensions/SecureMail/Extension.pm
extensions/SiteMapIndex/Config.pm
extensions/SiteMapIndex/Extension.pm
extensions/SiteMapIndex/lib/Constants.pm
extensions/SiteMapIndex/lib/Util.pm
extensions/Splinter/Config.pm
extensions/Splinter/Extension.pm
extensions/Splinter/lib/Config.pm
extensions/Splinter/lib/Util.pm
extensions/TagNewUsers/Config.pm
extensions/TagNewUsers/Extension.pm
extensions/TrackingFlags/Config.pm
extensions/TrackingFlags/Extension.pm
extensions/TrackingFlags/bin/bug_825946.pl
extensions/TrackingFlags/bin/bulk_flag_clear.pl
extensions/TrackingFlags/bin/migrate_tracking_flags.pl
extensions/TrackingFlags/lib/Admin.pm
extensions/TrackingFlags/lib/Constants.pm
extensions/TrackingFlags/lib/Flag.pm
extensions/TrackingFlags/lib/Flag/Bug.pm
extensions/TrackingFlags/lib/Flag/Value.pm
extensions/TrackingFlags/lib/Flag/Visibility.pm
extensions/TypeSniffer/Config.pm
extensions/TypeSniffer/Extension.pm
extensions/UserProfile/Config.pm
extensions/UserProfile/Extension.pm
extensions/UserProfile/bin/migrate.pl
extensions/UserProfile/bin/update.pl
extensions/UserProfile/lib/Util.pm
extensions/UserStory/Config.pm
extensions/UserStory/Extension.pm
extensions/UserStory/lib/Constants.pm
extensions/Voting/Config.pm
extensions/Voting/Extension.pm
extensions/ZPushNotify/Config.pm
extensions/ZPushNotify/Extension.pm
extensions/create.pl
gen-cpanfile.pl [new file with mode: 0755]
github.cgi
importxml.pl
index.cgi
jobqueue.pl
jsonrpc.cgi
long_list.cgi
metrics.pl
migrate.pl
mod_perl.pl
page.cgi
post_bug.cgi
process_bug.cgi
qa/t/lib/QA/REST.pm [new file with mode: 0644]
qa/t/rest_bugzilla.t [new file with mode: 0644]
qa/t/rest_classification.t [new file with mode: 0644]
qa/t/test_password_complexity.t [new file with mode: 0644]
query.cgi
quips.cgi
relogin.cgi
report.cgi
reports.cgi
request.cgi
reset_password.cgi
rest.cgi
runtests.pl
sanitycheck.cgi
sanitycheck.pl
scripts/addcustomfield.pl
scripts/clear-memcached.pl
scripts/clear-templates.pl
scripts/close_bugs_wontfix.pl
scripts/convert_datetime.pl
scripts/cpanfile_fixed_versions.pl
scripts/fix-attachment-sizes.pl
scripts/fix_all_open_status_queries.pl
scripts/fixgroupqueries.pl
scripts/fixperms.pl
scripts/fixqueries.pl
scripts/group-set-members.pl
scripts/issue-api-key.pl
scripts/merge-users.pl
scripts/migrate-attachments.pl
scripts/migrate-cab-review.pl
scripts/migrate_whiteboard_keyword.pl
scripts/move_flag_types.pl
scripts/move_os.pl
scripts/movebugs.pl
scripts/movecomponent.pl
scripts/nagios_blocker_checker.pl
scripts/nagios_push_checker.pl
scripts/nightly_group_bug_cleaner.pl
scripts/nuke-bugs.pl
scripts/reassign_open_bugs.pl
scripts/remove-non-public-data.pl
scripts/remove_idle_group_members.pl
scripts/reset_default_user.pl
scripts/sanitizeme.pl
scripts/security_remove.pl
scripts/sendunsentbugmail.pl
scripts/syncflags.pl
scripts/syncmsandversions.pl
scripts/update-bug-groups.pl
scripts/update-crash-signatures.pl
scripts/user-prefs.pl
search_plugin.cgi
sentry.pl
show_activity.cgi
show_bug.cgi
showattachment.cgi
showdependencygraph.cgi
showdependencytree.cgi
summarize_time.cgi
t/001compile.t
t/002goodperl.t
t/003safesys.t [deleted file]
t/004template.t
t/005whitespace.t
t/006spellcheck.t
t/007util.t
t/008filter.t
t/009bugwords.t
t/010dependencies.t
t/011pod.t
t/012throwables.t
t/013remote_ip.t [deleted file]
t/Support/Files.pm
t/Support/Systemexec.pm
t/Support/Templates.pm
template/en/default/global/code-error.html.tmpl
template/en/default/setup/strings.txt.pl
testagent.cgi
testserver.pl
token.cgi
userprefs.cgi
view_job_queue.cgi
votes.cgi
whine.pl
whineatnews.pl
xml.cgi
xmlrpc.cgi

index a829834c5f4a6d6335a1abfccf5bd7af6e02b6cb..0172ea05973ab967497422f183661136dc05fa2e 100644 (file)
@@ -1,16 +1,27 @@
-.htaccess
+/**/.htaccess
 /lib/*
+/local/*
 /template/en/custom
-/docs/bugzilla.ent
-/docs/en/xml/bugzilla.ent
-/docs/en/txt
+/docs/en/rst/extensions/*
+/docs/en/rst/api/extensions/*
 /docs/en/html
+/docs/en/txt
 /docs/en/pdf
+/skins/custom
 /graphs
 /data
 /localconfig
+/localconfig.*
 /index.html
-/template_cache
 /error_reports
-.DS_Store
-cpanfile
+/.DS_Store
+/template_cache
+/Makefile
+/MYMETA.*
+/pm_to_blib
+/blib
+/Bugzilla-*.*/
+/local
+
+/skins/contrib/Dusk/admin.css
+/skins/contrib/Dusk/bug.css
index 56bbb5c153afc2a7e8399e583fd80a0541d528a5..72192d41a13a280b539e2b9c7224c55af9a98b4e 100644 (file)
@@ -1,30 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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): Bradley Baetz <bbaetz@student.usyd.edu.au>
-#                 Erik Stambaugh <erik@dasbistro.com>
-#                 A. Karl Kornel <karl@kornel.name>
-#                 Marc Schumann <wurblzap@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 # We want any compile errors to get to the browser, if possible.
 BEGIN {
@@ -47,8 +32,8 @@ use Bugzilla::Field;
 use Bugzilla::Flag;
 use Bugzilla::Hook;
 use Bugzilla::Install::Localconfig qw(read_localconfig);
-use Bugzilla::Install::Requirements qw(OPTIONAL_MODULES);
 use Bugzilla::Install::Util qw(init_console include_languages);
+use Bugzilla::Install::Requirements qw(load_cpan_meta check_cpan_feature);
 use Bugzilla::Memcached;
 use Bugzilla::Template;
 use Bugzilla::Token;
@@ -253,7 +238,7 @@ sub extensions {
             my $extension = $package->new();
             if ($extension->enabled) {
                 push(@extensions, $extension);
-            }        
+            }
         }
         $cache->{extensions} = \@extensions;
     }
@@ -261,37 +246,36 @@ sub extensions {
 }
 
 sub feature {
-    my ($class, $feature) = @_;
-    my $cache = $class->request_cache;
-    return $cache->{feature}->{$feature}
-        if exists $cache->{feature}->{$feature};
-
-    my $feature_map = $cache->{feature_map};
-    if (!$feature_map) {
-        foreach my $package (@{ OPTIONAL_MODULES() }) {
-            foreach my $f (@{ $package->{feature} }) {
-                $feature_map->{$f} ||= [];
-                push(@{ $feature_map->{$f} }, $package->{module});
-            }
-        }
-        $cache->{feature_map} = $feature_map;
-    }
+    my ($class, $feature_name) = @_;
+    return 0 unless CAN_HAS_FEATURE;
+    return 0 unless $class->has_feature($feature_name);
+
+    my $cache = $class->process_cache;
+    my $feature = $cache->{cpan_meta}->feature($feature_name);
+    # Bugzilla expects this will also load all the modules.. so we have to do that.
+    # Later we should put a deprecation warning here, and favor calling has_feature().
+
+    return 1 if $cache->{feature_loaded}{$feature_name};
+    my @modules = $feature->prereqs->merged_requirements->required_modules;
+    Module::Runtime::require_module($_) foreach @modules;
+    $cache->{feature_loaded}{$feature_name} = 1;
+    return 1;
+}
 
-    if (!$feature_map->{$feature}) {
-        ThrowCodeError('invalid_feature', { feature => $feature });
-    }
+sub has_feature {
+    my ($class, $feature_name) = @_;
 
-    my $success = 1;
-    foreach my $module (@{ $feature_map->{$feature} }) {
-        # We can't use a string eval and "use" here (it kills Template-Toolkit,
-        # see https://rt.cpan.org/Public/Bug/Display.html?id=47929), so we have
-        # to do a block eval.
-        $module =~ s{::}{/}g;
-        $module .= ".pm";
-        eval { require $module; 1; } or $success = 0;
-    }
-    $cache->{feature}->{$feature} = $success;
-    return $success;
+    return 0 unless CAN_HAS_FEATURE;
+
+    my $cache = $class->process_cache;
+    return $cache->{feature}->{$feature_name}
+        if exists $cache->{feature}->{$feature_name};
+
+    my $meta = $cache->{cpan_meta} //= load_cpan_meta();
+    my $feature = eval { $meta->feature($feature_name) }
+      or ThrowCodeError('invalid_feature', { feature => $feature_name });
+
+    return $cache->{feature}{$feature_name} = check_cpan_feature($feature)->{ok};
 }
 
 sub cgi {
index 3b4953f64e3cf0ba71de7337119dab3fea1d92ee..068ba9e457b92cd8687b36f398cbf7de1bf5cb7c 100644 (file)
@@ -1,31 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 <terry@mozilla.org>
-#                 Myk Melez <myk@mozilla.org>
-#                 Marc Schumann <wurblzap@gmail.com>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Attachment;
 
-use 5.10.0;
+use 5.10.1;
 use strict;
+use warnings;
 
 =head1 NAME
 
index 24617caccaba28dfb10f9d3fefffa5095746b597..42cdd2d6f2a72993fad9742c90fa0387b84524e7 100644 (file)
@@ -6,6 +6,8 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Attachment::Database;
+
+use 5.10.1;
 use strict;
 use warnings;
 
index 675184c497d2c19d0e8af3c4b3da68b5fadbd603..a9fdf83b6ac7cf8d3d065b13d633dbe0b70af3f7 100644 (file)
@@ -6,6 +6,8 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Attachment::FileSystem;
+
+use 5.10.1;
 use strict;
 use warnings;
 
index 2c164773668b2f197ae1bfb7ef6ad91ec952e9ce..fb8b83392e4130ebfa34c5d6b37019028d780c0c 100644 (file)
@@ -1,24 +1,17 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
-#
 # 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.
+# 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/.
 #
-# The Original Code is the Bugzilla Bug Tracking System.
-#
-# Contributor(s): John Keiser <john@johnkeiser.com>
-#                 Frédéric Buclin <LpSolit@gmail.com>
-
-use strict;
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Attachment::PatchReader;
 
+use 5.10.1;
+use strict;
+use warnings;
+
 use IPC::Open3;
 use Symbol 'gensym';
 
index 6d11f423e29e1c85ea129cc75ff280fdf2c90e1d..e1c7269a52f6d0f937bd29926d2fbfe7d15e8ac6 100644 (file)
@@ -6,6 +6,8 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Attachment::S3;
+
+use 5.10.1;
 use strict;
 use warnings;
 
index f57ee80e0f425e8b51261c3e45a3e1f36671deda..522fbebf3e09f7269e3897ae5ec2ad29422ce070 100644 (file)
@@ -1,29 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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): Bradley Baetz <bbaetz@acm.org>
-#                 Erik Stambaugh <erik@dasbistro.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Auth;
 
+use 5.10.1;
 use strict;
+use warnings;
+
 use fields qw(
     _info_getter
     _verifier
index 09830da250f77ad49221d461a323b44336706dff..a5f089777198017cc0c05760e61f1617bc0f3454 100644 (file)
@@ -1,22 +1,17 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Auth::Login;
 
+use 5.10.1;
 use strict;
+use warnings;
+
+use fields qw();
 
 # Determines whether or not a user can logout. It's really a subroutine,
 # but we implement it here as a constant. Override it in subclasses if
index 4038cc8b9db537c2dc047813bdbc90e821fb1e17..25c2a35556c199260f14d383d3792a12d7636d19 100644 (file)
@@ -9,6 +9,7 @@ package Bugzilla::Auth::Login::APIKey;
 
 use 5.10.1;
 use strict;
+use warnings;
 
 use base qw(Bugzilla::Auth::Login);
 
index 2406982778ec5dc8d586e317ba7d4f8348b1ffdb..dad6ddb7c0d086cf996d1fe6e73129bb98de3bad 100644 (file)
@@ -1,35 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 <terry@mozilla.org>
-#                 Dan Mosedale <dmose@mozilla.org>
-#                 Joe Robins <jmrobins@tgix.com>
-#                 Dave Miller <justdave@syndicomm.com>
-#                 Christopher Aillon <christopher@aillon.com>
-#                 Gervase Markham <gerv@gerv.net>
-#                 Christian Reis <kiko@async.com.br>
-#                 Bradley Baetz <bbaetz@acm.org>
-#                 Erik Stambaugh <erik@dasbistro.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Auth::Login::CGI;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::Auth::Login);
 use constant user_can_create_account => 1;
 
index 0a2386ee95d302ad0598dbe9c8c423febf96e458..b52e3e7c11ddb720f1d6c71cc4aa759a03526b46 100644 (file)
@@ -1,22 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Bradley Baetz <bbaetz@acm.org>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Auth::Login::Cookie;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use base qw(Bugzilla::Auth::Login);
 use fields qw(_login_token _cookie);
index 76227f18ba9ea4d55b44e72ac3ed7d889e53b053..9d3da183fd7c7ab6c6ae67d335559be4e2807d1b 100644 (file)
@@ -1,27 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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): Erik Stambaugh <erik@dasbistro.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Auth::Login::Env;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::Auth::Login);
 
 use Bugzilla::Constants;
index e8d9c46350cee2bdac03fceabf665dbe1e259ffb..dc35998e4f95d22644d0193c1fbe8ebfbe120fe0 100644 (file)
@@ -1,26 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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): Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Auth::Login::Stack;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::Auth::Login);
 use fields qw(
     _stack
index 06661101b7bcf7f1a8ce4c966db4cf10fa430489..f39ad7de3f4316239ebd3ba48083f74c82c7531f 100644 (file)
@@ -1,35 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 <terry@mozilla.org>
-#                 Dan Mosedale <dmose@mozilla.org>
-#                 Joe Robins <jmrobins@tgix.com>
-#                 Dave Miller <justdave@syndicomm.com>
-#                 Christopher Aillon <christopher@aillon.com>
-#                 Gervase Markham <gerv@gerv.net>
-#                 Christian Reis <kiko@async.com.br>
-#                 Bradley Baetz <bbaetz@acm.org>
-#                 Erik Stambaugh <erik@dasbistro.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Auth::Persist::Cookie;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use fields qw();
 
 use Bugzilla::Constants;
index 3578631f19f9ad0a6e52779d93f9049fc7df9596..dbad1e9a752e6736b742b4448dac056c8633f482 100644 (file)
@@ -1,22 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Auth::Verify;
 
+use 5.10.1;
 use strict;
+use warnings;
+
 use fields qw();
 
 use Bugzilla::Constants;
index ea86346e12fc85973fe4d80ef0a9c62f59275e74..424816f4ccd83b41e2e7e6685cd1eac92ad875a6 100644 (file)
@@ -1,34 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 <terry@mozilla.org>
-#                 Dan Mosedale <dmose@mozilla.org>
-#                 Joe Robins <jmrobins@tgix.com>
-#                 Dave Miller <justdave@syndicomm.com>
-#                 Christopher Aillon <christopher@aillon.com>
-#                 Gervase Markham <gerv@gerv.net>
-#                 Christian Reis <kiko@async.com.br>
-#                 Bradley Baetz <bbaetz@acm.org>
-#                 Erik Stambaugh <erik@dasbistro.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Auth::Verify::DB;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::Auth::Verify);
 
 use Bugzilla::Constants;
index 9d438e41183a36134bb8d62bae8468758bb7eca3..c0ae619c15f53dd4ce82a84546ab7c4af42aa92a 100644 (file)
@@ -1,35 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 <terry@mozilla.org>
-#                 Dan Mosedale <dmose@mozilla.org>
-#                 Joe Robins <jmrobins@tgix.com>
-#                 Dave Miller <justdave@syndicomm.com>
-#                 Christopher Aillon <christopher@aillon.com>
-#                 Gervase Markham <gerv@gerv.net>
-#                 Christian Reis <kiko@async.com.br>
-#                 Bradley Baetz <bbaetz@acm.org>
-#                 Erik Stambaugh <erik@dasbistro.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Auth::Verify::LDAP;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::Auth::Verify);
 use fields qw(
     ldap
index da36c3bd138f4b3416c3237d4ffece28edee8f0c..ad0778e39cb1309b54c3e219fe7beb1fb8cca677 100644 (file)
@@ -1,25 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Marc Schumann.
-# Portions created by Marc Schumann are Copyright (c) 2007 Marc Schumann.
-# All rights reserved.
-#
-# Contributor(s): Marc Schumann <wurblzap@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Auth::Verify::RADIUS;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::Auth::Verify);
 
 use Bugzilla::Constants;
index e1a0119928f5fe1483ef335cbb1ef24268e0b3b8..3e5db3cecbb442d086d23c9fc62892aa73619d9f 100644 (file)
@@ -1,21 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Auth::Verify::Stack;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::Auth::Verify);
 use fields qw(
     _stack
index 327fb866c6d1d69934dac0c0474434c2b7054dca..77d2e126a9a406eba75c1271bfc46b3ec5d7d849 100644 (file)
@@ -1,36 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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): Dawn Endico    <endico@mozilla.org>
-#                 Terry Weissman <terry@mozilla.org>
-#                 Chris Yeh      <cyeh@bluemartini.com>
-#                 Bradley Baetz  <bbaetz@acm.org>
-#                 Dave Miller    <justdave@bugzilla.org>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Frédéric Buclin <LpSolit@gmail.com>
-#                 Lance Larsh <lance.larsh@oracle.com>
-#                 Elliotte Martin <elliotte_martin@yahoo.com>
-#                 Christian Legnitto <clegnitto@mozilla.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Bug;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Attachment;
 use Bugzilla::Constants;
index 7244d97a58d2535ac22f070e945e179b9341aeb9..aaee6b603b78c492f9e6b38cc41edbf09b8a54e9 100644 (file)
@@ -1,40 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 <terry@mozilla.org>,
-#                 Bryce Nesbitt <bryce-mozilla@nextbus.com>
-#                 Dan Mosedale <dmose@mozilla.org>
-#                 Alan Raetz <al_raetz@yahoo.com>
-#                 Jacob Steenhagen <jake@actex.net>
-#                 Matthew Tuck <matty@chariot.net.au>
-#                 Bradley Baetz <bbaetz@student.usyd.edu.au>
-#                 J. Paul Reed <preed@sigkill.com>
-#                 Gervase Markham <gerv@gerv.net>
-#                 Byron Jones <bugzilla@glob.com.au>
-#                 Reed Loden <reed@reedloden.com>
-#                 Frédéric Buclin <LpSolit@gmail.com>
-#                 Guy Pyrzak <guy.pyrzak@gmail.com>
-
-use strict;
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::BugMail;
 
+use 5.10.1;
+use strict;
+use warnings;
+
 use Bugzilla::Error;
 use Bugzilla::User;
 use Bugzilla::Constants;
index 3b05057f8a17d93adf1c63377be4489432ce2f50..55a8cfd75b6c271e359c4272618390d13aa6aa2b 100644 (file)
@@ -1,25 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Tiago Mello
-# Portions created by Tiago Mello are Copyright (C) 2010
-# Tiago Mello. All Rights Reserved.
-#
-# Contributor(s): Tiago Mello <timello@linux.vnet.ibm.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::BugUrl;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::Object);
 
 use Bugzilla::Util;
index 572789e664b5a9667e5e077d41369037691ed1ed..b467c54d8d671dd211f0f53d9a923bf25b518f46 100644 (file)
@@ -6,7 +6,11 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::BugUrl::Aha;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::BugUrl);
 
 ###############################
index 53f174556b3156dc0b74e96d7d1a159749dde324..3af6d0a54ac4010ead82543170b7b2a1b7a42120 100644 (file)
@@ -1,26 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Tiago Mello.
-# Portions created by Tiago Mello are Copyright (C) 2010
-# Tiago Mello. All Rights Reserved.
-#
-# Contributor(s): Tiago Mello <timello@linux.vnet.ibm.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::BugUrl::Bugzilla;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::BugUrl);
 
 use Bugzilla::Error;
index 99f944fa60cef30b71ff8053d3d01443aacef26c..9f4d90292aa26ae21f86a1fafced64f0d24edbdc 100644 (file)
@@ -1,25 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Tiago Mello.
-# Portions created by Tiago Mello are Copyright (C) 2010
-# Tiago Mello. All Rights Reserved.
-#
-# Contributor(s): Tiago Mello <timello@linux.vnet.ibm.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::BugUrl::Bugzilla::Local;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::BugUrl::Bugzilla);
 
 use Bugzilla::Error;
index 7f73feea7527ae336011c970c5cac9d6db3bfd05..e018c1106bac9a8d701b814d573cfc57c489bddd 100644 (file)
@@ -1,26 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Tiago Mello.
-# Portions created by Tiago Mello are Copyright (C) 2010
-# Tiago Mello. All Rights Reserved.
-#
-# Contributor(s): Tiago Mello <timello@linux.vnet.ibm.com>
-#                 Reed Loden <reed@reedloden.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::BugUrl::Debian;
+
+use 5.10.1;
 use strict;
+use warnings;
 use base qw(Bugzilla::BugUrl);
 
 use Bugzilla::Error;
index 29f3c2ea4da951e21056790a383448a20805d24e..1a0219617b6ce296eaab95a5c75ceb5cc2e867d3 100644 (file)
@@ -6,7 +6,11 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::BugUrl::GitHub;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::BugUrl);
 
 ###############################
index 792699e50f25df50edcdf9428815cdbddd3e6f31..110772e69235e11fe5853b59aff53a3fc82ee37b 100644 (file)
@@ -1,26 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Tiago Mello.
-# Portions created by Tiago Mello are Copyright (C) 2010
-# Tiago Mello. All Rights Reserved.
-#
-# Contributor(s): Tiago Mello <timello@linux.vnet.ibm.com>
-#                 Reed Loden <reed@reedloden.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::BugUrl::Google;
+
+use 5.10.1;
 use strict;
+use warnings;
 use base qw(Bugzilla::BugUrl);
 
 use Bugzilla::Error;
index d0adcfed812a5f92a41bbe53296eb3e96393a465..ba4b0e51bf6d88d0c04105ad4a5d87586f61a9fa 100644 (file)
@@ -1,25 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Matt Selsky
-# Portions created by Matt Selsky are Copyright (C) 2010
-# Matt Selsky. All Rights Reserved.
-#
-# Contributor(s): Matt Selsky <selsky@columbia.edu>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::BugUrl::JIRA;
+
+use 5.10.1;
 use strict;
+use warnings;
 use base qw(Bugzilla::BugUrl);
 
 use Bugzilla::Error;
index a5457fda91b9c8f7a08e916fb4894ab08fa76ac3..a56fed4ade4f93c8b9594014a1e72f9d625d3a12 100644 (file)
@@ -1,26 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Tiago Mello.
-# Portions created by Tiago Mello are Copyright (C) 2010
-# Tiago Mello. All Rights Reserved.
-#
-# Contributor(s): Tiago Mello <timello@linux.vnet.ibm.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::BugUrl::Launchpad;
+
+use 5.10.1;
 use strict;
+use warnings;
 use base qw(Bugzilla::BugUrl);
 
 use Bugzilla::Error;
index c525b0b2f40773fb44995e1a777f33ccd5943fbe..48284c7e011b158c0beb4f2e6092d1e5f08f1ff9 100644 (file)
@@ -1,25 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Reed Loden.
-# Portions created by Reed Loden are Copyright (C) 2010
-# Reed Loden. All Rights Reserved.
-#
-# Contributor(s): Reed Loden <reed@reedloden.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::BugUrl::MantisBT;
+
+use 5.10.1;
 use strict;
+use warnings;
 use base qw(Bugzilla::BugUrl);
 
 use Bugzilla::Error;
index f78bec79921d1c4e5b0ffdbfb3808b28b32ad02f..c2442e4df552cf8235232c06ae342b2e3b385ae5 100644 (file)
@@ -6,7 +6,11 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::BugUrl::MozSupport;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::BugUrl);
 
 ###############################
index b73f56a006477f77094333af55d196b2fa3e4bd9..8e30aa45ec4a426ca1af8671464e9a2a701133fc 100644 (file)
@@ -6,7 +6,11 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::BugUrl::ServiceNow;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::BugUrl);
 
 sub should_handle {
index fffa96d52a2f61bbb3f224f9a7013acb9880e322..3c8dfd51d0d11b3e15a18f1bd8a820d671539542 100644 (file)
@@ -1,25 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Tiago Mello
-# Portions created by Tiago Mello are Copyright (C) 2011
-# Tiago Mello. All Rights Reserved.
-#
-# Contributor(s): Tiago Mello <timello@linux.vnet.ibm.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::BugUrl::SourceForge;
+
+use 5.10.1;
 use strict;
+use warnings;
 use base qw(Bugzilla::BugUrl);
 
 use Bugzilla::Error;
index 42918f0d421b0ac14e3f5adcb47b96663900acb6..49b2b762f4a37f15012a747bad0577c2bdc0659a 100644 (file)
@@ -6,7 +6,11 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::BugUrl::Splat;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::BugUrl);
 
 sub should_handle {
index 638bd779e9501de352105169de06afae0997259a..600b31105d0a1c14a06f89558c43f117ec2a36d5 100644 (file)
@@ -1,25 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Matt Selsky
-# Portions created by Matt Selsky are Copyright (C) 2010
-# Matt Selsky. All Rights Reserved.
-#
-# Contributor(s): Matt Selsky <selsky@columbia.edu>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::BugUrl::Trac;
+
+use 5.10.1;
 use strict;
+use warnings;
 use base qw(Bugzilla::BugUrl);
 
 use Bugzilla::Error;
index 0c0138abcdae145679fb497821b2207a4343c579..bd66dcae7767910139ad18ab79a5b5a3794590f3 100644 (file)
@@ -6,7 +6,11 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::BugUrl::WebCompat;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::BugUrl);
 
 ###############################
index 6a7b7f3ef1ed2f76c946bf3646fe8d066d2c1df1..f40ea17d3a737960caa82eb3595e788c598e3090 100644 (file)
@@ -9,6 +9,7 @@ package Bugzilla::BugUserLastVisit;
 
 use 5.10.1;
 use strict;
+use warnings;
 
 use parent qw(Bugzilla::Object);
 
index 7d111063dfdaf98694f64e0ec07266b9bcb72659..e449071611c226e473a317cc4f1c1d3a3a5619b6 100644 (file)
@@ -1,28 +1,17 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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): Bradley Baetz <bbaetz@student.usyd.edu.au>
-#                 Byron Jones <bugzilla@glob.com.au>
-#                 Marc Schumann <wurblzap@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::CGI;
+
+use 5.10.1;
 use strict;
+use warnings;
+
+use CGI;
 use base qw(CGI);
 
 use Bugzilla::Constants;
index 8fd4706e453f3e4217ae4c02ec9b39d21284ab1b..e70def351b90e8999f300d4a9606735cd5e65b2e 100644 (file)
@@ -1,27 +1,9 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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): Gervase Markham <gerv@gerv.net>
-#                 Albert Ting <altlst@sonic.net>
-#                 A. Karl Kornel <karl@kornel.name>
-
-use strict;
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 # This module represents a chart.
 #
@@ -31,6 +13,10 @@ use strict;
 # the same points.
 package Bugzilla::Chart;
 
+use 5.10.1;
+use strict;
+use warnings;
+
 use Bugzilla::Error;
 use Bugzilla::Util;
 use Bugzilla::Series;
index a989a40f207af38c406d88fe62ced643cac2b87a..a931767d2bed27e7260d110591ec1314f4788367 100644 (file)
@@ -1,24 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Tiago R. Mello <timello@async.com.br>
-#                 Frédéric Buclin <LpSolit@gmail.com>
-
-use strict;
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Classification;
 
+use 5.10.1;
+use strict;
+use warnings;
+
 use Bugzilla::Constants;
 use Bugzilla::Field;
 use Bugzilla::Util;
index 2fe86253b9d6ceb680d5171f61fb916c31be3281..a8f915bfd28389f8bfa8cef5b837e26c60e035d4 100644 (file)
@@ -1,28 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 James Robson.
-# Portions created by James Robson are Copyright (c) 2009 James Robson.
-# All rights reserved.
-#
-# Contributor(s): James Robson <arbingersys@gmail.com> 
-#                 Christian Legnitto <clegnitto@mozilla.com> 
-
-use strict;
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Comment;
 
+use 5.10.1;
+use strict;
+use warnings;
+
 use base qw(Bugzilla::Object);
 
 use Bugzilla::Attachment;
index f1a220a47f80dcb487cef7d5c977353cef979dc3..4919244cecafb2f7ede3deb4978db9415b126933 100644 (file)
@@ -9,8 +9,9 @@ package Bugzilla::Comment::TagWeights;
 
 use 5.10.1;
 use strict;
+use warnings;
 
-use parent qw(Bugzilla::Object);
+use base qw(Bugzilla::Object);
 
 use Bugzilla::Constants;
 
index 74c3ae99ae49558826444d5a3aa79da5bce6b3dc..b44f787334667cfbc9dc82cfcd6c0339f0c6bd0d 100644 (file)
@@ -1,24 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Tiago R. Mello <timello@async.com.br>
-#                 Frédéric Buclin <LpSolit@gmail.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Akamai Technologies <bugzilla-dev@akamai.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Component;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::Field::ChoiceInterface Bugzilla::Object);
 
 use Bugzilla::Constants;
index 7cc6c5dcba95237f8f090eaa7d51ede6f4349668..902d5c1f84ffb988a1a92d8f0e06163498ec3601 100644 (file)
@@ -1,36 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 <terry@mozilla.org>
-#                 Dawn Endico <endico@mozilla.org>
-#                 Dan Mosedale <dmose@mozilla.org>
-#                 Joe Robins <jmrobins@tgix.com>
-#                 Jake <jake@bugzilla.org>
-#                 J. Paul Reed <preed@sigkill.com>
-#                 Bradley Baetz <bbaetz@student.usyd.edu.au>
-#                 Christopher Aillon <christopher@aillon.com>
-#                 Erik Stambaugh <erik@dasbistro.com>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Config;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use base qw(Exporter);
 use Bugzilla::Constants;
index b0c0bad9a7ed23aa553c1450d92142bfa6d1886c..74748d3d81fcc4b73f1770212ee4458f2a4b9aba 100644 (file)
@@ -1,37 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
-#
-# 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 <terry@mozilla.org>
-#                 Dawn Endico <endico@mozilla.org>
-#                 Dan Mosedale <dmose@mozilla.org>
-#                 Joe Robins <jmrobins@tgix.com>
-#                 Jacob Steenhagen <jake@bugzilla.org>
-#                 J. Paul Reed <preed@sigkill.com>
-#                 Bradley Baetz <bbaetz@student.usyd.edu.au>
-#                 Joseph Heenan <joseph@heenan.me.uk>
-#                 Erik Stambaugh <erik@dasbistro.com>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# 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/.
 #
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Config::Admin;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Config::Common;
 
index 893213b027c91718937e520e213e5b447cf5cf92..4bf774ae06d600304b165bc93806b6dcb4681488 100644 (file)
@@ -1,36 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 <terry@mozilla.org>
-#                 Dawn Endico <endico@mozilla.org>
-#                 Dan Mosedale <dmose@mozilla.org>
-#                 Joe Robins <jmrobins@tgix.com>
-#                 Jacob Steenhagen <jake@bugzilla.org>
-#                 J. Paul Reed <preed@sigkill.com>
-#                 Bradley Baetz <bbaetz@student.usyd.edu.au>
-#                 Joseph Heenan <joseph@heenan.me.uk>
-#                 Erik Stambaugh <erik@dasbistro.com>
-#                 Frédéric Buclin <LpSolit@gmail.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Config::Advanced;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Config::Common;
 
index 20cde0b01b8bb39eb71e2efa0c370cf5188913e4..b81d21e53319ca87f5bc8b888719f9f673d5f395 100644 (file)
@@ -1,37 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
-#
-# 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 <terry@mozilla.org>
-#                 Dawn Endico <endico@mozilla.org>
-#                 Dan Mosedale <dmose@mozilla.org>
-#                 Joe Robins <jmrobins@tgix.com>
-#                 Jacob Steenhagen <jake@bugzilla.org>
-#                 J. Paul Reed <preed@sigkill.com>
-#                 Bradley Baetz <bbaetz@student.usyd.edu.au>
-#                 Joseph Heenan <joseph@heenan.me.uk>
-#                 Erik Stambaugh <erik@dasbistro.com>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# 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/.
 #
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Config::Attachment;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Config::Common;
 
index 301c852da44e3fbb3a0ac7395750609e79621832..9e1f89ef9c830371ef40e184a711fbf454dc4fd4 100644 (file)
@@ -1,37 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
-#
-# 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 <terry@mozilla.org>
-#                 Dawn Endico <endico@mozilla.org>
-#                 Dan Mosedale <dmose@mozilla.org>
-#                 Joe Robins <jmrobins@tgix.com>
-#                 Jacob Steenhagen <jake@bugzilla.org>
-#                 J. Paul Reed <preed@sigkill.com>
-#                 Bradley Baetz <bbaetz@student.usyd.edu.au>
-#                 Joseph Heenan <joseph@heenan.me.uk>
-#                 Erik Stambaugh <erik@dasbistro.com>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# 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/.
 #
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Config::Auth;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Config::Common;
 
index 4e197c5e93226fad16eed455d7f4823f066ddd72..0acdc0ce49cfdb2f8a04e23e279261e50278081a 100644 (file)
@@ -1,37 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
-#
-# 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 <terry@mozilla.org>
-#                 Dawn Endico <endico@mozilla.org>
-#                 Dan Mosedale <dmose@mozilla.org>
-#                 Joe Robins <jmrobins@tgix.com>
-#                 Jacob Steenhagen <jake@bugzilla.org>
-#                 J. Paul Reed <preed@sigkill.com>
-#                 Bradley Baetz <bbaetz@student.usyd.edu.au>
-#                 Joseph Heenan <joseph@heenan.me.uk>
-#                 Erik Stambaugh <erik@dasbistro.com>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# 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/.
 #
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Config::BugChange;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Config::Common;
 use Bugzilla::Status;
index 490d945ea29a5ff228fdc0e8e29f11335c76811d..0111ac6a8fd99f83c7a30e536bdc69fa45926ec8 100644 (file)
@@ -1,37 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
-#
-# 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 <terry@mozilla.org>
-#                 Dawn Endico <endico@mozilla.org>
-#                 Dan Mosedale <dmose@mozilla.org>
-#                 Joe Robins <jmrobins@tgix.com>
-#                 Jacob Steenhagen <jake@bugzilla.org>
-#                 J. Paul Reed <preed@sigkill.com>
-#                 Bradley Baetz <bbaetz@student.usyd.edu.au>
-#                 Joseph Heenan <joseph@heenan.me.uk>
-#                 Erik Stambaugh <erik@dasbistro.com>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# 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/.
 #
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Config::BugFields;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Config::Common;
 use Bugzilla::Field;
index 4c9994e0e73a39e44cf581a636d80caf9af1d05f..5b67a7ffcc0fd1d3ea902a83744759be7e2cb918 100644 (file)
@@ -1,38 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
-#
-# 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 <terry@mozilla.org>
-#                 Dawn Endico <endico@mozilla.org>
-#                 Dan Mosedale <dmose@mozilla.org>
-#                 Joe Robins <jmrobins@tgix.com>
-#                 Jacob Steenhagen <jake@bugzilla.org>
-#                 J. Paul Reed <preed@sigkill.com>
-#                 Bradley Baetz <bbaetz@student.usyd.edu.au>
-#                 Joseph Heenan <joseph@heenan.me.uk>
-#                 Erik Stambaugh <erik@dasbistro.com>
-#                 Frédéric Buclin <LpSolit@gmail.com>
-#                 Marc Schumann <wurblzap@gmail.com>
+# 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/.
 #
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Config::Common;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Email::Address;
 use Socket;
index 3d6a00e7047d4321e5975016cc316649c611536c..0e95741a9c47a2d2fa424d2bee6f5f3a2c5bea62 100644 (file)
@@ -1,37 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
-#
-# 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 <terry@mozilla.org>
-#                 Dawn Endico <endico@mozilla.org>
-#                 Dan Mosedale <dmose@mozilla.org>
-#                 Joe Robins <jmrobins@tgix.com>
-#                 Jacob Steenhagen <jake@bugzilla.org>
-#                 J. Paul Reed <preed@sigkill.com>
-#                 Bradley Baetz <bbaetz@student.usyd.edu.au>
-#                 Joseph Heenan <joseph@heenan.me.uk>
-#                 Erik Stambaugh <erik@dasbistro.com>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# 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/.
 #
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Config::Core;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Config::Common;
 
index b217bfb0656331f7d26728d4099b703c1747ee6e..f9f3c0af5ecbab21d565713b1a7e325cea0f5249 100644 (file)
@@ -31,7 +31,9 @@
 
 package Bugzilla::Config::DependencyGraph;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Config::Common;
 
index 0f043548b9d7ca93e226d70f616decf2f5ed9da2..5efaa6f6c2a9a6571e5279f6e6cf18cabb54a43f 100644 (file)
@@ -1,36 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 <terry@mozilla.org>
-#                 Dawn Endico <endico@mozilla.org>
-#                 Dan Mosedale <dmose@mozilla.org>
-#                 Joe Robins <jmrobins@tgix.com>
-#                 Jacob Steenhagen <jake@bugzilla.org>
-#                 J. Paul Reed <preed@sigkill.com>
-#                 Bradley Baetz <bbaetz@student.usyd.edu.au>
-#                 Joseph Heenan <joseph@heenan.me.uk>
-#                 Erik Stambaugh <erik@dasbistro.com>
-#                 Frédéric Buclin <LpSolit@gmail.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Config::General;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use Bugzilla::Config::Common;
 
 our $sortkey = 150;
index 24eddaf6b2188f2536c4ef3c502393d7ad61a92a..7288d44b6539ca950d9c0c922116e914865d75c4 100644 (file)
@@ -1,37 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
-#
-# 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 <terry@mozilla.org>
-#                 Dawn Endico <endico@mozilla.org>
-#                 Dan Mosedale <dmose@mozilla.org>
-#                 Joe Robins <jmrobins@tgix.com>
-#                 Jacob Steenhagen <jake@bugzilla.org>
-#                 J. Paul Reed <preed@sigkill.com>
-#                 Bradley Baetz <bbaetz@student.usyd.edu.au>
-#                 Joseph Heenan <joseph@heenan.me.uk>
-#                 Erik Stambaugh <erik@dasbistro.com>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# 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/.
 #
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Config::GroupSecurity;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Config::Common;
 use Bugzilla::Group;
index e47f923083f4e0b7ffcecf7803465006572f2c66..0bc8240dfde442dd9a18bba5f466616f64913035 100644 (file)
@@ -1,37 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
-#
-# 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 <terry@mozilla.org>
-#                 Dawn Endico <endico@mozilla.org>
-#                 Dan Mosedale <dmose@mozilla.org>
-#                 Joe Robins <jmrobins@tgix.com>
-#                 Jacob Steenhagen <jake@bugzilla.org>
-#                 J. Paul Reed <preed@sigkill.com>
-#                 Bradley Baetz <bbaetz@student.usyd.edu.au>
-#                 Joseph Heenan <joseph@heenan.me.uk>
-#                 Erik Stambaugh <erik@dasbistro.com>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# 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/.
 #
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Config::LDAP;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Config::Common;
 
index aeded375f4433b99bb2fd0384e3718294f5365c0..8bbee3501c02d81f00cfff927259ef5aa2b4d94d 100644 (file)
@@ -31,7 +31,9 @@
 
 package Bugzilla::Config::MTA;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Config::Common;
 # Return::Value 1.666002 pollutes the error log with warnings about this
index 08d8ce0e7c400f28f9a9b34cf48678c8addc4308..292803d86474046cb5a671c3f3bc954e1f2f11a6 100644 (file)
@@ -9,6 +9,7 @@ package Bugzilla::Config::Memcached;
 
 use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Config::Common;
 
index 6bd9557a9952c9f95887c3a84e7d88c6e90eb41b..03dfc02a61a54041b30f32d550ed4ada3021a024 100644 (file)
@@ -31,7 +31,9 @@
 
 package Bugzilla::Config::PatchViewer;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Config::Common;
 
index 4038c13ef814e130ef6d7ebfb277cf5cae815c04..00ddf432381c65b2592eb608bd1f1851023e7c30 100644 (file)
@@ -1,37 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
-#
-# 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 <terry@mozilla.org>
-#                 Dawn Endico <endico@mozilla.org>
-#                 Dan Mosedale <dmose@mozilla.org>
-#                 Joe Robins <jmrobins@tgix.com>
-#                 Jacob Steenhagen <jake@bugzilla.org>
-#                 J. Paul Reed <preed@sigkill.com>
-#                 Bradley Baetz <bbaetz@student.usyd.edu.au>
-#                 Joseph Heenan <joseph@heenan.me.uk>
-#                 Erik Stambaugh <erik@dasbistro.com>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# 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/.
 #
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Config::Query;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Config::Common;
 
index bc072a9c4d5abfea4557e05e03df186e97aaf96a..8e30b07a9881482fe5d4460e679055faa248333b 100644 (file)
@@ -1,27 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
-#
-# 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 Marc Schumann.
-# Portions created by Marc Schumann are Copyright (c) 2007 Marc Schumann.
-# All rights reserved.
-#
-# Contributor(s): Marc Schumann <wurblzap@gmail.com>
+# 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/.
 #
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Config::RADIUS;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Config::Common;
 
index a605b236351508366af7c3c312a552e96772bbb0..5dbbb5202a172385088e33093c4d16e5942a67f5 100644 (file)
@@ -1,37 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
-#
-# 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 <terry@mozilla.org>
-#                 Dawn Endico <endico@mozilla.org>
-#                 Dan Mosedale <dmose@mozilla.org>
-#                 Joe Robins <jmrobins@tgix.com>
-#                 Jacob Steenhagen <jake@bugzilla.org>
-#                 J. Paul Reed <preed@sigkill.com>
-#                 Bradley Baetz <bbaetz@student.usyd.edu.au>
-#                 Joseph Heenan <joseph@heenan.me.uk>
-#                 Erik Stambaugh <erik@dasbistro.com>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# 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/.
 #
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Config::ShadowDB;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Config::Common;
 
index 38d2cb05b242c292fbadc33860f904debe2cd011..3f74a7c44e6dda305ff50f30c9b9677bed5ad8ec 100644 (file)
@@ -1,37 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
-#
-# 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 <terry@mozilla.org>
-#                 Dawn Endico <endico@mozilla.org>
-#                 Dan Mosedale <dmose@mozilla.org>
-#                 Joe Robins <jmrobins@tgix.com>
-#                 Jacob Steenhagen <jake@bugzilla.org>
-#                 J. Paul Reed <preed@sigkill.com>
-#                 Bradley Baetz <bbaetz@student.usyd.edu.au>
-#                 Joseph Heenan <joseph@heenan.me.uk>
-#                 Erik Stambaugh <erik@dasbistro.com>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# 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/.
 #
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Config::UserMatch;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Config::Common;
 
index 5f41cd3f6a0d093fe375a2fc7b147482a5d85c1d..94d60999ba8943dc8f497b2d21284f55e6e62197 100644 (file)
@@ -1,36 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 <terry@mozilla.org>
-#                 Dawn Endico <endico@mozilla.org>
-#                 Dan Mosedale <dmose@mozilla.org>
-#                 Joe Robins <jmrobins@tgix.com>
-#                 Jake <jake@bugzilla.org>
-#                 J. Paul Reed <preed@sigkill.com>
-#                 Bradley Baetz <bbaetz@student.usyd.edu.au>
-#                 Christopher Aillon <christopher@aillon.com>
-#                 Shane H. W. Travis <travis@sedsystems.ca>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Marc Schumann <wurblzap@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Constants;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Exporter);
 
 # For bz_locations
@@ -46,6 +26,8 @@ use Memoize;
 
     bz_locations
 
+    CAN_HAS_FEATURE
+
     CONCATENATE_ASSETS
 
     IS_NULL
@@ -239,6 +221,17 @@ use constant REST_DOC => "http://www.bugzilla.org/docs/tip/en/html/api/";
 use constant REMOTE_FILE => 'http://updates.bugzilla.org/bugzilla-update.xml';
 use constant LOCAL_FILE  => 'bugzilla-update.xml'; # Relative to datadir.
 
+use constant CAN_HAS_FEATURE => eval {
+    require CPAN::Meta::Prereqs;
+    require CPAN::Meta::Requirements;
+    require Module::Metadata;
+    require Module::Runtime;
+    CPAN::Meta::Prereqs->VERSION('2.132830');
+    CPAN::Meta::Requirements->VERSION('2.121');
+    Module::Metadata->VERSION('1.000019');
+    1;
+};
+
 # When true CSS and JavaScript assets will be concatanted and minified at
 # run-time, to reduce the number of requests required to render a page.
 # Setting this to a false value can help debugging.
index cc2826f5562935b04a9bdf5339f28521b8d75f03..ae881cf0586d5f4a2dcb5530ecbe527d748bb88c 100644 (file)
@@ -1,34 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 <terry@mozilla.org>
-#                 Dan Mosedale <dmose@mozilla.org>
-#                 Jacob Steenhagen <jake@bugzilla.org>
-#                 Bradley Baetz <bbaetz@student.usyd.edu.au>
-#                 Christopher Aillon <christopher@aillon.com>
-#                 Tomas Kopal <Tomas.Kopal@altap.cz>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Lance Larsh <lance.larsh@oracle.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::DB;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use DBI;
 
@@ -37,11 +18,14 @@ use base qw(DBI::db);
 
 use Bugzilla::Constants;
 use Bugzilla::Install::Requirements;
-use Bugzilla::Install::Util qw(vers_cmp install_string);
+use Bugzilla::Install::Util qw(install_string);
+use Bugzilla::Version qw(vers_cmp);
+use Bugzilla::Install::Util qw(install_string);
 use Bugzilla::Install::Localconfig;
 use Bugzilla::Util;
 use Bugzilla::Error;
 use Bugzilla::DB::Schema;
+use Bugzilla::Version;
 
 use Bugzilla::Metrics::Mysql;
 
@@ -201,10 +185,6 @@ 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}) {
@@ -219,27 +199,6 @@ 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 <<EOT;
-
-For $sql_server, Bugzilla requires that perl's $dbd_mod $dbd_ver or later be
-installed. To install this module, run the following command (as $root):
-
-    $command
-
-EOT
-    }
-}
-
 sub bz_check_server_version {
     my ($self, $db, $output) = @_;
 
index 8a545bd87a207c3014a6cc593d22ddf34af227ed..a9a32fac492148651a2689e8dd4ae30a4c53d1a6 100644 (file)
@@ -1,29 +1,9 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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): Dave Miller <davem00@aol.com>
-#                 Gayathri Swaminath <gayathrik00@aol.com>
-#                 Jeroen Ruigrok van der Werven <asmodai@wxs.nl>
-#                 Dave Lawrence <dkl@redhat.com>
-#                 Tomas Kopal <Tomas.Kopal@altap.cz>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Lance Larsh <lance.larsh@oracle.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 =head1 NAME
 
@@ -40,7 +20,11 @@ For interface details see L<Bugzilla::DB> and L<DBI>.
 =cut
 
 package Bugzilla::DB::Mysql;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::DB);
 
 use Bugzilla::Constants;
index 20eb0e5503db4dceae3476dc3b692d0d3619e24d..42f3b5efd9c6352e2921b284655cf8749cda6f30 100644 (file)
@@ -1,24 +1,9 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Oracle Corporation. 
-# Portions created by Oracle are Copyright (C) 2007 Oracle Corporation. 
-# All Rights Reserved.
-#
-# Contributor(s): Lance Larsh <lance.larsh@oracle.com>
-#                 Xiaoou Wu   <xiaoou.wu@oracle.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 =head1 NAME
 
@@ -35,7 +20,11 @@ For interface details see L<Bugzilla::DB> and L<DBI>.
 =cut
 
 package Bugzilla::DB::Oracle;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::DB);
 
 use DBD::Oracle;
index 4f818932b764a2e4b43d3f607330ec0c1b647cf3..b2ee95e085cd471e330c5e7e5bb3fbeaf6a70dc5 100644 (file)
@@ -1,29 +1,9 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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): Dave Miller <davem00@aol.com>
-#                 Gayathri Swaminath <gayathrik00@aol.com>
-#                 Jeroen Ruigrok van der Werven <asmodai@wxs.nl>
-#                 Dave Lawrence <dkl@redhat.com>
-#                 Tomas Kopal <Tomas.Kopal@altap.cz>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Lance Larsh <lance.larsh@oracle.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 =head1 NAME
 
@@ -41,9 +21,12 @@ For interface details see L<Bugzilla::DB> and L<DBI>.
 
 package Bugzilla::DB::Pg;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Error;
+use Bugzilla::Version;
 use DBD::Pg;
 
 # This module extends the DB interface via inheritance
index 0c976e33e6f4888ba251f4d02dd4f211687c0a37..39323bcb108ceb5df5084830d10cc5612fdb3629 100644 (file)
@@ -1,29 +1,9 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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): Andrew Dunstan <andrew@dunslane.net>,
-#                 Edward J. Sabol <edwardjsabol@iname.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Lance Larsh <lance.larsh@oracle.com>
-#                 Dennis Melentyev <dennis.melentyev@infopulse.com.ua>
-#                 Akamai Technologies <bugzilla-dev@akamai.com>
-#                 Elliotte Martin <emartin@everythingsolved.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::DB::Schema;
 
@@ -35,7 +15,10 @@ package Bugzilla::DB::Schema;
 #
 ###########################################################################
 
+use 5.10.1;
 use strict;
+use warnings;
+
 use Bugzilla::Error;
 use Bugzilla::Hook;
 use Bugzilla::Util;
index bcc663e8346c0953d26b4797cb33e585e0dd0f61..2e40e38cf5b6814ec9c8918a0f9da6b6ef4a90ab 100644 (file)
@@ -1,25 +1,9 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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): Andrew Dunstan <andrew@dunslane.net>,
-#                 Edward J. Sabol <edwardjsabol@iname.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::DB::Schema::Mysql;
 
@@ -29,7 +13,10 @@ package Bugzilla::DB::Schema::Mysql;
 #
 ###############################################################################
 
+use 5.10.1;
 use strict;
+use warnings;
+
 use Bugzilla::Error;
 
 use base qw(Bugzilla::DB::Schema);
index 37b406671bd3d904114553fe12da49f386f373bd..7572f80cfd7302a92c85f8e6545e8720f1edd4b1 100644 (file)
@@ -1,24 +1,9 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Oracle Corporation.
-# Portions created by Oracle are Copyright (C) 2007 Oracle Corporation.
-# All Rights Reserved.
-#
-# Contributor(s): Lance Larsh <lance.larsh@oracle.com>
-#                 Xiaoou Wu <xiaoou.wu@oracle.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::DB::Schema::Oracle;
 
@@ -28,7 +13,9 @@ package Bugzilla::DB::Schema::Oracle;
 #
 ###############################################################################
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use base qw(Bugzilla::DB::Schema);
 use Carp qw(confess);
index 662120c0344ab2f50d5f631054ab61e75652869a..d8550e2e82f0e7af9e1c7e6b84089621ca4d39d4 100644 (file)
@@ -1,25 +1,9 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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): Andrew Dunstan <andrew@dunslane.net>,
-#                 Edward J. Sabol <edwardjsabol@iname.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::DB::Schema::Pg;
 
@@ -29,7 +13,10 @@ package Bugzilla::DB::Schema::Pg;
 #
 ###############################################################################
 
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::DB::Schema);
 use Storable qw(dclone);
 
index 7ed9def3ec1e848c1e1888c0422824e2544156ca..471df340c52fa0943198e018e2f68befd1809401 100644 (file)
@@ -1,26 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Everything Solved, Inc.
-# Portions created by the Initial Developer are Copyright (C) 2010 the
-# Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#   Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
-use strict;
 package Bugzilla::DB::Schema::Sqlite;
+
+use 5.10.1;
+use strict;
+use warnings;
+
 use base qw(Bugzilla::DB::Schema);
 
 use Bugzilla::Error;
index ee92909e31f94a5fcfb7048e15bcd6dbfe672866..4feb78a749c082e9af745641fdfee03e20cdda2b 100644 (file)
@@ -1,26 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Everything Solved, Inc.
-# Portions created by the Initial Developer are Copyright (C) 2010 the
-# Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#   Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
-use strict;
 package Bugzilla::DB::Sqlite;
+
+use 5.10.1;
+use strict;
+use warnings;
+
 use base qw(Bugzilla::DB);
 
 use Bugzilla::Constants;
index 4fb28df9e29e453faa8ed24207503b61ec0b7b42..722c032e38e2847962193817164692320dc83f8f 100644 (file)
@@ -28,6 +28,7 @@
 
 package Bugzilla::DuoWeb;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index e619f3f84a77c03d230a6a3edfe9c87f90817dd1..fc0e4812e8aa89611db216676884e84bc98fbf97 100644 (file)
@@ -1,29 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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): Bradley Baetz <bbaetz@acm.org>
-#                 Marc Schumann <wurblzap@gmail.com>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Error;
 
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Exporter);
 
 @Bugzilla::Error::EXPORT = qw(ThrowCodeError ThrowTemplateError ThrowUserError ThrowErrorPage);
index dbfee09713408a1443185275a575c79072bb0afd..78c027796358935d3bd25e1921ab9e78da088602 100644 (file)
@@ -1,26 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Everything Solved, Inc.
-# Portions created by the Initial Developers are Copyright (C) 2009 the
-# Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#   Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Constants;
 use Bugzilla::Error;
index 0a0c7b15fb5667e95d6231b1a08be2cc52dc4ab5..a9e12411557732d1d42d548cf4f1d0efebf8a787 100644 (file)
@@ -1,21 +1,9 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Dan Mosedale <dmose@mozilla.org>
-#                 Frédéric Buclin <LpSolit@gmail.com>
-#                 Myk Melez <myk@mozilla.org>
-#                 Greg Hendricks <ghendricks@novell.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 =head1 NAME
 
@@ -69,7 +57,9 @@ in addition to what is documented here.
 
 package Bugzilla::Field;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use base qw(Exporter Bugzilla::Object);
 @Bugzilla::Field::EXPORT = qw(check_field get_field_id get_legal_field_values);
index 8d7d61def895cc2392f7ed73f000311e9f0bb2eb..b35006501dd2f796f331739be1c03cdbc8c4b144 100644 (file)
@@ -1,28 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Initial Developer of the Original Code is NASA.
-# Portions created by NASA are Copyright (C) 2006 San Jose State
-# University Foundation. All Rights Reserved.
-#
-# The Original Code is the Bugzilla Bug Tracking System.
-#
-# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Greg Hendricks <ghendricks@novell.com>
-
-use strict;
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Field::Choice;
 
+use 5.10.1;
+use strict;
+use warnings;
+
 use base qw(Bugzilla::Field::ChoiceInterface Bugzilla::Object);
 
 use Bugzilla::Config qw(SetParam write_params);
index 3292536d34ca94fe0723bd15beb49befb5090315..cdb43d6d03ac20d750bc04ffdaafcbc923429763 100644 (file)
@@ -1,26 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Initial Developer of the Original Code is NASA.
-# Portions created by NASA are Copyright (C) 2006 San Jose State
-# University Foundation. All Rights Reserved.
-#
-# The Original Code is the Bugzilla Bug Tracking System.
-#
-# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Greg Hendricks <ghendricks@novell.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Field::ChoiceInterface;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Constants;
 use Bugzilla::Error;
index 7e039f07741225ca03aab32788ce5db32c95a802..3e7aa6819d779899814192c68c5d084eef8ce553 100644 (file)
@@ -1,30 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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): Myk Melez <myk@mozilla.org>
-#                 Jouni Heikniemi <jouni@heikniemi.net>
-#                 Frédéric Buclin <LpSolit@gmail.com>
-
-use strict;
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Flag;
 
+use 5.10.1;
+use strict;
+use warnings;
+
 =head1 NAME
 
 Bugzilla::Flag - A module to deal with Bugzilla flag values.
index 8c958f5ced4384c4e7c80433b041f4c8417817a3..a86db380b6ee55ea8985495ee987f603a2583373 100644 (file)
@@ -1,29 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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): Myk Melez <myk@mozilla.org>
-#                 Frédéric Buclin <LpSolit@gmail.com>
-
-use strict;
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::FlagType;
 
+use 5.10.1;
+use strict;
+use warnings;
+
 =head1 NAME
 
 Bugzilla::FlagType - A module to deal with Bugzilla flag types.
index 51d51b2e80a7fcff6f5ac41d8d8e6827273d3837..b67251619bd96015c5f8ca386134f509de795170 100644 (file)
@@ -1,31 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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): Joel Peshkin <bugreport@peshkin.net>
-#                 Erik Stambaugh <erik@dasbistro.com>
-#                 Tiago R. Mello <timello@async.com.br>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
-
-use strict;
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Group;
 
+use 5.10.1;
+use strict;
+use warnings;
+
 use base qw(Bugzilla::Object);
 
 use Bugzilla::Constants;
index 942623dcfc2b7e56a1f1c9f45536128114f88161..00bd316ab78c0b4d4d14deb708f20b3598f3ad75 100644 (file)
@@ -1,27 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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): Zach Lipton <zach@zachlipton.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Hook;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 sub process {
     my ($name, $args) = @_;
index 97b8b677c93c16a66162b9fdb000d3c814c2a576..edadbfecb518a014353d697a7cf66be01d061d72 100644 (file)
@@ -1,18 +1,9 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Install;
 
@@ -24,7 +15,9 @@ package Bugzilla::Install;
 # make those assumptions, then it should go into one of the
 # packages under the Bugzilla::Install namespace.
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Component;
 use Bugzilla::Config qw(:admin);
diff --git a/Bugzilla/Install/CPAN.pm b/Bugzilla/Install/CPAN.pm
deleted file mode 100644 (file)
index e755652..0000000
+++ /dev/null
@@ -1,351 +0,0 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
-#
-# 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 Everything Solved, Inc.
-# Portions created by Everything Solved are Copyright (C) 2007
-# Everything Solved, Inc. All Rights Reserved.
-#
-# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
-
-package Bugzilla::Install::CPAN;
-use strict;
-use base qw(Exporter);
-our @EXPORT = qw(
-    BZ_LIB
-
-    check_cpan_requirements 
-    set_cpan_config
-    install_module 
-);
-
-use Bugzilla::Constants;
-use Bugzilla::Install::Requirements qw(have_vers);
-use Bugzilla::Install::Util qw(bin_loc install_string);
-
-use Config;
-use CPAN;
-use Cwd qw(abs_path);
-use File::Path qw(rmtree);
-
-# These are required for install-module.pl to be able to install
-# all modules properly.
-use constant REQUIREMENTS => (
-    {
-        module  => 'CPAN',
-        package => 'CPAN',
-        version => '1.81',
-    },
-    {
-        # When Module::Build isn't installed, the YAML module allows
-        # CPAN to read META.yml to determine that Module::Build first
-        # needs to be installed to compile a module.
-        module  => 'YAML',
-        package => 'YAML',
-        version => 0,
-    },
-    {
-        # Many modules on CPAN are now built with Dist::Zilla, which
-        # unfortunately means they require this version of EU::MM to install.
-        module  => 'ExtUtils::MakeMaker',
-        package => 'ExtUtils-MakeMaker',
-        version => '6.31',
-    },
-);
-
-# We need the absolute path of ext_libpath, because CPAN chdirs around
-# and so we can't use a relative directory.
-#
-# We need it often enough (and at compile time, in install-module.pl) so 
-# we make it a constant.
-use constant BZ_LIB => abs_path(bz_locations()->{ext_libpath});
-
-# CPAN requires nearly all of its parameters to be set, or it will start
-# asking questions to the user. We want to avoid that, so we have
-# defaults here for most of the required parameters we know about, in case
-# any of them aren't set. The rest are handled by set_cpan_defaults().
-use constant CPAN_DEFAULTS => {
-    auto_commit => 0,
-    # We always force builds, so there's no reason to cache them.
-    build_cache => 0,
-    build_requires_install_policy => 'yes',
-    cache_metadata => 1,
-    colorize_output => 1,
-    colorize_print => 'bold',
-    index_expire => 1,
-    scan_cache => 'atstart',
-
-    inhibit_startup_message => 1,
-
-    bzip2 => bin_loc('bzip2'),
-    curl => bin_loc('curl'),
-    gzip => bin_loc('gzip'),
-    links => bin_loc('links'),
-    lynx => bin_loc('lynx'),
-    make => bin_loc('make'),
-    pager => bin_loc('less'),
-    tar => bin_loc('tar'),
-    unzip => bin_loc('unzip'),
-    wget => bin_loc('wget'),
-
-    urllist => ['http://www.cpan.org/'],
-};
-
-sub check_cpan_requirements {
-    my ($original_dir, $original_args) = @_;
-
-    _require_compiler();
-
-    my @install;
-    foreach my $module (REQUIREMENTS) {
-        my $installed = have_vers($module, 1);
-        push(@install, $module) if !$installed;
-    }
-
-    return if !@install;
-
-    my $restart_required;
-    foreach my $module (@install) {
-        $restart_required = 1 if $module->{module} eq 'CPAN';
-        install_module($module->{module}, 1);
-    }
-
-    if ($restart_required) {
-        chdir $original_dir;
-        exec($^X, $0, @$original_args);
-    }
-}
-
-sub _require_compiler {
-    my @errors;
-
-    my $cc_name = $Config{cc};
-    my $cc_exists = bin_loc($cc_name);
-
-    if (!$cc_exists) {
-        push(@errors, install_string('install_no_compiler'));
-    }
-
-    my $make_name = $CPAN::Config->{make};
-    my $make_exists = bin_loc($make_name);
-
-    if (!$make_exists) {
-        push(@errors, install_string('install_no_make'));
-    }
-
-    die @errors if @errors;
-}
-
-sub install_module {
-    my ($name, $test) = @_;
-    my $bzlib = BZ_LIB;
-
-    # Make Module::AutoInstall install all dependencies and never prompt.
-    local $ENV{PERL_AUTOINSTALL} = '--alldeps';
-    # This makes Net::SSLeay not prompt the user, if it gets installed.
-    # It also makes any other MakeMaker prompts accept their defaults.
-    local $ENV{PERL_MM_USE_DEFAULT} = 1;
-
-    # Certain modules require special stuff in order to not prompt us.
-    my $original_makepl = $CPAN::Config->{makepl_arg};
-    # This one's a regex in case we're doing Template::Plugin::GD and it
-    # pulls in Template-Toolkit as a dependency.
-    if ($name =~ /^Template/) {
-        $CPAN::Config->{makepl_arg} .= " TT_ACCEPT=y TT_EXTRAS=n";
-    }
-    elsif ($name eq 'XML::Twig') {
-        $CPAN::Config->{makepl_arg} = "-n $original_makepl";
-    }
-    elsif ($name eq 'SOAP::Lite') {
-        $CPAN::Config->{makepl_arg} .= " --noprompt";
-    }
-
-    my $module = CPAN::Shell->expand('Module', $name);
-    if (!$module) {
-        die install_string('no_such_module', { module => $name }) . "\n";
-    }
-    my $version = $module->cpan_version;
-    my $module_name = $name;
-
-    if ($name eq 'LWP::UserAgent' && $^V lt v5.8.8) {
-        # LWP 6.x requires Perl 5.8.8 or newer.
-        # As PAUSE only indexes the very last version of each module,
-        # we have to specify the path to the tarball ourselves.
-        $name = 'GAAS/libwww-perl-5.837.tar.gz';
-        # This tarball contains LWP::UserAgent 5.835.
-        $version = '5.835';
-    }
-
-    print install_string('install_module', 
-              { module => $module_name, version => $version }) . "\n";
-
-    if ($test) {
-        CPAN::Shell->force('install', $name);
-    }
-    else {
-        CPAN::Shell->notest('install', $name);
-    }
-
-    # If it installed any binaries in the Bugzilla directory, delete them.
-    if (-d "$bzlib/bin") {
-        File::Path::rmtree("$bzlib/bin");
-    }
-
-    $CPAN::Config->{makepl_arg} = $original_makepl;
-}
-
-sub set_cpan_config {
-    my $do_global = shift;
-    my $bzlib = BZ_LIB;
-
-    # We set defaults before we do anything, otherwise CPAN will
-    # start asking us questions as soon as we load its configuration.
-    eval { require CPAN::Config; };
-    _set_cpan_defaults();
-
-    # Calling a senseless autoload that does nothing makes us
-    # automatically load any existing configuration.
-    # We want to avoid the "invalid command" message.
-    open(my $saveout, ">&", "STDOUT");
-    open(STDOUT, '>', '/dev/null');
-    eval { CPAN->ignore_this_error_message_from_bugzilla; };
-    undef $@;
-    close(STDOUT);
-    open(STDOUT, '>&', $saveout);
-
-    my $dir = $CPAN::Config->{cpan_home};
-    if (!defined $dir || !-w $dir) {
-        # If we can't use the standard CPAN build dir, we try to make one.
-        $dir = "$ENV{HOME}/.cpan";
-        mkdir $dir;
-
-        # If we can't make one, we finally try to use the Bugzilla directory.
-        if (!-w $dir) {
-            print STDERR install_string('cpan_bugzilla_home'), "\n";
-            $dir = "$bzlib/.cpan";
-        }
-    }
-    $CPAN::Config->{cpan_home} = $dir;
-    $CPAN::Config->{build_dir} = "$dir/build";
-    # We always force builds, so there's no reason to cache them.
-    $CPAN::Config->{keep_source_where} = "$dir/source";
-    # This is set both here and in defaults so that it's always true.
-    $CPAN::Config->{inhibit_startup_message} = 1;
-    # Automatically install dependencies.
-    $CPAN::Config->{prerequisites_policy} = 'follow';
-    
-    # Unless specified, we install the modules into the Bugzilla directory.
-    if (!$do_global) {
-        require Config;
-
-        $CPAN::Config->{makepl_arg} .= " LIB=\"$bzlib\""
-            . " INSTALLMAN1DIR=\"$bzlib/man/man1\""
-            . " INSTALLMAN3DIR=\"$bzlib/man/man3\""
-            # The bindirs are here because otherwise we'll try to write to
-            # the system binary dirs, and that will cause CPAN to die.
-            . " INSTALLBIN=\"$bzlib/bin\""
-            . " INSTALLSCRIPT=\"$bzlib/bin\""
-            # INSTALLDIRS=perl is set because that makes sure that MakeMaker
-            # always uses the directories we've specified here.
-            . " INSTALLDIRS=perl";
-        $CPAN::Config->{mbuild_arg} = " --install_base \"$bzlib\""
-            . " --install_path lib=\"$bzlib\""
-            . " --install_path arch=\"$bzlib/$Config::Config{archname}\"";
-        $CPAN::Config->{mbuild_install_arg} = $CPAN::Config->{mbuild_arg};
-
-        # When we're not root, sometimes newer versions of CPAN will
-        # try to read/modify things that belong to root, unless we set
-        # certain config variables.
-        $CPAN::Config->{histfile} = "$dir/histfile";
-        $CPAN::Config->{use_sqlite} = 0;
-        $CPAN::Config->{prefs_dir} = "$dir/prefs";
-
-        # Unless we actually set PERL5LIB, some modules can't install
-        # themselves, like DBD::mysql, DBD::Pg, and XML::Twig.
-        my $current_lib = $ENV{PERL5LIB} ? $ENV{PERL5LIB} . ':' : '';
-        $ENV{PERL5LIB} = $current_lib . $bzlib;
-    }
-}
-
-sub _set_cpan_defaults {
-    # If CPAN hasn't been configured, we try to use some reasonable defaults.
-    foreach my $key (keys %{CPAN_DEFAULTS()}) {
-        $CPAN::Config->{$key} = CPAN_DEFAULTS->{$key}
-            if !defined $CPAN::Config->{$key};
-    }
-
-    my @missing;
-    # In newer CPANs, this is in HandleConfig. In older CPANs, it's in
-    # Config.
-    if (eval { require CPAN::HandleConfig }) {
-        @missing = CPAN::HandleConfig->missing_config_data;
-    }
-    else {
-        @missing = CPAN::Config->missing_config_data;
-    }
-
-    foreach my $key (@missing) {
-        $CPAN::Config->{$key} = '';
-    }
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-Bugzilla::Install::CPAN - Routines to install Perl modules from CPAN.
-
-=head1 SYNOPSIS
-
- use Bugzilla::Install::CPAN;
-
- set_cpan_config();
- install_module('Module::Name');
-
-=head1 DESCRIPTION
-
-This is primarily used by L<install-module> to do the "hard work" of
-installing CPAN modules.
-
-=head1 SUBROUTINES
-
-=over
-
-=item C<set_cpan_config>
-
-Sets up the configuration of CPAN for this session. Must be called
-before L</install_module>. Takes one boolean parameter. If true,
-L</install_module> will install modules globally instead of to the
-local F<lib/> directory. On most systems, you have to be root to do that.
-
-=item C<install_module>
-
-Installs a module from CPAN. Takes two arguments:
-
-=over
-
-=item C<$name> - The name of the module, just like you'd pass to the
-C<install> command in the CPAN shell.
-
-=item C<$test> - If true, we run tests on this module before installing,
-but we still force the install if the tests fail. This is only used
-when we internally install a newer CPAN module.
-
-=back
-
-Note that calling this function prints a B<lot> of information to
-STDOUT and STDERR.
-
-=back
index 705cf3e37472445ef797813a785d5e40e87f2970..ca59e778d7df78e24b5078932b4a2f084bba03c6 100644 (file)
@@ -1,26 +1,18 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Noel Cragg <noel@red-bean.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Install::DB;
 
 # NOTE: This package may "use" any modules that it likes,
 # localconfig is available, and params are up to date. 
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Constants;
 use Bugzilla::Hook;
index 4a773f51120a9c893422bf9222ef4a80c6ad5ca1..c7e9f4554dd9807818c7bba1a98ecb8867fee75b 100644 (file)
@@ -1,19 +1,9 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Bill Barry <after.fallout@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Install::Filesystem;
 
@@ -25,7 +15,9 @@ package Bugzilla::Install::Filesystem;
 # * Files do not have the correct permissions.
 # * The database does not exist.
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Constants;
 use Bugzilla::Error;
@@ -164,10 +156,14 @@ sub FILESYSTEM {
         'migrate.pl'      => { perms => OWNER_EXECUTE },
         'sentry.pl'       => { perms => WS_EXECUTE },
         'metrics.pl'      => { perms => WS_EXECUTE },
+        'Makefile.PL'     => { perms => OWNER_WRITE },
+        'gen-cpanfile.pl' => { perms => OWNER_EXECUTE },
         'clean-bug-user-last-visit.pl' => { perms => WS_EXECUTE },
 
         'Bugzilla.pm'    => { perms => CGI_READ },
         "$localconfig*"  => { perms => CGI_READ },
+        'META.*'        => { perms => CGI_READ },
+        'MYMETA.*'      => { perms => CGI_READ },
         'bugzilla.dtd'   => { perms => WS_SERVE },
         'mod_perl.pl'    => { perms => WS_SERVE },
         'robots.txt'     => { perms => WS_SERVE },
index 7c01be37ddbe61e0112b68fc106a8d9264db288a..263d63ced33de3dc4757d2712b4e514e74258eca 100644 (file)
@@ -1,22 +1,9 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Initial Developer of the Original Code is Everything Solved.
-# Portions created by Everything Solved are Copyright (C) 2006
-# Everything Solved. All Rights Reserved.
-#
-# The Original Code is the Bugzilla Bug Tracking System.
-#
-# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Install::Localconfig;
 
@@ -28,7 +15,9 @@ package Bugzilla::Install::Localconfig;
 # * Files do not have the correct permissions
 # * The database is not up to date
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Constants;
 use Bugzilla::Install::Util qw(bin_loc install_string);
@@ -36,17 +25,27 @@ use Bugzilla::Util qw(generate_random_password wrap_hard);
 
 use Data::Dumper;
 use File::Basename qw(dirname);
-use IO::File;
+use English qw($EGID);
+use List::Util qw(first);
+use Tie::Hash::NamedCapture;
 use Safe;
 use Term::ANSIColor;
 
-use base qw(Exporter);
+use parent qw(Exporter);
 
 our @EXPORT_OK = qw(
     read_localconfig
     update_localconfig
 );
 
+sub _sensible_group {
+    return '' if ON_WINDOWS;
+    my @groups     = qw( apache www-data _www );
+    my $sensible_group = first { return getgrnam($_) } @groups;
+
+    return $sensible_group // getgrgid($EGID) // '';
+}
+
 use constant LOCALCONFIG_VARS => (
     {
         name    => 'create_htaccess',
index 27549ca41cb061c02f21d0a4515a49648f8ff194..43c441d6b5fd4390f26a3f44a5dfcd792c0752da 100644 (file)
@@ -1,19 +1,9 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Marc Schumann <wurblzap@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Install::Requirements;
 
@@ -23,38 +13,37 @@ package Bugzilla::Install::Requirements;
 # Subroutines may "require" and "import" from modules, but they
 # MUST NOT "use."
 
+use 5.10.1;
 use strict;
-use version;
+use warnings;
 
 use Bugzilla::Constants;
-use Bugzilla::Install::Util qw(vers_cmp install_string bin_loc
-                               success extension_requirement_packages);
+use Bugzilla::Install::Util qw(install_string bin_loc success
+                               extension_requirement_packages);
 use List::Util qw(max);
-use Safe;
 use Term::ANSIColor;
+use CPAN::Meta;
+use CPAN::Meta::Prereqs;
+use CPAN::Meta::Requirements;
+use Module::Metadata;
 
-# Return::Value 1.666002 pollutes the error log with warnings about this
-# deprecated module. We have to set NO_CLUCK = 1 before loading Email::Send
-# in have_vers() to disable these warnings.
-BEGIN {
-    $Return::Value::NO_CLUCK = 1;
-}
-
-use base qw(Exporter);
+use parent qw(Exporter);
 use autodie;
+
 our @EXPORT = qw(
-    REQUIRED_MODULES
-    OPTIONAL_MODULES
     FEATURE_FILES
 
-    check_requirements
-    check_graphviz
-    export_cpanfile
-    have_vers
-    install_command
+    load_cpan_meta
+    check_cpan_requirements
+    check_cpan_feature
+    check_all_cpan_features
+    check_webdotbase
+    check_font_file
     map_files_to_features
 );
 
+our $checking_for_indent = 0;
+
 # This is how many *'s are in the top of each "box" message printed
 # by checksetup.pl.
 use constant TABLE_WIDTH => 71;
@@ -64,10 +53,12 @@ use constant TABLE_WIDTH => 71;
 #
 # The keys are the names of the modules, the values are what the module
 # is called in the output of "apachectl -t -D DUMP_MODULES".
-use constant APACHE_MODULES => { 
+use constant APACHE_MODULES => {
     mod_headers => 'headers_module',
     mod_env     => 'env_module',
     mod_expires => 'expires_module',
+    mod_rewrite => 'rewrite_module',
+    mod_version => 'version_module'
 };
 
 # These are all of the binaries that we could possibly use that can
@@ -81,471 +72,131 @@ use constant APACHE => qw(apachectl httpd apache2 apache);
 # If we don't find any of the above binaries in the normal PATH,
 # these are extra places we look.
 use constant APACHE_PATH => [qw(
-    /usr/sbin 
+    /usr/sbin
     /usr/local/sbin
     /usr/libexec
     /usr/local/libexec
 )];
 
-# The below two constants are subroutines so that they can implement
-# a hook. Other than that they are actually constants.
-
-# "package" is the perl package we're checking for. "module" is the name
-# of the actual module we load with "require" to see if the package is
-# installed or not. "version" is the version we need, or 0 if we'll accept
-# any version.
-#
-# "blacklist" is an arrayref of regular expressions that describe versions that
-# are 'blacklisted'--that is, even if the version is high enough, Bugzilla
-# will refuse to say that it's OK to run with that version.
-sub REQUIRED_MODULES {
-    my $perl_ver = sprintf('%vd', $^V);
-    my @modules = (
-    {
-        package => 'CGI.pm',
-        module  => 'CGI',
-        # 3.51 fixes a security problem that affects Bugzilla.
-        # (bug 591165)
-        version => '3.51',
-    },
-    {
-        package => 'Digest-SHA',
-        module  => 'Digest::SHA',
-        version => 0
-    },
-    {
-        package => 'TimeDate',
-        module  => 'Date::Format',
-        version => '2.21'
-    },
-    # 0.28 fixed some important bugs in DateTime.
-    {
-        package => 'DateTime',
-        module  => 'DateTime',
-        version => '0.28'
-    },
-    # 0.79 is required to work on Windows Vista and Windows Server 2008.
-    # As correctly detecting the flavor of Windows is not easy,
-    # we require this version for all Windows installations.
-    # 0.71 fixes a major bug affecting all platforms.
-    {
-        package => 'DateTime-TimeZone',
-        module  => 'DateTime::TimeZone',
-        version => ON_WINDOWS ? '0.79' : '0.71'
-    },
-    {
-        package => 'DBI',
-        module  => 'DBI',
-        version => (vers_cmp($perl_ver, '5.13.3') > -1) ? '1.614' : '1.41'
-    },
-    # 2.22 fixes various problems related to UTF8 strings in hash keys,
-    # as well as line endings on Windows.
-    {
-        package => 'Template-Toolkit',
-        module  => 'Template',
-        version => '2.22'
-    },
-    {
-        package => 'Email-Send',
-        module  => 'Email::Send',
-        version => ON_WINDOWS ? '2.16' : '2.00',
-        blacklist => ['^2\.196$']
-    },
-    {
-        package => 'Email-MIME',
-        module  => 'Email::MIME',
-        # This fixes a memory leak in walk_parts that affected jobqueue.pl.
-        version => '1.904'
-    },
-    {
-        package => 'URI',
-        module  => 'URI',
-        # This version properly handles a semicolon as the delimiter
-        # in a URL query string.
-        version => '1.37',
-    },
-    {
-        package => 'List-MoreUtils',
-        module  => 'List::MoreUtils',
-        version => 0.22,
-    },
-    {
-        package => 'Math-Random-ISAAC',
-        module  => 'Math::Random::ISAAC',
-        version => '1.0.1',
-    },
-    );
-
-    if (ON_WINDOWS) {
-        push(@modules, {
-            package => 'Win32',
-            module  => 'Win32',
-            # 0.35 fixes a memory leak in GetOSVersion, which we use.
-            version => 0.35,
-        }, 
-        {
-            package => 'Win32-API',
-            module  => 'Win32::API',
-            # 0.55 fixes a bug with char* that might affect Bugzilla::RNG.
-            version => '0.55',
-        });
-    }
-
-    my $extra_modules = _get_extension_requirements('REQUIRED_MODULES');
-    push(@modules, @$extra_modules);
-    return \@modules;
-};
-
-sub OPTIONAL_MODULES {
-    my $perl_ver = sprintf('%vd', $^V);
-    my @modules = (
-    {
-        package => 'GD',
-        module  => 'GD',
-        version => '1.20',
-        feature => [qw(graphical_reports new_charts old_charts)],
-    },
-    {
-        package => 'Chart',
-        module  => 'Chart::Lines',
-        # Versions below 2.1 cannot be detected accurately.
-        # There is no 2.1.0 release (it was 2.1), but .0 is required to fix
-        # https://rt.cpan.org/Public/Bug/Display.html?id=28218.
-        version => '2.1.0',
-        feature => [qw(new_charts old_charts)],
-    },
-    {
-        package => 'Template-GD',
-        # This module tells us whether or not Template-GD is installed
-        # on Template-Toolkits after 2.14, and still works with 2.14 and lower.
-        module  => 'Template::Plugin::GD::Image',
-        version => 0,
-        feature => ['graphical_reports'],
-    },
-    {
-        package => 'GDTextUtil',
-        module  => 'GD::Text',
-        version => 0,
-        feature => ['graphical_reports'],
-    },
-    {
-        package => 'GDGraph',
-        module  => 'GD::Graph',
-        version => 0,
-        feature => ['graphical_reports'],
-    },
-    {
-        package => 'MIME-tools',
-        # MIME::Parser is packaged as MIME::Tools on ActiveState Perl
-        module  => ON_WINDOWS ? 'MIME::Tools' : 'MIME::Parser',
-        version => '5.406',
-        feature => ['moving'],
-    },
-    {
-        package => 'libwww-perl',
-        module  => 'LWP::UserAgent',
-        version => 0,
-        feature => ['updates'],
-    },
-    {
-        package => 'XML-Twig',
-        module  => 'XML::Twig',
-        version => 0,
-        feature => ['moving', 'updates'],
-    },
-    {
-        package => 'PatchReader',
-        module  => 'PatchReader',
-        # 0.9.6 fixes two notable bugs and significantly improves the UX.
-        version => '0.9.6',
-        feature => ['patch_viewer'],
-    },
-    {
-        package => 'perl-ldap',
-        module  => 'Net::LDAP',
-        version => 0,
-        feature => ['auth_ldap'],
-    },
-    {
-        package => 'Authen-SASL',
-        module  => 'Authen::SASL',
-        version => 0,
-        feature => ['smtp_auth'],
-    },
-    {
-        package => 'RadiusPerl',
-        module  => 'Authen::Radius',
-        version => 0,
-        feature => ['auth_radius'],
-    },
-    {
-        package => 'SOAP-Lite',
-        module  => 'SOAP::Lite',
-        # Fixes various bugs, including 542931 and 552353 + stops
-        # throwing warnings with Perl 5.12.
-        version => '0.712',
-        feature => ['xmlrpc'],
-    },
-    {
-        package => 'JSON-RPC',
-        module  => 'JSON::RPC',
-        version => 0,
-        feature => ['jsonrpc', 'rest'],
-    },
-    {
-        package => 'JSON-XS',
-        module  => 'JSON::XS',
-        # 2.0 is the first version that will work with JSON::RPC.
-        version => '2.0',
-        feature => ['jsonrpc_faster'],
-    },
-    {
-        package => 'Test-Taint',
-        module  => 'Test::Taint',
-        version => 0,
-        feature => ['jsonrpc', 'xmlrpc', 'rest'],
-    },
-    {
-        # We need the 'utf8_mode' method of HTML::Parser, for HTML::Scrubber.
-        package => 'HTML-Parser',
-        module  => 'HTML::Parser',
-        version => (vers_cmp($perl_ver, '5.13.3') > -1) ? '3.67' : '3.40',
-        feature => ['html_desc'],
-    },
-    {
-        package => 'HTML-Scrubber',
-        module  => 'HTML::Scrubber',
-        version => 0,
-        feature => ['html_desc'],
-    },
-    {
-        # we need version 2.21 of Encode for mime_name
-        package => 'Encode',
-        module  => 'Encode',
-        version => 2.21,
-        feature => ['detect_charset'],
-    },
-    {
-        package => 'Encode-Detect',
-        module  => 'Encode::Detect',
-        version => 0,
-        feature => ['detect_charset'],
-    },
-
-    # S3 attachments
-    {
-        package => 'Class-Accessor-Fast',
-        module  => 'Class::Accessor::Fast',
-        version => 0,
-        feature => ['s3'],
-    },
-    {
-        package => 'XML-Simple',
-        module  => 'XML::Simple',
-        version => 0,
-        feature => ['s3'],
-    },
-
-    # Inbound Email
-    {
-        package => 'Email-MIME-Attachment-Stripper',
-        module  => 'Email::MIME::Attachment::Stripper',
-        version => 0,
-        feature => ['inbound_email'],
-    },
-    {
-        package => 'Email-Reply',
-        module  => 'Email::Reply',
-        version => 0,
-        feature => ['inbound_email'],
-    },
-
-    # Mail Queueing
-    {
-        package => 'TheSchwartz',
-        module  => 'TheSchwartz',
-        # 1.10 supports declining of jobs.
-        version => 1.10,
-        feature => ['jobqueue'],
-    },
-    {
-        package => 'Daemon-Generic',
-        module  => 'Daemon::Generic',
-        version => 0,
-        feature => ['jobqueue'],
-    },
-
-    # mod_perl
-    {
-        package => 'mod_perl',
-        module  => 'mod_perl2',
-        version => '1.999022',
-        feature => ['mod_perl'],
-    },
-    {
-        package => 'Apache-SizeLimit',
-        module  => 'Apache2::SizeLimit',
-        # 0.96 properly determines process size on Linux.
-        version => '0.96',
-        feature => ['mod_perl'],
-    },
-
-    # memcached
-    {
-        package => 'URI-Escape',
-        module  => 'URI::Escape',
-        version => 0,
-        feature => ['memcached', 's3'],
-    },
-    {
-        package => 'Cache-Memcached',
-        module  => 'Cache::Memcached',
-        version => '0',
-        feature => ['memcached'],
-    },
-
-    # BMO - metrics
-    {
-        package => 'ElasticSearch',
-        module  => 'ElasticSearch',
-        version => '0',
-        feature => ['elasticsearch'],
-    },
-
-    # multi factor auth - totp
-    {
-        package => 'Auth-GoogleAuth',
-        module  => 'Auth::GoogleAuth',
-        version => '1.01',
-        feature => ['mfa'],
-    },
-    {
-        package => 'GD-Barcode-QRcode',
-        module  => 'GD::Barcode::QRcode',
-        version => '0',
-        feature => ['mfa'],
-    },
-    # Documentation
-    {
-        package => 'File-Copy-Recursive',
-        module  => 'File::Copy::Recursive',
-        version => 0,
-        feature => ['documentation'],
-    }
-    );
-
-    my $extra_modules = _get_extension_requirements('OPTIONAL_MODULES');
-    push(@modules, @$extra_modules);
-    return \@modules;
-};
-
 # This maps features to the files that require that feature in order
 # to compile. It is used by t/001compile.t and mod_perl.pl.
 use constant FEATURE_FILES => (
     jsonrpc       => ['Bugzilla/WebService/Server/JSONRPC.pm', 'jsonrpc.cgi'],
     xmlrpc        => ['Bugzilla/WebService/Server/XMLRPC.pm', 'xmlrpc.cgi',
                       'Bugzilla/WebService.pm', 'Bugzilla/WebService/*.pm'],
-    rest          => ['Bugzilla/WebService/Server/REST.pm', 'rest.cgi'],
+    rest          => ['Bugzilla/API/Server.pm', 'rest.cgi', 'Bugzilla/API/*/*.pm',
+                      'Bugzilla/API/*/Server.pm', 'Bugzilla/API/*/Resource/*.pm'],
+    psgi          => ['app.psgi'],
     moving        => ['importxml.pl'],
     auth_ldap     => ['Bugzilla/Auth/Verify/LDAP.pm'],
     auth_radius   => ['Bugzilla/Auth/Verify/RADIUS.pm'],
+    documentation => ['docs/makedocs.pl'],
     inbound_email => ['email_in.pl'],
     jobqueue      => ['Bugzilla/Job/*', 'Bugzilla/JobQueue.pm',
                       'Bugzilla/JobQueue/*', 'jobqueue.pl'],
     patch_viewer  => ['Bugzilla/Attachment/PatchReader.pm'],
     updates       => ['Bugzilla/Update.pm'],
-    memcached     => ['Bugzilla/Memcache.pm'],
     mfa           => ['Bugzilla/MFA/*.pm'],
+    markdown      => ['Bugzilla/Markdown.pm'],
+    memcached     => ['Bugzilla/Memcache.pm'],
+    auth_delegation => ['auth.cgi'],
 );
 
-# This implements the REQUIRED_MODULES and OPTIONAL_MODULES stuff
-# described in in Bugzilla::Extension.
-sub _get_extension_requirements {
-    my ($function) = @_;
-
-    my $packages = extension_requirement_packages();
-    my @modules;
-    foreach my $package (@$packages) {
-        if ($package->can($function)) {
-            my $extra_modules = $package->$function;
-            push(@modules, @$extra_modules);
-        }
+sub load_cpan_meta {
+    my $dir = bz_locations()->{libpath};
+    my @meta_json = map { File::Spec->catfile($dir, $_) } qw( MYMETA.json META.json );
+    my ($file) = grep { -f $_ } @meta_json;
+
+    if ($file) {
+        open my $meta_fh, '<', $file or die "unable to open $file: $!";
+        my $str = do { local $/ = undef; scalar <$meta_fh> };
+        # detaint
+        $str =~ /^(.+)$/s; $str = $1;
+        close $meta_fh;
+
+        return CPAN::Meta->load_json_string($str);
     }
-    return \@modules;
-};
+    else {
+        ThrowCodeError('cpan_meta_missing');
+    }
+}
 
-sub check_requirements {
-    my ($output) = @_;
+sub check_all_cpan_features {
+    my ($meta, $dirs, $output) = @_;
+    my %report;
 
-    print "\n", install_string('checking_modules'), "\n" if $output;
-    my $root = ROOT_USER;
-    my $missing = _check_missing(REQUIRED_MODULES, $output);
+    local $checking_for_indent = 2;
 
-    print "\n", install_string('checking_dbd'), "\n" if $output;
-    my $have_one_dbd = 0;
-    my $db_modules = DB_MODULE;
-    foreach my $db (keys %$db_modules) {
-        my $dbd = $db_modules->{$db}->{dbd};
-        $have_one_dbd = 1 if have_vers($dbd, $output);
-    }
+    print "\nOptional features:\n" if $output;
+    my @features = sort { $a->identifier cmp $b->identifier } $meta->features;
+    foreach my $feature (@features) {
+        next if $feature->identifier eq 'features';
+        printf "Feature '%s': %s\n", $feature->identifier, $feature->description if $output;
+        my $result = check_cpan_feature($feature, $dirs, $output);
+        print "\n" if $output;
 
-    print "\n", install_string('checking_optional'), "\n" if $output;
-    my $missing_optional = _check_missing(OPTIONAL_MODULES, $output);
+        $report{$feature->identifier} = {
+            description => $feature->description,
+            result => $result,
+        };
+    }
 
-    my $missing_apache = _missing_apache_modules(APACHE_MODULES, $output);
+    return \%report;
+}
 
-    # If we're running on Windows, reset the input line terminator so that
-    # console input works properly - loading CGI tends to mess it up
-    $/ = "\015\012" if ON_WINDOWS;
+sub check_cpan_feature {
+    my ($feature, $dirs, $output) = @_;
 
-    my $pass = !scalar(@$missing) && $have_one_dbd;
-    return {
-        pass     => $pass,
-        one_dbd  => $have_one_dbd,
-        missing  => $missing,
-        optional => $missing_optional,
-        apache   => $missing_apache,
-        any_missing => !$pass || scalar(@$missing_optional),
-    };
+    return _check_prereqs($feature->prereqs, $dirs, $output);
 }
 
-# A helper for check_requirements
-sub _check_missing {
-    my ($modules, $output) = @_;
+sub check_cpan_requirements {
+    my ($meta, $dirs, $output) = @_;
 
+    my $result = _check_prereqs($meta->effective_prereqs, $dirs, $output);
+    print colored(install_string('installation_failed'), COLOR_ERROR), "\n" if !$result->{ok} && $output;
+    return $result;
+}
+
+sub _check_prereqs {
+    my ($prereqs, $dirs, $output) = @_;
+    $dirs //= \@INC;
+    my $reqs = $prereqs->merged_requirements(['configure', 'runtime'], ['requires']);
+    my @found;
     my @missing;
-    foreach my $module (@$modules) {
-        unless (have_vers($module, $output)) {
-            push(@missing, $module);
+
+    foreach my $module (sort $reqs->required_modules) {
+        my $ok = _check_module($reqs, $module, $dirs, $output);
+        if ($ok) {
+            push @found, $module;
+        }
+        else {
+            push @missing, $module;
         }
     }
 
-    return \@missing;
+    return { ok => (@missing == 0), found => \@found, missing => \@missing };
 }
 
-sub _missing_apache_modules {
-    my ($modules, $output) = @_;
-    my $apachectl = _get_apachectl();
-    return [] if !$apachectl;
-    my $command = "$apachectl -t -D DUMP_MODULES";
-    my $cmd_info = `$command 2>&1`;
-    # If apachectl returned a value greater than 0, then there was an
-    # error parsing Apache's configuration, and we can't check modules.
-    my $retval = $?;
-    if ($retval > 0) {
-        print STDERR install_string('apachectl_failed', 
-            { command => $command, root => ROOT_USER }), "\n";
-        return [];
-    }
-    my @missing;
-    foreach my $module (keys %$modules) {
-        my $ok = _check_apache_module($module, $modules->{$module}, 
-                                      $cmd_info, $output);
-        push(@missing, $module) if !$ok;
+sub _check_module {
+    my ($reqs, $module, $dirs, $output) = @_;
+    my $required_version = $reqs->requirements_for_module($module);
+
+    if ($module eq 'perl') {
+        my $ok = $reqs->accepts_module($module, $]);
+        _checking_for({package => "perl", found => $], wanted => $required_version, ok => $ok}) if $output;
+        return $ok;
+    } else {
+        my $metadata = Module::Metadata->new_from_module($module, inc => $dirs);
+        my $version = eval { $metadata->version };
+        my $ok = $metadata && $version && $reqs->accepts_module($module, $version || 0);
+        _checking_for({package => $module, $version ? ( found => $version ) : (), wanted => $required_version, ok => $ok}) if $output;
+
+        return $ok;
     }
-    return \@missing;
 }
 
+
 sub _get_apachectl {
     foreach my $bin_name (APACHE) {
         my $bin = bin_loc($bin_name);
@@ -559,125 +210,10 @@ sub _get_apachectl {
     return undef;
 }
 
-sub _check_apache_module {
-    my ($module, $config_name, $mod_info, $output) = @_;
-    my $ok;
-    if ($mod_info =~ /^\s+\Q$config_name\E\b/m) {
-        $ok = 1;
-    }
-    if ($output) {
-        _checking_for({ package => $module, ok => $ok });
-    }
-    return $ok;
-}
-
-sub print_module_instructions {
-    my ($check_results, $output) = @_;
-
-    # First we print the long explanatory messages.
-
-    if (scalar @{$check_results->{missing}}) {
-        print install_string('modules_message_required');
-    }
-
-    if (!$check_results->{one_dbd}) {
-        print install_string('modules_message_db');
-    }
-
-    if (my @missing = @{$check_results->{optional}} and $output) {
-        print install_string('modules_message_optional');
-        # Now we have to determine how large the table cols will be.
-        my $longest_name = max(map(length($_->{package}), @missing));
-
-        # The first column header is at least 11 characters long.
-        $longest_name = 11 if $longest_name < 11;
-
-        # The table is TABLE_WIDTH characters long. There are seven mandatory
-        # characters (* and space) in the string. So, we have a total
-        # of TABLE_WIDTH - 7 characters to work with.
-        my $remaining_space = (TABLE_WIDTH - 7) - $longest_name;
-        print '*' x TABLE_WIDTH . "\n";
-        printf "* \%${longest_name}s * %-${remaining_space}s *\n",
-               'MODULE NAME', 'ENABLES FEATURE(S)';
-        print '*' x TABLE_WIDTH . "\n";
-        foreach my $package (@missing) {
-            printf "* \%${longest_name}s * %-${remaining_space}s *\n",
-                   $package->{package}, 
-                   _translate_feature($package->{feature});
-        }
-    }
-
-    if (my @missing = @{ $check_results->{apache} }) {
-        print install_string('modules_message_apache');
-        my $missing_string = join(', ', @missing);
-        my $size = TABLE_WIDTH - 7;
-        printf "*    \%-${size}s *\n", $missing_string;
-        my $spaces = TABLE_WIDTH - 2;
-        print "*", (' ' x $spaces), "*\n";
-    }
-
-    my $need_module_instructions =  
-        ( (!$output and @{$check_results->{missing}})
-          or ($output and $check_results->{any_missing}) ) ? 1 : 0;
-
-    if ($need_module_instructions or @{ $check_results->{apache} }) {
-        # If any output was required, we want to close the "table"
-        print "*" x TABLE_WIDTH . "\n";
-    }
-
-    # And now we print the actual installation commands.
-
-    if (my @missing = @{$check_results->{optional}} and $output) {
-        print install_string('commands_optional') . "\n\n";
-        foreach my $module (@missing) {
-            my $command = install_command($module);
-            printf "%15s: $command\n", $module->{package};
-        }
-        print "\n";
-    }
-
-    if (!$check_results->{one_dbd}) {
-        print install_string('commands_dbd') . "\n";
-        my %db_modules = %{DB_MODULE()};
-        foreach my $db (keys %db_modules) {
-            my $command = install_command($db_modules{$db}->{dbd});
-            printf "%10s: \%s\n", $db_modules{$db}->{name}, $command;
-        }
-        print "\n";
-    }
-
-    if (my @missing = @{$check_results->{missing}}) {
-        print colored(install_string('commands_required'), COLOR_ERROR), "\n";
-        foreach my $package (@missing) {
-            my $command = install_command($package);
-            print "    $command\n";
-        }
-    }
-
-    if ($output && $check_results->{any_missing} && !ON_ACTIVESTATE
-        && !$check_results->{hide_all}) 
-    {
-        print install_string('install_all', { perl => $^X });
-    }
-    if (!$check_results->{pass}) {
-        print colored(install_string('installation_failed'), COLOR_ERROR),
-              "\n\n";
-    }
-}
-
-sub _translate_feature {
-    my $features = shift;
-    my @strings;
-    foreach my $feature (@$features) {
-        push(@strings, install_string("feature_$feature"));
-    }
-    return join(', ', @strings);
-}
-
-sub check_graphviz {
+sub check_webdotbase {
     my ($output) = @_;
 
-    my $webdotbase = Bugzilla->params->{'webdotbase'};
+    my $webdotbase = Bugzilla->localconfig->{'webdotbase'};
     return 1 if $webdotbase =~ /^https?:/;
 
     my $return;
@@ -694,9 +230,9 @@ sub check_graphviz {
     my $webdotdir = bz_locations()->{'webdotdir'};
     # Check .htaccess allows access to generated images
     if (-e "$webdotdir/.htaccess") {
-        my $htaccess = new IO::File("$webdotdir/.htaccess", 'r') 
+        my $htaccess = new IO::File("$webdotdir/.htaccess", 'r')
             || die "$webdotdir/.htaccess: " . $!;
-        if (!grep(/png/, $htaccess->getlines)) {
+        if (!grep(/ \\\.png\$/, $htaccess->getlines)) {
             print STDERR install_string('webdot_bad_htaccess',
                                         { dir => $webdotdir }), "\n";
         }
@@ -706,68 +242,40 @@ sub check_graphviz {
     return $return;
 }
 
-# This was originally clipped from the libnet Makefile.PL, adapted here for
-# accurate version checking.
-sub have_vers {
-    my ($params, $output) = @_;
-    my $module  = $params->{module};
-    my $package = $params->{package};
-    if (!$package) {
-        $package = $module;
-        $package =~ s/::/-/g;
+sub check_font_file {
+    my ($output) = @_;
+
+    my $font_file = Bugzilla->localconfig->{'font_file'};
+
+    my $readable;
+    $readable = 1 if -r $font_file;
+
+    my $ttf;
+    $ttf = 1 if $font_file =~ /\.(ttf|otf)$/;
+
+    if ($output) {
+        _checking_for({ package => 'Font file', ok => $readable && $ttf});
     }
-    my $wanted  = $params->{version};
-
-    eval "require $module;";
-    # Don't let loading a module change the output-encoding of STDOUT
-    # or STDERR. (CGI.pm tries to set "binmode" on these file handles when
-    # it's loaded, and other modules may do the same in the future.)
-    Bugzilla::Install::Util::set_output_encoding();
-
-    # VERSION is provided by UNIVERSAL::, and can be called even if
-    # the module isn't loaded. We eval'uate ->VERSION because it can die
-    # when the version is not valid (yes, this happens from time to time).
-    # In that case, we use an uglier method to get the version.
-    my $vnum = eval { $module->VERSION };
-    if ($@) {
-        no strict 'refs';
-        $vnum = ${"${module}::VERSION"};
-
-        # If we come here, then the version is not a valid one.
-        # We try to sanitize it.
-        if ($vnum =~ /^((\d+)(\.\d+)*)/) {
-            $vnum = $1;
-        }
+
+    if (!$readable) {
+        print install_string('bad_font_file', { file => $font_file }), "\n";
     }
-    $vnum ||= -1;
-
-    # Must do a string comparison as $vnum may be of the form 5.10.1.
-    my $vok = ($vnum ne '-1' && version->new($vnum) >= version->new($wanted)) ? 1 : 0;
-    my $blacklisted;
-    if ($vok && $params->{blacklist}) {
-        $blacklisted = grep($vnum =~ /$_/, @{$params->{blacklist}});
-        $vok = 0 if $blacklisted;
+    elsif (!$ttf) {
+        print install_string('bad_font_file_name', { file => $font_file }), "\n";
     }
 
-    if ($output) {
-        _checking_for({ 
-            package => $package, ok => $vok, wanted => $wanted,
-            found   => $vnum, blacklisted => $blacklisted
-        });
-    }
-    
-    return $vok ? 1 : 0;
+    return $readable && $ttf;
 }
 
 sub _checking_for {
     my ($params) = @_;
-    my ($package, $ok, $wanted, $blacklisted, $found) = 
+    my ($package, $ok, $wanted, $blacklisted, $found) =
         @$params{qw(package ok wanted blacklisted found)};
 
     my $ok_string = $ok ? install_string('module_ok') : '';
 
     # If we're actually checking versions (like for Perl modules), then
-    # we have some rather complex logic to determine what we want to 
+    # we have some rather complex logic to determine what we want to
     # show. If we're not checking versions (like for GraphViz) we just
     # show "ok" or "not found".
     if (exists $params->{found}) {
@@ -790,30 +298,14 @@ sub _checking_for {
     }
 
     my $black_string = $blacklisted ? install_string('blacklisted') : '';
-    my $want_string  = $wanted ? "v$wanted" : install_string('any');
+    my $want_string  = $wanted ? "$wanted" : install_string('any');
 
     my $str = sprintf "%s %20s %-11s $ok_string $black_string\n",
-                install_string('checking_for'), $package, "($want_string)";
+      ( ' ' x $checking_for_indent ) . install_string('checking_for'),
+      $package, "($want_string)";
     print $ok ? $str : colored($str, COLOR_ERROR);
 }
 
-sub install_command {
-    my $module = shift;
-    my ($command, $package);
-
-    if (ON_ACTIVESTATE) {
-        $command = 'ppm install %s';
-        $package = $module->{package};
-    }
-    else {
-        $command = 'cpanm %s';
-        # Non-Windows installations need to use module names, because
-        # CPAN doesn't understand package names.
-        $package = $module->{module};
-    }
-    return sprintf $command, $package;
-}
-
 # This does a reverse mapping for FEATURE_FILES.
 sub map_files_to_features {
     my %features = FEATURE_FILES;
@@ -829,68 +321,6 @@ sub map_files_to_features {
     return \%files;
 }
 
-sub export_cpanfile {
-    my $cpanfile;
-    # Required modules
-    foreach my $module (@{ REQUIRED_MODULES() }) {
-        my $requires = "requires '" . $module->{module} . "'";
-        $requires .= ", '" . $module->{version} . "'" if $module->{version};
-        $requires .= ";\n";
-        $cpanfile .= $requires;
-    }
-    # Recommended modules
-    $cpanfile .= "\n# Optional\n";
-    my %features;
-    foreach my $module (@{ OPTIONAL_MODULES() }) {
-        next if $module->{package} eq 'mod_perl'; # Skip mod_perl since this would be installed by distro
-        if (exists $module->{feature}) {
-            foreach my $feature (@{ $module->{feature} }) {
-                # cpanm requires that each feature only be defined in the cpanfile
-                # once, so we use an intermediate hash to consolidate/de-dupe the
-                # modules associated with each feature.
-                $features{$feature}{$module->{module}} = $module->{version};
-            }
-        }
-        else {
-            my $recommends = "";
-            $recommends .= "recommends '" . $module->{module} . "'";
-            $recommends .= ", '" . $module->{version} . "'" if $module->{version};
-            $recommends .= ";\n";
-            $cpanfile .= $recommends;
-        }
-    }
-    foreach my $feature (sort keys %features) {
-        my $recommends = "";
-        $recommends .= "feature '" . $feature . "' => sub {\n";
-        foreach my $module (sort keys %{ $features{$feature} }) {
-            my $version = $features{$feature}{$module};
-            $recommends .= "  recommends '" . $module . "'";
-            $recommends .= ", '$version'" if $version;
-            $recommends .= ";\n";
-        }
-        $recommends .= "};\n";
-        $cpanfile .= $recommends;
-    }
-    # Database modules
-    $cpanfile .= "\n# Database support\n";
-    foreach my $db (keys %{ DB_MODULE() }) {
-        next if !exists DB_MODULE->{$db}->{dbd};
-        my $dbd = DB_MODULE->{$db}->{dbd};
-        my $recommends .= "feature '$db' => sub {\n";
-        $recommends .= "  recommends '" . $dbd->{module} . "'";
-        $recommends .= ", '" . $dbd->{version} . "'" if $dbd->{version};
-        $recommends .= ";\n};\n";
-        $cpanfile .= $recommends;
-    }
-
-    # Write out the cpanfile to the document root
-    my $file = bz_locations()->{'libpath'} . '/cpanfile';
-    open(my $fh, '>', $file);
-    print $fh $cpanfile;
-    close $fh;
-    success(install_string('cpanfile_created', { file => $file }));
-}
-
 1;
 
 __END__
@@ -910,59 +340,73 @@ perl modules it requires.)
 
 =over
 
-=item C<REQUIRED_MODULES>
+=item C<FEATURE_FILES>
 
-An arrayref of hashrefs that describes the perl modules required by 
-Bugzilla. The hashes have three keys: 
+A hashref that describes what files should only be compiled if a certain
+feature is enabled. The feature is the key, and the values are arrayrefs
+of file names (which are passed to C<glob>, so shell patterns work).
+
+=back
+
+=head1 SUBROUTINES
+
+=over 4
+
+=item C<check_cpan_requirements>
 
 =over
 
-=item C<package> - The name of the Perl package that you'd find on
-CPAN for this requirement. 
+=item B<Description>
 
-=item C<module> - The name of a module that can be passed to the
-C<install> command in C<CPAN.pm> to install this module.
+This checks what required perl modules are installed, like
+C<checksetup.pl> does.
 
-=item C<version> - The version of this module that we require, or C<0>
-if any version is acceptable.
+=item B<Params>
+
+=over
+
+=item C<$meta> - A C<CPAN::Meta> object.
+
+=item C<$dirs> - the include dirs to search for modules, defaults to @INC.
+
+=item C<$output> - C<true> if you want the function to print out information
+about what it's doing, and the versions of everything installed.
 
 =back
 
-=item C<OPTIONAL_MODULES>
+=item B<Returns>
 
-An arrayref of hashrefs that describes the perl modules that add
-additional features to Bugzilla if installed. Its hashes have all
-the fields of L</REQUIRED_MODULES>, plus a C<feature> item--an arrayref
-of strings that describe what features require this module.
+A hashref containing these values:
 
-=item C<FEATURE_FILES>
+=over
 
-A hashref that describes what files should only be compiled if a certain
-feature is enabled. The feature is the key, and the values are arrayrefs
-of file names (which are passed to C<glob>, so shell patterns work).
+=item C<ok> - if all the requirements are met, this is true.
 
-=back
+=item C<found> - an arrayref of found modules
 
+=item C<missing> - an arrayref of missing modules
 
-=head1 SUBROUTINES
+=back
 
-=over 4
+=back
 
-=item C<check_requirements>
+=item C<check_cpan_feature>
 
 =over
 
 =item B<Description>
 
-This checks what optional or required perl modules are installed, like
-C<checksetup.pl> does.
+This checks that the optional Perl modules required for a feature are installed.
 
 =item B<Params>
 
 =over
 
-=item C<$output> - C<true> if you want the function to print out information
-about what it's doing, and the versions of everything installed.
+=item C<$feature> - A C<CPAN::Meta::Feature> object.
+
+=item C<$dirs> - the include dirs to search for modules, defaults to @INC.
+
+=item C<$output> - C<true> if you want the function to print out information about what it's doing, and the versions of everything installed.
 
 =back
 
@@ -972,28 +416,50 @@ A hashref containing these values:
 
 =over
 
-=item C<pass> - Whether or not we have all the mandatory requirements.
+=item C<ok> - if all the requirements are met, this is true.
+
+=item C<found> - an arrayref of found modules
+
+=item C<missing> - an arrayref of missing modules
 
-=item C<missing> - An arrayref containing any required modules that
-are not installed or that are not up-to-date. Each item in the array is
-a hashref in the format of items from L</REQUIRED_MODULES>.
+=back
 
-=item C<optional> - The same as C<missing>, but for optional modules.
+=item C<check_all_cpan_features>
 
-=item C<apache> - The name of each optional Apache module that is missing.
+=over
 
-=item C<have_one_dbd> - True if at least one C<DBD::> module is installed.
+=item B<Description>
+
+This checks which optional Perl modules are currently installed which can enable optional features.
+
+=item B<Params>
+
+=over
 
-=item C<any_missing> - True if there are any missing Perl modules, even
-optional modules.
+=item C<$meta> - A C<CPAN::Meta> object.
+
+=item C<$dirs> - the include dirs to search for modules, defaults to @INC.
+
+=item C<$output> - C<true> if you want the function to print out information
+about what it's doing, and the versions of everything installed.
 
 =back
 
+=item B<Returns>
+
+A hashref keyed on the feature name. The values
+are hashrefs containing C<description> and C<result> keys.
+
+C<description> is the English description of the feature.
+
+C<result> is a hashref in the same format as the return value of C<check_cpan_requirements()>,
+described previously.
+
 =back
 
-=item C<check_graphviz($output)>
+=item C<check_webdotbase($output)>
 
-Description: Checks if the graphviz binary specified in the 
+Description: Checks if the graphviz binary specified in the
   C<webdotbase> parameter is a valid binary, or a valid URL.
 
 Params:      C<$output> - C<$true> if you want the function to
@@ -1001,36 +467,26 @@ Params:      C<$output> - C<$true> if you want the function to
 
 Returns:     C<1> if the check was successful, C<0> otherwise.
 
-=item C<have_vers($module, $output)>
-
- Description: Tells you whether or not you have the appropriate
-              version of the module requested. It also prints
-              out a message to the user explaining the check
-              and the result.
-
- Params:      C<$module> - A hashref, in the format of an item from 
-                           L</REQUIRED_MODULES>.
-              C<$output> - Set to true if you want this function to
-                           print information to STDOUT about what it's
-                           doing.
+=item C<check_font_file($output)>
 
- Returns:   C<1> if you have the module installed and you have the
-            appropriate version. C<0> otherwise.
+Description: Checks if the font file specified in the C<font_type> parameter
+  is a valid-looking font file.
 
-=item C<install_command($module)>
-
- Description: Prints out the appropriate command to install the
-              module specified, depending on whether you're
-              on Windows or Linux.
-
- Params:      C<$module> - A hashref, in the format of an item from
-                           L</REQUIRED_MODULES>.
+Params:      C<$output> - C<$true> if you want the function to
+                 print out information about what it's doing.
 
- Returns:     nothing
+Returns:     C<1> if the check was successful, C<0> otherwise.
 
 =item C<map_files_to_features>
 
 Returns a hashref where file names are the keys and the value is the feature
 that must be enabled in order to compile that file.
 
+=item C<load_cpan_meta>
+
+Load MYMETA.json or META.json from the bugzilla directory, and a return a L<CPAN::Meta> object.
+
 =back
+
+=back
+
index 5f6c8bcebfd23bd569faf1add634816fe85ac45d..231ef8efc7138a9145acedd17434d2244e05de49 100644 (file)
@@ -1,22 +1,9 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Everything Solved.
-# Portions created by Everything Solved are Copyright (C) 2006
-# Everything Solved. All Rights Reserved.
-#
-# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Install::Util;
 
@@ -24,16 +11,16 @@ package Bugzilla::Install::Util;
 # module may require *only* Bugzilla::Constants and built-in
 # perl modules.
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Constants;
 
 use Encode;
-use ExtUtils::MM ();
 use File::Basename;
 use File::Spec;
 use POSIX qw(setlocale LC_CTYPE);
-use Safe;
 use Scalar::Util qw(tainted);
 use Term::ANSIColor qw(colored);
 use PerlIO;
@@ -47,17 +34,20 @@ our @EXPORT_OK = qw(
     extension_requirement_packages
     extension_template_directory
     extension_web_directory
+    i_am_persistent
     indicate_progress
     install_string
     include_languages
     success
     template_include_path
-    vers_cmp
     init_console
 );
 
 sub bin_loc {
     my ($bin, $path) = @_;
+    # This module is not needed most of the time and is a bit slow,
+    # so we only load it when calling bin_loc().
+    require ExtUtils::MM;
 
     # If the binary is a full path...
     if ($bin =~ m{[/\\]}) {
@@ -275,6 +265,15 @@ sub indicate_progress {
     }
 }
 
+sub feature_description {
+    my ($feature_name) = @_;
+    eval {
+        my $meta = _cache()->{cpan_meta} //= Bugzilla::Install::Requirements::load_cpan_meta();
+
+        return $meta->feature($feature_name)->description
+    } or warn $@;
+}
+
 sub install_string {
     my ($string_id, $vars) = @_;
     _cache()->{install_string_path} ||= template_include_path();
@@ -543,11 +542,20 @@ sub no_checksetup_from_cgi {
 # Used by install_string
 sub _get_string_from_file {
     my ($string_id, $file) = @_;
-    
+    # If we already loaded the file, then use its copy from the cache.
+    if (my $strings = _cache()->{strings_from_file}->{$file}) {
+        return $strings->{$string_id};
+    }
+
+    # This module is only needed by checksetup.pl,
+    # so only load it when needed.
+    require Safe;
+
     return undef if !-e $file;
     my $safe = new Safe;
     $safe->rdo($file);
     my %strings = %{$safe->varglob('strings')};
+    _cache()->{strings_from_file}->{$file} = \%strings;
     return $strings{$string_id};
 }
 
index 403d936adfff23b2448b65eacbfeda70180679a3..b4887c47026398ff588a6fa4202e4346e158c826 100644 (file)
@@ -9,6 +9,7 @@ package Bugzilla::Job::BugMail;
 
 use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::BugMail;
 BEGIN { eval "use parent qw(Bugzilla::Job::Mailer)"; }
index 56b6d4f692e1dac6182908e1d395d4c3845027e8..a376a925654bc21cddcaf74b243e334bbb74c3af 100644 (file)
@@ -1,26 +1,13 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Mozilla Corporation.
-# Portions created by the Initial Developer are Copyright (C) 2008
-# Mozilla Corporation. All Rights Reserved.
-#
-# Contributor(s): 
-#   Mark Smith <mark@mozilla.com>
-#   Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Job::Mailer;
+
+use 5.10.1;
 use strict;
 use warnings;
 
index 766e4cc1665b57715f94aef1673baab817c747da..a5d8737b2e553b785d9741281dcd682084142b4d 100644 (file)
@@ -1,28 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Mozilla Corporation.
-# Portions created by the Initial Developer are Copyright (C) 2008
-# Mozilla Corporation. All Rights Reserved.
-#
-# Contributor(s): 
-#   Mark Smith <mark@mozilla.com>
-#   Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::JobQueue;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Constants;
 use Bugzilla::Error;
index 0dec85d74a3771574d9037a5ddc1c1fc62e82d11..865fc9138bd6607dfd01e859c592a7802da299e2 100644 (file)
@@ -1,24 +1,9 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Mozilla Corporation.
-# Portions created by the Initial Developer are Copyright (C) 2008
-# Mozilla Corporation. All Rights Reserved.
-#
-# Contributor(s): 
-#   Mark Smith <mark@mozilla.com>
-#   Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 # XXX In order to support Windows, we have to make gd_redirect_output
 # use Log4Perl or something instead of calling "logger". We probably
 
 package Bugzilla::JobQueue::Runner;
 
+use 5.10.1;
 use strict;
+use warnings;
+
 use Cwd qw(abs_path);
 use File::Basename;
 use File::Copy;
index 0cdfaa09007080e9a77f258c43f848d5223407a5..d65e0b9428f59f5f2a2d927bc79529c3799dc0ed 100644 (file)
@@ -1,23 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
-
-use strict;
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Keyword;
 
+use 5.10.1;
+use strict;
+use warnings;
+
 use base qw(Bugzilla::Object);
 
 use Bugzilla::Error;
index 868a75a7ebf5e4b3b9092f067ea55e471b19d2c2..43c7223649cd0df2634a7716193001226f59915d 100644 (file)
@@ -6,7 +6,10 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::MFA;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::RNG qw( irand );
 use Bugzilla::Token qw( issue_short_lived_session_token set_token_extra_data get_token_extra_data delete_token );
index d91f7ae4229de72b7f8cea851ead870220982744..03fbe76b5aae4cf25b4a1698f204aed21e82a028 100644 (file)
@@ -6,8 +6,11 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::MFA::Dummy;
+
+use 5.10.1;
 use strict;
-use parent 'Bugzilla::MFA';
+use warnings;
+use base 'Bugzilla::MFA';
 
 # if a user is configured to use a disabled or invalid mfa provider, we return
 # this dummy provider.
index 91096689f6ce775bbd3d51bff351a92238e48fda..19590944ba4305bed741ca1a9a091c42c9f34013 100644 (file)
@@ -6,8 +6,12 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::MFA::Duo;
+
+use 5.10.1;
 use strict;
-use parent 'Bugzilla::MFA';
+use warnings;
+
+use base 'Bugzilla::MFA';
 
 use Bugzilla::DuoAPI;
 use Bugzilla::DuoWeb;
index 36791da1535754c0c7d047ea2028e133950d1afe..843569ce738b0dcdceb32ec219aa1e5aa6f68c7d 100644 (file)
@@ -6,8 +6,12 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::MFA::TOTP;
+
+use 5.10.1;
 use strict;
-use parent 'Bugzilla::MFA';
+use warnings;
+
+use base 'Bugzilla::MFA';
 
 use Auth::GoogleAuth;
 use Bugzilla::Error;
index 68718eb6e4a49c3b762e13889069ca8ca3486a48..32a1013dbda050c9614cb26d1fcfa95191c71030 100644 (file)
@@ -1,38 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 <terry@mozilla.org>,
-#                 Bryce Nesbitt <bryce-mozilla@nextbus.com>
-#                 Dan Mosedale <dmose@mozilla.org>
-#                 Alan Raetz <al_raetz@yahoo.com>
-#                 Jacob Steenhagen <jake@actex.net>
-#                 Matthew Tuck <matty@chariot.net.au>
-#                 Bradley Baetz <bbaetz@student.usyd.edu.au>
-#                 J. Paul Reed <preed@sigkill.com>
-#                 Gervase Markham <gerv@gerv.net>
-#                 Byron Jones <bugzilla@glob.com.au>
-#                 Frédéric Buclin <LpSolit@gmail.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Mailer;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use base qw(Exporter);
 @Bugzilla::Mailer::EXPORT = qw(MessageToMTA build_thread_marker);
@@ -56,7 +33,7 @@ BEGIN {
 }
 use Email::Send;
 use Sys::Hostname;
-use Bugzilla::Install::Util qw(vers_cmp);
+use Bugzilla::Version qw(vers_cmp);
 
 sub MessageToMTA {
     my ($msg, $send_now) = (@_);
index 8dccdb3232eb55a999620feca63b484c592854e5..b640f9280c7ca3fd4f5211a19debabc7ae527549 100644 (file)
@@ -7,10 +7,11 @@
 
 package Bugzilla::Metrics::Memcached;
 
+use 5.10.1;
 use strict;
 use warnings;
 
-use parent 'Bugzilla::Memcached';
+use base 'Bugzilla::Memcached';
 
 sub _get {
     my $self = shift;
index 7719d1cac3aad33ac5c45cb8d92afc00602712e8..60dff78c8f5329c5eb194f2ae2388dbfff7c929b 100644 (file)
@@ -11,7 +11,7 @@ use 5.10.1;
 use strict;
 use warnings;
 
-use parent 'Bugzilla::DB::Mysql';
+use base 'Bugzilla::DB::Mysql';
 
 sub do {
     my ($self, @args) = @_;
index 88a08c9b8362224794ef96a0b37571642b492b32..8216ea923d363a1895dcb66b10ceffc402ad2746 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Metrics::Reporter;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 1bab2502cc25d2e9e92076620fe7c7112b486e64..c61a1d75009d36f4889d41c4e762a18b94c514f8 100644 (file)
@@ -7,10 +7,11 @@
 
 package Bugzilla::Metrics::Reporter::ElasticSearch;
 
+use 5.10.1;
 use strict;
 use warnings;
 
-use parent 'Bugzilla::Metrics::Reporter';
+use base 'Bugzilla::Metrics::Reporter';
 
 use constant DETACH => 1;
 
index f5bd38acbb24cf544b8ad12cb59ace859fd05a2e..a61cdb25fe4b30f57114070304c8a014da60534b 100644 (file)
@@ -7,10 +7,11 @@
 
 package Bugzilla::Metrics::Reporter::STDERR;
 
+use 5.10.1;
 use strict;
 use warnings;
 
-use parent 'Bugzilla::Metrics::Reporter';
+use base 'Bugzilla::Metrics::Reporter';
 
 use Data::Dumper;
 
index a3b13f85d58d64978a25ee15014be110ba594c50..5d9af240e9a6197bb7d740818e29a01c8586c721 100644 (file)
@@ -7,10 +7,11 @@
 
 package Bugzilla::Metrics::Template;
 
+use 5.10.1;
 use strict;
 use warnings;
 
-use parent 'Bugzilla::Template';
+use base 'Bugzilla::Template';
 
 sub process {
     my $self = shift;
index ae8470b3f5dee53806158b882bc8dbead548da6a..278cfce1e13de4b2c320aa3677a5fb2f5f87cd03 100644 (file)
@@ -7,10 +7,11 @@
 
 package Bugzilla::Metrics::Template::Context;
 
+use 5.10.1;
 use strict;
 use warnings;
 
-use parent 'Bugzilla::Template::Context';
+use base 'Bugzilla::Template::Context';
 
 sub process {
     my $self = shift;
index 923fc36a4e1f6ee7827616d387d529e2e9d5215b..7f67bedc40030dec56c90716e77560ac3082f486 100644 (file)
@@ -1,26 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Migration Tool.
-#
-# The Initial Developer of the Original Code is Lambda Research
-# Corporation. Portions created by the Initial Developer are Copyright
-# (C) 2009 the Initial Developer. All Rights Reserved.
-#
-# Contributor(s): 
-#   Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Migrate;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Attachment;
 use Bugzilla::Bug qw(LogActivityEntry);
index db628b7d54c5f19e79eeb34caefc7e43f0682d82..d8771a40be2de076777bda33b53b62701c5e2925 100644 (file)
@@ -1,26 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Migration Tool.
-#
-# The Initial Developer of the Original Code is Lambda Research
-# Corporation. Portions created by the Initial Developer are Copyright
-# (C) 2009 the Initial Developer. All Rights Reserved.
-#
-# Contributor(s): 
-#   Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Migrate::Gnats;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::Migrate);
 
 use Bugzilla::Constants;
index 78eacb3e9739a06bc67450798844333bc941b48e..2f10e1f001acd0e2eeee12c34396b9b26b95fe94 100644 (file)
@@ -1,25 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Tiago R. Mello <timello@async.com.br>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Frédéric Buclin <LpSolit@gmail.com>
-
-use strict;
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Milestone;
 
+use 5.10.1;
+use strict;
+use warnings;
+
 use base qw(Bugzilla::Object);
 
 use Bugzilla::Constants;
index 84d384d2b3a96edabda86a68504db52bd901a35f..eaddd9e6f1854565a552e966b7a7c73291dbd794 100644 (file)
@@ -1,28 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Everything Solved.
-# Portions created by Everything Solved are Copyright (C) 2006 
-# Everything Solved. All Rights Reserved.
-#
-# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Frédéric Buclin <LpSolit@gmail.com>
-
-use strict;
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Object;
 
+use 5.10.1;
+use strict;
+use warnings;
+
 use Bugzilla::Constants;
 use Bugzilla::Hook;
 use Bugzilla::Util;
index 3b1ba3dda77ae9bbe61d681c76a47093cfe1cd60..ffcce62ec0cfda99fc6be2b1388680aa8251fb46 100644 (file)
@@ -1,6 +1,8 @@
 package Bugzilla::PatchReader;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 =head1 NAME
 
index e4100afb19905e85344a7ee87305dd86c6518e05..4e7da56617a581282e3244e123374b0d91e84b03 100644 (file)
@@ -1,12 +1,14 @@
 package Bugzilla::PatchReader::AddCVSContext;
 
+use 5.10.1;
+use strict;
+use warnings;
+
 use Bugzilla::PatchReader::FilterPatch;
 use Bugzilla::PatchReader::CVSClient;
 use Cwd;
 use File::Temp;
 
-use strict;
-
 @Bugzilla::PatchReader::AddCVSContext::ISA = qw(Bugzilla::PatchReader::FilterPatch);
 
 # XXX If you need to, get the entire patch worth of files and do a single
index f2fd69a6826e144ea114cfb8aa32327325836b66..26cb9a9a067ef46b061f3be918bad71879c5c9de 100644 (file)
@@ -1,6 +1,8 @@
 package Bugzilla::PatchReader::Base;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 sub new {
   my $class = shift;
index 2f76fc18d17827412eb577abe4e142ff0dc8a619..7a8875dc8349e1d1c359f7acd39bf276ca1f6620 100644 (file)
@@ -9,7 +9,9 @@
 
 package Bugzilla::PatchReader::CVSClient;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 sub parse_cvsroot {
     my $cvsroot = $_[0];
index ceb425800542ee10098f330a5d37f3dcce84be1f..b7a0d8db28d27948b81289e09b3a3f7ec5178d9a 100644 (file)
@@ -1,6 +1,8 @@
 package Bugzilla::PatchReader::DiffPrinter::raw;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 sub new {
   my $class = shift;
index 6545e9336e178fdb3905cad863693acdfe3fa797..4120f1d8aaea08c0ac68321ded5b47baf3df7644 100644 (file)
@@ -1,6 +1,8 @@
 package Bugzilla::PatchReader::DiffPrinter::template;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 sub new {
   my $class = shift;
index dfe42e750601660e52e753ce3ad535cdd50fcdb5..330f6329bc8b7e0d2b970a604adf95df94f0da27 100644 (file)
@@ -1,6 +1,8 @@
 package Bugzilla::PatchReader::FilterPatch;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::PatchReader::Base;
 
index e67fb279645b46660fc91440b0773097dd837d23..1b0d250adb252d11e7f9f42f355a343aaf3e3591 100644 (file)
@@ -1,10 +1,12 @@
 package Bugzilla::PatchReader::FixPatchRoot;
 
+use 5.10.1;
+use strict;
+use warnings;
+
 use Bugzilla::PatchReader::FilterPatch;
 use Bugzilla::PatchReader::CVSClient;
 
-use strict;
-
 @Bugzilla::PatchReader::FixPatchRoot::ISA = qw(Bugzilla::PatchReader::FilterPatch);
 
 sub new {
index b6502f2f30db54d4fdd20bf62df53a961883c060..1441e8366d02ddb54f2221c62d4cb5445eecb65e 100644 (file)
@@ -2,7 +2,9 @@ package Bugzilla::PatchReader::NarrowPatch;
 
 use Bugzilla::PatchReader::FilterPatch;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 @Bugzilla::PatchReader::NarrowPatch::ISA = qw(Bugzilla::PatchReader::FilterPatch);
 
index 8c52931ba7976ca3d5e742844b9d40f9708e21f5..6fb35fd16ed8a4878501e21ad69b66fcbe15c488 100644 (file)
@@ -2,7 +2,9 @@ package Bugzilla::PatchReader::PatchInfoGrabber;
 
 use Bugzilla::PatchReader::FilterPatch;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 @Bugzilla::PatchReader::PatchInfoGrabber::ISA = qw(Bugzilla::PatchReader::FilterPatch);
 
index 7e34bd4bf4ac4571ff35fc26bcc2173dc13e8725..4b7312f3d7a9ec8e5994ed4bfd4e440753a12e42 100644 (file)
@@ -13,7 +13,9 @@ package Bugzilla::PatchReader::Raw;
 # $parser->end_lines();
 #
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::PatchReader::Base;
 
index 49165861407976372dae2cbad84cc844945af25d..e1e6f948c05bc85f1de58cf1fb219fc8a317baef 100644 (file)
@@ -1,22 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Tiago R. Mello <timello@async.com.br>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Product;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::Field::ChoiceInterface Bugzilla::Object);
 
 use Bugzilla::Constants;
index caa63bae2aa188e03d6932bf9bb19f0af9bfe169..902c803fd3a67b94f0f57270adabe43061481b2a 100644 (file)
@@ -1,26 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Google Inc.
-# Portions created by the Initial Developer are Copyright (C) 2011
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s): 
-#   Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::RNG;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Exporter);
 use Bugzilla::Constants qw(ON_WINDOWS);
 
index eb30816a4e95d1ffe5f5e5d4a3206a9944a0c752..26d77562f901072383c9a5f0fa59d0900cfdc9c4 100644 (file)
@@ -12,6 +12,7 @@ package Bugzilla::S3;
 # - default to secure (https) connections to AWS
 #
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 37c61e666e927fef2a63828e54ac24293e7729c7..a53ab5c5159eb35413c2c9fa562f12d595773dcd 100644 (file)
@@ -2,8 +2,10 @@ package Bugzilla::S3::Bucket;
 
 # Forked from Amazon::S3, which appears to be abandoned.
 
+use 5.10.1;
 use strict;
 use warnings;
+
 use Carp;
 use File::stat;
 use IO::File;
index b85e44985858c520da8aaa5927b94052b867f8d3..19419817a56c54739f23993fb0745a65a34b0ab0 100644 (file)
@@ -1,39 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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): Gervase Markham <gerv@gerv.net>
-#                 Terry Weissman <terry@mozilla.org>
-#                 Dan Mosedale <dmose@mozilla.org>
-#                 Stephan Niemz <st.n@gmx.net>
-#                 Andreas Franke <afranke@mathweb.org>
-#                 Myk Melez <myk@mozilla.org>
-#                 Michael Schindler <michael@compressconsult.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Joel Peshkin <bugreport@peshkin.net>
-#                 Lance Larsh <lance.larsh@oracle.com>
-#                 Jesse Clark <jjclark1982@gmail.com>
-#                 Rémi Zara <remi_zara@mac.com>
-#                 Reed Loden <reed@reedloden.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+package Bugzilla::Search;
+
+use 5.10.1;
 use strict;
+use warnings;
 
-package Bugzilla::Search;
 use base qw(Exporter);
 @Bugzilla::Search::EXPORT = qw(
     IsValidQueryType
index 89210babbf8813297a470f55a63812ed1de1cbe0..1c949101270ca91c41a326784c17b2a207c99b9c 100644 (file)
@@ -1,26 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 BugzillaSource, Inc.
-# Portions created by the Initial Developer are Copyright (C) 2011 the
-# Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#   Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Search::Clause;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Error;
 use Bugzilla::Search::Condition qw(condition);
index c8600b6ac584ad338be5644963abef1e04170962..c7d3e6ae787f38de59f7bd33e7dc92171727866f 100644 (file)
@@ -7,7 +7,9 @@
 
 package Bugzilla::Search::ClauseGroup;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use base qw(Bugzilla::Search::Clause);
 
index 167b4f01ec3bc8fcd779ba874b8b09ec965582c7..1c38c1f3ecb4fbba1e103a1597f49d67b37e7a70 100644 (file)
@@ -1,26 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 BugzillaSource, Inc.
-# Portions created by the Initial Developer are Copyright (C) 2011 the
-# Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#   Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Search::Condition;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Exporter);
 our @EXPORT_OK = qw(condition);
 
index c65fe06a8647b1beb7f0f567fd334f191d398723..31d8e2b2a860a3209731cfec3ad34e828b745e35 100644 (file)
@@ -1,27 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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.
-#
-# Contributor(s): C. Begle
-#                 Jesse Ruderman
-#                 Andreas Franke <afranke@mathweb.org>
-#                 Stephen Lee <slee@uk.bnsmc.com>
-#                 Marc Schumann <wurblzap@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Search::Quicksearch;
 
-# Make it harder for us to do dangerous things in Perl.
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Error;
 use Bugzilla::Constants;
index b9f6428d742bb847853ded35589beb9232827b68..a5d9e2417462fcb1e77d52c683c547cffeeddb18 100644 (file)
@@ -1,26 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Everything Solved, Inc.
-# Portions created by the Initial Developer are Copyright (C) 2010 the
-# Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#   Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Search::Recent;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::Object);
 
 use Bugzilla::Constants;
index 6e1587d201b4ffd4f5d47c39eac75c36a6350de3..21d49c2d8ede6c1955250cc23b29611743944e82 100644 (file)
@@ -1,27 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Everything Solved.
-# Portions created by Everything Solved are Copyright (C) 2006 
-# Everything Solved. All Rights Reserved.
-#
-# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
-
-use strict;
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Search::Saved;
 
+use 5.10.1;
+use strict;
+use warnings;
+
 use base qw(Bugzilla::Object);
 
 use Bugzilla::CGI;
index 0c3cfe9e4a482bccd357b6fdcb3485986f7c43fa..808e62056beabc54acdcd585c79e3dad1ff69201 100644 (file)
@@ -6,8 +6,9 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Send::Sendmail;
-
+use 5.10.1;
 use strict;
+use warnings;
 
 use base qw(Email::Send::Sendmail);
 
index e2fdcad9924fe0032a3b22106e3adfbf27e8894f..007736cea51170ff5ec705e48775dbfe280c94e4 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Sentry;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 7168bcb7e3610f4bd79076c181589f6445c404ba..cfddd52b18c592d71094f21e81bae6277b179d6a 100644 (file)
@@ -1,26 +1,9 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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): Gervase Markham <gerv@gerv.net>
-#                 Lance Larsh <lance.larsh@oracle.com>
-
-use strict;
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 # This module implements a series - a set of data to be plotted on a chart.
 #
@@ -31,6 +14,10 @@ use strict;
 
 package Bugzilla::Series;
 
+use 5.10.1;
+use strict;
+use warnings;
+
 use Bugzilla::Error;
 use Bugzilla::Util;
 
index 4a82f68d0b913919ea804b769188b4f5a8a17b4d..62a1f1d75be6e5396f55276cc7d693ad09f95d8c 100644 (file)
@@ -1,28 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Frédéric Buclin.
-# Portions created by Frédéric Buclin are Copyright (C) 2007
-# Frédéric Buclin. All Rights Reserved.
-#
-# Contributor(s): Frédéric Buclin <LpSolit@gmail.com>
-
-use strict;
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Status;
 
-use Bugzilla::Error;
+use 5.10.1;
+use strict;
+use warnings;
+
 # This subclasses Bugzilla::Field::Choice instead of implementing 
 # ChoiceInterface, because a bug status literally is a special type
 # of Field::Choice, not just an object that happens to have the same
@@ -36,6 +24,8 @@ use base qw(Bugzilla::Field::Choice Exporter);
     closed_bug_statuses
 );
 
+use Bugzilla::Error;
+
 ################################
 #####   Initialization     #####
 ################################
index b03817793c2d05e06a0e6afa17ffa97ffda80056..ab2461f1bf88cea9c515a9061323decaf9539e4f 100644 (file)
@@ -1,38 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 <terry@mozilla.org>
-#                 Dan Mosedale <dmose@mozilla.org>
-#                 Jacob Steenhagen <jake@bugzilla.org>
-#                 Bradley Baetz <bbaetz@student.usyd.edu.au>
-#                 Christopher Aillon <christopher@aillon.com>
-#                 Tobias Burnus <burnus@net-b.de>
-#                 Myk Melez <myk@mozilla.org>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Frédéric Buclin <LpSolit@gmail.com>
-#                 Greg Hendricks <ghendricks@novell.com>
-#                 David D. Kilzer <ddkilzer@kilzer.net>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 
 package Bugzilla::Template;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Bug;
 use Bugzilla::Constants;
index b3e3446f61db55b9975fcf76e08986e2fc2076b4..b81e321300c7c0f8f434cd39c862af613ee2e3ae 100644 (file)
@@ -1,27 +1,17 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 ITA Software.
-# Portions created by the Initial Developer are Copyright (C) 2009 
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#   Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 # This exists to implement the template-before_process hook.
 package Bugzilla::Template::Context;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Template::Context);
 
 use Bugzilla::Hook;
index 101bd06ee7dc9280da493a518e86f177e567673b..752aa9dfa2b40d646ea38379e66f7ebcf8fae1ab 100644 (file)
@@ -1,28 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
-#
-# 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): Bradley Baetz <bbaetz@student.usyd.edu.au>
+# 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/.
 #
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Template::Plugin::Bugzilla;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use base qw(Template::Plugin);
 
index f2434817cc538df4603f535d13867f6de010ad24..4e4d392463f00dd45e42b42aa9ae5a67eb67deb5 100644 (file)
@@ -1,29 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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): Myk Melez <myk@mozilla.org>
-#                 Zach Lipton <zach@zachlipton.com>
-#                 Elliotte Martin <everythingsolved.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Template::Plugin::Hook;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Template::Plugin);
 
 use Bugzilla::Constants;
index 533b999c318e4f7b099ec76c89544ceafb9af94c..09452d89910020ec3f1b92bc6044fbe1cd6fdfce 100644 (file)
@@ -22,8 +22,9 @@
 #
 
 package Bugzilla::Template::Plugin::User;
-
+use 5.10.1;
 use strict;
+use warnings;
 
 use base qw(Template::Plugin);
 
index 6e30955497fad7817a03fca1b6dc2b03a9e12cda..7b5cb9bcf8414373afbf60839106d254aaac44fb 100644 (file)
@@ -1,34 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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):    Myk Melez <myk@mozilla.org>
-#                    Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
-################################################################################
-# Module Initialization
-################################################################################
+package Bugzilla::Token;
 
-# Make it harder for us to do dangerous things in Perl.
+use 5.10.1;
 use strict;
-
-# Bundle the functions in this file together into the "Bugzilla::Token" package.
-package Bugzilla::Token;
+use warnings;
 
 use Bugzilla::Constants;
 use Bugzilla::Error;
index c9942a4f08c85d61eab6b429500ddff4830ea26c..72a7108a8e344518fa49990d4485715a20746148 100644 (file)
@@ -1,22 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Update;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Constants;
 
index ac7d5094fbc1ffb3ee9a404e5b54e2e7c9d1c0b9..447c33c21dbbbf55c85723dfbb94aa8e9e42d2c1 100644 (file)
@@ -1,45 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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): Myk Melez <myk@mozilla.org>
-#                 Erik Stambaugh <erik@dasbistro.com>
-#                 Bradley Baetz <bbaetz@acm.org>
-#                 Joel Peshkin <bugreport@peshkin.net> 
-#                 Byron Jones <bugzilla@glob.com.au>
-#                 Shane H. W. Travis <travis@sedsystems.ca>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Gervase Markham <gerv@gerv.net>
-#                 Lance Larsh <lance.larsh@oracle.com>
-#                 Justin C. De Vries <judevries@novell.com>
-#                 Dennis Melentyev <dennis.melentyev@infopulse.com.ua>
-#                 Frédéric Buclin <LpSolit@gmail.com>
-#                 Mads Bondo Dydensborg <mbd@dbc.dk>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
-################################################################################
-# Module Initialization
-################################################################################
+package Bugzilla::User;
 
-# Make it harder for us to do dangerous things in Perl.
+use 5.10.1;
 use strict;
-
-# This module implements utilities for dealing with Bugzilla users.
-package Bugzilla::User;
+use warnings;
 
 use Bugzilla::Error;
 use Bugzilla::Util;
index 500f0ad59a4236e5ecb1db52d7c58e040604b733..c1a4ed57264126018909d6404fe72e11047101ea 100644 (file)
@@ -9,8 +9,9 @@ package Bugzilla::User::APIKey;
 
 use 5.10.1;
 use strict;
+use warnings;
 
-use parent qw(Bugzilla::Object);
+use base qw(Bugzilla::Object);
 
 use Bugzilla::User;
 use Bugzilla::Util qw(generate_random_password trim remote_ip);
index c547867d188def36d48daa34b01a952a6fcd230f..56e1cd07a025c4fad0f9c63809029ad33474a190 100644 (file)
@@ -9,8 +9,9 @@ package Bugzilla::User::Session;
 
 use 5.10.1;
 use strict;
+use warnings;
 
-use parent qw(Bugzilla::Object);
+use base qw(Bugzilla::Object);
 
 #####################################################################
 # Overriden Constants that are used as methods
index f566b3459b46374023a8cca8c7b0cad6e18f3533..1732ab9991c83b6a15dbd93d6eb9e78b92dad46e 100644 (file)
@@ -1,26 +1,17 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Shane H. W. Travis <travis@sedsystems.ca>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Marc Schumann <wurblzap@gmail.com>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 
 package Bugzilla::User::Setting;
 
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Exporter);
 
 
index 79372704d396986aeb38692011eda166bf2b7668..a3032b9fc1c39108025af387d1c44b2c2f5c6779 100644 (file)
@@ -1,26 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Marc Schumann.
-# Portions created by Marc Schumann are Copyright (c) 2007 Marc Schumann.
-# All rights reserved.
-#
-# Contributor(s): Marc Schumann <wurblzap@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::User::Setting::Lang;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use base qw(Bugzilla::User::Setting);
 
index f69f3e66c577f1512c8137a6f752e00cee7783cc..f0ea502ef2db0d23bcd7c47a3019e1e6dab0e3ba 100644 (file)
@@ -1,24 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
-#
-# 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.
-#
-# Contributor(s): Marc Schumann <wurblzap@gmail.com>
+# 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/.
 #
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 
 package Bugzilla::User::Setting::Skin;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use base qw(Bugzilla::User::Setting);
 
index 27a90e341f8033b30d11004357c2671e5eb55ca0..a9515259ebdd2ba9c83875944b4ab8aabf752bfd 100644 (file)
@@ -1,26 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Frédéric Buclin.
-# Portions created by Frédéric Buclin are Copyright (c) 2008 Frédéric Buclin.
-# All rights reserved.
-#
-# Contributor(s): Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::User::Setting::Timezone;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use DateTime::TimeZone;
 
index 00be84c44516c932f49875d84a1a63b89153b02a..0db6de8089b55e3e39df3ddf850cd92c3a7c1046 100644 (file)
@@ -1,33 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 the Mozilla Foundation
-# Portions created by the Initial Developer are Copyright (C) 2011 the
-# Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#   Terry Weissman <terry@mozilla.org>
-#   Dave Miller <justdave@syndicomm.com>
-#   Joe Robins <jmrobins@tgix.com>
-#   Gervase Markham <gerv@gerv.net>
-#   Shane H. W. Travis <travis@sedsystems.ca>
-#   Nitish Bezzala <nbezzala@yahoo.com>
-#   Byron Jones <glob@mozilla.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::UserAgent;
 
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Exporter);
 our @EXPORT = qw(detect_platform detect_op_sys);
 
index 2703a542ee529b34fc7209112868d72bb233a6ee..7937d6b80e60b62c106522269e8bddf0c935eac3 100644 (file)
@@ -1,35 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 <terry@mozilla.org>
-#                 Dan Mosedale <dmose@mozilla.org>
-#                 Jacob Steenhagen <jake@bugzilla.org>
-#                 Bradley Baetz <bbaetz@student.usyd.edu.au>
-#                 Christopher Aillon <christopher@aillon.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Frédéric Buclin <LpSolit@gmail.com>
-#                 Marc Schumann <wurblzap@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Util;
 
 use 5.10.1;
 use strict;
+use warnings;
 
 use base qw(Exporter);
 @Bugzilla::Util::EXPORT = qw(trick_taint detaint_natural
index 2e0854afea649904aa5ce8754455f2fa776b1e57..a078cb4fc49e868c663f8f98fe11fbb9f75eb93f 100644 (file)
@@ -1,28 +1,20 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Tiago R. Mello <timello@async.com.br>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+package Bugzilla::Version;
+
+use 5.10.1;
 use strict;
+use warnings;
 
-package Bugzilla::Version;
+use base qw(Bugzilla::Object Exporter);
 
-use base qw(Bugzilla::Object);
+@Bugzilla::Version::EXPORT = qw(vers_cmp);
 
-use Bugzilla::Install::Util qw(vers_cmp);
 use Bugzilla::Util;
 use Bugzilla::Error;
 
@@ -197,6 +189,53 @@ sub _check_product {
     return Bugzilla->user->check_can_admin_product($product->name);
 }
 
+###############################
+#####     Functions        ####
+###############################
+
+# This is taken straight from Sort::Versions 1.5, which is not included
+# with perl by default.
+sub vers_cmp {
+    my ($a, $b) = @_;
+
+    # Remove leading zeroes - Bug 344661
+    $a =~ s/^0*(\d.+)/$1/;
+    $b =~ s/^0*(\d.+)/$1/;
+
+    my @A = ($a =~ /([-.]|\d+|[^-.\d]+)/g);
+    my @B = ($b =~ /([-.]|\d+|[^-.\d]+)/g);
+
+    my ($A, $B);
+    while (@A and @B) {
+        $A = shift @A;
+        $B = shift @B;
+        if ($A eq '-' and $B eq '-') {
+            next;
+        } elsif ( $A eq '-' ) {
+            return -1;
+        } elsif ( $B eq '-') {
+            return 1;
+        } elsif ($A eq '.' and $B eq '.') {
+            next;
+        } elsif ( $A eq '.' ) {
+            return -1;
+        } elsif ( $B eq '.' ) {
+            return 1;
+        } elsif ($A =~ /^\d+$/ and $B =~ /^\d+$/) {
+            if ($A =~ /^0/ || $B =~ /^0/) {
+                return $A cmp $B if $A cmp $B;
+            } else {
+                return $A <=> $B if $A <=> $B;
+            }
+        } else {
+            $A = uc $A;
+            $B = uc $B;
+            return $A cmp $B if $A cmp $B;
+        }
+    }
+    return @A <=> @B;
+}
+
 1;
 
 __END__
index b0649f7b3e545c05caff73472e39c260fa67f2c5..db8018679c42775b67da8eb407899f4a5f1aecfc 100644 (file)
@@ -1,24 +1,18 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Marc Schumann <wurblzap@gmail.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 # This is the base class for $self in WebService method calls. For the 
 # actual RPC server, see Bugzilla::WebService::Server and its subclasses.
 package Bugzilla::WebService;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use Bugzilla::WebService::Server;
 
 # Used by the JSON-RPC server to convert incoming date fields apprpriately.
index d7a1d8f9bb5fdee524f2bb342a4573a63d890f2e..f9a91797e21d5ad9921a5fb6388afc990831b23e 100644 (file)
@@ -1,30 +1,17 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Marc Schumann <wurblzap@gmail.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Mads Bondo Dydensborg <mbd@dbc.dk>
-#                 Tsahi Asher <tsahi_75@yahoo.com>
-#                 Noura Elhawary <nelhawar@redhat.com>
-#                 Frank Becker <Frank@Frank-Becker.de>
-#                 Dave Lawrence <dkl@redhat.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::WebService::Bug;
 
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::WebService);
-use feature 'state';
 
 use Bugzilla::Comment;
 use Bugzilla::Comment::TagWeights;
index 299e1596b7fd3f9d77e7a8f6bece1acd1f350409..7b729c6c8416f9c9a8a79d7a3279bce4f7c27a3c 100644 (file)
@@ -9,8 +9,9 @@ package Bugzilla::WebService::BugUserLastVisit;
 
 use 5.10.1;
 use strict;
+use warnings;
 
-use parent qw(Bugzilla::WebService);
+use base qw(Bugzilla::WebService);
 
 use Bugzilla::Bug;
 use Bugzilla::Error;
index 7d0b5473bdd8beb81bd9ac32de2e03bfd5e45c62..0d0393c285f1bed9b857d93cc949c76fe5727c17 100644 (file)
@@ -1,24 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Marc Schumann <wurblzap@gmail.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Mads Bondo Dydensborg <mbd@dbc.dk>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::WebService::Bugzilla;
 
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::WebService);
 use Bugzilla::Constants;
 use Bugzilla::Util qw(datetime_from);
index 1b084eabb45bad79dccd2018ce2d26b89765f38c..32139ff3f5026c84e0a8a33b7af60794c5ae5597 100644 (file)
@@ -9,8 +9,9 @@ package Bugzilla::WebService::Classification;
 
 use 5.10.1;
 use strict;
+use warnings;
 
-use parent qw (Bugzilla::WebService);
+use base qw (Bugzilla::WebService);
 
 use Bugzilla::Classification;
 use Bugzilla::Error;
index 19f866e8f37b734768d101b91401567d5b929f11..bf3a93fd532942b926fbd857bb738a3106140596 100644 (file)
@@ -1,23 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Marc Schumann <wurblzap@gmail.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::WebService::Constants;
 
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Exporter);
 
 our @EXPORT = qw(
index 7518433aff25772ef90914c8812cfa0bbd41c817..b13003e086cf5e75cee1203529b35e984c953ce0 100644 (file)
@@ -11,7 +11,7 @@ use 5.10.1;
 use strict;
 use warnings;
 
-use parent qw(Bugzilla::WebService);
+use base qw(Bugzilla::WebService);
 use Bugzilla::Constants;
 use Bugzilla::Error;
 use Bugzilla::WebService::Util qw(validate translate params_to_objects);
index bccaa8347ebbb7a2ef36cf13898380528e904b62..6ca3fee9040b8e3c6dd139b4469a1be103236261 100644 (file)
@@ -1,24 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Marc Schumann <wurblzap@gmail.com>
-#                 Mads Bondo Dydensborg <mbd@dbc.dk>
-#                 Byron Jones <glob@mozilla.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::WebService::Product;
 
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::WebService);
 use Bugzilla::Product;
 use Bugzilla::User;
index a84ba29617841854fa4fc79fc6768a4be764edfc..5384feef199c7f0dcb93f47a5425f4fb659bd0c1 100644 (file)
@@ -1,22 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Marc Schumann <wurblzap@gmail.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::WebService::Server;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Error;
 use Bugzilla::Util qw(datetime_from);
index b66bcaea1b226ef990ffc90d7aa5df888fc7057c..24ad12730bfe650e0b1a935846404731056ad4d6 100644 (file)
@@ -1,27 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 JSON Webservices Interface.
-#
-# The Initial Developer of the Original Code is the San Jose State
-# University Foundation. Portions created by the Initial Developer
-# are Copyright (C) 2008 the Initial Developer. All Rights Reserved.
-#
-# Contributor(s): 
-#   Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::WebService::Server::JSONRPC;
 
+use 5.10.1;
 use strict;
+use warnings;
+
 use Bugzilla::WebService::Server;
 BEGIN {
     our @ISA = qw(Bugzilla::WebService::Server);
index d94fb1d8124ad0b147cbad19c23917232bfcbb4d..5266f8fa7d3528a310bebf92897c0f5652c726fd 100644 (file)
@@ -9,8 +9,9 @@ package Bugzilla::WebService::Server::REST;
 
 use 5.10.1;
 use strict;
+use warnings;
 
-use parent qw(Bugzilla::WebService::Server::JSONRPC);
+use base qw(Bugzilla::WebService::Server::JSONRPC);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 163790b77945aa97a8567ed0f001978478fe0612..33cf43321168620501bc8b7ee4d2f2d3161d2a1e 100644 (file)
@@ -9,6 +9,7 @@ package Bugzilla::WebService::Server::REST::Resources::Bug;
 
 use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::WebService::Constants;
 use Bugzilla::WebService::Bug;
index 1c86f77bce3a7556d9f79d92c3148ae3c497e2c1..a8f3f9330ed2af1bdd3a55fd7b624dc9b753df90 100644 (file)
@@ -9,6 +9,7 @@ package Bugzilla::WebService::Server::REST::Resources::Bugzilla;
 
 use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::WebService::Constants;
 use Bugzilla::WebService::Bugzilla;
index 5bb697ac14ad0bcc9bd66a85c7b5de6440ade133..f20278f55277cbed17ce677ef3040f36eb6111c5 100644 (file)
@@ -9,6 +9,7 @@ package Bugzilla::WebService::Server::REST::Resources::Classification;
 
 use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::WebService::Constants;
 use Bugzilla::WebService::Classification;
index acee3887b7f00dffd5ba9c7466e498a022467a54..9ca6e30747d4dafd5fa369afb9b37b7954ad42e3 100644 (file)
@@ -9,6 +9,7 @@ package Bugzilla::WebService::Server::REST::Resources::Product;
 
 use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::WebService::Constants;
 use Bugzilla::WebService::Product;
index 7d494064da069e5bb37a7c72d9b9571618d3a7de..eb44e9d2dd7665dc9960c85f5b3537f4cb45606d 100644 (file)
@@ -9,6 +9,7 @@ package Bugzilla::WebService::Server::REST::Resources::User;
 
 use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::WebService::Constants;
 use Bugzilla::WebService::User;
index f92936e8317b70dd2c2ca3becde8ebd46a78df9d..f8b7e099454af9be65b5c9712d0140739cd7dd34 100644 (file)
@@ -1,26 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Marc Schumann <wurblzap@gmail.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Rosie Clarkson <rosie.clarkson@planningportal.gov.uk>
-#                 
-# Portions © Crown copyright 2009 - Rosie Clarkson (development@planningportal.gov.uk) for the Planning Portal
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::WebService::Server::XMLRPC;
 
+use 5.10.1;
 use strict;
+use warnings;
+
 use XMLRPC::Transport::HTTP;
 use Bugzilla::WebService::Server;
 if ($ENV{MOD_PERL}) {
index a9dcdf4befdca76a13802dd5835c82fc97c89b15..78c6ed798493ceadcb0554c4c097850b2eecf7bc 100644 (file)
@@ -1,25 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Marc Schumann <wurblzap@gmail.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Mads Bondo Dydensborg <mbd@dbc.dk>
-#                 Noura Elhawary <nelhawar@redhat.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::WebService::User;
 
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::WebService);
 
 use Bugzilla;
index 4280f28e6d9e2a240cd6f5f7a70c5a95eeb5494d..b0621b000b84f426d48e821a6cfdc8cc547c8e8e 100644 (file)
@@ -1,26 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Everything Solved, Inc.
-# Portions created by the Initial Developer are Copyright (C) 2008
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s): 
-#   Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::WebService::Util;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Flag;
 use Bugzilla::FlagType;
index 73b0802b18ca0d6c9cc6293d963e09713b88fa75..c4301b4f610ad28fe6acc22ffd99ab02602efc6c 100644 (file)
@@ -1,27 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Eric Black.
-# Portions created by the Initial Developer are Copyright (C) 2010 
-# Eric Black. All Rights Reserved.
-#
-# Contributor(s): Eric Black <black.eric@gmail.com>
-
-use strict;
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Whine;
 
+use 5.10.1;
+use strict;
+use warnings;
+
 use base qw(Bugzilla::Object);
 
 use Bugzilla::Constants;
index 11215759bd5d4b409fbaeb75a44494ea1300d344..886c54815d390c01ef2d6c580745dbc2c4d7dad8 100644 (file)
@@ -1,26 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Eric Black.
-# Portions created by the Initial Developer are Copyright (C) 2009 
-# Eric Black. All Rights Reserved.
-#
-# Contributor(s): Eric Black <black.eric@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Whine::Query;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use base qw(Bugzilla::Object);
 
index 63148856c99a1041b1c080fc0022c58ccf2771d6..0c159cf3f5fee8194177c40b11b9dc8035e099c0 100644 (file)
@@ -1,27 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Eric Black.
-# Portions created by the Initial Developer are Copyright (C) 2009 
-# Eric Black. All Rights Reserved.
-#
-# Contributor(s): Eric Black <black.eric@gmail.com>
-
-use strict;
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Whine::Schedule;
 
+use 5.10.1;
+use strict;
+use warnings;
+
 use base qw(Bugzilla::Object);
 
 use Bugzilla::Constants;
diff --git a/META.json b/META.json
new file mode 100644 (file)
index 0000000..78acba7
--- /dev/null
+++ b/META.json
@@ -0,0 +1,430 @@
+{
+   "abstract" : "Bugzilla Bug Tracking System",
+   "author" : [
+      "Bugzilla Developers <developers@bugzilla.org>"
+   ],
+   "dynamic_config" : 1,
+   "generated_by" : "ExtUtils::MakeMaker version 7.22, CPAN::Meta::Converter version 2.143240",
+   "license" : [
+      "unknown"
+   ],
+   "meta-spec" : {
+      "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+      "version" : "2"
+   },
+   "name" : "Bugzilla",
+   "no_index" : {
+      "directory" : [
+         "t",
+         "inc"
+      ]
+   },
+   "optional_features" : {
+      "auth_delegation" : {
+         "description" : "Auth Delegation",
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "LWP::UserAgent" : "0"
+               }
+            }
+         }
+      },
+      "auth_ldap" : {
+         "description" : "LDAP Authentication",
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "Net::LDAP" : "0"
+               }
+            }
+         }
+      },
+      "auth_radius" : {
+         "description" : "RADIUS Authentication",
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "Authen::Radius" : "0"
+               }
+            }
+         }
+      },
+      "bmo" : {
+         "description" : "features that bmo needs",
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "Auth::GoogleAuth" : "1.01",
+                  "Cache::Memcached" : "0.17",
+                  "Chart::Lines" : "v2.4.10",
+                  "DBD::mysql" : "4.001",
+                  "Daemon::Generic" : "0",
+                  "Email::MIME::Attachment::Stripper" : "0",
+                  "Email::Reply" : "0",
+                  "Encode" : "2.21",
+                  "Encode::Detect" : "0",
+                  "File::Copy::Recursive" : "0",
+                  "File::MimeInfo::Magic" : "0",
+                  "File::Which" : "0",
+                  "GD" : "1.20",
+                  "GD::Barcode::QRcode" : "0",
+                  "GD::Graph" : "0",
+                  "GD::Text" : "0",
+                  "HTML::Parser" : "3.67",
+                  "HTML::Scrubber" : "0",
+                  "IO::Scalar" : "0",
+                  "JSON::RPC" : "0",
+                  "LWP::UserAgent" : "0",
+                  "MIME::Parser" : "5.406",
+                  "Mozilla::CA" : "0",
+                  "Net::SFTP" : "0",
+                  "PatchReader" : "v0.9.6",
+                  "SOAP::Lite" : "0.712",
+                  "Template::Plugin::GD::Image" : "0",
+                  "Test::Taint" : "1.06",
+                  "TheSchwartz" : "1.10",
+                  "XML::Simple" : "0",
+                  "XML::Twig" : "0",
+                  "XMLRPC::Lite" : "0.712"
+               }
+            }
+         }
+      },
+      "detect_charset" : {
+         "description" : "Automatic charset detection for text attachments",
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "Encode" : "2.21",
+                  "Encode::Detect" : "0"
+               }
+            }
+         }
+      },
+      "documentation" : {
+         "description" : "Documentation",
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "File::Copy::Recursive" : "0",
+                  "File::Which" : "0"
+               }
+            }
+         }
+      },
+      "extension_bitly_optional" : {
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "Mozilla::CA" : "0"
+               }
+            }
+         }
+      },
+      "extension_push_optional" : {
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "Net::SFTP" : "0",
+                  "XML::Simple" : "0"
+               }
+            }
+         }
+      },
+      "graphical_reports" : {
+         "description" : "Graphical Reports",
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "GD" : "1.20",
+                  "GD::Graph" : "0",
+                  "GD::Text" : "0",
+                  "Template::Plugin::GD::Image" : "0"
+               }
+            }
+         }
+      },
+      "html_desc" : {
+         "description" : "More HTML in Product/Group Descriptions",
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "HTML::Parser" : "3.67",
+                  "HTML::Scrubber" : "0"
+               }
+            }
+         }
+      },
+      "inbound_email" : {
+         "description" : "Inbound Email",
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "Email::MIME::Attachment::Stripper" : "0",
+                  "Email::Reply" : "0"
+               }
+            }
+         }
+      },
+      "jobqueue" : {
+         "description" : "Mail Queueing",
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "Daemon::Generic" : "0",
+                  "TheSchwartz" : "1.10"
+               }
+            }
+         }
+      },
+      "jsonrpc" : {
+         "description" : "JSON-RPC Interface",
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "JSON::RPC" : "0",
+                  "Test::Taint" : "1.06"
+               }
+            }
+         }
+      },
+      "memcached" : {
+         "description" : "Memcached Support",
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "Cache::Memcached" : "0.17"
+               }
+            }
+         }
+      },
+      "mfa" : {
+         "description" : "Multi-Factor Authentication",
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "Auth::GoogleAuth" : "1.01",
+                  "GD::Barcode::QRcode" : "0"
+               }
+            }
+         }
+      },
+      "mod_perl" : {
+         "description" : "mod_perl support under Apache",
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "Apache2::SizeLimit" : "0.96",
+                  "mod_perl2" : "1.999022"
+               }
+            }
+         }
+      },
+      "moving" : {
+         "description" : "Move Bugs Between Installations",
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "MIME::Parser" : "5.406",
+                  "XML::Twig" : "0"
+               }
+            }
+         }
+      },
+      "mysql" : {
+         "description" : "MySQL database support",
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "DBD::mysql" : "4.001"
+               }
+            }
+         }
+      },
+      "new_charts" : {
+         "description" : "New Charts",
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "Chart::Lines" : "v2.4.10",
+                  "GD" : "1.20"
+               }
+            }
+         }
+      },
+      "old_charts" : {
+         "description" : "Old Charts",
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "Chart::Lines" : "v2.4.10",
+                  "GD" : "1.20"
+               }
+            }
+         }
+      },
+      "oracle" : {
+         "description" : "Oracle database support",
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "DBD::Oracle" : "1.19"
+               }
+            }
+         }
+      },
+      "patch_viewer" : {
+         "description" : "Patch Viewer",
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "PatchReader" : "v0.9.6"
+               }
+            }
+         }
+      },
+      "pg" : {
+         "description" : "Postgres database support",
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "DBD::Pg" : "v2.19.3"
+               }
+            }
+         }
+      },
+      "rest" : {
+         "description" : "REST Interface",
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "JSON::RPC" : "0",
+                  "Test::Taint" : "1.06"
+               }
+            }
+         }
+      },
+      "smtp_auth" : {
+         "description" : "SMTP Authentication",
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "Authen::SASL" : "0"
+               }
+            }
+         }
+      },
+      "sqlite" : {
+         "description" : "SQLite database support",
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "DBD::SQLite" : "1.29"
+               }
+            }
+         }
+      },
+      "typesniffer" : {
+         "description" : "Sniff MIME type of attachments",
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "File::MimeInfo::Magic" : "0",
+                  "IO::Scalar" : "0"
+               }
+            }
+         }
+      },
+      "updates" : {
+         "description" : "Automatic Update Notifications",
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "LWP::UserAgent" : "0",
+                  "XML::Twig" : "0"
+               }
+            }
+         }
+      },
+      "xmlrpc" : {
+         "description" : "XML-RPC Interface",
+         "prereqs" : {
+            "runtime" : {
+               "requires" : {
+                  "SOAP::Lite" : "0.712",
+                  "Test::Taint" : "1.06",
+                  "XMLRPC::Lite" : "0.712"
+               }
+            }
+         }
+      }
+   },
+   "prereqs" : {
+      "build" : {
+         "requires" : {
+            "ExtUtils::MakeMaker" : "6.57_07"
+         }
+      },
+      "configure" : {
+         "requires" : {
+            "ExtUtils::MakeMaker" : "6.57_07"
+         }
+      },
+      "runtime" : {
+         "recommends" : {
+            "Safe" : "2.30"
+         },
+         "requires" : {
+            "CGI" : "3.51",
+            "CPAN::Meta::Prereqs" : "2.132830",
+            "CPAN::Meta::Requirements" : "2.121",
+            "Crypt::CBC" : "0",
+            "Crypt::DES" : "0",
+            "Crypt::DES_EDE3" : "0",
+            "Crypt::OpenPGP" : "1.02",
+            "Crypt::SMIME" : "0",
+            "DBI" : "1.614",
+            "Daemon::Generic" : "0",
+            "Date::Format" : "2.23",
+            "DateTime" : "0.75",
+            "DateTime::TimeZone" : "1.64",
+            "Digest::SHA" : "0",
+            "Email::Address" : "0",
+            "Email::MIME" : "1.904",
+            "Email::Send" : "1.911",
+            "File::MimeInfo::Magic" : "0",
+            "File::Slurp" : "9999.13",
+            "HTML::Tree" : "0",
+            "IO::Compress::Gzip" : "0",
+            "IO::Scalar" : "0",
+            "JSON" : "0",
+            "JSON::XS" : "2.0",
+            "LWP" : "5.835",
+            "LWP::UserAgent" : "0",
+            "List::MoreUtils" : "0.22",
+            "Math::Random::ISAAC" : "v1.0.1",
+            "Module::Metadata" : "1.000033",
+            "Module::Runtime" : "0",
+            "Parse::CPAN::Meta" : "1.44",
+            "Regexp::Common" : "0",
+            "Sys::Syslog" : "0",
+            "Template" : "2.24",
+            "Text::Diff" : "0",
+            "Tie::IxHash" : "0",
+            "URI" : "1.55",
+            "perl" : "5.010001",
+            "version" : "0.87"
+         }
+      },
+      "test" : {
+         "requires" : {
+            "Pod::Coverage" : "0",
+            "Test::More" : "0",
+            "Test::WWW::Selenium" : "0"
+         }
+      }
+   },
+   "release_status" : "stable",
+   "version" : "42"
+}
diff --git a/META.yml b/META.yml
new file mode 100644 (file)
index 0000000..06a572c
--- /dev/null
+++ b/META.yml
@@ -0,0 +1,231 @@
+---
+abstract: 'Bugzilla Bug Tracking System'
+author:
+  - 'Bugzilla Developers <developers@bugzilla.org>'
+build_requires:
+  ExtUtils::MakeMaker: 6.57_07
+  Pod::Coverage: '0'
+  Test::More: '0'
+  Test::WWW::Selenium: '0'
+configure_requires:
+  ExtUtils::MakeMaker: 6.57_07
+dynamic_config: 1
+generated_by: 'ExtUtils::MakeMaker version 7.22, CPAN::Meta::Converter version 2.143240'
+license: unknown
+meta-spec:
+  url: http://module-build.sourceforge.net/META-spec-v1.4.html
+  version: '1.4'
+name: Bugzilla
+no_index:
+  directory:
+    - t
+    - inc
+optional_features:
+  auth_delegation:
+    description: 'Auth Delegation'
+    requires:
+      LWP::UserAgent: '0'
+  auth_ldap:
+    description: 'LDAP Authentication'
+    requires:
+      Net::LDAP: '0'
+  auth_radius:
+    description: 'RADIUS Authentication'
+    requires:
+      Authen::Radius: '0'
+  bmo:
+    description: 'features that bmo needs'
+    requires:
+      Auth::GoogleAuth: '1.01'
+      Cache::Memcached: '0.17'
+      Chart::Lines: v2.4.10
+      DBD::mysql: '4.001'
+      Daemon::Generic: '0'
+      Email::MIME::Attachment::Stripper: '0'
+      Email::Reply: '0'
+      Encode: '2.21'
+      Encode::Detect: '0'
+      File::Copy::Recursive: '0'
+      File::MimeInfo::Magic: '0'
+      File::Which: '0'
+      GD: '1.20'
+      GD::Barcode::QRcode: '0'
+      GD::Graph: '0'
+      GD::Text: '0'
+      HTML::Parser: '3.67'
+      HTML::Scrubber: '0'
+      IO::Scalar: '0'
+      JSON::RPC: '0'
+      LWP::UserAgent: '0'
+      MIME::Parser: '5.406'
+      Mozilla::CA: '0'
+      Net::SFTP: '0'
+      PatchReader: v0.9.6
+      SOAP::Lite: '0.712'
+      Template::Plugin::GD::Image: '0'
+      Test::Taint: '1.06'
+      TheSchwartz: '1.10'
+      XML::Simple: '0'
+      XML::Twig: '0'
+      XMLRPC::Lite: '0.712'
+  detect_charset:
+    description: 'Automatic charset detection for text attachments'
+    requires:
+      Encode: '2.21'
+      Encode::Detect: '0'
+  documentation:
+    description: Documentation
+    requires:
+      File::Copy::Recursive: '0'
+      File::Which: '0'
+  extension_bitly_optional:
+    requires:
+      Mozilla::CA: '0'
+  extension_push_optional:
+    requires:
+      Net::SFTP: '0'
+      XML::Simple: '0'
+  graphical_reports:
+    description: 'Graphical Reports'
+    requires:
+      GD: '1.20'
+      GD::Graph: '0'
+      GD::Text: '0'
+      Template::Plugin::GD::Image: '0'
+  html_desc:
+    description: 'More HTML in Product/Group Descriptions'
+    requires:
+      HTML::Parser: '3.67'
+      HTML::Scrubber: '0'
+  inbound_email:
+    description: 'Inbound Email'
+    requires:
+      Email::MIME::Attachment::Stripper: '0'
+      Email::Reply: '0'
+  jobqueue:
+    description: 'Mail Queueing'
+    requires:
+      Daemon::Generic: '0'
+      TheSchwartz: '1.10'
+  jsonrpc:
+    description: 'JSON-RPC Interface'
+    requires:
+      JSON::RPC: '0'
+      Test::Taint: '1.06'
+  memcached:
+    description: 'Memcached Support'
+    requires:
+      Cache::Memcached: '0.17'
+  mfa:
+    description: 'Multi-Factor Authentication'
+    requires:
+      Auth::GoogleAuth: '1.01'
+      GD::Barcode::QRcode: '0'
+  mod_perl:
+    description: 'mod_perl support under Apache'
+    requires:
+      Apache2::SizeLimit: '0.96'
+      mod_perl2: '1.999022'
+  moving:
+    description: 'Move Bugs Between Installations'
+    requires:
+      MIME::Parser: '5.406'
+      XML::Twig: '0'
+  mysql:
+    description: 'MySQL database support'
+    requires:
+      DBD::mysql: '4.001'
+  new_charts:
+    description: 'New Charts'
+    requires:
+      Chart::Lines: v2.4.10
+      GD: '1.20'
+  old_charts:
+    description: 'Old Charts'
+    requires:
+      Chart::Lines: v2.4.10
+      GD: '1.20'
+  oracle:
+    description: 'Oracle database support'
+    requires:
+      DBD::Oracle: '1.19'
+  patch_viewer:
+    description: 'Patch Viewer'
+    requires:
+      PatchReader: v0.9.6
+  pg:
+    description: 'Postgres database support'
+    requires:
+      DBD::Pg: v2.19.3
+  rest:
+    description: 'REST Interface'
+    requires:
+      JSON::RPC: '0'
+      Test::Taint: '1.06'
+  smtp_auth:
+    description: 'SMTP Authentication'
+    requires:
+      Authen::SASL: '0'
+  sqlite:
+    description: 'SQLite database support'
+    requires:
+      DBD::SQLite: '1.29'
+  typesniffer:
+    description: 'Sniff MIME type of attachments'
+    requires:
+      File::MimeInfo::Magic: '0'
+      IO::Scalar: '0'
+  updates:
+    description: 'Automatic Update Notifications'
+    requires:
+      LWP::UserAgent: '0'
+      XML::Twig: '0'
+  xmlrpc:
+    description: 'XML-RPC Interface'
+    requires:
+      SOAP::Lite: '0.712'
+      Test::Taint: '1.06'
+      XMLRPC::Lite: '0.712'
+recommends:
+  Safe: '2.30'
+requires:
+  CGI: '3.51'
+  CPAN::Meta::Prereqs: '2.132830'
+  CPAN::Meta::Requirements: '2.121'
+  Crypt::CBC: '0'
+  Crypt::DES: '0'
+  Crypt::DES_EDE3: '0'
+  Crypt::OpenPGP: '1.02'
+  Crypt::SMIME: '0'
+  DBI: '1.614'
+  Daemon::Generic: '0'
+  Date::Format: '2.23'
+  DateTime: '0.75'
+  DateTime::TimeZone: '1.64'
+  Digest::SHA: '0'
+  Email::Address: '0'
+  Email::MIME: '1.904'
+  Email::Send: '1.911'
+  File::MimeInfo::Magic: '0'
+  File::Slurp: '9999.13'
+  HTML::Tree: '0'
+  IO::Compress::Gzip: '0'
+  IO::Scalar: '0'
+  JSON: '0'
+  JSON::XS: '2.0'
+  LWP: '5.835'
+  LWP::UserAgent: '0'
+  List::MoreUtils: '0.22'
+  Math::Random::ISAAC: v1.0.1
+  Module::Metadata: '1.000033'
+  Module::Runtime: '0'
+  Parse::CPAN::Meta: '1.44'
+  Regexp::Common: '0'
+  Sys::Syslog: '0'
+  Template: '2.24'
+  Text::Diff: '0'
+  Tie::IxHash: '0'
+  URI: '1.55'
+  perl: '5.010001'
+  version: '0.87'
+version: '42'
diff --git a/Makefile.PL b/Makefile.PL
new file mode 100644 (file)
index 0000000..3d6857b
--- /dev/null
@@ -0,0 +1,387 @@
+#!/usr/bin/perl
+# 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/.
+#
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
+
+# This file has detailed POD docs, do "perldoc checksetup.pl" to see them.
+
+######################################################################
+# Initialization
+######################################################################
+
+use 5.10.1;
+use strict;
+use warnings;
+use lib qw(. lib local/lib/perl5);
+
+use ExtUtils::MakeMaker 6.55;
+use constant BUGZILLA_VERSION => $ENV{BUGZILLA_VERSION} // 42;
+use File::Basename;
+use File::Spec;
+
+# META.json and META.yml exist only for the benefit of older
+# installs where cpanm can't get the optional features out of Makefile.PL
+# Unfortunately having META.json and META.yml commited to the repo is weird
+# and MakeMaker always prefers their content to the internal data (unless CPAN::META
+# is not installed).
+# Since we (Bugzilla) require this cludge, we hide the files from MakeMaker.
+BEGIN {
+    warn "Hiding META.{json,yml} from MakeMaker...\n";
+    rename( 'META.json', 'META.json.hide' ) || unlink("META.json");
+    rename( 'META.yml',  'META.yml.hide' )  || unlink("META.yml");
+
+    if (!eval { ExtUtils::MakeMaker->VERSION('6.57_07') }) {
+        warn "WARNING: ExtUtils::MakeMaker should be at least 6.57_07 in order to support updating META.json files\n";
+    }
+}
+
+END {
+    warn "Unhiding META.{json,yml}...\n";
+    rename( 'META.json.hide', 'META.json' );
+    rename( 'META.yml.hide',  'META.yml' );
+}
+
+# PREREQ_PM
+my %requires = (
+    'CGI'                      => '3.51',
+    'DBI'                      => '1.614',
+    'Date::Format'             => '2.23',
+    'DateTime'                 => '0.75',
+    'DateTime::TimeZone'       => '1.64',
+    'Digest::SHA'              => 0,
+    'Email::MIME'              => '1.904',
+    'Email::Send'              => '1.911',
+    'File::Slurp'              => '9999.13',
+    'JSON::XS'                 => '2.01',
+    'List::MoreUtils'          => '0.22',
+    'Math::Random::ISAAC'      => '1.0.1',
+    'Template'                 => '2.24',
+    'URI'                      => '1.55',
+    'version'                  => '0.87',
+    'Parse::CPAN::Meta'        => '1.44',
+    'CPAN::Meta::Prereqs'      => '2.132830',
+    'CPAN::Meta::Requirements' => '2.121',
+    'Module::Metadata'         => '1.000033',
+    'Module::Runtime'          => 0,
+);
+my %build_requires = (
+    'ExtUtils::MakeMaker' => '6.57_07',
+);
+my %test_requires = (
+    'Test::More'         => 0,
+    'Pod::Coverage'      => 0,
+    'Test::WWW::Selenium' => 0.
+);
+my %recommends = ( Safe => '2.30' );
+
+# Windows requires some additional modules.
+if ( $^O eq 'MSWin32' ) {
+    $requires{'Win32'}                            = '0.35';
+    $requires{'Win32::API'}                       = '0.55';
+    $requires{'DateTime::TimeZone::Local::Win32'} = '1.64';
+}
+
+my %optional_features = (
+    smtp_auth => {
+        prereqs => { runtime => { requires => { 'Authen::SASL' => 0 } } },
+        description => 'SMTP Authentication'
+    },
+    detect_charset => {
+        prereqs => {
+            runtime =>
+                { requires => { 'Encode::Detect' => 0, Encode => '2.21' } }
+        },
+        description => 'Automatic charset detection for text attachments'
+    },
+    new_charts => {
+        description => 'New Charts',
+        prereqs     => {
+            runtime =>
+                { requires => { 'Chart::Lines' => 'v2.4.10', GD => '1.20' } }
+        }
+    },
+    html_desc => {
+        description => 'More HTML in Product/Group Descriptions',
+        prereqs     => {
+            runtime => {
+                requires =>
+                    { 'HTML::Parser' => '3.67', 'HTML::Scrubber' => 0 }
+            }
+        }
+    },
+    pg => {
+        prereqs => { runtime => { requires => { 'DBD::Pg' => 'v2.19.3' } } },
+        description => 'Postgres database support'
+    },
+    memcached => {
+        description => 'Memcached Support',
+        prereqs     => {
+            runtime => { requires => { 'Cache::Memcached' => '0.17' } }
+        }
+    },
+    auth_delegation => {
+        description => 'Auth Delegation',
+        prereqs => { runtime => { requires => { 'LWP::UserAgent' => 0 } } }
+    },
+    updates => {
+        description => 'Automatic Update Notifications',
+        prereqs     => {
+            runtime =>
+                { requires => { 'LWP::UserAgent' => 0, 'XML::Twig' => 0 } }
+        }
+    },
+    auth_radius => {
+        description => 'RADIUS Authentication',
+        prereqs => { runtime => { requires => { 'Authen::Radius' => 0 } } }
+    },
+    documentation => {
+        prereqs => {
+            runtime => {
+                requires =>
+                    { 'File::Which' => 0, 'File::Copy::Recursive' => 0 }
+            }
+        },
+        description => 'Documentation',
+    },
+    xmlrpc => {
+        description => 'XML-RPC Interface',
+        prereqs     => {
+            runtime => {
+                requires => {
+                    'XMLRPC::Lite' => '0.712',
+                    'SOAP::Lite'   => '0.712',
+                    'Test::Taint'  => '1.06'
+                }
+            }
+        }
+    },
+    auth_ldap => {
+        prereqs => { runtime => { requires => { 'Net::LDAP' => 0 } } },
+        description => 'LDAP Authentication'
+    },
+    old_charts => {
+        prereqs => {
+            runtime =>
+                { requires => { GD => '1.20', 'Chart::Lines' => 'v2.4.10' } }
+        },
+        description => 'Old Charts'
+    },
+    moving => {
+        prereqs => {
+            runtime => {
+                requires => { 'MIME::Parser' => '5.406', 'XML::Twig' => 0 }
+            }
+        },
+        description => 'Move Bugs Between Installations'
+    },
+    oracle => {
+        description => 'Oracle database support',
+        prereqs => { runtime => { requires => { 'DBD::Oracle' => '1.19' } } }
+    },
+    typesniffer => {
+        prereqs => {
+            runtime => {
+                requires =>
+                    { 'IO::Scalar' => 0, 'File::MimeInfo::Magic' => 0 }
+            }
+        },
+        description => 'Sniff MIME type of attachments'
+    },
+    sqlite => {
+        prereqs => { runtime => { requires => { 'DBD::SQLite' => '1.29' } } },
+        description => 'SQLite database support'
+    },
+    mysql => {
+        description => 'MySQL database support',
+        prereqs => { runtime => { requires => { 'DBD::mysql' => '4.001' } } }
+    },
+    jsonrpc => {
+        description => 'JSON-RPC Interface',
+        prereqs     => {
+            runtime =>
+                { requires => { 'JSON::RPC' => 0, 'Test::Taint' => '1.06' } }
+        }
+    },
+    graphical_reports => {
+        description => 'Graphical Reports',
+        prereqs     => {
+            runtime => {
+                requires => {
+                    'GD::Text'                    => 0,
+                    'Template::Plugin::GD::Image' => 0,
+                    'GD::Graph'                   => 0,
+                    GD                            => '1.20',
+                }
+            }
+        }
+    },
+    mfa => {
+        description => 'Multi-Factor Authentication',
+        prereqs     => {
+            runtime => {
+                requires => {
+                    'Auth::GoogleAuth'    => '1.01',
+                    'GD::Barcode::QRcode' => '0',
+                },
+            }
+        },
+    },
+    mod_perl => {
+        description => 'mod_perl support under Apache',
+        prereqs     => {
+            runtime => {
+                requires => {
+                    'mod_perl2'          => '1.999022',
+                    'Apache2::SizeLimit' => '0.96',
+                }
+            }
+        }
+    },
+    inbound_email => {
+        prereqs => {
+            runtime => {
+                requires => {
+                    'Email::MIME::Attachment::Stripper' => 0,
+                    'Email::Reply'                => 0,
+                }
+            }
+        },
+        description => 'Inbound Email'
+    },
+    patch_viewer => {
+        description => 'Patch Viewer',
+        prereqs => { runtime => { requires => { PatchReader => '0.9.6' } } }
+    },
+    rest => {
+        description => 'REST Interface',
+        prereqs     => {
+            runtime => {
+                requires => {
+                    'Test::Taint' => '1.06',
+                    'JSON::RPC' => 0,
+                }
+            }
+        }
+    },
+    jobqueue => {
+        description => 'Mail Queueing',
+        prereqs     => {
+            runtime => {
+                requires => { TheSchwartz => '1.10', 'Daemon::Generic' => 0 }
+            }
+        }
+    },
+);
+
+for my $file ( glob("extensions/*/Config.pm") ) {
+    my $dir  = dirname($file);
+    my $name = basename($dir);
+
+    next if -f File::Spec->catfile( $dir, "disabled" );
+    require $file;
+    my $class = "Bugzilla::Extension::$name";
+    if ( $class->can("REQUIRED_MODULES") ) {
+        foreach my $required_module ( @{ $class->REQUIRED_MODULES() } ) {
+            $requires{ $required_module->{module} }
+                = $required_module->{version};
+        }
+    }
+
+    if ( $class->can('OPTIONAL_MODULES') ) {
+        my $default_feature = 'extension_' . lc($name) . '_optional';
+        foreach my $mod ( @{ $class->OPTIONAL_MODULES } ) {
+            my @features
+                = $mod->{feature} ? @{ $mod->{feature} } : ($default_feature);
+            foreach my $feature (@features) {
+                $optional_features{$feature}{prereqs}{runtime}{requires}
+                    { $mod->{module} } = $mod->{version} // 0;
+            }
+        }
+    }
+}
+
+# BMO Customization
+my @bmo_features = grep {
+    !m{
+        ^
+        (?: pg
+          | oracle
+          | mod_perl
+          | sqlite
+          | auth_ldap
+          | auth_radius
+          | smtp_auth
+          | updates)
+        $
+    }mxs;
+} keys %optional_features;
+
+$optional_features{bmo} = {
+    description => 'features that bmo needs',
+    prereqs => {
+        runtime => {
+            requires => {
+                map { %{$optional_features{$_}{prereqs}{runtime}{requires}} } @bmo_features
+            },
+        },
+    },
+};
+
+WriteMakefile(
+    NAME             => 'Bugzilla',
+    AUTHOR           => q{Bugzilla Developers <developers@bugzilla.org>},
+    VERSION          => BUGZILLA_VERSION,
+    ABSTRACT         => 'Bugzilla Bug Tracking System',
+    LICENSE          => 'Mozilla_2_0',
+    MIN_PERL_VERSION => '5.10.1',
+    CONFIGURE_REQUIRES => { 'ExtUtils::MakeMaker' => $build_requires{'ExtUtils::MakeMaker'} },
+    PREREQ_PM          => { %requires },
+    BUILD_REQUIRES     => { %build_requires },
+    TEST_REQUIRES      => { %test_requires },
+    META_MERGE => {
+        "meta-spec" => {
+            url     => "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+            version => "2"
+        },
+        dynamic_config => 1,
+        prereqs        => {
+            build   => { requires => { %build_requires } },
+            runtime => { requires => { %requires }, recommends => { %recommends } },
+            test    => { requires => { %test_requires } },
+        },
+        optional_features => \%optional_features,
+    },
+);
+
+sub MY::postamble {
+    my $modules = join(' ',
+        qw(
+            CPAN::Meta
+            CPAN::Meta::Requirements
+            Parse::CPAN::Meta
+            Module::Metadata
+        )
+    );
+    return <<MAKE;
+GEN_CPANFILE_ARGS = -A -U mod_perl -U oracle
+cpanfile: MYMETA.json
+\t\$(PERLRUN) gen-cpanfile.pl \$(GEN_CPANFILE_ARGS)
+
+checksetup_lib: Makefile.PL
+\tcpanm -l .checksetup_lib $modules
+\t-rm -fr .checksetup_lib/man
+\t-rm -fr .checksetup_lib/lib/perl5/*/.meta
+\t-rm -fr .checksetup_lib/lib/perl5/Test
+\t-rm -fr .checksetup_lib/lib/perl5/ok.pm
+\t-find .checksetup_lib '(' -name '*.pod' -or -name .packlist ')' -print0 | xargs -0 rm -f
+
+META.json: Makefile.PL
+\tmake distmeta 2>&1 /dev/null; mv */META.json .
+
+META.yml: Makefile.PL
+\tmake distmeta 2>&1 /dev/null; mv */META.yml .
+MAKE
+}
index 83cc55d8b0c15cf60c80bc021644b4663b42d9e4..d8fc0475d98ab46800ffbc1799927688c0f11b99 100755 (executable)
--- a/admin.cgi
+++ b/admin.cgi
@@ -1,27 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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 Frédéric Buclin.
-# Portions created by Frédéric Buclin are Copyright (C) 2007
-# Frédéric Buclin. All Rights Reserved.
-#
-# Contributor(s): Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
+use warnings;
 
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 7f6353bdd49588d23d34236c1fed666157e6eec4..da808bd3f62c9616577ebf586dd90e7b9bac64cc 100755 (executable)
@@ -1,42 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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 <terry@mozilla.org>
-#                 Myk Melez <myk@mozilla.org>
-#                 Daniel Raichle <draichle@gmx.net>
-#                 Dave Miller <justdave@syndicomm.com>
-#                 Alexander J. Vincent <ajvincent@juno.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Greg Hendricks <ghendricks@novell.com>
-#                 Frédéric Buclin <LpSolit@gmail.com>
-#                 Marc Schumann <wurblzap@gmail.com>
-#                 Byron Jones <bugzilla@glob.com.au>
-
-################################################################################
-# Script Initialization
-################################################################################
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
-# Make it harder for us to do dangerous things in Perl.
+use 5.10.1;
 use strict;
+use warnings;
 
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::BugMail;
index 05ec79b5c7799f99c150f3bfa6c661030df423f7..86c1f656a181a29053eb748cd2ffd6b371ff21dc 100755 (executable)
--- a/auth.cgi
+++ b/auth.cgi
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -wT
+#!/usr/bin/perl -T
 # 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/.
@@ -10,7 +10,7 @@ use 5.10.1;
 use strict;
 use warnings;
 
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 48c3ac57aa3fef25f183fd8992a25bed09738049..850d79d01da0f2a02e086b44a6b4d73e586fd55d 100755 (executable)
@@ -1,38 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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 <terry@mozilla.org>
-#                 Dan Mosedale <dmose@mozilla.org>
-#                 Stephan Niemz  <st.n@gmx.net>
-#                 Andreas Franke <afranke@mathweb.org>
-#                 Myk Melez <myk@mozilla.org>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
-
-################################################################################
-# Script Initialization
-################################################################################
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
-# Make it harder for us to do dangerous things in Perl.
+use 5.10.1;
 use strict;
+use warnings;
 
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 89fefbc3f3dd9484d587225e2301f99a2cf4a26f..64c07c6c306dbd254d2cd87f71311da05aaebcb8 100755 (executable)
--- a/chart.cgi
+++ b/chart.cgi
@@ -1,26 +1,10 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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): Gervase Markham <gerv@gerv.net>
-#                 Lance Larsh <lance.larsh@oracle.com>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 # Glossary:
 # series:   An individual, defined set of data plotted over time.
 # Bonus:
 # Offer subscription when you get a "series already exists" error?
 
+use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 9221abd4d08f056305ae659dfb47f8a4f05c6a1d..e5df8c5c8446c19de209129d51de2d29141816cb 100755 (executable)
@@ -1,40 +1,10 @@
-#!/usr/bin/perl -w
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl
+# 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/.
 #
-# 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 mozilla.org code.
-#
-# The Initial Developer of the Original Code is Holger
-# Schurig. Portions created by Holger Schurig are
-# Copyright (C) 1999 Holger Schurig. All
-# Rights Reserved.
-#
-# Contributor(s): Holger Schurig <holgerschurig@nikocity.de>
-#                 Terry Weissman <terry@mozilla.org>
-#                 Dan Mosedale <dmose@mozilla.org>
-#                 Dave Miller <justdave@syndicomm.com>
-#                 Zach Lipton  <zach@zachlipton.com>
-#                 Jacob Steenhagen <jake@bugzilla.org>
-#                 Bradley Baetz <bbaetz@student.usyd.edu.au>
-#                 Tobias Burnus <burnus@net-b.de>
-#                 Shane H. W. Travis <travis@sedsystems.ca>
-#                 Gervase Markham <gerv@gerv.net>
-#                 Erik Stambaugh <erik@dasbistro.com>
-#                 Dave Lawrence <dkl@redhat.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Joel Peshkin <bugreport@peshkin.net>
-#                 Lance Larsh <lance.larsh@oracle.com>
-#                 A. Karl Kornel <karl@kornel.name>
-#                 Marc Schumann <wurblzap@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 # This file has detailed POD docs, do "perldoc checksetup.pl" to see them.
 
 # Initialization
 ######################################################################
 
+use 5.10.1;
 use strict;
-use 5.008001;
+use warnings;
+
 use File::Basename;
+BEGIN { chdir dirname($0); }
+use lib qw(. lib local/lib/perl5 .checksetup_lib/lib/perl5);
+
+# the @INC which checksetup needs to operate against.
+our @BUGZILLA_INC = grep { !/checksetup_lib/ } @INC;
+
 use Getopt::Long qw(:config bundling);
 use Pod::Usage;
+# Bug 1270550 - Tie::Hash::NamedCapture must be loaded before Safe.
+use Tie::Hash::NamedCapture;
 use Safe;
 
-BEGIN { chdir dirname($0); }
-use lib qw(. lib);
 use Bugzilla::Constants;
 use Bugzilla::Install::Requirements;
 use Bugzilla::Install::Util qw(install_string get_version_and_os 
@@ -68,34 +46,56 @@ Bugzilla::Install::Util::no_checksetup_from_cgi() if $ENV{'SERVER_SOFTWARE'};
 init_console();
 
 my %switch;
-GetOptions(\%switch, 'help|h|?', 'check-modules', 'cpanfile',
+GetOptions(\%switch, 'help|h|?',
                      'no-templates|t', 'verbose|v|no-silent',
-                     'make-admin=s', 'reset-password=s', 'version|V');
+                     'cpanm:s', 'check-modules',
+                     'make-admin=s', 'reset-password=s', 'version|V',
+                     'no-permissions|p');
 
 # Print the help message if that switch was selected.
 pod2usage({-verbose => 1, -exitval => 1}) if $switch{'help'};
 
-# Export cpanfile and exit
-if ($switch{cpanfile}) {
-    export_cpanfile();
-    exit;
-}
-
 # Read in the "answers" file if it exists, for running in 
 # non-interactive mode.
 my $answers_file = $ARGV[0];
 my $silent = $answers_file && !$switch{'verbose'};
-
 print(install_string('header', get_version_and_os()) . "\n") unless $silent;
-exit if $switch{'version'};
-# Check required --MODULES--
-my $module_results = check_requirements(!$silent);
-Bugzilla::Install::Requirements::print_module_instructions(
-    $module_results, !$silent);
-exit if !$module_results->{pass};
-# Break out if checking the modules is all we have been asked to do.
-exit if $switch{'check-modules'};
+exit 0 if $switch{'version'};
+
+if (defined $switch{cpanm}) {
+    my $default = 'all notest -oracle -mysql -pg -mod_perl -old_charts -new_charts -graphical_reports -detect_charset';
+    my @features = split(/\s+/, $switch{cpanm} || $default);
+    my @cpanm_args = ('-l', 'local', '--installdeps');
+    while (my $feature = shift @features) {
+        if ($feature eq 'all') {
+            push @cpanm_args, '--with-all-features';
+        }
+        elsif ($feature eq 'default') {
+            unshift @features, split(/\s+/, $default);
+        }
+        elsif ($feature eq 'notest' || $feature eq 'skip-satisfied' || $feature eq 'quiet') {
+            push @cpanm_args, "--$feature";
+        }
+        elsif ($feature =~ /^-(.+)$/) {
+            push @cpanm_args, "--without-feature=$1";
+        }
+        else {
+            push @cpanm_args, "--with-feature=$feature";
+        }
+    }
+    print "cpanm @cpanm_args \".\"\n" if !$silent;
+    my $rv = system('cpanm', @cpanm_args, '.');
+    exit 1 if $rv != 0;
+}
+
+my $meta = load_cpan_meta();
+my $requirements = check_cpan_requirements($meta, \@BUGZILLA_INC, !$silent);
 
+exit 1 unless $requirements->{ok};
+
+check_all_cpan_features($meta, \@BUGZILLA_INC, !$silent);
+
+exit 0 if $switch{'check-modules'};
 ###########################################################################
 # Load Bugzilla Modules
 ###########################################################################
@@ -143,7 +143,7 @@ my $lc_hash = Bugzilla->localconfig;
 
 # At this point, localconfig is defined and is readable. So we know
 # everything we need to create the DB. We have to create it early,
-# because some data required to populate data/params is stored in the DB.
+# because some data required to populate data/params.json is stored in the DB.
 
 Bugzilla::DB::bz_check_requirements(!$silent);
 Bugzilla::DB::bz_create_database() if $lc_hash->{'db_check'};
@@ -179,7 +179,7 @@ Bugzilla::Template::precompile_templates(!$silent)
 # Set proper rights (--CHMOD--)
 ###########################################################################
 
-fix_all_file_permissions(!$silent);
+fix_all_file_permissions(!$silent) unless $switch{'no-permissions'};
 
 ###########################################################################
 # Check GraphViz setup
@@ -187,7 +187,15 @@ fix_all_file_permissions(!$silent);
 
 # If we are using a local 'dot' binary, verify the specified binary exists
 # and that the generated images are accessible.
-check_graphviz(!$silent) if Bugzilla->params->{'webdotbase'};
+check_webdotbase(!$silent) if $lc_hash->{'webdotbase'};
+
+###########################################################################
+# Check font file setup
+###########################################################################
+
+# If we are using a local font file, verify the specified file exists and
+# that it has the correct extension.
+check_font_file(!$silent) if $lc_hash->{'font_file'};
 
 ###########################################################################
 # Changes to the fielddefs --TABLE--
@@ -268,7 +276,7 @@ checksetup.pl - A do-it-all upgrade and installation script for Bugzilla.
 
 =head1 SYNOPSIS
 
- ./checksetup.pl [--help|--check-modules|--version]
+ ./checksetup.pl [--help|--version]
  ./checksetup.pl [SCRIPT [--verbose]] [--no-templates|-t]
                  [--make-admin=user@domain.com]
                  [--reset-password=user@domain.com]
@@ -289,16 +297,6 @@ the L</"RUNNING CHECKSETUP NON-INTERACTIVELY"> section.
 
 Display this help text
 
-=item B<--cpanfile>
-
-Outputs a cpanfile in the document root listing the current and optional
-modules with their respective versions. This file can be used by <cpanm>
-and other utilities used to install Perl dependencies.
-
-=item B<--check-modules>
-
-Only check for correct module dependencies and quit afterward.
-
 =item B<--make-admin>=username@domain.com
 
 Makes the specified user into a Bugzilla administrator. This is
@@ -325,6 +323,12 @@ Output results of SCRIPT being processed.
 Display the version of Bugzilla, Perl, and some info about the
 system that Bugzilla is being installed on, and then exit.
 
+=item B<--no-permissions> (B<-p>)
+
+Don't update file permissions. Owner, group, and mode of files and
+directories will not be changed. Use this if your installation is
+managed by a software packaging system such as RPM or APT.
+
 =back
 
 =head1 DESCRIPTION
@@ -409,7 +413,7 @@ L<Bugzilla::Install::Filesystem/create_htaccess>.
 
 =item 9
 
-Updates the system parameters (stored in F<data/params>), using
+Updates the system parameters (stored in F<data/params.json>), using
 L<Bugzilla::Config/update_params>.
 
 =item 10
@@ -502,8 +506,6 @@ The format of that file is as follows:
  $answer{'ADMIN_PASSWORD'} = 'fooey';
  $answer{'ADMIN_REALNAME'} = 'Joel Peshkin';
 
- $answer{'SMTP_SERVER'} = 'mail.mydomain.net';
-
  $answer{'NO_PAUSE'} = 1
 
 C<NO_PAUSE> means "never stop and prompt the user to hit Enter to continue,
@@ -543,4 +545,3 @@ L<Bugzilla::Config/update_params>
 L<Bugzilla::DB/CONNECTION>
 
 =back
-
index 9884b7c48fbaad0f861faea2583937e8d5ae8eee..810fe598cd1bfb3aae28cf580821cf6665e72b08 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -wT
+#!/usr/bin/perl
 # 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/.
@@ -22,7 +22,7 @@ It takes no arguments and produces no output except in the case of errors.
 use 5.10.1;
 use strict;
 use warnings;
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 844f7615cedabea0b60bcc343b2df90dce695964..2d0a7ba1e9b8ddb83966f698d0031e9c7f39c176 100755 (executable)
@@ -1,30 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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 <terry@mozilla.org>
-#                 Gervase Markham <gerv@gerv.net>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Pascal Held <paheld@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 2676851170b065ab7de0f0259a4131447e4c5a50..396f7ff6efe1fe92c5816a7519aa2dc27edf8307 100755 (executable)
@@ -1,32 +1,16 @@
-#!/usr/bin/perl -w
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl
+# 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/.
 #
-# 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 <terry@mozilla.org>,
-#                 Harrison Page <harrison@netscape.com>
-#                 Gervase Markham <gerv@gerv.net>
-#                 Richard Walters <rwalters@qualcomm.com>
-#                 Jean-Sebastien Guay <jean_seb@hybride.com>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
 
 use Getopt::Long qw(:config bundling);
 use Pod::Usage;
index fcc5d82edcd2649fd09e6ccfd65c47b0b5dd0acb..5f29025cddf1270aec696e996ced374979ce5f76 100755 (executable)
@@ -1,35 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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 <terry@mozilla.org>
-#                 Myk Melez <myk@mozilla.org>
-#                 Frank Becker <Frank@Frank-Becker.de>
-
-################################################################################
-# Script Initialization
-################################################################################
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
-# Make it harder for us to do dangerous things in Perl.
+use 5.10.1;
 use strict;
+use warnings;
 
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 01202ce7c0fb5637e9d3ccc8309dfac6a692f3bb..31fe3bb00e9c34385890ae72def966eca830077d 100755 (executable)
@@ -10,9 +10,8 @@
 use strict;
 use warnings;
 
-use FindBin qw($Bin);
-use lib "$Bin/..";
-use lib "$Bin/../lib";
+use FindBin;
+use lib "$FindBin::Bin/..", "$FindBin::Bin/../lib", "$FindBin::Bin/../local/lib/perl5";
 
 use Bugzilla;
 use Bugzilla::Constants;
index 8b0864d46d4bc70155270d90250f6f1d2fbf662a..ba89cb6d58f19da662ea149e6e3abcfd2d52a707 100755 (executable)
@@ -9,7 +9,8 @@
 
 use strict;
 use warnings;
-use lib qw(. lib);
+use FindBin;
+use lib "$FindBin::Bin/..", "$FindBin::Bin/../lib", "$FindBin::Bin/../local/lib/perl5";
 
 use Bugzilla;
 use Bugzilla::Constants;
index 406c149cbd4f9a3e76c5b255d8c971ee165f73e2..3246fc06ba76d4aa82bc3a7d1df47b614c545e62 100755 (executable)
@@ -21,7 +21,8 @@
 
 use strict;
 use warnings;
-use lib qw(. lib);
+use FindBin;
+use lib "$FindBin::Bin/..", "$FindBin::Bin/../lib", "$FindBin::Bin/../local/lib/perl5";
 
 use Bugzilla;
 use Bugzilla::Install::Filesystem qw(fix_all_file_permissions);
index 768053126385e55c38d03804c4f4c99685318fa6..f0d18f50906a5c2544a9f3275fd6a2a98ca60098 100755 (executable)
@@ -10,9 +10,9 @@
 use strict;
 use warnings;
 
-use FindBin qw($Bin);
-use lib "$Bin/..";
-use lib "$Bin/../lib";
+use FindBin;
+use lib "$FindBin::Bin/..", "$FindBin::Bin/../lib", "$FindBin::Bin/../local/lib/perl5";
+
 
 use Bugzilla;
 use Bugzilla::Constants;
diff --git a/cpanfile b/cpanfile
new file mode 100644 (file)
index 0000000..51867bd
--- /dev/null
+++ b/cpanfile
@@ -0,0 +1,87 @@
+requires 'Auth::GoogleAuth', '==1.01';
+requires 'CGI', '==3.51';
+requires 'CPAN::Meta::Prereqs', '2.132830';
+requires 'CPAN::Meta::Requirements', '2.121';
+requires 'Cache::Memcached';
+requires 'Chart::Lines', '==2.4.10';
+requires 'Crypt::CBC';
+requires 'Crypt::DES';
+requires 'Crypt::DES_EDE3';
+requires 'Crypt::OpenPGP';
+requires 'Crypt::SMIME';
+requires 'DBD::SQLite', '1.29';
+requires 'DBD::mysql', '==4.022';
+requires 'DBI', '==1.622';
+requires 'Daemon::Generic';
+requires 'Date::Format', '==2.23';
+requires 'Params::Validate', '==0.95';
+requires 'DateTime', '==1.03';
+requires 'DateTime::Locale', '==0.45';
+requires 'DateTime::TimeZone', '==1.69';
+requires 'Digest::SHA';
+requires 'Email::Address';
+requires 'Email::MIME', '1.904';
+requires 'Email::MIME::Attachment::Stripper';
+requires 'Email::Reply';
+requires 'Email::Send', '1.911';
+requires 'Encode', '2.21';
+requires 'Encode::Detect';
+requires 'File::Copy::Recursive';
+requires 'File::MimeInfo::Magic';
+requires 'File::Slurp', '9999.13';
+requires 'File::Which';
+requires 'GD', '1.20';
+requires 'GD::Barcode::QRcode';
+requires 'GD::Graph';
+requires 'GD::Text';
+requires 'HTML::Parser', '3.67';
+requires 'HTML::Scrubber';
+requires 'HTML::Tree';
+requires 'IO::Compress::Gzip';
+requires 'IO::Scalar', '==2.110',
+requires 'JSON', '==2.50';
+requires 'JSON::RPC', '==1.01';
+requires 'JSON::XS', '==2.3';
+requires 'LWP', '==5.835';
+requires 'LWP::UserAgent', '==5.835';
+requires 'Scalar::Util', '==1.21';
+requires 'List::Util', '==1.21';
+requires 'List::MoreUtils', '==0.22';
+requires 'MIME::Parser', '5.406';
+requires 'Math::Random::ISAAC', 'v1.0.1';
+requires 'Module::Metadata', '1.000033';
+requires 'Module::Runtime';
+requires 'Mozilla::CA';
+requires 'Net::SFTP';
+requires 'Parse::CPAN::Meta', '1.44';
+requires 'PatchReader', 'v0.9.6';
+requires 'Regexp::Common';
+requires 'SOAP::Lite';
+requires 'Sys::Syslog';
+requires 'Template', '==2.24';
+requires 'Template::Plugin::GD::Image';
+requires 'Test::Taint', '==1.06';
+requires 'Text::Diff';
+requires 'TheSchwartz', '1.10';
+requires 'Tie::IxHash';
+requires 'URI', '1.55';
+requires 'XML::Simple';
+requires 'XML::Twig';
+requires 'XMLRPC::Lite';
+requires 'perl', '5.010001';
+requires 'version', '0.87';
+requires 'Safe', '2.30';
+
+on configure => sub {
+    requires 'ExtUtils::MakeMaker', '6.57_07';
+};
+
+on build => sub {
+    requires 'ExtUtils::MakeMaker', '6.57_07';
+};
+
+on test => sub {
+    requires 'Pod::Coverage';
+    requires 'Test::More';
+    requires 'Test::WWW::Selenium';
+};
diff --git a/cpanfile.snapshot b/cpanfile.snapshot
new file mode 100644 (file)
index 0000000..9ab2613
--- /dev/null
@@ -0,0 +1,4614 @@
+# carton snapshot format: version 1.0
+DISTRIBUTIONS
+  Algorithm-Diff-1.1903
+    pathname: T/TY/TYEMQ/Algorithm-Diff-1.1903.tar.gz
+    provides:
+      Algorithm::Diff 1.1903
+      Algorithm::Diff::_impl 1.1903
+    requirements:
+      ExtUtils::MakeMaker 0
+  Alt-Crypt-RSA-BigInt-0.05
+    pathname: D/DA/DANAJ/Alt-Crypt-RSA-BigInt-0.05.tar.gz
+    provides:
+      Alt::Crypt::RSA::BigInt 0.05
+    requirements:
+      Benchmark 0
+      Bytes::Random::Secure 0.23
+      Carp 0
+      Class::Loader 0
+      Convert::ASCII::Armour 0
+      Crypt::Blowfish 0
+      Crypt::CBC 2.17
+      Data::Buffer 0
+      Data::Dumper 0
+      Digest::MD2 0
+      Digest::MD5 0
+      Digest::SHA 0
+      Exporter 0
+      ExtUtils::MakeMaker 0
+      MIME::Base64 0
+      Math::BigInt 1.78
+      Math::BigInt::GMP 0
+      Math::Prime::Util 0.17
+      Math::Prime::Util::GMP 0
+      Sort::Versions 0
+      Test::More 0.45
+      Tie::EncryptedHash 0
+      perl 5.008
+  AnyEvent-7.12
+    pathname: M/ML/MLEHMANN/AnyEvent-7.12.tar.gz
+    provides:
+      AE undef
+      AE::Log::COLLECT undef
+      AE::Log::FILTER undef
+      AE::Log::LOG undef
+      AnyEvent 7.12
+      AnyEvent::Base 7.12
+      AnyEvent::CondVar 7.12
+      AnyEvent::CondVar::Base 7.12
+      AnyEvent::DNS undef
+      AnyEvent::Debug undef
+      AnyEvent::Debug::Backtrace undef
+      AnyEvent::Debug::Wrap undef
+      AnyEvent::Debug::Wrapped undef
+      AnyEvent::Debug::shell undef
+      AnyEvent::Handle undef
+      AnyEvent::IO undef
+      AnyEvent::IO::IOAIO undef
+      AnyEvent::IO::Perl undef
+      AnyEvent::Impl::Cocoa undef
+      AnyEvent::Impl::EV undef
+      AnyEvent::Impl::Event undef
+      AnyEvent::Impl::EventLib undef
+      AnyEvent::Impl::FLTK undef
+      AnyEvent::Impl::Glib undef
+      AnyEvent::Impl::IOAsync undef
+      AnyEvent::Impl::Irssi undef
+      AnyEvent::Impl::POE undef
+      AnyEvent::Impl::Perl undef
+      AnyEvent::Impl::Qt undef
+      AnyEvent::Impl::Qt::Io undef
+      AnyEvent::Impl::Qt::Timer undef
+      AnyEvent::Impl::Tk undef
+      AnyEvent::Impl::UV undef
+      AnyEvent::Log undef
+      AnyEvent::Log::COLLECT undef
+      AnyEvent::Log::Ctx undef
+      AnyEvent::Log::FILTER undef
+      AnyEvent::Log::LOG undef
+      AnyEvent::Loop undef
+      AnyEvent::Socket undef
+      AnyEvent::Strict undef
+      AnyEvent::TLS undef
+      AnyEvent::Util undef
+    requirements:
+      Canary::Stability 0
+      ExtUtils::MakeMaker 6.52
+  Apache-LogFormat-Compiler-0.33
+    pathname: K/KA/KAZEBURO/Apache-LogFormat-Compiler-0.33.tar.gz
+    provides:
+      Apache::LogFormat::Compiler 0.33
+    requirements:
+      Module::Build 0.38
+      POSIX 0
+      POSIX::strftime::Compiler 0.30
+      Time::Local 0
+      perl 5.008001
+  AppConfig-1.71
+    pathname: N/NE/NEILB/AppConfig-1.71.tar.gz
+    provides:
+      AppConfig 1.71
+      AppConfig::Args 1.71
+      AppConfig::CGI 1.71
+      AppConfig::File 1.71
+      AppConfig::Getopt 1.71
+      AppConfig::State 1.71
+      AppConfig::Sys 1.71
+    requirements:
+      ExtUtils::MakeMaker 0
+      Test::More 0
+      perl 5.008008
+  Auth-GoogleAuth-1.01
+    pathname: G/GR/GRYPHON/Auth-GoogleAuth-1.01.tar.gz
+    provides:
+      Auth::GoogleAuth 1.01
+    requirements:
+      Carp 0
+      Class::Accessor 0
+      Convert::Base32 0
+      Digest::HMAC_SHA1 0
+      ExtUtils::MakeMaker 0
+      Math::Random::MT 0
+      URI::Escape 0
+      base 0
+      perl 5.006
+      strict 0
+      warnings 0
+  B-Hooks-EndOfScope-0.21
+    pathname: E/ET/ETHER/B-Hooks-EndOfScope-0.21.tar.gz
+    provides:
+      B::Hooks::EndOfScope 0.21
+      B::Hooks::EndOfScope::PP 0.21
+      B::Hooks::EndOfScope::XS 0.21
+    requirements:
+      ExtUtils::MakeMaker 0
+      Module::Implementation 0.05
+      Sub::Exporter::Progressive 0.001006
+      Text::ParseWords 0
+      Variable::Magic 0.48
+      perl 5.008001
+      strict 0
+      warnings 0
+  Bytes-Random-Secure-0.29
+    pathname: D/DA/DAVIDO/Bytes-Random-Secure-0.29.tar.gz
+    provides:
+      Bytes::Random::Secure 0.29
+    requirements:
+      Carp 0
+      Crypt::Random::Seed 0
+      ExtUtils::MakeMaker 6.56
+      MIME::Base64 0
+      MIME::QuotedPrint 3.03
+      Math::Random::ISAAC 0
+      Scalar::Util 1.21
+      Test::More 0.98
+      perl 5.006000
+  CGI.pm-3.51
+    pathname: M/MA/MARKSTOS/CGI.pm-3.51.tar.gz
+    provides:
+      CGI 3.51
+      CGI::Apache 1.01
+      CGI::Carp 3.51
+      CGI::Cookie 1.30
+      CGI::Fast 1.08
+      CGI::Pretty 3.46
+      CGI::Push 1.05
+      CGI::Switch 1.01
+      CGI::Util 3.51
+      CGITempFile 3.51
+      Fh 3.51
+      MultipartBuffer 3.51
+      utf8 3.51
+    requirements:
+      ExtUtils::MakeMaker 0
+      FCGI 0.67
+      File::Spec 0.82
+      Test::More 0.8
+      perl 5.006000
+  CPAN-Meta-2.150005
+    pathname: D/DA/DAGOLDEN/CPAN-Meta-2.150005.tar.gz
+    provides:
+      CPAN::Meta 2.150005
+      CPAN::Meta::Converter 2.150005
+      CPAN::Meta::Feature 2.150005
+      CPAN::Meta::History 2.150005
+      CPAN::Meta::Merge 2.150005
+      CPAN::Meta::Prereqs 2.150005
+      CPAN::Meta::Spec 2.150005
+      CPAN::Meta::Validator 2.150005
+    requirements:
+      CPAN::Meta::Requirements 2.121
+      CPAN::Meta::YAML 0.008
+      Carp 0
+      ExtUtils::MakeMaker 6.17
+      JSON::PP 2.27200
+      Parse::CPAN::Meta 1.4414
+      Scalar::Util 0
+      perl 5.008
+      strict 0
+      version 0.88
+      warnings 0
+  CPAN-Meta-Requirements-2.140
+    pathname: D/DA/DAGOLDEN/CPAN-Meta-Requirements-2.140.tar.gz
+    provides:
+      CPAN::Meta::Requirements 2.140
+    requirements:
+      B 0
+      Carp 0
+      ExtUtils::MakeMaker 6.17
+      perl 5.006
+      strict 0
+      version 0.88
+      warnings 0
+  CPAN-Meta-YAML-0.018
+    pathname: D/DA/DAGOLDEN/CPAN-Meta-YAML-0.018.tar.gz
+    provides:
+      CPAN::Meta::YAML 0.018
+    requirements:
+      B 0
+      Carp 0
+      Exporter 0
+      ExtUtils::MakeMaker 6.17
+      Fcntl 0
+      Scalar::Util 0
+      perl 5.008001
+      strict 0
+      warnings 0
+  Cache-Memcached-1.30
+    pathname: D/DO/DORMANDO/Cache-Memcached-1.30.tar.gz
+    provides:
+      Cache::Memcached 1.30
+      Cache::Memcached::GetParser undef
+    requirements:
+      Encode 0
+      ExtUtils::MakeMaker 0
+      Storable 0
+      String::CRC32 0
+      Time::HiRes 0
+  Canary-Stability-2011
+    pathname: M/ML/MLEHMANN/Canary-Stability-2011.tar.gz
+    provides:
+      Canary::Stability 2011
+    requirements:
+      ExtUtils::MakeMaker 0
+  Chart-2.4.10
+    pathname: C/CH/CHARTGRP/Chart-2.4.10.tar.gz
+    provides:
+      Chart undef
+      Chart::Bars 2.004010
+      Chart::Base 2.004010
+      Chart::BrushStyles 2.004010
+      Chart::Composite 2.004010
+      Chart::Constants undef
+      Chart::Direction 2.004010
+      Chart::ErrorBars 2.004010
+      Chart::HorizontalBars 2.004010
+      Chart::Lines 2.004010
+      Chart::LinesPoints 2.004010
+      Chart::Mountain 2.004010
+      Chart::Pareto 2.004010
+      Chart::Pie 2.004010
+      Chart::Points 2.004010
+      Chart::Split 2.004010
+      Chart::StackedBars 2.004010
+    requirements:
+      ExtUtils::MakeMaker 0
+      GD 2
+  Class-Accessor-0.34
+    pathname: K/KA/KASEI/Class-Accessor-0.34.tar.gz
+    provides:
+      Class::Accessor 0.34
+      Class::Accessor::Fast 0.34
+      Class::Accessor::Faster 0.34
+    requirements:
+      ExtUtils::MakeMaker 0
+      base 1.01
+  Class-Accessor-Lite-0.08
+    pathname: K/KA/KAZUHO/Class-Accessor-Lite-0.08.tar.gz
+    provides:
+      Class::Accessor::Lite 0.08
+    requirements:
+      ExtUtils::MakeMaker 6.36
+  Class-Data-Inheritable-0.08
+    pathname: T/TM/TMTM/Class-Data-Inheritable-0.08.tar.gz
+    provides:
+      Class::Data::Inheritable 0.08
+    requirements:
+      ExtUtils::MakeMaker 0
+  Class-ErrorHandler-0.04
+    pathname: T/TO/TOKUHIROM/Class-ErrorHandler-0.04.tar.gz
+    provides:
+      Class::ErrorHandler 0.04
+    requirements:
+      ExtUtils::MakeMaker 0
+      perl 5.008_001
+  Class-Inspector-1.28
+    pathname: A/AD/ADAMK/Class-Inspector-1.28.tar.gz
+    provides:
+      Class::Inspector 1.28
+      Class::Inspector::Functions 1.28
+    requirements:
+      ExtUtils::MakeMaker 6.59
+      File::Spec 0.80
+      Test::More 0.47
+      perl 5.006
+  Class-Load-0.23
+    pathname: E/ET/ETHER/Class-Load-0.23.tar.gz
+    provides:
+      Class::Load 0.23
+      Class::Load::PP 0.23
+    requirements:
+      Carp 0
+      Data::OptList 0
+      Exporter 0
+      ExtUtils::MakeMaker 0
+      Module::Implementation 0.04
+      Module::Runtime 0.012
+      Package::Stash 0.14
+      Scalar::Util 0
+      Try::Tiny 0
+      base 0
+      perl 5.006
+      strict 0
+      warnings 0
+  Class-Loader-2.03
+    pathname: V/VI/VIPUL/Class-Loader-2.03.tar.gz
+    provides:
+      Class::Loader 2.03
+      Class::LoaderTest undef
+    requirements:
+      ExtUtils::MakeMaker 0
+  Class-Singleton-1.5
+    pathname: S/SH/SHAY/Class-Singleton-1.5.tar.gz
+    provides:
+      Class::Singleton 1.5
+    requirements:
+      ExtUtils::MakeMaker 0
+  Class-Trigger-0.14
+    pathname: M/MI/MIYAGAWA/Class-Trigger-0.14.tar.gz
+    provides:
+      Class::Trigger 0.14
+    requirements:
+      ExtUtils::MakeMaker 6.42
+      Filter::Util::Call 0
+      IO::Scalar 0
+      IO::WrapTie 0
+      Test::More 0.32
+  Compress-Raw-Bzip2-2.069
+    pathname: P/PM/PMQS/Compress-Raw-Bzip2-2.069.tar.gz
+    provides:
+      Compress::Raw::Bzip2 2.069
+    requirements:
+      ExtUtils::MakeMaker 0
+  Compress-Raw-Zlib-2.069
+    pathname: P/PM/PMQS/Compress-Raw-Zlib-2.069.tar.gz
+    provides:
+      Compress::Raw::Zlib 2.069
+    requirements:
+      ExtUtils::MakeMaker 0
+  Convert-ASCII-Armour-1.4
+    pathname: V/VI/VIPUL/Convert-ASCII-Armour-1.4.tar.gz
+    provides:
+      Convert::ASCII::Armor undef
+      Convert::ASCII::Armour 1.4
+    requirements:
+      Compress::Zlib 0
+      Digest::MD5 0
+      ExtUtils::MakeMaker 0
+      MIME::Base64 0
+  Convert-ASN1-0.27
+    pathname: G/GB/GBARR/Convert-ASN1-0.27.tar.gz
+    provides:
+      Convert::ASN1 0.27
+    requirements:
+      ExtUtils::MakeMaker 6.30
+      Math::BigInt 1.997
+      Test::More 0.90
+  Convert-Base32-0.06
+    pathname: I/IK/IKEGAMI/Convert-Base32-0.06.tar.gz
+    provides:
+      Convert::Base32 0.06
+    requirements:
+      ExtUtils::MakeMaker 0
+      Test::Exception 0
+      Test::More 0
+  Convert-PEM-0.08
+    pathname: B/BT/BTROTT/Convert-PEM-0.08.tar.gz
+    provides:
+      Convert::PEM 0.08
+      Convert::PEM::CBC undef
+    requirements:
+      Class::ErrorHandler 0
+      Convert::ASN1 0.10
+      Crypt::DES_EDE3 0
+      Digest::MD5 0
+      ExtUtils::MakeMaker 6.42
+      Filter::Util::Call 0
+      MIME::Base64 0
+      Test::Exception 0
+      Test::More 0
+      perl 5.008001
+  Cookie-Baker-0.06
+    pathname: K/KA/KAZEBURO/Cookie-Baker-0.06.tar.gz
+    provides:
+      Cookie::Baker 0.06
+    requirements:
+      Exporter 0
+      Module::Build 0.38
+      URI::Escape 0
+      perl 5.008001
+  Crypt-Blowfish-2.14
+    pathname: D/DP/DPARIS/Crypt-Blowfish-2.14.tar.gz
+    provides:
+      Crypt::Blowfish 2.14
+    requirements:
+      ExtUtils::MakeMaker 0
+  Crypt-CAST5_PP-1.04
+    pathname: B/BO/BOBMATH/Crypt-CAST5_PP-1.04.tar.gz
+    provides:
+      Crypt::CAST5_PP 1.04
+    requirements:
+      ExtUtils::MakeMaker 0
+      Test::More 0.47
+  Crypt-CBC-2.33
+    pathname: L/LD/LDS/Crypt-CBC-2.33.tar.gz
+    provides:
+      Crypt::CBC 2.33
+    requirements:
+      Digest::MD5 2.00
+      ExtUtils::MakeMaker 0
+  Crypt-Curve25519-0.05
+    pathname: A/AJ/AJGB/Crypt-Curve25519-0.05.tar.gz
+    provides:
+      Crypt::Curve25519 0.05
+    requirements:
+      ExtUtils::MakeMaker 0
+  Crypt-DES-2.07
+    pathname: D/DP/DPARIS/Crypt-DES-2.07.tar.gz
+    provides:
+      Crypt::DES 2.07
+    requirements:
+      ExtUtils::MakeMaker 0
+  Crypt-DES_EDE3-0.01
+    pathname: B/BT/BTROTT/Crypt-DES_EDE3-0.01.tar.gz
+    provides:
+      Crypt::DES_EDE3 0.01
+    requirements:
+      Crypt::DES 0
+      ExtUtils::MakeMaker 0
+  Crypt-DH-0.07
+    pathname: M/MI/MITHALDU/Crypt-DH-0.07.tar.gz
+    provides:
+      Crypt::DH 0.07
+    requirements:
+      ExtUtils::MakeMaker 6.59
+      Math::BigInt 1.60
+      Math::BigInt::GMP 1.24
+      Test::More 0.47
+      perl 5.006
+  Crypt-DSA-1.17
+    pathname: A/AD/ADAMK/Crypt-DSA-1.17.tar.gz
+    provides:
+      BufferWithInt 1.17
+      Crypt::DSA 1.17
+      Crypt::DSA::Key 1.17
+      Crypt::DSA::Key::PEM 1.17
+      Crypt::DSA::Key::SSH2 1.17
+      Crypt::DSA::KeyChain 1.17
+      Crypt::DSA::Signature 1.17
+      Crypt::DSA::Util 1.17
+    requirements:
+      Data::Buffer 0.01
+      Digest::SHA1 0
+      ExtUtils::MakeMaker 6.42
+      File::Spec 0
+      File::Which 0.05
+      IPC::Open3 0
+      MIME::Base64 0
+      Math::BigInt 1.78
+      Test::More 0.42
+      perl 5.006
+  Crypt-IDEA-1.10
+    pathname: D/DP/DPARIS/Crypt-IDEA-1.10.tar.gz
+    provides:
+      Crypt::IDEA 1.10
+      IDEA 1.10
+    requirements:
+      ExtUtils::MakeMaker 0
+  Crypt-OpenPGP-1.12
+    pathname: S/SR/SROMANOV/Crypt-OpenPGP-1.12.tar.gz
+    provides:
+      Crypt::OpenPGP 1.12
+      Crypt::OpenPGP::Armour undef
+      Crypt::OpenPGP::Buffer undef
+      Crypt::OpenPGP::CFB undef
+      Crypt::OpenPGP::Certificate undef
+      Crypt::OpenPGP::Cipher undef
+      Crypt::OpenPGP::Cipher::Blowfish undef
+      Crypt::OpenPGP::Cipher::CAST5 undef
+      Crypt::OpenPGP::Cipher::DES3 undef
+      Crypt::OpenPGP::Cipher::IDEA undef
+      Crypt::OpenPGP::Cipher::Rijndael undef
+      Crypt::OpenPGP::Cipher::Rijndael192 undef
+      Crypt::OpenPGP::Cipher::Rijndael256 undef
+      Crypt::OpenPGP::Cipher::Twofish undef
+      Crypt::OpenPGP::Ciphertext undef
+      Crypt::OpenPGP::Compressed undef
+      Crypt::OpenPGP::Config undef
+      Crypt::OpenPGP::Config::GnuPG undef
+      Crypt::OpenPGP::Config::PGP2 undef
+      Crypt::OpenPGP::Config::PGP5 undef
+      Crypt::OpenPGP::Constants undef
+      Crypt::OpenPGP::Digest undef
+      Crypt::OpenPGP::Digest::MD5 undef
+      Crypt::OpenPGP::Digest::RIPEMD160 undef
+      Crypt::OpenPGP::Digest::SHA1 undef
+      Crypt::OpenPGP::Digest::SHA224 undef
+      Crypt::OpenPGP::Digest::SHA256 undef
+      Crypt::OpenPGP::Digest::SHA384 undef
+      Crypt::OpenPGP::Digest::SHA512 undef
+      Crypt::OpenPGP::ElGamal::Private undef
+      Crypt::OpenPGP::ElGamal::Public undef
+      Crypt::OpenPGP::ErrorHandler undef
+      Crypt::OpenPGP::Key undef
+      Crypt::OpenPGP::Key::Public undef
+      Crypt::OpenPGP::Key::Public::DSA undef
+      Crypt::OpenPGP::Key::Public::ElGamal undef
+      Crypt::OpenPGP::Key::Public::RSA undef
+      Crypt::OpenPGP::Key::Secret undef
+      Crypt::OpenPGP::Key::Secret::DSA undef
+      Crypt::OpenPGP::Key::Secret::ElGamal undef
+      Crypt::OpenPGP::Key::Secret::RSA undef
+      Crypt::OpenPGP::KeyBlock undef
+      Crypt::OpenPGP::KeyRing undef
+      Crypt::OpenPGP::KeyServer undef
+      Crypt::OpenPGP::MDC undef
+      Crypt::OpenPGP::Marker undef
+      Crypt::OpenPGP::Message undef
+      Crypt::OpenPGP::OnePassSig undef
+      Crypt::OpenPGP::PacketFactory undef
+      Crypt::OpenPGP::Plaintext undef
+      Crypt::OpenPGP::S2k undef
+      Crypt::OpenPGP::S2k::Salt_Iter undef
+      Crypt::OpenPGP::S2k::Salted undef
+      Crypt::OpenPGP::S2k::Simple undef
+      Crypt::OpenPGP::SKSessionKey undef
+      Crypt::OpenPGP::SessionKey undef
+      Crypt::OpenPGP::Signature undef
+      Crypt::OpenPGP::Signature::SubPacket undef
+      Crypt::OpenPGP::Trust undef
+      Crypt::OpenPGP::UserID undef
+      Crypt::OpenPGP::Util undef
+      Crypt::OpenPGP::Words undef
+    requirements:
+      Alt::Crypt::RSA::BigInt 0
+      Compress::Zlib 0
+      Crypt::Blowfish 0
+      Crypt::CAST5_PP 0
+      Crypt::DES_EDE3 0
+      Crypt::DSA 0
+      Crypt::IDEA 0
+      Crypt::RIPEMD160 0
+      Crypt::Rijndael 0
+      Crypt::Twofish 0
+      Data::Buffer 0.04
+      Digest::MD5 0
+      Digest::SHA 0
+      ExtUtils::MakeMaker 0
+      File::HomeDir 0
+      LWP::UserAgent 0
+      MIME::Base64 0
+      Math::BigInt 0
+      URI::Escape 0
+  Crypt-RIPEMD160-0.06
+    pathname: T/TO/TODDR/Crypt-RIPEMD160-0.06.tar.gz
+    provides:
+      Crypt::RIPEMD160 0.06
+      Crypt::RIPEMD160::MAC 0.01
+    requirements:
+      ExtUtils::MakeMaker 0
+      Test::More 0
+  Crypt-Random-Seed-0.03
+    pathname: D/DA/DANAJ/Crypt-Random-Seed-0.03.tar.gz
+    provides:
+      Crypt::Random::Seed 0.03
+    requirements:
+      Carp 0
+      Crypt::Random::TESHA2 0
+      Exporter 5.562
+      ExtUtils::MakeMaker 0
+      Fcntl 0
+      Test::More 0.45
+      base 0
+      constant 0
+      perl 5.006002
+  Crypt-Random-TESHA2-0.01
+    pathname: D/DA/DANAJ/Crypt-Random-TESHA2-0.01.tar.gz
+    provides:
+      Crypt::Random::TESHA2 0.01
+      Crypt::Random::TESHA2::Config 0.01
+    requirements:
+      Carp 0
+      Digest::SHA 5.22
+      Exporter 5.562
+      ExtUtils::MakeMaker 0
+      Test::More 0.45
+      Time::HiRes 1.9711
+      base 0
+      perl 5.006002
+  Crypt-Rijndael-1.13
+    pathname: L/LE/LEONT/Crypt-Rijndael-1.13.tar.gz
+    provides:
+      Crypt::Rijndael 1.13
+    requirements:
+      ExtUtils::MakeMaker 0
+      perl 5.006
+  Crypt-SMIME-0.17
+    pathname: M/MI/MIKAGE/Crypt-SMIME-0.17.tar.gz
+    provides:
+      Crypt::SMIME 0.17
+    requirements:
+      ExtUtils::CChecker 0
+      ExtUtils::Constant 0.23
+      ExtUtils::MakeMaker 0
+      ExtUtils::PkgConfig 0
+      Test::Exception 0
+      Test::More 0
+      XSLoader 0
+  Crypt-Twofish-2.17
+    pathname: A/AM/AMS/Crypt-Twofish-2.17.tar.gz
+    provides:
+      Crypt::Twofish 2.17
+    requirements:
+      ExtUtils::MakeMaker 0
+      strict 0
+  CryptX-0.039
+    pathname: M/MI/MIK/CryptX-0.039.tar.gz
+    provides:
+      Crypt::AuthEnc undef
+      Crypt::AuthEnc::CCM undef
+      Crypt::AuthEnc::EAX undef
+      Crypt::AuthEnc::GCM undef
+      Crypt::AuthEnc::OCB undef
+      Crypt::Checksum undef
+      Crypt::Checksum::Adler32 undef
+      Crypt::Checksum::CRC32 undef
+      Crypt::Cipher undef
+      Crypt::Cipher::AES undef
+      Crypt::Cipher::Anubis undef
+      Crypt::Cipher::Blowfish undef
+      Crypt::Cipher::CAST5 undef
+      Crypt::Cipher::Camellia undef
+      Crypt::Cipher::DES undef
+      Crypt::Cipher::DES_EDE undef
+      Crypt::Cipher::KASUMI undef
+      Crypt::Cipher::Khazad undef
+      Crypt::Cipher::MULTI2 undef
+      Crypt::Cipher::Noekeon undef
+      Crypt::Cipher::RC2 undef
+      Crypt::Cipher::RC5 undef
+      Crypt::Cipher::RC6 undef
+      Crypt::Cipher::SAFERP undef
+      Crypt::Cipher::SAFER_K128 undef
+      Crypt::Cipher::SAFER_K64 undef
+      Crypt::Cipher::SAFER_SK128 undef
+      Crypt::Cipher::SAFER_SK64 undef
+      Crypt::Cipher::SEED undef
+      Crypt::Cipher::Skipjack undef
+      Crypt::Cipher::Twofish undef
+      Crypt::Cipher::XTEA undef
+      Crypt::Digest undef
+      Crypt::Digest::CHAES undef
+      Crypt::Digest::MD2 undef
+      Crypt::Digest::MD4 undef
+      Crypt::Digest::MD5 undef
+      Crypt::Digest::RIPEMD128 undef
+      Crypt::Digest::RIPEMD160 undef
+      Crypt::Digest::RIPEMD256 undef
+      Crypt::Digest::RIPEMD320 undef
+      Crypt::Digest::SHA1 undef
+      Crypt::Digest::SHA224 undef
+      Crypt::Digest::SHA256 undef
+      Crypt::Digest::SHA384 undef
+      Crypt::Digest::SHA512 undef
+      Crypt::Digest::SHA512_224 undef
+      Crypt::Digest::SHA512_256 undef
+      Crypt::Digest::Tiger192 undef
+      Crypt::Digest::Whirlpool undef
+      Crypt::KeyDerivation undef
+      Crypt::Mac undef
+      Crypt::Mac::F9 undef
+      Crypt::Mac::HMAC undef
+      Crypt::Mac::OMAC undef
+      Crypt::Mac::PMAC undef
+      Crypt::Mac::Pelican undef
+      Crypt::Mac::XCBC undef
+      Crypt::Misc undef
+      Crypt::Mode undef
+      Crypt::Mode::CBC undef
+      Crypt::Mode::CFB undef
+      Crypt::Mode::CTR undef
+      Crypt::Mode::ECB undef
+      Crypt::Mode::OFB undef
+      Crypt::PK undef
+      Crypt::PK::DH undef
+      Crypt::PK::DSA undef
+      Crypt::PK::ECC undef
+      Crypt::PK::RSA undef
+      Crypt::PRNG undef
+      Crypt::PRNG::Fortuna undef
+      Crypt::PRNG::RC4 undef
+      Crypt::PRNG::Sober128 undef
+      Crypt::PRNG::Yarrow undef
+      CryptX 0.039
+      Math::BigInt::LTM undef
+    requirements:
+      ExtUtils::MakeMaker 0
+      perl 5.006
+  DBD-SQLite-1.50
+    pathname: I/IS/ISHIGAKI/DBD-SQLite-1.50.tar.gz
+    provides:
+      DBD::SQLite 1.50
+      DBD::SQLite::Constants undef
+      DBD::SQLite::VirtualTable 1.50
+      DBD::SQLite::VirtualTable::Cursor 1.50
+      DBD::SQLite::VirtualTable::FileContent undef
+      DBD::SQLite::VirtualTable::FileContent::Cursor undef
+      DBD::SQLite::VirtualTable::PerlData undef
+      DBD::SQLite::VirtualTable::PerlData::Cursor undef
+    requirements:
+      DBI 1.57
+      ExtUtils::MakeMaker 0
+      File::Spec 0.82
+      Test::Builder 0.86
+      Test::More 0.47
+      Tie::Hash 0
+      perl 5.006
+  DBD-mysql-4.022
+    pathname: C/CA/CAPTTOFU/DBD-mysql-4.022.tar.gz
+    provides:
+      Bundle::DBD::mysql 4.004
+      DBD::mysql 4.022
+      DBD::mysql::GetInfo undef
+      DBD::mysql::db 4.022
+      DBD::mysql::dr 4.022
+      DBD::mysql::st 4.022
+    requirements:
+      DBI 1.08
+      Data::Dumper 0
+      Test::More 0
+      perl 5.005
+  DBI-1.622
+    pathname: T/TI/TIMB/DBI-1.622.tar.gz
+    provides:
+      Bundle::DBI 12.008695
+      DBD::DBM 0.06
+      DBD::DBM::Statement 0.06
+      DBD::DBM::Table 0.06
+      DBD::DBM::db 0.06
+      DBD::DBM::dr 0.06
+      DBD::DBM::st 0.06
+      DBD::ExampleP 12.014310
+      DBD::ExampleP::db 12.014310
+      DBD::ExampleP::dr 12.014310
+      DBD::ExampleP::st 12.014310
+      DBD::File 0.40
+      DBD::File::Statement 0.40
+      DBD::File::Table 0.40
+      DBD::File::TieMeta 0.40
+      DBD::File::TieTables 0.40
+      DBD::File::db 0.40
+      DBD::File::dr 0.40
+      DBD::File::st 0.40
+      DBD::Gofer 0.015326
+      DBD::Gofer::Policy::Base 0.010087
+      DBD::Gofer::Policy::classic 0.010087
+      DBD::Gofer::Policy::pedantic 0.010087
+      DBD::Gofer::Policy::rush 0.010087
+      DBD::Gofer::Transport::Base 0.014120
+      DBD::Gofer::Transport::corostream undef
+      DBD::Gofer::Transport::null 0.010087
+      DBD::Gofer::Transport::pipeone 0.010087
+      DBD::Gofer::Transport::stream 0.014598
+      DBD::Gofer::db 0.015326
+      DBD::Gofer::dr 0.015326
+      DBD::Gofer::st 0.015326
+      DBD::NullP 12.014714
+      DBD::NullP::db 12.014714
+      DBD::NullP::dr 12.014714
+      DBD::NullP::st 12.014714
+      DBD::Proxy 0.2004
+      DBD::Proxy::RPC::PlClient 0.2004
+      DBD::Proxy::db 0.2004
+      DBD::Proxy::dr 0.2004
+      DBD::Proxy::st 0.2004
+      DBD::Sponge 12.010002
+      DBD::Sponge::db 12.010002
+      DBD::Sponge::dr 12.010002
+      DBD::Sponge::st 12.010002
+      DBDI 12.015128
+      DBI 1.622
+      DBI::Const::GetInfo::ANSI 2.008696
+      DBI::Const::GetInfo::ODBC 2.011373
+      DBI::Const::GetInfoReturn 2.008696
+      DBI::Const::GetInfoType 2.008696
+      DBI::DBD 12.015128
+      DBI::DBD::Metadata 2.014213
+      DBI::DBD::SqlEngine 0.03
+      DBI::DBD::SqlEngine::Statement 0.03
+      DBI::DBD::SqlEngine::Table 0.03
+      DBI::DBD::SqlEngine::db 0.03
+      DBI::DBD::SqlEngine::dr 0.03
+      DBI::DBD::SqlEngine::st 0.03
+      DBI::FAQ 1.014934
+      DBI::Gofer::Execute 0.014282
+      DBI::Gofer::Request 0.012536
+      DBI::Gofer::Response 0.011565
+      DBI::Gofer::Serializer::Base 0.009949
+      DBI::Gofer::Serializer::DataDumper 0.009949
+      DBI::Gofer::Serializer::Storable 0.009949
+      DBI::Gofer::Transport::Base 0.012536
+      DBI::Gofer::Transport::pipeone 0.012536
+      DBI::Gofer::Transport::stream 0.012536
+      DBI::Profile 2.015064
+      DBI::ProfileData 2.010007
+      DBI::ProfileDumper 2.015324
+      DBI::ProfileDumper::Apache 2.014120
+      DBI::ProfileSubs 0.009395
+      DBI::ProxyServer 0.3005
+      DBI::ProxyServer::db 0.3005
+      DBI::ProxyServer::dr 0.3005
+      DBI::ProxyServer::st 0.3005
+      DBI::SQL::Nano 1.014600
+      DBI::SQL::Nano::Statement_ 1.014600
+      DBI::SQL::Nano::Table_ 1.014600
+      DBI::Util::CacheMemory 0.010314
+      DBI::Util::_accessor 0.009478
+      DBI::common 1.622
+    requirements:
+      ExtUtils::MakeMaker 6.48
+      Test::Simple 0.90
+      perl 5.008
+  Daemon-Generic-0.84
+    pathname: M/MU/MUIR/modules/Daemon-Generic-0.84.tar.gz
+    provides:
+      Daemon::Generic 0.84
+      Daemon::Generic::AnyEvent 0.84
+      Daemon::Generic::Event 0.84
+      Daemon::Generic::While1 0.84
+    requirements:
+      AnyEvent 0
+      Cwd 0
+      Eval::LineNumbers 0
+      Event 0
+      ExtUtils::MakeMaker 0
+      File::Basename 0
+      File::Flock 2013.06
+      File::Slurp 0
+      Getopt::Long 0
+      Text::Wrap 0
+      Time::HiRes 0
+  Data-Buffer-0.04
+    pathname: B/BT/BTROTT/Data-Buffer-0.04.tar.gz
+    provides:
+      Data::Buffer 0.04
+    requirements:
+      ExtUtils::MakeMaker 0
+  Data-ObjectDriver-0.14
+    pathname: S/SI/SIXAPART/Data-ObjectDriver-0.14.tar.gz
+    provides:
+      Data::ObjectDriver 0.14
+      Data::ObjectDriver::BaseObject undef
+      Data::ObjectDriver::BaseView undef
+      Data::ObjectDriver::Driver::BaseCache undef
+      Data::ObjectDriver::Driver::Cache::Apache undef
+      Data::ObjectDriver::Driver::Cache::Cache undef
+      Data::ObjectDriver::Driver::Cache::Memcached undef
+      Data::ObjectDriver::Driver::Cache::RAM undef
+      Data::ObjectDriver::Driver::DBD undef
+      Data::ObjectDriver::Driver::DBD::Oracle undef
+      Data::ObjectDriver::Driver::DBD::Oracle::db undef
+      Data::ObjectDriver::Driver::DBD::Pg undef
+      Data::ObjectDriver::Driver::DBD::SQLite undef
+      Data::ObjectDriver::Driver::DBD::mysql undef
+      Data::ObjectDriver::Driver::DBI undef
+      Data::ObjectDriver::Driver::GearmanDBI undef
+      Data::ObjectDriver::Driver::MultiPartition undef
+      Data::ObjectDriver::Driver::Multiplexer undef
+      Data::ObjectDriver::Driver::Partition undef
+      Data::ObjectDriver::Driver::SimplePartition undef
+      Data::ObjectDriver::Errors undef
+      Data::ObjectDriver::Iterator undef
+      Data::ObjectDriver::Profiler undef
+      Data::ObjectDriver::ResultSet undef
+      Data::ObjectDriver::SQL undef
+      Data::ObjectDriver::SQL::Oracle undef
+    requirements:
+      Class::Accessor::Fast 0
+      Class::Data::Inheritable 0
+      Class::Trigger 0
+      DBI 0
+      ExtUtils::MakeMaker 6.59
+      List::Util 0
+      Module::Build::Tiny 0.035
+      Test::Exception 0
+      perl 5.006001
+  Data-OptList-0.110
+    pathname: R/RJ/RJBS/Data-OptList-0.110.tar.gz
+    provides:
+      Data::OptList 0.110
+    requirements:
+      ExtUtils::MakeMaker 0
+      List::Util 0
+      Params::Util 0
+      Sub::Install 0.921
+      strict 0
+      warnings 0
+  Data-Structure-Util-0.16
+    pathname: A/AN/ANDYA/Data-Structure-Util-0.16.tar.gz
+    provides:
+      Data::Structure::Util 0.16
+    requirements:
+      Digest::MD5 0
+      ExtUtils::MakeMaker 0
+      Scalar::Util 1.01
+      Storable 0
+      perl 5.008
+  DateTime-1.03
+    pathname: D/DR/DROLSKY/DateTime-1.03.tar.gz
+    provides:
+      DateTime 1.03
+      DateTime::Duration 1.03
+      DateTime::Helpers 1.03
+      DateTime::Infinite 1.03
+      DateTime::Infinite::Future 1.03
+      DateTime::Infinite::Past 1.03
+      DateTime::LeapSecond 1.03
+    requirements:
+      Carp 0
+      DateTime::Locale 0.41
+      DateTime::TimeZone 1.09
+      ExtUtils::CBuilder 0
+      Module::Build 0.3601
+      POSIX 0
+      Params::Validate 0.76
+      Scalar::Util 0
+      Try::Tiny 0
+      XSLoader 0
+      base 0
+      constant 0
+      integer 0
+      overload 0
+      perl 5.008001
+      strict 0
+      vars 0
+      warnings 0
+  DateTime-Locale-0.45
+    pathname: D/DR/DROLSKY/DateTime-Locale-0.45.tar.gz
+    provides:
+      DateTime::Locale 0.45
+      DateTime::Locale::Base undef
+      DateTime::Locale::Catalog undef
+      DateTime::Locale::aa undef
+      DateTime::Locale::aa_DJ undef
+      DateTime::Locale::aa_ER undef
+      DateTime::Locale::aa_ER_SAAHO undef
+      DateTime::Locale::aa_ET undef
+      DateTime::Locale::af undef
+      DateTime::Locale::af_NA undef
+      DateTime::Locale::af_ZA undef
+      DateTime::Locale::ak undef
+      DateTime::Locale::ak_GH undef
+      DateTime::Locale::am undef
+      DateTime::Locale::am_ET undef
+      DateTime::Locale::ar undef
+      DateTime::Locale::ar_AE undef
+      DateTime::Locale::ar_BH undef
+      DateTime::Locale::ar_DZ undef
+      DateTime::Locale::ar_EG undef
+      DateTime::Locale::ar_IQ undef
+      DateTime::Locale::ar_JO undef
+      DateTime::Locale::ar_KW undef
+      DateTime::Locale::ar_LB undef
+      DateTime::Locale::ar_LY undef
+      DateTime::Locale::ar_MA undef
+      DateTime::Locale::ar_OM undef
+      DateTime::Locale::ar_QA undef
+      DateTime::Locale::ar_SA undef
+      DateTime::Locale::ar_SD undef
+      DateTime::Locale::ar_SY undef
+      DateTime::Locale::ar_TN undef
+      DateTime::Locale::ar_YE undef
+      DateTime::Locale::as undef
+      DateTime::Locale::as_IN undef
+      DateTime::Locale::az undef
+      DateTime::Locale::az_AZ undef
+      DateTime::Locale::az_Cyrl undef
+      DateTime::Locale::az_Cyrl_AZ undef
+      DateTime::Locale::az_Latn undef
+      DateTime::Locale::az_Latn_AZ undef
+      DateTime::Locale::be undef
+      DateTime::Locale::be_BY undef
+      DateTime::Locale::bg undef
+      DateTime::Locale::bg_BG undef
+      DateTime::Locale::bn undef
+      DateTime::Locale::bn_BD undef
+      DateTime::Locale::bn_IN undef
+      DateTime::Locale::bo undef
+      DateTime::Locale::bo_CN undef
+      DateTime::Locale::bo_IN undef
+      DateTime::Locale::bs undef
+      DateTime::Locale::bs_BA undef
+      DateTime::Locale::byn undef
+      DateTime::Locale::byn_ER undef
+      DateTime::Locale::ca undef
+      DateTime::Locale::ca_ES undef
+      DateTime::Locale::cch undef
+      DateTime::Locale::cch_NG undef
+      DateTime::Locale::cop undef
+      DateTime::Locale::cs undef
+      DateTime::Locale::cs_CZ undef
+      DateTime::Locale::cy undef
+      DateTime::Locale::cy_GB undef
+      DateTime::Locale::da undef
+      DateTime::Locale::da_DK undef
+      DateTime::Locale::de undef
+      DateTime::Locale::de_AT undef
+      DateTime::Locale::de_BE undef
+      DateTime::Locale::de_CH undef
+      DateTime::Locale::de_DE undef
+      DateTime::Locale::de_LI undef
+      DateTime::Locale::de_LU undef
+      DateTime::Locale::dv undef
+      DateTime::Locale::dv_MV undef
+      DateTime::Locale::dz undef
+      DateTime::Locale::dz_BT undef
+      DateTime::Locale::ee undef
+      DateTime::Locale::ee_GH undef
+      DateTime::Locale::ee_TG undef
+      DateTime::Locale::el undef
+      DateTime::Locale::el_CY undef
+      DateTime::Locale::el_GR undef
+      DateTime::Locale::el_POLYTON undef
+      DateTime::Locale::en undef
+      DateTime::Locale::en_AS undef
+      DateTime::Locale::en_AU undef
+      DateTime::Locale::en_BE undef
+      DateTime::Locale::en_BW undef
+      DateTime::Locale::en_BZ undef
+      DateTime::Locale::en_CA undef
+      DateTime::Locale::en_Dsrt undef
+      DateTime::Locale::en_Dsrt_US undef
+      DateTime::Locale::en_GB undef
+      DateTime::Locale::en_GU undef
+      DateTime::Locale::en_HK undef
+      DateTime::Locale::en_IE undef
+      DateTime::Locale::en_IN undef
+      DateTime::Locale::en_JM undef
+      DateTime::Locale::en_MH undef
+      DateTime::Locale::en_MP undef
+      DateTime::Locale::en_MT undef
+      DateTime::Locale::en_NA undef
+      DateTime::Locale::en_NZ undef
+      DateTime::Locale::en_PH undef
+      DateTime::Locale::en_PK undef
+      DateTime::Locale::en_SG undef
+      DateTime::Locale::en_Shaw undef
+      DateTime::Locale::en_TT undef
+      DateTime::Locale::en_UM undef
+      DateTime::Locale::en_US undef
+      DateTime::Locale::en_US_POSIX undef
+      DateTime::Locale::en_VI undef
+      DateTime::Locale::en_ZA undef
+      DateTime::Locale::en_ZW undef
+      DateTime::Locale::eo undef
+      DateTime::Locale::es undef
+      DateTime::Locale::es_AR undef
+      DateTime::Locale::es_BO undef
+      DateTime::Locale::es_CL undef
+      DateTime::Locale::es_CO undef
+      DateTime::Locale::es_CR undef
+      DateTime::Locale::es_DO undef
+      DateTime::Locale::es_EC undef
+      DateTime::Locale::es_ES undef
+      DateTime::Locale::es_GT undef
+      DateTime::Locale::es_HN undef
+      DateTime::Locale::es_MX undef
+      DateTime::Locale::es_NI undef
+      DateTime::Locale::es_PA undef
+      DateTime::Locale::es_PE undef
+      DateTime::Locale::es_PR undef
+      DateTime::Locale::es_PY undef
+      DateTime::Locale::es_SV undef
+      DateTime::Locale::es_US undef
+      DateTime::Locale::es_UY undef
+      DateTime::Locale::es_VE undef
+      DateTime::Locale::et undef
+      DateTime::Locale::et_EE undef
+      DateTime::Locale::eu undef
+      DateTime::Locale::eu_ES undef
+      DateTime::Locale::fa undef
+      DateTime::Locale::fa_AF undef
+      DateTime::Locale::fa_IR undef
+      DateTime::Locale::fi undef
+      DateTime::Locale::fi_FI undef
+      DateTime::Locale::fil undef
+      DateTime::Locale::fil_PH undef
+      DateTime::Locale::fo undef
+      DateTime::Locale::fo_FO undef
+      DateTime::Locale::fr undef
+      DateTime::Locale::fr_BE undef
+      DateTime::Locale::fr_CA undef
+      DateTime::Locale::fr_CH undef
+      DateTime::Locale::fr_FR undef
+      DateTime::Locale::fr_LU undef
+      DateTime::Locale::fr_MC undef
+      DateTime::Locale::fr_SN undef
+      DateTime::Locale::fur undef
+      DateTime::Locale::fur_IT undef
+      DateTime::Locale::ga undef
+      DateTime::Locale::ga_IE undef
+      DateTime::Locale::gaa undef
+      DateTime::Locale::gaa_GH undef
+      DateTime::Locale::gez undef
+      DateTime::Locale::gez_ER undef
+      DateTime::Locale::gez_ET undef
+      DateTime::Locale::gl undef
+      DateTime::Locale::gl_ES undef
+      DateTime::Locale::gsw undef
+      DateTime::Locale::gsw_CH undef
+      DateTime::Locale::gu undef
+      DateTime::Locale::gu_IN undef
+      DateTime::Locale::gv undef
+      DateTime::Locale::gv_GB undef
+      DateTime::Locale::ha undef
+      DateTime::Locale::ha_Arab undef
+      DateTime::Locale::ha_Arab_NG undef
+      DateTime::Locale::ha_Arab_SD undef
+      DateTime::Locale::ha_GH undef
+      DateTime::Locale::ha_Latn undef
+      DateTime::Locale::ha_Latn_GH undef
+      DateTime::Locale::ha_Latn_NE undef
+      DateTime::Locale::ha_Latn_NG undef
+      DateTime::Locale::ha_NE undef
+      DateTime::Locale::ha_NG undef
+      DateTime::Locale::ha_SD undef
+      DateTime::Locale::haw undef
+      DateTime::Locale::haw_US undef
+      DateTime::Locale::he undef
+      DateTime::Locale::he_IL undef
+      DateTime::Locale::hi undef
+      DateTime::Locale::hi_IN undef
+      DateTime::Locale::hr undef
+      DateTime::Locale::hr_HR undef
+      DateTime::Locale::hu undef
+      DateTime::Locale::hu_HU undef
+      DateTime::Locale::hy undef
+      DateTime::Locale::hy_AM undef
+      DateTime::Locale::hy_AM_REVISED undef
+      DateTime::Locale::ia undef
+      DateTime::Locale::id undef
+      DateTime::Locale::id_ID undef
+      DateTime::Locale::ig undef
+      DateTime::Locale::ig_NG undef
+      DateTime::Locale::ii undef
+      DateTime::Locale::ii_CN undef
+      DateTime::Locale::is undef
+      DateTime::Locale::is_IS undef
+      DateTime::Locale::it undef
+      DateTime::Locale::it_CH undef
+      DateTime::Locale::it_IT undef
+      DateTime::Locale::iu undef
+      DateTime::Locale::ja undef
+      DateTime::Locale::ja_JP undef
+      DateTime::Locale::ka undef
+      DateTime::Locale::ka_GE undef
+      DateTime::Locale::kaj undef
+      DateTime::Locale::kaj_NG undef
+      DateTime::Locale::kam undef
+      DateTime::Locale::kam_KE undef
+      DateTime::Locale::kcg undef
+      DateTime::Locale::kcg_NG undef
+      DateTime::Locale::kfo undef
+      DateTime::Locale::kfo_CI undef
+      DateTime::Locale::kk undef
+      DateTime::Locale::kk_Cyrl undef
+      DateTime::Locale::kk_Cyrl_KZ undef
+      DateTime::Locale::kk_KZ undef
+      DateTime::Locale::kl undef
+      DateTime::Locale::kl_GL undef
+      DateTime::Locale::km undef
+      DateTime::Locale::km_KH undef
+      DateTime::Locale::kn undef
+      DateTime::Locale::kn_IN undef
+      DateTime::Locale::ko undef
+      DateTime::Locale::ko_KR undef
+      DateTime::Locale::kok undef
+      DateTime::Locale::kok_IN undef
+      DateTime::Locale::kpe undef
+      DateTime::Locale::kpe_GN undef
+      DateTime::Locale::kpe_LR undef
+      DateTime::Locale::ku undef
+      DateTime::Locale::ku_Arab undef
+      DateTime::Locale::ku_Arab_IQ undef
+      DateTime::Locale::ku_Arab_IR undef
+      DateTime::Locale::ku_Arab_SY undef
+      DateTime::Locale::ku_IQ undef
+      DateTime::Locale::ku_IR undef
+      DateTime::Locale::ku_Latn undef
+      DateTime::Locale::ku_Latn_TR undef
+      DateTime::Locale::ku_SY undef
+      DateTime::Locale::ku_TR undef
+      DateTime::Locale::kw undef
+      DateTime::Locale::kw_GB undef
+      DateTime::Locale::ky undef
+      DateTime::Locale::ky_KG undef
+      DateTime::Locale::ln undef
+      DateTime::Locale::ln_CD undef
+      DateTime::Locale::ln_CG undef
+      DateTime::Locale::lo undef
+      DateTime::Locale::lo_LA undef
+      DateTime::Locale::lt undef
+      DateTime::Locale::lt_LT undef
+      DateTime::Locale::lv undef
+      DateTime::Locale::lv_LV undef
+      DateTime::Locale::mk undef
+      DateTime::Locale::mk_MK undef
+      DateTime::Locale::ml undef
+      DateTime::Locale::ml_IN undef
+      DateTime::Locale::mn undef
+      DateTime::Locale::mn_CN undef
+      DateTime::Locale::mn_Cyrl undef
+      DateTime::Locale::mn_Cyrl_MN undef
+      DateTime::Locale::mn_MN undef
+      DateTime::Locale::mn_Mong undef
+      DateTime::Locale::mn_Mong_CN undef
+      DateTime::Locale::mo undef
+      DateTime::Locale::mr undef
+      DateTime::Locale::mr_IN undef
+      DateTime::Locale::ms undef
+      DateTime::Locale::ms_BN undef
+      DateTime::Locale::ms_MY undef
+      DateTime::Locale::mt undef
+      DateTime::Locale::mt_MT undef
+      DateTime::Locale::my undef
+      DateTime::Locale::my_MM undef
+      DateTime::Locale::nb undef
+      DateTime::Locale::nb_NO undef
+      DateTime::Locale::nds undef
+      DateTime::Locale::nds_DE undef
+      DateTime::Locale::ne undef
+      DateTime::Locale::ne_IN undef
+      DateTime::Locale::ne_NP undef
+      DateTime::Locale::nl undef
+      DateTime::Locale::nl_BE undef
+      DateTime::Locale::nl_NL undef
+      DateTime::Locale::nn undef
+      DateTime::Locale::nn_NO undef
+      DateTime::Locale::no undef
+      DateTime::Locale::nr undef
+      DateTime::Locale::nr_ZA undef
+      DateTime::Locale::nso undef
+      DateTime::Locale::nso_ZA undef
+      DateTime::Locale::ny undef
+      DateTime::Locale::ny_MW undef
+      DateTime::Locale::oc undef
+      DateTime::Locale::oc_FR undef
+      DateTime::Locale::om undef
+      DateTime::Locale::om_ET undef
+      DateTime::Locale::om_KE undef
+      DateTime::Locale::or undef
+      DateTime::Locale::or_IN undef
+      DateTime::Locale::pa undef
+      DateTime::Locale::pa_Arab undef
+      DateTime::Locale::pa_Arab_PK undef
+      DateTime::Locale::pa_Guru undef
+      DateTime::Locale::pa_Guru_IN undef
+      DateTime::Locale::pa_IN undef
+      DateTime::Locale::pa_PK undef
+      DateTime::Locale::pl undef
+      DateTime::Locale::pl_PL undef
+      DateTime::Locale::ps undef
+      DateTime::Locale::ps_AF undef
+      DateTime::Locale::pt undef
+      DateTime::Locale::pt_BR undef
+      DateTime::Locale::pt_PT undef
+      DateTime::Locale::ro undef
+      DateTime::Locale::ro_MD undef
+      DateTime::Locale::ro_RO undef
+      DateTime::Locale::root undef
+      DateTime::Locale::ru undef
+      DateTime::Locale::ru_RU undef
+      DateTime::Locale::ru_UA undef
+      DateTime::Locale::rw undef
+      DateTime::Locale::rw_RW undef
+      DateTime::Locale::sa undef
+      DateTime::Locale::sa_IN undef
+      DateTime::Locale::se undef
+      DateTime::Locale::se_FI undef
+      DateTime::Locale::se_NO undef
+      DateTime::Locale::sh undef
+      DateTime::Locale::sh_BA undef
+      DateTime::Locale::sh_CS undef
+      DateTime::Locale::sh_YU undef
+      DateTime::Locale::si undef
+      DateTime::Locale::si_LK undef
+      DateTime::Locale::sid undef
+      DateTime::Locale::sid_ET undef
+      DateTime::Locale::sk undef
+      DateTime::Locale::sk_SK undef
+      DateTime::Locale::sl undef
+      DateTime::Locale::sl_SI undef
+      DateTime::Locale::so undef
+      DateTime::Locale::so_DJ undef
+      DateTime::Locale::so_ET undef
+      DateTime::Locale::so_KE undef
+      DateTime::Locale::so_SO undef
+      DateTime::Locale::sq undef
+      DateTime::Locale::sq_AL undef
+      DateTime::Locale::sr undef
+      DateTime::Locale::sr_BA undef
+      DateTime::Locale::sr_CS undef
+      DateTime::Locale::sr_Cyrl undef
+      DateTime::Locale::sr_Cyrl_BA undef
+      DateTime::Locale::sr_Cyrl_CS undef
+      DateTime::Locale::sr_Cyrl_ME undef
+      DateTime::Locale::sr_Cyrl_RS undef
+      DateTime::Locale::sr_Cyrl_YU undef
+      DateTime::Locale::sr_Latn undef
+      DateTime::Locale::sr_Latn_BA undef
+      DateTime::Locale::sr_Latn_CS undef
+      DateTime::Locale::sr_Latn_ME undef
+      DateTime::Locale::sr_Latn_RS undef
+      DateTime::Locale::sr_Latn_YU undef
+      DateTime::Locale::sr_ME undef
+      DateTime::Locale::sr_RS undef
+      DateTime::Locale::sr_YU undef
+      DateTime::Locale::ss undef
+      DateTime::Locale::ss_SZ undef
+      DateTime::Locale::ss_ZA undef
+      DateTime::Locale::st undef
+      DateTime::Locale::st_LS undef
+      DateTime::Locale::st_ZA undef
+      DateTime::Locale::sv undef
+      DateTime::Locale::sv_FI undef
+      DateTime::Locale::sv_SE undef
+      DateTime::Locale::sw undef
+      DateTime::Locale::sw_KE undef
+      DateTime::Locale::sw_TZ undef
+      DateTime::Locale::syr undef
+      DateTime::Locale::syr_SY undef
+      DateTime::Locale::ta undef
+      DateTime::Locale::ta_IN undef
+      DateTime::Locale::te undef
+      DateTime::Locale::te_IN undef
+      DateTime::Locale::tg undef
+      DateTime::Locale::tg_Cyrl undef
+      DateTime::Locale::tg_Cyrl_TJ undef
+      DateTime::Locale::tg_TJ undef
+      DateTime::Locale::th undef
+      DateTime::Locale::th_TH undef
+      DateTime::Locale::ti undef
+      DateTime::Locale::ti_ER undef
+      DateTime::Locale::ti_ET undef
+      DateTime::Locale::tig undef
+      DateTime::Locale::tig_ER undef
+      DateTime::Locale::tl undef
+      DateTime::Locale::tn undef
+      DateTime::Locale::tn_ZA undef
+      DateTime::Locale::to undef
+      DateTime::Locale::to_TO undef
+      DateTime::Locale::tr undef
+      DateTime::Locale::tr_TR undef
+      DateTime::Locale::trv undef
+      DateTime::Locale::trv_TW undef
+      DateTime::Locale::ts undef
+      DateTime::Locale::ts_ZA undef
+      DateTime::Locale::tt undef
+      DateTime::Locale::tt_RU undef
+      DateTime::Locale::ug undef
+      DateTime::Locale::ug_Arab undef
+      DateTime::Locale::ug_Arab_CN undef
+      DateTime::Locale::ug_CN undef
+      DateTime::Locale::uk undef
+      DateTime::Locale::uk_UA undef
+      DateTime::Locale::ur undef
+      DateTime::Locale::ur_IN undef
+      DateTime::Locale::ur_PK undef
+      DateTime::Locale::uz undef
+      DateTime::Locale::uz_AF undef
+      DateTime::Locale::uz_Arab undef
+      DateTime::Locale::uz_Arab_AF undef
+      DateTime::Locale::uz_Cyrl undef
+      DateTime::Locale::uz_Cyrl_UZ undef
+      DateTime::Locale::uz_Latn undef
+      DateTime::Locale::uz_Latn_UZ undef
+      DateTime::Locale::uz_UZ undef
+      DateTime::Locale::ve undef
+      DateTime::Locale::ve_ZA undef
+      DateTime::Locale::vi undef
+      DateTime::Locale::vi_VN undef
+      DateTime::Locale::wal undef
+      DateTime::Locale::wal_ET undef
+      DateTime::Locale::wo undef
+      DateTime::Locale::wo_Latn undef
+      DateTime::Locale::wo_Latn_SN undef
+      DateTime::Locale::wo_SN undef
+      DateTime::Locale::xh undef
+      DateTime::Locale::xh_ZA undef
+      DateTime::Locale::yo undef
+      DateTime::Locale::yo_NG undef
+      DateTime::Locale::zh undef
+      DateTime::Locale::zh_CN undef
+      DateTime::Locale::zh_HK undef
+      DateTime::Locale::zh_Hans undef
+      DateTime::Locale::zh_Hans_CN undef
+      DateTime::Locale::zh_Hans_HK undef
+      DateTime::Locale::zh_Hans_MO undef
+      DateTime::Locale::zh_Hans_SG undef
+      DateTime::Locale::zh_Hant undef
+      DateTime::Locale::zh_Hant_HK undef
+      DateTime::Locale::zh_Hant_MO undef
+      DateTime::Locale::zh_Hant_TW undef
+      DateTime::Locale::zh_MO undef
+      DateTime::Locale::zh_SG undef
+      DateTime::Locale::zh_TW undef
+      DateTime::Locale::zu undef
+      DateTime::Locale::zu_ZA undef
+    requirements:
+      List::MoreUtils 0
+      Module::Build 0
+      Params::Validate 0.91
+      perl 5.006
+  DateTime-TimeZone-1.69
+    pathname: D/DR/DROLSKY/DateTime-TimeZone-1.69.tar.gz
+    provides:
+      DateTime::TimeZone 1.69
+      DateTime::TimeZone::Africa::Abidjan 1.69
+      DateTime::TimeZone::Africa::Accra 1.69
+      DateTime::TimeZone::Africa::Addis_Ababa 1.69
+      DateTime::TimeZone::Africa::Algiers 1.69
+      DateTime::TimeZone::Africa::Asmara 1.69
+      DateTime::TimeZone::Africa::Bamako 1.69
+      DateTime::TimeZone::Africa::Bangui 1.69
+      DateTime::TimeZone::Africa::Banjul 1.69
+      DateTime::TimeZone::Africa::Bissau 1.69
+      DateTime::TimeZone::Africa::Blantyre 1.69
+      DateTime::TimeZone::Africa::Brazzaville 1.69
+      DateTime::TimeZone::Africa::Bujumbura 1.69
+      DateTime::TimeZone::Africa::Cairo 1.69
+      DateTime::TimeZone::Africa::Casablanca 1.69
+      DateTime::TimeZone::Africa::Ceuta 1.69
+      DateTime::TimeZone::Africa::Conakry 1.69
+      DateTime::TimeZone::Africa::Dakar 1.69
+      DateTime::TimeZone::Africa::Dar_es_Salaam 1.69
+      DateTime::TimeZone::Africa::Djibouti 1.69
+      DateTime::TimeZone::Africa::Douala 1.69
+      DateTime::TimeZone::Africa::El_Aaiun 1.69
+      DateTime::TimeZone::Africa::Freetown 1.69
+      DateTime::TimeZone::Africa::Gaborone 1.69
+      DateTime::TimeZone::Africa::Harare 1.69
+      DateTime::TimeZone::Africa::Johannesburg 1.69
+      DateTime::TimeZone::Africa::Kampala 1.69
+      DateTime::TimeZone::Africa::Khartoum 1.69
+      DateTime::TimeZone::Africa::Kigali 1.69
+      DateTime::TimeZone::Africa::Kinshasa 1.69
+      DateTime::TimeZone::Africa::Lagos 1.69
+      DateTime::TimeZone::Africa::Libreville 1.69
+      DateTime::TimeZone::Africa::Lome 1.69
+      DateTime::TimeZone::Africa::Luanda 1.69
+      DateTime::TimeZone::Africa::Lubumbashi 1.69
+      DateTime::TimeZone::Africa::Lusaka 1.69
+      DateTime::TimeZone::Africa::Malabo 1.69
+      DateTime::TimeZone::Africa::Maputo 1.69
+      DateTime::TimeZone::Africa::Maseru 1.69
+      DateTime::TimeZone::Africa::Mbabane 1.69
+      DateTime::TimeZone::Africa::Mogadishu 1.69
+      DateTime::TimeZone::Africa::Monrovia 1.69
+      DateTime::TimeZone::Africa::Nairobi 1.69
+      DateTime::TimeZone::Africa::Ndjamena 1.69
+      DateTime::TimeZone::Africa::Niamey 1.69
+      DateTime::TimeZone::Africa::Nouakchott 1.69
+      DateTime::TimeZone::Africa::Ouagadougou 1.69
+      DateTime::TimeZone::Africa::Porto_Novo 1.69
+      DateTime::TimeZone::Africa::Sao_Tome 1.69
+      DateTime::TimeZone::Africa::Tripoli 1.69
+      DateTime::TimeZone::Africa::Tunis 1.69
+      DateTime::TimeZone::Africa::Windhoek 1.69
+      DateTime::TimeZone::America::Adak 1.69
+      DateTime::TimeZone::America::Anchorage 1.69
+      DateTime::TimeZone::America::Antigua 1.69
+      DateTime::TimeZone::America::Araguaina 1.69
+      DateTime::TimeZone::America::Argentina::Buenos_Aires 1.69
+      DateTime::TimeZone::America::Argentina::Catamarca 1.69
+      DateTime::TimeZone::America::Argentina::Cordoba 1.69
+      DateTime::TimeZone::America::Argentina::Jujuy 1.69
+      DateTime::TimeZone::America::Argentina::La_Rioja 1.69
+      DateTime::TimeZone::America::Argentina::Mendoza 1.69
+      DateTime::TimeZone::America::Argentina::Rio_Gallegos 1.69
+      DateTime::TimeZone::America::Argentina::Salta 1.69
+      DateTime::TimeZone::America::Argentina::San_Juan 1.69
+      DateTime::TimeZone::America::Argentina::San_Luis 1.69
+      DateTime::TimeZone::America::Argentina::Tucuman 1.69
+      DateTime::TimeZone::America::Argentina::Ushuaia 1.69
+      DateTime::TimeZone::America::Asuncion 1.69
+      DateTime::TimeZone::America::Atikokan 1.69
+      DateTime::TimeZone::America::Bahia 1.69
+      DateTime::TimeZone::America::Bahia_Banderas 1.69
+      DateTime::TimeZone::America::Barbados 1.69
+      DateTime::TimeZone::America::Belem 1.69
+      DateTime::TimeZone::America::Belize 1.69
+      DateTime::TimeZone::America::Blanc_Sablon 1.69
+      DateTime::TimeZone::America::Boa_Vista 1.69
+      DateTime::TimeZone::America::Bogota 1.69
+      DateTime::TimeZone::America::Boise 1.69
+      DateTime::TimeZone::America::Cambridge_Bay 1.69
+      DateTime::TimeZone::America::Campo_Grande 1.69
+      DateTime::TimeZone::America::Cancun 1.69
+      DateTime::TimeZone::America::Caracas 1.69
+      DateTime::TimeZone::America::Cayenne 1.69
+      DateTime::TimeZone::America::Cayman 1.69
+      DateTime::TimeZone::America::Chicago 1.69
+      DateTime::TimeZone::America::Chihuahua 1.69
+      DateTime::TimeZone::America::Costa_Rica 1.69
+      DateTime::TimeZone::America::Creston 1.69
+      DateTime::TimeZone::America::Cuiaba 1.69
+      DateTime::TimeZone::America::Curacao 1.69
+      DateTime::TimeZone::America::Danmarkshavn 1.69
+      DateTime::TimeZone::America::Dawson 1.69
+      DateTime::TimeZone::America::Dawson_Creek 1.69
+      DateTime::TimeZone::America::Denver 1.69
+      DateTime::TimeZone::America::Detroit 1.69
+      DateTime::TimeZone::America::Edmonton 1.69
+      DateTime::TimeZone::America::Eirunepe 1.69
+      DateTime::TimeZone::America::El_Salvador 1.69
+      DateTime::TimeZone::America::Fortaleza 1.69
+      DateTime::TimeZone::America::Glace_Bay 1.69
+      DateTime::TimeZone::America::Godthab 1.69
+      DateTime::TimeZone::America::Goose_Bay 1.69
+      DateTime::TimeZone::America::Grand_Turk 1.69
+      DateTime::TimeZone::America::Guatemala 1.69
+      DateTime::TimeZone::America::Guayaquil 1.69
+      DateTime::TimeZone::America::Guyana 1.69
+      DateTime::TimeZone::America::Halifax 1.69
+      DateTime::TimeZone::America::Havana 1.69
+      DateTime::TimeZone::America::Hermosillo 1.69
+      DateTime::TimeZone::America::Indiana::Indianapolis 1.69
+      DateTime::TimeZone::America::Indiana::Knox 1.69
+      DateTime::TimeZone::America::Indiana::Marengo 1.69
+      DateTime::TimeZone::America::Indiana::Petersburg 1.69
+      DateTime::TimeZone::America::Indiana::Tell_City 1.69
+      DateTime::TimeZone::America::Indiana::Vevay 1.69
+      DateTime::TimeZone::America::Indiana::Vincennes 1.69
+      DateTime::TimeZone::America::Indiana::Winamac 1.69
+      DateTime::TimeZone::America::Inuvik 1.69
+      DateTime::TimeZone::America::Iqaluit 1.69
+      DateTime::TimeZone::America::Jamaica 1.69
+      DateTime::TimeZone::America::Juneau 1.69
+      DateTime::TimeZone::America::Kentucky::Louisville 1.69
+      DateTime::TimeZone::America::Kentucky::Monticello 1.69
+      DateTime::TimeZone::America::La_Paz 1.69
+      DateTime::TimeZone::America::Lima 1.69
+      DateTime::TimeZone::America::Los_Angeles 1.69
+      DateTime::TimeZone::America::Maceio 1.69
+      DateTime::TimeZone::America::Managua 1.69
+      DateTime::TimeZone::America::Manaus 1.69
+      DateTime::TimeZone::America::Martinique 1.69
+      DateTime::TimeZone::America::Matamoros 1.69
+      DateTime::TimeZone::America::Mazatlan 1.69
+      DateTime::TimeZone::America::Menominee 1.69
+      DateTime::TimeZone::America::Merida 1.69
+      DateTime::TimeZone::America::Metlakatla 1.69
+      DateTime::TimeZone::America::Mexico_City 1.69
+      DateTime::TimeZone::America::Miquelon 1.69
+      DateTime::TimeZone::America::Moncton 1.69
+      DateTime::TimeZone::America::Monterrey 1.69
+      DateTime::TimeZone::America::Montevideo 1.69
+      DateTime::TimeZone::America::Montreal 1.69
+      DateTime::TimeZone::America::Nassau 1.69
+      DateTime::TimeZone::America::New_York 1.69
+      DateTime::TimeZone::America::Nipigon 1.69
+      DateTime::TimeZone::America::Nome 1.69
+      DateTime::TimeZone::America::Noronha 1.69
+      DateTime::TimeZone::America::North_Dakota::Beulah 1.69
+      DateTime::TimeZone::America::North_Dakota::Center 1.69
+      DateTime::TimeZone::America::North_Dakota::New_Salem 1.69
+      DateTime::TimeZone::America::Ojinaga 1.69
+      DateTime::TimeZone::America::Panama 1.69
+      DateTime::TimeZone::America::Pangnirtung 1.69
+      DateTime::TimeZone::America::Paramaribo 1.69
+      DateTime::TimeZone::America::Phoenix 1.69
+      DateTime::TimeZone::America::Port_au_Prince 1.69
+      DateTime::TimeZone::America::Port_of_Spain 1.69
+      DateTime::TimeZone::America::Porto_Velho 1.69
+      DateTime::TimeZone::America::Puerto_Rico 1.69
+      DateTime::TimeZone::America::Rainy_River 1.69
+      DateTime::TimeZone::America::Rankin_Inlet 1.69
+      DateTime::TimeZone::America::Recife 1.69
+      DateTime::TimeZone::America::Regina 1.69
+      DateTime::TimeZone::America::Resolute 1.69
+      DateTime::TimeZone::America::Rio_Branco 1.69
+      DateTime::TimeZone::America::Santa_Isabel 1.69
+      DateTime::TimeZone::America::Santarem 1.69
+      DateTime::TimeZone::America::Santiago 1.69
+      DateTime::TimeZone::America::Santo_Domingo 1.69
+      DateTime::TimeZone::America::Sao_Paulo 1.69
+      DateTime::TimeZone::America::Scoresbysund 1.69
+      DateTime::TimeZone::America::Sitka 1.69
+      DateTime::TimeZone::America::St_Johns 1.69
+      DateTime::TimeZone::America::Swift_Current 1.69
+      DateTime::TimeZone::America::Tegucigalpa 1.69
+      DateTime::TimeZone::America::Thule 1.69
+      DateTime::TimeZone::America::Thunder_Bay 1.69
+      DateTime::TimeZone::America::Tijuana 1.69
+      DateTime::TimeZone::America::Toronto 1.69
+      DateTime::TimeZone::America::Vancouver 1.69
+      DateTime::TimeZone::America::Whitehorse 1.69
+      DateTime::TimeZone::America::Winnipeg 1.69
+      DateTime::TimeZone::America::Yakutat 1.69
+      DateTime::TimeZone::America::Yellowknife 1.69
+      DateTime::TimeZone::Antarctica::Casey 1.69
+      DateTime::TimeZone::Antarctica::Davis 1.69
+      DateTime::TimeZone::Antarctica::DumontDUrville 1.69
+      DateTime::TimeZone::Antarctica::Macquarie 1.69
+      DateTime::TimeZone::Antarctica::Mawson 1.69
+      DateTime::TimeZone::Antarctica::Palmer 1.69
+      DateTime::TimeZone::Antarctica::Rothera 1.69
+      DateTime::TimeZone::Antarctica::Syowa 1.69
+      DateTime::TimeZone::Antarctica::Troll 1.69
+      DateTime::TimeZone::Antarctica::Vostok 1.69
+      DateTime::TimeZone::Asia::Aden 1.69
+      DateTime::TimeZone::Asia::Almaty 1.69
+      DateTime::TimeZone::Asia::Amman 1.69
+      DateTime::TimeZone::Asia::Anadyr 1.69
+      DateTime::TimeZone::Asia::Aqtau 1.69
+      DateTime::TimeZone::Asia::Aqtobe 1.69
+      DateTime::TimeZone::Asia::Ashgabat 1.69
+      DateTime::TimeZone::Asia::Baghdad 1.69
+      DateTime::TimeZone::Asia::Bahrain 1.69
+      DateTime::TimeZone::Asia::Baku 1.69
+      DateTime::TimeZone::Asia::Bangkok 1.69
+      DateTime::TimeZone::Asia::Beirut 1.69
+      DateTime::TimeZone::Asia::Bishkek 1.69
+      DateTime::TimeZone::Asia::Brunei 1.69
+      DateTime::TimeZone::Asia::Choibalsan 1.69
+      DateTime::TimeZone::Asia::Chongqing 1.69
+      DateTime::TimeZone::Asia::Colombo 1.69
+      DateTime::TimeZone::Asia::Damascus 1.69
+      DateTime::TimeZone::Asia::Dhaka 1.69
+      DateTime::TimeZone::Asia::Dili 1.69
+      DateTime::TimeZone::Asia::Dubai 1.69
+      DateTime::TimeZone::Asia::Dushanbe 1.69
+      DateTime::TimeZone::Asia::Gaza 1.69
+      DateTime::TimeZone::Asia::Harbin 1.69
+      DateTime::TimeZone::Asia::Hebron 1.69
+      DateTime::TimeZone::Asia::Ho_Chi_Minh 1.69
+      DateTime::TimeZone::Asia::Hong_Kong 1.69
+      DateTime::TimeZone::Asia::Hovd 1.69
+      DateTime::TimeZone::Asia::Irkutsk 1.69
+      DateTime::TimeZone::Asia::Jakarta 1.69
+      DateTime::TimeZone::Asia::Jayapura 1.69
+      DateTime::TimeZone::Asia::Jerusalem 1.69
+      DateTime::TimeZone::Asia::Kabul 1.69
+      DateTime::TimeZone::Asia::Kamchatka 1.69
+      DateTime::TimeZone::Asia::Karachi 1.69
+      DateTime::TimeZone::Asia::Kashgar 1.69
+      DateTime::TimeZone::Asia::Kathmandu 1.69
+      DateTime::TimeZone::Asia::Khandyga 1.69
+      DateTime::TimeZone::Asia::Kolkata 1.69
+      DateTime::TimeZone::Asia::Krasnoyarsk 1.69
+      DateTime::TimeZone::Asia::Kuala_Lumpur 1.69
+      DateTime::TimeZone::Asia::Kuching 1.69
+      DateTime::TimeZone::Asia::Kuwait 1.69
+      DateTime::TimeZone::Asia::Macau 1.69
+      DateTime::TimeZone::Asia::Magadan 1.69
+      DateTime::TimeZone::Asia::Makassar 1.69
+      DateTime::TimeZone::Asia::Manila 1.69
+      DateTime::TimeZone::Asia::Muscat 1.69
+      DateTime::TimeZone::Asia::Nicosia 1.69
+      DateTime::TimeZone::Asia::Novokuznetsk 1.69
+      DateTime::TimeZone::Asia::Novosibirsk 1.69
+      DateTime::TimeZone::Asia::Omsk 1.69
+      DateTime::TimeZone::Asia::Oral 1.69
+      DateTime::TimeZone::Asia::Phnom_Penh 1.69
+      DateTime::TimeZone::Asia::Pontianak 1.69
+      DateTime::TimeZone::Asia::Pyongyang 1.69
+      DateTime::TimeZone::Asia::Qatar 1.69
+      DateTime::TimeZone::Asia::Qyzylorda 1.69
+      DateTime::TimeZone::Asia::Rangoon 1.69
+      DateTime::TimeZone::Asia::Riyadh 1.69
+      DateTime::TimeZone::Asia::Sakhalin 1.69
+      DateTime::TimeZone::Asia::Samarkand 1.69
+      DateTime::TimeZone::Asia::Seoul 1.69
+      DateTime::TimeZone::Asia::Shanghai 1.69
+      DateTime::TimeZone::Asia::Singapore 1.69
+      DateTime::TimeZone::Asia::Taipei 1.69
+      DateTime::TimeZone::Asia::Tashkent 1.69
+      DateTime::TimeZone::Asia::Tbilisi 1.69
+      DateTime::TimeZone::Asia::Tehran 1.69
+      DateTime::TimeZone::Asia::Thimphu 1.69
+      DateTime::TimeZone::Asia::Tokyo 1.69
+      DateTime::TimeZone::Asia::Ulaanbaatar 1.69
+      DateTime::TimeZone::Asia::Urumqi 1.69
+      DateTime::TimeZone::Asia::Ust_Nera 1.69
+      DateTime::TimeZone::Asia::Vientiane 1.69
+      DateTime::TimeZone::Asia::Vladivostok 1.69
+      DateTime::TimeZone::Asia::Yakutsk 1.69
+      DateTime::TimeZone::Asia::Yekaterinburg 1.69
+      DateTime::TimeZone::Asia::Yerevan 1.69
+      DateTime::TimeZone::Atlantic::Azores 1.69
+      DateTime::TimeZone::Atlantic::Bermuda 1.69
+      DateTime::TimeZone::Atlantic::Canary 1.69
+      DateTime::TimeZone::Atlantic::Cape_Verde 1.69
+      DateTime::TimeZone::Atlantic::Faroe 1.69
+      DateTime::TimeZone::Atlantic::Madeira 1.69
+      DateTime::TimeZone::Atlantic::Reykjavik 1.69
+      DateTime::TimeZone::Atlantic::South_Georgia 1.69
+      DateTime::TimeZone::Atlantic::St_Helena 1.69
+      DateTime::TimeZone::Atlantic::Stanley 1.69
+      DateTime::TimeZone::Australia::Adelaide 1.69
+      DateTime::TimeZone::Australia::Brisbane 1.69
+      DateTime::TimeZone::Australia::Broken_Hill 1.69
+      DateTime::TimeZone::Australia::Currie 1.69
+      DateTime::TimeZone::Australia::Darwin 1.69
+      DateTime::TimeZone::Australia::Eucla 1.69
+      DateTime::TimeZone::Australia::Hobart 1.69
+      DateTime::TimeZone::Australia::Lindeman 1.69
+      DateTime::TimeZone::Australia::Lord_Howe 1.69
+      DateTime::TimeZone::Australia::Melbourne 1.69
+      DateTime::TimeZone::Australia::Perth 1.69
+      DateTime::TimeZone::Australia::Sydney 1.69
+      DateTime::TimeZone::CET 1.69
+      DateTime::TimeZone::CST6CDT 1.69
+      DateTime::TimeZone::Catalog 1.69
+      DateTime::TimeZone::EET 1.69
+      DateTime::TimeZone::EST 1.69
+      DateTime::TimeZone::EST5EDT 1.69
+      DateTime::TimeZone::Europe::Amsterdam 1.69
+      DateTime::TimeZone::Europe::Andorra 1.69
+      DateTime::TimeZone::Europe::Athens 1.69
+      DateTime::TimeZone::Europe::Belgrade 1.69
+      DateTime::TimeZone::Europe::Berlin 1.69
+      DateTime::TimeZone::Europe::Brussels 1.69
+      DateTime::TimeZone::Europe::Bucharest 1.69
+      DateTime::TimeZone::Europe::Budapest 1.69
+      DateTime::TimeZone::Europe::Chisinau 1.69
+      DateTime::TimeZone::Europe::Copenhagen 1.69
+      DateTime::TimeZone::Europe::Dublin 1.69
+      DateTime::TimeZone::Europe::Gibraltar 1.69
+      DateTime::TimeZone::Europe::Helsinki 1.69
+      DateTime::TimeZone::Europe::Istanbul 1.69
+      DateTime::TimeZone::Europe::Kaliningrad 1.69
+      DateTime::TimeZone::Europe::Kiev 1.69
+      DateTime::TimeZone::Europe::Lisbon 1.69
+      DateTime::TimeZone::Europe::London 1.69
+      DateTime::TimeZone::Europe::Luxembourg 1.69
+      DateTime::TimeZone::Europe::Madrid 1.69
+      DateTime::TimeZone::Europe::Malta 1.69
+      DateTime::TimeZone::Europe::Minsk 1.69
+      DateTime::TimeZone::Europe::Monaco 1.69
+      DateTime::TimeZone::Europe::Moscow 1.69
+      DateTime::TimeZone::Europe::Oslo 1.69
+      DateTime::TimeZone::Europe::Paris 1.69
+      DateTime::TimeZone::Europe::Prague 1.69
+      DateTime::TimeZone::Europe::Riga 1.69
+      DateTime::TimeZone::Europe::Rome 1.69
+      DateTime::TimeZone::Europe::Samara 1.69
+      DateTime::TimeZone::Europe::Simferopol 1.69
+      DateTime::TimeZone::Europe::Sofia 1.69
+      DateTime::TimeZone::Europe::Stockholm 1.69
+      DateTime::TimeZone::Europe::Tallinn 1.69
+      DateTime::TimeZone::Europe::Tirane 1.69
+      DateTime::TimeZone::Europe::Uzhgorod 1.69
+      DateTime::TimeZone::Europe::Vienna 1.69
+      DateTime::TimeZone::Europe::Vilnius 1.69
+      DateTime::TimeZone::Europe::Volgograd 1.69
+      DateTime::TimeZone::Europe::Warsaw 1.69
+      DateTime::TimeZone::Europe::Zaporozhye 1.69
+      DateTime::TimeZone::Europe::Zurich 1.69
+      DateTime::TimeZone::Floating 1.69
+      DateTime::TimeZone::HST 1.69
+      DateTime::TimeZone::Indian::Antananarivo 1.69
+      DateTime::TimeZone::Indian::Chagos 1.69
+      DateTime::TimeZone::Indian::Christmas 1.69
+      DateTime::TimeZone::Indian::Cocos 1.69
+      DateTime::TimeZone::Indian::Comoro 1.69
+      DateTime::TimeZone::Indian::Kerguelen 1.69
+      DateTime::TimeZone::Indian::Mahe 1.69
+      DateTime::TimeZone::Indian::Maldives 1.69
+      DateTime::TimeZone::Indian::Mauritius 1.69
+      DateTime::TimeZone::Indian::Mayotte 1.69
+      DateTime::TimeZone::Indian::Reunion 1.69
+      DateTime::TimeZone::Local 1.69
+      DateTime::TimeZone::Local::Unix 1.69
+      DateTime::TimeZone::Local::VMS 1.69
+      DateTime::TimeZone::Local::Win32 1.69
+      DateTime::TimeZone::MET 1.69
+      DateTime::TimeZone::MST 1.69
+      DateTime::TimeZone::MST7MDT 1.69
+      DateTime::TimeZone::OffsetOnly 1.69
+      DateTime::TimeZone::OlsonDB 1.69
+      DateTime::TimeZone::OlsonDB::Change 1.69
+      DateTime::TimeZone::OlsonDB::Observance 1.69
+      DateTime::TimeZone::OlsonDB::Rule 1.69
+      DateTime::TimeZone::OlsonDB::Zone 1.69
+      DateTime::TimeZone::PST8PDT 1.69
+      DateTime::TimeZone::Pacific::Apia 1.69
+      DateTime::TimeZone::Pacific::Auckland 1.69
+      DateTime::TimeZone::Pacific::Chatham 1.69
+      DateTime::TimeZone::Pacific::Chuuk 1.69
+      DateTime::TimeZone::Pacific::Easter 1.69
+      DateTime::TimeZone::Pacific::Efate 1.69
+      DateTime::TimeZone::Pacific::Enderbury 1.69
+      DateTime::TimeZone::Pacific::Fakaofo 1.69
+      DateTime::TimeZone::Pacific::Fiji 1.69
+      DateTime::TimeZone::Pacific::Funafuti 1.69
+      DateTime::TimeZone::Pacific::Galapagos 1.69
+      DateTime::TimeZone::Pacific::Gambier 1.69
+      DateTime::TimeZone::Pacific::Guadalcanal 1.69
+      DateTime::TimeZone::Pacific::Guam 1.69
+      DateTime::TimeZone::Pacific::Honolulu 1.69
+      DateTime::TimeZone::Pacific::Kiritimati 1.69
+      DateTime::TimeZone::Pacific::Kosrae 1.69
+      DateTime::TimeZone::Pacific::Kwajalein 1.69
+      DateTime::TimeZone::Pacific::Majuro 1.69
+      DateTime::TimeZone::Pacific::Marquesas 1.69
+      DateTime::TimeZone::Pacific::Midway 1.69
+      DateTime::TimeZone::Pacific::Nauru 1.69
+      DateTime::TimeZone::Pacific::Niue 1.69
+      DateTime::TimeZone::Pacific::Norfolk 1.69
+      DateTime::TimeZone::Pacific::Noumea 1.69
+      DateTime::TimeZone::Pacific::Pago_Pago 1.69
+      DateTime::TimeZone::Pacific::Palau 1.69
+      DateTime::TimeZone::Pacific::Pitcairn 1.69
+      DateTime::TimeZone::Pacific::Pohnpei 1.69
+      DateTime::TimeZone::Pacific::Port_Moresby 1.69
+      DateTime::TimeZone::Pacific::Rarotonga 1.69
+      DateTime::TimeZone::Pacific::Saipan 1.69
+      DateTime::TimeZone::Pacific::Tahiti 1.69
+      DateTime::TimeZone::Pacific::Tarawa 1.69
+      DateTime::TimeZone::Pacific::Tongatapu 1.69
+      DateTime::TimeZone::Pacific::Wake 1.69
+      DateTime::TimeZone::Pacific::Wallis 1.69
+      DateTime::TimeZone::UTC 1.69
+      DateTime::TimeZone::WET 1.69
+    requirements:
+      Class::Load 0
+      Class::Singleton 1.03
+      Cwd 3
+      ExtUtils::MakeMaker 6.30
+      File::Basename 0
+      File::Compare 0
+      File::Find 0
+      File::Spec 0
+      List::Util 0
+      Params::Validate 0.72
+      constant 0
+      parent 0
+      strict 0
+      vars 0
+      warnings 0
+  Devel-CheckLib-1.07
+    pathname: M/MA/MATTN/Devel-CheckLib-1.07.tar.gz
+    provides:
+      Devel::CheckLib 1.07
+    requirements:
+      Exporter 0
+      ExtUtils::MakeMaker 0
+      File::Spec 0
+      File::Temp 0.16
+      IO::CaptureOutput 1.0801
+      Test::More 0.62
+      perl 5.00405
+  Devel-StackTrace-2.01
+    pathname: D/DR/DROLSKY/Devel-StackTrace-2.01.tar.gz
+    provides:
+      Devel::StackTrace 2.01
+      Devel::StackTrace::Frame 2.01
+    requirements:
+      ExtUtils::MakeMaker 0
+      File::Spec 0
+      Scalar::Util 0
+      overload 0
+      perl 5.006
+      strict 0
+      warnings 0
+  Devel-StackTrace-AsHTML-0.15
+    pathname: M/MI/MIYAGAWA/Devel-StackTrace-AsHTML-0.15.tar.gz
+    provides:
+      Devel::StackTrace::AsHTML 0.15
+    requirements:
+      Devel::StackTrace 0
+      ExtUtils::MakeMaker 0
+  Devel-Symdump-2.17
+    pathname: A/AN/ANDK/Devel-Symdump-2.17.tar.gz
+    provides:
+      Devel::Symdump 2.17
+      Devel::Symdump::Export undef
+    requirements:
+      Compress::Zlib 0
+      ExtUtils::MakeMaker 0
+      Test::More 0
+      perl 5.004
+  Digest-BubbleBabble-0.02
+    pathname: B/BT/BTROTT/Digest-BubbleBabble-0.02.tar.gz
+    provides:
+      Digest::BubbleBabble 0.02
+    requirements:
+      ExtUtils::MakeMaker 6.42
+      Filter::Util::Call 0
+      Test::More 0
+      perl 5.008001
+  Digest-HMAC-1.03
+    pathname: G/GA/GAAS/Digest-HMAC-1.03.tar.gz
+    provides:
+      Digest::HMAC 1.03
+      Digest::HMAC_MD5 1.01
+      Digest::HMAC_SHA1 1.03
+    requirements:
+      Digest::MD5 2
+      Digest::SHA 1
+      ExtUtils::MakeMaker 0
+      perl 5.004
+  Digest-MD2-2.04
+    pathname: G/GA/GAAS/Digest-MD2-2.04.tar.gz
+    provides:
+      Digest::MD2 2.04
+    requirements:
+      ExtUtils::MakeMaker 0
+  Digest-SHA1-2.13
+    pathname: G/GA/GAAS/Digest-SHA1-2.13.tar.gz
+    provides:
+      Digest::SHA1 2.13
+    requirements:
+      Digest::base 1.00
+      ExtUtils::MakeMaker 0
+      perl 5.004
+  Dist-CheckConflicts-0.11
+    pathname: D/DO/DOY/Dist-CheckConflicts-0.11.tar.gz
+    provides:
+      Dist::CheckConflicts 0.11
+    requirements:
+      Carp 0
+      Exporter 0
+      ExtUtils::MakeMaker 6.30
+      Module::Runtime 0.009
+      base 0
+      strict 0
+      warnings 0
+  Email-Abstract-3.008
+    pathname: R/RJ/RJBS/Email-Abstract-3.008.tar.gz
+    provides:
+      Email::Abstract 3.008
+      Email::Abstract::EmailMIME 3.008
+      Email::Abstract::EmailSimple 3.008
+      Email::Abstract::MIMEEntity 3.008
+      Email::Abstract::MailInternet 3.008
+      Email::Abstract::MailMessage 3.008
+      Email::Abstract::Plugin 3.008
+    requirements:
+      Carp 0
+      Email::Simple 1.998
+      ExtUtils::MakeMaker 0
+      MRO::Compat 0
+      Module::Pluggable 1.5
+      Scalar::Util 0
+      perl 5.006
+      strict 0
+      warnings 0
+  Email-Address-1.908
+    pathname: R/RJ/RJBS/Email-Address-1.908.tar.gz
+    provides:
+      Email::Address 1.908
+    requirements:
+      ExtUtils::MakeMaker 0
+      overload 0
+      strict 0
+      warnings 0
+  Email-Date-Format-1.005
+    pathname: R/RJ/RJBS/Email-Date-Format-1.005.tar.gz
+    provides:
+      Email::Date::Format 1.005
+    requirements:
+      Exporter 5.57
+      ExtUtils::MakeMaker 0
+      Time::Local 0
+      strict 0
+      warnings 0
+  Email-MIME-1.937
+    pathname: R/RJ/RJBS/Email-MIME-1.937.tar.gz
+    provides:
+      Email::MIME 1.937
+      Email::MIME::Creator 1.937
+      Email::MIME::Encode 1.937
+      Email::MIME::Header 1.937
+      Email::MIME::Modifier 1.937
+    requirements:
+      Carp 0
+      Email::Address 0
+      Email::MIME::ContentType 1.016
+      Email::MIME::Encodings 1.314
+      Email::MessageID 0
+      Email::Simple 2.206
+      Email::Simple::Creator 0
+      Email::Simple::Header 0
+      Encode 1.9801
+      ExtUtils::MakeMaker 0
+      MIME::Base64 0
+      MIME::Types 1.13
+      Scalar::Util 0
+      parent 0
+      perl 5.008001
+      strict 0
+      warnings 0
+  Email-MIME-Attachment-Stripper-1.317
+    pathname: R/RJ/RJBS/Email-MIME-Attachment-Stripper-1.317.tar.gz
+    provides:
+      Email::MIME::Attachment::Stripper 1.317
+    requirements:
+      Carp 0
+      Email::Abstract 0
+      Email::MIME 1.861
+      Email::MIME::ContentType 1.016
+      ExtUtils::MakeMaker 6.30
+      strict 0
+      warnings 0
+  Email-MIME-ContentType-1.018
+    pathname: R/RJ/RJBS/Email-MIME-ContentType-1.018.tar.gz
+    provides:
+      Email::MIME::ContentType 1.018
+    requirements:
+      Carp 0
+      Exporter 5.57
+      ExtUtils::MakeMaker 0
+      strict 0
+      warnings 0
+  Email-MIME-Encodings-1.315
+    pathname: R/RJ/RJBS/Email-MIME-Encodings-1.315.tar.gz
+    provides:
+      Email::MIME::Encodings 1.315
+    requirements:
+      Carp 0
+      ExtUtils::MakeMaker 6.30
+      MIME::Base64 3.05
+      MIME::QuotedPrint 3.05
+      strict 0
+      warnings 0
+  Email-MessageID-1.406
+    pathname: R/RJ/RJBS/Email-MessageID-1.406.tar.gz
+    provides:
+      Email::MessageID 1.406
+    requirements:
+      ExtUtils::MakeMaker 0
+      Sys::Hostname 0
+      overload 0
+      strict 0
+      warnings 0
+  Email-Reply-1.204
+    pathname: R/RJ/RJBS/Email-Reply-1.204.tar.gz
+    provides:
+      Email::Reply 1.204
+    requirements:
+      Email::Abstract 2.01
+      Email::Address 1.80
+      Email::MIME 1.82
+      Exporter 5.57
+      ExtUtils::MakeMaker 0
+      strict 0
+      warnings 0
+  Email-Send-2.201
+    pathname: R/RJ/RJBS/Email-Send-2.201.tar.gz
+    provides:
+      Email::Send 2.201
+      Email::Send::NNTP 2.201
+      Email::Send::Qmail 2.201
+      Email::Send::SMTP 2.201
+      Email::Send::Sendmail 2.201
+      Email::Send::Test 2.201
+    requirements:
+      Email::Abstract 0
+      Email::Address 1.80
+      Email::Simple 1.92
+      ExtUtils::MakeMaker 0
+      File::Spec 0
+      Module::Pluggable 2.97
+      Net::SMTP 0
+      Return::Value 0
+      Scalar::Util 1.02
+      Symbol 0
+      perl 5.006
+      strict 0
+      vars 0
+  Email-Simple-2.210
+    pathname: R/RJ/RJBS/Email-Simple-2.210.tar.gz
+    provides:
+      Email::Simple 2.210
+      Email::Simple::Creator 2.210
+      Email::Simple::Header 2.210
+    requirements:
+      Carp 0
+      Email::Date::Format 0
+      ExtUtils::MakeMaker 0
+      perl 5.008
+      strict 0
+      warnings 0
+  Encode-Detect-1.01
+    pathname: J/JG/JGMYERS/Encode-Detect-1.01.tar.gz
+    provides:
+      Encode::Detect 1.01
+      Encode::Detect::Detector 1.01
+    requirements:
+      ExtUtils::CBuilder 0
+      Module::Build 0
+  Encode-Locale-1.05
+    pathname: G/GA/GAAS/Encode-Locale-1.05.tar.gz
+    provides:
+      Encode::Locale 1.05
+    requirements:
+      Encode 2
+      Encode::Alias 0
+      ExtUtils::MakeMaker 0
+      perl 5.008
+  Eval-LineNumbers-0.34
+    pathname: M/MU/MUIR/modules/Eval-LineNumbers-0.34.tar.gz
+    provides:
+      Eval::LineNumbers 0.34
+    requirements:
+      Exporter 5.57
+      ExtUtils::MakeMaker 0
+  Event-1.26
+    pathname: E/ET/ETJ/Event-1.26.tar.gz
+    provides:
+      Event 1.26
+      Event::Event::Dataful 1.26
+      Event::Event::Io 1.26
+      Event::MakeMaker undef
+      Event::Watcher undef
+      Event::Watcher::Tied undef
+      Event::generic undef
+      Event::generic::Source undef
+      Event::group undef
+      Event::idle undef
+      Event::io undef
+      Event::msg undef
+      Event::process undef
+      Event::semaphore undef
+      Event::signal undef
+      Event::timer undef
+      Event::type undef
+      Event::var undef
+    requirements:
+      ExtUtils::MakeMaker 0
+      Test 1
+      perl 5.008000
+  ExtUtils-CBuilder-0.280224
+    pathname: A/AM/AMBS/ExtUtils-CBuilder-0.280224.tar.gz
+    provides:
+      ExtUtils::CBuilder 0.280224
+      ExtUtils::CBuilder::Base 0.280224
+      ExtUtils::CBuilder::Platform::Unix 0.280224
+      ExtUtils::CBuilder::Platform::VMS 0.280224
+      ExtUtils::CBuilder::Platform::Windows 0.280224
+      ExtUtils::CBuilder::Platform::Windows::BCC 0.280224
+      ExtUtils::CBuilder::Platform::Windows::GCC 0.280224
+      ExtUtils::CBuilder::Platform::Windows::MSVC 0.280224
+      ExtUtils::CBuilder::Platform::aix 0.280224
+      ExtUtils::CBuilder::Platform::android 0.280224
+      ExtUtils::CBuilder::Platform::cygwin 0.280224
+      ExtUtils::CBuilder::Platform::darwin 0.280224
+      ExtUtils::CBuilder::Platform::dec_osf 0.280224
+      ExtUtils::CBuilder::Platform::os2 0.280224
+    requirements:
+      Cwd 0
+      ExtUtils::MakeMaker 6.30
+      File::Basename 0
+      File::Spec 3.13
+      File::Temp 0
+      IO::File 0
+      IPC::Cmd 0
+      Perl::OSType 1
+      Text::ParseWords 0
+  ExtUtils-CChecker-0.10
+    pathname: P/PE/PEVANS/ExtUtils-CChecker-0.10.tar.gz
+    provides:
+      ExtUtils::CChecker 0.10
+    requirements:
+      ExtUtils::CBuilder 0
+      Module::Build 0
+      Test::Fatal 0
+      Test::More 0
+  ExtUtils-Config-0.008
+    pathname: L/LE/LEONT/ExtUtils-Config-0.008.tar.gz
+    provides:
+      ExtUtils::Config 0.008
+    requirements:
+      Data::Dumper 0
+      ExtUtils::MakeMaker 6.30
+      strict 0
+      warnings 0
+  ExtUtils-Constant-0.23
+    pathname: N/NW/NWCLARK/ExtUtils-Constant-0.23.tar.gz
+    provides:
+      ExtUtils::Constant 0.23
+      ExtUtils::Constant::Aaargh56Hash undef
+      ExtUtils::Constant::Base 0.05
+      ExtUtils::Constant::ProxySubs 0.08
+      ExtUtils::Constant::Utils 0.03
+      ExtUtils::Constant::XS 0.03
+    requirements:
+      ExtUtils::MakeMaker 0
+  ExtUtils-Helpers-0.022
+    pathname: L/LE/LEONT/ExtUtils-Helpers-0.022.tar.gz
+    provides:
+      ExtUtils::Helpers 0.022
+      ExtUtils::Helpers::Unix 0.022
+      ExtUtils::Helpers::VMS 0.022
+      ExtUtils::Helpers::Windows 0.022
+    requirements:
+      Carp 0
+      Exporter 5.57
+      ExtUtils::MakeMaker 6.30
+      File::Basename 0
+      File::Copy 0
+      File::Spec::Functions 0
+      Module::Load 0
+      Text::ParseWords 3.24
+      strict 0
+      warnings 0
+  ExtUtils-InstallPaths-0.011
+    pathname: L/LE/LEONT/ExtUtils-InstallPaths-0.011.tar.gz
+    provides:
+      ExtUtils::InstallPaths 0.011
+    requirements:
+      Carp 0
+      ExtUtils::Config 0.002
+      ExtUtils::MakeMaker 0
+      File::Spec 0
+      perl 5.006
+      strict 0
+      warnings 0
+  ExtUtils-MakeMaker-7.22
+    pathname: B/BI/BINGOS/ExtUtils-MakeMaker-7.22.tar.gz
+    provides:
+      ExtUtils::Command 7.22
+      ExtUtils::Command::MM 7.22
+      ExtUtils::Liblist 7.22
+      ExtUtils::Liblist::Kid 7.22
+      ExtUtils::MM 7.22
+      ExtUtils::MM_AIX 7.22
+      ExtUtils::MM_Any 7.22
+      ExtUtils::MM_BeOS 7.22
+      ExtUtils::MM_Cygwin 7.22
+      ExtUtils::MM_DOS 7.22
+      ExtUtils::MM_Darwin 7.22
+      ExtUtils::MM_MacOS 7.22
+      ExtUtils::MM_NW5 7.22
+      ExtUtils::MM_OS2 7.22
+      ExtUtils::MM_QNX 7.22
+      ExtUtils::MM_UWIN 7.22
+      ExtUtils::MM_Unix 7.22
+      ExtUtils::MM_VMS 7.22
+      ExtUtils::MM_VOS 7.22
+      ExtUtils::MM_Win32 7.22
+      ExtUtils::MM_Win95 7.22
+      ExtUtils::MY 7.22
+      ExtUtils::MakeMaker 7.22
+      ExtUtils::MakeMaker::Config 7.22
+      ExtUtils::MakeMaker::Locale 7.22
+      ExtUtils::MakeMaker::_version 7.22
+      ExtUtils::MakeMaker::charstar 7.22
+      ExtUtils::MakeMaker::version 7.22
+      ExtUtils::MakeMaker::version::regex 7.22
+      ExtUtils::MakeMaker::version::vpp 7.22
+      ExtUtils::Mkbootstrap 7.22
+      ExtUtils::Mksymlists 7.22
+      ExtUtils::testlib 7.22
+      MM 7.22
+      MY 7.22
+    requirements:
+      Data::Dumper 0
+      Encode 0
+      File::Basename 0
+      File::Spec 0.8
+      Pod::Man 0
+      perl 5.006
+  ExtUtils-ParseXS-3.30
+    pathname: S/SM/SMUELLER/ExtUtils-ParseXS-3.30.tar.gz
+    provides:
+      ExtUtils::ParseXS 3.30
+      ExtUtils::ParseXS::Constants 3.30
+      ExtUtils::ParseXS::CountLines 3.30
+      ExtUtils::ParseXS::Eval 3.30
+      ExtUtils::ParseXS::Utilities 3.30
+      ExtUtils::Typemaps 3.30
+      ExtUtils::Typemaps::Cmd 3.30
+      ExtUtils::Typemaps::InputMap 3.30
+      ExtUtils::Typemaps::OutputMap 3.30
+      ExtUtils::Typemaps::Type 3.30
+    requirements:
+      Carp 0
+      Cwd 0
+      DynaLoader 0
+      Exporter 5.57
+      ExtUtils::CBuilder 0
+      ExtUtils::MakeMaker 6.46
+      File::Basename 0
+      File::Spec 0
+      Symbol 0
+      Test::More 0.47
+  ExtUtils-PkgConfig-1.15
+    pathname: X/XA/XAOC/ExtUtils-PkgConfig-1.15.tar.gz
+    provides:
+      ExtUtils::PkgConfig 1.15
+    requirements:
+      ExtUtils::MakeMaker 0
+  FCGI-0.78
+    pathname: E/ET/ETHER/FCGI-0.78.tar.gz
+    provides:
+      FCGI 0.78
+      FCGI::Stream 0.78
+    requirements:
+      ExtUtils::MakeMaker 0
+      XSLoader 0
+      perl 5.006
+  File-BaseDir-0.07
+    pathname: K/KI/KIMRYAN/File-BaseDir-0.07.tar.gz
+    provides:
+      File::BaseDir 0.07
+      File::IconTheme 0.07
+      File::UserDirs 0.07
+    requirements:
+      Carp 0
+      Exporter 0
+      File::Spec 0
+      File::Temp 0
+      File::Which 0
+      IPC::System::Simple 0
+      Module::Build 0.24
+      Test::More 0
+  File-Copy-Recursive-0.38
+    pathname: D/DM/DMUEY/File-Copy-Recursive-0.38.tar.gz
+    provides:
+      File::Copy::Recursive 0.38
+    requirements:
+      ExtUtils::MakeMaker 0
+      File::Copy 0
+      File::Spec 0
+  File-DesktopEntry-0.22
+    pathname: M/MI/MICHIELB/File-DesktopEntry-0.22.tar.gz
+    provides:
+      File::DesktopEntry 0.22
+    requirements:
+      Carp 0
+      Encode 0
+      ExtUtils::MakeMaker 6.30
+      File::BaseDir 0.03
+      File::Path 0
+      File::Spec 0
+      URI::Escape 0
+      perl 5.008006
+  File-Flock-2014.01
+    pathname: M/MU/MUIR/modules/File-Flock-2014.01.tar.gz
+    provides:
+      File::Flock 2014.01
+      File::Flock::Forking undef
+      File::Flock::Subprocess undef
+      File::Flock::Subprocess::Connections undef
+      File::Flock::Subprocess::Master undef
+    requirements:
+      AnyEvent 0
+      Data::Structure::Util 0
+      File::Slurp 0
+      IO::Event 0.812
+      Test::SharedFork 0
+      Time::HiRes 0
+  File-HomeDir-1.00
+    pathname: A/AD/ADAMK/File-HomeDir-1.00.tar.gz
+    provides:
+      File::HomeDir 1.00
+      File::HomeDir::Darwin 1.00
+      File::HomeDir::Darwin::Carbon 1.00
+      File::HomeDir::Darwin::Cocoa 1.00
+      File::HomeDir::Driver 1.00
+      File::HomeDir::FreeDesktop 1.00
+      File::HomeDir::MacOS9 1.00
+      File::HomeDir::TIE 1.00
+      File::HomeDir::Test 1.00
+      File::HomeDir::Unix 1.00
+      File::HomeDir::Windows 1.00
+    requirements:
+      Carp 0
+      Cwd 3.12
+      ExtUtils::MakeMaker 6.36
+      File::Path 2.01
+      File::Spec 3.12
+      File::Temp 0.19
+      File::Which 0.05
+      Test::More 0.47
+      perl 5.00503
+  File-MimeInfo-0.27
+    pathname: M/MI/MICHIELB/File-MimeInfo-0.27.tar.gz
+    provides:
+      File::MimeInfo 0.27
+      File::MimeInfo::Applications 0.27
+      File::MimeInfo::Magic 0.27
+      File::MimeInfo::Rox 0.27
+    requirements:
+      Carp 0
+      Exporter 0
+      ExtUtils::MakeMaker 6.30
+      Fcntl 0
+      File::BaseDir 0.03
+      File::DesktopEntry 0.04
+      Pod::Usage 0
+      perl 5.006001
+  File-ShareDir-1.102
+    pathname: R/RE/REHSACK/File-ShareDir-1.102.tar.gz
+    provides:
+      File::ShareDir 1.102
+    requirements:
+      Carp 0
+      Class::Inspector 1.12
+      ExtUtils::MakeMaker 0
+      File::ShareDir::Install 0.03
+      File::Spec 0.80
+      perl 5.008001
+      warnings 0
+  File-ShareDir-Install-0.11
+    pathname: E/ET/ETHER/File-ShareDir-Install-0.11.tar.gz
+    provides:
+      File::ShareDir::Install 0.11
+    requirements:
+      Carp 0
+      Exporter 0
+      File::Spec 0
+      IO::Dir 0
+      Module::Build::Tiny 0.034
+      perl 5.008
+      strict 0
+      warnings 0
+  File-Slurp-9999.19
+    pathname: U/UR/URI/File-Slurp-9999.19.tar.gz
+    provides:
+      File::Slurp 9999.19
+      FileSlurp_12 9999.13
+    requirements:
+      Carp 0
+      Exporter 0
+      ExtUtils::MakeMaker 0
+      Fcntl 0
+      POSIX 0
+      perl 5.004
+  File-Which-1.21
+    pathname: P/PL/PLICEASE/File-Which-1.21.tar.gz
+    provides:
+      File::Which 1.21
+    requirements:
+      ExtUtils::MakeMaker 0
+      perl 5.006
+  Filesys-Notify-Simple-0.12
+    pathname: M/MI/MIYAGAWA/Filesys-Notify-Simple-0.12.tar.gz
+    provides:
+      Filesys::Notify::Simple 0.12
+    requirements:
+      ExtUtils::MakeMaker 6.30
+  GD-2.56
+    pathname: L/LD/LDS/GD-2.56.tar.gz
+    provides:
+      GD 2.56
+      GD::Group 1
+      GD::Polygon undef
+      GD::Polyline 0.2
+      GD::Simple undef
+    requirements:
+      ExtUtils::CBuilder 0
+      Math::Trig 0
+      Module::Build 0.42
+  GD-Barcode-1.15
+    pathname: K/KW/KWITKNR/GD-Barcode-1.15.tar.gz
+    provides:
+      GD::Barcode 1.15
+      GD::Barcode::COOP2of5 0.01
+      GD::Barcode::Code39 1.1
+      GD::Barcode::EAN13 1.1
+      GD::Barcode::EAN8 1.1
+      GD::Barcode::IATA2of5 0.01
+      GD::Barcode::ITF 0.01
+      GD::Barcode::Industrial2of5 0.01
+      GD::Barcode::Matrix2of5 0.01
+      GD::Barcode::NW7 1.1
+      GD::Barcode::QRcode 0.01
+      GD::Barcode::UPCA 1.1
+      GD::Barcode::UPCE 1.1
+    requirements:
+      ExtUtils::MakeMaker 0
+  GDGraph-1.53
+    pathname: R/RU/RUZ/GDGraph-1.53.tar.gz
+    provides:
+      GD::Graph 1.53
+      GD::Graph::Data 1.22
+      GD::Graph::Error 1.8
+      GD::Graph::area 1.17
+      GD::Graph::axestype 1.45
+      GD::Graph::bars 1.26
+      GD::Graph::colour 1.10
+      GD::Graph::hbars 1.3
+      GD::Graph::lines 1.15
+      GD::Graph::linespoints 1.8
+      GD::Graph::mixed 1.13
+      GD::Graph::pie 1.21
+      GD::Graph::points 1.13
+      GD::Graph::utils 1.7
+    requirements:
+      ExtUtils::MakeMaker 6.76
+      GD 1.18
+      GD::Text 0.80
+  GDTextUtil-0.86
+    pathname: M/MV/MVERB/GDTextUtil-0.86.tar.gz
+    provides:
+      GD::Text 0.86
+      GD::Text::Align 1.18
+      GD::Text::Wrap 1.20
+    requirements:
+      ExtUtils::MakeMaker 0
+      GD 1
+  HTML-Parser-3.72
+    pathname: G/GA/GAAS/HTML-Parser-3.72.tar.gz
+    provides:
+      HTML::Entities 3.69
+      HTML::Filter 3.72
+      HTML::HeadParser 3.71
+      HTML::LinkExtor 3.69
+      HTML::Parser 3.72
+      HTML::PullParser 3.57
+      HTML::TokeParser 3.69
+    requirements:
+      ExtUtils::MakeMaker 0
+      HTML::Tagset 3
+      XSLoader 0
+      perl 5.008
+  HTML-Scrubber-0.15
+    pathname: N/NI/NIGELM/HTML-Scrubber-0.15.tar.gz
+    provides:
+      HTML::Scrubber 0.15
+    requirements:
+      HTML::Entities 0
+      HTML::Parser 3.47
+      Module::Build 0.28
+      Scalar::Util 0
+      Test::CPAN::Meta 0
+      Test::EOL 0
+      Test::NoTabs 0
+      perl 5.008
+      strict 0
+      warnings 0
+  HTML-Tagset-3.20
+    pathname: P/PE/PETDANCE/HTML-Tagset-3.20.tar.gz
+    provides:
+      HTML::Tagset 3.20
+    requirements:
+      ExtUtils::MakeMaker 0
+  HTML-Tree-5.03
+    pathname: C/CJ/CJM/HTML-Tree-5.03.tar.gz
+    provides:
+      HTML::AsSubs 5.03
+      HTML::Element 5.03
+      HTML::Element::traverse 5.03
+      HTML::Parse 5.03
+      HTML::Tree 5.03
+      HTML::TreeBuilder 5.03
+    requirements:
+      Carp 0
+      Encode 0
+      Exporter 0
+      HTML::Entities 0
+      HTML::Parser 3.46
+      HTML::Tagset 3.02
+      Module::Build 0.2808
+      Scalar::Util 0
+      Test::Fatal 0
+      Test::More 0
+      base 0
+      integer 0
+      perl 5.008
+  HTTP-Body-1.22
+    pathname: G/GE/GETTY/HTTP-Body-1.22.tar.gz
+    provides:
+      HTTP::Body 1.22
+      HTTP::Body::MultiPart 1.22
+      HTTP::Body::OctetStream 1.22
+      HTTP::Body::UrlEncoded 1.22
+      HTTP::Body::XForms 1.22
+      HTTP::Body::XFormsMultipart 1.22
+    requirements:
+      Carp 0
+      Digest::MD5 0
+      ExtUtils::MakeMaker 0
+      File::Temp 0.14
+      HTTP::Headers 0
+      IO::File 1.14
+  HTTP-Date-6.02
+    pathname: G/GA/GAAS/HTTP-Date-6.02.tar.gz
+    provides:
+      HTTP::Date 6.02
+    requirements:
+      ExtUtils::MakeMaker 0
+      Time::Local 0
+      perl 5.006002
+  HTTP-Headers-Fast-0.20
+    pathname: T/TO/TOKUHIROM/HTTP-Headers-Fast-0.20.tar.gz
+    provides:
+      HTTP::Headers::Fast 0.20
+    requirements:
+      HTTP::Date 0
+      Module::Build 0.38
+      perl 5.008001
+  HTTP-Message-6.11
+    pathname: E/ET/ETHER/HTTP-Message-6.11.tar.gz
+    provides:
+      HTTP::Config 6.11
+      HTTP::Headers 6.11
+      HTTP::Headers::Auth 6.11
+      HTTP::Headers::ETag 6.11
+      HTTP::Headers::Util 6.11
+      HTTP::Message 6.11
+      HTTP::Request 6.11
+      HTTP::Request::Common 6.11
+      HTTP::Response 6.11
+      HTTP::Status 6.11
+    requirements:
+      Compress::Raw::Zlib 0
+      Encode 2.21
+      Encode::Locale 1
+      Exporter 5.57
+      ExtUtils::MakeMaker 0
+      HTTP::Date 6
+      IO::Compress::Bzip2 2.021
+      IO::Compress::Deflate 0
+      IO::Compress::Gzip 0
+      IO::HTML 0
+      IO::Uncompress::Bunzip2 2.021
+      IO::Uncompress::Gunzip 0
+      IO::Uncompress::Inflate 0
+      IO::Uncompress::RawInflate 0
+      LWP::MediaTypes 6
+      MIME::Base64 2.1
+      MIME::QuotedPrint 0
+      URI 1.10
+      perl 5.008001
+  HTTP-Tiny-0.058
+    pathname: D/DA/DAGOLDEN/HTTP-Tiny-0.058.tar.gz
+    provides:
+      HTTP::Tiny 0.058
+    requirements:
+      Carp 0
+      ExtUtils::MakeMaker 6.17
+      Fcntl 0
+      IO::Socket 0
+      MIME::Base64 0
+      Socket 0
+      Time::Local 0
+      bytes 0
+      perl 5.006
+      strict 0
+      warnings 0
+  Hash-MultiValue-0.16
+    pathname: A/AR/ARISTOTLE/Hash-MultiValue-0.16.tar.gz
+    provides:
+      Hash::MultiValue 0.16
+    requirements:
+      ExtUtils::MakeMaker 0
+      perl 5.008001
+  IO-CaptureOutput-1.1104
+    pathname: D/DA/DAGOLDEN/IO-CaptureOutput-1.1104.tar.gz
+    provides:
+      IO::CaptureOutput 1.1104
+    requirements:
+      Carp 0
+      Exporter 0
+      ExtUtils::MakeMaker 6.17
+      File::Basename 0
+      File::Temp 0.16
+      Symbol 0
+      perl 5.006
+      strict 0
+      vars 0
+      warnings 0
+  IO-Compress-2.069
+    pathname: P/PM/PMQS/IO-Compress-2.069.tar.gz
+    provides:
+      Compress::Zlib 2.069
+      File::GlobMapper 1.000
+      IO::Compress undef
+      IO::Compress::Adapter::Bzip2 2.069
+      IO::Compress::Adapter::Deflate 2.069
+      IO::Compress::Adapter::Identity 2.069
+      IO::Compress::Base 2.069
+      IO::Compress::Base::Common 2.069
+      IO::Compress::Bzip2 2.069
+      IO::Compress::Deflate 2.069
+      IO::Compress::Gzip 2.069
+      IO::Compress::Gzip::Constants 2.069
+      IO::Compress::RawDeflate 2.069
+      IO::Compress::Zip 2.069
+      IO::Compress::Zip::Constants 2.069
+      IO::Compress::Zlib::Constants 2.069
+      IO::Compress::Zlib::Extra 2.069
+      IO::Uncompress::Adapter::Bunzip2 2.069
+      IO::Uncompress::Adapter::Identity 2.069
+      IO::Uncompress::Adapter::Inflate 2.069
+      IO::Uncompress::AnyInflate 2.069
+      IO::Uncompress::AnyUncompress 2.069
+      IO::Uncompress::Base 2.069
+      IO::Uncompress::Bunzip2 2.069
+      IO::Uncompress::Gunzip 2.069
+      IO::Uncompress::Inflate 2.069
+      IO::Uncompress::RawInflate 2.069
+      IO::Uncompress::Unzip 2.069
+      U64 2.069
+      Zlib::OldDeflate 2.069
+      Zlib::OldInflate 2.069
+    requirements:
+      Compress::Raw::Bzip2 2.069
+      Compress::Raw::Zlib 2.069
+      ExtUtils::MakeMaker 0
+      Scalar::Util 0
+  IO-Event-0.813
+    pathname: M/MU/MUIR/modules/IO-Event-0.813.tar.gz
+    provides:
+      IO::Event 0.813
+      IO::Event::AnyEvent undef
+      IO::Event::AnyEvent::Wrapper undef
+      IO::Event::Callback undef
+      IO::Event::Common 0.813
+      IO::Event::Emulate undef
+      IO::Event::Emulate::Idle undef
+      IO::Event::Emulate::Timer undef
+      IO::Event::Event undef
+      IO::Event::INET::Callback undef
+      IO::Event::Socket::INET 0.813
+      IO::Event::Socket::UNIX 0.813
+      IO::Event::UNIX::Callback undef
+    requirements:
+      AnyEvent 0
+      Event 0
+      ExtUtils::MakeMaker 0
+      IO::Handle 0
+      List::MoreUtils 0
+      Test::Simple 0
+      Time::HiRes 0
+      diagnostics 0
+  IO-HTML-1.001
+    pathname: C/CJ/CJM/IO-HTML-1.001.tar.gz
+    provides:
+      IO::HTML 1.001
+    requirements:
+      Carp 0
+      Encode 2.10
+      Exporter 5.57
+      ExtUtils::MakeMaker 6.30
+  IO-SessionData-1.03
+    pathname: P/PH/PHRED/IO-SessionData-1.03.tar.gz
+    provides:
+      IO::SessionData 1.03
+      IO::SessionSet undef
+    requirements:
+      ExtUtils::MakeMaker 0
+  IO-Socket-IP-0.38
+    pathname: P/PE/PEVANS/IO-Socket-IP-0.38.tar.gz
+    provides:
+      IO::Socket::IP 0.38
+    requirements:
+      IO::Socket 0
+      Socket 1.97
+      Test::More 0.88
+  IO-Socket-SSL-2.034
+    pathname: S/SU/SULLR/IO-Socket-SSL-2.034.tar.gz
+    provides:
+      IO::Socket::SSL 2.034
+      IO::Socket::SSL::Intercept 2.014
+      IO::Socket::SSL::OCSP_Cache 2.034
+      IO::Socket::SSL::OCSP_Resolver 2.034
+      IO::Socket::SSL::PublicSuffix undef
+      IO::Socket::SSL::SSL_Context 2.034
+      IO::Socket::SSL::SSL_HANDLE 2.034
+      IO::Socket::SSL::Session_Cache 2.034
+      IO::Socket::SSL::Utils 2.014
+    requirements:
+      ExtUtils::MakeMaker 0
+      Mozilla::CA 0
+      Net::SSLeay 1.46
+      Scalar::Util 0
+  IO-stringy-2.111
+    pathname: D/DS/DSKOLL/IO-stringy-2.111.tar.gz
+    provides:
+      IO::AtomicFile 2.111
+      IO::Clever 1.01
+      IO::InnerFile 2.111
+      IO::Lines 2.111
+      IO::Scalar 2.111
+      IO::ScalarArray 2.111
+      IO::Stringy 2.111
+      IO::Wrap 2.111
+      IO::WrapTie 2.111
+      IO::WrapTie::Master 2.111
+      IO::WrapTie::Slave 2.111
+    requirements:
+      ExtUtils::MakeMaker 0
+  IPC-System-Simple-1.25
+    pathname: P/PJ/PJF/IPC-System-Simple-1.25.tar.gz
+    provides:
+      IPC::System::Simple 1.25
+    requirements:
+      Carp 0
+      Exporter 0
+      ExtUtils::MakeMaker 6.30
+      List::Util 0
+      POSIX 0
+      Scalar::Util 0
+      constant 0
+      re 0
+      strict 0
+      warnings 0
+  JSON-2.50
+    pathname: M/MA/MAKAMAKA/JSON-2.50.tar.gz
+    provides:
+      JSON 2.50
+      JSON::Backend::PP 2.50
+      JSON::Boolean 2.50
+      JSON::PP 2.27008
+      JSON::PP::IncrParser 2.27008
+      JSON::backportPP::Boolean 2.27008
+    requirements:
+      ExtUtils::MakeMaker 0
+      JSON::XS 2.27
+      Test::More 0
+  JSON-PP-2.27400
+    pathname: M/MA/MAKAMAKA/JSON-PP-2.27400.tar.gz
+    provides:
+      JSON::PP 2.27400
+      JSON::PP::Boolean 2.27400
+      JSON::PP::IncrParser 2.27400
+    requirements:
+      ExtUtils::MakeMaker 0
+      Test::More 0
+  JSON-RPC-1.01
+    pathname: D/DM/DMAKI/JSON-RPC-1.01.tar.gz
+    provides:
+      JSON::RPC 1.01
+      JSON::RPC::Constants undef
+      JSON::RPC::Dispatch undef
+      JSON::RPC::Legacy undef
+      JSON::RPC::Legacy::Client 0.93
+      JSON::RPC::Legacy::Procedure 0.90
+      JSON::RPC::Legacy::ReturnObject 0.93
+      JSON::RPC::Legacy::Server 0.92
+      JSON::RPC::Legacy::Server::Apache2 0.05
+      JSON::RPC::Legacy::Server::CGI 0.92
+      JSON::RPC::Legacy::Server::Daemon 0.03
+      JSON::RPC::Legacy::Server::system 0.92
+      JSON::RPC::Legacy::ServiceObject 0.93
+      JSON::RPC::Parser undef
+      JSON::RPC::Procedure undef
+    requirements:
+      CGI 0
+      Class::Accessor::Lite 0
+      ExtUtils::MakeMaker 6.42
+      HTTP::Request 0
+      HTTP::Response 0
+      JSON 0
+      LWP::UserAgent 0
+      Plack 0
+      Plack::Request 0
+      Plack::Test 0
+      Router::Simple 0
+      Test::More 0
+      parent 0
+  JSON-XS-2.3
+    pathname: M/ML/MLEHMANN/JSON-XS-2.3.tar.gz
+    provides:
+      JSON::XS 2.3
+      JSON::XS::Boolean 2.3
+    requirements:
+      ExtUtils::MakeMaker 0
+      common::sense 0
+  LWP-MediaTypes-6.02
+    pathname: G/GA/GAAS/LWP-MediaTypes-6.02.tar.gz
+    provides:
+      LWP::MediaTypes 6.02
+    requirements:
+      ExtUtils::MakeMaker 0
+      perl 5.006002
+  List-MoreUtils-0.22
+    pathname: V/VP/VPARSEVAL/List-MoreUtils-0.22.tar.gz
+    provides:
+      List::MoreUtils 0.22
+    requirements:
+      ExtUtils::MakeMaker 0
+  MIME-Types-2.13
+    pathname: M/MA/MARKOV/MIME-Types-2.13.tar.gz
+    provides:
+      MIME::Type 2.13
+      MIME::Types 2.13
+      MojoX::MIME::Types 2.13
+    requirements:
+      ExtUtils::MakeMaker 0
+      File::Basename 0
+      File::Spec 0
+      List::Util 0
+      Test::More 0.47
+  MIME-tools-5.507
+    pathname: D/DS/DSKOLL/MIME-tools-5.507.tar.gz
+    provides:
+      MIME::Body 5.507
+      MIME::Body::File 5.507
+      MIME::Body::InCore 5.507
+      MIME::Body::Scalar 5.507
+      MIME::Decoder 5.507
+      MIME::Decoder::Base64 5.507
+      MIME::Decoder::BinHex 5.507
+      MIME::Decoder::Binary 5.507
+      MIME::Decoder::Gzip64 5.507
+      MIME::Decoder::NBit 5.507
+      MIME::Decoder::QuotedPrint 5.507
+      MIME::Decoder::UU 5.507
+      MIME::Entity 5.507
+      MIME::Field::ConTraEnc 5.507
+      MIME::Field::ContDisp 5.507
+      MIME::Field::ContType 5.507
+      MIME::Field::ParamVal 5.507
+      MIME::Head 5.507
+      MIME::Parser 5.507
+      MIME::Parser::FileInto undef
+      MIME::Parser::FileUnder undef
+      MIME::Parser::Filer undef
+      MIME::Parser::Reader undef
+      MIME::Parser::Results undef
+      MIME::Tools 5.507
+      MIME::WordDecoder undef
+      MIME::WordDecoder::ISO_8859 undef
+      MIME::WordDecoder::US_ASCII undef
+      MIME::WordDecoder::UTF_8 undef
+      MIME::Words 5.507
+    requirements:
+      ExtUtils::MakeMaker 6.59
+      File::Path 1
+      File::Spec 0.6
+      File::Temp 0.18
+      IO::File 1.13
+      IO::Handle 0
+      MIME::Base64 2.2
+      Mail::Field 1.05
+      Mail::Header 1.01
+      Mail::Internet 1.0203
+      Test::Deep 0
+      Test::More 0
+      perl 5.008
+  MRO-Compat-0.12
+    pathname: B/BO/BOBTFISH/MRO-Compat-0.12.tar.gz
+    provides:
+      MRO::Compat 0.12
+    requirements:
+      ExtUtils::MakeMaker 6.59
+      Test::More 0.47
+      perl 5.006
+  MailTools-2.18
+    pathname: M/MA/MARKOV/MailTools-2.18.tar.gz
+    provides:
+      Mail undef
+      Mail::Address 2.18
+      Mail::Cap 2.18
+      Mail::Field 2.18
+      Mail::Field::AddrList 2.18
+      Mail::Field::Date 2.18
+      Mail::Field::Generic 2.18
+      Mail::Filter 2.18
+      Mail::Header 2.18
+      Mail::Internet 2.18
+      Mail::Mailer 2.18
+      Mail::Mailer::qmail 2.18
+      Mail::Mailer::rfc822 2.18
+      Mail::Mailer::sendmail 2.18
+      Mail::Mailer::smtp 2.18
+      Mail::Mailer::smtp::pipe 2.18
+      Mail::Mailer::smtps 2.18
+      Mail::Mailer::smtps::pipe 2.18
+      Mail::Mailer::testfile 2.18
+      Mail::Mailer::testfile::pipe 2.18
+      Mail::Send 2.18
+      Mail::Util 2.18
+    requirements:
+      Date::Format 0
+      Date::Parse 0
+      ExtUtils::MakeMaker 0
+      IO::Handle 0
+      Net::Domain 1.05
+      Net::SMTP 1.03
+      Test::More 0
+  Math-BigInt-1.999726
+    pathname: P/PJ/PJACKLAM/Math-BigInt-1.999726.tar.gz
+    provides:
+      Math::BigFloat 1.999726
+      Math::BigInt 1.999726
+      Math::BigInt::Calc 1.999726
+      Math::BigInt::CalcEmu 1.999726
+    requirements:
+      ExtUtils::MakeMaker 6.59
+      Math::Complex 1.39
+      Test::More 0.9301
+      perl 5.006001
+  Math-BigInt-GMP-1.51
+    pathname: P/PJ/PJACKLAM/Math-BigInt-GMP-1.51.tar.gz
+    provides:
+      Math::BigInt::GMP 1.51
+    requirements:
+      ExtUtils::MakeMaker 0
+      Math::BigInt 1.999719
+      XSLoader 0.02
+  Math-GMP-2.11
+    pathname: S/SH/SHLOMIF/Math-GMP-2.11.tar.gz
+    provides:
+      Math::GMP 2.11
+    requirements:
+      AutoLoader 0
+      Carp 0
+      Devel::CheckLib 0.9
+      DynaLoader 0
+      Exporter 0
+      ExtUtils::MakeMaker 0
+      overload 0
+      perl 5.006
+      strict 0
+      vars 0
+      warnings 0
+  Math-Pari-2.01080900
+    pathname: I/IL/ILYAZ/modules/Math-Pari-2.01080900.zip
+    provides:
+      Math::Pari 2.01080900
+      Math::Pari::Arr 2.01080900
+      Math::PariBuild 2.01080604
+    requirements:
+      ExtUtils::MakeMaker 0
+  Math-Prime-Util-0.59
+    pathname: D/DA/DANAJ/Math-Prime-Util-0.59.tar.gz
+    provides:
+      Math::Prime::Util 0.59
+      Math::Prime::Util::MemFree 0.59
+      Math::Prime::Util::PP 0.59
+      Math::Prime::Util::PrimeArray 0.59
+      Math::Prime::Util::PrimeIterator 0.59
+      ntheory 0.59
+    requirements:
+      Bytes::Random::Secure 0.23
+      Carp 0
+      Config 0
+      Exporter 5.57
+      ExtUtils::MakeMaker 0
+      Math::BigFloat 1.59
+      Math::BigInt 1.88
+      Math::Prime::Util::GMP 0.40
+      Tie::Array 0
+      XSLoader 0.01
+      base 0
+      constant 0
+      perl 5.006002
+  Math-Prime-Util-GMP-0.40
+    pathname: D/DA/DANAJ/Math-Prime-Util-GMP-0.40.tar.gz
+    provides:
+      Math::Prime::Util::GMP 0.40
+    requirements:
+      Carp 0
+      Exporter 5.57
+      ExtUtils::MakeMaker 0
+      XSLoader 0.01
+      base 0
+      perl 5.006002
+  Math-Random-ISAAC-1.004
+    pathname: J/JA/JAWNSY/Math-Random-ISAAC-1.004.tar.gz
+    provides:
+      Math::Random::ISAAC 1.004
+      Math::Random::ISAAC::PP 1.004
+    requirements:
+      ExtUtils::MakeMaker 6.31
+      Test::More 0.62
+      Test::NoWarnings 0.084
+  Math-Random-MT-1.17
+    pathname: F/FA/FANGLY/Math-Random-MT-1.17.tar.gz
+    provides:
+      Math::Random::MT 1.17
+    requirements:
+      ExtUtils::MakeMaker 0
+      Test::More 0
+      Test::Number::Delta 0
+  Module-Build-0.4218
+    pathname: L/LE/LEONT/Module-Build-0.4218.tar.gz
+    provides:
+      Module::Build 0.4218
+      Module::Build::Base 0.4218
+      Module::Build::Compat 0.4218
+      Module::Build::Config 0.4218
+      Module::Build::Cookbook 0.4218
+      Module::Build::Dumper 0.4218
+      Module::Build::Notes 0.4218
+      Module::Build::PPMMaker 0.4218
+      Module::Build::Platform::Default 0.4218
+      Module::Build::Platform::MacOS 0.4218
+      Module::Build::Platform::Unix 0.4218
+      Module::Build::Platform::VMS 0.4218
+      Module::Build::Platform::VOS 0.4218
+      Module::Build::Platform::Windows 0.4218
+      Module::Build::Platform::aix 0.4218
+      Module::Build::Platform::cygwin 0.4218
+      Module::Build::Platform::darwin 0.4218
+      Module::Build::Platform::os2 0.4218
+      Module::Build::PodParser 0.4218
+    requirements:
+      CPAN::Meta 2.142060
+      CPAN::Meta::YAML 0.003
+      Cwd 0
+      Data::Dumper 0
+      ExtUtils::CBuilder 0.27
+      ExtUtils::Install 0
+      ExtUtils::Manifest 0
+      ExtUtils::Mkbootstrap 0
+      ExtUtils::ParseXS 2.21
+      File::Basename 0
+      File::Compare 0
+      File::Copy 0
+      File::Find 0
+      File::Path 0
+      File::Spec 0.82
+      File::Temp 0.15
+      Getopt::Long 0
+      Module::Metadata 1.000002
+      Parse::CPAN::Meta 1.4401
+      Perl::OSType 1
+      Pod::Man 2.17
+      TAP::Harness 3.29
+      Test::More 0.49
+      Text::Abbrev 0
+      Text::ParseWords 0
+      perl 5.006001
+      version 0.87
+  Module-Build-Tiny-0.039
+    pathname: L/LE/LEONT/Module-Build-Tiny-0.039.tar.gz
+    provides:
+      Module::Build::Tiny 0.039
+    requirements:
+      CPAN::Meta 0
+      DynaLoader 0
+      Exporter 5.57
+      ExtUtils::CBuilder 0
+      ExtUtils::Config 0.003
+      ExtUtils::Helpers 0.020
+      ExtUtils::Install 0
+      ExtUtils::InstallPaths 0.002
+      ExtUtils::ParseXS 0
+      File::Basename 0
+      File::Find 0
+      File::Path 0
+      File::Spec::Functions 0
+      Getopt::Long 2.36
+      JSON::PP 2
+      Pod::Man 0
+      TAP::Harness::Env 0
+      perl 5.006
+      strict 0
+      warnings 0
+  Module-Implementation-0.09
+    pathname: D/DR/DROLSKY/Module-Implementation-0.09.tar.gz
+    provides:
+      Module::Implementation 0.09
+    requirements:
+      Carp 0
+      ExtUtils::MakeMaker 0
+      Module::Runtime 0.012
+      Try::Tiny 0
+      strict 0
+      warnings 0
+  Module-Metadata-1.000033
+    pathname: E/ET/ETHER/Module-Metadata-1.000033.tar.gz
+    provides:
+      Module::Metadata 1.000033
+    requirements:
+      Carp 0
+      ExtUtils::MakeMaker 0
+      Fcntl 0
+      File::Find 0
+      File::Spec 0
+      perl 5.006
+      strict 0
+      version 0.87
+      warnings 0
+  Module-Runtime-0.014
+    pathname: Z/ZE/ZEFRAM/Module-Runtime-0.014.tar.gz
+    provides:
+      Module::Runtime 0.014
+    requirements:
+      Module::Build 0
+      Test::More 0
+      perl 5.006
+      strict 0
+      warnings 0
+  Mozilla-CA-20160104
+    pathname: A/AB/ABH/Mozilla-CA-20160104.tar.gz
+    provides:
+      Mozilla::CA 20160104
+    requirements:
+      ExtUtils::MakeMaker 0
+      Test 0
+      perl 5.006
+  Net-SFTP-0.10
+    pathname: D/DB/DBROBINS/Net-SFTP-0.10.tar.gz
+    provides:
+      Net::SFTP 0.10
+      Net::SFTP::Attributes undef
+      Net::SFTP::Buffer undef
+      Net::SFTP::Constants undef
+      Net::SFTP::Util undef
+    requirements:
+      ExtUtils::MakeMaker 0
+      Net::SSH::Perl 1.24
+  Net-SSH-Perl-2.01
+    pathname: S/SC/SCHWIGON/Net-SSH-Perl-2.01.tar.gz
+    provides:
+      Net::SSH::Perl 2.01
+      Net::SSH::Perl::Agent undef
+      Net::SSH::Perl::Auth undef
+      Net::SSH::Perl::Auth::ChallengeResponse undef
+      Net::SSH::Perl::Auth::KeyboardInt undef
+      Net::SSH::Perl::Auth::KeyboardInteractive undef
+      Net::SSH::Perl::Auth::Password undef
+      Net::SSH::Perl::Auth::PublicKey undef
+      Net::SSH::Perl::Auth::RSA undef
+      Net::SSH::Perl::Auth::Rhosts undef
+      Net::SSH::Perl::Auth::Rhosts_RSA undef
+      Net::SSH::Perl::AuthMgr undef
+      Net::SSH::Perl::Buffer undef
+      Net::SSH::Perl::Channel undef
+      Net::SSH::Perl::ChannelMgr undef
+      Net::SSH::Perl::Cipher undef
+      Net::SSH::Perl::Cipher::AES128_CBC undef
+      Net::SSH::Perl::Cipher::AES128_CTR undef
+      Net::SSH::Perl::Cipher::AES192_CBC undef
+      Net::SSH::Perl::Cipher::AES192_CTR undef
+      Net::SSH::Perl::Cipher::AES256_CBC undef
+      Net::SSH::Perl::Cipher::AES256_CTR undef
+      Net::SSH::Perl::Cipher::AES_CBC undef
+      Net::SSH::Perl::Cipher::AES_CTR undef
+      Net::SSH::Perl::Cipher::Blowfish undef
+      Net::SSH::Perl::Cipher::CBC undef
+      Net::SSH::Perl::Cipher::CFB undef
+      Net::SSH::Perl::Cipher::CTR undef
+      Net::SSH::Perl::Cipher::ChachaPoly undef
+      Net::SSH::Perl::Cipher::DES undef
+      Net::SSH::Perl::Cipher::DES3 undef
+      Net::SSH::Perl::Cipher::DES3::EDE3 undef
+      Net::SSH::Perl::Cipher::IDEA undef
+      Net::SSH::Perl::Cipher::RC4 undef
+      Net::SSH::Perl::Comp undef
+      Net::SSH::Perl::Comp::Zlib undef
+      Net::SSH::Perl::Config undef
+      Net::SSH::Perl::Constants undef
+      Net::SSH::Perl::Handle undef
+      Net::SSH::Perl::Handle::SSH1 undef
+      Net::SSH::Perl::Handle::SSH2 undef
+      Net::SSH::Perl::Kex undef
+      Net::SSH::Perl::Kex::C25519 undef
+      Net::SSH::Perl::Kex::DH undef
+      Net::SSH::Perl::Kex::DH1 undef
+      Net::SSH::Perl::Kex::DH14 undef
+      Net::SSH::Perl::Kex::DHGEX undef
+      Net::SSH::Perl::Kex::DHGEXSHA1 undef
+      Net::SSH::Perl::Kex::DHGEXSHA256 undef
+      Net::SSH::Perl::Key undef
+      Net::SSH::Perl::Key::DSA undef
+      Net::SSH::Perl::Key::Ed25519 undef
+      Net::SSH::Perl::Key::RSA undef
+      Net::SSH::Perl::Key::RSA1 undef
+      Net::SSH::Perl::Mac undef
+      Net::SSH::Perl::Mac::MD5 undef
+      Net::SSH::Perl::Mac::SHA1 undef
+      Net::SSH::Perl::Mac::SHA2_256 undef
+      Net::SSH::Perl::Mac::SHA2_512 undef
+      Net::SSH::Perl::Packet undef
+      Net::SSH::Perl::Proxy undef
+      Net::SSH::Perl::SSH1 undef
+      Net::SSH::Perl::SSH2 undef
+      Net::SSH::Perl::Subsystem::Client undef
+      Net::SSH::Perl::Subsystem::Server undef
+      Net::SSH::Perl::Util undef
+      Net::SSH::Perl::Util::Authfile undef
+      Net::SSH::Perl::Util::Hosts undef
+      Net::SSH::Perl::Util::RSA undef
+      Net::SSH::Perl::Util::SSH1MP undef
+      Net::SSH::Perl::Util::SSH1Misc undef
+      Net::SSH::Perl::Util::SSH2MP undef
+      Net::SSH::Perl::Util::Term undef
+      Net::SSH::Perl::Util::Win32 undef
+    requirements:
+      Convert::PEM 0.05
+      Crypt::Curve25519 0.05
+      Crypt::DH 0.01
+      CryptX 0
+      Digest::BubbleBabble 0.01
+      Digest::MD5 0
+      ExtUtils::MakeMaker 0
+      File::HomeDir 0
+      File::Spec 0
+      IO::Socket 0
+      MIME::Base64 0
+      Math::GMP 1.04
+      Math::Pari 2.001804
+      Scalar::Util 0
+      String::CRC32 1.2
+  Net-SSLeay-1.77
+    pathname: M/MI/MIKEM/Net-SSLeay-1.77.tar.gz
+    provides:
+      Net::SSLeay 1.77
+      Net::SSLeay::Handle 0.61
+    requirements:
+      ExtUtils::MakeMaker 6.36
+      MIME::Base64 0
+      Test::More 0.60_01
+      perl 5.005
+  POSIX-strftime-Compiler-0.42
+    pathname: K/KA/KAZEBURO/POSIX-strftime-Compiler-0.42.tar.gz
+    provides:
+      POSIX::strftime::Compiler 0.42
+    requirements:
+      Carp 0
+      Exporter 0
+      Module::Build 0.38
+      POSIX 0
+      Time::Local 0
+      perl 5.008001
+  Package-Stash-0.37
+    pathname: D/DO/DOY/Package-Stash-0.37.tar.gz
+    provides:
+      Package::Stash 0.37
+      Package::Stash::PP 0.37
+    requirements:
+      B 0
+      Carp 0
+      Config 0
+      Dist::CheckConflicts 0.02
+      ExtUtils::MakeMaker 0
+      File::Spec 0
+      Getopt::Long 0
+      Module::Implementation 0.06
+      Package::Stash::XS 0.26
+      Scalar::Util 0
+      Symbol 0
+      Text::ParseWords 0
+      constant 0
+      strict 0
+      warnings 0
+  Package-Stash-XS-0.28
+    pathname: D/DO/DOY/Package-Stash-XS-0.28.tar.gz
+    provides:
+      Package::Stash::XS 0.28
+    requirements:
+      ExtUtils::MakeMaker 6.30
+      XSLoader 0
+      strict 0
+      warnings 0
+  Params-Util-1.07
+    pathname: A/AD/ADAMK/Params-Util-1.07.tar.gz
+    provides:
+      Params::Util 1.07
+    requirements:
+      ExtUtils::CBuilder 0.27
+      ExtUtils::MakeMaker 6.52
+      File::Spec 0.80
+      Scalar::Util 1.18
+      Test::More 0.42
+      perl 5.00503
+  Params-Validate-0.95
+    pathname: D/DR/DROLSKY/Params-Validate-0.95.tar.gz
+    provides:
+      Attribute::Params::Validate 1.07
+      Params::Validate 0.95
+    requirements:
+      Attribute::Handlers 0.79
+      ExtUtils::CBuilder 0
+      Pod::Man 1.14
+      Scalar::Util 1.10
+      Test::More 0.34
+  Parse-CPAN-Meta-1.4422
+    pathname: D/DA/DAGOLDEN/Parse-CPAN-Meta-1.4422.tar.gz
+    provides:
+      Parse::CPAN::Meta 1.4422
+    requirements:
+      CPAN::Meta::YAML 0.011
+      Carp 0
+      Encode 0
+      Exporter 0
+      ExtUtils::MakeMaker 0
+      File::Spec 0.80
+      JSON::PP 2.27300
+      perl 5.008001
+      strict 0
+  PatchReader-0.9.6
+    pathname: T/TM/TMANNERM/PatchReader-0.9.6.tar.gz
+    provides:
+      PatchReader 0.009006
+      PatchReader::AddCVSContext undef
+      PatchReader::Base undef
+      PatchReader::CVSClient undef
+      PatchReader::DiffPrinter::raw undef
+      PatchReader::DiffPrinter::template undef
+      PatchReader::FilterPatch undef
+      PatchReader::FixPatchRoot undef
+      PatchReader::NarrowPatch undef
+      PatchReader::PatchInfoGrabber undef
+      PatchReader::Raw undef
+    requirements:
+      Cwd 2
+      ExtUtils::MakeMaker 0
+      File::Temp 0.05
+  Perl-OSType-1.010
+    pathname: D/DA/DAGOLDEN/Perl-OSType-1.010.tar.gz
+    provides:
+      Perl::OSType 1.010
+    requirements:
+      Exporter 0
+      ExtUtils::MakeMaker 6.17
+      perl 5.006
+      strict 0
+      warnings 0
+  Plack-1.0039
+    pathname: M/MI/MIYAGAWA/Plack-1.0039.tar.gz
+    provides:
+      HTTP::Message::PSGI undef
+      HTTP::Server::PSGI undef
+      Plack 1.0039
+      Plack::App::CGIBin undef
+      Plack::App::Cascade undef
+      Plack::App::Directory undef
+      Plack::App::File undef
+      Plack::App::PSGIBin undef
+      Plack::App::URLMap undef
+      Plack::App::WrapCGI undef
+      Plack::Builder undef
+      Plack::Component undef
+      Plack::HTTPParser undef
+      Plack::HTTPParser::PP undef
+      Plack::Handler undef
+      Plack::Handler::Apache1 undef
+      Plack::Handler::Apache2 undef
+      Plack::Handler::Apache2::Registry undef
+      Plack::Handler::CGI undef
+      Plack::Handler::CGI::Writer undef
+      Plack::Handler::FCGI undef
+      Plack::Handler::HTTP::Server::PSGI undef
+      Plack::Handler::Standalone undef
+      Plack::LWPish undef
+      Plack::Loader undef
+      Plack::Loader::Delayed undef
+      Plack::Loader::Restarter undef
+      Plack::Loader::Shotgun undef
+      Plack::MIME undef
+      Plack::Middleware undef
+      Plack::Middleware::AccessLog undef
+      Plack::Middleware::AccessLog::Timed undef
+      Plack::Middleware::Auth::Basic undef
+      Plack::Middleware::BufferedStreaming undef
+      Plack::Middleware::Chunked undef
+      Plack::Middleware::Conditional undef
+      Plack::Middleware::ConditionalGET undef
+      Plack::Middleware::ContentLength undef
+      Plack::Middleware::ContentMD5 undef
+      Plack::Middleware::ErrorDocument undef
+      Plack::Middleware::HTTPExceptions undef
+      Plack::Middleware::Head undef
+      Plack::Middleware::IIS6ScriptNameFix undef
+      Plack::Middleware::IIS7KeepAliveFix undef
+      Plack::Middleware::JSONP undef
+      Plack::Middleware::LighttpdScriptNameFix undef
+      Plack::Middleware::Lint undef
+      Plack::Middleware::Log4perl undef
+      Plack::Middleware::LogDispatch undef
+      Plack::Middleware::NullLogger undef
+      Plack::Middleware::RearrangeHeaders undef
+      Plack::Middleware::Recursive undef
+      Plack::Middleware::Refresh undef
+      Plack::Middleware::Runtime undef
+      Plack::Middleware::SimpleContentFilter undef
+      Plack::Middleware::SimpleLogger undef
+      Plack::Middleware::StackTrace undef
+      Plack::Middleware::Static undef
+      Plack::Middleware::XFramework undef
+      Plack::Middleware::XSendfile undef
+      Plack::Recursive::ForwardRequest undef
+      Plack::Request 1.0039
+      Plack::Request::Upload undef
+      Plack::Response 1.0039
+      Plack::Runner undef
+      Plack::TempBuffer undef
+      Plack::Test undef
+      Plack::Test::MockHTTP undef
+      Plack::Test::Server undef
+      Plack::Test::Suite undef
+      Plack::Util undef
+      Plack::Util::Accessor undef
+      Plack::Util::IOWithPath undef
+      Plack::Util::Prototype undef
+    requirements:
+      Apache::LogFormat::Compiler 0.12
+      Cookie::Baker 0.05
+      Devel::StackTrace 1.23
+      Devel::StackTrace::AsHTML 0.11
+      ExtUtils::MakeMaker 0
+      File::ShareDir 1.00
+      File::ShareDir::Install 0.06
+      Filesys::Notify::Simple 0
+      HTTP::Body 1.06
+      HTTP::Headers::Fast 0.18
+      HTTP::Message 5.814
+      HTTP::Tiny 0.034
+      Hash::MultiValue 0.05
+      Pod::Usage 1.36
+      Stream::Buffered 0.02
+      Test::TCP 2.00
+      Try::Tiny 0
+      URI 1.59
+      parent 0
+      perl 5.008001
+  Pod-Coverage-0.23
+    pathname: R/RC/RCLAMP/Pod-Coverage-0.23.tar.gz
+    provides:
+      Pod::Coverage 0.23
+      Pod::Coverage::CountParents undef
+      Pod::Coverage::ExportOnly undef
+      Pod::Coverage::Extractor 0.23
+      Pod::Coverage::Overloader undef
+    requirements:
+      Devel::Symdump 2.01
+      ExtUtils::MakeMaker 0
+      Pod::Find 0.21
+      Pod::Parser 1.13
+      Test::More 0
+  Regexp-Common-2016060801
+    pathname: A/AB/ABIGAIL/Regexp-Common-2016060801.tar.gz
+    provides:
+      Regexp::Common 2016060801
+      Regexp::Common::CC 2016060801
+      Regexp::Common::Entry 2016060801
+      Regexp::Common::SEN 2016060801
+      Regexp::Common::URI 2016060801
+      Regexp::Common::URI::RFC1035 2016060801
+      Regexp::Common::URI::RFC1738 2016060801
+      Regexp::Common::URI::RFC1808 2016060801
+      Regexp::Common::URI::RFC2384 2016060801
+      Regexp::Common::URI::RFC2396 2016060801
+      Regexp::Common::URI::RFC2806 2016060801
+      Regexp::Common::URI::fax 2016060801
+      Regexp::Common::URI::file 2016060801
+      Regexp::Common::URI::ftp 2016060801
+      Regexp::Common::URI::gopher 2016060801
+      Regexp::Common::URI::http 2016060801
+      Regexp::Common::URI::news 2016060801
+      Regexp::Common::URI::pop 2016060801
+      Regexp::Common::URI::prospero 2016060801
+      Regexp::Common::URI::tel 2016060801
+      Regexp::Common::URI::telnet 2016060801
+      Regexp::Common::URI::tv 2016060801
+      Regexp::Common::URI::wais 2016060801
+      Regexp::Common::_support 2016060801
+      Regexp::Common::balanced 2016060801
+      Regexp::Common::comment 2016060801
+      Regexp::Common::delimited 2016060801
+      Regexp::Common::lingua 2016060801
+      Regexp::Common::list 2016060801
+      Regexp::Common::net 2016060801
+      Regexp::Common::number 2016060801
+      Regexp::Common::profanity 2016060801
+      Regexp::Common::whitespace 2016060801
+      Regexp::Common::zip 2016060801
+    requirements:
+      Config 0
+      ExtUtils::MakeMaker 0
+      perl 5.01
+      strict 0
+      vars 0
+      warnings 0
+  Return-Value-1.666005
+    pathname: R/RJ/RJBS/Return-Value-1.666005.tar.gz
+    provides:
+      Return::Value 1.666005
+    requirements:
+      Carp 0
+      Exporter 5.57
+      ExtUtils::MakeMaker 0
+      overload 0
+      strict 0
+      warnings 0
+  Router-Simple-0.17
+    pathname: T/TO/TOKUHIROM/Router-Simple-0.17.tar.gz
+    provides:
+      Router::Simple 0.17
+      Router::Simple::Declare undef
+      Router::Simple::Route undef
+      Router::Simple::SubMapper undef
+    requirements:
+      Class::Accessor::Lite 0.05
+      List::Util 0
+      Module::Build 0.38
+      Scalar::Util 0
+      parent 0
+      perl 5.008_001
+  SOAP-Lite-1.20
+    pathname: P/PH/PHRED/SOAP-Lite-1.20.tar.gz
+    provides:
+      Apache::SOAP 1.17
+      My::Chat undef
+      My::Examples undef
+      My::Parameters undef
+      My::PersistentIterator undef
+      My::PingPong undef
+      My::SessionIterator undef
+      SOAP 1.20
+      SOAP::Apache undef
+      SOAP::Client 1.20
+      SOAP::Cloneable 1.20
+      SOAP::Constants 1.17
+      SOAP::Custom::XML::Data 1.20
+      SOAP::Custom::XML::Deserializer 1.20
+      SOAP::Data 1.20
+      SOAP::Deserializer 1.20
+      SOAP::Fault 1.20
+      SOAP::Header 1.20
+      SOAP::Lite 1.20
+      SOAP::Lite::COM 1.20
+      SOAP::Lite::Deserializer::XMLSchema1999 undef
+      SOAP::Lite::Deserializer::XMLSchema2001 undef
+      SOAP::Lite::Deserializer::XMLSchemaSOAP1_1 undef
+      SOAP::Lite::Deserializer::XMLSchemaSOAP1_2 undef
+      SOAP::Lite::Packager undef
+      SOAP::Lite::Packager::DIME undef
+      SOAP::Lite::Packager::MIME undef
+      SOAP::Lite::Utils undef
+      SOAP::Packager 1.17
+      SOAP::Packager::DIME 1.17
+      SOAP::Packager::MIME 1.17
+      SOAP::Parser 1.20
+      SOAP::SOM 1.20
+      SOAP::Schema 1.20
+      SOAP::Schema::Deserializer 1.20
+      SOAP::Schema::WSDL 1.20
+      SOAP::Serializer 1.20
+      SOAP::Server 1.20
+      SOAP::Server::Object 1.20
+      SOAP::Server::Parameters 1.20
+      SOAP::Test 1.17
+      SOAP::Test::Server 1.17
+      SOAP::Trace 1.20
+      SOAP::Transport 1.20
+      SOAP::Transport::HTTP 1.17
+      SOAP::Transport::HTTP::Apache 1.17
+      SOAP::Transport::HTTP::CGI 1.17
+      SOAP::Transport::HTTP::Client 1.17
+      SOAP::Transport::HTTP::Daemon 1.17
+      SOAP::Transport::HTTP::Daemon::ForkAfterProcessing undef
+      SOAP::Transport::HTTP::Daemon::ForkOnAccept undef
+      SOAP::Transport::HTTP::FCGI 1.17
+      SOAP::Transport::HTTP::Server 1.17
+      SOAP::Transport::IO 1.17
+      SOAP::Transport::IO::Server 1.17
+      SOAP::Transport::LOCAL 1.17
+      SOAP::Transport::LOCAL::Client 1.17
+      SOAP::Transport::LOOPBACK undef
+      SOAP::Transport::LOOPBACK::Client undef
+      SOAP::Transport::MAILTO 1.17
+      SOAP::Transport::MAILTO::Client 1.17
+      SOAP::Transport::POP3 1.17
+      SOAP::Transport::POP3::Server 1.17
+      SOAP::Transport::TCP 1.17
+      SOAP::Transport::TCP::Client 1.17
+      SOAP::Transport::TCP::Server 1.17
+      SOAP::Utils 1.20
+      SOAP::XMLSchema1999::Serializer 1.20
+      SOAP::XMLSchema2001::Serializer 1.20
+      SOAP::XMLSchema::Serializer 1.20
+      SOAP::XMLSchemaApacheSOAP::Deserializer 1.20
+      URI::tcp 1.17
+    requirements:
+      Class::Inspector 0
+      Compress::Zlib 0
+      ExtUtils::MakeMaker 0
+      IO::SessionData 1.03
+      IO::Socket::SSL 0
+      LWP::Protocol::https 0
+      LWP::UserAgent 0
+      MIME::Base64 0
+      Scalar::Util 0
+      Task::Weaken 0
+      URI 0
+      XML::Parser 2.23
+      constant 0
+      perl 5.006000
+  Safe-2.35
+    pathname: R/RG/RGARCIA/Safe-2.35.tar.gz
+    provides:
+      Safe 2.35
+    requirements:
+      ExtUtils::MakeMaker 0
+  Socket-2.023
+    pathname: P/PE/PEVANS/Socket-2.023.tar.gz
+    provides:
+      Socket 2.023
+    requirements:
+      ExtUtils::CBuilder 0
+      ExtUtils::Constant 0.23
+      ExtUtils::MakeMaker 0
+      perl 5.006001
+  Sort-Versions-1.62
+    pathname: N/NE/NEILB/Sort-Versions-1.62.tar.gz
+    provides:
+      Sort::Versions 1.62
+    requirements:
+      Exporter 0
+      ExtUtils::MakeMaker 0
+      perl 5.006
+      strict 0
+      warnings 0
+  Stream-Buffered-0.03
+    pathname: D/DO/DOY/Stream-Buffered-0.03.tar.gz
+    provides:
+      Stream::Buffered 0.03
+      Stream::Buffered::Auto undef
+      Stream::Buffered::File undef
+      Stream::Buffered::PerlIO undef
+    requirements:
+      ExtUtils::MakeMaker 6.30
+      IO::File 1.14
+  String-CRC32-1.5
+    pathname: S/SO/SOENKE/String-CRC32-1.5.tar.gz
+    provides:
+      String::CRC32 1.5
+    requirements:
+      ExtUtils::MakeMaker 0
+  Sub-Exporter-Progressive-0.001011
+    pathname: F/FR/FREW/Sub-Exporter-Progressive-0.001011.tar.gz
+    provides:
+      Sub::Exporter::Progressive 0.001011
+    requirements:
+      ExtUtils::MakeMaker 0
+      Test::More 0.88
+  Sub-Install-0.928
+    pathname: R/RJ/RJBS/Sub-Install-0.928.tar.gz
+    provides:
+      Sub::Install 0.928
+    requirements:
+      B 0
+      Carp 0
+      ExtUtils::MakeMaker 6.30
+      Scalar::Util 0
+      strict 0
+      warnings 0
+  Sub-Name-0.15
+    pathname: E/ET/ETHER/Sub-Name-0.15.tar.gz
+    provides:
+      Sub::Name 0.15
+    requirements:
+      Exporter 5.57
+      ExtUtils::MakeMaker 0
+      XSLoader 0
+      perl 5.006
+      strict 0
+      warnings 0
+  Sub-Uplevel-0.2600
+    pathname: D/DA/DAGOLDEN/Sub-Uplevel-0.2600.tar.gz
+    provides:
+      Sub::Uplevel 0.2600
+    requirements:
+      Carp 0
+      ExtUtils::MakeMaker 6.17
+      constant 0
+      perl 5.006
+      strict 0
+      warnings 0
+  Task-Weaken-1.04
+    pathname: A/AD/ADAMK/Task-Weaken-1.04.tar.gz
+    provides:
+      Task::Weaken 1.04
+    requirements:
+      ExtUtils::MakeMaker 6.42
+      File::Spec 0.80
+      Scalar::Util 1.14
+      Test::More 0.42
+      perl 5.005
+  Template-GD-2.66
+    pathname: A/AB/ABW/Template-GD-2.66.tar.gz
+    provides:
+      Template::GD undef
+      Template::Plugin::GD 2.66
+      Template::Plugin::GD::Constants 1.56
+      Template::Plugin::GD::Graph::area 1.58
+      Template::Plugin::GD::Graph::bars 1.58
+      Template::Plugin::GD::Graph::bars3d 1.58
+      Template::Plugin::GD::Graph::lines 1.58
+      Template::Plugin::GD::Graph::lines3d 1.58
+      Template::Plugin::GD::Graph::linespoints 1.58
+      Template::Plugin::GD::Graph::mixed 1.58
+      Template::Plugin::GD::Graph::pie 1.56
+      Template::Plugin::GD::Graph::pie3d 1.56
+      Template::Plugin::GD::Graph::points 1.58
+      Template::Plugin::GD::Image 1.56
+      Template::Plugin::GD::Polygon 1.56
+      Template::Plugin::GD::Text 1.56
+      Template::Plugin::GD::Text::Align 1.56
+      Template::Plugin::GD::Text::Wrap 1.56
+    requirements:
+      ExtUtils::MakeMaker 0
+      GD 1.14
+      Template 2.14
+  Template-Toolkit-2.24
+    pathname: A/AB/ABW/Template-Toolkit-2.24.tar.gz
+    provides:
+      Template 2.24
+      Template::Base 2.78
+      Template::Config 2.75
+      Template::Constants 2.75
+      Template::Context 2.98
+      Template::Directive 2.2
+      Template::Document 2.79
+      Template::Exception 2.7
+      Template::Filters 2.87
+      Template::Grammar 2.25
+      Template::Iterator 2.68
+      Template::Monad::Assert 1
+      Template::Monad::Scalar 1
+      Template::Namespace::Constants 1.27
+      Template::Parser 2.89
+      Template::Perl 2.2
+      Template::Plugin 2.7
+      Template::Plugin::Assert 1
+      Template::Plugin::CGI 2.7
+      Template::Plugin::Datafile 2.72
+      Template::Plugin::Date 2.78
+      Template::Plugin::Date::Calc 2.78
+      Template::Plugin::Date::Manip 2.78
+      Template::Plugin::Directory 2.7
+      Template::Plugin::Dumper 2.7
+      Template::Plugin::File 2.71
+      Template::Plugin::Filter 1.38
+      Template::Plugin::Format 2.7
+      Template::Plugin::HTML 2.62
+      Template::Plugin::Image 1.21
+      Template::Plugin::Iterator 2.68
+      Template::Plugin::Math 1.16
+      Template::Plugin::Pod 2.69
+      Template::Plugin::Procedural 1.17
+      Template::Plugin::Scalar 1
+      Template::Plugin::String 2.4
+      Template::Plugin::Table 2.71
+      Template::Plugin::URL 2.74
+      Template::Plugin::View 2.68
+      Template::Plugin::Wrap 2.68
+      Template::Plugins 2.77
+      Template::Provider 2.94
+      Template::Service 2.8
+      Template::Stash 2.91
+      Template::Stash::Context 1.63
+      Template::Stash::XS undef
+      Template::Test 2.75
+      Template::TieString 2.75
+      Template::VMethods 2.16
+      Template::View 2.91
+      bytes 2.94
+    requirements:
+      AppConfig 1.56
+      ExtUtils::MakeMaker 0
+      File::Spec 0.8
+      File::Temp 0.12
+      Scalar::Util 0
+  Test-CPAN-Meta-0.25
+    pathname: B/BA/BARBIE/Test-CPAN-Meta-0.25.tar.gz
+    provides:
+      Test::CPAN::Meta 0.25
+      Test::CPAN::Meta::Version 0.25
+    requirements:
+      ExtUtils::MakeMaker 0
+      IO::File 0
+      Parse::CPAN::Meta 0.02
+      Test::Builder 0
+      Test::Builder::Tester 0
+      Test::More 0.70
+  Test-Deep-1.120
+    pathname: R/RJ/RJBS/Test-Deep-1.120.tar.gz
+    provides:
+      Test::Deep 1.120
+      Test::Deep::All undef
+      Test::Deep::Any undef
+      Test::Deep::Array undef
+      Test::Deep::ArrayEach undef
+      Test::Deep::ArrayElementsOnly undef
+      Test::Deep::ArrayLength undef
+      Test::Deep::ArrayLengthOnly undef
+      Test::Deep::Blessed undef
+      Test::Deep::Boolean undef
+      Test::Deep::Cache undef
+      Test::Deep::Cache::Simple undef
+      Test::Deep::Class undef
+      Test::Deep::Cmp undef
+      Test::Deep::Code undef
+      Test::Deep::Hash undef
+      Test::Deep::HashEach undef
+      Test::Deep::HashElements undef
+      Test::Deep::HashKeys undef
+      Test::Deep::HashKeysOnly undef
+      Test::Deep::Ignore undef
+      Test::Deep::Isa undef
+      Test::Deep::ListMethods undef
+      Test::Deep::MM undef
+      Test::Deep::Methods undef
+      Test::Deep::NoTest undef
+      Test::Deep::None undef
+      Test::Deep::Number undef
+      Test::Deep::Obj undef
+      Test::Deep::Ref undef
+      Test::Deep::RefType undef
+      Test::Deep::Regexp undef
+      Test::Deep::RegexpMatches undef
+      Test::Deep::RegexpOnly undef
+      Test::Deep::RegexpRef undef
+      Test::Deep::RegexpRefOnly undef
+      Test::Deep::RegexpVersion undef
+      Test::Deep::ScalarRef undef
+      Test::Deep::ScalarRefOnly undef
+      Test::Deep::Set undef
+      Test::Deep::Shallow undef
+      Test::Deep::Stack undef
+      Test::Deep::String undef
+      Test::Deep::SubHash undef
+      Test::Deep::SubHashElements undef
+      Test::Deep::SubHashKeys undef
+      Test::Deep::SubHashKeysOnly undef
+      Test::Deep::SuperHash undef
+      Test::Deep::SuperHashElements undef
+      Test::Deep::SuperHashKeys undef
+      Test::Deep::SuperHashKeysOnly undef
+    requirements:
+      ExtUtils::MakeMaker 0
+      List::Util 1.09
+      Scalar::Util 1.09
+      Test::Builder 0
+  Test-EOL-1.6
+    pathname: F/FR/FREW/Test-EOL-1.6.tar.gz
+    provides:
+      Test::EOL 1.6
+    requirements:
+      Cwd 0
+      ExtUtils::MakeMaker 0
+      File::Find 0
+      File::Spec 0
+      Test::Builder 0
+      perl 5.006
+      strict 0
+      vars 0
+      warnings 0
+  Test-Exception-0.43
+    pathname: E/EX/EXODIST/Test-Exception-0.43.tar.gz
+    provides:
+      Test::Exception 0.43
+    requirements:
+      Carp 0
+      Exporter 0
+      ExtUtils::MakeMaker 0
+      Sub::Uplevel 0.18
+      Test::Builder 0.7
+      Test::Builder::Tester 1.07
+      Test::Harness 2.03
+      base 0
+      perl 5.006001
+      strict 0
+      warnings 0
+  Test-Fatal-0.014
+    pathname: R/RJ/RJBS/Test-Fatal-0.014.tar.gz
+    provides:
+      Test::Fatal 0.014
+    requirements:
+      Carp 0
+      Exporter 5.57
+      ExtUtils::MakeMaker 0
+      Test::Builder 0
+      Try::Tiny 0.07
+      strict 0
+      warnings 0
+  Test-Harness-3.36
+    pathname: L/LE/LEONT/Test-Harness-3.36.tar.gz
+    provides:
+      App::Prove 3.36
+      App::Prove::State 3.36
+      App::Prove::State::Result 3.36
+      App::Prove::State::Result::Test 3.36
+      Harness::Hook undef
+      TAP::Base 3.36
+      TAP::Formatter::Base 3.36
+      TAP::Formatter::Color 3.36
+      TAP::Formatter::Console 3.36
+      TAP::Formatter::Console::ParallelSession 3.36
+      TAP::Formatter::Console::Session 3.36
+      TAP::Formatter::File 3.36
+      TAP::Formatter::File::Session 3.36
+      TAP::Formatter::Session 3.36
+      TAP::Harness 3.36
+      TAP::Harness::Env 3.36
+      TAP::Object 3.36
+      TAP::Parser 3.36
+      TAP::Parser::Aggregator 3.36
+      TAP::Parser::Grammar 3.36
+      TAP::Parser::Iterator 3.36
+      TAP::Parser::Iterator::Array 3.36
+      TAP::Parser::Iterator::Process 3.36
+      TAP::Parser::Iterator::Stream 3.36
+      TAP::Parser::IteratorFactory 3.36
+      TAP::Parser::Multiplexer 3.36
+      TAP::Parser::Result 3.36
+      TAP::Parser::Result::Bailout 3.36
+      TAP::Parser::Result::Comment 3.36
+      TAP::Parser::Result::Plan 3.36
+      TAP::Parser::Result::Pragma 3.36
+      TAP::Parser::Result::Test 3.36
+      TAP::Parser::Result::Unknown 3.36
+      TAP::Parser::Result::Version 3.36
+      TAP::Parser::Result::YAML 3.36
+      TAP::Parser::ResultFactory 3.36
+      TAP::Parser::Scheduler 3.36
+      TAP::Parser::Scheduler::Job 3.36
+      TAP::Parser::Scheduler::Spinner 3.36
+      TAP::Parser::Source 3.36
+      TAP::Parser::SourceHandler 3.36
+      TAP::Parser::SourceHandler::Executable 3.36
+      TAP::Parser::SourceHandler::File 3.36
+      TAP::Parser::SourceHandler::Handle 3.36
+      TAP::Parser::SourceHandler::Perl 3.36
+      TAP::Parser::SourceHandler::RawTAP 3.36
+      TAP::Parser::YAMLish::Reader 3.36
+      TAP::Parser::YAMLish::Writer 3.36
+      Test::Harness 3.36
+    requirements:
+      ExtUtils::MakeMaker 0
+  Test-NoTabs-1.4
+    pathname: B/BO/BOBTFISH/Test-NoTabs-1.4.tar.gz
+    provides:
+      Test::NoTabs 1.4
+    requirements:
+      ExtUtils::MakeMaker 6.36
+      File::Find 0
+      File::Spec 0
+      FindBin 0
+      Test::Builder 0
+      Test::More 0
+  Test-NoWarnings-1.04
+    pathname: A/AD/ADAMK/Test-NoWarnings-1.04.tar.gz
+    provides:
+      Test::NoWarnings 1.04
+      Test::NoWarnings::Warning 1.04
+    requirements:
+      ExtUtils::MakeMaker 0
+      Test::Builder 0.86
+      Test::More 0.47
+      Test::Tester 0.107
+      perl 5.006
+  Test-Number-Delta-1.06
+    pathname: D/DA/DAGOLDEN/Test-Number-Delta-1.06.tar.gz
+    provides:
+      Test::Number::Delta 1.06
+    requirements:
+      Carp 0
+      Exporter 0
+      ExtUtils::MakeMaker 6.17
+      Test::Builder 0
+      perl 5.006
+      strict 0
+      vars 0
+      warnings 0
+  Test-SharedFork-0.35
+    pathname: E/EX/EXODIST/Test-SharedFork-0.35.tar.gz
+    provides:
+      Test::SharedFork 0.35
+      Test::SharedFork::Array undef
+      Test::SharedFork::Scalar undef
+      Test::SharedFork::Store undef
+    requirements:
+      ExtUtils::MakeMaker 6.64
+      File::Temp 0
+      Test::Builder 0.32
+      Test::Builder::Module 0
+      Test::More 0.88
+      perl 5.008_001
+  Test-Simple-1.302049
+    pathname: E/EX/EXODIST/Test-Simple-1.302049.tar.gz
+    provides:
+      Test2 1.302049
+      Test2::API 1.302049
+      Test2::API::Breakage 1.302049
+      Test2::API::Context 1.302049
+      Test2::API::Instance 1.302049
+      Test2::API::Stack 1.302049
+      Test2::Event 1.302049
+      Test2::Event::Bail 1.302049
+      Test2::Event::Diag 1.302049
+      Test2::Event::Exception 1.302049
+      Test2::Event::Generic 1.302049
+      Test2::Event::Info 1.302049
+      Test2::Event::Note 1.302049
+      Test2::Event::Ok 1.302049
+      Test2::Event::Plan 1.302049
+      Test2::Event::Skip 1.302049
+      Test2::Event::Subtest 1.302049
+      Test2::Event::Waiting 1.302049
+      Test2::Formatter 1.302049
+      Test2::Formatter::TAP 1.302049
+      Test2::Hub 1.302049
+      Test2::Hub::Interceptor 1.302049
+      Test2::Hub::Interceptor::Terminator 1.302049
+      Test2::Hub::Subtest 1.302049
+      Test2::IPC 1.302049
+      Test2::IPC::Driver 1.302049
+      Test2::IPC::Driver::Files 1.302049
+      Test2::Util 1.302049
+      Test2::Util::ExternalMeta 1.302049
+      Test2::Util::HashBase 1.302049
+      Test2::Util::Trace 1.302049
+      Test::Builder 1.302049
+      Test::Builder::Formatter 1.302049
+      Test::Builder::IO::Scalar 2.113
+      Test::Builder::Module 1.302049
+      Test::Builder::Tester 1.302049
+      Test::Builder::Tester::Color 1.302049
+      Test::Builder::Tester::Tie 1.302049
+      Test::Builder::TodoDiag 1.302049
+      Test::More 1.302049
+      Test::Simple 1.302049
+      Test::Tester 1.302049
+      Test::Tester::Capture 1.302049
+      Test::Tester::CaptureRunner 1.302049
+      Test::Tester::Delegate 1.302049
+      Test::use::ok 1.302049
+      ok 1.302049
+    requirements:
+      ExtUtils::MakeMaker 0
+      File::Spec 0
+      File::Temp 0
+      PerlIO 0
+      Scalar::Util 1.13
+      Storable 0
+      perl 5.008001
+      utf8 0
+  Test-TCP-2.16
+    pathname: T/TO/TOKUHIROM/Test-TCP-2.16.tar.gz
+    provides:
+      Net::EmptyPort undef
+      Test::TCP 2.16
+      Test::TCP::CheckPort undef
+    requirements:
+      ExtUtils::MakeMaker 6.64
+      IO::Socket::INET 0
+      IO::Socket::IP 0
+      Test::More 0
+      Test::SharedFork 0.29
+      Time::HiRes 0
+      perl 5.008001
+  Test-Taint-1.06
+    pathname: P/PE/PETDANCE/Test-Taint-1.06.tar.gz
+    provides:
+      Test::Taint 1.06
+    requirements:
+      ExtUtils::MakeMaker 0
+      Scalar::Util 0
+      Test::Builder 0
+      Test::More 0
+      Tie::Array 0
+      Tie::Hash 0
+      Tie::Scalar 0
+      overload 0
+  Test-WWW-Selenium-1.36
+    pathname: M/MA/MATTP/Test-WWW-Selenium-1.36.tar.gz
+    provides:
+      Devel::REPL::Plugin::Selenium 1.36
+      Test::WWW::Selenium 1.36
+      WWW::Selenium 1.36
+      WWW::Selenium::Util 1.36
+    requirements:
+      Carp 0
+      Data::Dumper 0
+      Exporter 0
+      ExtUtils::MakeMaker 6.30
+      HTTP::Headers 0
+      HTTP::Request 0
+      IO::Socket 0
+      LWP::UserAgent 0
+      Test::Builder 0
+      Test::More 0
+      Time::HiRes 0
+      URI::Escape 0
+      base 0
+      namespace::clean 0
+      strict 0
+      warnings 0
+  Text-Diff-1.44
+    pathname: N/NE/NEILB/Text-Diff-1.44.tar.gz
+    provides:
+      Text::Diff 1.44
+      Text::Diff::Base 1.44
+      Text::Diff::Config 1.44
+      Text::Diff::Table 1.44
+    requirements:
+      Algorithm::Diff 1.19
+      Exporter 0
+      ExtUtils::MakeMaker 0
+      perl 5.006
+  TheSchwartz-1.12
+    pathname: J/JF/JFEARN/TheSchwartz-1.12.tar.gz
+    provides:
+      TheSchwartz 1.12
+      TheSchwartz::Error undef
+      TheSchwartz::ExitStatus undef
+      TheSchwartz::FuncMap undef
+      TheSchwartz::Job undef
+      TheSchwartz::JobHandle undef
+      TheSchwartz::Worker undef
+    requirements:
+      Data::ObjectDriver 0.04
+      Digest::MD5 0
+      Module::Build 0
+      Storable 0
+      Test::More 0
+  Tie-EncryptedHash-1.24
+    pathname: V/VI/VIPUL/Tie-EncryptedHash-1.24.tar.gz
+    provides:
+      Tie::EncryptedHash 1.8
+    requirements:
+      Crypt::Blowfish 0
+      Crypt::CBC 0
+      Crypt::DES 0
+      ExtUtils::MakeMaker 0
+  Tie-IxHash-1.23
+    pathname: C/CH/CHORNY/Tie-IxHash-1.23.tar.gz
+    provides:
+      Tie::IxHash 1.23
+    requirements:
+      Test::More 0
+      perl 5.005
+  TimeDate-1.19
+    pathname: G/GB/GBARR/TimeDate-1.19.tar.gz
+    provides:
+      Date::Format 2.23
+      Date::Format::Generic 2.23
+      Date::Language 1.10
+      Date::Language::Afar 0.99
+      Date::Language::Amharic 1.00
+      Date::Language::Austrian 1.01
+      Date::Language::Brazilian 1.01
+      Date::Language::Chinese 1.00
+      Date::Language::Chinese_GB 1.01
+      Date::Language::Czech 1.01
+      Date::Language::Danish 1.01
+      Date::Language::Dutch 1.02
+      Date::Language::English 1.01
+      Date::Language::Finnish 1.01
+      Date::Language::French 1.04
+      Date::Language::Gedeo 0.99
+      Date::Language::German 1.02
+      Date::Language::Greek 1.00
+      Date::Language::Hungarian 1.01
+      Date::Language::Icelandic 1.01
+      Date::Language::Italian 1.01
+      Date::Language::Norwegian 1.01
+      Date::Language::Oromo 0.99
+      Date::Language::Romanian 1.01
+      Date::Language::Russian 1.01
+      Date::Language::Russian_cp1251 1.01
+      Date::Language::Russian_koi8r 1.01
+      Date::Language::Sidama 0.99
+      Date::Language::Somali 0.99
+      Date::Language::Spanish 1.00
+      Date::Language::Swedish 1.01
+      Date::Language::Tigrinya 1.00
+      Date::Language::TigrinyaEritrean 1.00
+      Date::Language::TigrinyaEthiopian 1.00
+      Date::Language::Turkish 1.0
+      Date::Parse 2.29
+      Time::Zone 2.24
+      TimeDate undef
+    requirements:
+      ExtUtils::MakeMaker 0
+  Try-Tiny-0.24
+    pathname: E/ET/ETHER/Try-Tiny-0.24.tar.gz
+    provides:
+      Try::Tiny 0.24
+    requirements:
+      Carp 0
+      Exporter 5.57
+      ExtUtils::MakeMaker 0
+      constant 0
+      perl 5.006
+      strict 0
+      warnings 0
+  URI-1.71
+    pathname: E/ET/ETHER/URI-1.71.tar.gz
+    provides:
+      URI 1.71
+      URI::Escape 3.31
+      URI::Heuristic 4.20
+      URI::IRI 1.71
+      URI::QueryParam 1.71
+      URI::Split 1.71
+      URI::URL 5.04
+      URI::WithBase 2.20
+      URI::_foreign 1.71
+      URI::_generic 1.71
+      URI::_idna 1.71
+      URI::_ldap 1.71
+      URI::_login 1.71
+      URI::_punycode 1.71
+      URI::_query 1.71
+      URI::_segment 1.71
+      URI::_server 1.71
+      URI::_userpass 1.71
+      URI::data 1.71
+      URI::file 4.21
+      URI::file::Base 1.71
+      URI::file::FAT 1.71
+      URI::file::Mac 1.71
+      URI::file::OS2 1.71
+      URI::file::QNX 1.71
+      URI::file::Unix 1.71
+      URI::file::Win32 1.71
+      URI::ftp 1.71
+      URI::gopher 1.71
+      URI::http 1.71
+      URI::https 1.71
+      URI::ldap 1.71
+      URI::ldapi 1.71
+      URI::ldaps 1.71
+      URI::mailto 1.71
+      URI::mms 1.71
+      URI::news 1.71
+      URI::nntp 1.71
+      URI::pop 1.71
+      URI::rlogin 1.71
+      URI::rsync 1.71
+      URI::rtsp 1.71
+      URI::rtspu 1.71
+      URI::sftp 1.71
+      URI::sip 1.71
+      URI::sips 1.71
+      URI::snews 1.71
+      URI::ssh 1.71
+      URI::telnet 1.71
+      URI::tn3270 1.71
+      URI::urn 1.71
+      URI::urn::isbn undef
+      URI::urn::oid 1.71
+    requirements:
+      Exporter 5.57
+      ExtUtils::MakeMaker 0
+      MIME::Base64 2
+      Scalar::Util 0
+      parent 0
+      perl 5.008001
+      utf8 0
+  Variable-Magic-0.59
+    pathname: V/VP/VPIT/Variable-Magic-0.59.tar.gz
+    provides:
+      Variable::Magic 0.59
+    requirements:
+      Carp 0
+      Config 0
+      Exporter 0
+      ExtUtils::MakeMaker 0
+      IO::Handle 0
+      IO::Select 0
+      IPC::Open3 0
+      POSIX 0
+      Socket 0
+      Test::More 0
+      XSLoader 0
+      base 0
+      lib 0
+      perl 5.008
+  XML-NamespaceSupport-1.11
+    pathname: P/PE/PERIGRIN/XML-NamespaceSupport-1.11.tar.gz
+    provides:
+      XML::NamespaceSupport 1.11
+    requirements:
+      ExtUtils::MakeMaker 6.42
+      Test::More 0.47
+  XML-Parser-2.44
+    pathname: T/TO/TODDR/XML-Parser-2.44.tar.gz
+    provides:
+      XML::Parser 2.44
+      XML::Parser::Expat 2.44
+      XML::Parser::Style::Debug undef
+      XML::Parser::Style::Objects undef
+      XML::Parser::Style::Stream undef
+      XML::Parser::Style::Subs undef
+      XML::Parser::Style::Tree undef
+    requirements:
+      ExtUtils::MakeMaker 0
+      LWP::UserAgent 0
+      Test::More 0
+      perl 5.00405
+  XML-SAX-0.99
+    pathname: G/GR/GRANTM/XML-SAX-0.99.tar.gz
+    provides:
+      XML::SAX 0.99
+      XML::SAX::DocumentLocator undef
+      XML::SAX::ParserFactory 1.01
+      XML::SAX::PurePerl 0.99
+      XML::SAX::PurePerl::DebugHandler undef
+      XML::SAX::PurePerl::Exception undef
+      XML::SAX::PurePerl::Productions undef
+      XML::SAX::PurePerl::Reader undef
+      XML::SAX::PurePerl::Reader::Stream undef
+      XML::SAX::PurePerl::Reader::String undef
+      XML::SAX::PurePerl::Reader::URI undef
+    requirements:
+      ExtUtils::MakeMaker 0
+      File::Temp 0
+      XML::NamespaceSupport 0.03
+      XML::SAX::Base 1.05
+  XML-SAX-Base-1.08
+    pathname: G/GR/GRANTM/XML-SAX-Base-1.08.tar.gz
+    provides:
+      XML::SAX::Base 1.08
+      XML::SAX::Base::NoHandler 1.08
+      XML::SAX::Exception 1.08
+    requirements:
+      ExtUtils::MakeMaker 6.31
+      Test::More 0.88
+  XML-SAX-Expat-0.51
+    pathname: B/BJ/BJOERN/XML-SAX-Expat-0.51.tar.gz
+    provides:
+      XML::SAX::Expat 0.51
+    requirements:
+      ExtUtils::MakeMaker 0
+      XML::NamespaceSupport 0.03
+      XML::Parser 2.27
+      XML::SAX 0.03
+      XML::SAX::Base 1.00
+  XML-Simple-2.22
+    pathname: G/GR/GRANTM/XML-Simple-2.22.tar.gz
+    provides:
+      XML::Simple 2.22
+    requirements:
+      ExtUtils::MakeMaker 0
+      XML::NamespaceSupport 1.04
+      XML::SAX 0.15
+      XML::SAX::Expat 0
+      perl 5.008
+  XML-Twig-3.49
+    pathname: M/MI/MIROD/XML-Twig-3.49.tar.gz
+    provides:
+      XML::Twig 3.49
+      XML::Twig::Elt 3.49
+      XML::Twig::Entity 3.49
+      XML::Twig::Entity_list 3.49
+      XML::Twig::XPath 0.02
+      XML::Twig::XPath::Attribute 0.02
+      XML::Twig::XPath::Elt 0.02
+      XML::Twig::XPath::Namespace 0.02
+    requirements:
+      ExtUtils::MakeMaker 0
+      XML::Parser 2.23
+  XMLRPC-Lite-0.717
+    pathname: P/PH/PHRED/XMLRPC-Lite-0.717.tar.gz
+    provides:
+      Apache::XMLRPC::Lite 0.717
+      My::PingPong 0.717
+      XMLRPC 0.717
+      XMLRPC::Constants 0.717
+      XMLRPC::Data 0.717
+      XMLRPC::Deserializer 0.717
+      XMLRPC::Lite 0.717
+      XMLRPC::SOM 0.717
+      XMLRPC::Serializer 0.717
+      XMLRPC::Server 0.717
+      XMLRPC::Server::Parameters 0.717
+      XMLRPC::Test 0.717
+      XMLRPC::Test::Server 0.717
+      XMLRPC::Transport::HTTP 0.717
+      XMLRPC::Transport::HTTP::Apache 0.717
+      XMLRPC::Transport::HTTP::CGI 0.717
+      XMLRPC::Transport::HTTP::Daemon 0.717
+      XMLRPC::Transport::POP3 0.717
+      XMLRPC::Transport::POP3::Server 0.717
+      XMLRPC::Transport::TCP 0.717
+      XMLRPC::Transport::TCP::Server 0.717
+    requirements:
+      ExtUtils::MakeMaker 0
+      SOAP::Lite 0.716
+      SOAP::Transport::TCP 0.715
+  common-sense-3.74
+    pathname: M/ML/MLEHMANN/common-sense-3.74.tar.gz
+    provides:
+      common::sense 3.74
+    requirements:
+      ExtUtils::MakeMaker 0
+  libwww-perl-5.835
+    pathname: G/GA/GAAS/libwww-perl-5.835.tar.gz
+    provides:
+      Bundle::LWP 5.835
+      File::Listing 5.814
+      File::Listing::apache 5.814
+      File::Listing::dosftp 5.814
+      File::Listing::netware 5.814
+      File::Listing::unix 5.814
+      File::Listing::vms 5.814
+      HTML::Form 5.829
+      HTML::Form::FileInput 5.829
+      HTML::Form::IgnoreInput 5.829
+      HTML::Form::ImageInput 5.829
+      HTML::Form::Input 5.829
+      HTML::Form::KeygenInput 5.829
+      HTML::Form::ListInput 5.829
+      HTML::Form::SubmitInput 5.829
+      HTML::Form::TextInput 5.829
+      HTTP::Config 5.835
+      HTTP::Cookies 5.833
+      HTTP::Cookies::Microsoft 5.821
+      HTTP::Cookies::Netscape 5.832
+      HTTP::Daemon 5.827
+      HTTP::Daemon::ClientConn 5.827
+      HTTP::Date 5.831
+      HTTP::Headers 5.835
+      HTTP::Headers::Auth 5.817
+      HTTP::Headers::ETag 5.810
+      HTTP::Headers::Util 5.817
+      HTTP::Message 5.835
+      HTTP::Negotiate 5.835
+      HTTP::Request 5.827
+      HTTP::Request::Common 5.824
+      HTTP::Response 5.835
+      HTTP::Status 5.817
+      LWP 5.835
+      LWP::Authen::Basic undef
+      LWP::Authen::Digest undef
+      LWP::Authen::Ntlm 5.835
+      LWP::ConnCache 5.810
+      LWP::Debug undef
+      LWP::DebugFile undef
+      LWP::MediaTypes 5.835
+      LWP::MemberMixin undef
+      LWP::Protocol 5.829
+      LWP::Protocol::GHTTP undef
+      LWP::Protocol::MyFTP undef
+      LWP::Protocol::cpan undef
+      LWP::Protocol::data undef
+      LWP::Protocol::file undef
+      LWP::Protocol::ftp undef
+      LWP::Protocol::gopher undef
+      LWP::Protocol::http undef
+      LWP::Protocol::http10 undef
+      LWP::Protocol::http::Socket undef
+      LWP::Protocol::http::SocketMethods undef
+      LWP::Protocol::https undef
+      LWP::Protocol::https10 undef
+      LWP::Protocol::https::Socket undef
+      LWP::Protocol::loopback undef
+      LWP::Protocol::mailto undef
+      LWP::Protocol::nntp undef
+      LWP::Protocol::nogo undef
+      LWP::RobotUA 5.835
+      LWP::Simple 5.835
+      LWP::UserAgent 5.835
+      Net::HTTP 5.834
+      Net::HTTP::Methods 5.834
+      Net::HTTP::NB 5.810
+      Net::HTTPS 5.819
+      WWW::RobotRules 5.832
+      WWW::RobotRules::AnyDBM_File 5.835
+      WWW::RobotRules::InCore 5.832
+    requirements:
+      Compress::Raw::Zlib 0
+      Digest::MD5 0
+      ExtUtils::MakeMaker 0
+      HTML::Parser 3.33
+      HTML::Tagset 0
+      IO::Compress::Deflate 0
+      IO::Compress::Gzip 0
+      IO::Uncompress::Gunzip 0
+      IO::Uncompress::Inflate 0
+      IO::Uncompress::RawInflate 0
+      MIME::Base64 2.1
+      Net::FTP 2.58
+      URI 1.10
+      perl 5.006
+  namespace-clean-0.27
+    pathname: R/RI/RIBASUSHI/namespace-clean-0.27.tar.gz
+    provides:
+      namespace::clean 0.27
+    requirements:
+      B::Hooks::EndOfScope 0.12
+      ExtUtils::MakeMaker 0
+      Package::Stash 0.23
+      Sub::Name 0.04
+      perl 5.008001
+  version-0.9917
+    pathname: J/JP/JPEACOCK/version-0.9917.tar.gz
+    provides:
+      version 0.9917
+      version::regex 0.9917
+      version::vpp 0.9917
+      version::vxs 0.9917
+    requirements:
+      ExtUtils::MakeMaker 6.17
+      File::Temp 0.13
+      Test::More 0.45
+      parent 0.221
+      perl 5.006002
index acc63e891547c19966175db364e0874ae27aee76..c545d9ced8c1a895833a8d654eb5948e3b1f7b17 100755 (executable)
@@ -1,32 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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 <terry@mozilla.org>
-#                 David Gardiner <david.gardiner@unisa.edu.au>
-#                 Joe Robins <jmrobins@tgix.com>
-#                 Christopher Aillon <christopher@aillon.com>
-#                 Gervase Markham <gerv@gerv.net>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
+use warnings;
 
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index ed1f2388c1ee4e953a897d1132380c66b1d14af4..86f652fcc6e9b23b935d8a72a199fdeb83dabb7a 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -wT
+#!/usr/bin/perl -T
 # -*- Mode: perl; indent-tabs-mode: nil -*-
 #
 # The contents of this file are subject to the Mozilla Public
 #                 Bradley Baetz <bbaetz@student.usyd.edu.au>
 #                 Frédéric Buclin <LpSolit@gmail.com>
 
+use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 3850125cc8363faea79bd1b4c97e44acb4ca19fa..f48b88b7f9c9c9b50db795c2a54b12547112c51a 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -wT
+#!/usr/bin/perl -T
 # -*- Mode: perl; indent-tabs-mode: nil -*-
 #
 # The contents of this file are subject to the Mozilla Public
 # Contributor(s): Terry Weissman <terry@mozilla.org>
 # Contributor(s): Gervase Markham <gerv@gerv.net>
 
+use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Error;
index 6f353dc6dad04c36ac3d2a730878e3afa63a660f..73bd6ce868a7f53dc009a33526d3d6cb4d2ef448 100755 (executable)
@@ -30,7 +30,7 @@ use warnings;
 use File::Basename;
 BEGIN { chdir dirname($0); }
 
-use lib qw(.. ../lib lib);
+use lib qw(.. ../lib lib ../local/lib/perl5);
 
 use Cwd;
 use File::Copy::Recursive qw(rcopy);
index 798599ed0d825e74e75b1cdd462b46b3b15d7da0..a56e27473c340b76c7ddeabd1b3259ea05b12a5e 100755 (executable)
@@ -1,29 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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): 
-#   Gervase Markham <gerv@gerv.net>
-#   Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 3ab89f1206a8c6fa2106a4e276546e755c763843..2bcf7429891543596943112b42b0b6929beba8ac 100755 (executable)
@@ -1,27 +1,17 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil; cperl-indent-level: 4 -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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 Albert Ting
-#
-# Contributor(s): Albert Ting <alt@sonic.net>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 
+use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 7da22211b1b98d9a0a1e0b5f32dc4a15e82c4315..9f59cda8fda05e9d5aa2bdc24d2f66457b8f8caa 100755 (executable)
@@ -1,30 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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 mozilla.org code.
-#
-# The Initial Developer of the Original Code is Holger
-# Schurig. Portions created by Holger Schurig are
-# Copyright (C) 1999 Holger Schurig. All
-# Rights Reserved.
-#
-# Contributor(s): Holger Schurig <holgerschurig@nikocity.de>
-#                 Terry Weissman <terry@mozilla.org>
-#                 Frédéric Buclin <LpSolit@gmail.com>
-#                 Akamai Technologies <bugzilla-dev@akamai.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index cdf1008f7173b50c63ee8971a00403e3e5c8f73b..1c417ab1c8b54f4770aed7adf195c39f14c1b848 100755 (executable)
@@ -1,22 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index d28188ad774ad770b35013351b087b158536017c..a6eebe433c1a70265e133577fb72bda8fbcee379 100755 (executable)
@@ -1,35 +1,17 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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): Myk Melez <myk@mozilla.org>
-#                 Frédéric Buclin <LpSolit@gmail.com>
-
-################################################################################
-# Script Initialization
-################################################################################
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
-# Make it harder for us to do dangerous things in Perl.
+use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
 
-# Use Bugzilla's flag modules for handling flag types.
 use Bugzilla;
 use Bugzilla::Constants;
 use Bugzilla::Flag;
index 68590457e96277ebce902c44486256fe9f03e9e4..23e880de9f23d9be722caa12a87011d4a1949c5f 100755 (executable)
@@ -1,31 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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): Dave Miller <justdave@syndicomm.com>
-#                 Joel Peshkin <bugreport@peshkin.net>
-#                 Jacob Steenhagen <jake@bugzilla.org>
-#                 Vlad Dascalu <jocuri@softhome.net>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 2f0cd563bff11c21b77b656b07ec40451a9b565f..906954be40ebe83e0548399cc97f3de8bd405e80 100755 (executable)
@@ -1,27 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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 Terry Weissman.
-# Portions created by Terry Weissman are
-# Copyright (C) 2000 Terry Weissman. All
-# Rights Reserved.
-#
-# Contributor(s): Terry Weissman <terry@mozilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index ca1c4368e8fcd50f7920c0e69992c875f23d9d06..41df2b49400c02eaf6f1206a906273ef134f258e 100755 (executable)
@@ -1,26 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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 Initial Developer of the Original Code is Matt Masson.
-# Portions created by Matt Masson are Copyright (C) 2000 Matt Masson.
-# All Rights Reserved.
-#
-# Contributors : Matt Masson <matthew@zeroknowledge.com>
-#                Gavin Shelley <bugzilla@chimpychompy.org>
-#                Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 0731e5ee3d4958cb76219e11da14829a072606a3..d3b48b93caaf0235c510b88dbc21bee57e93c8a1 100755 (executable)
@@ -1,29 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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 <terry@mozilla.org>
-#                 J. Paul Reed <preed@sigkill.com>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 6d5c5e59356287ee9ca0f9d40147822e61801773..e0868ad0870c856d5711e7fa23747fc48633fabf 100755 (executable)
@@ -1,35 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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 mozilla.org code.
-#
-# The Initial Developer of the Original Code is Holger
-# Schurig. Portions created by Holger Schurig are
-# Copyright (C) 1999 Holger Schurig. All
-# Rights Reserved.
-#
-# Contributor(s): Holger Schurig <holgerschurig@nikocity.de>
-#               Terry Weissman <terry@mozilla.org>
-#               Dawn Endico <endico@mozilla.org>
-#               Joe Robins <jmrobins@tgix.com>
-#               Gavin Shelley <bugzilla@chimpychompy.org>
-#               Frédéric Buclin <LpSolit@gmail.com>
-#               Greg Hendricks <ghendricks@novell.com>
-#               Lance Larsh <lance.larsh@oracle.com>
-#               Elliotte Martin <elliotte.martin@yahoo.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 98149589375bc6df164119001c57e639794effdf..ef419c7e32290be975be6d9a7bd29fd4d620656f 100755 (executable)
@@ -1,23 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Shane H. W. Travis <travis@sedsystems.ca>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 318b858e539c456742f9cb1e20853789ffc71fd2..efe6a27e3d940408219dd7044395da149a4db3cd 100755 (executable)
@@ -1,27 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Marc Schumann <wurblzap@gmail.com>
-#                 Lance Larsh <lance.larsh@oracle.com>
-#                 Frédéric Buclin <LpSolit@gmail.com>
-#                 David Lawrence <dkl@redhat.com>
-#                 Vlad Dascalu <jocuri@softhome.net>
-#                 Gavin Shelley  <bugzilla@chimpychompy.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 53ea78512054a59f85dfaef4cee95210f2d82943..4511604da2219cd79fad5c84ec862e20601eaed1 100755 (executable)
@@ -1,25 +1,16 @@
-#!/usr/bin/perl -wT
-# 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/
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Frédéric Buclin <LpSolit@gmail.com>
-
-# This is a script to edit the values of fields that have drop-down
-# or select boxes. It is largely a copy of editmilestones.cgi, but 
-# with some cleanup.
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Util;
index 165a174b5ad0947693402a2a542afeaaf3f9a08d..ddfc5418e2c4230164a1d79c509a270514d3a9ff 100755 (executable)
@@ -1,30 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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 mozilla.org code.
-#
-# The Initial Developer of the Original Code is Holger
-# Schurig. Portions created by Holger Schurig are
-# Copyright (C) 1999 Holger Schurig. All
-# Rights Reserved.
-#
-# Contributor(s): Holger Schurig <holgerschurig@nikocity.de>
-#                 Terry Weissman <terry@mozilla.org>
-#                 Gavin Shelley <bugzilla@chimpychompy.org>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 04e2b548fcedc5cfb6631b81cfdf795a13fddcea..23611cd792cd74c959382a9763f47611bc91e307 100755 (executable)
@@ -1,33 +1,20 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
-#
-# 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): Erik Stambaugh <erik@dasbistro.com>
+#!/usr/bin/perl -T
+# 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/.
 #
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 ################################################################################
 # Script Initialization
 ################################################################################
 
+use 5.10.1;
 use strict;
+use warnings;
 
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 321f077fe5f51b00248ab96baed04b92009fab3f..eef7a9f62087fe7e361822f86807bd278136a782 100755 (executable)
@@ -1,27 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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 Frédéric Buclin.
-# Portions created by Frédéric Buclin are Copyright (C) 2007
-# Frédéric Buclin. All Rights Reserved.
-#
-# Contributor(s): Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
+use warnings;
 
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 34e57c90ccf2b3e2cb018efce8eec9484e07ecaa..0e61bf8f191a0104f88ad0cfda278279c2b96711 100755 (executable)
@@ -1,27 +1,23 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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 Inbound Email System.
-#
-# The Initial Developer of the Original Code is Akamai Technologies, Inc.
-# Portions created by Akamai are Copyright (C) 2006 Akamai Technologies, 
-# Inc. All Rights Reserved.
-#
-# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
 use warnings;
 
+use FindBin;
+BEGIN {
+    require lib;
+    my ($bin) = $FindBin::Bin =~ /^(.*)$/;
+
+    lib->import("$bin", "$bin/lib", "$bin/local/lib/perl5");
+}
+
 # MTAs may call this script from any directory, but it should always
 # run from this one so that it can find its modules.
 use Cwd qw(abs_path);
@@ -32,8 +28,6 @@ BEGIN {
     chdir dirname($a);
 }
 
-use lib qw(. lib);
-
 use Data::Dumper;
 use Email::Address;
 use Email::Reply qw(reply);
index afaffd752f8d65a36a635a44c240a5a362bbf0dd..4d29ca0407dbe09d194d83d5d571545e6d57ef84 100755 (executable)
@@ -1,28 +1,10 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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 <terry@mozilla.org>
-#                 Dave Miller <justdave@syndicomm.com>
-#                 Joe Robins <jmrobins@tgix.com>
-#                 Gervase Markham <gerv@gerv.net>
-#                 Shane H. W. Travis <travis@sedsystems.ca>
-#                 Nitish Bezzala <nbezzala@yahoo.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 ##############################################################################
 #
 #
 ##############################################################################
 
+use 5.10.1;
 use strict;
+use warnings;
 
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 92c32f629bd37b1f23c7d764dfb17549962f74e6..e16add9b7820fdc030dfa12d77e512b8695c94de 100644 (file)
@@ -6,7 +6,10 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::AntiSpam;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'AntiSpam';
 use constant REQUIRED_MODULES => [
index 2abba291d0e93854989c7a1aa70a9ec3383f696a..19eddb4e7c539afe0e450213eba6275fac79cd4e 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::AntiSpam;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 754907d221589cd6e5ebd4f81190c9a5eeeeea9d..b6d1234d920d00e0d96625742a6332b605825f1f 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::AntiSpam::Config;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 93445f576c809d95ff284c499ac8a7ca6d17a91e..153af24cb9d21d42383ef6ee8558334cc4efa9db 100644 (file)
 #   Gervase Markham <gerv@gerv.net>
 
 package Bugzilla::Extension::BMO;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'BMO';
 
index 5b87d2e8b9c46a39561eb1e9f23949529103dfa5..ac0acd72d093aa80f992f1084f94c7ef60750b8a 100644 (file)
 #   Byron Jones <glob@mozilla.com>
 
 package Bugzilla::Extension::BMO;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::Extension);
 
 use Bugzilla::BugMail;
index c27757220ec062b6a998000ae3f373c85234147f..b0a49aa65464902fd7b888891a9002f4c06964f0 100755 (executable)
@@ -11,7 +11,7 @@ use strict;
 use warnings;
 
 use FindBin qw($RealBin);
-use lib "$RealBin/../../..";
+use lib ("$RealBin/../../..", "$RealBin/../../../lib", "$RealBin/../../../local/lib/perl5");
 
 use Bugzilla;
 use Bugzilla::Constants qw( USAGE_MODE_CMDLINE );
index 55d68b9bef128ebf0f70afe11c0123f44be0bf20..a784e63a3c8e9dca9c534030668af28198d25bf6 100755 (executable)
@@ -10,7 +10,7 @@ use strict;
 use warnings;
 
 use FindBin qw($RealBin);
-use lib "$RealBin/../../..";
+use lib ("$RealBin/../../..", "$RealBin/../../../lib", "$RealBin/../../../local/lib/perl5");
 
 use Bugzilla;
 use Bugzilla::Component;
index 0d9b891ea87dad1c17c28e26b5137e24ec228c78..d2d260d7b64d43e3211271785ff8ff90fc840d75 100755 (executable)
@@ -10,7 +10,7 @@ use strict;
 use warnings;
 
 use FindBin qw($RealBin);
-use lib "$RealBin/../../..";
+use lib ("$RealBin/../../..", "$RealBin/../../../lib", "$RealBin/../../../local/lib/perl5");
 
 BEGIN {
     use Bugzilla;
index 1d84352a274c7210b70f6f8317577f3043f21f3f..11bf8c55fbfb54498cf7ab775a689042f28dbe2e 100755 (executable)
@@ -11,7 +11,7 @@ use strict;
 use warnings;
 
 use FindBin qw($RealBin);
-use lib "$RealBin/../../..";
+use lib ("$RealBin/../../..", "$RealBin/../../../lib", "$RealBin/../../../local/lib/perl5");
 
 use Bugzilla;
 BEGIN { Bugzilla->extensions() }
index c77e14f7b9dc0a312e4b949f5009dfff4ec883f0..3670cb9a2515c37b2810e8b40a5150ba52d82687 100644 (file)
@@ -6,7 +6,11 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::BMO::Constants;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Exporter);
 our @EXPORT = qw(
     REQUEST_MAX_ATTACH_LINES
index b074cb64aaa475b0ddf3d7cec390f9d9d2030627..d4c2e30120f0562da9ceaab0828cbc26563dd915 100644 (file)
@@ -6,7 +6,10 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::BMO::Data;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use base qw(Exporter);
 use Tie::IxHash;
index 6127cb560761af624f5f455f0b5649bdb5405c86..f84835ddde324a967183e78e6dd8eee103075dcf 100644 (file)
@@ -3,7 +3,9 @@ package Bugzilla::Extension::BMO::FakeBug;
 # hack to allow the bug entry templates to use check_can_change_field to see if
 # various field values should be available to the current user
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Bug;
 
index a4816f914811420b389bf1e2214e1dfc8c4c0002..ce7df767cad6855206a915fec535d8c564b5f9dd 100644 (file)
@@ -6,6 +6,8 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::BMO::Reports::Groups;
+
+use 5.10.1;
 use strict;
 use warnings;
 
index cad403d09e22dd98395359b911ab3908cb76a19d..2dfa583a67796214d1371910f51552e58dbfd29e 100644 (file)
@@ -6,6 +6,8 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::BMO::Reports::Internship;
+
+use 5.10.1;
 use strict;
 use warnings;
 
index 2324e725abd98e47e12bf1f8c298e7701731716e..e7ccda1717d208a9d603740ee37f6db26388a50d 100644 (file)
@@ -6,6 +6,8 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::BMO::Reports::ProductSecurity;
+
+use 5.10.1;
 use strict;
 use warnings;
 
index bd988d9b190e1c4c8e3762abcbdcec4b241f02d2..39eb8327dceace910f382b4951030c3825afdb54 100644 (file)
@@ -6,6 +6,8 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::BMO::Reports::Recruiting;
+
+use 5.10.1;
 use strict;
 use warnings;
 
index 8894a5169893fd07c6f5afc9d0e207d156767d36..b6c7c4520c96bfb38a308202c3c317742bf496d7 100644 (file)
@@ -6,6 +6,8 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::BMO::Reports::ReleaseTracking;
+
+use 5.10.1;
 use strict;
 use warnings;
 
index debb50577a335e26b5d66c7544a3cd9cdc48081e..e9a987b5488b98c44b604579d2859d0420b2de77 100644 (file)
@@ -6,7 +6,10 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::BMO::Reports::Triage;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Component;
 use Bugzilla::Constants;
index 0a8e79e1fcc5efe7f5459b66534c653795ca402c..8dfe0c5cd639ca400b50246a724c81ba33cac94f 100644 (file)
@@ -6,6 +6,8 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::BMO::Reports::UserActivity;
+
+use 5.10.1;
 use strict;
 use warnings;
 
index df781b9d2e2339809d0f9c6fb8c275b37e55af71..dc9c904f98851150c98c944383d06164e0e8e6d0 100644 (file)
@@ -6,6 +6,8 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::BMO::Util;
+
+use 5.10.1;
 use strict;
 use warnings;
 
index 87d45085e2a43abf2a5df642b55998472f763021..6ee7cfa6e499f94d2e4c5501779936596e0fdfd2 100644 (file)
@@ -19,6 +19,7 @@
 
 package Bugzilla::Extension::BMO::WebService;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index aff9d4b4b88510fcd3ccb455606550769037b45a..a07df0f1bf9103f985fb57ffe839a6f6136b50a4 100644 (file)
@@ -6,32 +6,21 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::Bitly;
-use strict;
 
-use Bugzilla::Install::Util qw(vers_cmp);
+use 5.10.1;
+use strict;
+use warnings;
 
 use constant NAME => 'Bitly';
 
 sub REQUIRED_MODULES {
-    my @required;
-    push @required, {
-        package => 'LWP',
-        module  => 'LWP',
-        version => 5,
-    };
-    # LWP 6 split https support into a separate package
-    if (Bugzilla::Install::Requirements::have_vers({
-        package => 'LWP',
-        module  => 'LWP',
-        version => 6,
-    })) {
-        push @required, {
-            package => 'LWP-Protocol-https',
-            module  => 'LWP::Protocol::https',
-            version => 0
-        };
-    }
-    return \@required;
+    return [
+        {
+            package => 'LWP',
+            module  => 'LWP',
+            version => '5.835',
+        },
+    ];
 }
 
 use constant OPTIONAL_MODULES => [
@@ -42,4 +31,6 @@ use constant OPTIONAL_MODULES => [
     },
 ];
 
+use constant API_VERSION_MAP  => { '1_0' => '1_0' };
+
 __PACKAGE__->NAME;
index a368b20fefc26ae8c1ef3865525dcad101cdeb15..82f17bc2ab5a0b9b3aac9e74924817b66b49c3a8 100644 (file)
@@ -6,6 +6,8 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::Bitly;
+
+use 5.10.1;
 use strict;
 use warnings;
 
index b47accda6b06c2a1513cc5458f28b69c745b2484..b8ada56d2020d3456249a2813d274384351bffe5 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::Bitly::WebService;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index a60a99a7ac03eb6a1a16ac8b9124b65e49e0b2ca..25a864e6ecde9e922f6fb38433659554db0f53ad 100644 (file)
@@ -6,7 +6,9 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::BugModal;
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'BugModal';
 use constant REQUIRED_MODULES => [ ];
index 01faf06d596eb54ffa0605020be11ba0a71f0d9f..fb3a69cc74dc7ebe8ab5d2411486d890f8ab9062 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::BugModal;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index c9e05393465a2b9cdd758e1cfa117ddf273c9218..708c056d47207c0651babf8ea8261d9d226ea69e 100644 (file)
@@ -9,6 +9,8 @@ package Bugzilla::Extension::BugModal::ActivityStream;
 1;
 
 package Bugzilla::Bug;
+
+use 5.10.1;
 use strict;
 use warnings;
 
index 61f945a87425a121767ed45d1df7439b96015350..88fce11af40ce2ec82e8a6abc2f189558127be1a 100644 (file)
@@ -9,6 +9,8 @@ package Bugzilla::Extension::BugModal::MonkeyPatches;
 1;
 
 package Bugzilla;
+
+use 5.10.1;
 use strict;
 use warnings;
 
@@ -22,6 +24,8 @@ sub treeherder_user {
 }
 
 package Bugzilla::Bug;
+
+use 5.10.1;
 use strict;
 use warnings;
 
@@ -37,6 +41,8 @@ sub active_attachments {
 1;
 
 package Bugzilla::User;
+
+use 5.10.1;
 use strict;
 use warnings;
 
@@ -60,6 +66,8 @@ sub moz_nick {
 1;
 
 package Bugzilla::Attachment;
+
+use 5.10.1;
 use strict;
 use warnings;
 
index 74311197a559e6a0fd12e8b5630063bc0292e23c..6a453159e397d82d90ac38ae468d3fa969e230df 100644 (file)
@@ -6,6 +6,8 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::BugModal::Util;
+
+use 5.10.1;
 use strict;
 use warnings;
 
index 7a05f263b527c8b55c09d1cf824dc327dd60a495..338129e9b31b170cf8278248e8958f46d199395a 100644 (file)
@@ -6,6 +6,7 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::BugModal::WebService;
+use 5.10.1;
 use strict;
 use warnings;
 
index 9932afb400d25ec3cefbc07ffd5fbeac8ea2f502..5948c3b649c96d2192fba7c59c0dc3e19c0ee2ba 100644 (file)
@@ -6,7 +6,10 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::BugmailFilter;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'BugmailFilter';
 use constant REQUIRED_MODULES => [];
index dc38e85776875318a40fbcbc32fb8f905d153183..d4d7bb7901dcae2ad945f281320462a5a1fe4507 100644 (file)
@@ -6,6 +6,8 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::BugmailFilter;
+
+use 5.10.1;
 use strict;
 use warnings;
 
index 20e5480d05fe9ae33160d1a34aa2b1715b61fcf8..a6636dda780f8ffa9746b35a7c0e6e71203c9b7b 100644 (file)
@@ -6,7 +6,10 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::BugmailFilter::Constants;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use base qw(Exporter);
 
index 88e4ac1cab9fd07046153c6847c0ccb09622f0aa..e9f8b180855d5ee38edf804cfade82b31d7e7ae8 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::BugmailFilter::FakeField;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index d59e19fb7b9e5efe13811688536ee6054b6e04cf..7f2f4cb87f72bef5dc00d0cbbba4354522aa26f7 100644 (file)
@@ -9,6 +9,7 @@ package Bugzilla::Extension::BugmailFilter::Filter;
 
 use base qw(Bugzilla::Object);
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 89b8c1e0208aaf3f5f6c090603cd6cd086a92962..bd463b4ba85cd3900b3bfe051a21ec9e4796d088 100644 (file)
@@ -7,7 +7,9 @@
 
 package Bugzilla::Extension::BzAPI;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'BzAPI';
 
index f233b26e49b319381045a58fdaa06ca9d42a7443..bb9805134d1e2fbe87db686dde1a1ef10ad96a9a 100644 (file)
@@ -7,7 +7,10 @@
 
 package Bugzilla::Extension::BzAPI;
 
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::Extension);
 
 use Bugzilla::Extension::BzAPI::Constants;
index 65ae004800c3c8fa9d136fe6c52130feb7d21c91..fb611aae6427c510d19f459e3444ebed4291e057 100644 (file)
@@ -7,7 +7,9 @@
 
 package Bugzilla::Extension::BzAPI::Constants;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use base qw(Exporter);
 our @EXPORT = qw(
index 77b567421668baf66b11e9db8f32ea7ec5dd1ea5..f3ff41049bd9e069415e21288ba382b891a5fb86 100644 (file)
@@ -9,6 +9,7 @@ package Bugzilla::Extension::BzAPI::Resources::Bug;
 
 use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Bug;
 use Bugzilla::Error;
index 96b07297e29c9b5e2b8a09205a708000c0de0eee..f39cd29f31c5bf612b3c45ab15f1f37a4330306c 100644 (file)
@@ -9,6 +9,7 @@ package Bugzilla::Extension::BzAPI::Resources::Bugzilla;
 
 use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla;
 use Bugzilla::Constants;
index 7fbcdb871e1c6ae9d42df5db50c5299e0d119932..550a61d2825d705b8caaead8e3e93d4cf601e826 100644 (file)
@@ -9,6 +9,7 @@ package Bugzilla::Extension::BzAPI::Resources::User;
 
 use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::Extension::BzAPI::Util;
 
index e783a15843bf40e1a898d0f88dfe19d1cc34ba3c..9760f4b5e15213cde7e6fc611a002f9042438756 100644 (file)
@@ -12,6 +12,7 @@
 
 package Bugzilla::Extension::BzAPI::Util;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 560b5c3c5c6a666c0949be8fb21281da422459f5..2014fbbfad64fa0bfde007876210deff1e86d7ac 100644 (file)
@@ -6,7 +6,11 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::ComponentWatching;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use constant NAME => 'ComponentWatching';
 
 __PACKAGE__->NAME;
index f79b68595a0f9237e5c6739a022bbf19c729ef52..36dee0e1d9c1863acd9745ec8ed0317728418c36 100644 (file)
@@ -6,7 +6,11 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::ComponentWatching;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::Extension);
 
 use Bugzilla::Constants;
index 3984dd60e94e43f1153d66a55551a8cc25f38620..d48de3bc6a3bf071f76ec8495d0b53af345d0a86 100644 (file)
@@ -6,7 +6,10 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::ContributorEngagement;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'ContributorEngagement';
 
index def41b6ea078b7223d7cf012cf0b03447e977047..949517ecf40674ebd6845c13f2a6e738a29441c1 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::ContributorEngagement;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 0e08c02b8bdce78dd79b13225c0118f1168532d3..dd379adcd36e140d410bb9a878b03f11b2acf55e 100644 (file)
@@ -7,7 +7,9 @@
 
 package Bugzilla::Extension::ContributorEngagement::Constants;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use base qw(Exporter);
 
index dae6750019a7a7d68e438f4360f5db6c7b723d47..b95647940f5d3579af96d5ca1af40c13c888bb6c 100644 (file)
@@ -9,11 +9,10 @@ package Bugzilla::Extension::EditComments;
 
 use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'EditComments';
-
 use constant REQUIRED_MODULES => [];
-
 use constant OPTIONAL_MODULES => [];
 
 __PACKAGE__->NAME;
index fef1b76930f2b9d7c68fc36d6e0ac19e167b2dfd..1dc22a85eaa292207aeb9308f61c3024b19098e0 100644 (file)
@@ -9,6 +9,7 @@ package Bugzilla::Extension::EditComments;
 
 use 5.10.1;
 use strict;
+use warnings;
 
 use base qw(Bugzilla::Extension);
 
index 2621e5f4a2c7ca19f76b7e3bed1f2844de24e29d..6969ca7422857e59d0873f6fb85e3ed5f2d12422 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::EditComments::WebService;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index d601951a49df81da96efeaaa7723028307aef9bf..b9bd003b20c7c9a1d021fab2815d2e67aa381ad9 100644 (file)
@@ -6,7 +6,10 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::EditTable;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'EditTable';
 use constant REQUIRED_MODULES => [];
index d353513e126b23445ae0e2e9843025d674f8fd07..1eb0d82f948640bf26759fa5ecadfcb77288ab33 100644 (file)
@@ -16,6 +16,7 @@
 
 package Bugzilla::Extension::EditTable;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index e3405146d52a9315240c5dc1e7671e46ffa55c70..5ceb98ec10e27f465bd070022b615338f26960e5 100644 (file)
@@ -9,6 +9,7 @@ package Bugzilla::Extension::Ember;
 
 use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'Ember';
 
index 1c8b8b4e9248d52d841abd17c5d3bb90db087ef6..8bb558c6fb25e4f50c0f4a6b352a9f591bc968e9 100644 (file)
@@ -9,6 +9,8 @@ package Bugzilla::Extension::Ember;
 
 use 5.10.1;
 use strict;
+use warnings;
+
 use parent qw(Bugzilla::Extension);
 
 our $VERSION = '0.01';
index 378db359ded3a37c24f92d87afa9b38683027dac..e7782ef6ced1fdf37b821f0b18dff53789089405 100644 (file)
@@ -1,26 +1,16 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Everything Solved, Inc.
-# Portions created by the Initial Developers are Copyright (C) 2009 the
-# Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#   Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::Example;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use constant NAME => 'Example';
 use constant REQUIRED_MODULES => [
     {
index 4fd2d987f1dac9c911316601b0a064918a3ec214..a8cf8189fbd1e01c72e54de0109dae8b688c4677 100644 (file)
@@ -1,27 +1,14 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Everything Solved, Inc.
-# Portions created by the Initial Developers are Copyright (C) 2009 the
-# Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#   Max Kanat-Alexander <mkanat@bugzilla.org>
-#   Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::Example;
+use 5.10.1;
 use strict;
+use warnings;
 use base qw(Bugzilla::Extension);
 
 use Bugzilla::Constants;
index 9f4f37dc321f6b1a85ea7be6e18e3cd0d26dd895..376fe21a82de64e5ecab8995c3dbb8fc40f3f5d9 100644 (file)
@@ -1,25 +1,14 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Example Plugin.
-#
-# The Initial Developer of the Original Code is Canonical Ltd.
-# Portions created by Canonical are Copyright (C) 2008 Canonical Ltd.
-# All Rights Reserved.
-#
-# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::Example::Auth::Login;
+use 5.10.1;
 use strict;
+use warnings;
 use base qw(Bugzilla::Auth::Login);
 use constant user_can_create_account => 0;
 use Bugzilla::Constants;
index 0141a0d6afc3695a2c35ab785c64e66209d55025..cac6d101902ddc2b95a59556db10a4a6a5377a98 100644 (file)
@@ -1,25 +1,14 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Example Plugin.
-#
-# The Initial Developer of the Original Code is Canonical Ltd.
-# Portions created by Canonical are Copyright (C) 2008 Canonical Ltd.
-# All Rights Reserved.
-#
-# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::Example::Auth::Verify;
+use 5.10.1;
 use strict;
+use warnings;
 use base qw(Bugzilla::Auth::Verify);
 use Bugzilla::Constants;
 
index 75db22957d651a6c943402d644474affe30377ac..fac0046af2d76a5579fc21d27e25a742e6225f8b 100644 (file)
@@ -1,25 +1,13 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Example Plugin.
-#
-# The Initial Developer of the Original Code is Canonical Ltd.
-# Portions created by Canonical Ltd. are Copyright (C) 2008
-# Canonical Ltd. All Rights Reserved.
-#
-# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Bradley Baetz <bbaetz@acm.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::Example::Config;
+
+use 5.10.1;
 use strict;
 use warnings;
 
index 596f048e97aa6179b21b6fbfcf660c2c605c028e..ccc349c9c50d33371f7e4adecc6552cf884e91ef 100644 (file)
@@ -1,24 +1,13 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Everything Solved, Inc.
-# Portions created by Everything Solved, Inc. are Copyright (C) 2009 
-# Everything Solved, Inc. All Rights Reserved.
-#
-# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::Example::Util;
+
+use 5.10.1;
 use strict;
 use warnings;
 
index bb83436e3ef295fb874e339d198956022eb5b196..7b194046284ab2ee3cde42d18efb7d729aa1a08b 100644 (file)
@@ -1,24 +1,13 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Everything Solved, Inc.
-# Portions created by Everything Solved, Inc. are Copyright (C) 2007 
-# Everything Solved, Inc. All Rights Reserved.
-#
-# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::Example::WebService;
+
+use 5.10.1;
 use strict;
 use warnings;
 use base qw(Bugzilla::WebService);
index 70c5ca33a503fb052f884dfebbb432b73b3b67bf..dc4fb1353c8d0e831df56484a16fadaa1d348264 100644 (file)
@@ -7,7 +7,9 @@
 
 package Bugzilla::Extension::FlagDefaultRequestee;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'FlagDefaultRequestee';
 
index 958a1bb852a759c63b42da1d386cf825883f8aa6..f599feac22338f841cd1461015fd23759e25a45f 100644 (file)
@@ -7,7 +7,10 @@
 
 package Bugzilla::Extension::FlagDefaultRequestee;
 
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::Extension);
 
 use Bugzilla::Error;
index 46702842336e5833097500df5f748df56631ffa8..fd7298484e483a5a4157afdf007749843622b230 100644 (file)
@@ -7,7 +7,9 @@
 
 package Bugzilla::Extension::FlagDefaultRequestee::Constants;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use base qw(Exporter);
 
index e20be10e3d50fdda5dcca2f14249b6fc2179b216..590ef45552b20e5c371fb64aac19e83b8f74efde 100644 (file)
 #   byron jones <glob@mozilla.com>
 
 package Bugzilla::Extension::FlagTypeComment;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'FlagTypeComment';
 
index 8da6101ada6413b20ca91528eafc028c1090023f..34cd4c460fbbdb2f1fad465c1901bbda94fc2c05 100644 (file)
 #   byron jones <glob@mozilla.com>
 
 package Bugzilla::Extension::FlagTypeComment;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::Extension);
 
 use Bugzilla::Extension::FlagTypeComment::Constants;
index e1a99e5b3bf07526445f426a67a565f49fd923f2..dcac4976a49feeb9c9bdd66bddcd5dc3d9a2e4c6 100644 (file)
 #   byron jones <glob@mozilla.com>
 
 package Bugzilla::Extension::FlagTypeComment::Constants;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use base qw(Exporter);
 our @EXPORT = qw(
index 88186a91e7b9188a8fabd95731546fa7cc47fa85..1f64ee8a62fb9ae1c26e90525671bfa0e97bfde0 100644 (file)
@@ -9,6 +9,7 @@ package Bugzilla::Extension::GitHubAuth;
 
 use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'GitHubAuth';
 
index b813689cd9eaa42f0ea69327e74c841321a34d05..24a7cf2f12894449dcecff9f4688513e9fb4efd4 100644 (file)
@@ -9,6 +9,8 @@ package Bugzilla::Extension::GitHubAuth;
 
 use 5.10.1;
 use strict;
+use warnings;
+
 use parent qw(Bugzilla::Extension);
 
 use Bugzilla::Extension::GitHubAuth::Client;
index 77c8a6c6155bf84a9d65de3046c74189df5e0826..46c070856cde3b94844b02beab68986149d0f2b5 100644 (file)
@@ -6,6 +6,8 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::GitHubAuth::Client;
+
+use 5.10.1;
 use strict;
 use warnings;
 
index 358df693852dd345165842d163f02290be38aa58..adb6ec07b901e1cd898ea4bc62e9d064263cd516 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::GitHubAuth::Client::Error;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 0dc78531b7117c3969a7e9584e8c00066f837128..0c88741291dd396dcbd715ac62edfcc850156ef8 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::GitHubAuth::Config;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index f1effb4e1efb6beaa7359566dac0465a8ae36443..3f81467d0a05b4ff4e917a4113b6ec4f398b4ba2 100644 (file)
@@ -6,8 +6,11 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::GitHubAuth::Login;
+
+use 5.10.1;
 use strict;
 use warnings;
+
 use base qw(Bugzilla::Auth::Login);
 use fields qw(github_failure);
 
index ee66c8904f2e157f8c82f03c28b765eca3ff3bc0..f399af02e414ee4a3ba9eca7a2046c0e74f6ea27 100644 (file)
@@ -6,8 +6,11 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::GitHubAuth::Verify;
+
+use 5.10.1;
 use strict;
 use warnings;
+
 use base qw(Bugzilla::Auth::Verify);
 
 use Bugzilla::Constants qw( AUTH_NO_SUCH_USER );
index e15a41ee8acc1df29b9978af97872653a884aaab..e0c684c9b2b5aa34196a20b77fcaa55aa95ef5f5 100644 (file)
@@ -7,7 +7,9 @@
 
 package Bugzilla::Extension::Gravatar;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'Gravatar';
 use constant REQUIRED_MODULES => [];
index 06e98fb788df16e143848cb73aa33e53417d7eb0..97cf23b00f464930337f4cfcff316bafa2b413eb 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::Gravatar;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index feff503e393330c0e7d1da8f5cfb2c74e8b53b6c..763dba85b99ef0f3c91cbd8ad188fec8fb0c58f7 100644 (file)
@@ -6,7 +6,10 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::Gravatar::Data;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use base 'Exporter';
 our @EXPORT_OK = qw(
index e4bc9c70be6b654fd2dfb97976a967a11586e2ca..316fc6cdca32392c3b7eeb451790587cf579ce9e 100644 (file)
@@ -6,7 +6,10 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::GuidedBugEntry;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'GuidedBugEntry';
 
index 3f739d9fe1fd4054ab02b8354cff78696358983e..2d58d506ae3bf94d96ef2c7bb09fb53d3ae8b043 100644 (file)
@@ -6,7 +6,11 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::GuidedBugEntry;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::Extension);
 
 use Bugzilla::Token;
index 3834bd81d220c71ddc6c0b08593c3cc089ceb83b..56197487be9b5f6a598d71d04e4fd68d3004a02e 100644 (file)
@@ -6,7 +6,10 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::InlineHistory;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'InlineHistory';
 
index d563bede8cc875ad2c2fb32423b2b7e4183270a7..fb4a8f98f28111677e2a36e6ec8522b53861362c 100644 (file)
@@ -6,7 +6,11 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::InlineHistory;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::Extension);
 
 use Bugzilla::User::Setting;
index f763167e2dd887d74120713e4d33128fd0aed6ea..8fd8f106f99e27efac3490f88987045ed8ca9860 100644 (file)
@@ -7,7 +7,9 @@
 
 package Bugzilla::Extension::LastResolved;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'LastResolved';
 
index ad0519387116a7fcb90df699ba80060db9c5d834..0c3741b843d5e48a6b275b44a0b8687bf9e932a7 100644 (file)
@@ -7,7 +7,9 @@
 
 package Bugzilla::Extension::LastResolved;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use base qw(Bugzilla::Extension);
 
index ea05f363c2e1249d3dc9b1fa5d70baa012bf7d48..94b9b10eb7886aebaeea8ba0793e6882ee21f5f6 100644 (file)
@@ -7,7 +7,10 @@
 
 package Bugzilla::Extension::LimitedEmail;
 
+use 5.10.1;
 use strict;
+use warnings;
+
 use constant NAME => 'LimitedEmail';
 use constant REQUIRED_MODULES => [ ];
 use constant OPTIONAL_MODULES => [ ];
index 35cc835674ce491f7a4ea7ba97bb8365d6587995..9b504db91e0afdee215c971f113e4a30781ca59f 100644 (file)
@@ -6,7 +6,11 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::LimitedEmail;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::Extension);
 
 our $VERSION = '2';
index 5a9d2b7307f0bf36eea5251bcda12ad0a846f9db..1a5e14f3d8e7304832e1dc60a404cf8bb58295a6 100644 (file)
@@ -6,7 +6,9 @@
 # defined by the Mozilla Public License, v. 2.0.
 package Bugzilla::Extension::MozProjectReview;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'MozProjectReview';
 
index 7229f5d4d732cc909b3bff38de43bc5821f591b4..fcad6916cde232b1a61bef9aa78ca290d4df44ac 100644 (file)
@@ -6,7 +6,9 @@
 # defined by the Mozilla Public License, v. 2.0.
 package Bugzilla::Extension::MozProjectReview;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use base qw(Bugzilla::Extension);
 
index 44d8dd2ff335f14c95ee327c1a8d77dad6db3e82..34d98907c9639f9ecf836e46d5e4eb8c14dbf550 100644 (file)
@@ -9,6 +9,7 @@ package Bugzilla::Extension::MozReview;
 
 use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'MozReview';
 
index a63966a625c76967a3b0ae380777f5d2bb85819b..f92c2a19bc522d0d959b0117da9540a55b7e5754 100755 (executable)
@@ -15,7 +15,7 @@ use strict;
 use warnings;
 
 use FindBin qw($RealBin);
-use lib "$RealBin/../../..";
+use lib ("$RealBin/../../..", "$RealBin/../../../lib", "$RealBin/../../../local/lib/perl5");
 
 BEGIN {
     use Bugzilla;
index ab6b8c7c35998d1ab77d6bbf0396b5874b003376..e0d6377d8cf83276899f8b4b778dd677310a1662 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::MozReview::Config;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 8f9d3215bbaa59d91a4087f0ca53107923696e06..c6916d1fac83f628731c1efea939f02d91f2741b 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::MozReview::WebService;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 7c14936ff295b030c941d1fddb9af3f390216800..05f3ec4165dc739cac6e3e54ed18c07491fe787e 100644 (file)
@@ -7,7 +7,9 @@
 
 package Bugzilla::Extension::MyDashboard;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'MyDashboard';
 
index 97b1d9d145b73f9b7e8f0700fd06e10b9615c033..5278cfaa44ce73e56c2c9940af0f05ad8085606d 100644 (file)
@@ -7,7 +7,9 @@
 
 package Bugzilla::Extension::MyDashboard;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use base qw(Bugzilla::Extension);
 
index 4f14eb4fdd7e2619db07f5795cb066d33840d62d..cf33900c5cdc5126d72080560c54c804c0898e8e 100644 (file)
@@ -9,6 +9,7 @@ package Bugzilla::Extension::MyDashboard::BugInterest;
 
 use 5.10.1;
 use strict;
+use warnings;
 
 use parent qw(Bugzilla::Object);
 
index 199e8eb46e218fa639c62d252d763db86472b509..d77be7da41a34cd907d8cfbc304c16aa78ebc328 100644 (file)
@@ -7,7 +7,9 @@
 
 package Bugzilla::Extension::MyDashboard::Queries;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla;
 use Bugzilla::Bug;
index fa7cf83b0faeeb323b3fb37163c498823a37cfd9..77d9505cb4e2aa1c17610512e9a2927d0efe5831 100644 (file)
@@ -7,7 +7,9 @@
 
 package Bugzilla::Extension::MyDashboard::Util;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla::CGI;
 use Bugzilla::Search;
index c9355314626b580364fde658bfa1e5c903a39f41..7e5ce05cfd160ce95955e3dd5573430f2e652c3e 100644 (file)
@@ -6,6 +6,7 @@
 # defined by the Mozilla Public License, v. 2.0.
 package Bugzilla::Extension::MyDashboard::WebService;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 86c99ec597c61baea188a74d12d573a51f189659..d523d9d78e362d62a7ddb3f5d1c4241e15e27642 100644 (file)
@@ -5,7 +5,10 @@
 # This Source Code Form is "Incompatible With Secondary Licenses", as
 # defined by the Mozilla Public License, v. 2.0.
 package Bugzilla::Extension::Needinfo;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'Needinfo';
 
index a85bad5c657aee9c7c23075a35264f4f9412786e..cb897e72e48cb9339850f56c3ef36cbbae3e27f6 100644 (file)
@@ -6,7 +6,9 @@
 # defined by the Mozilla Public License, v. 2.0.
 package Bugzilla::Extension::Needinfo;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use base qw(Bugzilla::Extension);
 
index 9204db234388daec29f207378fce8aa9628625d4..92d0a89bc143c40e566a44dd762d859409d99cdb 100644 (file)
@@ -7,7 +7,9 @@
 
 package Bugzilla::Extension::OpenGraph;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'OpenGraph';
 use constant REQUIRED_MODULES => [ ];
index f278a8958812cb0a62cdfbf961e618e8ec9f2b68..18ee2c22f1dbaa0677ffd24f3b0dd1f06def16fc 100644 (file)
@@ -7,7 +7,11 @@
 
 package Bugzilla::Extension::OpenGraph;
 
+use 5.10.1;
 use strict;
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
 
 use base qw(Bugzilla::Extension);
 
index 9fb0d74ef1c75cee489c01db121ea892f8101126..18c6be1cd1381c46e58f3db3d7cb69b83d7a6cd7 100644 (file)
@@ -6,7 +6,10 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::OrangeFactor;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'OrangeFactor';
 
index 5e96987184da3d947a42834458d29f4fd9bab0ba..ab2f1d749ec20b1ae2bb341a7075556c3e8726b2 100644 (file)
@@ -6,7 +6,11 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::OrangeFactor;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::Extension);
 
 use Bugzilla::User::Setting;
index 8709655d18d82dc09967ac4fa21f45459051c4f4..a839b38abc3ec81c04082ceebef9ed22815865e1 100644 (file)
@@ -6,7 +6,10 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::Persona;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'Persona';
 
index 2c8e46add4b5132f395f05e06df0910a47801277..61e222f533f3c03b56ce95f7450e04d9e9410eef 100644 (file)
@@ -6,7 +6,11 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::Persona;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::Extension);
 
 use Bugzilla::Config qw(SetParam write_params);
index 9c483cb51469cab05355add386957861becaa24e..ae40fd94af02581f53e071ddf3379c091fb4526f 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::Persona::Config;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index c2f8caf2b0a2fc7177a2f1df056efd2d1a0a3bb3..b9ba97a7ee8f8a043a211406fa1f37eb50be19ba 100644 (file)
@@ -6,7 +6,11 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::Persona::Login;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::Auth::Login);
 
 use Bugzilla::Constants;
index c28b6d8f60669319ae292e74234c3a664d547f55..9631de570350bd09b247e009c2541226fa2b6870 100644 (file)
@@ -6,7 +6,10 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::ProdCompSearch;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'ProdCompSearch';
 use constant REQUIRED_MODULES => [];
index a5955fd8b54bcbcce0ecfa8d616a433871c6b7b1..ae507a7d6f5f9db7c0a27feebac7b4b2573e8f0b 100644 (file)
@@ -6,7 +6,11 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::ProdCompSearch;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::Extension);
 
 our $VERSION = '1';
index 521d1588f9cd3a38ecb1de2ebb46eea7a8fc05ec..b173137ddaf699ceb0e8759fed881c72f49373bb 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::ProdCompSearch::WebService;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 3a46549740cc8f3af7044fa333e239eede34de8f..88ccdc784563c1beb52f115e2d092466dfb74d0e 100644 (file)
@@ -7,7 +7,9 @@
 
 package Bugzilla::Extension::ProductDashboard;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'ProductDashboard';
 
index cc80fa449b890fc184506164ecc80fcfdb4a8026..18157c1fe84c7f5019a59a3601c4f18fd0d8d279 100644 (file)
@@ -7,7 +7,9 @@
 
 package Bugzilla::Extension::ProductDashboard;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use base qw(Bugzilla::Extension);
 
index ec27d3c6ce6abed38aef2ba838fa8c3a7783bfe9..8c9d5bd929649d9fa3f7dda30d60adeda443c1f3 100644 (file)
@@ -6,7 +6,9 @@
 # defined by the Mozilla Public License, v. 2.0.
 package Bugzilla::Extension::ProductDashboard::Queries;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use base qw(Exporter);
 @Bugzilla::Extension::ProductDashboard::Queries::EXPORT = qw(
index 5d9c161ef919dc88176661319fc3e7ec71e57c95..f02f033b236f2ae413e9cc0a86f1cfcaa4af5f3d 100644 (file)
@@ -6,7 +6,9 @@
 # defined by the Mozilla Public License, v. 2.0.
 package Bugzilla::Extension::ProductDashboard::Util;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use base qw(Exporter);
 @Bugzilla::Extension::ProductDashboard::Util::EXPORT = qw(
index 354325c58a68485b040dd03a59405c55efee7768..311400d16bf7a5f2d5f54a0faf13e65ac7089f15 100644 (file)
 #   Gervase Markham <gerv@gerv.net>
 
 package Bugzilla::Extension::Profanivore;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'Profanivore';
 
index 49b2f61c3e87dc4dd161021e3a9b3296c520de2f..76d30e982a4888341bf81c53e8b8aef56c1e963e 100644 (file)
 #   Gervase Markham <gerv@gerv.net>
 
 package Bugzilla::Extension::Profanivore;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::Extension);
 
 use Email::MIME::ContentType qw(parse_content_type);
index 11e3502fd8aba11d4769cf78dfe1ad9cd180487f..860e31a236969293fe6f5245f542ed6042ca963c 100644 (file)
@@ -7,7 +7,9 @@
 
 package Bugzilla::Extension::Push;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'Push';
 
index 1d6ec5b623e146c5f4881eb6a9edabe1f39eaef3..f682dea3565ea15b31669b5c0177a4ac9d721eda 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::Push;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index f048df1575e63ab911c71a3e5ecedde73622b778..8e92381f36247dafb78796b80588d645b7f639fb 100755 (executable)
 use strict;
 use warnings;
 
-use FindBin '$RealBin';
-use lib "$RealBin/../../..";
-use lib "$RealBin/../../../lib";
-use lib "$RealBin/../lib";
+use FindBin qw($RealBin);
+use lib ("$RealBin/../../..", "$RealBin/../../../lib", "$RealBin/../../../local/lib/perl5");
 
 BEGIN {
     use Bugzilla;
index f022f584dc4c9c1a8ac375d4e033eeec55c79269..092a9da8fc1682fd8543a0db8839e46d779a991b 100755 (executable)
 use strict;
 use warnings;
 
-use FindBin '$RealBin';
-use lib "$RealBin/../../..";
-use lib "$RealBin/../../../lib";
-use lib "$RealBin/../lib";
+use FindBin qw($RealBin);
+use lib ("$RealBin/../../..", "$RealBin/../../../lib", "$RealBin/../../../local/lib/perl5");
 
 use Bugzilla;
 use Bugzilla::Constants;
index 5b0bb8e7090ce714e26e8bb64570e52f87eefa78..fa65e0d69cee9672a5817b41e90875fc8f668b03 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::Push::Admin;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index cd40ebefb95a68af06c9c064e60694151ad85b07..28b17bae302680c24d7c442b4fc0211b71d15d17 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::Push::BacklogMessage;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 79b9b72ee189b84a6c4e09be5b34f087e85c9c8c..a7200c688406ee1bd9ac8d66a9542f32b5be40fa 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::Push::BacklogQueue;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 55552e5e16d55d39996054b11c5de962ee3ebd26..f0116a2a7b6f536060f5a432614c65552212cc01 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::Push::Backoff;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 7033b419550942cc92fe0a3b081b9203032c671e..337c2696d66597180f8b49e767e688fdbdd52c6a 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::Push::Config;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 7b7d4aa7230a5a62528fc32c6546183c80fe346a..f712ee89070ecacd54c9dfe550b9c6d7fde746b4 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::Push::Connector::AMQP;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 832cc92627b7ec8d6a7537cf700d4c40a94e36dd..a6d84cbe018faa23df464d16146d514aa56c249c 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::Push::Connector::ServiceNow;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index b64610e039021e84058b84e3e554e2ed8648f00d..e85b5fadfda8eea19c8b1c1f6cf115601ef813bd 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::Push::Connector::Aha;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 290ea974015b3386e05f80a018fed7e33535d2a2..ee41bd160cae3e55d1f0719e3a8939916da23ccd 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::Push::Connector::Base;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 563a78567a635e467dfa1a77dcd642cfa1d71d52..ae249ffe5a14791231ce295da2c5690d22e49cb7 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::Push::Connector::File;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 97f489826d59a8d4da7d6aa8395e41d48a45b089..1c657a728ce97f5f52b3002aa003316da2f8fced 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::Push::Connector::ReviewBoard;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index a655679160d1a7e4cc0ec4cdba631d9857314424..3194bd3abdd3fb1c11a1745659b232a91e95bdd4 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::Push::Connector::Spark;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 25e5750dc54c10bc183d4502b77bb7e7789dd659..f5b430e4769e2702d4de129a54914e60aa2b4256 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::Push::Connector::TCL;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 026d3f7f126ddd7ccbb683b649a0e3fa11451bf5..75a5083ff537f9719daa45d802f915782e7202b5 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::Push::Connectors;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 18b12d511ed1ab9e1019406bd6383f7ca3a4d4f3..09c5e464c2ceb3dd6f66c0648f847bbc3ad15451 100644 (file)
@@ -7,7 +7,10 @@
 
 package Bugzilla::Extension::Push::Constants;
 
+use 5.10.1;
 use strict;
+use warnings;
+
 use base 'Exporter';
 
 our @EXPORT = qw(
index c8472e45009f84e79ac3a3154b6629194c4287ac..7f2459a95c1746e9eaa907a30e5d1561e16a210b 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::Push::Daemon;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 6faabea97b9a60ad2a7e89b846a60ee8bd66415c..8a35a6cf569dcc4408f45a8589d60b6ec7627d43 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::Push::Log;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 848df04806c725a24196ef3806b05f893ab2b921..f4e894b941ee836c0670723ade16a40a323ab23a 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::Push::LogEntry;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 9824f3476f434be3c2112904d514f5164b1b0da9..833cb3b19a47b0b405c7be812b494928d133d478 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::Push::Logger;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 6d2ed2531cb349048f5ab44571c539f4464d9342..1beb18ef01e2949ea001333f1679accb19d81c12 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::Push::Message;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 25d529f98eb41b1d1209936f2046dadf146bdafc..a08e4c11ddee0598e470789f7cc62a06a657f711 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::Push::Option;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index aaac0bbd69bb26f7c497a42f40d8b32bc4aa2baf..45b9b05dd581f8b91a4e5cbdd7e39ebd9159a0a5 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::Push::Push;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index d89cb23c317582cc846c1a49715aa831d3266305..3ee0321d900ee1e962a80d686372eb5e5ae3e7b8 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::Push::Queue;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 94f33c754712c9f35f191aed1ece8e43ae5d86b9..bb6834c1312e1359455f46bbce0963145acb76e9 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::Push::Serialise;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index f52db6936c7e892980cf3678c18b9e6e19dc36cd..bda6331bfa3c54bef8da160b784d3dcaa5067f0e 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::Push::Util;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 625e2afd992735e038d8831a8699957dc7d2ebc0..3317ebc0577f1e19076a58a4bc1e014f5651fc6c 100644 (file)
 #   David Lawrence <dkl@mozilla.com>
 
 package Bugzilla::Extension::REMO;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'REMO';
 
index 9f83f70650c655d643b9eef9c59b9fd909d00d4f..695f126f8384e7e138c5d1e4b560a8eb94778c1e 100644 (file)
 #   David Lawrence <dkl@mozilla.com>
 
 package Bugzilla::Extension::REMO;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::Extension);
 
 use Bugzilla::Constants;
index 6b9488c806d640341aba44ae5994e2ca9650ce88..a338cd441a6fa21e2a6985bdcc52450de08ace6b 100644 (file)
@@ -6,7 +6,10 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::RequestNagger;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'RequestNagger';
 use constant REQUIRED_MODULES => [ ];
index 63d79040e1fb3a0b4fa8db78f8cfd6d6fc664986..65f5e6b84fd2cc5dcd8945fc633a2244b5ca9bef 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::RequestNagger;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 03ff8b4eacfada5c493c96bb8021f007f0e0ebc3..b3c654956218d4af22c2fb1cd0b7fde7363f8b11 100755 (executable)
@@ -11,7 +11,7 @@ use strict;
 use warnings;
 
 use FindBin qw($RealBin);
-use lib "$RealBin/../../..";
+use lib ("$RealBin/../../..", "$RealBin/../../../lib", "$RealBin/../../../local/lib/perl5");
 
 use Bugzilla;
 BEGIN { Bugzilla->extensions() }
index bd5bb7fd774e697370bdc9278e2a573748f813a2..974a688ea64e8a09344904a6eaac11750127533e 100644 (file)
@@ -7,7 +7,10 @@
 
 package Bugzilla::Extension::RequestNagger::Bug;
 
+use 5.10.1;
 use strict;
+use warnings;
+
 use parent qw(Bugzilla::Bug);
 use feature 'state';
 
index 435c0b1670916d1834251da9143a161d9f7654fa..bc6cf3371587e4246cbed95fd65b8e53a0371fdd 100644 (file)
@@ -7,7 +7,10 @@
 
 package Bugzilla::Extension::RequestNagger::Constants;
 
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Exporter);
 
 our @EXPORT = qw(
index 5407eac1d777e5dacddad03448fe8e485172b815..393d224ba0f4df0337acc6561ab8032976332790 100644 (file)
@@ -6,6 +6,8 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::RequestNagger::Settings;
+
+use 5.10.1;
 use strict;
 use warnings;
 
index bef472cc18a227ee7ecc8004dfc020e31e0d0564..be703bed70d02aa2ae60bdfd9483f0116de8a7a3 100644 (file)
@@ -7,7 +7,9 @@
 
 package Bugzilla::Extension::RestrictComments;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'RestrictComments';
 use constant REQUIRED_MODULES => [];
index 61a4912b395367d9e3107e614d1221340bdfa7de..213a1c44a8a4e491ec9b7e57effe75e5ce9bebe5 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::RestrictComments;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 33607e680b4bbaeb8b827d3aae83d5207e8b64fa..55cf11187886b99b5eab7d1753b1101c7065b13c 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::RestrictComments::Config;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index f7da458af582b967a24e863d92bdd663124a44a2..ea7e8a72594c5be3640f49a6880c424fc7825e0b 100644 (file)
@@ -6,7 +6,10 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::Review;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'Review';
 use constant REQUIRED_MODULES => [];
index 4fd965b4c1fd59853e601f250f74a1c429649333..db2b475a1c33ec73a2c007d93d33e7d7e1b0be62 100644 (file)
@@ -6,6 +6,8 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::Review;
+
+use 5.10.1;
 use strict;
 use warnings;
 
index 8d34963ece0a6ca8e6c07c80788b3a49a360b18a..ff109a5af42dadad3a3168cbd8ce832750a0cc07 100755 (executable)
@@ -13,7 +13,7 @@ use warnings;
 $| = 1;
 
 use FindBin qw($RealBin);
-use lib "$RealBin/../../..";
+use lib ("$RealBin/../../..", "$RealBin/../../../lib", "$RealBin/../../../local/lib/perl5");
 
 use Bugzilla;
 BEGIN { Bugzilla->extensions() }
index 04f8b10426898eec016261b2c96811c0c983b9a0..6574f3dbe7ce51c411005dfe144d9ea3057a1d03 100755 (executable)
@@ -11,8 +11,8 @@ use strict;
 use warnings;
 $| = 1;
 
-use FindBin qw($Bin);
-use lib "$Bin/../../..";
+use FindBin qw($RealBin);
+use lib ("$RealBin/../../..", "$RealBin/../../../lib", "$RealBin/../../../local/lib/perl5");
 
 use Bugzilla;
 BEGIN { Bugzilla->extensions() }
index 46e9300a57b3370f62f1fa43147cb4f5d592b6ef..35da42351cd0df1ea4ff7d85aa53c96e886397a4 100644 (file)
@@ -6,6 +6,8 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::Review::FlagStateActivity;
+
+use 5.10.1;
 use strict;
 use warnings;
 
index c00e31b6bcf0bf11cfa368d11e57d052f4f1a74e..a8744079d1c6e8f87601b233637782d60753fa9d 100644 (file)
@@ -6,6 +6,8 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::Review::Util;
+
+use 5.10.1;
 use strict;
 use warnings;
 
index c4421aca1eb736b3ccbb972ff78cf32ac0955248..ea8910d5004103a8b4faa01d7374e95874b5074a 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::Review::WebService;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index f1975c1c1bff6d11c64a0b5f43986021c9027044..8d877a253c94bc23db812ff1cfd9779e4fab41e2 100644 (file)
 #                 Gervase Markham <gerv@gerv.net>
 
 package Bugzilla::Extension::SecureMail;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'SecureMail';
 
index 3b03f33a651a1c06a2ccba052997716d3bee156b..e62938dc764c8b79b44d0fc2ebfb9e24431988a4 100644 (file)
 #                 Gervase Markham <gerv@gerv.net>
 
 package Bugzilla::Extension::SecureMail;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::Extension);
 
 use Bugzilla::Attachment;
index e10d6ec8be6d517cae4cf0de524f3b5570a73dde..9809385034d82ae9fcfbfc533b8737cde492cc78 100644 (file)
 #   Dave Lawrence <dkl@mozilla.com>
 
 package Bugzilla::Extension::SiteMapIndex;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'SiteMapIndex';
 
index 77fb6b54c8179d4cabe5393bd6e0d6926d2d6a38..901b800924330948fc009ca213fa5de669b6b610 100644 (file)
 #   Dave Lawrence <dkl@mozilla.com>
 
 package Bugzilla::Extension::SiteMapIndex;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::Extension);
 
 our $VERSION = '1.0';
index fce8581214d29762fab7bf7e76f80bb123e7c630..12f11597e9e4e6b5747d5e20a658afbf71ae9449 100644 (file)
 #   Max Kanat-Alexander <mkanat@bugzilla.org>
 
 package Bugzilla::Extension::SiteMapIndex::Constants;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Exporter);
 our @EXPORT = qw(
     SITEMAP_AGE
index 5c02a59898d44e0949491b1e58930198b2f73d12..38fe1cf806867539bbdf83c9ea8131efc110c8d7 100644 (file)
 #   Dave Lawrence <dkl@mozilla.com>
 
 package Bugzilla::Extension::SiteMapIndex::Util;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Exporter);
 our @EXPORT = qw(
     generate_sitemap 
index d36a28922b09fa89e04b90c15358a1cbd34a0079..7c013bc6f50627c520db9d7bc74ddc67f145e724 100644 (file)
@@ -1,5 +1,9 @@
 package Bugzilla::Extension::Splinter;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use constant NAME => 'Splinter';
 
 __PACKAGE__->NAME;
index 42a18d91271ecec16a79f9cfe1eefa9a59d8971f..e0f42b8d02a8f27e7b267703a8d24f09be4188a9 100644 (file)
@@ -7,7 +7,9 @@
 
 package Bugzilla::Extension::Splinter;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use base qw(Bugzilla::Extension);
 
index 95b9f5dfa22c6c89ed58be5b78b7f91ba4930424..fb3c16074e47cd0a3a4d2cffe4a2e8ea99c6ea2b 100644 (file)
@@ -22,6 +22,7 @@
 
 package Bugzilla::Extension::Splinter::Config;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 6421d2f0b244174702107b180476e9f727ddf5d5..a24881c1de3cfc12a1b56d73e298f37a82702304 100644 (file)
@@ -21,7 +21,9 @@
 
 package Bugzilla::Extension::Splinter::Util;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Bugzilla;
 use Bugzilla::Util;
index c2330afc8c29addf96488d7eee123338a14f55b3..c791e3a0739c56a715ae2c04454a5aa92bd3479b 100644 (file)
@@ -6,7 +6,10 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::TagNewUsers;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'TagNewUsers';
 use constant REQUIRED_MODULES => [ ];
index e4a62dac8050f15f49c38f94a7e69332827298f2..b94873979cffcf264847642014fe419cc437acc6 100644 (file)
@@ -6,12 +6,18 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::TagNewUsers;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::Extension);
+
 use Bugzilla::Field;
 use Bugzilla::User;
 use Bugzilla::Install::Util qw(indicate_progress);
 use Bugzilla::WebService::Util qw(filter_wants);
+
 use Date::Parse;
 use Scalar::Util qw(blessed);
 
index 1854cb9fdc677d43fb58df191447eba2f2f47c28..d0bc5ca203372adcdb96272b7c98eafaf6d199df 100644 (file)
@@ -6,7 +6,10 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::TrackingFlags;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'TrackingFlags';
 
index 08e7968a03aa73a571d016a77de5101c3b0572e0..5f6715fc80e8ef3858e1f7285e15df06013239fa 100644 (file)
@@ -7,7 +7,9 @@
 
 package Bugzilla::Extension::TrackingFlags;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use base qw(Bugzilla::Extension);
 
index 2531228de5fdc10ff30c3b2810e7a10627a8050d..8f48a671a094565c367ec66779aa99d228cdda1b 100755 (executable)
@@ -10,7 +10,7 @@ use strict;
 use warnings;
 
 use FindBin qw($RealBin);
-use lib "$RealBin/../../..";
+use lib ("$RealBin/../../..", "$RealBin/../../../lib", "$RealBin/../../../local/lib/perl5");
 
 BEGIN {
     use Bugzilla;
index 1eff355fe3c2eeb42c26385c3b2afbb8fd81c487..6b05a50a3cf674404883c1f120bb69536c457fa1 100755 (executable)
@@ -9,10 +9,8 @@
 use strict;
 use warnings;
 
-use FindBin '$RealBin';
-use lib "$RealBin/../../..";
-use lib "$RealBin/../../../lib";
-use lib "$RealBin/../lib";
+use FindBin qw($RealBin);
+use lib ("$RealBin/../../..", "$RealBin/../../../lib", "$RealBin/../../../local/lib/perl5");
 
 BEGIN {
     use Bugzilla;
index 06b3596c4601825338f5bfd40062ef8fe8863f46..bca03f9f9a7befa6e39de2f6347e771c88ab0cda 100755 (executable)
 use strict;
 use warnings;
 
-use FindBin '$RealBin';
-use lib "$RealBin/../../..";
-use lib "$RealBin/../../../lib";
-use lib "$RealBin/../lib";
+use FindBin qw($RealBin);
+use lib ("$RealBin/../../..", "$RealBin/../../../lib", "$RealBin/../../../local/lib/perl5");
 
 BEGIN {
     use Bugzilla;
index 1adcad241a8a47f644ba891188175b43fcc4ba48..50a0e0a61cfaa33f23f788c120fef23df4c44ddb 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::TrackingFlags::Admin;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 0b1ae3a1abc2a98a15aadaf7443f1e304922b0f7..00827aa7acff0ec27a488dbc34ce5d891633cc17 100644 (file)
@@ -7,7 +7,10 @@
 
 package Bugzilla::Extension::TrackingFlags::Constants;
 
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Exporter);
 
 our @EXPORT = qw(
index 7b6effa9873d0e3a1a5963df395f6d498818010f..82c0314e39b222cce6082c3922be3661d06efd24 100644 (file)
@@ -9,6 +9,7 @@ package Bugzilla::Extension::TrackingFlags::Flag;
 
 use base qw(Bugzilla::Object);
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 74b2814faa926c0db4bf28af2987dbfb1f15adb6..7be6617203aef5b9f5d09fe1b6090b159b49cc64 100644 (file)
@@ -9,6 +9,7 @@ package Bugzilla::Extension::TrackingFlags::Flag::Bug;
 
 use base qw(Bugzilla::Object);
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 15be61bc7109df7103cfa6084f46c471d8015fd0..4f2aacc3ab88de738f2de880959c028ab26b2b8e 100644 (file)
@@ -9,6 +9,7 @@ package Bugzilla::Extension::TrackingFlags::Flag::Value;
 
 use base qw(Bugzilla::Object);
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 7600d71bd82a0581ce3feabc5093403b2cbc6b1f..878c16f990da77608518336a60cc0ccd053bca59 100644 (file)
@@ -9,6 +9,7 @@ package Bugzilla::Extension::TrackingFlags::Flag::Visibility;
 
 use base qw(Bugzilla::Object);
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 6ad03b36207e8e0f2c7a9f4a286c651ecfe3ae38..4545f69f6674e73d0687ef184de4c06ba81078bd 100644 (file)
 #   Gervase Markham <gerv@mozilla.org>
 
 package Bugzilla::Extension::TypeSniffer;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'TypeSniffer';
 
index c593b76e8f30868c1656cc9f431b07d4e42e436e..6c34cb169d912dd7790d4c4bf5eb208b0d3599b0 100644 (file)
 #   Gervase Markham <gerv@mozilla.org>
 
 package Bugzilla::Extension::TypeSniffer;
+
+use 5.10.1;
 use strict;
+use warnings;
+
 use base qw(Bugzilla::Extension);
 
 use File::MimeInfo::Magic;
index 99dca9e029c6f5d21f252739eaa0aff826d0ea70..99fae1610ad952be970ffcb3df3aa37df1716e96 100644 (file)
@@ -6,7 +6,10 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::UserProfile;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'UserProfile';
 use constant REQUIRED_MODULES => [ ];
index 2c17a2d9fe27b3df8c065c9e5594b381366de833..079f7a948c047e69381d7ed5295f062f80a79330 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::UserProfile;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 147edef9c2426b4106f68c05bfb8945d3dc2dc6d..2cde3ce2cb82bc574daa72c1b039ea10450cc66c 100755 (executable)
@@ -11,8 +11,8 @@ use strict;
 use warnings;
 $| = 1;
 
-use FindBin qw($Bin);
-use lib "$Bin/../../..";
+use FindBin qw($RealBin);
+use lib ("$RealBin/../../..", "$RealBin/../../../lib", "$RealBin/../../../local/lib/perl5");
 
 use Bugzilla;
 BEGIN { Bugzilla->extensions() }
index 2a4997aee1ec5d1c22425e0f3e0ae8c03dbfb0c9..af9a81774b2dea0caa724ffe228c8f9d7e34b774 100755 (executable)
@@ -10,8 +10,8 @@
 use strict;
 use warnings;
 
-use FindBin qw($Bin);
-use lib "$Bin/../../..";
+use FindBin qw($RealBin);
+use lib ("$RealBin/../../..", "$RealBin/../../../lib", "$RealBin/../../../local/lib/perl5");
 
 use Bugzilla;
 BEGIN { Bugzilla->extensions() }
index 71d0e65012ce2ca800258dbff446678d93708543..509b131c188dbf306f882d453ad6bc98291eea93 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::UserProfile::Util;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 8649c71cf0c0d3fe9bdb374fc7845529e3e5e638..8668deaa7d1e7cbf337adbc970ec4244c014ebf6 100644 (file)
@@ -6,7 +6,10 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::UserStory;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'UserStory';
 use constant REQUIRED_MODULES => [
index 2053a0097d0229d63b63e59092b6f107603079c6..f9fdb3f2914f97a37ffbfa1cc398afcfff27a4c1 100644 (file)
@@ -6,6 +6,8 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::UserStory;
+
+use 5.10.1;
 use strict;
 use warnings;
 
index d09b28fef7ad6eed0e67bdaa642d0ef1df9b8c01..6a1c0c449a08917b18b234857aa4e39c08f56844 100644 (file)
@@ -7,6 +7,7 @@
 
 package Bugzilla::Extension::UserStory::Constants;
 
+use 5.10.1;
 use strict;
 use warnings;
 
index 438f1e0545409c05250d19119b78e6dc76ed464e..97c44933e2a714a9af49035adf0a05d42d97850d 100644 (file)
@@ -1,26 +1,15 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 Frédéric Buclin.
-# Portions created by the Initial Developer is Copyright (C) 2012 the
-# Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#   Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::Voting;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'Voting';
 
index 39ed7c4b432b8ce80d105e9d92fe3343d324ab18..25266778c9d7015618489e75b1959756c3eda9c3 100644 (file)
@@ -1,31 +1,14 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 <terry@mozilla.org>
-#                 Stephan Niemz  <st.n@gmx.net>
-#                 Christopher Aillon <christopher@aillon.com>
-#                 Gervase Markham <gerv@gerv.net>
-#                 Frédéric Buclin <LpSolit@gmail.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::Voting;
+use 5.10.1;
 use strict;
+use warnings;
 use base qw(Bugzilla::Extension);
 
 use Bugzilla::Bug;
index e65169d41860d84755b8898e6bc7e7ca7d49f971..1a31285e211a51d826cacc77be5f4da82c0605a2 100644 (file)
@@ -6,7 +6,10 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::ZPushNotify;
+
+use 5.10.1;
 use strict;
+use warnings;
 
 use constant NAME => 'ZPushNotify';
 use constant REQUIRED_MODULES => [];
index 2b6c1aeaad48df792758a06313256e289bad7db0..df3ab8f464f963660dd1b9c3a93c9696aa32b108 100644 (file)
@@ -6,6 +6,8 @@
 # defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::Extension::ZPushNotify;
+
+use 5.10.1;
 use strict;
 use warnings;
 
index 1b54e6b33993eb438b1fd64845c24b93e9f9e0e2..80fc49448d7e25e32d490ea17fe5da290a401128 100755 (executable)
@@ -1,26 +1,20 @@
-#!/usr/bin/perl -w
+#!/usr/bin/perl
+# 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/.
 #
-# 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 Everything Solved, Inc.
-# Portions created by the Initial Developer are Copyright (C) 2009 the
-# Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#   Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+
+use File::Basename;
+BEGIN { chdir dirname($0); }
+
+use lib qw(.. ../lib ../local/lib/perl5);
+
 use Bugzilla;
 use Bugzilla::Constants;
 use Bugzilla::Error;
diff --git a/gen-cpanfile.pl b/gen-cpanfile.pl
new file mode 100755 (executable)
index 0000000..be07259
--- /dev/null
@@ -0,0 +1,68 @@
+#!/usr/bin/perl
+# 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/.
+#
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
+
+# This file has detailed POD docs, do "perldoc checksetup.pl" to see them.
+
+######################################################################
+# Initialization
+######################################################################
+
+use 5.10.1;
+use strict;
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
+
+use Getopt::Long qw(:config gnu_getopt);
+
+if (-f "MYMETA.json") {
+    eval {
+        require CPAN::Meta;
+        require Module::CPANfile;
+
+        my (@with_feature, @without_feature);
+        my $with_all_features = 0;
+        GetOptions(
+            'with-all-features|A!' => \$with_all_features,
+            'with-feature|D=s@'    => \@with_feature,
+            'without-feature|U=s@' => \@without_feature
+        );
+
+
+        my $meta = CPAN::Meta->load_file("MYMETA.json");
+
+        my @phases = qw(configure build test develop runtime);
+        my @types  = qw(requires recommends suggests conflicts);
+
+        my %features;
+        if ($with_all_features) {
+            $features{$_->identifier} = 1 foreach ($meta->features);
+        }
+        $features{$_} = 1 foreach @with_feature;
+        $features{$_} = 0 foreach @without_feature;
+        my @features = grep { $features{$_} } keys %features;
+
+        my $prereqs = $meta->effective_prereqs(\@features)->as_string_hash;
+        my $filtered = {};
+
+        while (my($phase, $types) = each %$prereqs) {
+            while (my($type, $reqs) = each %$types) {
+                $filtered->{$phase}{$type} = $reqs;
+            }
+        }
+
+        my $cpanfile = Module::CPANfile->from_prereqs($filtered);
+        open my $cpanfile_fh, '>', 'cpanfile' or die "cannot write to cpanfile: $!";
+        print $cpanfile_fh $cpanfile->to_string();
+        close $cpanfile_fh;
+    };
+    die "Unable generate cpanfile: $@\n" if $@;
+}
+else {
+    die "MYMETA.yml is missing, cannot generate cpanfile\n";
+}
index 74111eae3609a6e1013557dd765f20427ea17389..703617b326277daec016b1886186930ffba9a36c 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -wT
+#!/usr/bin/perl -T
 # 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/.
@@ -8,7 +8,9 @@
 
 use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Util qw( correct_urlbase );
index 63004af6f2ee34497785974b7bbf142d65bf76b5..19081e52b0166fbec5862cb32d97eff8abd18187 100755 (executable)
@@ -1,35 +1,18 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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): Dawn Endico <endico@mozilla.org>
-#                 Gregary Hendricks <ghendricks@novell.com>
-#                 Vance Baarda <vrb@novell.com>
-#                 Guzman Braso <gbn@hqso.net>
-#                 Erik Purins <epurins@day1studios.com>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 # This script reads in xml bug data from standard input and inserts
 # a new bug into bugzilla. Everything before the beginning <?xml line
 # is removed so you can pipe in email messages.
 
+use 5.10.1;
 use strict;
+use warnings;
 
 #####################################################################
 #
@@ -63,7 +46,7 @@ BEGIN {
     chdir(File::Basename::dirname($dir));
 }
 
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 # Data dumber is used for debugging, I got tired of copying it back in 
 # and then removing it. 
 #use Data::Dumper;
index fac26434aa9d8663b2b1e7e2024361785e6859da..1dd62d9fb8273bfcd4b3e041a045fbf96640b83e 100755 (executable)
--- a/index.cgi
+++ b/index.cgi
@@ -1,35 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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): Jacob Steenhagen <jake@bugzilla.org>
-#                 Frédéric Buclin <LpSolit@gmail.com>
-
-###############################################################################
-# Script Initialization
-###############################################################################
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
-# Make it harder for us to do dangerous things in Perl.
+use 5.10.1;
 use strict;
+use warnings;
 
-# Include the Bugzilla CGI and general utility library.
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index e086d9404153c1633bb1f38818d30df72ce86f0d..ebc9118e89f3ec5d34bfecf9c3cf5f68c462704c 100755 (executable)
@@ -1,27 +1,14 @@
-#!/usr/bin/perl -w
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl
+# 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/.
 #
-# 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 Mozilla Corporation.
-# Portions created by the Initial Developer are Copyright (C) 2008
-# Mozilla Corporation. All Rights Reserved.
-#
-# Contributor(s): 
-#   Mark Smith <mark@mozilla.com>
-#   Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use Cwd qw(abs_path);
 use File::Basename;
@@ -31,7 +18,7 @@ BEGIN {
     chdir dirname($a);
 }
 
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 use Bugzilla;
 use Bugzilla::JobQueue::Runner;
 
index ad910e79eb8aae9781f68221870f2322d43dbf6a..95ea5c208fd8aeebe3f6a13607d25d0295ba28de 100755 (executable)
@@ -1,27 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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 JSON Webservices Interface.
-#
-# The Initial Developer of the Original Code is the San Jose State
-# University Foundation. Portions created by the Initial Developer 
-# are Copyright (C) 2008 the Initial Developer. All Rights Reserved.
-#
-# Contributor(s): 
-#   Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 58bd255a3011a21c5c1c118ed522a6095637cbf9..91f3208b39f64bc4621932714d43878582d67742 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -wT
+#!/usr/bin/perl -T
 # -*- Mode: perl; indent-tabs-mode: nil -*-
 #
 # The contents of this file are subject to the Mozilla Public
 # Contributor(s): Terry Weissman <terry@mozilla.org>
 #                 Gervase Markham <gerv@gerv.net>
 
+use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
+
 use Bugzilla;
 
 my $cgi = Bugzilla->cgi;
index c48629c45bd3184227c498c98763d5f4d95b4ead..afcd7d22dba87b26c4cd44d3537193515cbb219a 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/usr/bin/perl
 
 # 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
@@ -7,6 +7,7 @@
 # This Source Code Form is "Incompatible With Secondary Licenses", as
 # defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
 use warnings;
 
@@ -14,9 +15,8 @@ BEGIN {
     delete $ENV{SERVER_SOFTWARE};
 }
 
-use FindBin qw($Bin);
-use lib $Bin;
-use lib "$Bin/lib";
+use FindBin qw($RealBin);
+use lib ("$RealBin/.", "$RealBin/lib", "$RealBin/local/lib/perl5");
 
 use Bugzilla;
 use Bugzilla::Constants;
index df6b833a0d71dcf2e0efee8a562c9eadb3b17e24..8980248c70fc0650ff6f1ef0a36391e96f4723f8 100755 (executable)
@@ -1,29 +1,18 @@
-#!/usr/bin/perl -w
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl
+# 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/.
 #
-# 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 Migration Tool.
-#
-# The Initial Developer of the Original Code is Lambda Research
-# Corporation. Portions created by the Initial Developer are Copyright
-# (C) 2009 the Initial Developer. All Rights Reserved.
-#
-# Contributor(s): 
-#   Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
+use warnings;
+
 use File::Basename;
 BEGIN { chdir dirname($0); }
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 use Bugzilla;
 use Bugzilla::Migrate;
 
index 83784d3fe451efb6b3c603f6743f162875098ce4..76d3d4920ea0808efde07ebcbbdb82fb5cc35281 100644 (file)
@@ -1,30 +1,28 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Bugzilla::ModPerl;
+
+use 5.10.1;
 use strict;
 use warnings;
 
 # This sets up our libpath without having to specify it in the mod_perl
 # configuration.
 use File::Basename;
-use lib dirname(__FILE__);
+use File::Spec;
+BEGIN {
+    require lib;
+    my $dir = dirname(__FILE__);
+    lib->import($dir, File::Spec->catdir($dir, "lib"), File::Spec->catdir($dir, qw(local lib perl5)));
+}
+
 use Bugzilla::Constants ();
-use lib Bugzilla::Constants::bz_locations()->{'ext_libpath'};
 
 # If you have an Apache2::Status handler in your Apache configuration,
 # you need to load Apache2::Status *here*, so that any later-loaded modules
index f4e5a9f6bba187ae894e04a9b6391bb7bd0fb1a1..f2a0ca819c9ba5231b6072c89e5a326558fb9433 100755 (executable)
--- a/page.cgi
+++ b/page.cgi
@@ -1,25 +1,10 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
-#
-# 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): Gervase Markham <gerv@gerv.net>
+#!/usr/bin/perl -T
+# 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/.
 #
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 ###############################################################################
 # This CGI is a general template display engine. To display templates using it,
 # a content-type, e.g. html.
 ###############################################################################
 
+use 5.10.1;
 use strict;
+use warnings;
 
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Error;
index 46596fddc386161e92ea068846f69e18349aa91f..0975e32ae8b7f711cdcdb3f9e8e02fb7fae8d0b0 100755 (executable)
@@ -1,31 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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 <terry@mozilla.org>
-#                 Dan Mosedale <dmose@mozilla.org>
-#                 Joe Robins <jmrobins@tgix.com>
-#                 Gervase Markham <gerv@gerv.net>
-#                 Marc Schumann <wurblzap@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Attachment;
index 1a2b61717253e83a928c8c1c77933766316802d8..80018cfb304faa33968268e8958fac328a847c0d 100755 (executable)
@@ -1,49 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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 <terry@mozilla.org>
-#                 Dan Mosedale <dmose@mozilla.org>
-#                 Dave Miller <justdave@syndicomm.com>
-#                 Christopher Aillon <christopher@aillon.com>
-#                 Myk Melez <myk@mozilla.org>
-#                 Jeff Hedlund <jeff.hedlund@matrixsi.com>
-#                 Frédéric Buclin <LpSolit@gmail.com>
-#                 Lance Larsh <lance.larsh@oracle.com>
-#                 Akamai Technologies <bugzilla-dev@akamai.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
-
-# Implementation notes for this file:
-#
-# 1) the 'id' form parameter is validated early on, and if it is not a valid
-# bugid an error will be reported, so it is OK for later code to simply check
-# for a defined form 'id' value, and it can assume a valid bugid.
-#
-# 2) If the 'id' form parameter is not defined (after the initial validation),
-# then we are processing multiple bugs, and @idlist will contain the ids.
-#
-# 3) If we are processing just the one id, then it is stored in @idlist for
-# later processing.
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
+use warnings;
 
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
diff --git a/qa/t/lib/QA/REST.pm b/qa/t/lib/QA/REST.pm
new file mode 100644 (file)
index 0000000..f900cc3
--- /dev/null
@@ -0,0 +1,61 @@
+# 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/.
+#
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
+
+package QA::REST;
+
+use 5.10.1;
+use strict;
+use warnings;
+use autodie;
+
+use LWP::UserAgent;
+use JSON;
+use QA::Util;
+
+use parent qw(LWP::UserAgent Exporter);
+
+@QA::REST::EXPORT = qw(
+    MUST_FAIL
+    get_rest_client
+);
+
+use constant MUST_FAIL => 1;
+
+sub get_rest_client {
+    my $rest_client = LWP::UserAgent->new( ssl_opts => { verify_hostname => 0 } );
+    bless($rest_client, 'QA::REST');
+    my $config = $rest_client->{bz_config} = get_config();
+    $rest_client->{bz_url} = $config->{browser_url} . '/' . $config->{bugzilla_installation} . '/rest/';
+    $rest_client->{bz_default_headers} = {'Accept' => 'application/json', 'Content-Type' => 'application/json'};
+    return $rest_client;
+}
+
+sub bz_config { return $_[0]->{bz_config}; }
+
+sub call {
+    my ($self, $method, $data, $http_verb, $expect_to_fail) = @_;
+    $http_verb = lc($http_verb || 'GET');
+    $data //= {};
+
+    my %args = %{ $self->{bz_default_headers} };
+    # We do not pass the API key in the URL, so that it's not logged by the web server.
+    if ($http_verb eq 'get' && $data->{api_key}) {
+        $args{'X-BUGZILLA-API-KEY'} = $data->{api_key};
+    }
+    elsif ($http_verb ne 'get') {
+        $args{Content} = encode_json($data);
+    }
+
+    my $response = $self->$http_verb($self->{bz_url} . $method, %args);
+    my $res = decode_json($response->decoded_content);
+    if ($response->is_success xor $expect_to_fail) {
+        return $res;
+    }
+    else {
+        die 'error ' . $res->{code} . ': ' . $res->{message} . "\n";
+    }
+}
diff --git a/qa/t/rest_bugzilla.t b/qa/t/rest_bugzilla.t
new file mode 100644 (file)
index 0000000..cffab80
--- /dev/null
@@ -0,0 +1,60 @@
+# 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/.
+#
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
+
+#######################################
+# Tests for REST calls in Bugzilla.pm #
+#######################################
+
+use 5.10.1;
+use strict;
+use warnings;
+
+use FindBin qw($RealBin);
+use lib "$RealBin/lib", "$RealBin/../../lib", "$RealBin/../../local/lib/perl5";
+
+use Test::More tests => 11;
+use QA::REST;
+
+my $rest = get_rest_client();
+my $config = $rest->bz_config;
+
+my $version = $rest->call('version')->{version};
+ok($version, "GET /rest/version returns $version");
+
+my $extensions = $rest->call('extensions')->{extensions};
+isa_ok($extensions, 'HASH', 'GET /rest/extensions');
+my @ext_names = sort keys %$extensions;
+# There is always at least the QA extension enabled.
+ok(scalar(@ext_names), scalar(@ext_names) . ' extension(s) found: ' . join(', ', @ext_names));
+ok($extensions->{QA}, 'The QA extension is enabled, with version ' . $extensions->{QA}->{version});
+
+my $timezone = $rest->call('timezone')->{timezone};
+ok($timezone, "GET /rest/timezone retuns $timezone");
+
+my $time = $rest->call('time');
+foreach my $type (qw(db_time web_time)) {
+    ok($time->{$type}, "GET /rest/time returns $type = " . $time->{$type});
+}
+
+# Logged-out users can only access the maintainer and requirelogin parameters.
+my $params = $rest->call('parameters')->{parameters};
+my @param_names = sort keys %$params;
+ok(@param_names == 2 && defined $params->{maintainer} && defined $params->{requirelogin},
+   'Only 2 parameters accessible to logged-out users: ' . join(', ', @param_names));
+
+# Powerless users can access much more parameters.
+$params = $rest->call('parameters', { api_key => $config->{unprivileged_user_api_key} })->{parameters};
+@param_names = sort keys %$params;
+ok(@param_names > 2, scalar(@param_names) . ' parameters accessible to powerless users');
+
+# Admins can access all parameters.
+$params = $rest->call('parameters', { api_key => $config->{admin_user_api_key} })->{parameters};
+@param_names = sort keys %$params;
+ok(@param_names > 2, scalar(@param_names) . ' parameters accessible to admins');
+
+my $timestamp = $rest->call('last_audit_time')->{last_audit_time};
+ok($timestamp, "GET /rest/last_audit_time returns $timestamp");
diff --git a/qa/t/rest_classification.t b/qa/t/rest_classification.t
new file mode 100644 (file)
index 0000000..d380668
--- /dev/null
@@ -0,0 +1,61 @@
+# 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/.
+#
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
+
+#############################################
+# Tests for REST calls in Classification.pm #
+#############################################
+
+use 5.10.1;
+use strict;
+use warnings;
+
+use FindBin qw($RealBin);
+use lib "$RealBin/lib", "$RealBin/../../lib", "$RealBin/../../local/lib/perl5";
+
+use Test::More tests => 7;
+use QA::REST;
+
+my $rest = get_rest_client();
+my $config = $rest->bz_config;
+my $args = { api_key => $config->{admin_user_api_key} };
+
+my $params = $rest->call('parameters', $args)->{parameters};
+my $use_class = $params->{useclassification};
+ok(defined($use_class), 'Classifications are ' . ($use_class ? 'enabled' : 'disabled'));
+
+# Admins can always access classifications, even when they are disabled.
+my $class = $rest->call('classification/1', $args)->{classifications}->[0];
+ok($class->{id}, "Admin found classification '" . $class->{name} . "' with the description '" . $class->{description} . "'");
+my @products = sort map { $_->{name} } @{ $class->{products} };
+ok(scalar(@products), scalar(@products) . ' product(s) found: ' . join(', ', @products));
+
+$class = $rest->call('classification/Class2_QA', $args)->{classifications}->[0];
+ok($class->{id}, "Admin found classification '" . $class->{name} . "' with the description '" . $class->{description} . "'");
+@products = sort map { $_->{name} } @{ $class->{products} };
+ok(scalar(@products), scalar(@products) . ' product(s) found: ' . join(', ', @products));
+
+if ($use_class) {
+    # When classifications are enabled, everybody can query classifications...
+    # ... including logged-out users.
+    $class = $rest->call('classification/1')->{classifications}->[0];
+    ok($class->{id}, 'Logged-out users can access classification ' . $class->{name});
+    # ... and non-admins.
+    $class = $rest->call('classification/1', { api_key => $config->{editbugs_user_api_key} })->{classifications}->[0];
+    ok($class->{id}, 'Non-admins can access classification ' . $class->{name});
+}
+else {
+    # When classifications are disabled, only users in the 'editclassifications'
+    # group can access this method...
+    # ... logged-out users get an error.
+    my $error = $rest->call('classification/1', undef, undef, MUST_FAIL);
+    ok($error->{error} && $error->{code} == 900,
+       'Logged-out users cannot query classifications when disabled: ' . $error->{message});
+    # ... as well as non-admins.
+    $error = $rest->call('classification/1', { api_key => $config->{editbugs_user_api_key} }, undef, MUST_FAIL);
+    ok($error->{error} && $error->{code} == 900,
+       'Non-admins cannot query classifications when disabled: ' . $error->{message});
+}
diff --git a/qa/t/test_password_complexity.t b/qa/t/test_password_complexity.t
new file mode 100644 (file)
index 0000000..5d35886
--- /dev/null
@@ -0,0 +1,99 @@
+# 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/.
+#
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
+
+use 5.10.1;
+use strict;
+use warnings;
+
+use FindBin qw($RealBin);
+use lib "$RealBin/lib", "$RealBin/../../lib", "$RealBin/../../local/lib/perl5";
+
+use Test::More "no_plan";
+use QA::Util;
+
+my ($sel, $config) = get_selenium();
+log_in($sel, $config, 'admin');
+
+set_parameters($sel, {"Administrative Policies" => {"allowuserdeletion-on" => undef},
+                      "User Authentication"     => {"createemailregexp" => {type => "text", value => '.*'},
+                                                    "emailsuffix" => {type => "text", value => ''}} });
+
+# Set the password complexity to BMO.
+# Password must contain at least one UPPER and one lowercase letter.
+my @invalid_bmo = qw(lowercase UPPERCASE 1234567890 123lowercase 123UPPERCASE !@%&^lower !@&^UPPER);
+
+check_passwords($sel, 'bmo', \@invalid_bmo, ['Longerthan12chars', '%9rT#j22S']);
+
+# Set the password complexity to No Constraints.
+check_passwords($sel, 'no_constraints', ['12xY!', 'aaaaa'], ['aaaaaaaa', '>F12Xy?#']);
+
+logout($sel);
+
+sub check_passwords {
+    my ($sel, $param, $invalid_passwords, $valid_passwords) = @_;
+
+    set_parameters($sel, { "User Authentication" => {"password_complexity" => {type => "select", value => $param}} });
+    my $new_user = 'selenium-' . random_string(10) . '@bugzilla.org';
+
+    go_to_admin($sel);
+    $sel->click_ok("link=Users");
+    $sel->wait_for_page_to_load_ok(WAIT_TIME);
+    $sel->title_is('Search users');
+    $sel->click_ok('link=add a new user');
+    $sel->wait_for_page_to_load_ok(WAIT_TIME);
+    $sel->title_is('Add user');
+    $sel->type_ok('login', $new_user);
+
+    foreach my $password (@$invalid_passwords) {
+        $sel->type_ok('password', $password, 'Enter password');
+        $sel->click_ok('add');
+        $sel->wait_for_page_to_load_ok(WAIT_TIME);
+        if ($param eq 'no_constraints') {
+            $sel->title_is('Password Too Short');
+        }
+        else {
+            $sel->title_is('Password Fails Requirements');
+        }
+
+        my $error_msg = trim($sel->get_text("error_msg"));
+        if ($param eq 'bmo') {
+            ok($error_msg =~ /must meet three of the following requirements/,
+               "Password fails requirement: $password");
+        }
+        else {
+            ok($error_msg =~ /The password must be at least \d+ characters long/,
+               "Password Too Short: $password");
+        }
+        $sel->go_back_ok();
+        $sel->wait_for_page_to_load_ok(WAIT_TIME);
+    }
+
+    my $created = 0;
+
+    foreach my $password (@$valid_passwords) {
+        $sel->type_ok('password', $password, 'Enter password');
+        $sel->click_ok($created ? 'update' : 'add');
+        $sel->wait_for_page_to_load_ok(WAIT_TIME);
+        $sel->title_is($created ? "User $new_user updated" : "Edit user $new_user");
+        my $msg = trim($sel->get_text('message'));
+        if ($created++) {
+            ok($msg =~ /A new password has been set/, 'Account updated');
+        }
+        else {
+            ok($msg =~ /The user account $new_user has been created successfully/, 'Account created');
+        }
+    }
+
+    return unless $created;
+
+    $sel->click_ok('delete');
+    $sel->wait_for_page_to_load_ok(WAIT_TIME);
+    $sel->title_is("Confirm deletion of user $new_user");
+    $sel->click_ok('delete');
+    $sel->wait_for_page_to_load_ok(WAIT_TIME);
+    $sel->title_is("User $new_user deleted");
+}
index 47c6a87d6082a3aa334f99973dcae3fc9d0c8ce6..3cf3c079ba81f953eb675bccdf8bbe08ed1560df 100755 (executable)
--- a/query.cgi
+++ b/query.cgi
@@ -1,32 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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 <terry@mozilla.org>
-#                 David Gardiner <david.gardiner@unisa.edu.au>
-#                 Matthias Radestock <matthias@sorted.org>
-#                 Gervase Markham <gerv@gerv.net>
-#                 Byron Jones <bugzilla@glob.com.au>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Bug;
@@ -39,7 +23,7 @@ use Bugzilla::Error;
 use Bugzilla::Product;
 use Bugzilla::Keyword;
 use Bugzilla::Field;
-use Bugzilla::Install::Util qw(vers_cmp);
+use Bugzilla::Version qw(vers_cmp);
 use Bugzilla::Token;
 
 my $cgi = Bugzilla->cgi;
index 14126e43c52e5a7b35f12bf0a259ad0a192b7fa5..be6983d84e97b64656dc2df5e51f226aeced9af3 100755 (executable)
--- a/quips.cgi
+++ b/quips.cgi
@@ -1,31 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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): Owen Taylor <otaylor@redhat.com>
-#                 Gervase Markham <gerv@gerv.net>
-#                 David Fallon <davef@tetsubo.com>
-#                 Tobias Burnus <burnus@net-b.de>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
+use warnings;
 
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 85ba70534a5b97dbbab7ba57f73f8647270617c5..a66c5d28d902834a0751a14e7a38ed23cfd01280 100755 (executable)
@@ -1,29 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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 <terry@mozilla.org>
-#                 Gervase Markham <gerv@gerv.net>
-#                 A. Karl Kornel <karl@kornel.name>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Mailer;
index 7a6093c8c6888f939c45f14dcd59257eb938e2c3..f9ed26ad74a69f73cfa8ea8d8a38ef816369ae69 100755 (executable)
@@ -1,28 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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): Gervase Markham <gerv@gerv.net>
-#                 <rdean@cambianetworks.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 7009d29731dcb3b1dd25ff20c9e489a433d5bc6d..e7ed5335ca700e0e16e5e39a25f86a4bedbb043d 100755 (executable)
@@ -1,36 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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): Harrison Page <harrison@netscape.com>
-#                 Terry Weissman <terry@mozilla.org>
-#                 Dawn Endico <endico@mozilla.org>
-#                 Bryce Nesbitt <bryce@nextbus.com>
-#                 Joe Robins <jmrobins@tgix.com>
-#                 Gervase Markham <gerv@gerv.net>
-#                 Adam Spiers <adam@spiers.net>
-#                 Myk Melez <myk@mozilla.org>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
+use warnings;
 
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 589d773fb1f3eb9a42d812b896c3ab155f12706a..1316148900de84df540e35ea89b563b51b1cce9b 100755 (executable)
@@ -1,34 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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): Myk Melez <myk@mozilla.org>
-#                 Frédéric Buclin <LpSolit@gmail.com>
-
-################################################################################
-# Script Initialization
-################################################################################
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
-# Make it harder for us to do dangerous things in Perl.
+use 5.10.1;
 use strict;
+use warnings;
 
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Util;
index f784afb81194b2109e6b3d9c08a3f3bb1d9cb5c9..fb095c27d59fb7e3ed016d179715bc69452eb844 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -wT
+#!/usr/bin/perl -T
 
 # 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
@@ -7,9 +7,11 @@
 # This Source Code Form is "Incompatible With Secondary Licenses", as
 # defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
+use warnings;
 
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 928eb9ce451ff272454249ae30a8356546ea966c..2df7e50bb82119bb725194110c2e2d3332b59105 100755 (executable)
--- a/rest.cgi
+++ b/rest.cgi
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -wT
+#!/usr/bin/perl -T
 # 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/.
@@ -8,7 +8,9 @@
 
 use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 092d8069b941499801de5d52e52dd109df8c14e2..844f2f839bd847624a6d5e8da459602c9c9fb673 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/usr/bin/perl
 # -*- Mode: perl; indent-tabs-mode: nil -*-
 #
 # The contents of this file are subject to the Mozilla Public
 
 # Make it harder for us to do dangerous things in Perl.
 use diagnostics;
+use 5.10.1;
 use strict;
-use lib qw(lib);
+use warnings;
+use lib qw(. lib local/lib/perl5);
 
 use Test::Harness qw(&runtests $verbose);
 
index 5acf79f069c56d9dba6056350193978f8baad187..db4d0a8020a825c5ba9a40c4a81ba036c1a33946 100755 (executable)
@@ -1,32 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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 <terry@mozilla.org>
-#                 Matthew Tuck <matty@chariot.net.au>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Marc Schumann <wurblzap@gmail.com>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
+use warnings;
 
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Bug;
index ca7aaea2d61803dbc69e4094fefd0a43eeb588b2..bf3680bd6414d2f803e134399124b8d0208e83a0 100755 (executable)
@@ -1,27 +1,16 @@
-#!/usr/bin/perl -w
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl
+# 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/.
 #
-# 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 Frédéric Buclin.
-# Portions created by Frédéric Buclin are Copyright (C) 2007
-# Frédéric Buclin. All Rights Reserved.
-#
-# Contributor(s): Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
+use warnings;
 
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 886d1ac5c5c9f9b2137840de499aad78227488b1..6e128ab6fa63b96fbe1ea5b71b4d9a51a5e6fea8 100755 (executable)
@@ -17,7 +17,8 @@
 #                 David Miller <justdave@mozilla.com>
 
 use strict;
-use lib qw(. lib);
+use FindBin qw($RealBin);
+use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
 
 use Bugzilla;
 use Bugzilla::Constants;
index 01202ce7c0fb5637e9d3ccc8309dfac6a692f3bb..0ce97e7a089d4bcc065bf8f37be4e0ca1a0426c0 100755 (executable)
@@ -10,9 +10,8 @@
 use strict;
 use warnings;
 
-use FindBin qw($Bin);
-use lib "$Bin/..";
-use lib "$Bin/../lib";
+use FindBin qw($RealBin);
+use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
 
 use Bugzilla;
 use Bugzilla::Constants;
index 8b0864d46d4bc70155270d90250f6f1d2fbf662a..81c85646b71512d81bee902e0f4e9367204c5670 100755 (executable)
@@ -9,7 +9,8 @@
 
 use strict;
 use warnings;
-use lib qw(. lib);
+use FindBin qw($RealBin);
+use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
 
 use Bugzilla;
 use Bugzilla::Constants;
index 34c8713739c9316252fd539d91d9e83c4c3f29f3..e0bd5351bb777c666ae0277e3040b33fc814c28f 100755 (executable)
@@ -10,8 +10,8 @@ use 5.10.1;
 use strict;
 use warnings;
 
-use FindBin '$RealBin';
-use lib "$RealBin/../..", "$RealBin/../../lib";
+use FindBin;
+use lib "$FindBin::Bin/..", "$FindBin::Bin/../lib", "$FindBin::Bin/../local/lib/perl5";
 
 use Bugzilla;
 use Bugzilla::Bug;
index b87e3561ac7664de2ea2db3ded0db1c3a49f872c..b6b71546c0838bbe9065fb9694a2d3d3f350e129 100755 (executable)
@@ -10,6 +10,9 @@ use 5.10.1;
 use strict;
 use warnings;
 
+use FindBin;
+use lib "$FindBin::Bin/..", "$FindBin::Bin/../lib", "$FindBin::Bin/../local/lib/perl5";
+
 use Bugzilla;
 use Bugzilla::Constants;
 use Bugzilla::DB;
index fdbf25b1f99eff8d279680844f00ca03e83675b8..680e8ece325cf7a443b00ba0a32a4f085de0e44b 100755 (executable)
@@ -10,6 +10,9 @@ use 5.10.1;
 use strict;
 use warnings;
 
+use FindBin;
+use lib "$FindBin::Bin/..", "$FindBin::Bin/../lib", "$FindBin::Bin/../local/lib/perl5";
+
 use Bugzilla::Constants;
 use Bugzilla::Install::Requirements;
 use Bugzilla::Install::Util;
index a50e241ceb9ac91e8d2176aeece1871cf1040956..328c0595eaed3da792d8beb91cef1fb73b3ba087 100755 (executable)
@@ -10,9 +10,8 @@
 use strict;
 use feature 'say';
 
-use FindBin qw( $RealBin );
-use lib "$RealBin/..";
-use lib "$RealBin/../lib";
+use FindBin qw($RealBin);
+use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
 
 use Bugzilla;
 use Bugzilla::Constants;
index e10fdd44d929f261db67c4a52b04dbaf45b46b20..da40cb14088579388e12517eb2bd91fe05e8b63d 100755 (executable)
@@ -8,7 +8,8 @@
 
 use strict;
 
-use lib qw(. lib);
+use FindBin qw($RealBin);
+use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
 
 use Bugzilla;
 use Bugzilla::Constants;
index 13dd0cb3e56bcffee789c91ab1ab826c477eaa36..1934561dfe5e8c6b83cd8c3a6cf953ca32caff2c 100755 (executable)
@@ -22,7 +22,8 @@
 
 use strict;
 
-use lib qw(. lib);
+use FindBin qw($RealBin);
+use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
 
 use Bugzilla;
 use Bugzilla::Constants;
index 406c149cbd4f9a3e76c5b255d8c971ee165f73e2..f470eabe6c1e053a6727788a33ce70092a0c9cc8 100755 (executable)
@@ -21,7 +21,8 @@
 
 use strict;
 use warnings;
-use lib qw(. lib);
+use FindBin qw($RealBin);
+use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
 
 use Bugzilla;
 use Bugzilla::Install::Filesystem qw(fix_all_file_permissions);
index 1fe25f261ee08883950b05c8a517e72bc8423051..2619081ce3694d933b340545a7fb4616070b4ce5 100755 (executable)
@@ -22,7 +22,8 @@
 
 use strict;
 
-use lib qw(. lib);
+use FindBin qw($RealBin);
+use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
 
 use Bugzilla;
 use Bugzilla::Constants;
index 3271b2e242644b336cac940645519c5fbb299fcc..10955b00d2ca103f614894abe4ca37aeb16275d7 100755 (executable)
@@ -11,8 +11,8 @@ use strict;
 use warnings;
 use feature 'say';
 use FindBin;
-use lib "$FindBin::Bin/../..";
-use lib "$FindBin::Bin/../../lib";
+use FindBin qw($RealBin);
+use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
 
 use Bugzilla;
 use Bugzilla::Constants;
index 334cddeaa8b7c2482bba0ada1e06c3829973bfaf..3e4b2c000d45d01cf559884829b5862277815963 100755 (executable)
@@ -10,9 +10,8 @@
 use strict;
 use feature 'say';
 
-use FindBin qw( $RealBin );
-use lib "$RealBin/..";
-use lib "$RealBin/../lib";
+use FindBin qw($RealBin);
+use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
 
 use Bugzilla;
 use Bugzilla::Constants;
index ebe68a6a8529204e4964b56eef17833eaaf463be..d2b8196b50ba447ed610d71da0c77c43ede60187 100755 (executable)
@@ -1,27 +1,14 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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): Myk Melez <myk@mozilla.org>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
+use warnings;
 
 =head1 NAME
 
@@ -44,7 +31,7 @@ merge-users.pl - Merge two user accounts.
 
 =cut
 
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 26cb3fb267dbf8cd9c54bed2f79ae2e32cbf3365..b514f1620f5a6be8c3e9c6b3b38be95a051cc459 100755 (executable)
@@ -12,7 +12,7 @@ use warnings;
 $| = 1;
 
 use FindBin qw($RealBin);
-use lib "$RealBin/..", "$RealBin/../lib";
+use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
 
 use Bugzilla;
 use Bugzilla::Attachment;
index 1c33a2a0fb179388468a3269132655692ac7d4cf..aa30c518f233c303fd3dde26697ec3fd990d0203 100755 (executable)
@@ -11,7 +11,7 @@ use strict;
 use warnings;
 
 use FindBin qw($RealBin);
-use lib "$RealBin/..";
+use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
 
 use Bugzilla;
 use Bugzilla::Bug;
index aa70543c4da83e3de2f7951046f49b2e0cf70c3d..f31a30521e2a4ab5ba206984c6e01f48bb200cb8 100644 (file)
@@ -32,7 +32,8 @@ use 5.10.1;
 use strict;
 use warnings;
 
-use lib qw(. lib);
+use FindBin;
+use lib "$FindBin::Bin/..", "$FindBin::Bin/../lib", "$FindBin::Bin/../local/lib/perl5";
 
 use Bugzilla;
 use Bugzilla::Constants;
index 1f4398be110341e5b7b4b73b17eda1c7f7fcf506..bf0bf0ecad8684089838e55e9d03c7d31e10f786 100755 (executable)
@@ -82,7 +82,8 @@ Without this argument, changes are not actually committed to the database.
 use strict;
 use warnings;
 
-use lib '.';
+use FindBin qw($RealBin);
+use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
 
 use Bugzilla;
 use Getopt::Long;
index 96b58d61618d454000a7d5c997de713c0ca67c71..48f6d0031c61aaa5ae4bd497374b5a3e2c51eaf8 100755 (executable)
@@ -10,8 +10,8 @@ use 5.10.1;
 use strict;
 use warnings;
 
-use FindBin '$RealBin';
-use lib "$RealBin/../..", "$RealBin/../../lib";
+use FindBin qw($RealBin);
+use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
 
 use Bugzilla;
 use Bugzilla::Field;
index ebe41ceb4e0a711fb248bedd6a257afa3d6abcc0..45f329ad2813c2ad6a7461afdcc3eb82a0a5c26c 100755 (executable)
@@ -12,8 +12,8 @@ use strict;
 use Cwd 'abs_path';
 use File::Basename;
 use FindBin;
-use lib "$FindBin::Bin/../..";
-use lib "$FindBin::Bin/../../lib";
+use FindBin qw($RealBin);
+use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
 
 use Bugzilla;
 use Bugzilla::Constants;
index cb07b84fc1f11c6d0078885a0a411be7fb0139d8..10fa956c467b7e45d508ef4257153752d213af65 100755 (executable)
@@ -8,8 +8,8 @@
 
 use strict;
 
-use FindBin '$RealBin';
-use lib "$RealBin/../..", "$RealBin/../../lib";
+use FindBin qw($RealBin);
+use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
 
 use Bugzilla;
 use Bugzilla::Component;
index 768053126385e55c38d03804c4f4c99685318fa6..a6c5e5d7baf4040fd7727e9584c0e34643e02f5b 100755 (executable)
@@ -10,9 +10,8 @@
 use strict;
 use warnings;
 
-use FindBin qw($Bin);
-use lib "$Bin/..";
-use lib "$Bin/../lib";
+use FindBin qw($RealBin);
+use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
 
 use Bugzilla;
 use Bugzilla::Constants;
index 109f794d72c865dea8f3eaa6713871a75ece5f16..1fa28bf1d610936179c21d69c76c8726bdd7104e 100755 (executable)
@@ -11,7 +11,7 @@ use strict;
 use warnings;
 
 use FindBin qw($RealBin);
-use lib ("$RealBin/..", "$RealBin/../lib");
+use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
 
 use Bugzilla;
 use Bugzilla::Constants;
index d8ce4cb54d03a0f39ce6a3a6ce44b0174d642927..a32588673b2067db4ab624b645ad72f0b8883230 100755 (executable)
@@ -8,6 +8,10 @@
 use 5.10.1;
 use strict;
 use warnings;
+
+use FindBin;
+use lib "$FindBin::Bin/..", "$FindBin::Bin/../lib", "$FindBin::Bin/../local/lib/perl5";
+
 use Bugzilla;
 use Bugzilla::Constants;
 use Bugzilla::Field;
index 0226c1726c123c6d42eca90383d5d3c1d56016f7..35774ff8d0bd8c24cbe64303f75bd8419ff4a61f 100755 (executable)
@@ -8,7 +8,8 @@
 
 use strict;
 
-use lib qw(.);
+use FindBin qw($RealBin);
+use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
 
 use Bugzilla;
 use Bugzilla::Constants;
index 6496f9a95bdcf0b16b125b49e88a001b8b57686d..343a996174ced9c077026029798fc0a8e7842ab4 100755 (executable)
@@ -10,8 +10,8 @@ use 5.10.1;
 use strict;
 use warnings;
 
-use FindBin '$RealBin';
-use lib "$RealBin/../..", "$RealBin/../../lib";
+use FindBin qw($RealBin);
+use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
 
 use Bugzilla;
 use Bugzilla::User;
index 06fc693fa8dd7737f6fca489a7d8c061d23a2a1a..8b5d2b2e71a0a7cd4e8467cb214dba444ce89b5e 100755 (executable)
@@ -9,7 +9,7 @@
 use strict;
 
 use FindBin qw($RealBin);
-use lib "$RealBin/..", "$RealBin/../lib";
+use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
 
 use Bugzilla;
 use Bugzilla::Constants;
index d0eda387aa2cb4831bce620778db9e3a8b58f7f1..510d0623b06f882968cef13335b8a4c14414b9c1 100755 (executable)
@@ -10,8 +10,8 @@
 use strict;
 use warnings;
 
-use FindBin qw($Bin);
-use lib "$Bin/..";
+use FindBin qw($RealBin);
+use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
 
 use Bugzilla;
 BEGIN { Bugzilla->extensions() }
index 173d038495d434739a67908b86ef581ac4c0a26b..2888df48cbe08d84792ea1ea6ecaf89066952cf8 100755 (executable)
@@ -8,7 +8,8 @@
 
 use strict;
 
-use lib '.';
+use FindBin qw($RealBin);
+use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
 
 use Bugzilla;
 use Bugzilla::Constants;
index 64178f3f374ba99dd37c5f2e19a4ba7abba177ff..8f241de343b91948670546bc2d6b796435a7dfee 100755 (executable)
@@ -24,8 +24,8 @@
 
 use strict;
 
-use FindBin '$RealBin';
-use lib "$RealBin/..", "$RealBin/lib";
+use FindBin qw($RealBin);
+use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
 
 use Bugzilla;
 use Bugzilla::Bug;
index 85f4152186acf6a46be2823606097c38ba84e97f..7c01e80021a54a318c2eed959f53d3763fec4dc1 100755 (executable)
@@ -10,8 +10,8 @@ use 5.10.1;
 use strict;
 use warnings;
 
-use FindBin '$RealBin';
-use lib "$RealBin/../..", "$RealBin/../../lib";
+use FindBin qw($RealBin);
+use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
 
 use Bugzilla;
 use Bugzilla::Constants;
index eeee41ced437a9df9d222748487c511dd3ebf758..3dae4a3413499004023be0b35417daee93878bdc 100755 (executable)
@@ -1,29 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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): Dave Miller <justdave@bugzilla.org>
-#                 Myk Melez <myk@mozilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 520a8305c9c1c5ea151fe74aee6a6c7384df98d9..7250cdf89894b229ca153fdfe4d24fcf35fbccaf 100755 (executable)
@@ -24,7 +24,8 @@
 
 use strict;
 
-use lib qw(. lib);
+use FindBin qw($RealBin);
+use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
 
 use Bugzilla;
 use Bugzilla::Constants;
index 20e88252e34b3f1c7e6a5863e07e192fd78fda7e..e886d9e5bc05918b7f34da709ccd30cdce85188a 100755 (executable)
@@ -24,7 +24,8 @@
 
 use strict;
 
-use lib qw(. lib);
+use FindBin qw($RealBin);
+use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
 
 use Bugzilla;
 use Bugzilla::Constants;
index 173269e7c6202b66b668b835cd73819912092a97..0aed32e9b5065aa82091ff86a8cca92b63205f54 100755 (executable)
@@ -12,7 +12,7 @@ use warnings;
 $| = 1;
 
 use FindBin qw($RealBin);
-use lib "$RealBin/..", "$RealBin/../lib";
+use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
 
 use Bugzilla;
 use Bugzilla::CGI;
index 179d0decb10660eca351ebcecfd4c196ecb0ef53..f8efca7ff633f83b2d6122652255e3c89939cbde 100755 (executable)
@@ -12,7 +12,7 @@ use warnings;
 $| = 1;
 
 use FindBin qw($RealBin);
-use lib "$RealBin/..", "$RealBin/../lib";
+use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
 
 use constant BATCH_SIZE => 100;
 
index ee980b3eb4939cb00ba8ab35c752babb5fd279cb..b7c860f484bd43ceb1f8c44bbaea7198ce293dc9 100755 (executable)
@@ -10,8 +10,8 @@
 use strict;
 use 5.10.1;
 
-use FindBin qw( $RealBin );
-use lib ("$RealBin/..", "$RealBin/../lib");
+use FindBin qw($RealBin);
+use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
 
 use Bugzilla;
 use Bugzilla::Constants;
index b50467911220d1439070c3aa4190cc89409e67fe..329ed6f0c9935138a9dd2c6ad973a6463ea71946 100755 (executable)
@@ -1,22 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Error;
index 95cd1846f5de6504e67e4459320c1b47bb4c40c8..8d8b878e9323ae183584487f764486affb59bcb6 100755 (executable)
--- a/sentry.pl
+++ b/sentry.pl
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/usr/bin/perl
 
 # 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
 # called by Bugzilla::Sentry
 #
 
+use 5.10.1;
 use strict;
 use warnings;
 
+# exit early if there's nothing to send
+use FindBin qw($RealBin);
+use lib ("$RealBin/.", "$RealBin/lib", "$RealBin/local/lib/perl5");
+
 BEGIN {
     delete $ENV{SERVER_SOFTWARE};
 
-    # exit early if there's nothing to send
-    use FindBin qw($Bin);
-    use lib $Bin, "$Bin/lib";
     use Bugzilla::Constants;
     exit(0) unless glob(bz_locations()->{error_reports} . '/*.dump');
 }
index b05c1c95a70ef6865cec6589073268937934922b..96ff1b312f23f7f90699ceb8934a440073e4df33 100755 (executable)
@@ -1,30 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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 <terry@mozilla.org>
-#                 Myk Melez <myk@mozilla.org>
-#                 Gervase Markham <gerv@gerv.net>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
+use warnings;
 
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Error;
index fbcf4e82807b955a54722f425a068d30c9960368..5170176884fee827991533826223d790ef275fb8 100755 (executable)
@@ -1,28 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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 <terry@mozilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
+use warnings;
 
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index e90a01533ee3818101249524e2bd44c9aecd46dc..73cb6eb5833f3c78d564bf125dfe1b3d8af082b6 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -wT
+#!/usr/bin/perl -T
 # -*- Mode: perl; indent-tabs-mode: nil -*-
 #
 # The contents of this file are subject to the Mozilla Public
 # Contributor(s): Terry Weissman <terry@mozilla.org>
 #                 Jacob Steenhagen <jake@bugzilla.org>
 
+use 5.10.1;
 use strict;
+use warnings;
 
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Util;
index 5dc3928ed5494d7ef043d441d87eac26dbc808ae..764aad5b997c91ad465afe9b2fecd2ef8e7e5327 100755 (executable)
@@ -1,29 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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 <terry@mozilla.org>
-#                 Gervase Markham <gerv@gerv.net>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
+use warnings;
 
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 
 use File::Temp;
 
index b50b38ce23c39168062f2a90654d11f5d6decfb8..7f594632e7eaa74631114ea24d7339accadf00ec 100755 (executable)
@@ -1,32 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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 <terry@mozilla.org>
-#                 Andreas Franke <afranke@mathweb.org>
-#                 Christian Reis <kiko@async.com.br>
-#                 Myk Melez <myk@mozilla.org>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
+use warnings;
 
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Error;
index dd8ba741b45c568ad7f2502f1685d06125fc532d..2502747e36c09b10d91171abebf61ad72b60f251 100755 (executable)
@@ -1,25 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Christian Reis <kiko@async.com.br>
-#                 Shane H. W. Travis <travis@sedsystems.ca>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
+use warnings;
 
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 
 use Date::Parse;         # strptime
 
index a2176babd0ada606a245532ff575e25173668389..f8ba8d1c74d02a8e369fcc557d43abb94ed65858 100644 (file)
@@ -1,41 +1,31 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 are the Bugzilla Tests.
-# 
-# The Initial Developer of the Original Code is Zach Lipton
-# Portions created by Zach Lipton are Copyright (C) 2001 Zach Lipton.
-# All Rights Reserved.
-# 
-# Contributor(s): Zach Lipton <zach@zachlipton.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 
 #################
 #Bugzilla Test 1#
 ###Compilation###
 
+use 5.10.1;
 use strict;
-use 5.008001;
-use lib qw(. lib t);
+use warnings;
+
+use lib qw(. lib local/lib/perl5 t);
 use Config;
 use Support::Files;
-use Test::More tests => scalar(@Support::Files::testitems);
+use Test::More tests => scalar(@Support::Files::testitems)
+                        + scalar(@Support::Files::test_files);
 
 BEGIN { 
     use_ok('Bugzilla::Constants');
     use_ok('Bugzilla::Install::Requirements');
     use_ok('Bugzilla');
 }
+Bugzilla->usage_mode(USAGE_MODE_TEST);
 
 sub compile_file {
     my ($file) = @_;
@@ -65,12 +55,12 @@ sub compile_file {
         $T = "T";
     }
 
-    my $libs = '';
+    my $libs = '-It ';
     if ($ENV{PERL5LIB}) {
-       $libs = join " ", map { "-I\"$_\"" } split /$Config{path_sep}/, $ENV{PERL5LIB};
+       $libs .= join " ", map { "-I\"$_\"" } split /$Config{path_sep}/, $ENV{PERL5LIB};
     }
     my $perl = qq{"$^X"};
-    my $output = `$perl $libs -wc$T $file 2>&1`;
+    my $output = `$perl $libs -c$T -MSupport::Systemexec $file 2>&1`;
     chomp($output);
     my $return_val = $?;
     $output =~ s/^\Q$file\E syntax OK$//ms;
@@ -78,7 +68,7 @@ sub compile_file {
     ok(!$return_val, $file) or diag('--ERROR');
 }
 
-my @testitems = @Support::Files::testitems;
+my @testitems = (@Support::Files::testitems, @Support::Files::test_files);
 my $file_features = map_files_to_features();
 
 # Test the scripts by compiling them
@@ -102,8 +92,7 @@ foreach my $file (@testitems) {
             and $file ne "Bugzilla/DB/Schema.pm") 
         {
             my $module = lc($1);
-            my $dbd = DB_MODULE->{$module}->{dbd}->{module};
-            eval("use $dbd; 1") or skip "$file: $dbd not installed", 1;
+            Bugzilla->feature($module) or skip "$file: Driver for $module not installed", 1;
         }
 
         compile_file($file);
index 77b014f6ad0b7b19107577eda5f83191a6444088..7b2e74acce8938d57aae2ad864e7935f91d188b9 100644 (file)
@@ -1,40 +1,28 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
-# 
-# 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 are the Bugzilla Tests.
-# 
-# The Initial Developer of the Original Code is Zach Lipton
-# Portions created by Zach Lipton are 
-# Copyright (C) 2001 Zach Lipton.  All
-# Rights Reserved.
-# 
-# Contributor(s): Zach Lipton <zach@zachlipton.com>
-#                 Jacob Steenhagen <jake@bugzilla.org>
-#                 David D. Kilzer <ddkilzer@theracingworld.com>
+# 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/.
+#
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 
 #################
 #Bugzilla Test 2#
 ####GoodPerl#####
 
+use 5.10.1;
 use strict;
+use warnings;
 
-use lib 't';
+use lib qw(. lib local/lib/perl5 t);
 
 use Support::Files;
 
-use Test::More tests => (scalar(@Support::Files::testitems) * 4);
+use Test::More tests => (scalar(@Support::Files::testitems)
+                         + scalar(@Support::Files::test_files)) * 6;
 
-my @testitems = @Support::Files::testitems; # get the files to test.
+my @testitems = (@Support::Files::test_files, @Support::Files::testitems);
+my @require_taint = qw(email_in.pl importxml.pl mod_perl.pl whine.pl);
 
 foreach my $file (@testitems) {
     $file =~ s/\s.*$//; # nuke everything after the first space (#comment)
@@ -49,28 +37,38 @@ foreach my $file (@testitems) {
     my $ext = $1;
 
     if ($file_line1 !~ m/^#\!/) {
-        ok(1,"$file does not have a shebang"); 
+        ok(1,"$file does not have a shebang");
     } else {
         my $flags;
-        if (!defined $ext || $ext eq "pl") {
+        if (!defined $ext || $ext eq 'pl' || $ext eq 'psgi') {
             # standalone programs aren't taint checked yet
-            $flags = "w";
+            if (grep { $file eq $_ } @require_taint) {
+                $flags = 'T';
+            }
+            else {
+                $flags = '';
+            }
         } elsif ($ext eq "pm") {
             ok(0, "$file is a module, but has a shebang");
             next;
         } elsif ($ext eq "cgi") {
             # cgi files must be taint checked
-            $flags = "wT";
+            $flags = 'T';
         } else {
             ok(0, "$file has shebang but unknown extension");
             next;
         }
 
-        if ($file_line1 =~ m#^\#\!/usr/bin/perl\s#) {
-            if ($file_line1 =~ m#\s-$flags#) {
-                ok(1,"$file uses standard perl location and -$flags");
-            } else {
-                ok(0,"$file is MISSING -$flags --WARNING");
+        if ($file_line1 =~ m#^\#\!/usr/bin/perl(?:\s-(\w+))?$#) {
+            my $file_flags = $1 || '';
+            if ($flags eq $file_flags) {
+                ok(1, "$file uses standard perl location" . ($flags ? " and -$flags flag" : ""));
+            }
+            elsif ($flags) {
+                ok(0, "$file is MISSING -$flags flag --WARNING");
+            }
+            else {
+                ok(0, "$file has unexpected -$file_flags flag --WARNING");
             }
         } else {
             ok(0,"$file uses non-standard perl location");
@@ -79,7 +77,10 @@ foreach my $file (@testitems) {
 }
 
 foreach my $file (@testitems) {
+    my $found_use_perl = 0;
     my $found_use_strict = 0;
+    my $found_use_warnings = 0;
+
     $file =~ s/\s.*$//; # nuke everything after the first space (#comment)
     next if (!$file); # skip null entries
     if (! open (FILE, $file)) {
@@ -87,17 +88,29 @@ foreach my $file (@testitems) {
         next;
     }
     while (my $file_line = <FILE>) {
-        if ($file_line =~ m/^\s*use strict/) {
-            $found_use_strict = 1;
-            last;
-        }
+        $found_use_perl = 1 if $file_line =~ m/^\s*use 5.10.1/;
+        $found_use_strict = 1 if $file_line =~ m/^\s*use strict/;
+        $found_use_warnings = 1 if $file_line =~ m/^\s*use warnings/;
+        last if ($found_use_perl && $found_use_strict && $found_use_warnings);
     }
     close (FILE);
+    if ($found_use_perl) {
+        ok(1,"$file requires Perl 5.10.1");
+    } else {
+        ok(0,"$file DOES NOT require Perl 5.10.1 --WARNING");
+    }
+
     if ($found_use_strict) {
         ok(1,"$file uses strict");
     } else {
         ok(0,"$file DOES NOT use strict --WARNING");
     }
+
+    if ($found_use_warnings) {
+        ok(1,"$file uses warnings");
+    } else {
+        ok(0,"$file DOES NOT use warnings --WARNING");
+    }
 }
 
 # Check to see that all error messages use tags (for l10n reasons.)
diff --git a/t/003safesys.t b/t/003safesys.t
deleted file mode 100644 (file)
index a69500b..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
-# 
-# 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 are the Bugzilla Tests.
-# 
-# The Initial Developer of the Original Code is Zach Lipton
-# Portions created by Zach Lipton are 
-# Copyright (C) 2001 Zach Lipton.  All
-# Rights Reserved.
-# 
-# Contributor(s): Zach Lipton <zach@zachlipton.com>
-
-
-#################
-#Bugzilla Test 3#
-###Safesystem####
-
-use strict;
-
-use lib 't';
-
-use Support::Files;
-use File::Slurp;
-
-use Test::More tests => scalar(@Support::Files::testitems);
-
-# Capture the TESTOUT from Test::More or Test::Builder for printing errors.
-# This will handle verbosity for us automatically.
-my $fh;
-{
-    local $^W = 0;  # Don't complain about non-existent filehandles
-    if (-e \*Test::More::TESTOUT) {
-        $fh = \*Test::More::TESTOUT;
-    } elsif (-e \*Test::Builder::TESTOUT) {
-        $fh = \*Test::Builder::TESTOUT;
-    } else {
-        $fh = \*STDOUT;
-    }
-}
-
-my @testitems = @Support::Files::testitems;
-my $perlapp = "\"$^X\"";
-
-foreach my $file (@testitems) {
-    $file =~ s/\s.*$//; # nuke everything after the first space (#comment)
-    next if (!$file); # skip null entries
-
-    my $contents = read_file($file);
-    if ($contents !~ /\b(system|exec)\b/) {
-        ok(1,"$file does not contain any system or exec calls");
-        next;
-    }
-
-    my $command = "$perlapp -c -It -MSupport::Systemexec $file 2>&1";
-    my $loginfo=`$command`;
-    if ($loginfo =~ /arguments for Support::Systemexec::(system|exec)/im) {
-        ok(0,"$file DOES NOT use proper system or exec calls");
-        print $fh $loginfo;
-    } else {
-        ok(1,"$file uses proper system and exec calls");
-    }
-}
-
-exit 0;
index 666ce5fa48d0820a94a44ad7184025bb069594e6..909f1a231d9285b59e701026965549118cd52161 100644 (file)
@@ -1,35 +1,19 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
-#
-# 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 are the Bugzilla tests.
-#
-# The Initial Developer of the Original Code is Jacob Steenhagen.
-# Portions created by Jacob Steenhagen are
-# Copyright (C) 2001 Jacob Steenhagen. All
-# Rights Reserved.
-#
-# Contributor(s): Jacob Steenhagen <jake@bugzilla.org>
-#                 Zach Lipton <zach@zachlipton.com>
-#                 David D. Kilzer <ddkilzer@kilzer.net>
-#                 Tobias Burnus <burnus@net-b.de>
+# 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/.
 #
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 #################
 #Bugzilla Test 4#
 ####Templates####
 
+use 5.10.1;
 use strict;
+use warnings;
 
-use lib 't';
+use lib qw(. lib local/lib/perl5 t);
 
 use Support::Templates;
 
@@ -44,7 +28,7 @@ use Test::More tests => ( scalar(@referenced_files) + 2 * $num_actual_files );
 # This will handle verbosity for us automatically.
 my $fh;
 {
-    local $^W = 0;  # Don't complain about non-existent filehandles
+    no warnings qw(unopened);  # Don't complain about non-existent filehandles
     if (-e \*Test::More::TESTOUT) {
         $fh = \*Test::More::TESTOUT;
     } elsif (-e \*Test::Builder::TESTOUT) {
@@ -55,22 +39,21 @@ my $fh;
 }
 
 # Check to make sure all templates that are referenced in Bugzilla
-# exist in the proper place in the English template directory.
+# exist in the proper place in the English template or extension directory.
 # All other languages may or may not include any template as Bugzilla will
 # fall back to English if necessary.
 
 foreach my $file (@referenced_files) {
-    my @path = map(File::Spec->catfile($_, $file), @include_paths);
-    push(@path, File::Spec->catfile($english_default_include_path, $file));
-    my $found;
-    foreach my $path (@path) {
-        $found = $path if -e $path;
-    }
-    if ($found) {
-        ok(1, "$file exists");
-    } else {
-        ok(0, "$file cannot be located --ERROR");
+    my $found = 0;
+    foreach my $path (@english_default_include_paths) {
+        my $pathfile = File::Spec->catfile($path, $file);
+        if (-e $pathfile) {
+            $found = 1;
+            last;
+        }
     }
+
+    ok($found, "$file found");
 }
 
 foreach my $include_path (@include_paths) {
@@ -83,17 +66,13 @@ foreach my $include_path (@include_paths) {
         # See Template.pm for the actual codebase definitions.
 
         # Initialize templates (f.e. by loading plugins like Hook).
-        PRE_PROCESS => "global/initialize.none.tmpl",
+        PRE_PROCESS => "global/variables.none.tmpl",
 
         FILTERS =>
         {
             html_linebreak => sub { return $_; },
-            no_break => sub { return $_; } ,
             js        => sub { return $_ } ,
             base64   => sub { return $_ } ,
-            inactive => [ sub { return sub { return $_; } }, 1] ,
-            closed => [ sub { return sub { return $_; } }, 1] ,
-            obsolete => [ sub { return sub { return $_; } }, 1] ,
             url_quote => sub { return $_ } ,
             css_class_quote => sub { return $_ } ,
             xml       => sub { return $_ } ,
@@ -105,6 +84,7 @@ foreach my $include_path (@include_paths) {
             wrap_comment => sub { return $_ },
             none      => sub { return $_ } ,
             ics       => [ sub { return sub { return $_; } }, 1] ,
+            markdown => sub { return $_ } ,
         },
     }
     );
index edba8b2745520a0aa8d67981dc476abdbb655c2c..be13890bb930ee0ddf4885b02a2546c70e966d54 100644 (file)
@@ -1,44 +1,29 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
-#
-# 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 are the Bugzilla tests.
-#
-# The Initial Developer of the Original Code is Jacob Steenhagen.
-# Portions created by Jacob Steenhagen are
-# Copyright (C) 2001 Jacob Steenhagen. All
-# Rights Reserved.
-#
-# Contributor(s): Jacob Steenhagen <jake@bugzilla.org>
-#                 David D. Kilzer <ddkilzer@kilzer.net>
-#                 Colin Ogilvie <mozilla@colinogilvie.co.uk>
-#                 Marc Schumann <wurblzap@gmail.com>
+# 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/.
 #
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 #################
 #Bugzilla Test 5#
 #####no_tabs#####
 
+use 5.10.1;
 use strict;
+use warnings;
 
-use lib 't';
+use lib qw(. lib local/lib/perl5 t);
 
 use Support::Files;
 use Support::Templates;
 
 use File::Spec;
-use Test::More tests => (  scalar(@Support::Files::testitems)
+use Test::More tests => (scalar(@Support::Files::testitems)
+                         + scalar(@Support::Files::test_files)
                          + $Support::Templates::num_actual_files) * 3;
 
-my @testitems = @Support::Files::testitems;
+my @testitems = (@Support::Files::testitems, @Support::Files::test_files);
 for my $path (@Support::Templates::include_paths) {
    push(@testitems, map(File::Spec->catfile($path, $_),
                         Support::Templates::find_actual_files($path)));
index e311be8eca7e0c5d983928ea1f046b3a3561e2d5..70181ef854774349180b908d4a8409c980d65b3c 100644 (file)
@@ -1,62 +1,31 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 are the Bugzilla Tests.
-# 
-# The Initial Developer of the Original Code is Zach Lipton
-# Portions created by Zach Lipton are 
-# Copyright (C) 2002 Zach Lipton.  All
-# Rights Reserved.
-# 
-# Contributor(s): Zach Lipton <zach@zachlipton.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 
 #################
 #Bugzilla Test 6#
 ####Spelling#####
 
-use lib 't';
-use Support::Files;
+use 5.10.1;
+use strict;
+use warnings;
 
-BEGIN { # yes the indenting is off, deal with it
-#add the words to check here:
-@evilwords = qw(
-anyways
-appearence
-arbitary
-cancelled
-critera
-databasa
-dependan
-existance
-existant
-paramater
-refered
-repsentation
-retreive
-suported
-varsion
-);
-
-$testcount = scalar(@Support::Files::testitems);
-}
+use lib qw(. lib local/lib/perl5 t);
+use Support::Files;
 
-use Test::More tests => $testcount;
+# -1 because 006spellcheck.t must not be checked.
+use Test::More tests => scalar(@Support::Files::testitems)
+                        + scalar(@Support::Files::test_files) - 1;
 
 # Capture the TESTOUT from Test::More or Test::Builder for printing errors.
 # This will handle verbosity for us automatically.
 my $fh;
 {
-    local $^W = 0;  # Don't complain about non-existent filehandles
+    no warnings qw(unopened);  # Don't complain about non-existent filehandles
     if (-e \*Test::More::TESTOUT) {
         $fh = \*Test::More::TESTOUT;
     } elsif (-e \*Test::Builder::TESTOUT) {
@@ -66,14 +35,35 @@ my $fh;
     }
 }
 
-my @testitems = @Support::Files::testitems;
+my @testitems = (@Support::Files::testitems, @Support::Files::test_files);
+
+#add the words to check here:
+my @evilwords = qw(
+    anyways
+    appearence
+    arbitary
+    cancelled
+    critera
+    databasa
+    dependan
+    existance
+    existant
+    paramater
+    refered
+    repsentation
+    retreive
+    suported
+    varsion
+);
 
-# at last, here we actually run the test...
 my $evilwordsregexp = join('|', @evilwords);
 
 foreach my $file (@testitems) {
     $file =~ s/\s.*$//; # nuke everything after the first space (#comment)
     next if (!$file); # skip null entries
+    # Do not try to validate this file as it obviously contains a list
+    # of wrongly spelled words.
+    next if ($file eq 't/006spellcheck.t');
 
     if (open (FILE, $file)) { # open the file for reading
 
index b32a1b90ce5812ca9b06800eab19915db98eb7a9..b8e9505d8ced0dceae7034de4c709c7d57563673 100644 (file)
@@ -1,36 +1,26 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 are the Bugzilla Tests.
-# 
-# The Initial Developer of the Original Code is Zach Lipton
-# Portions created by Zach Lipton are Copyright (C) 2002 Zach Lipton.
-# All Rights Reserved.
-# 
-# Contributor(s): Zach Lipton <zach@zachlipton.com>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 #################
 #Bugzilla Test 7#
 #####Util.pm#####
 
-use lib 't';
+use 5.10.1;
+use strict;
+use warnings;
+
+use lib qw(. lib local/lib/perl5 t);
 use Support::Files;
-use Test::More tests => 15;
+use Test::More tests => 17;
+use DateTime;
 
 BEGIN { 
-    use_ok(Bugzilla);
-    use_ok(Bugzilla::Util);
+    use_ok('Bugzilla');
+    use_ok('Bugzilla::Util');
 }
 
 # We need to override user preferences so we can get an expected value when
@@ -73,6 +63,16 @@ foreach my $input (keys %email_strings) {
        "email_filter('$input')");
 }
 
+# validate_email_syntax. We need to override some parameters.
+my $params = Bugzilla->params;
+$params->{emailregexp} = '.*';
+$params->{emailsuffix} = '';
+my $ascii_email = 'admin@company.com';
+# U+0430 returns the Cyrillic "а", which looks similar to the ASCII "a".
+my $utf8_email = "\N{U+0430}dmin\@company.com";
+ok(validate_email_syntax($ascii_email), 'correctly formatted ASCII-only email address is valid');
+ok(!validate_email_syntax($utf8_email), 'correctly formatted email address with non-ASCII characters is rejected');
+
 # diff_arrays():
 my @old_array = qw(alpha beta alpha gamma gamma beta alpha delta epsilon gamma);
 my @new_array = qw(alpha alpha beta gamma epsilon delta beta delta);
index 1111c16f634d9d41e53a408728fbe2a1af5475cb..b8d05af8abef43e56e83fd98453b5edfbe7a929a 100644 (file)
@@ -1,23 +1,9 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 are the Bugzilla tests.
-#
-# The Initial Developer of the Original Code is Jacob Steenhagen.
-# Portions created by Jacob Steenhagen are
-# Copyright (C) 2001 Jacob Steenhagen. All
-# Rights Reserved.
-#
-# Contributor(s): Gervase Markham <gerv@gerv.net>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 #################
 #Bugzilla Test 8#
 
 # Sample exploit code: '>"><script>alert('Oh dear...')</script>
 
+use 5.10.1;
 use strict;
-use lib qw(. lib t);
+use warnings;
 
-use vars qw(%safe);
+use lib qw(. lib local/lib/perl5 t);
 
 use Bugzilla::Constants;
 use Support::Templates;
@@ -44,6 +31,7 @@ use Cwd;
 my $oldrecsep = $/;
 my $topdir = cwd;
 $/ = undef;
+our %safe;
 
 foreach my $path (@Support::Templates::include_paths) {
     $path =~ s|\\|/|g if ON_WINDOWS;  # convert \ to / in path if on windows
@@ -94,13 +82,13 @@ foreach my $path (@Support::Templates::include_paths) {
     foreach my $file (@testitems) {
         # There are some files we don't check, because there is no need to
         # filter their contents due to their content-type.
-        if ($file =~ /\.(pm|txt|png)\.tmpl$/) {
+        if ($file =~ /\.(pm|txt|rst|png)\.tmpl$/) {
             ok(1, "($lang/$flavor) $file is filter-safe");
             next;
         }
-        
+
         # Read the entire file into a string
-        open (FILE, "<$file") || die "Can't open $file: $!\n";    
+        open (FILE, "<$file") || die "Can't open $file: $!\n";
         my $slurp = <FILE>;
         close (FILE);
 
@@ -225,8 +213,8 @@ sub directive_ok {
     return 1 if $directive =~ /FILTER\ (html|csv|js|base64|css_class_quote|ics|
                                         quoteUrls|time|uri|xml|lower|html_light|
                                         obsolete|inactive|closed|unitconvert|
-                                        txt|html_linebreak|none|json|null|id)\b/x;
-
+                                        txt|html_linebreak|none|json|null|id|
+                                        markdown)\b/x;
     return 0;
 }
 
index 242ac478dc4f1919dee19b4eaaf4d40087b7688e..740cbf6aa801b26b841c36ace46226910b9072ff 100644 (file)
@@ -1,24 +1,9 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
-#
-# 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 are the Bugzilla tests.
-#
-# The Initial Developer of the Original Code is Jacob Steenhagen.
-# Portions created by Jacob Steenhagen are
-# Copyright (C) 2001 Jacob Steenhagen. All
-# Rights Reserved.
-#
-# Contributor(s): Gervase Markham <gerv@gerv.net>
+# 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/.
 #
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 #################
 #Bugzilla Test 9#
 # "[% terms.bug %]". This test makes sure the relevant words aren't used
 # bare.
 
+use 5.10.1;
 use strict;
+use warnings;
 
-use lib 't';
+use lib qw(. lib local/lib/perl5 t);
 
 use Support::Files;
 use Support::Templates;
@@ -75,15 +62,6 @@ foreach my $file (@testitems) {
                 next;
             }
         }
-
-        # "Bugzilla"
-        if (grep /(?<!X\-)Bugzilla(?!_|::|-&gt|\.pm)/, $text) {
-            # Exclude JS comments, hyperlinks, USE, and variable assignment.
-            unless (grep /(\/\/.*|org.*>|api\/|USE |= )Bugzilla/, $text) {
-                push(@errors, [$lineno, $text]);
-                next;
-            }
-        }
     }
         
     if (scalar(@errors)) {
index 3289d098e754d00f713bfdcf8aad31fc08cb9ac4..777d42ed1f8eed224040bb6555109d92450cec0b 100644 (file)
@@ -1,27 +1,20 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
 #
-# 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 are the Bugzilla Tests.
-#
-# Contributor(s): David Miller <justdave@bugzilla.org>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 
 ##################
 #Bugzilla Test 10#
 ## dependencies ##
 
+use 5.10.1;
 use strict;
-use lib qw(. lib t);
+use warnings;
+
+use lib qw(. lib local/lib/perl5 t);
 
 use Support::Files;
 use Test::More qw(no_plan);
@@ -37,7 +30,7 @@ use constant MODULE_REGEX => qr/
     ['"]?
     ([\w:\.\\]+)
 /x;
-use constant BASE_REGEX => qr/^use base qw\(([^\)]+)/;
+use constant BASE_REGEX => qr/^use (?:base|parent) (?:-norequire, )?qw\(([^\)]+)/;
 
 # Extract all Perl modules.
 foreach my $file (@Support::Files::testitems) {
@@ -69,7 +62,7 @@ foreach my $module (keys %mods) {
       }
       elsif ($line =~ BASE_REGEX or $line =~ MODULE_REGEX) {
         my $used_string = $1;
-        # "use base" can have multiple modules
+        # "use base"/"use parent" can have multiple modules
         my @used_array = split(/\s+/, $used_string);
         foreach my $used (@used_array) {
             next if $used !~ /^Bugzilla/;
index 517ca03add4a406e85729e17ffc44b5c987a0b88..4f5fa87f72e85645ef6ae10eb8aa07db4489cc8c 100644 (file)
@@ -1,27 +1,19 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
-# 
-# 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 are the Bugzilla Tests.
-# 
-# Contributor(s): Frédéric Buclin <LpSolit@gmail.com>
-
+# 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/.
+#
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 ##################
 #Bugzilla Test 11#
 ##POD validation##
 
+use 5.10.1;
 use strict;
+use warnings;
 
-use lib 't';
+use lib qw(. lib local/lib/perl5 t);
 
 use Support::Files;
 use Pod::Checker;
@@ -32,7 +24,7 @@ use Test::More tests => scalar(@Support::Files::testitems);
 # This will handle verbosity for us automatically.
 my $fh;
 {
-    local $^W = 0;  # Don't complain about non-existent filehandles
+    no warnings 'unopened';
     if (-e \*Test::More::TESTOUT) {
         $fh = \*Test::More::TESTOUT;
     } elsif (-e \*Test::Builder::TESTOUT) {
index 590fb8aa575e9a33813b45e1d22bef258744bc4a..4317c0e89e67c96c630737485d83c861c41add1f 100644 (file)
@@ -1,25 +1,9 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
-# vim: ts=4 sw=4 et tw=80
-# 
-# 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 are the Bugzilla Tests.
-# 
-# The Initial Developer of the Original Code is Zach Lipton
-# Portions created by Zach Lipton are 
-# Copyright (C) 2001 Zach Lipton.  All
-# Rights Reserved.
-# 
-# Contributor(s): Dennis Melentyev <dennis.melentyev@infopulse.com.ua>
-#                 Max Kanat-Alexander <mkanat@bugzilla.org>
+# 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/.
+#
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 
 
 #Bugzilla Test 12#
 ######Errors######
 
+use 5.10.1;
 use strict;
-use lib qw(. lib t);
+use warnings;
+
+use lib qw(. lib local/lib/perl5 t);
 
 use Bugzilla::Constants;
 use Bugzilla::WebService::Constants;
@@ -63,6 +50,13 @@ foreach my $include_path (@include_paths) {
         $file =~ s|\\|/|g if ON_WINDOWS;  # convert \ to / in path if on windows
         $test_templates{$file} = () 
             if $file =~ m#global/(code|user)-error(?:-errors)?\.html\.tmpl#;
+
+        # Make sure the extension is not disabled
+        if ($file =~ m#^(extensions/[^/]+/)#) {
+            $test_templates{$file} = ()
+                if ! -e "${1}disabled"
+                && $file =~ m#global/(code|user)-error-errors\.html\.tmpl#;
+        }
     }
 }
 
diff --git a/t/013remote_ip.t b/t/013remote_ip.t
deleted file mode 100644 (file)
index 4bba7c9..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-#!/usr/bin/perl
-# 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/.
-#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
-
-use strict;
-use lib qw(. lib t);
-use Test::More qw(no_plan);
-use Bugzilla;
-use Bugzilla::Util qw(remote_ip);
-
-my $params = Bugzilla->params;
-local Bugzilla->localconfig->{param_override}{inbound_proxies} = undef;
-
-{
-    local $params->{inbound_proxies} = '10.0.0.1,10.0.0.2';
-    local $ENV{REMOTE_ADDR} = '10.0.0.2';
-    local $ENV{HTTP_X_FORWARDED_FOR} = '10.42.42.42';
-
-    is(remote_ip(), '10.42.42.42', "from proxy 2");
-}
-
-{
-    local $params->{inbound_proxies} = '10.0.0.1,10.0.0.2';
-    local $ENV{REMOTE_ADDR} = '10.0.0.1';
-    local $ENV{HTTP_X_FORWARDED_FOR} = '10.42.42.42';
-
-    is(remote_ip(), '10.42.42.42', "from proxy 1");
-}
-
-{
-    local $params->{inbound_proxies} = '10.0.0.1,10.0.0.2';
-    local $ENV{REMOTE_ADDR} = '10.0.0.3';
-    local $ENV{HTTP_X_FORWARDED_FOR} = '10.42.42.42';
-
-    is(remote_ip(), '10.0.0.3', "not a proxy");
-}
-
-{
-    local $params->{inbound_proxies} = '*';
-    local $ENV{REMOTE_ADDR} = '10.0.0.3';
-    local $ENV{HTTP_X_FORWARDED_FOR} = '10.42.42.42,1.4.9.2';
-
-    is(remote_ip(), '10.42.42.42', "always proxy");
-}
-
-{
-    local $params->{inbound_proxies} = '';
-    local $ENV{REMOTE_ADDR} = '10.9.8.7';
-    local $ENV{HTTP_X_FORWARDED_FOR} = '10.42.42.42,1.4.9.2';
-
-    is(remote_ip(), '10.9.8.7', "never proxy");
-}
-
-
-{
-    local $params->{inbound_proxies} = '10.0.0.1,2600:cafe::cafe:ffff:bf42:4998';
-    local $ENV{REMOTE_ADDR} = '2600:cafe::cafe:ffff:bf42:4998';
-    local $ENV{HTTP_X_FORWARDED_FOR} = '2600:cafe::cafe:ffff:bf42:BEEF';
-
-    is(remote_ip(), '2600:cafe::cafe:ffff:bf42:BEEF', "from proxy ipv6");
-}
-
-{
-    local $params->{inbound_proxies} = '10.0.0.1,2600:cafe::cafe:ffff:bf42:4998';
-    local $ENV{REMOTE_ADDR} = '2600:cafe::cafe:ffff:bf42:DEAD';
-    local $ENV{HTTP_X_FORWARDED_FOR} = '2600:cafe::cafe:ffff:bf42:BEEF';
-
-    is(remote_ip(), '2600:cafe::cafe:ffff:bf42:DEAD', "invalid proxy ipv6");
-}
-
-
-{
-    local $params->{inbound_proxies} = '*';
-    local $ENV{REMOTE_ADDR} = '2600:cafe::cafe:ffff:bf42:DEAD';
-    local $ENV{HTTP_X_FORWARDED_FOR} = '';
-
-    is(remote_ip(), '2600:cafe::cafe:ffff:bf42:DEAD', "always proxy ipv6");
-}
index 00e0efd3435d37ba7703b083c19df94e8464970a..1bdf2eac70aa6007867233159504605b5fbd7d84 100644 (file)
@@ -1,45 +1,40 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
-# 
-# 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 are the Bugzilla Tests.
-# 
-# The Initial Developer of the Original Code is Zach Lipton
-# Portions created by Zach Lipton are 
-# Copyright (C) 2001 Zach Lipton.  All
-# Rights Reserved.
-# 
-# Contributor(s): Zach Lipton <zach@zachlipton.com>
-#                 Joel Peshkin <bugreport@peshkin.net>
+# 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/.
+#
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 
 package Support::Files;
 
-use Bugzilla;
+use 5.10.1;
+use strict;
+use warnings;
 
 use File::Find;
 
+our @additional_files = ();
+
 use constant IGNORE => qw(
     Bugzilla/DuoAPI.pm
     Bugzilla/DuoWeb.pm
 );
 
-@additional_files = ();
+our @files = glob('*');
+find(sub { push(@files, $File::Find::name) if $_ =~ /\.pm$/;}, qw(Bugzilla docs));
+push(@files, 'extensions/create.pl', 'docs/makedocs.pl', 'cpanfile');
+
+our @extensions =
+    grep { $_ ne 'extensions/create.pl' && ! -e "$_/disabled" }
+    glob('extensions/*');
+
+foreach my $extension (@extensions) {
+    find(sub { push(@files, $File::Find::name) if $_ =~ /\.pm$/;}, $extension);
+}
 
-@files = glob('*');
-my @extension_paths = map { $_->package_dir } @{ Bugzilla->extensions };
-find(sub { push(@files, $File::Find::name) if $_ =~ /\.pm$/;}, 'Bugzilla', @extension_paths);
-push(@files, 'extensions/create.pl');
+our @test_files = glob('t/*.t xt/*/*.t');
 
-my @extensions = glob('extensions/*');
 foreach my $extension (@extensions) {
     # Skip disabled extensions
     next if -e "$extension/disabled";
@@ -55,7 +50,7 @@ sub isTestingFile {
         return undef if $ignore eq $file;
     }
 
-    if ($file =~ /\.cgi$|\.pl$|\.pm$/) {
+    if ($file =~ /\.psgi$|\.cgi$|\.pl$|\.pm$/) {
         return 1;
     }
     my $additional;
@@ -65,11 +60,13 @@ sub isTestingFile {
     return undef;
 }
 
-foreach $currentfile (@files) {
+our (@testitems, @module_files);
+
+foreach my $currentfile (@files) {
     if (isTestingFile($currentfile)) {
-        push(@testitems,$currentfile);
+        push(@testitems, $currentfile);
     }
+    push(@module_files, $currentfile) if $currentfile =~ /\.pm$/;
 }
 
-
 1;
index 676ee02a4f80daefc45d545fc4190c17caa78090..e73763f8f01183b073ee6933056be76161ffd339 100644 (file)
@@ -1,14 +1,25 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+# 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/.
+#
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Support::Systemexec;
-require Exporter;
-@ISA = qw(Exporter);
-@EXPORT = qw(system exec);
-@EXPORT_OK = qw();
+
+use 5.10.1;
+use strict;
+use warnings;
+
+use parent qw(Exporter);
+@Support::Systemexec::EXPORT = qw(system exec);
+
 sub system($$@) {
   1;
 }
+
 sub exec($$@) {
   1;
 }
+
 1;
index 81dc8cc3f2c51997c2ea2b6028a40faca9571426..5071d67ae720e33624378792f1c64766f4c537f6 100644 (file)
@@ -1,38 +1,21 @@
-# -*- Mode: perl; indent-tabs-mode: nil -*-
-#
-# 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 are the Bugzilla tests.
-#
-# The Initial Developer of the Original Code is Jacob Steenhagen.
-# Portions created by Jacob Steenhagen are
-# Copyright (C) 2001 Jacob Steenhagen. All
-# Rights Reserved.
-#
-# Contributor(s): Jacob Steenhagen <jake@bugzilla.org>
-#                 David D. Kilzer <ddkilzer@kilzer.net>
-#                 Tobias Burnus <burnus@net-b.de>
+# 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/.
 #
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 package Support::Templates;
 
+use 5.10.1;
 use strict;
+use warnings;
 
 use lib 't';
 use base qw(Exporter);
-@Support::Templates::EXPORT = 
-         qw(@languages @include_paths $english_default_include_path
-         %include_path @referenced_files %actual_files $num_actual_files);
-use vars qw(@languages @include_paths $english_default_include_path
-            %include_path @referenced_files %actual_files $num_actual_files);
+@Support::Templates::EXPORT =
+    qw(@languages @include_paths @english_default_include_paths
+       %include_path @referenced_files %actual_files $num_actual_files);
 
 use Bugzilla;
 use Bugzilla::Constants;
@@ -42,33 +25,32 @@ use Support::Files;
 use File::Find;
 use File::Spec;
 
-# The available template languages
-@languages = ();
+# English default include paths
+our @english_default_include_paths =
+    (File::Spec->catdir(bz_locations()->{'templatedir'}, 'en', 'default'));
 
-# The colon separated includepath per language
-%include_path = ();
-
-# All include paths
-@include_paths = ();
-
-# English default include path
-$english_default_include_path =
-    File::Spec->catdir(bz_locations()->{'templatedir'}, 'en', 'default');
+# And the extensions too
+foreach my $extension (@Support::Files::extensions) {
+    my $dir = File::Spec->catdir($extension, 'template', 'en', 'default');
+    if (-e $dir) {
+        push @english_default_include_paths, $dir;
+    }
+}
 
 # Files which are referenced in the cgi files
-@referenced_files = ();
+our @referenced_files = ();
 
 # All files sorted by include_path
-%actual_files = ();
+our %actual_files = ();
 
 # total number of actual_files
-$num_actual_files = 0;
+our $num_actual_files = 0;
 
 # Set the template available languages and include paths
-@languages = @{ Bugzilla->languages };
-@include_paths = @{ template_include_path({ language => Bugzilla->languages }) };
+our @languages = @{ Bugzilla->languages };
+our @include_paths = @{ template_include_path({ language => Bugzilla->languages }) };
 
-my @files;
+our @files;
 
 # Local subroutine used with File::Find
 sub find_templates {
index df6aac31dbaef7bb868eef180b982ce13409e23c..18650de7d486c47fbf30389c7094a853c836abaa 100644 (file)
 
   [% ELSIF error == "cookies_need_value" %]
     Every cookie must have a value.
-
+  [% ELSIF error == "cpan_meta_missing" %]
+    META.json/MYMETA.json file is missing.
   [% ELSIF error == "env_no_email" %]
     [% terms.Bugzilla %] did not receive an email address from the 
     environment.
index d7c7e05001c1347fe60d6e571f6915ecb1324cf0..2151c24e8e67aff8ddeb0a6e14e2e6b11be755e7 100644 (file)
@@ -1,20 +1,9 @@
-# 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/
+# 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/.
 #
-# 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 Initial Developer of the Original Code is Everything Solved.
-# Portions created by Everything Solved are Copyright (C) 2007
-# Everything Solved. All Rights Reserved.
-#
-# The Original Code is the Bugzilla Bug Tracking System.
-#
-# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 # This file contains a single hash named %strings, which is used by the
 # installation code to display strings before Template-Toolkit can safely
@@ -27,6 +16,7 @@
 # Please keep the strings in alphabetical order by their name.
 
 %strings = (
+    all_optional_features_require => 'All optional features above require the following modules to be found:',
     any  => 'any',
     apachectl_failed => <<END,
 WARNING: We could not check the configuration of Apache. This sometimes
@@ -48,9 +38,6 @@ can connect to your MySQL database and drop the bz_schema table, as a last
 resort.
 END
     checking_for => 'Checking for',
-    checking_dbd      => 'Checking available perl DBD modules...',
-    checking_optional => 'The following Perl modules are optional:',
-    checking_modules  => 'Checking perl modules...',
     chmod_failed      => '##path##: Failed to change permissions: ##error##',
     chown_failed      => '##path##: Failed to change ownership: ##error##',
     commands_dbd      => <<EOT,
@@ -93,44 +80,11 @@ END
 Extensions must return their name, not <code>1</code> or a number. See
 the documentation of Bugzilla::Extension for details.
 END
-    feature_auth_ldap         => 'LDAP Authentication',
-    feature_auth_radius       => 'RADIUS Authentication',
-    feature_documentation     => 'Documentation',
-    feature_elasticsearch     => 'ElasticSearch Support',
-    feature_graphical_reports => 'Graphical Reports',
-    feature_html_desc         => 'More HTML in Product/Group Descriptions',
-    feature_inbound_email     => 'Inbound Email',
-    feature_jobqueue          => 'Mail Queueing',
-    feature_jsonrpc           => 'JSON-RPC Interface',
-    feature_jsonrpc_faster    => 'Make JSON-RPC Faster',
-    feature_new_charts        => 'New Charts',
-    feature_old_charts        => 'Old Charts',
-    feature_memcached         => 'Memcached Support',
-    feature_mfa               => 'Two-Factor Authentication',
-    feature_mod_perl          => 'mod_perl',
-    feature_moving            => 'Move Bugs Between Installations',
-    feature_patch_viewer      => 'Patch Viewer',
-    feature_rest              => 'REST Interface',
-    feature_s3                => 'Attachment S3 Storage',
-    feature_smtp_auth         => 'SMTP Authentication',
-    feature_updates           => 'Automatic Update Notifications',
-    feature_xmlrpc            => 'XML-RPC Interface',
-    feature_detect_charset    => 'Automatic charset detection for text attachments',
-
     file_remove => 'Removing ##name##...',
     file_rename => 'Renaming ##from## to ##to##...',
     header => "* This is Bugzilla ##bz_ver## on perl ##perl_ver##\n"
             . "* Running on ##os_name## ##os_ver##",
-    install_all => <<EOT,
-
-To attempt an automatic install of every required and optional module
-with one command, do:
-
-  ##perl## checksetup.pl --cpanfile
-  cpanm --installdeps --with-recommends --with-all-features \\
-        --without-feature oracle --without-feature sqlite \\
-        --without-feature pg.
-EOT
+    installation_failed => '*** Installation aborted. Read the messages above. ***',
     install_data_too_long => <<EOT,
 WARNING: Some of the data in the ##table##.##column## column is longer than
 its new length limit of ##max_length## characters. The data that needs to be
@@ -138,15 +92,6 @@ fixed is printed below with the value of the ##id_column## column first and
 then the value of the ##column## column that needs to be fixed:
 
 EOT
-    install_module => 'Installing ##module## version ##version##...',
-    installation_failed => '*** Installation aborted. Read the messages above. ***',
-    install_no_compiler => <<END,
-ERROR: Using install-module.pl requires that you install a compiler, such as
-gcc.
-END
-    install_no_make => <<END,
-ERROR: Using install-module.pl requires that you install "make".
-END
     lc_new_vars => <<'END',
 This version of Bugzilla contains some variables that you may want to
 change and adapt to your local settings. The following variables are
@@ -299,12 +244,15 @@ EOT
 ***********************************************************************
 * APACHE MODULES                                                      *
 ***********************************************************************
-* Normally, when Bugzilla is upgraded, all Bugzilla users have to     *
-* clear their browser cache or Bugzilla will break. If you enable     *
-* certain modules in your Apache configuration (usually called        *
-* httpd.conf or apache2.conf) then your users will not have to clear  *
-* their caches when you upgrade Bugzilla. The modules you need to     *
-* enable are:                                                         *
+* Some Apache modules allow to extend Bugzilla functionalities.       *
+* These modules can be enabled in the Apache configuration file       *
+* (usually called httpd.conf or apache2.conf).                        *
+* - mod_headers, mod_env and mod_expires permit to automatically      *
+*   refresh the browser cache of your users when upgrading Bugzilla.  *
+* - mod_rewrite permits to write shorter URLs used by the REST API.   *
+* - mod_version permits to write rules in .htaccess specific to       *
+*   Apache 2.2 or 2.4.                                                *
+* The modules you need to enable are:                                 *
 *                                                                     *
 END
     modules_message_db => <<EOT,
index 4ecaa15fdebe07c3afaf677a8cd7d0a88b08b649..a1c200e10ec79d0e5b29a3e7ed4c04e6ab06c229 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -wT
+#!/usr/bin/perl -T
 # -*- Mode: perl; indent-tabs-mode: nil -*-
 #
 # The contents of this file are subject to the Mozilla Public
@@ -17,7 +17,9 @@
 # are being run instead of shown. This script does not rely on database access
 # or correct params.
 
+use 5.10.1;
 use strict;
+use warnings;
 print "content-type:text/plain\n\n";
 print "OK " . ($::ENV{MOD_PERL} || "mod_cgi") . "\n";
 exit;
index ffe4b1ad5b3440a2945df358e548207bbd5c4aaf..f5cdae45183dda17b30da61bca4d53f2c587edd1 100755 (executable)
@@ -1,25 +1,20 @@
-#!/usr/bin/perl -w
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Joel Peshkin <bugreport@peshkin.net>
-#                 Byron Jones <byron@glob.com.au>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 # testserver.pl is invoked with the baseurl of the Bugzilla installation
 # as its only argument.  It attempts to troubleshoot as many installation
 # issues as possible.
 
+use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index fd3a38a8e37ceaa94ce088dd91437d967663f588..136e76137aa065903fb429f78d408e072ddfd042 100755 (executable)
--- a/token.cgi
+++ b/token.cgi
@@ -1,34 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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): Myk Melez <myk@mozilla.org>
-#                 Frédéric Buclin <LpSolit@gmail.com>
-
-############################################################################
-# Script Initialization
-############################################################################
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
-# Make it harder for us to do dangerous things in Perl.
+use 5.10.1;
 use strict;
+use warnings;
 
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 3f5d2038ca8ce0815668aff21a3c81b1ed7afdc7..015f6bf4e3c370a97161f92145ca6c499d41f8e3 100755 (executable)
@@ -1,30 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Terry Weissman <terry@mozilla.org>
-#                 Dan Mosedale <dmose@mozilla.org>
-#                 Alan Raetz <al_raetz@yahoo.com>
-#                 David Miller <justdave@syndicomm.com>
-#                 Christopher Aillon <christopher@aillon.com>
-#                 Gervase Markham <gerv@gerv.net>
-#                 Vlad Dascalu <jocuri@softhome.net>
-#                 Shane H. W. Travis <travis@sedsystems.ca>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
+use warnings;
 
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::BugMail;
index 6903acff011a3ac868e3c496f68cd3b61adf6e37..5ea871104e32afdf66dcb46f2ec8f60c84049f26 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -wT
+#!/usr/bin/perl -T
 # 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/.
@@ -10,7 +10,7 @@ use 5.10.1;
 use strict;
 use warnings;
 
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index ef9227af055d387c0976ca0d3786f2bf06038407..8344d7494cc26e6b549b44c0c1867334f85e40bc 100755 (executable)
--- a/votes.cgi
+++ b/votes.cgi
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -wT
+#!/usr/bin/perl -T
 # -*- Mode: perl; indent-tabs-mode: nil -*-
 #
 # The contents of this file are subject to the Mozilla Public
 # This script remains as a backwards-compatibility URL for before
 # the time that Voting was an extension.
 
+use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+use lib qw(. lib local/lib/perl5);
 use Bugzilla;
 use Bugzilla::Error;
 
index a701d36a7e8f86c46b3ab4505dee797bd202f7c0..a1b3ea8bca2db49f63918ff38d09d753cdab89fa 100755 (executable)
--- a/whine.pl
+++ b/whine.pl
@@ -1,32 +1,20 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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): Erik Stambaugh <erik@dasbistro.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 ################################################################################
 # Script Initialization
 ################################################################################
 
+use 5.10.1;
 use strict;
+use warnings;
 
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;
index 3bfe298714ab7b657b952bae7d7cff5d3582102c..e1da6f9e46f562a9789e52609df2114949d350ef 100755 (executable)
@@ -1,26 +1,10 @@
-#!/usr/bin/perl -w
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl
+# 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/.
 #
-# 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 <terry@mozilla.org>
-#                 Joseph Heenan <joseph@heenan.me.uk>
-#                 Frédéric Buclin <LpSolit@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
 
 # This is a script suitable for running once a day from a cron job.  It 
 # param. (We have NEW and REOPENED in there to keep compatibility with old
 # Bugzillas.)
 
+use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Mailer;
diff --git a/xml.cgi b/xml.cgi
index ce6a7c39b10986b6ea8121c3bb5f7aecdc60481e..1b5fac9fa04f2eaf44e210bb7162e3dd7ea56600 100755 (executable)
--- a/xml.cgi
+++ b/xml.cgi
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -wT
+#!/usr/bin/perl -T
 # -*- Mode: perl; indent-tabs-mode: nil -*-
 #
 # The contents of this file are subject to the Mozilla Public
 #                 Terry Weissman <terry@mozilla.org>
 #                 Gervase Markham <gerv@gerv.net>
 
+use 5.10.1;
 use strict;
+use warnings;
 
-use lib qw(. lib);
+use lib qw(. lib local/lib/perl5);
 use Bugzilla;
 
 my $cgi = Bugzilla->cgi;
index 8b1e69f28d756cc9aa5862687d4a39ca1b3372b7..74923e18dcfbbbbc8cf1bba3679dc65b2d414d31 100755 (executable)
@@ -1,22 +1,16 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
+#!/usr/bin/perl -T
+# 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/.
 #
-# 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.
-#
-# Contributor(s): Marc Schumann <wurblzap@gmail.com>
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
 
+use 5.10.1;
 use strict;
-use lib qw(. lib);
+use warnings;
+
+use lib qw(. lib local/lib/perl5);
 
 use Bugzilla;
 use Bugzilla::Constants;