From 5f310e5b9e7afbd5badb17178349fefaaabfacce Mon Sep 17 00:00:00 2001 From: Dylan William Hardison Date: Thu, 30 Jun 2016 23:32:40 -0400 Subject: Bug 1283930 - Add Makefile.PL & local/lib/perl5 support to bmo/master + local symlink to data/ directory --- .gitignore | 25 +- Bugzilla.pm | 90 +- Bugzilla/Attachment.pm | 30 +- Bugzilla/Attachment/Database.pm | 2 + Bugzilla/Attachment/FileSystem.pm | 2 + Bugzilla/Attachment/PatchReader.pm | 25 +- Bugzilla/Attachment/S3.pm | 2 + Bugzilla/Auth.pm | 29 +- Bugzilla/Auth/Login.pm | 23 +- Bugzilla/Auth/Login/APIKey.pm | 1 + Bugzilla/Auth/Login/CGI.pm | 37 +- Bugzilla/Auth/Login/Cookie.pm | 23 +- Bugzilla/Auth/Login/Env.pm | 29 +- Bugzilla/Auth/Login/Stack.pm | 28 +- Bugzilla/Auth/Persist/Cookie.pm | 37 +- Bugzilla/Auth/Verify.pm | 22 +- Bugzilla/Auth/Verify/DB.pm | 36 +- Bugzilla/Auth/Verify/LDAP.pm | 37 +- Bugzilla/Auth/Verify/RADIUS.pm | 27 +- Bugzilla/Auth/Verify/Stack.pm | 23 +- Bugzilla/Bug.pm | 35 +- Bugzilla/BugMail.pm | 42 +- Bugzilla/BugUrl.pm | 27 +- Bugzilla/BugUrl/Aha.pm | 4 + Bugzilla/BugUrl/Bugzilla.pm | 28 +- Bugzilla/BugUrl/Bugzilla/Local.pm | 27 +- Bugzilla/BugUrl/Debian.pm | 27 +- Bugzilla/BugUrl/GitHub.pm | 4 + Bugzilla/BugUrl/Google.pm | 27 +- Bugzilla/BugUrl/JIRA.pm | 26 +- Bugzilla/BugUrl/Launchpad.pm | 27 +- Bugzilla/BugUrl/MantisBT.pm | 26 +- Bugzilla/BugUrl/MozSupport.pm | 4 + Bugzilla/BugUrl/ServiceNow.pm | 4 + Bugzilla/BugUrl/SourceForge.pm | 26 +- Bugzilla/BugUrl/Splat.pm | 4 + Bugzilla/BugUrl/Trac.pm | 26 +- Bugzilla/BugUrl/WebCompat.pm | 4 + Bugzilla/BugUserLastVisit.pm | 1 + Bugzilla/CGI.pm | 31 +- Bugzilla/Chart.pm | 32 +- Bugzilla/Classification.pm | 26 +- Bugzilla/Comment.pm | 30 +- Bugzilla/Comment/TagWeights.pm | 3 +- Bugzilla/Component.pm | 26 +- Bugzilla/Config.pm | 35 +- Bugzilla/Config/Admin.pm | 36 +- Bugzilla/Config/Advanced.pm | 37 +- Bugzilla/Config/Attachment.pm | 36 +- Bugzilla/Config/Auth.pm | 36 +- Bugzilla/Config/BugChange.pm | 36 +- Bugzilla/Config/BugFields.pm | 36 +- Bugzilla/Config/Common.pm | 37 +- Bugzilla/Config/Core.pm | 36 +- Bugzilla/Config/DependencyGraph.pm | 2 + Bugzilla/Config/General.pm | 38 +- Bugzilla/Config/GroupSecurity.pm | 36 +- Bugzilla/Config/LDAP.pm | 36 +- Bugzilla/Config/MTA.pm | 2 + Bugzilla/Config/Memcached.pm | 1 + Bugzilla/Config/PatchViewer.pm | 2 + Bugzilla/Config/Query.pm | 36 +- Bugzilla/Config/RADIUS.pm | 26 +- Bugzilla/Config/ShadowDB.pm | 36 +- Bugzilla/Config/UserMatch.pm | 36 +- Bugzilla/Constants.pm | 51 +- Bugzilla/DB.pm | 63 +- Bugzilla/DB/Mysql.pm | 34 +- Bugzilla/DB/Oracle.pm | 29 +- Bugzilla/DB/Pg.pm | 33 +- Bugzilla/DB/Schema.pm | 33 +- Bugzilla/DB/Schema/Mysql.pm | 29 +- Bugzilla/DB/Schema/Oracle.pm | 27 +- Bugzilla/DB/Schema/Pg.pm | 29 +- Bugzilla/DB/Schema/Sqlite.pm | 30 +- Bugzilla/DB/Sqlite.pm | 30 +- Bugzilla/DuoWeb.pm | 1 + Bugzilla/Error.pm | 29 +- Bugzilla/Extension.pm | 27 +- Bugzilla/Field.pm | 24 +- Bugzilla/Field/Choice.pm | 30 +- Bugzilla/Field/ChoiceInterface.pm | 27 +- Bugzilla/Flag.pm | 32 +- Bugzilla/FlagType.pm | 31 +- Bugzilla/Group.pm | 33 +- Bugzilla/Hook.pm | 28 +- Bugzilla/Install.pm | 21 +- Bugzilla/Install/CPAN.pm | 351 -- Bugzilla/Install/DB.pm | 22 +- Bugzilla/Install/Filesystem.pm | 26 +- Bugzilla/Install/Localconfig.pm | 39 +- Bugzilla/Install/Requirements.pm | 990 +---- Bugzilla/Install/Util.pm | 52 +- Bugzilla/Job/BugMail.pm | 1 + Bugzilla/Job/Mailer.pm | 27 +- Bugzilla/JobQueue.pm | 27 +- Bugzilla/JobQueue/Runner.pm | 28 +- Bugzilla/Keyword.pm | 25 +- Bugzilla/MFA.pm | 3 + Bugzilla/MFA/Dummy.pm | 5 +- Bugzilla/MFA/Duo.pm | 6 +- Bugzilla/MFA/TOTP.pm | 6 +- Bugzilla/Mailer.pm | 39 +- Bugzilla/Metrics/Memcached.pm | 3 +- Bugzilla/Metrics/Mysql.pm | 2 +- Bugzilla/Metrics/Reporter.pm | 1 + Bugzilla/Metrics/Reporter/ElasticSearch.pm | 3 +- Bugzilla/Metrics/Reporter/STDERR.pm | 3 +- Bugzilla/Metrics/Template.pm | 3 +- Bugzilla/Metrics/Template/Context.pm | 3 +- Bugzilla/Migrate.pm | 27 +- Bugzilla/Migrate/Gnats.pm | 28 +- Bugzilla/Milestone.pm | 27 +- Bugzilla/Object.pm | 30 +- Bugzilla/PatchReader.pm | 2 + Bugzilla/PatchReader/AddCVSContext.pm | 6 +- Bugzilla/PatchReader/Base.pm | 2 + Bugzilla/PatchReader/CVSClient.pm | 2 + Bugzilla/PatchReader/DiffPrinter/raw.pm | 2 + Bugzilla/PatchReader/DiffPrinter/template.pm | 2 + Bugzilla/PatchReader/FilterPatch.pm | 2 + Bugzilla/PatchReader/FixPatchRoot.pm | 6 +- Bugzilla/PatchReader/NarrowPatch.pm | 2 + Bugzilla/PatchReader/PatchInfoGrabber.pm | 2 + Bugzilla/PatchReader/Raw.pm | 2 + Bugzilla/Product.pm | 24 +- Bugzilla/RNG.pm | 28 +- Bugzilla/S3.pm | 1 + Bugzilla/S3/Bucket.pm | 2 + Bugzilla/Search.pm | 41 +- Bugzilla/Search/Clause.pm | 27 +- Bugzilla/Search/ClauseGroup.pm | 2 + Bugzilla/Search/Condition.pm | 28 +- Bugzilla/Search/Quicksearch.pm | 26 +- Bugzilla/Search/Recent.pm | 28 +- Bugzilla/Search/Saved.pm | 29 +- Bugzilla/Send/Sendmail.pm | 3 +- Bugzilla/Sentry.pm | 1 + Bugzilla/Series.pm | 31 +- Bugzilla/Status.pm | 32 +- Bugzilla/Template.pm | 36 +- Bugzilla/Template/Context.pm | 28 +- Bugzilla/Template/Plugin/Bugzilla.pm | 27 +- Bugzilla/Template/Plugin/Hook.pm | 31 +- Bugzilla/Template/Plugin/User.pm | 3 +- Bugzilla/Token.pm | 35 +- Bugzilla/Update.pm | 21 +- Bugzilla/User.pm | 46 +- Bugzilla/User/APIKey.pm | 3 +- Bugzilla/User/Session.pm | 3 +- Bugzilla/User/Setting.pm | 25 +- Bugzilla/User/Setting/Lang.pm | 25 +- Bugzilla/User/Setting/Skin.pm | 22 +- Bugzilla/User/Setting/Timezone.pm | 25 +- Bugzilla/UserAgent.pm | 33 +- Bugzilla/Util.pm | 32 +- Bugzilla/Version.pm | 77 +- Bugzilla/WebService.pm | 24 +- Bugzilla/WebService/Bug.pm | 29 +- Bugzilla/WebService/BugUserLastVisit.pm | 3 +- Bugzilla/WebService/Bugzilla.pm | 24 +- Bugzilla/WebService/Classification.pm | 3 +- Bugzilla/WebService/Constants.pm | 23 +- Bugzilla/WebService/Group.pm | 2 +- Bugzilla/WebService/Product.pm | 24 +- Bugzilla/WebService/Server.pm | 23 +- Bugzilla/WebService/Server/JSONRPC.pm | 27 +- Bugzilla/WebService/Server/REST.pm | 3 +- Bugzilla/WebService/Server/REST/Resources/Bug.pm | 1 + .../WebService/Server/REST/Resources/Bugzilla.pm | 1 + .../Server/REST/Resources/Classification.pm | 1 + .../WebService/Server/REST/Resources/Product.pm | 1 + Bugzilla/WebService/Server/REST/Resources/User.pm | 1 + Bugzilla/WebService/Server/XMLRPC.pm | 26 +- Bugzilla/WebService/User.pm | 25 +- Bugzilla/WebService/Util.pm | 27 +- Bugzilla/Whine.pm | 29 +- Bugzilla/Whine/Query.pm | 25 +- Bugzilla/Whine/Schedule.pm | 29 +- META.json | 430 ++ META.yml | 231 + Makefile.PL | 387 ++ admin.cgi | 29 +- attachment.cgi | 44 +- auth.cgi | 4 +- buglist.cgi | 40 +- chart.cgi | 33 +- checksetup.pl | 149 +- clean-bug-user-last-visit.pl | 4 +- colchange.cgi | 34 +- collectstats.pl | 36 +- config.cgi | 37 +- contrib/clear-memcached.pl | 5 +- contrib/clear-templates.pl | 3 +- contrib/fixperms.pl | 3 +- contrib/nagios_blocker_checker.pl | 6 +- cpanfile | 87 + cpanfile.snapshot | 4614 ++++++++++++++++++++ createaccount.cgi | 34 +- describecomponents.cgi | 6 +- describekeywords.cgi | 6 +- docs/makedocs.pl | 2 +- duplicates.cgi | 33 +- editclassifications.cgi | 30 +- editcomponents.cgi | 34 +- editfields.cgi | 26 +- editflagtypes.cgi | 38 +- editgroups.cgi | 35 +- editkeywords.cgi | 31 +- editmilestones.cgi | 30 +- editparams.cgi | 33 +- editproducts.cgi | 39 +- editsettings.cgi | 27 +- editusers.cgi | 31 +- editvalues.cgi | 29 +- editversions.cgi | 34 +- editwhines.cgi | 31 +- editworkflow.cgi | 29 +- email_in.pl | 36 +- enter_bug.cgi | 34 +- extensions/AntiSpam/Config.pm | 3 + extensions/AntiSpam/Extension.pm | 1 + extensions/AntiSpam/lib/Config.pm | 1 + extensions/BMO/Config.pm | 3 + extensions/BMO/Extension.pm | 4 + extensions/BMO/bin/bug_1022707.pl | 2 +- extensions/BMO/bin/bug_1093952.pl | 2 +- extensions/BMO/bin/bug_1141452.pl | 2 +- extensions/BMO/bin/migrate-github-pull-requests.pl | 2 +- extensions/BMO/lib/Constants.pm | 4 + extensions/BMO/lib/Data.pm | 3 + extensions/BMO/lib/FakeBug.pm | 2 + extensions/BMO/lib/Reports/Groups.pm | 2 + extensions/BMO/lib/Reports/Internship.pm | 2 + extensions/BMO/lib/Reports/ProductSecurity.pm | 2 + extensions/BMO/lib/Reports/Recruiting.pm | 2 + extensions/BMO/lib/Reports/ReleaseTracking.pm | 2 + extensions/BMO/lib/Reports/Triage.pm | 3 + extensions/BMO/lib/Reports/UserActivity.pm | 2 + extensions/BMO/lib/Util.pm | 2 + extensions/BMO/lib/WebService.pm | 1 + extensions/Bitly/Config.pm | 33 +- extensions/Bitly/Extension.pm | 2 + extensions/Bitly/lib/WebService.pm | 1 + extensions/BugModal/Config.pm | 2 + extensions/BugModal/Extension.pm | 1 + extensions/BugModal/lib/ActivityStream.pm | 2 + extensions/BugModal/lib/MonkeyPatches.pm | 8 + extensions/BugModal/lib/Util.pm | 2 + extensions/BugModal/lib/WebService.pm | 1 + extensions/BugmailFilter/Config.pm | 3 + extensions/BugmailFilter/Extension.pm | 2 + extensions/BugmailFilter/lib/Constants.pm | 3 + extensions/BugmailFilter/lib/FakeField.pm | 1 + extensions/BugmailFilter/lib/Filter.pm | 1 + extensions/BzAPI/Config.pm | 2 + extensions/BzAPI/Extension.pm | 3 + extensions/BzAPI/lib/Constants.pm | 2 + extensions/BzAPI/lib/Resources/Bug.pm | 1 + extensions/BzAPI/lib/Resources/Bugzilla.pm | 1 + extensions/BzAPI/lib/Resources/User.pm | 1 + extensions/BzAPI/lib/Util.pm | 1 + extensions/ComponentWatching/Config.pm | 4 + extensions/ComponentWatching/Extension.pm | 4 + extensions/ContributorEngagement/Config.pm | 3 + extensions/ContributorEngagement/Extension.pm | 1 + extensions/ContributorEngagement/lib/Constants.pm | 2 + extensions/EditComments/Config.pm | 3 +- extensions/EditComments/Extension.pm | 1 + extensions/EditComments/lib/WebService.pm | 1 + extensions/EditTable/Config.pm | 3 + extensions/EditTable/Extension.pm | 1 + extensions/Ember/Config.pm | 1 + extensions/Ember/Extension.pm | 2 + extensions/Example/Config.pm | 28 +- extensions/Example/Extension.pm | 27 +- extensions/Example/lib/Auth/Login.pm | 25 +- extensions/Example/lib/Auth/Verify.pm | 25 +- extensions/Example/lib/Config.pm | 26 +- extensions/Example/lib/Util.pm | 25 +- extensions/Example/lib/WebService.pm | 25 +- extensions/FlagDefaultRequestee/Config.pm | 2 + extensions/FlagDefaultRequestee/Extension.pm | 3 + extensions/FlagDefaultRequestee/lib/Constants.pm | 2 + extensions/FlagTypeComment/Config.pm | 3 + extensions/FlagTypeComment/Extension.pm | 4 + extensions/FlagTypeComment/lib/Constants.pm | 3 + extensions/GitHubAuth/Config.pm | 1 + extensions/GitHubAuth/Extension.pm | 2 + extensions/GitHubAuth/lib/Client.pm | 2 + extensions/GitHubAuth/lib/Client/Error.pm | 1 + extensions/GitHubAuth/lib/Config.pm | 1 + extensions/GitHubAuth/lib/Login.pm | 3 + extensions/GitHubAuth/lib/Verify.pm | 3 + extensions/Gravatar/Config.pm | 2 + extensions/Gravatar/Extension.pm | 1 + extensions/Gravatar/lib/Data.pm | 3 + extensions/GuidedBugEntry/Config.pm | 3 + extensions/GuidedBugEntry/Extension.pm | 4 + extensions/InlineHistory/Config.pm | 3 + extensions/InlineHistory/Extension.pm | 4 + extensions/LastResolved/Config.pm | 2 + extensions/LastResolved/Extension.pm | 2 + extensions/LimitedEmail/Config.pm | 3 + extensions/LimitedEmail/Extension.pm | 4 + extensions/MozProjectReview/Config.pm | 2 + extensions/MozProjectReview/Extension.pm | 2 + extensions/MozReview/Config.pm | 1 + extensions/MozReview/bin/add-mozreview-children.pl | 2 +- extensions/MozReview/lib/Config.pm | 1 + extensions/MozReview/lib/WebService.pm | 1 + extensions/MyDashboard/Config.pm | 2 + extensions/MyDashboard/Extension.pm | 2 + extensions/MyDashboard/lib/BugInterest.pm | 1 + extensions/MyDashboard/lib/Queries.pm | 2 + extensions/MyDashboard/lib/Util.pm | 2 + extensions/MyDashboard/lib/WebService.pm | 1 + extensions/Needinfo/Config.pm | 3 + extensions/Needinfo/Extension.pm | 2 + extensions/OpenGraph/Config.pm | 2 + extensions/OpenGraph/Extension.pm | 4 + extensions/OrangeFactor/Config.pm | 3 + extensions/OrangeFactor/Extension.pm | 4 + extensions/Persona/Config.pm | 3 + extensions/Persona/Extension.pm | 4 + extensions/Persona/lib/Config.pm | 1 + extensions/Persona/lib/Login.pm | 4 + extensions/ProdCompSearch/Config.pm | 3 + extensions/ProdCompSearch/Extension.pm | 4 + extensions/ProdCompSearch/lib/WebService.pm | 1 + extensions/ProductDashboard/Config.pm | 2 + extensions/ProductDashboard/Extension.pm | 2 + extensions/ProductDashboard/lib/Queries.pm | 2 + extensions/ProductDashboard/lib/Util.pm | 2 + extensions/Profanivore/Config.pm | 3 + extensions/Profanivore/Extension.pm | 4 + extensions/Push/Config.pm | 2 + extensions/Push/Extension.pm | 1 + extensions/Push/bin/bugzilla-pushd.pl | 6 +- extensions/Push/bin/nagios_push_checker.pl | 6 +- extensions/Push/lib/Admin.pm | 1 + extensions/Push/lib/BacklogMessage.pm | 1 + extensions/Push/lib/BacklogQueue.pm | 1 + extensions/Push/lib/Backoff.pm | 1 + extensions/Push/lib/Config.pm | 1 + extensions/Push/lib/Connector.disabled/AMQP.pm | 1 + .../Push/lib/Connector.disabled/ServiceNow.pm | 1 + extensions/Push/lib/Connector/Aha.pm | 1 + extensions/Push/lib/Connector/Base.pm | 1 + extensions/Push/lib/Connector/File.pm | 1 + extensions/Push/lib/Connector/ReviewBoard.pm | 1 + extensions/Push/lib/Connector/Spark.pm | 1 + extensions/Push/lib/Connector/TCL.pm | 1 + extensions/Push/lib/Connectors.pm | 1 + extensions/Push/lib/Constants.pm | 3 + extensions/Push/lib/Daemon.pm | 1 + extensions/Push/lib/Log.pm | 1 + extensions/Push/lib/LogEntry.pm | 1 + extensions/Push/lib/Logger.pm | 1 + extensions/Push/lib/Message.pm | 1 + extensions/Push/lib/Option.pm | 1 + extensions/Push/lib/Push.pm | 1 + extensions/Push/lib/Queue.pm | 1 + extensions/Push/lib/Serialise.pm | 1 + extensions/Push/lib/Util.pm | 1 + extensions/REMO/Config.pm | 3 + extensions/REMO/Extension.pm | 4 + extensions/RequestNagger/Config.pm | 3 + extensions/RequestNagger/Extension.pm | 1 + extensions/RequestNagger/bin/send-request-nags.pl | 2 +- extensions/RequestNagger/lib/Bug.pm | 3 + extensions/RequestNagger/lib/Constants.pm | 3 + extensions/RequestNagger/lib/Settings.pm | 2 + extensions/RestrictComments/Config.pm | 2 + extensions/RestrictComments/Extension.pm | 1 + extensions/RestrictComments/lib/Config.pm | 1 + extensions/Review/Config.pm | 3 + extensions/Review/Extension.pm | 2 + .../Review/bin/migrate_mentor_from_whiteboard.pl | 2 +- extensions/Review/bin/review_requests_rebuild.pl | 4 +- extensions/Review/lib/FlagStateActivity.pm | 2 + extensions/Review/lib/Util.pm | 2 + extensions/Review/lib/WebService.pm | 1 + extensions/SecureMail/Config.pm | 3 + extensions/SecureMail/Extension.pm | 4 + extensions/SiteMapIndex/Config.pm | 3 + extensions/SiteMapIndex/Extension.pm | 4 + extensions/SiteMapIndex/lib/Constants.pm | 4 + extensions/SiteMapIndex/lib/Util.pm | 4 + extensions/Splinter/Config.pm | 4 + extensions/Splinter/Extension.pm | 2 + extensions/Splinter/lib/Config.pm | 1 + extensions/Splinter/lib/Util.pm | 2 + extensions/TagNewUsers/Config.pm | 3 + extensions/TagNewUsers/Extension.pm | 6 + extensions/TrackingFlags/Config.pm | 3 + extensions/TrackingFlags/Extension.pm | 2 + extensions/TrackingFlags/bin/bug_825946.pl | 2 +- extensions/TrackingFlags/bin/bulk_flag_clear.pl | 6 +- .../TrackingFlags/bin/migrate_tracking_flags.pl | 6 +- extensions/TrackingFlags/lib/Admin.pm | 1 + extensions/TrackingFlags/lib/Constants.pm | 3 + extensions/TrackingFlags/lib/Flag.pm | 1 + extensions/TrackingFlags/lib/Flag/Bug.pm | 1 + extensions/TrackingFlags/lib/Flag/Value.pm | 1 + extensions/TrackingFlags/lib/Flag/Visibility.pm | 1 + extensions/TypeSniffer/Config.pm | 3 + extensions/TypeSniffer/Extension.pm | 4 + extensions/UserProfile/Config.pm | 3 + extensions/UserProfile/Extension.pm | 1 + extensions/UserProfile/bin/migrate.pl | 4 +- extensions/UserProfile/bin/update.pl | 4 +- extensions/UserProfile/lib/Util.pm | 1 + extensions/UserStory/Config.pm | 3 + extensions/UserStory/Extension.pm | 2 + extensions/UserStory/lib/Constants.pm | 1 + extensions/Voting/Config.pm | 27 +- extensions/Voting/Extension.pm | 31 +- extensions/ZPushNotify/Config.pm | 3 + extensions/ZPushNotify/Extension.pm | 2 + extensions/create.pl | 34 +- gen-cpanfile.pl | 68 + github.cgi | 6 +- importxml.pl | 35 +- index.cgi | 37 +- jobqueue.pl | 31 +- jsonrpc.cgi | 31 +- long_list.cgi | 8 +- metrics.pl | 8 +- migrate.pl | 31 +- mod_perl.pl | 32 +- page.cgi | 31 +- post_bug.cgi | 35 +- process_bug.cgi | 51 +- qa/t/lib/QA/REST.pm | 61 + qa/t/rest_bugzilla.t | 60 + qa/t/rest_classification.t | 61 + qa/t/test_password_complexity.t | 99 + query.cgi | 38 +- quips.cgi | 33 +- relogin.cgi | 33 +- report.cgi | 32 +- reports.cgi | 38 +- request.cgi | 36 +- reset_password.cgi | 6 +- rest.cgi | 6 +- runtests.pl | 6 +- sanitycheck.cgi | 34 +- sanitycheck.pl | 29 +- scripts/addcustomfield.pl | 3 +- scripts/clear-memcached.pl | 5 +- scripts/clear-templates.pl | 3 +- scripts/close_bugs_wontfix.pl | 4 +- scripts/convert_datetime.pl | 3 + scripts/cpanfile_fixed_versions.pl | 3 + scripts/fix-attachment-sizes.pl | 5 +- scripts/fix_all_open_status_queries.pl | 3 +- scripts/fixgroupqueries.pl | 3 +- scripts/fixperms.pl | 3 +- scripts/fixqueries.pl | 3 +- scripts/group-set-members.pl | 4 +- scripts/issue-api-key.pl | 5 +- scripts/merge-users.pl | 31 +- scripts/migrate-attachments.pl | 2 +- scripts/migrate-cab-review.pl | 2 +- scripts/migrate_whiteboard_keyword.pl | 3 +- scripts/move_flag_types.pl | 3 +- scripts/move_os.pl | 4 +- scripts/movebugs.pl | 4 +- scripts/movecomponent.pl | 4 +- scripts/nagios_blocker_checker.pl | 5 +- scripts/nagios_push_checker.pl | 2 +- scripts/nightly_group_bug_cleaner.pl | 4 + scripts/nuke-bugs.pl | 3 +- scripts/reassign_open_bugs.pl | 4 +- scripts/remove-non-public-data.pl | 2 +- scripts/remove_idle_group_members.pl | 4 +- scripts/reset_default_user.pl | 3 +- scripts/sanitizeme.pl | 4 +- scripts/security_remove.pl | 4 +- scripts/sendunsentbugmail.pl | 31 +- scripts/syncflags.pl | 3 +- scripts/syncmsandversions.pl | 3 +- scripts/update-bug-groups.pl | 2 +- scripts/update-crash-signatures.pl | 2 +- scripts/user-prefs.pl | 4 +- search_plugin.cgi | 26 +- sentry.pl | 10 +- show_activity.cgi | 32 +- show_bug.cgi | 30 +- showattachment.cgi | 6 +- showdependencygraph.cgi | 31 +- showdependencytree.cgi | 34 +- summarize_time.cgi | 27 +- t/001compile.t | 45 +- t/002goodperl.t | 89 +- t/003safesys.t | 73 - t/004template.t | 62 +- t/005whitespace.t | 37 +- t/006spellcheck.t | 84 +- t/007util.t | 48 +- t/008filter.t | 40 +- t/009bugwords.t | 38 +- t/010dependencies.t | 29 +- t/011pod.t | 28 +- t/012throwables.t | 40 +- t/013remote_ip.t | 82 - t/Support/Files.pm | 61 +- t/Support/Systemexec.pm | 21 +- t/Support/Templates.pm | 70 +- template/en/default/global/code-error.html.tmpl | 3 +- template/en/default/setup/strings.txt.pl | 84 +- testagent.cgi | 4 +- testserver.pl | 25 +- token.cgi | 36 +- userprefs.cgi | 32 +- view_job_queue.cgi | 4 +- votes.cgi | 6 +- whine.pl | 30 +- whineatnews.pl | 33 +- xml.cgi | 6 +- xmlrpc.cgi | 26 +- 522 files changed, 9129 insertions(+), 6121 deletions(-) delete mode 100644 Bugzilla/Install/CPAN.pm create mode 100644 META.json create mode 100644 META.yml create mode 100644 Makefile.PL create mode 100644 cpanfile create mode 100644 cpanfile.snapshot create mode 100755 gen-cpanfile.pl create mode 100644 qa/t/lib/QA/REST.pm create mode 100644 qa/t/rest_bugzilla.t create mode 100644 qa/t/rest_classification.t create mode 100644 qa/t/test_password_complexity.t delete mode 100644 t/003safesys.t delete mode 100644 t/013remote_ip.t diff --git a/.gitignore b/.gitignore index a829834c5..0172ea059 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/Bugzilla.pm b/Bugzilla.pm index 56bbb5c15..72192d41a 100644 --- a/Bugzilla.pm +++ b/Bugzilla.pm @@ -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 -# Erik Stambaugh -# A. Karl Kornel -# Marc Schumann +# 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 { diff --git a/Bugzilla/Attachment.pm b/Bugzilla/Attachment.pm index 3b4953f64..068ba9e45 100644 --- a/Bugzilla/Attachment.pm +++ b/Bugzilla/Attachment.pm @@ -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 -# Myk Melez -# Marc Schumann -# Frédéric Buclin +# 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 diff --git a/Bugzilla/Attachment/Database.pm b/Bugzilla/Attachment/Database.pm index 24617cacc..42cdd2d6f 100644 --- a/Bugzilla/Attachment/Database.pm +++ b/Bugzilla/Attachment/Database.pm @@ -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; diff --git a/Bugzilla/Attachment/FileSystem.pm b/Bugzilla/Attachment/FileSystem.pm index 675184c49..a9fdf83b6 100644 --- a/Bugzilla/Attachment/FileSystem.pm +++ b/Bugzilla/Attachment/FileSystem.pm @@ -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; diff --git a/Bugzilla/Attachment/PatchReader.pm b/Bugzilla/Attachment/PatchReader.pm index 2c1647736..fb8b83392 100644 --- a/Bugzilla/Attachment/PatchReader.pm +++ b/Bugzilla/Attachment/PatchReader.pm @@ -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 -# Frédéric Buclin - -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'; diff --git a/Bugzilla/Attachment/S3.pm b/Bugzilla/Attachment/S3.pm index 6d11f423e..e1c7269a5 100644 --- a/Bugzilla/Attachment/S3.pm +++ b/Bugzilla/Attachment/S3.pm @@ -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; diff --git a/Bugzilla/Auth.pm b/Bugzilla/Auth.pm index f57ee80e0..522fbebf3 100644 --- a/Bugzilla/Auth.pm +++ b/Bugzilla/Auth.pm @@ -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 -# Erik Stambaugh -# Max Kanat-Alexander +# 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 diff --git a/Bugzilla/Auth/Login.pm b/Bugzilla/Auth/Login.pm index 09830da25..a5f089777 100644 --- a/Bugzilla/Auth/Login.pm +++ b/Bugzilla/Auth/Login.pm @@ -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 +# 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 diff --git a/Bugzilla/Auth/Login/APIKey.pm b/Bugzilla/Auth/Login/APIKey.pm index 4038cc8b9..25c2a3555 100644 --- a/Bugzilla/Auth/Login/APIKey.pm +++ b/Bugzilla/Auth/Login/APIKey.pm @@ -9,6 +9,7 @@ package Bugzilla::Auth::Login::APIKey; use 5.10.1; use strict; +use warnings; use base qw(Bugzilla::Auth::Login); diff --git a/Bugzilla/Auth/Login/CGI.pm b/Bugzilla/Auth/Login/CGI.pm index 240698277..dad6ddb7c 100644 --- a/Bugzilla/Auth/Login/CGI.pm +++ b/Bugzilla/Auth/Login/CGI.pm @@ -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 -# Dan Mosedale -# Joe Robins -# Dave Miller -# Christopher Aillon -# Gervase Markham -# Christian Reis -# Bradley Baetz -# Erik Stambaugh -# Max Kanat-Alexander +# 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; diff --git a/Bugzilla/Auth/Login/Cookie.pm b/Bugzilla/Auth/Login/Cookie.pm index 0a2386ee9..b52e3e7c1 100644 --- a/Bugzilla/Auth/Login/Cookie.pm +++ b/Bugzilla/Auth/Login/Cookie.pm @@ -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 -# Max Kanat-Alexander +# 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); diff --git a/Bugzilla/Auth/Login/Env.pm b/Bugzilla/Auth/Login/Env.pm index 76227f18b..9d3da183f 100644 --- a/Bugzilla/Auth/Login/Env.pm +++ b/Bugzilla/Auth/Login/Env.pm @@ -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 -# Max Kanat-Alexander +# 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; diff --git a/Bugzilla/Auth/Login/Stack.pm b/Bugzilla/Auth/Login/Stack.pm index e8d9c4635..dc35998e4 100644 --- a/Bugzilla/Auth/Login/Stack.pm +++ b/Bugzilla/Auth/Login/Stack.pm @@ -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 +# 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 diff --git a/Bugzilla/Auth/Persist/Cookie.pm b/Bugzilla/Auth/Persist/Cookie.pm index 06661101b..f39ad7de3 100644 --- a/Bugzilla/Auth/Persist/Cookie.pm +++ b/Bugzilla/Auth/Persist/Cookie.pm @@ -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 -# Dan Mosedale -# Joe Robins -# Dave Miller -# Christopher Aillon -# Gervase Markham -# Christian Reis -# Bradley Baetz -# Erik Stambaugh -# Max Kanat-Alexander +# 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; diff --git a/Bugzilla/Auth/Verify.pm b/Bugzilla/Auth/Verify.pm index 3578631f1..dbad1e9a7 100644 --- a/Bugzilla/Auth/Verify.pm +++ b/Bugzilla/Auth/Verify.pm @@ -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 +# 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; diff --git a/Bugzilla/Auth/Verify/DB.pm b/Bugzilla/Auth/Verify/DB.pm index ea86346e1..424816f4c 100644 --- a/Bugzilla/Auth/Verify/DB.pm +++ b/Bugzilla/Auth/Verify/DB.pm @@ -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 -# Dan Mosedale -# Joe Robins -# Dave Miller -# Christopher Aillon -# Gervase Markham -# Christian Reis -# Bradley Baetz -# Erik Stambaugh +# 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; diff --git a/Bugzilla/Auth/Verify/LDAP.pm b/Bugzilla/Auth/Verify/LDAP.pm index 9d438e411..c0ae619c1 100644 --- a/Bugzilla/Auth/Verify/LDAP.pm +++ b/Bugzilla/Auth/Verify/LDAP.pm @@ -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 -# Dan Mosedale -# Joe Robins -# Dave Miller -# Christopher Aillon -# Gervase Markham -# Christian Reis -# Bradley Baetz -# Erik Stambaugh -# Max Kanat-Alexander +# 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 diff --git a/Bugzilla/Auth/Verify/RADIUS.pm b/Bugzilla/Auth/Verify/RADIUS.pm index da36c3bd1..ad0778e39 100644 --- a/Bugzilla/Auth/Verify/RADIUS.pm +++ b/Bugzilla/Auth/Verify/RADIUS.pm @@ -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 +# 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; diff --git a/Bugzilla/Auth/Verify/Stack.pm b/Bugzilla/Auth/Verify/Stack.pm index e1a011992..3e5db3cec 100644 --- a/Bugzilla/Auth/Verify/Stack.pm +++ b/Bugzilla/Auth/Verify/Stack.pm @@ -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 +# 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 diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm index 327fb866c..77d2e126a 100644 --- a/Bugzilla/Bug.pm +++ b/Bugzilla/Bug.pm @@ -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 -# Terry Weissman -# Chris Yeh -# Bradley Baetz -# Dave Miller -# Max Kanat-Alexander -# Frédéric Buclin -# Lance Larsh -# Elliotte Martin -# Christian Legnitto +# 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; diff --git a/Bugzilla/BugMail.pm b/Bugzilla/BugMail.pm index 7244d97a5..aaee6b603 100644 --- a/Bugzilla/BugMail.pm +++ b/Bugzilla/BugMail.pm @@ -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 , -# Bryce Nesbitt -# Dan Mosedale -# Alan Raetz -# Jacob Steenhagen -# Matthew Tuck -# Bradley Baetz -# J. Paul Reed -# Gervase Markham -# Byron Jones -# Reed Loden -# Frédéric Buclin -# Guy Pyrzak - -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; diff --git a/Bugzilla/BugUrl.pm b/Bugzilla/BugUrl.pm index 3b05057f8..55a8cfd75 100644 --- a/Bugzilla/BugUrl.pm +++ b/Bugzilla/BugUrl.pm @@ -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 +# 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; diff --git a/Bugzilla/BugUrl/Aha.pm b/Bugzilla/BugUrl/Aha.pm index 572789e66..b467c54d8 100644 --- a/Bugzilla/BugUrl/Aha.pm +++ b/Bugzilla/BugUrl/Aha.pm @@ -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); ############################### diff --git a/Bugzilla/BugUrl/Bugzilla.pm b/Bugzilla/BugUrl/Bugzilla.pm index 53f174556..3af6d0a54 100644 --- a/Bugzilla/BugUrl/Bugzilla.pm +++ b/Bugzilla/BugUrl/Bugzilla.pm @@ -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 -# Max Kanat-Alexander +# 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; diff --git a/Bugzilla/BugUrl/Bugzilla/Local.pm b/Bugzilla/BugUrl/Bugzilla/Local.pm index 99f944fa6..9f4d90292 100644 --- a/Bugzilla/BugUrl/Bugzilla/Local.pm +++ b/Bugzilla/BugUrl/Bugzilla/Local.pm @@ -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 +# 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; diff --git a/Bugzilla/BugUrl/Debian.pm b/Bugzilla/BugUrl/Debian.pm index 7f73feea7..e018c1106 100644 --- a/Bugzilla/BugUrl/Debian.pm +++ b/Bugzilla/BugUrl/Debian.pm @@ -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 -# Reed Loden +# 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; diff --git a/Bugzilla/BugUrl/GitHub.pm b/Bugzilla/BugUrl/GitHub.pm index 29f3c2ea4..1a0219617 100644 --- a/Bugzilla/BugUrl/GitHub.pm +++ b/Bugzilla/BugUrl/GitHub.pm @@ -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); ############################### diff --git a/Bugzilla/BugUrl/Google.pm b/Bugzilla/BugUrl/Google.pm index 792699e50..110772e69 100644 --- a/Bugzilla/BugUrl/Google.pm +++ b/Bugzilla/BugUrl/Google.pm @@ -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 -# Reed Loden +# 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; diff --git a/Bugzilla/BugUrl/JIRA.pm b/Bugzilla/BugUrl/JIRA.pm index d0adcfed8..ba4b0e51b 100644 --- a/Bugzilla/BugUrl/JIRA.pm +++ b/Bugzilla/BugUrl/JIRA.pm @@ -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 +# 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; diff --git a/Bugzilla/BugUrl/Launchpad.pm b/Bugzilla/BugUrl/Launchpad.pm index a5457fda9..a56fed4ad 100644 --- a/Bugzilla/BugUrl/Launchpad.pm +++ b/Bugzilla/BugUrl/Launchpad.pm @@ -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 -# Max Kanat-Alexander +# 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; diff --git a/Bugzilla/BugUrl/MantisBT.pm b/Bugzilla/BugUrl/MantisBT.pm index c525b0b2f..48284c7e0 100644 --- a/Bugzilla/BugUrl/MantisBT.pm +++ b/Bugzilla/BugUrl/MantisBT.pm @@ -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 +# 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; diff --git a/Bugzilla/BugUrl/MozSupport.pm b/Bugzilla/BugUrl/MozSupport.pm index f78bec799..c2442e4df 100644 --- a/Bugzilla/BugUrl/MozSupport.pm +++ b/Bugzilla/BugUrl/MozSupport.pm @@ -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); ############################### diff --git a/Bugzilla/BugUrl/ServiceNow.pm b/Bugzilla/BugUrl/ServiceNow.pm index b73f56a00..8e30aa45e 100644 --- a/Bugzilla/BugUrl/ServiceNow.pm +++ b/Bugzilla/BugUrl/ServiceNow.pm @@ -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 { diff --git a/Bugzilla/BugUrl/SourceForge.pm b/Bugzilla/BugUrl/SourceForge.pm index fffa96d52..3c8dfd51d 100644 --- a/Bugzilla/BugUrl/SourceForge.pm +++ b/Bugzilla/BugUrl/SourceForge.pm @@ -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 +# 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; diff --git a/Bugzilla/BugUrl/Splat.pm b/Bugzilla/BugUrl/Splat.pm index 42918f0d4..49b2b762f 100644 --- a/Bugzilla/BugUrl/Splat.pm +++ b/Bugzilla/BugUrl/Splat.pm @@ -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 { diff --git a/Bugzilla/BugUrl/Trac.pm b/Bugzilla/BugUrl/Trac.pm index 638bd779e..600b31105 100644 --- a/Bugzilla/BugUrl/Trac.pm +++ b/Bugzilla/BugUrl/Trac.pm @@ -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 +# 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; diff --git a/Bugzilla/BugUrl/WebCompat.pm b/Bugzilla/BugUrl/WebCompat.pm index 0c0138abc..bd66dcae7 100644 --- a/Bugzilla/BugUrl/WebCompat.pm +++ b/Bugzilla/BugUrl/WebCompat.pm @@ -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); ############################### diff --git a/Bugzilla/BugUserLastVisit.pm b/Bugzilla/BugUserLastVisit.pm index 6a7b7f3ef..f40ea17d3 100644 --- a/Bugzilla/BugUserLastVisit.pm +++ b/Bugzilla/BugUserLastVisit.pm @@ -9,6 +9,7 @@ package Bugzilla::BugUserLastVisit; use 5.10.1; use strict; +use warnings; use parent qw(Bugzilla::Object); diff --git a/Bugzilla/CGI.pm b/Bugzilla/CGI.pm index 7d111063d..e44907161 100644 --- a/Bugzilla/CGI.pm +++ b/Bugzilla/CGI.pm @@ -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 -# Byron Jones -# Marc Schumann +# 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; diff --git a/Bugzilla/Chart.pm b/Bugzilla/Chart.pm index 8fd4706e4..e70def351 100644 --- a/Bugzilla/Chart.pm +++ b/Bugzilla/Chart.pm @@ -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 -# Albert Ting -# A. Karl Kornel - -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; diff --git a/Bugzilla/Classification.pm b/Bugzilla/Classification.pm index a989a40f2..a931767d2 100644 --- a/Bugzilla/Classification.pm +++ b/Bugzilla/Classification.pm @@ -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 -# Frédéric Buclin - -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; diff --git a/Bugzilla/Comment.pm b/Bugzilla/Comment.pm index 2fe86253b..a8f915bfd 100644 --- a/Bugzilla/Comment.pm +++ b/Bugzilla/Comment.pm @@ -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 -# Christian Legnitto - -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; diff --git a/Bugzilla/Comment/TagWeights.pm b/Bugzilla/Comment/TagWeights.pm index f1a220a47..4919244ce 100644 --- a/Bugzilla/Comment/TagWeights.pm +++ b/Bugzilla/Comment/TagWeights.pm @@ -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; diff --git a/Bugzilla/Component.pm b/Bugzilla/Component.pm index 74c3ae99a..b44f78733 100644 --- a/Bugzilla/Component.pm +++ b/Bugzilla/Component.pm @@ -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 -# Frédéric Buclin -# Max Kanat-Alexander -# Akamai Technologies +# 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; diff --git a/Bugzilla/Config.pm b/Bugzilla/Config.pm index 7cc6c5dcb..902d5c1f8 100644 --- a/Bugzilla/Config.pm +++ b/Bugzilla/Config.pm @@ -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 -# Dawn Endico -# Dan Mosedale -# Joe Robins -# Jake -# J. Paul Reed -# Bradley Baetz -# Christopher Aillon -# Erik Stambaugh -# Frédéric Buclin +# 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; diff --git a/Bugzilla/Config/Admin.pm b/Bugzilla/Config/Admin.pm index b0c0bad9a..74748d3d8 100644 --- a/Bugzilla/Config/Admin.pm +++ b/Bugzilla/Config/Admin.pm @@ -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 -# Dawn Endico -# Dan Mosedale -# Joe Robins -# Jacob Steenhagen -# J. Paul Reed -# Bradley Baetz -# Joseph Heenan -# Erik Stambaugh -# Frédéric Buclin +# 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; diff --git a/Bugzilla/Config/Advanced.pm b/Bugzilla/Config/Advanced.pm index 893213b02..4bf774ae0 100644 --- a/Bugzilla/Config/Advanced.pm +++ b/Bugzilla/Config/Advanced.pm @@ -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 -# Dawn Endico -# Dan Mosedale -# Joe Robins -# Jacob Steenhagen -# J. Paul Reed -# Bradley Baetz -# Joseph Heenan -# Erik Stambaugh -# Frédéric Buclin -# Max Kanat-Alexander +# 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; diff --git a/Bugzilla/Config/Attachment.pm b/Bugzilla/Config/Attachment.pm index 20cde0b01..b81d21e53 100644 --- a/Bugzilla/Config/Attachment.pm +++ b/Bugzilla/Config/Attachment.pm @@ -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 -# Dawn Endico -# Dan Mosedale -# Joe Robins -# Jacob Steenhagen -# J. Paul Reed -# Bradley Baetz -# Joseph Heenan -# Erik Stambaugh -# Frédéric Buclin +# 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; diff --git a/Bugzilla/Config/Auth.pm b/Bugzilla/Config/Auth.pm index 301c852da..9e1f89ef9 100644 --- a/Bugzilla/Config/Auth.pm +++ b/Bugzilla/Config/Auth.pm @@ -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 -# Dawn Endico -# Dan Mosedale -# Joe Robins -# Jacob Steenhagen -# J. Paul Reed -# Bradley Baetz -# Joseph Heenan -# Erik Stambaugh -# Frédéric Buclin +# 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; diff --git a/Bugzilla/Config/BugChange.pm b/Bugzilla/Config/BugChange.pm index 4e197c5e9..0acdc0ce4 100644 --- a/Bugzilla/Config/BugChange.pm +++ b/Bugzilla/Config/BugChange.pm @@ -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 -# Dawn Endico -# Dan Mosedale -# Joe Robins -# Jacob Steenhagen -# J. Paul Reed -# Bradley Baetz -# Joseph Heenan -# Erik Stambaugh -# Frédéric Buclin +# 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; diff --git a/Bugzilla/Config/BugFields.pm b/Bugzilla/Config/BugFields.pm index 490d945ea..0111ac6a8 100644 --- a/Bugzilla/Config/BugFields.pm +++ b/Bugzilla/Config/BugFields.pm @@ -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 -# Dawn Endico -# Dan Mosedale -# Joe Robins -# Jacob Steenhagen -# J. Paul Reed -# Bradley Baetz -# Joseph Heenan -# Erik Stambaugh -# Frédéric Buclin +# 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; diff --git a/Bugzilla/Config/Common.pm b/Bugzilla/Config/Common.pm index 4c9994e0e..5b67a7ffc 100644 --- a/Bugzilla/Config/Common.pm +++ b/Bugzilla/Config/Common.pm @@ -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 -# Dawn Endico -# Dan Mosedale -# Joe Robins -# Jacob Steenhagen -# J. Paul Reed -# Bradley Baetz -# Joseph Heenan -# Erik Stambaugh -# Frédéric Buclin -# Marc Schumann +# 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; diff --git a/Bugzilla/Config/Core.pm b/Bugzilla/Config/Core.pm index 3d6a00e70..0e95741a9 100644 --- a/Bugzilla/Config/Core.pm +++ b/Bugzilla/Config/Core.pm @@ -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 -# Dawn Endico -# Dan Mosedale -# Joe Robins -# Jacob Steenhagen -# J. Paul Reed -# Bradley Baetz -# Joseph Heenan -# Erik Stambaugh -# Frédéric Buclin +# 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; diff --git a/Bugzilla/Config/DependencyGraph.pm b/Bugzilla/Config/DependencyGraph.pm index b217bfb06..f9f3c0af5 100644 --- a/Bugzilla/Config/DependencyGraph.pm +++ b/Bugzilla/Config/DependencyGraph.pm @@ -31,7 +31,9 @@ package Bugzilla::Config::DependencyGraph; +use 5.10.1; use strict; +use warnings; use Bugzilla::Config::Common; diff --git a/Bugzilla/Config/General.pm b/Bugzilla/Config/General.pm index 0f043548b..5efaa6f6c 100644 --- a/Bugzilla/Config/General.pm +++ b/Bugzilla/Config/General.pm @@ -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 -# Dawn Endico -# Dan Mosedale -# Joe Robins -# Jacob Steenhagen -# J. Paul Reed -# Bradley Baetz -# Joseph Heenan -# Erik Stambaugh -# Frédéric Buclin -# Max Kanat-Alexander +# 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; diff --git a/Bugzilla/Config/GroupSecurity.pm b/Bugzilla/Config/GroupSecurity.pm index 24eddaf6b..7288d44b6 100644 --- a/Bugzilla/Config/GroupSecurity.pm +++ b/Bugzilla/Config/GroupSecurity.pm @@ -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 -# Dawn Endico -# Dan Mosedale -# Joe Robins -# Jacob Steenhagen -# J. Paul Reed -# Bradley Baetz -# Joseph Heenan -# Erik Stambaugh -# Frédéric Buclin +# 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; diff --git a/Bugzilla/Config/LDAP.pm b/Bugzilla/Config/LDAP.pm index e47f92308..0bc8240df 100644 --- a/Bugzilla/Config/LDAP.pm +++ b/Bugzilla/Config/LDAP.pm @@ -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 -# Dawn Endico -# Dan Mosedale -# Joe Robins -# Jacob Steenhagen -# J. Paul Reed -# Bradley Baetz -# Joseph Heenan -# Erik Stambaugh -# Frédéric Buclin +# 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; diff --git a/Bugzilla/Config/MTA.pm b/Bugzilla/Config/MTA.pm index aeded375f..8bbee3501 100644 --- a/Bugzilla/Config/MTA.pm +++ b/Bugzilla/Config/MTA.pm @@ -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 diff --git a/Bugzilla/Config/Memcached.pm b/Bugzilla/Config/Memcached.pm index 08d8ce0e7..292803d86 100644 --- a/Bugzilla/Config/Memcached.pm +++ b/Bugzilla/Config/Memcached.pm @@ -9,6 +9,7 @@ package Bugzilla::Config::Memcached; use 5.10.1; use strict; +use warnings; use Bugzilla::Config::Common; diff --git a/Bugzilla/Config/PatchViewer.pm b/Bugzilla/Config/PatchViewer.pm index 6bd9557a9..03dfc02a6 100644 --- a/Bugzilla/Config/PatchViewer.pm +++ b/Bugzilla/Config/PatchViewer.pm @@ -31,7 +31,9 @@ package Bugzilla::Config::PatchViewer; +use 5.10.1; use strict; +use warnings; use Bugzilla::Config::Common; diff --git a/Bugzilla/Config/Query.pm b/Bugzilla/Config/Query.pm index 4038c13ef..00ddf4323 100644 --- a/Bugzilla/Config/Query.pm +++ b/Bugzilla/Config/Query.pm @@ -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 -# Dawn Endico -# Dan Mosedale -# Joe Robins -# Jacob Steenhagen -# J. Paul Reed -# Bradley Baetz -# Joseph Heenan -# Erik Stambaugh -# Frédéric Buclin +# 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; diff --git a/Bugzilla/Config/RADIUS.pm b/Bugzilla/Config/RADIUS.pm index bc072a9c4..8e30b07a9 100644 --- a/Bugzilla/Config/RADIUS.pm +++ b/Bugzilla/Config/RADIUS.pm @@ -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 +# 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; diff --git a/Bugzilla/Config/ShadowDB.pm b/Bugzilla/Config/ShadowDB.pm index a605b2363..5dbbb5202 100644 --- a/Bugzilla/Config/ShadowDB.pm +++ b/Bugzilla/Config/ShadowDB.pm @@ -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 -# Dawn Endico -# Dan Mosedale -# Joe Robins -# Jacob Steenhagen -# J. Paul Reed -# Bradley Baetz -# Joseph Heenan -# Erik Stambaugh -# Frédéric Buclin +# 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; diff --git a/Bugzilla/Config/UserMatch.pm b/Bugzilla/Config/UserMatch.pm index 38d2cb05b..3f74a7c44 100644 --- a/Bugzilla/Config/UserMatch.pm +++ b/Bugzilla/Config/UserMatch.pm @@ -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 -# Dawn Endico -# Dan Mosedale -# Joe Robins -# Jacob Steenhagen -# J. Paul Reed -# Bradley Baetz -# Joseph Heenan -# Erik Stambaugh -# Frédéric Buclin +# 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; diff --git a/Bugzilla/Constants.pm b/Bugzilla/Constants.pm index 5f41cd3f6..94d60999b 100644 --- a/Bugzilla/Constants.pm +++ b/Bugzilla/Constants.pm @@ -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 -# Dawn Endico -# Dan Mosedale -# Joe Robins -# Jake -# J. Paul Reed -# Bradley Baetz -# Christopher Aillon -# Shane H. W. Travis -# Max Kanat-Alexander -# Marc Schumann +# 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. diff --git a/Bugzilla/DB.pm b/Bugzilla/DB.pm index cc2826f55..ae881cf05 100644 --- a/Bugzilla/DB.pm +++ b/Bugzilla/DB.pm @@ -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 -# Dan Mosedale -# Jacob Steenhagen -# Bradley Baetz -# Christopher Aillon -# Tomas Kopal -# Max Kanat-Alexander -# Lance Larsh +# 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 < -# Gayathri Swaminath -# Jeroen Ruigrok van der Werven -# Dave Lawrence -# Tomas Kopal -# Max Kanat-Alexander -# Lance Larsh +# 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 and L. =cut package Bugzilla::DB::Mysql; + +use 5.10.1; use strict; +use warnings; + use base qw(Bugzilla::DB); use Bugzilla::Constants; diff --git a/Bugzilla/DB/Oracle.pm b/Bugzilla/DB/Oracle.pm index 20eb0e550..42f3b5efd 100644 --- a/Bugzilla/DB/Oracle.pm +++ b/Bugzilla/DB/Oracle.pm @@ -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 -# Xiaoou Wu -# Max Kanat-Alexander +# 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 and L. =cut package Bugzilla::DB::Oracle; + +use 5.10.1; use strict; +use warnings; + use base qw(Bugzilla::DB); use DBD::Oracle; diff --git a/Bugzilla/DB/Pg.pm b/Bugzilla/DB/Pg.pm index 4f818932b..b2ee95e08 100644 --- a/Bugzilla/DB/Pg.pm +++ b/Bugzilla/DB/Pg.pm @@ -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 -# Gayathri Swaminath -# Jeroen Ruigrok van der Werven -# Dave Lawrence -# Tomas Kopal -# Max Kanat-Alexander -# Lance Larsh +# 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 and L. 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 diff --git a/Bugzilla/DB/Schema.pm b/Bugzilla/DB/Schema.pm index 0c976e33e..39323bcb1 100644 --- a/Bugzilla/DB/Schema.pm +++ b/Bugzilla/DB/Schema.pm @@ -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 , -# Edward J. Sabol -# Max Kanat-Alexander -# Lance Larsh -# Dennis Melentyev -# Akamai Technologies -# Elliotte Martin +# 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; diff --git a/Bugzilla/DB/Schema/Mysql.pm b/Bugzilla/DB/Schema/Mysql.pm index bcc663e83..2e40e38cf 100644 --- a/Bugzilla/DB/Schema/Mysql.pm +++ b/Bugzilla/DB/Schema/Mysql.pm @@ -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 , -# Edward J. Sabol -# Max Kanat-Alexander +# 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); diff --git a/Bugzilla/DB/Schema/Oracle.pm b/Bugzilla/DB/Schema/Oracle.pm index 37b406671..7572f80cf 100644 --- a/Bugzilla/DB/Schema/Oracle.pm +++ b/Bugzilla/DB/Schema/Oracle.pm @@ -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 -# Xiaoou Wu -# Max Kanat-Alexander +# 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); diff --git a/Bugzilla/DB/Schema/Pg.pm b/Bugzilla/DB/Schema/Pg.pm index 662120c03..d8550e2e8 100644 --- a/Bugzilla/DB/Schema/Pg.pm +++ b/Bugzilla/DB/Schema/Pg.pm @@ -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 , -# Edward J. Sabol -# Max Kanat-Alexander +# 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); diff --git a/Bugzilla/DB/Schema/Sqlite.pm b/Bugzilla/DB/Schema/Sqlite.pm index 7ed9def3e..471df340c 100644 --- a/Bugzilla/DB/Schema/Sqlite.pm +++ b/Bugzilla/DB/Schema/Sqlite.pm @@ -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 +# 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; diff --git a/Bugzilla/DB/Sqlite.pm b/Bugzilla/DB/Sqlite.pm index ee92909e3..4feb78a74 100644 --- a/Bugzilla/DB/Sqlite.pm +++ b/Bugzilla/DB/Sqlite.pm @@ -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 +# 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; diff --git a/Bugzilla/DuoWeb.pm b/Bugzilla/DuoWeb.pm index 4fb28df9e..722c032e3 100644 --- a/Bugzilla/DuoWeb.pm +++ b/Bugzilla/DuoWeb.pm @@ -28,6 +28,7 @@ package Bugzilla::DuoWeb; +use 5.10.1; use strict; use warnings; diff --git a/Bugzilla/Error.pm b/Bugzilla/Error.pm index e619f3f84..fc0e4812e 100644 --- a/Bugzilla/Error.pm +++ b/Bugzilla/Error.pm @@ -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 -# Marc Schumann -# Frédéric Buclin +# 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); diff --git a/Bugzilla/Extension.pm b/Bugzilla/Extension.pm index dbfee0971..78c027796 100644 --- a/Bugzilla/Extension.pm +++ b/Bugzilla/Extension.pm @@ -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 +# 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; diff --git a/Bugzilla/Field.pm b/Bugzilla/Field.pm index 0a0c7b15f..a9e124115 100644 --- a/Bugzilla/Field.pm +++ b/Bugzilla/Field.pm @@ -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 -# Frédéric Buclin -# Myk Melez -# Greg Hendricks +# 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); diff --git a/Bugzilla/Field/Choice.pm b/Bugzilla/Field/Choice.pm index 8d7d61def..b35006501 100644 --- a/Bugzilla/Field/Choice.pm +++ b/Bugzilla/Field/Choice.pm @@ -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 -# Greg Hendricks - -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); diff --git a/Bugzilla/Field/ChoiceInterface.pm b/Bugzilla/Field/ChoiceInterface.pm index 3292536d3..cdb43d6d0 100644 --- a/Bugzilla/Field/ChoiceInterface.pm +++ b/Bugzilla/Field/ChoiceInterface.pm @@ -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 -# Greg Hendricks +# 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; diff --git a/Bugzilla/Flag.pm b/Bugzilla/Flag.pm index 7e039f077..3e7aa6819 100644 --- a/Bugzilla/Flag.pm +++ b/Bugzilla/Flag.pm @@ -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 -# Jouni Heikniemi -# Frédéric Buclin - -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. diff --git a/Bugzilla/FlagType.pm b/Bugzilla/FlagType.pm index 8c958f5ce..a86db380b 100644 --- a/Bugzilla/FlagType.pm +++ b/Bugzilla/FlagType.pm @@ -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 -# Frédéric Buclin - -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. diff --git a/Bugzilla/Group.pm b/Bugzilla/Group.pm index 51d51b2e8..b67251619 100644 --- a/Bugzilla/Group.pm +++ b/Bugzilla/Group.pm @@ -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 -# Erik Stambaugh -# Tiago R. Mello -# Max Kanat-Alexander - -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; diff --git a/Bugzilla/Hook.pm b/Bugzilla/Hook.pm index 942623dcf..00bd316ab 100644 --- a/Bugzilla/Hook.pm +++ b/Bugzilla/Hook.pm @@ -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 -# Max Kanat-Alexander +# 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) = @_; diff --git a/Bugzilla/Install.pm b/Bugzilla/Install.pm index 97b8b677c..edadbfecb 100644 --- a/Bugzilla/Install.pm +++ b/Bugzilla/Install.pm @@ -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 +# 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 index e7556526c..000000000 --- a/Bugzilla/Install/CPAN.pm +++ /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 - -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 to do the "hard work" of -installing CPAN modules. - -=head1 SUBROUTINES - -=over - -=item C - -Sets up the configuration of CPAN for this session. Must be called -before L. Takes one boolean parameter. If true, -L will install modules globally instead of to the -local F directory. On most systems, you have to be root to do that. - -=item C - -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 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 of information to -STDOUT and STDERR. - -=back diff --git a/Bugzilla/Install/DB.pm b/Bugzilla/Install/DB.pm index 705cf3e37..ca59e778d 100644 --- a/Bugzilla/Install/DB.pm +++ b/Bugzilla/Install/DB.pm @@ -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 -# Noel Cragg +# 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; diff --git a/Bugzilla/Install/Filesystem.pm b/Bugzilla/Install/Filesystem.pm index 4a773f511..c7e9f4554 100644 --- a/Bugzilla/Install/Filesystem.pm +++ b/Bugzilla/Install/Filesystem.pm @@ -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 -# Bill Barry +# 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 }, diff --git a/Bugzilla/Install/Localconfig.pm b/Bugzilla/Install/Localconfig.pm index 7c01be37d..263d63ced 100644 --- a/Bugzilla/Install/Localconfig.pm +++ b/Bugzilla/Install/Localconfig.pm @@ -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 +# 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', diff --git a/Bugzilla/Install/Requirements.pm b/Bugzilla/Install/Requirements.pm index 27549ca41..43c441d6b 100644 --- a/Bugzilla/Install/Requirements.pm +++ b/Bugzilla/Install/Requirements.pm @@ -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 -# Marc Schumann +# 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 +=item C -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, so shell patterns work). + +=back + +=head1 SUBROUTINES + +=over 4 + +=item C =over -=item C - The name of the Perl package that you'd find on -CPAN for this requirement. +=item B -=item C - The name of a module that can be passed to the -C command in C to install this module. +This checks what required perl modules are installed, like +C does. -=item C - The version of this module that we require, or C<0> -if any version is acceptable. +=item B + +=over + +=item C<$meta> - A C object. + +=item C<$dirs> - the include dirs to search for modules, defaults to @INC. + +=item C<$output> - C if you want the function to print out information +about what it's doing, and the versions of everything installed. =back -=item C +=item B -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, plus a C item--an arrayref -of strings that describe what features require this module. +A hashref containing these values: -=item C +=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, so shell patterns work). +=item C - if all the requirements are met, this is true. -=back +=item C - an arrayref of found modules +=item C - an arrayref of missing modules -=head1 SUBROUTINES +=back -=over 4 +=back -=item C +=item C =over =item B -This checks what optional or required perl modules are installed, like -C does. +This checks that the optional Perl modules required for a feature are installed. =item B =over -=item C<$output> - C 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 object. + +=item C<$dirs> - the include dirs to search for modules, defaults to @INC. + +=item C<$output> - C 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 - Whether or not we have all the mandatory requirements. +=item C - if all the requirements are met, this is true. + +=item C - an arrayref of found modules + +=item C - an arrayref of missing modules -=item C - 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. +=back -=item C - The same as C, but for optional modules. +=item C -=item C - The name of each optional Apache module that is missing. +=over -=item C - True if at least one C module is installed. +=item B + +This checks which optional Perl modules are currently installed which can enable optional features. + +=item B + +=over -=item C - True if there are any missing Perl modules, even -optional modules. +=item C<$meta> - A C object. + +=item C<$dirs> - the include dirs to search for modules, defaults to @INC. + +=item C<$output> - C if you want the function to print out information +about what it's doing, and the versions of everything installed. =back +=item B + +A hashref keyed on the feature name. The values +are hashrefs containing C and C keys. + +C is the English description of the feature. + +C is a hashref in the same format as the return value of C, +described previously. + =back -=item C +=item C -Description: Checks if the graphviz binary specified in the +Description: Checks if the graphviz binary specified in the C 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 - - 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. - C<$output> - Set to true if you want this function to - print information to STDOUT about what it's - doing. +=item C - 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 parameter + is a valid-looking font file. -=item C - - 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. +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 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 MYMETA.json or META.json from the bugzilla directory, and a return a L object. + =back + +=back + diff --git a/Bugzilla/Install/Util.pm b/Bugzilla/Install/Util.pm index 5f6c8bceb..231ef8efc 100644 --- a/Bugzilla/Install/Util.pm +++ b/Bugzilla/Install/Util.pm @@ -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 +# 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}; } diff --git a/Bugzilla/Job/BugMail.pm b/Bugzilla/Job/BugMail.pm index 403d936ad..b4887c470 100644 --- a/Bugzilla/Job/BugMail.pm +++ b/Bugzilla/Job/BugMail.pm @@ -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)"; } diff --git a/Bugzilla/Job/Mailer.pm b/Bugzilla/Job/Mailer.pm index 56b6d4f69..a376a9256 100644 --- a/Bugzilla/Job/Mailer.pm +++ b/Bugzilla/Job/Mailer.pm @@ -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 -# Max Kanat-Alexander +# 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; diff --git a/Bugzilla/JobQueue.pm b/Bugzilla/JobQueue.pm index 766e4cc16..a5d8737b2 100644 --- a/Bugzilla/JobQueue.pm +++ b/Bugzilla/JobQueue.pm @@ -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 -# Max Kanat-Alexander +# 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; diff --git a/Bugzilla/JobQueue/Runner.pm b/Bugzilla/JobQueue/Runner.pm index 0dec85d74..865fc9138 100644 --- a/Bugzilla/JobQueue/Runner.pm +++ b/Bugzilla/JobQueue/Runner.pm @@ -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 -# Max Kanat-Alexander +# 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 @@ -26,7 +11,10 @@ package Bugzilla::JobQueue::Runner; +use 5.10.1; use strict; +use warnings; + use Cwd qw(abs_path); use File::Basename; use File::Copy; diff --git a/Bugzilla/Keyword.pm b/Bugzilla/Keyword.pm index 0cdfaa090..d65e0b942 100644 --- a/Bugzilla/Keyword.pm +++ b/Bugzilla/Keyword.pm @@ -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 - -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; diff --git a/Bugzilla/MFA.pm b/Bugzilla/MFA.pm index 868a75a7e..43c722364 100644 --- a/Bugzilla/MFA.pm +++ b/Bugzilla/MFA.pm @@ -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 ); diff --git a/Bugzilla/MFA/Dummy.pm b/Bugzilla/MFA/Dummy.pm index d91f7ae42..03fbe76b5 100644 --- a/Bugzilla/MFA/Dummy.pm +++ b/Bugzilla/MFA/Dummy.pm @@ -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. diff --git a/Bugzilla/MFA/Duo.pm b/Bugzilla/MFA/Duo.pm index 91096689f..19590944b 100644 --- a/Bugzilla/MFA/Duo.pm +++ b/Bugzilla/MFA/Duo.pm @@ -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; diff --git a/Bugzilla/MFA/TOTP.pm b/Bugzilla/MFA/TOTP.pm index 36791da15..843569ce7 100644 --- a/Bugzilla/MFA/TOTP.pm +++ b/Bugzilla/MFA/TOTP.pm @@ -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; diff --git a/Bugzilla/Mailer.pm b/Bugzilla/Mailer.pm index 68718eb6e..32a1013db 100644 --- a/Bugzilla/Mailer.pm +++ b/Bugzilla/Mailer.pm @@ -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 , -# Bryce Nesbitt -# Dan Mosedale -# Alan Raetz -# Jacob Steenhagen -# Matthew Tuck -# Bradley Baetz -# J. Paul Reed -# Gervase Markham -# Byron Jones -# Frédéric Buclin -# Max Kanat-Alexander +# 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) = (@_); diff --git a/Bugzilla/Metrics/Memcached.pm b/Bugzilla/Metrics/Memcached.pm index 8dccdb323..b640f9280 100644 --- a/Bugzilla/Metrics/Memcached.pm +++ b/Bugzilla/Metrics/Memcached.pm @@ -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; diff --git a/Bugzilla/Metrics/Mysql.pm b/Bugzilla/Metrics/Mysql.pm index 7719d1cac..60dff78c8 100644 --- a/Bugzilla/Metrics/Mysql.pm +++ b/Bugzilla/Metrics/Mysql.pm @@ -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) = @_; diff --git a/Bugzilla/Metrics/Reporter.pm b/Bugzilla/Metrics/Reporter.pm index 88a08c9b8..8216ea923 100644 --- a/Bugzilla/Metrics/Reporter.pm +++ b/Bugzilla/Metrics/Reporter.pm @@ -7,6 +7,7 @@ package Bugzilla::Metrics::Reporter; +use 5.10.1; use strict; use warnings; diff --git a/Bugzilla/Metrics/Reporter/ElasticSearch.pm b/Bugzilla/Metrics/Reporter/ElasticSearch.pm index 1bab2502c..c61a1d750 100644 --- a/Bugzilla/Metrics/Reporter/ElasticSearch.pm +++ b/Bugzilla/Metrics/Reporter/ElasticSearch.pm @@ -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; diff --git a/Bugzilla/Metrics/Reporter/STDERR.pm b/Bugzilla/Metrics/Reporter/STDERR.pm index f5bd38acb..a61cdb25f 100644 --- a/Bugzilla/Metrics/Reporter/STDERR.pm +++ b/Bugzilla/Metrics/Reporter/STDERR.pm @@ -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; diff --git a/Bugzilla/Metrics/Template.pm b/Bugzilla/Metrics/Template.pm index a3b13f85d..5d9af240e 100644 --- a/Bugzilla/Metrics/Template.pm +++ b/Bugzilla/Metrics/Template.pm @@ -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; diff --git a/Bugzilla/Metrics/Template/Context.pm b/Bugzilla/Metrics/Template/Context.pm index ae8470b3f..278cfce1e 100644 --- a/Bugzilla/Metrics/Template/Context.pm +++ b/Bugzilla/Metrics/Template/Context.pm @@ -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; diff --git a/Bugzilla/Migrate.pm b/Bugzilla/Migrate.pm index 923fc36a4..7f67bedc4 100644 --- a/Bugzilla/Migrate.pm +++ b/Bugzilla/Migrate.pm @@ -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 +# 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); diff --git a/Bugzilla/Migrate/Gnats.pm b/Bugzilla/Migrate/Gnats.pm index db628b7d5..d8771a40b 100644 --- a/Bugzilla/Migrate/Gnats.pm +++ b/Bugzilla/Migrate/Gnats.pm @@ -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 +# 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; diff --git a/Bugzilla/Milestone.pm b/Bugzilla/Milestone.pm index 78eacb3e9..2f10e1f00 100644 --- a/Bugzilla/Milestone.pm +++ b/Bugzilla/Milestone.pm @@ -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 -# Max Kanat-Alexander -# Frédéric Buclin - -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; diff --git a/Bugzilla/Object.pm b/Bugzilla/Object.pm index 84d384d2b..eaddd9e6f 100644 --- a/Bugzilla/Object.pm +++ b/Bugzilla/Object.pm @@ -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 -# Frédéric Buclin - -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; diff --git a/Bugzilla/PatchReader.pm b/Bugzilla/PatchReader.pm index 3b1ba3dda..ffcce62ec 100644 --- a/Bugzilla/PatchReader.pm +++ b/Bugzilla/PatchReader.pm @@ -1,6 +1,8 @@ package Bugzilla::PatchReader; +use 5.10.1; use strict; +use warnings; =head1 NAME diff --git a/Bugzilla/PatchReader/AddCVSContext.pm b/Bugzilla/PatchReader/AddCVSContext.pm index e4100afb1..4e7da5661 100644 --- a/Bugzilla/PatchReader/AddCVSContext.pm +++ b/Bugzilla/PatchReader/AddCVSContext.pm @@ -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 diff --git a/Bugzilla/PatchReader/Base.pm b/Bugzilla/PatchReader/Base.pm index f2fd69a68..26cb9a9a0 100644 --- a/Bugzilla/PatchReader/Base.pm +++ b/Bugzilla/PatchReader/Base.pm @@ -1,6 +1,8 @@ package Bugzilla::PatchReader::Base; +use 5.10.1; use strict; +use warnings; sub new { my $class = shift; diff --git a/Bugzilla/PatchReader/CVSClient.pm b/Bugzilla/PatchReader/CVSClient.pm index 2f76fc18d..7a8875dc8 100644 --- a/Bugzilla/PatchReader/CVSClient.pm +++ b/Bugzilla/PatchReader/CVSClient.pm @@ -9,7 +9,9 @@ package Bugzilla::PatchReader::CVSClient; +use 5.10.1; use strict; +use warnings; sub parse_cvsroot { my $cvsroot = $_[0]; diff --git a/Bugzilla/PatchReader/DiffPrinter/raw.pm b/Bugzilla/PatchReader/DiffPrinter/raw.pm index ceb425800..b7a0d8db2 100644 --- a/Bugzilla/PatchReader/DiffPrinter/raw.pm +++ b/Bugzilla/PatchReader/DiffPrinter/raw.pm @@ -1,6 +1,8 @@ package Bugzilla::PatchReader::DiffPrinter::raw; +use 5.10.1; use strict; +use warnings; sub new { my $class = shift; diff --git a/Bugzilla/PatchReader/DiffPrinter/template.pm b/Bugzilla/PatchReader/DiffPrinter/template.pm index 6545e9336..4120f1d8a 100644 --- a/Bugzilla/PatchReader/DiffPrinter/template.pm +++ b/Bugzilla/PatchReader/DiffPrinter/template.pm @@ -1,6 +1,8 @@ package Bugzilla::PatchReader::DiffPrinter::template; +use 5.10.1; use strict; +use warnings; sub new { my $class = shift; diff --git a/Bugzilla/PatchReader/FilterPatch.pm b/Bugzilla/PatchReader/FilterPatch.pm index dfe42e750..330f6329b 100644 --- a/Bugzilla/PatchReader/FilterPatch.pm +++ b/Bugzilla/PatchReader/FilterPatch.pm @@ -1,6 +1,8 @@ package Bugzilla::PatchReader::FilterPatch; +use 5.10.1; use strict; +use warnings; use Bugzilla::PatchReader::Base; diff --git a/Bugzilla/PatchReader/FixPatchRoot.pm b/Bugzilla/PatchReader/FixPatchRoot.pm index e67fb2796..1b0d250ad 100644 --- a/Bugzilla/PatchReader/FixPatchRoot.pm +++ b/Bugzilla/PatchReader/FixPatchRoot.pm @@ -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 { diff --git a/Bugzilla/PatchReader/NarrowPatch.pm b/Bugzilla/PatchReader/NarrowPatch.pm index b6502f2f3..1441e8366 100644 --- a/Bugzilla/PatchReader/NarrowPatch.pm +++ b/Bugzilla/PatchReader/NarrowPatch.pm @@ -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); diff --git a/Bugzilla/PatchReader/PatchInfoGrabber.pm b/Bugzilla/PatchReader/PatchInfoGrabber.pm index 8c52931ba..6fb35fd16 100644 --- a/Bugzilla/PatchReader/PatchInfoGrabber.pm +++ b/Bugzilla/PatchReader/PatchInfoGrabber.pm @@ -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); diff --git a/Bugzilla/PatchReader/Raw.pm b/Bugzilla/PatchReader/Raw.pm index 7e34bd4bf..4b7312f3d 100644 --- a/Bugzilla/PatchReader/Raw.pm +++ b/Bugzilla/PatchReader/Raw.pm @@ -13,7 +13,9 @@ package Bugzilla::PatchReader::Raw; # $parser->end_lines(); # +use 5.10.1; use strict; +use warnings; use Bugzilla::PatchReader::Base; diff --git a/Bugzilla/Product.pm b/Bugzilla/Product.pm index 491658614..e1e6f948c 100644 --- a/Bugzilla/Product.pm +++ b/Bugzilla/Product.pm @@ -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 -# Frédéric Buclin +# 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; diff --git a/Bugzilla/RNG.pm b/Bugzilla/RNG.pm index caa63bae2..902c803fd 100644 --- a/Bugzilla/RNG.pm +++ b/Bugzilla/RNG.pm @@ -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 +# 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); diff --git a/Bugzilla/S3.pm b/Bugzilla/S3.pm index eb30816a4..26d77562f 100644 --- a/Bugzilla/S3.pm +++ b/Bugzilla/S3.pm @@ -12,6 +12,7 @@ package Bugzilla::S3; # - default to secure (https) connections to AWS # +use 5.10.1; use strict; use warnings; diff --git a/Bugzilla/S3/Bucket.pm b/Bugzilla/S3/Bucket.pm index 37c61e666..a53ab5c51 100644 --- a/Bugzilla/S3/Bucket.pm +++ b/Bugzilla/S3/Bucket.pm @@ -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; diff --git a/Bugzilla/Search.pm b/Bugzilla/Search.pm index b85e44985..19419817a 100644 --- a/Bugzilla/Search.pm +++ b/Bugzilla/Search.pm @@ -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 -# Terry Weissman -# Dan Mosedale -# Stephan Niemz -# Andreas Franke -# Myk Melez -# Michael Schindler -# Max Kanat-Alexander -# Joel Peshkin -# Lance Larsh -# Jesse Clark -# Rémi Zara -# Reed Loden +# 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 diff --git a/Bugzilla/Search/Clause.pm b/Bugzilla/Search/Clause.pm index 89210babb..1c9491012 100644 --- a/Bugzilla/Search/Clause.pm +++ b/Bugzilla/Search/Clause.pm @@ -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 +# 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); diff --git a/Bugzilla/Search/ClauseGroup.pm b/Bugzilla/Search/ClauseGroup.pm index c8600b6ac..c7d3e6ae7 100644 --- a/Bugzilla/Search/ClauseGroup.pm +++ b/Bugzilla/Search/ClauseGroup.pm @@ -7,7 +7,9 @@ package Bugzilla::Search::ClauseGroup; +use 5.10.1; use strict; +use warnings; use base qw(Bugzilla::Search::Clause); diff --git a/Bugzilla/Search/Condition.pm b/Bugzilla/Search/Condition.pm index 167b4f01e..1c38c1f3e 100644 --- a/Bugzilla/Search/Condition.pm +++ b/Bugzilla/Search/Condition.pm @@ -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 +# 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); diff --git a/Bugzilla/Search/Quicksearch.pm b/Bugzilla/Search/Quicksearch.pm index c65fe06a8..31d8e2b2a 100644 --- a/Bugzilla/Search/Quicksearch.pm +++ b/Bugzilla/Search/Quicksearch.pm @@ -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 -# Stephen Lee -# Marc Schumann +# 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; diff --git a/Bugzilla/Search/Recent.pm b/Bugzilla/Search/Recent.pm index b9f6428d7..a5d9e2417 100644 --- a/Bugzilla/Search/Recent.pm +++ b/Bugzilla/Search/Recent.pm @@ -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 +# 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; diff --git a/Bugzilla/Search/Saved.pm b/Bugzilla/Search/Saved.pm index 6e1587d20..21d49c2d8 100644 --- a/Bugzilla/Search/Saved.pm +++ b/Bugzilla/Search/Saved.pm @@ -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 - -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; diff --git a/Bugzilla/Send/Sendmail.pm b/Bugzilla/Send/Sendmail.pm index 0c3cfe9e4..808e62056 100644 --- a/Bugzilla/Send/Sendmail.pm +++ b/Bugzilla/Send/Sendmail.pm @@ -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); diff --git a/Bugzilla/Sentry.pm b/Bugzilla/Sentry.pm index e2fdcad99..007736cea 100644 --- a/Bugzilla/Sentry.pm +++ b/Bugzilla/Sentry.pm @@ -7,6 +7,7 @@ package Bugzilla::Sentry; +use 5.10.1; use strict; use warnings; diff --git a/Bugzilla/Series.pm b/Bugzilla/Series.pm index 7168bcb7e..cfddd52b1 100644 --- a/Bugzilla/Series.pm +++ b/Bugzilla/Series.pm @@ -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 -# Lance Larsh - -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; diff --git a/Bugzilla/Status.pm b/Bugzilla/Status.pm index 4a82f68d0..62a1f1d75 100644 --- a/Bugzilla/Status.pm +++ b/Bugzilla/Status.pm @@ -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 - -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 ##### ################################ diff --git a/Bugzilla/Template.pm b/Bugzilla/Template.pm index b03817793..ab2461f1b 100644 --- a/Bugzilla/Template.pm +++ b/Bugzilla/Template.pm @@ -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 -# Dan Mosedale -# Jacob Steenhagen -# Bradley Baetz -# Christopher Aillon -# Tobias Burnus -# Myk Melez -# Max Kanat-Alexander -# Frédéric Buclin -# Greg Hendricks -# David D. Kilzer +# 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; diff --git a/Bugzilla/Template/Context.pm b/Bugzilla/Template/Context.pm index b3e3446f6..b81e32130 100644 --- a/Bugzilla/Template/Context.pm +++ b/Bugzilla/Template/Context.pm @@ -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 +# 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; diff --git a/Bugzilla/Template/Plugin/Bugzilla.pm b/Bugzilla/Template/Plugin/Bugzilla.pm index 101bd06ee..752aa9dfa 100644 --- a/Bugzilla/Template/Plugin/Bugzilla.pm +++ b/Bugzilla/Template/Plugin/Bugzilla.pm @@ -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 +# 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); diff --git a/Bugzilla/Template/Plugin/Hook.pm b/Bugzilla/Template/Plugin/Hook.pm index f2434817c..4e4d39246 100644 --- a/Bugzilla/Template/Plugin/Hook.pm +++ b/Bugzilla/Template/Plugin/Hook.pm @@ -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 -# Zach Lipton -# Elliotte Martin -# Max Kanat-Alexander +# 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; diff --git a/Bugzilla/Template/Plugin/User.pm b/Bugzilla/Template/Plugin/User.pm index 533b999c3..09452d899 100644 --- a/Bugzilla/Template/Plugin/User.pm +++ b/Bugzilla/Template/Plugin/User.pm @@ -22,8 +22,9 @@ # package Bugzilla::Template::Plugin::User; - +use 5.10.1; use strict; +use warnings; use base qw(Template::Plugin); diff --git a/Bugzilla/Token.pm b/Bugzilla/Token.pm index 6e3095549..7b5cb9bcf 100644 --- a/Bugzilla/Token.pm +++ b/Bugzilla/Token.pm @@ -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 -# Frédéric Buclin +# 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; diff --git a/Bugzilla/Update.pm b/Bugzilla/Update.pm index c9942a4f0..72a7108a8 100644 --- a/Bugzilla/Update.pm +++ b/Bugzilla/Update.pm @@ -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 +# 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; diff --git a/Bugzilla/User.pm b/Bugzilla/User.pm index ac7d5094f..447c33c21 100644 --- a/Bugzilla/User.pm +++ b/Bugzilla/User.pm @@ -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 -# Erik Stambaugh -# Bradley Baetz -# Joel Peshkin -# Byron Jones -# Shane H. W. Travis -# Max Kanat-Alexander -# Gervase Markham -# Lance Larsh -# Justin C. De Vries -# Dennis Melentyev -# Frédéric Buclin -# Mads Bondo Dydensborg +# 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; diff --git a/Bugzilla/User/APIKey.pm b/Bugzilla/User/APIKey.pm index 500f0ad59..c1a4ed572 100644 --- a/Bugzilla/User/APIKey.pm +++ b/Bugzilla/User/APIKey.pm @@ -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); diff --git a/Bugzilla/User/Session.pm b/Bugzilla/User/Session.pm index c547867d1..56e1cd07a 100644 --- a/Bugzilla/User/Session.pm +++ b/Bugzilla/User/Session.pm @@ -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 diff --git a/Bugzilla/User/Setting.pm b/Bugzilla/User/Setting.pm index f566b3459..1732ab999 100644 --- a/Bugzilla/User/Setting.pm +++ b/Bugzilla/User/Setting.pm @@ -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 -# Max Kanat-Alexander -# Marc Schumann -# Frédéric Buclin +# 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); diff --git a/Bugzilla/User/Setting/Lang.pm b/Bugzilla/User/Setting/Lang.pm index 79372704d..a3032b9fc 100644 --- a/Bugzilla/User/Setting/Lang.pm +++ b/Bugzilla/User/Setting/Lang.pm @@ -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 +# 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); diff --git a/Bugzilla/User/Setting/Skin.pm b/Bugzilla/User/Setting/Skin.pm index f69f3e66c..f0ea502ef 100644 --- a/Bugzilla/User/Setting/Skin.pm +++ b/Bugzilla/User/Setting/Skin.pm @@ -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 +# 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); diff --git a/Bugzilla/User/Setting/Timezone.pm b/Bugzilla/User/Setting/Timezone.pm index 27a90e341..a9515259e 100644 --- a/Bugzilla/User/Setting/Timezone.pm +++ b/Bugzilla/User/Setting/Timezone.pm @@ -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 +# 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; diff --git a/Bugzilla/UserAgent.pm b/Bugzilla/UserAgent.pm index 00be84c44..0db6de808 100644 --- a/Bugzilla/UserAgent.pm +++ b/Bugzilla/UserAgent.pm @@ -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 -# Dave Miller -# Joe Robins -# Gervase Markham -# Shane H. W. Travis -# Nitish Bezzala -# Byron Jones +# 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); diff --git a/Bugzilla/Util.pm b/Bugzilla/Util.pm index 2703a542e..7937d6b80 100644 --- a/Bugzilla/Util.pm +++ b/Bugzilla/Util.pm @@ -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 -# Dan Mosedale -# Jacob Steenhagen -# Bradley Baetz -# Christopher Aillon -# Max Kanat-Alexander -# Frédéric Buclin -# Marc Schumann +# 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 diff --git a/Bugzilla/Version.pm b/Bugzilla/Version.pm index 2e0854afe..a078cb4fc 100644 --- a/Bugzilla/Version.pm +++ b/Bugzilla/Version.pm @@ -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 -# Max Kanat-Alexander -# Frédéric Buclin +# 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__ diff --git a/Bugzilla/WebService.pm b/Bugzilla/WebService.pm index b0649f7b3..db8018679 100644 --- a/Bugzilla/WebService.pm +++ b/Bugzilla/WebService.pm @@ -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 -# Max Kanat-Alexander +# 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. diff --git a/Bugzilla/WebService/Bug.pm b/Bugzilla/WebService/Bug.pm index d7a1d8f9b..f9a91797e 100644 --- a/Bugzilla/WebService/Bug.pm +++ b/Bugzilla/WebService/Bug.pm @@ -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 -# Max Kanat-Alexander -# Mads Bondo Dydensborg -# Tsahi Asher -# Noura Elhawary -# Frank Becker -# Dave Lawrence +# 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; diff --git a/Bugzilla/WebService/BugUserLastVisit.pm b/Bugzilla/WebService/BugUserLastVisit.pm index 299e1596b..7b729c6c8 100644 --- a/Bugzilla/WebService/BugUserLastVisit.pm +++ b/Bugzilla/WebService/BugUserLastVisit.pm @@ -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; diff --git a/Bugzilla/WebService/Bugzilla.pm b/Bugzilla/WebService/Bugzilla.pm index 7d0b5473b..0d0393c28 100644 --- a/Bugzilla/WebService/Bugzilla.pm +++ b/Bugzilla/WebService/Bugzilla.pm @@ -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 -# Max Kanat-Alexander -# Mads Bondo Dydensborg +# 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); diff --git a/Bugzilla/WebService/Classification.pm b/Bugzilla/WebService/Classification.pm index 1b084eabb..32139ff3f 100644 --- a/Bugzilla/WebService/Classification.pm +++ b/Bugzilla/WebService/Classification.pm @@ -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; diff --git a/Bugzilla/WebService/Constants.pm b/Bugzilla/WebService/Constants.pm index 19f866e8f..bf3a93fd5 100644 --- a/Bugzilla/WebService/Constants.pm +++ b/Bugzilla/WebService/Constants.pm @@ -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 -# Max Kanat-Alexander +# 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( diff --git a/Bugzilla/WebService/Group.pm b/Bugzilla/WebService/Group.pm index 7518433af..b13003e08 100644 --- a/Bugzilla/WebService/Group.pm +++ b/Bugzilla/WebService/Group.pm @@ -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); diff --git a/Bugzilla/WebService/Product.pm b/Bugzilla/WebService/Product.pm index bccaa8347..6ca3fee90 100644 --- a/Bugzilla/WebService/Product.pm +++ b/Bugzilla/WebService/Product.pm @@ -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 -# Mads Bondo Dydensborg -# Byron Jones +# 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; diff --git a/Bugzilla/WebService/Server.pm b/Bugzilla/WebService/Server.pm index a84ba2961..5384feef1 100644 --- a/Bugzilla/WebService/Server.pm +++ b/Bugzilla/WebService/Server.pm @@ -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 -# Max Kanat-Alexander +# 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); diff --git a/Bugzilla/WebService/Server/JSONRPC.pm b/Bugzilla/WebService/Server/JSONRPC.pm index b66bcaea1..24ad12730 100644 --- a/Bugzilla/WebService/Server/JSONRPC.pm +++ b/Bugzilla/WebService/Server/JSONRPC.pm @@ -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 +# 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); diff --git a/Bugzilla/WebService/Server/REST.pm b/Bugzilla/WebService/Server/REST.pm index d94fb1d81..5266f8fa7 100644 --- a/Bugzilla/WebService/Server/REST.pm +++ b/Bugzilla/WebService/Server/REST.pm @@ -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; diff --git a/Bugzilla/WebService/Server/REST/Resources/Bug.pm b/Bugzilla/WebService/Server/REST/Resources/Bug.pm index 163790b77..33cf43321 100644 --- a/Bugzilla/WebService/Server/REST/Resources/Bug.pm +++ b/Bugzilla/WebService/Server/REST/Resources/Bug.pm @@ -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; diff --git a/Bugzilla/WebService/Server/REST/Resources/Bugzilla.pm b/Bugzilla/WebService/Server/REST/Resources/Bugzilla.pm index 1c86f77bc..a8f3f9330 100644 --- a/Bugzilla/WebService/Server/REST/Resources/Bugzilla.pm +++ b/Bugzilla/WebService/Server/REST/Resources/Bugzilla.pm @@ -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; diff --git a/Bugzilla/WebService/Server/REST/Resources/Classification.pm b/Bugzilla/WebService/Server/REST/Resources/Classification.pm index 5bb697ac1..f20278f55 100644 --- a/Bugzilla/WebService/Server/REST/Resources/Classification.pm +++ b/Bugzilla/WebService/Server/REST/Resources/Classification.pm @@ -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; diff --git a/Bugzilla/WebService/Server/REST/Resources/Product.pm b/Bugzilla/WebService/Server/REST/Resources/Product.pm index acee3887b..9ca6e3074 100644 --- a/Bugzilla/WebService/Server/REST/Resources/Product.pm +++ b/Bugzilla/WebService/Server/REST/Resources/Product.pm @@ -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; diff --git a/Bugzilla/WebService/Server/REST/Resources/User.pm b/Bugzilla/WebService/Server/REST/Resources/User.pm index 7d494064d..eb44e9d2d 100644 --- a/Bugzilla/WebService/Server/REST/Resources/User.pm +++ b/Bugzilla/WebService/Server/REST/Resources/User.pm @@ -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; diff --git a/Bugzilla/WebService/Server/XMLRPC.pm b/Bugzilla/WebService/Server/XMLRPC.pm index f92936e83..f8b7e0994 100644 --- a/Bugzilla/WebService/Server/XMLRPC.pm +++ b/Bugzilla/WebService/Server/XMLRPC.pm @@ -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 -# Max Kanat-Alexander -# Rosie Clarkson -# -# 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}) { diff --git a/Bugzilla/WebService/User.pm b/Bugzilla/WebService/User.pm index a9dcdf4be..78c6ed798 100644 --- a/Bugzilla/WebService/User.pm +++ b/Bugzilla/WebService/User.pm @@ -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 -# Max Kanat-Alexander -# Mads Bondo Dydensborg -# Noura Elhawary +# 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; diff --git a/Bugzilla/WebService/Util.pm b/Bugzilla/WebService/Util.pm index 4280f28e6..b0621b000 100644 --- a/Bugzilla/WebService/Util.pm +++ b/Bugzilla/WebService/Util.pm @@ -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 +# 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; diff --git a/Bugzilla/Whine.pm b/Bugzilla/Whine.pm index 73b0802b1..c4301b4f6 100644 --- a/Bugzilla/Whine.pm +++ b/Bugzilla/Whine.pm @@ -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 - -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; diff --git a/Bugzilla/Whine/Query.pm b/Bugzilla/Whine/Query.pm index 11215759b..886c54815 100644 --- a/Bugzilla/Whine/Query.pm +++ b/Bugzilla/Whine/Query.pm @@ -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 +# 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); diff --git a/Bugzilla/Whine/Schedule.pm b/Bugzilla/Whine/Schedule.pm index 63148856c..0c159cf3f 100644 --- a/Bugzilla/Whine/Schedule.pm +++ b/Bugzilla/Whine/Schedule.pm @@ -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 - -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 index 000000000..78acba744 --- /dev/null +++ b/META.json @@ -0,0 +1,430 @@ +{ + "abstract" : "Bugzilla Bug Tracking System", + "author" : [ + "Bugzilla Developers " + ], + "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 index 000000000..06a572ca8 --- /dev/null +++ b/META.yml @@ -0,0 +1,231 @@ +--- +abstract: 'Bugzilla Bug Tracking System' +author: + - 'Bugzilla Developers ' +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 index 000000000..3d6857bc3 --- /dev/null +++ b/Makefile.PL @@ -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 }, + 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 <&1 /dev/null; mv */META.json . + +META.yml: Makefile.PL +\tmake distmeta 2>&1 /dev/null; mv */META.yml . +MAKE +} diff --git a/admin.cgi b/admin.cgi index 83cc55d8b..d8fc0475d 100755 --- 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 +# 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/attachment.cgi b/attachment.cgi index 7f6353bdd..da808bd3f 100755 --- a/attachment.cgi +++ b/attachment.cgi @@ -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 -# Myk Melez -# Daniel Raichle -# Dave Miller -# Alexander J. Vincent -# Max Kanat-Alexander -# Greg Hendricks -# Frédéric Buclin -# Marc Schumann -# Byron Jones - -################################################################################ -# 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; diff --git a/auth.cgi b/auth.cgi index 05ec79b5c..86c1f656a 100755 --- 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; diff --git a/buglist.cgi b/buglist.cgi index 48c3ac57a..850d79d01 100755 --- a/buglist.cgi +++ b/buglist.cgi @@ -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 -# Dan Mosedale -# Stephan Niemz -# Andreas Franke -# Myk Melez -# Max Kanat-Alexander - -################################################################################ -# 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; diff --git a/chart.cgi b/chart.cgi index 89fefbc3f..64c07c6c3 100755 --- 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 -# Lance Larsh -# Frédéric Buclin +# 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. @@ -43,8 +27,11 @@ # 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; diff --git a/checksetup.pl b/checksetup.pl index 9221abd4d..e5df8c5c8 100755 --- a/checksetup.pl +++ b/checksetup.pl @@ -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 -# Terry Weissman -# Dan Mosedale -# Dave Miller -# Zach Lipton -# Jacob Steenhagen -# Bradley Baetz -# Tobias Burnus -# Shane H. W. Travis -# Gervase Markham -# Erik Stambaugh -# Dave Lawrence -# Max Kanat-Alexander -# Joel Peshkin -# Lance Larsh -# A. Karl Kornel -# Marc Schumann +# 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. @@ -42,15 +12,23 @@ # 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 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 -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. =item 9 -Updates the system parameters (stored in F), using +Updates the system parameters (stored in F), using L. =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 means "never stop and prompt the user to hit Enter to continue, @@ -543,4 +545,3 @@ L L =back - diff --git a/clean-bug-user-last-visit.pl b/clean-bug-user-last-visit.pl index 9884b7c48..810fe598c 100755 --- a/clean-bug-user-last-visit.pl +++ b/clean-bug-user-last-visit.pl @@ -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; diff --git a/colchange.cgi b/colchange.cgi index 844f7615c..2d0a7ba1e 100755 --- a/colchange.cgi +++ b/colchange.cgi @@ -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 -# Gervase Markham -# Max Kanat-Alexander -# Pascal Held +# 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; diff --git a/collectstats.pl b/collectstats.pl index 267685117..396f7ff6e 100755 --- a/collectstats.pl +++ b/collectstats.pl @@ -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 , -# Harrison Page -# Gervase Markham -# Richard Walters -# Jean-Sebastien Guay -# Frédéric Buclin +# 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; diff --git a/config.cgi b/config.cgi index fcc5d82ed..5f29025cd 100755 --- a/config.cgi +++ b/config.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): Terry Weissman -# Myk Melez -# Frank Becker - -################################################################################ -# 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; diff --git a/contrib/clear-memcached.pl b/contrib/clear-memcached.pl index 01202ce7c..31fe3bb00 100755 --- a/contrib/clear-memcached.pl +++ b/contrib/clear-memcached.pl @@ -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; diff --git a/contrib/clear-templates.pl b/contrib/clear-templates.pl index 8b0864d46..ba89cb6d5 100755 --- a/contrib/clear-templates.pl +++ b/contrib/clear-templates.pl @@ -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; diff --git a/contrib/fixperms.pl b/contrib/fixperms.pl index 406c149cb..3246fc06b 100755 --- a/contrib/fixperms.pl +++ b/contrib/fixperms.pl @@ -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); diff --git a/contrib/nagios_blocker_checker.pl b/contrib/nagios_blocker_checker.pl index 768053126..f0d18f509 100755 --- a/contrib/nagios_blocker_checker.pl +++ b/contrib/nagios_blocker_checker.pl @@ -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 index 000000000..51867bd59 --- /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 index 000000000..9ab261353 --- /dev/null +++ b/cpanfile.snapshot @@ -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 diff --git a/createaccount.cgi b/createaccount.cgi index acc63e891..c545d9ced 100755 --- a/createaccount.cgi +++ b/createaccount.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 -# David Gardiner -# Joe Robins -# Christopher Aillon -# Gervase Markham +# 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/describecomponents.cgi b/describecomponents.cgi index ed1f2388c..86f652fcc 100755 --- a/describecomponents.cgi +++ b/describecomponents.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 @@ -22,8 +22,10 @@ # Bradley Baetz # Frédéric Buclin +use 5.10.1; use strict; -use lib qw(. lib); +use warnings; +use lib qw(. lib local/lib/perl5); use Bugzilla; use Bugzilla::Constants; diff --git a/describekeywords.cgi b/describekeywords.cgi index 3850125cc..f48b88b7f 100755 --- a/describekeywords.cgi +++ b/describekeywords.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 @@ -21,8 +21,10 @@ # Contributor(s): Terry Weissman # Contributor(s): Gervase Markham +use 5.10.1; use strict; -use lib qw(. lib); +use warnings; +use lib qw(. lib local/lib/perl5); use Bugzilla; use Bugzilla::Error; diff --git a/docs/makedocs.pl b/docs/makedocs.pl index 6f353dc6d..73bd6ce86 100755 --- a/docs/makedocs.pl +++ b/docs/makedocs.pl @@ -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); diff --git a/duplicates.cgi b/duplicates.cgi index 798599ed0..a56e27473 100755 --- a/duplicates.cgi +++ b/duplicates.cgi @@ -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 -# Max Kanat-Alexander +# 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; diff --git a/editclassifications.cgi b/editclassifications.cgi index 3ab89f120..2bcf74298 100755 --- a/editclassifications.cgi +++ b/editclassifications.cgi @@ -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 -# Max Kanat-Alexander -# Frédéric Buclin +# 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; diff --git a/editcomponents.cgi b/editcomponents.cgi index 7da22211b..9f59cda8f 100755 --- a/editcomponents.cgi +++ b/editcomponents.cgi @@ -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 -# Terry Weissman -# Frédéric Buclin -# Akamai Technologies +# 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; diff --git a/editfields.cgi b/editfields.cgi index cdf1008f7..1c417ab1c 100755 --- a/editfields.cgi +++ b/editfields.cgi @@ -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 +# 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; diff --git a/editflagtypes.cgi b/editflagtypes.cgi index d28188ad7..a6eebe433 100755 --- a/editflagtypes.cgi +++ b/editflagtypes.cgi @@ -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 -# Frédéric Buclin - -################################################################################ -# 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; diff --git a/editgroups.cgi b/editgroups.cgi index 68590457e..23e880de9 100755 --- a/editgroups.cgi +++ b/editgroups.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): Dave Miller -# Joel Peshkin -# Jacob Steenhagen -# Vlad Dascalu -# Frédéric Buclin +# 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; diff --git a/editkeywords.cgi b/editkeywords.cgi index 2f0cd563b..906954be4 100755 --- a/editkeywords.cgi +++ b/editkeywords.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 Terry Weissman. -# Portions created by Terry Weissman are -# Copyright (C) 2000 Terry Weissman. All -# Rights Reserved. -# -# Contributor(s): Terry Weissman +# 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; diff --git a/editmilestones.cgi b/editmilestones.cgi index ca1c4368e..41df2b494 100755 --- a/editmilestones.cgi +++ b/editmilestones.cgi @@ -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 -# Gavin Shelley -# Frédéric Buclin +# 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; diff --git a/editparams.cgi b/editparams.cgi index 0731e5ee3..d3b48b93c 100755 --- a/editparams.cgi +++ b/editparams.cgi @@ -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 -# J. Paul Reed -# Frédéric Buclin +# 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; diff --git a/editproducts.cgi b/editproducts.cgi index 6d5c5e593..e0868ad08 100755 --- a/editproducts.cgi +++ b/editproducts.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 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 -# Terry Weissman -# Dawn Endico -# Joe Robins -# Gavin Shelley -# Frédéric Buclin -# Greg Hendricks -# Lance Larsh -# Elliotte Martin +# 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; diff --git a/editsettings.cgi b/editsettings.cgi index 981495893..ef419c7e3 100755 --- a/editsettings.cgi +++ b/editsettings.cgi @@ -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 -# Frédéric Buclin +# 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; diff --git a/editusers.cgi b/editusers.cgi index 318b858e5..efe6a27e3 100755 --- a/editusers.cgi +++ b/editusers.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. -# -# Contributor(s): Marc Schumann -# Lance Larsh -# Frédéric Buclin -# David Lawrence -# Vlad Dascalu -# Gavin Shelley +# 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; diff --git a/editvalues.cgi b/editvalues.cgi index 53ea78512..4511604da 100755 --- a/editvalues.cgi +++ b/editvalues.cgi @@ -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 -# Frédéric Buclin - -# 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; diff --git a/editversions.cgi b/editversions.cgi index 165a174b5..ddfc5418e 100755 --- a/editversions.cgi +++ b/editversions.cgi @@ -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 -# Terry Weissman -# Gavin Shelley -# Frédéric Buclin +# 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; diff --git a/editwhines.cgi b/editwhines.cgi index 04e2b548f..23611cd79 100755 --- a/editwhines.cgi +++ b/editwhines.cgi @@ -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 +#!/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; diff --git a/editworkflow.cgi b/editworkflow.cgi index 321f077fe..eef7a9f62 100755 --- a/editworkflow.cgi +++ b/editworkflow.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 +# 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/email_in.pl b/email_in.pl index 34e57c90c..0e61bf8f1 100755 --- a/email_in.pl +++ b/email_in.pl @@ -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 +# 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); diff --git a/enter_bug.cgi b/enter_bug.cgi index afaffd752..4d29ca040 100755 --- a/enter_bug.cgi +++ b/enter_bug.cgi @@ -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 -# Dave Miller -# Joe Robins -# Gervase Markham -# Shane H. W. Travis -# Nitish Bezzala +# This Source Code Form is "Incompatible With Secondary Licenses", as +# defined by the Mozilla Public License, v. 2.0. ############################################################################## # @@ -34,9 +16,11 @@ # ############################################################################## +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/extensions/AntiSpam/Config.pm b/extensions/AntiSpam/Config.pm index 92c32f629..e16add9b7 100644 --- a/extensions/AntiSpam/Config.pm +++ b/extensions/AntiSpam/Config.pm @@ -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 => [ diff --git a/extensions/AntiSpam/Extension.pm b/extensions/AntiSpam/Extension.pm index 2abba291d..19eddb4e7 100644 --- a/extensions/AntiSpam/Extension.pm +++ b/extensions/AntiSpam/Extension.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::AntiSpam; +use 5.10.1; use strict; use warnings; diff --git a/extensions/AntiSpam/lib/Config.pm b/extensions/AntiSpam/lib/Config.pm index 754907d22..b6d1234d9 100644 --- a/extensions/AntiSpam/lib/Config.pm +++ b/extensions/AntiSpam/lib/Config.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::AntiSpam::Config; +use 5.10.1; use strict; use warnings; diff --git a/extensions/BMO/Config.pm b/extensions/BMO/Config.pm index 93445f576..153af24cb 100644 --- a/extensions/BMO/Config.pm +++ b/extensions/BMO/Config.pm @@ -20,7 +20,10 @@ # Gervase Markham package Bugzilla::Extension::BMO; + +use 5.10.1; use strict; +use warnings; use constant NAME => 'BMO'; diff --git a/extensions/BMO/Extension.pm b/extensions/BMO/Extension.pm index 5b87d2e8b..ac0acd72d 100644 --- a/extensions/BMO/Extension.pm +++ b/extensions/BMO/Extension.pm @@ -22,7 +22,11 @@ # Byron Jones package Bugzilla::Extension::BMO; + +use 5.10.1; use strict; +use warnings; + use base qw(Bugzilla::Extension); use Bugzilla::BugMail; diff --git a/extensions/BMO/bin/bug_1022707.pl b/extensions/BMO/bin/bug_1022707.pl index c27757220..b0a49aa65 100755 --- a/extensions/BMO/bin/bug_1022707.pl +++ b/extensions/BMO/bin/bug_1022707.pl @@ -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 ); diff --git a/extensions/BMO/bin/bug_1093952.pl b/extensions/BMO/bin/bug_1093952.pl index 55d68b9be..a784e63a3 100755 --- a/extensions/BMO/bin/bug_1093952.pl +++ b/extensions/BMO/bin/bug_1093952.pl @@ -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; diff --git a/extensions/BMO/bin/bug_1141452.pl b/extensions/BMO/bin/bug_1141452.pl index 0d9b891ea..d2d260d7b 100755 --- a/extensions/BMO/bin/bug_1141452.pl +++ b/extensions/BMO/bin/bug_1141452.pl @@ -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; diff --git a/extensions/BMO/bin/migrate-github-pull-requests.pl b/extensions/BMO/bin/migrate-github-pull-requests.pl index 1d84352a2..11bf8c55f 100755 --- a/extensions/BMO/bin/migrate-github-pull-requests.pl +++ b/extensions/BMO/bin/migrate-github-pull-requests.pl @@ -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() } diff --git a/extensions/BMO/lib/Constants.pm b/extensions/BMO/lib/Constants.pm index c77e14f7b..3670cb9a2 100644 --- a/extensions/BMO/lib/Constants.pm +++ b/extensions/BMO/lib/Constants.pm @@ -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 diff --git a/extensions/BMO/lib/Data.pm b/extensions/BMO/lib/Data.pm index b074cb64a..d4c2e3012 100644 --- a/extensions/BMO/lib/Data.pm +++ b/extensions/BMO/lib/Data.pm @@ -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; diff --git a/extensions/BMO/lib/FakeBug.pm b/extensions/BMO/lib/FakeBug.pm index 6127cb560..f84835ddd 100644 --- a/extensions/BMO/lib/FakeBug.pm +++ b/extensions/BMO/lib/FakeBug.pm @@ -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; diff --git a/extensions/BMO/lib/Reports/Groups.pm b/extensions/BMO/lib/Reports/Groups.pm index a4816f914..ce7df767c 100644 --- a/extensions/BMO/lib/Reports/Groups.pm +++ b/extensions/BMO/lib/Reports/Groups.pm @@ -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; diff --git a/extensions/BMO/lib/Reports/Internship.pm b/extensions/BMO/lib/Reports/Internship.pm index cad403d09..2dfa583a6 100644 --- a/extensions/BMO/lib/Reports/Internship.pm +++ b/extensions/BMO/lib/Reports/Internship.pm @@ -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; diff --git a/extensions/BMO/lib/Reports/ProductSecurity.pm b/extensions/BMO/lib/Reports/ProductSecurity.pm index 2324e725a..e7ccda171 100644 --- a/extensions/BMO/lib/Reports/ProductSecurity.pm +++ b/extensions/BMO/lib/Reports/ProductSecurity.pm @@ -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; diff --git a/extensions/BMO/lib/Reports/Recruiting.pm b/extensions/BMO/lib/Reports/Recruiting.pm index bd988d9b1..39eb8327d 100644 --- a/extensions/BMO/lib/Reports/Recruiting.pm +++ b/extensions/BMO/lib/Reports/Recruiting.pm @@ -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; diff --git a/extensions/BMO/lib/Reports/ReleaseTracking.pm b/extensions/BMO/lib/Reports/ReleaseTracking.pm index 8894a5169..b6c7c4520 100644 --- a/extensions/BMO/lib/Reports/ReleaseTracking.pm +++ b/extensions/BMO/lib/Reports/ReleaseTracking.pm @@ -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; diff --git a/extensions/BMO/lib/Reports/Triage.pm b/extensions/BMO/lib/Reports/Triage.pm index debb50577..e9a987b54 100644 --- a/extensions/BMO/lib/Reports/Triage.pm +++ b/extensions/BMO/lib/Reports/Triage.pm @@ -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; diff --git a/extensions/BMO/lib/Reports/UserActivity.pm b/extensions/BMO/lib/Reports/UserActivity.pm index 0a8e79e1f..8dfe0c5cd 100644 --- a/extensions/BMO/lib/Reports/UserActivity.pm +++ b/extensions/BMO/lib/Reports/UserActivity.pm @@ -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; diff --git a/extensions/BMO/lib/Util.pm b/extensions/BMO/lib/Util.pm index df781b9d2..dc9c904f9 100644 --- a/extensions/BMO/lib/Util.pm +++ b/extensions/BMO/lib/Util.pm @@ -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; diff --git a/extensions/BMO/lib/WebService.pm b/extensions/BMO/lib/WebService.pm index 87d45085e..6ee7cfa6e 100644 --- a/extensions/BMO/lib/WebService.pm +++ b/extensions/BMO/lib/WebService.pm @@ -19,6 +19,7 @@ package Bugzilla::Extension::BMO::WebService; +use 5.10.1; use strict; use warnings; diff --git a/extensions/Bitly/Config.pm b/extensions/Bitly/Config.pm index aff9d4b4b..a07df0f1b 100644 --- a/extensions/Bitly/Config.pm +++ b/extensions/Bitly/Config.pm @@ -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; diff --git a/extensions/Bitly/Extension.pm b/extensions/Bitly/Extension.pm index a368b20fe..82f17bc2a 100644 --- a/extensions/Bitly/Extension.pm +++ b/extensions/Bitly/Extension.pm @@ -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; diff --git a/extensions/Bitly/lib/WebService.pm b/extensions/Bitly/lib/WebService.pm index b47accda6..b8ada56d2 100644 --- a/extensions/Bitly/lib/WebService.pm +++ b/extensions/Bitly/lib/WebService.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::Bitly::WebService; +use 5.10.1; use strict; use warnings; diff --git a/extensions/BugModal/Config.pm b/extensions/BugModal/Config.pm index a60a99a7a..25a864e6e 100644 --- a/extensions/BugModal/Config.pm +++ b/extensions/BugModal/Config.pm @@ -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 => [ ]; diff --git a/extensions/BugModal/Extension.pm b/extensions/BugModal/Extension.pm index 01faf06d5..fb3a69cc7 100644 --- a/extensions/BugModal/Extension.pm +++ b/extensions/BugModal/Extension.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::BugModal; +use 5.10.1; use strict; use warnings; diff --git a/extensions/BugModal/lib/ActivityStream.pm b/extensions/BugModal/lib/ActivityStream.pm index c9e053934..708c056d4 100644 --- a/extensions/BugModal/lib/ActivityStream.pm +++ b/extensions/BugModal/lib/ActivityStream.pm @@ -9,6 +9,8 @@ package Bugzilla::Extension::BugModal::ActivityStream; 1; package Bugzilla::Bug; + +use 5.10.1; use strict; use warnings; diff --git a/extensions/BugModal/lib/MonkeyPatches.pm b/extensions/BugModal/lib/MonkeyPatches.pm index 61f945a87..88fce11af 100644 --- a/extensions/BugModal/lib/MonkeyPatches.pm +++ b/extensions/BugModal/lib/MonkeyPatches.pm @@ -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; diff --git a/extensions/BugModal/lib/Util.pm b/extensions/BugModal/lib/Util.pm index 74311197a..6a453159e 100644 --- a/extensions/BugModal/lib/Util.pm +++ b/extensions/BugModal/lib/Util.pm @@ -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; diff --git a/extensions/BugModal/lib/WebService.pm b/extensions/BugModal/lib/WebService.pm index 7a05f263b..338129e9b 100644 --- a/extensions/BugModal/lib/WebService.pm +++ b/extensions/BugModal/lib/WebService.pm @@ -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; diff --git a/extensions/BugmailFilter/Config.pm b/extensions/BugmailFilter/Config.pm index 9932afb40..5948c3b64 100644 --- a/extensions/BugmailFilter/Config.pm +++ b/extensions/BugmailFilter/Config.pm @@ -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 => []; diff --git a/extensions/BugmailFilter/Extension.pm b/extensions/BugmailFilter/Extension.pm index dc38e8577..d4d7bb790 100644 --- a/extensions/BugmailFilter/Extension.pm +++ b/extensions/BugmailFilter/Extension.pm @@ -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; diff --git a/extensions/BugmailFilter/lib/Constants.pm b/extensions/BugmailFilter/lib/Constants.pm index 20e5480d0..a6636dda7 100644 --- a/extensions/BugmailFilter/lib/Constants.pm +++ b/extensions/BugmailFilter/lib/Constants.pm @@ -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); diff --git a/extensions/BugmailFilter/lib/FakeField.pm b/extensions/BugmailFilter/lib/FakeField.pm index 88e4ac1ca..e9f8b1808 100644 --- a/extensions/BugmailFilter/lib/FakeField.pm +++ b/extensions/BugmailFilter/lib/FakeField.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::BugmailFilter::FakeField; +use 5.10.1; use strict; use warnings; diff --git a/extensions/BugmailFilter/lib/Filter.pm b/extensions/BugmailFilter/lib/Filter.pm index d59e19fb7..7f2f4cb87 100644 --- a/extensions/BugmailFilter/lib/Filter.pm +++ b/extensions/BugmailFilter/lib/Filter.pm @@ -9,6 +9,7 @@ package Bugzilla::Extension::BugmailFilter::Filter; use base qw(Bugzilla::Object); +use 5.10.1; use strict; use warnings; diff --git a/extensions/BzAPI/Config.pm b/extensions/BzAPI/Config.pm index 89b8c1e02..bd463b4ba 100644 --- a/extensions/BzAPI/Config.pm +++ b/extensions/BzAPI/Config.pm @@ -7,7 +7,9 @@ package Bugzilla::Extension::BzAPI; +use 5.10.1; use strict; +use warnings; use constant NAME => 'BzAPI'; diff --git a/extensions/BzAPI/Extension.pm b/extensions/BzAPI/Extension.pm index f233b26e4..bb9805134 100644 --- a/extensions/BzAPI/Extension.pm +++ b/extensions/BzAPI/Extension.pm @@ -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; diff --git a/extensions/BzAPI/lib/Constants.pm b/extensions/BzAPI/lib/Constants.pm index 65ae00480..fb611aae6 100644 --- a/extensions/BzAPI/lib/Constants.pm +++ b/extensions/BzAPI/lib/Constants.pm @@ -7,7 +7,9 @@ package Bugzilla::Extension::BzAPI::Constants; +use 5.10.1; use strict; +use warnings; use base qw(Exporter); our @EXPORT = qw( diff --git a/extensions/BzAPI/lib/Resources/Bug.pm b/extensions/BzAPI/lib/Resources/Bug.pm index 77b567421..f3ff41049 100644 --- a/extensions/BzAPI/lib/Resources/Bug.pm +++ b/extensions/BzAPI/lib/Resources/Bug.pm @@ -9,6 +9,7 @@ package Bugzilla::Extension::BzAPI::Resources::Bug; use 5.10.1; use strict; +use warnings; use Bugzilla::Bug; use Bugzilla::Error; diff --git a/extensions/BzAPI/lib/Resources/Bugzilla.pm b/extensions/BzAPI/lib/Resources/Bugzilla.pm index 96b07297e..f39cd29f3 100644 --- a/extensions/BzAPI/lib/Resources/Bugzilla.pm +++ b/extensions/BzAPI/lib/Resources/Bugzilla.pm @@ -9,6 +9,7 @@ package Bugzilla::Extension::BzAPI::Resources::Bugzilla; use 5.10.1; use strict; +use warnings; use Bugzilla; use Bugzilla::Constants; diff --git a/extensions/BzAPI/lib/Resources/User.pm b/extensions/BzAPI/lib/Resources/User.pm index 7fbcdb871..550a61d28 100644 --- a/extensions/BzAPI/lib/Resources/User.pm +++ b/extensions/BzAPI/lib/Resources/User.pm @@ -9,6 +9,7 @@ package Bugzilla::Extension::BzAPI::Resources::User; use 5.10.1; use strict; +use warnings; use Bugzilla::Extension::BzAPI::Util; diff --git a/extensions/BzAPI/lib/Util.pm b/extensions/BzAPI/lib/Util.pm index e783a1584..9760f4b5e 100644 --- a/extensions/BzAPI/lib/Util.pm +++ b/extensions/BzAPI/lib/Util.pm @@ -12,6 +12,7 @@ package Bugzilla::Extension::BzAPI::Util; +use 5.10.1; use strict; use warnings; diff --git a/extensions/ComponentWatching/Config.pm b/extensions/ComponentWatching/Config.pm index 560b5c3c5..2014fbbfa 100644 --- a/extensions/ComponentWatching/Config.pm +++ b/extensions/ComponentWatching/Config.pm @@ -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; diff --git a/extensions/ComponentWatching/Extension.pm b/extensions/ComponentWatching/Extension.pm index f79b68595..36dee0e1d 100644 --- a/extensions/ComponentWatching/Extension.pm +++ b/extensions/ComponentWatching/Extension.pm @@ -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; diff --git a/extensions/ContributorEngagement/Config.pm b/extensions/ContributorEngagement/Config.pm index 3984dd60e..d48de3bc6 100644 --- a/extensions/ContributorEngagement/Config.pm +++ b/extensions/ContributorEngagement/Config.pm @@ -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'; diff --git a/extensions/ContributorEngagement/Extension.pm b/extensions/ContributorEngagement/Extension.pm index def41b6ea..949517ecf 100644 --- a/extensions/ContributorEngagement/Extension.pm +++ b/extensions/ContributorEngagement/Extension.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::ContributorEngagement; +use 5.10.1; use strict; use warnings; diff --git a/extensions/ContributorEngagement/lib/Constants.pm b/extensions/ContributorEngagement/lib/Constants.pm index 0e08c02b8..dd379adcd 100644 --- a/extensions/ContributorEngagement/lib/Constants.pm +++ b/extensions/ContributorEngagement/lib/Constants.pm @@ -7,7 +7,9 @@ package Bugzilla::Extension::ContributorEngagement::Constants; +use 5.10.1; use strict; +use warnings; use base qw(Exporter); diff --git a/extensions/EditComments/Config.pm b/extensions/EditComments/Config.pm index dae675001..b95647940 100644 --- a/extensions/EditComments/Config.pm +++ b/extensions/EditComments/Config.pm @@ -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; diff --git a/extensions/EditComments/Extension.pm b/extensions/EditComments/Extension.pm index fef1b7693..1dc22a85e 100644 --- a/extensions/EditComments/Extension.pm +++ b/extensions/EditComments/Extension.pm @@ -9,6 +9,7 @@ package Bugzilla::Extension::EditComments; use 5.10.1; use strict; +use warnings; use base qw(Bugzilla::Extension); diff --git a/extensions/EditComments/lib/WebService.pm b/extensions/EditComments/lib/WebService.pm index 2621e5f4a..6969ca742 100644 --- a/extensions/EditComments/lib/WebService.pm +++ b/extensions/EditComments/lib/WebService.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::EditComments::WebService; +use 5.10.1; use strict; use warnings; diff --git a/extensions/EditTable/Config.pm b/extensions/EditTable/Config.pm index d601951a4..b9bd003b2 100644 --- a/extensions/EditTable/Config.pm +++ b/extensions/EditTable/Config.pm @@ -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 => []; diff --git a/extensions/EditTable/Extension.pm b/extensions/EditTable/Extension.pm index d353513e1..1eb0d82f9 100644 --- a/extensions/EditTable/Extension.pm +++ b/extensions/EditTable/Extension.pm @@ -16,6 +16,7 @@ package Bugzilla::Extension::EditTable; +use 5.10.1; use strict; use warnings; diff --git a/extensions/Ember/Config.pm b/extensions/Ember/Config.pm index e3405146d..5ceb98ec1 100644 --- a/extensions/Ember/Config.pm +++ b/extensions/Ember/Config.pm @@ -9,6 +9,7 @@ package Bugzilla::Extension::Ember; use 5.10.1; use strict; +use warnings; use constant NAME => 'Ember'; diff --git a/extensions/Ember/Extension.pm b/extensions/Ember/Extension.pm index 1c8b8b4e9..8bb558c6f 100644 --- a/extensions/Ember/Extension.pm +++ b/extensions/Ember/Extension.pm @@ -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'; diff --git a/extensions/Example/Config.pm b/extensions/Example/Config.pm index 378db359d..e7782ef6c 100644 --- a/extensions/Example/Config.pm +++ b/extensions/Example/Config.pm @@ -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 +# 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 => [ { diff --git a/extensions/Example/Extension.pm b/extensions/Example/Extension.pm index 4fd2d987f..a8cf8189f 100644 --- a/extensions/Example/Extension.pm +++ b/extensions/Example/Extension.pm @@ -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 -# Frédéric Buclin +# 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; diff --git a/extensions/Example/lib/Auth/Login.pm b/extensions/Example/lib/Auth/Login.pm index 9f4f37dc3..376fe21a8 100644 --- a/extensions/Example/lib/Auth/Login.pm +++ b/extensions/Example/lib/Auth/Login.pm @@ -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 +# 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; diff --git a/extensions/Example/lib/Auth/Verify.pm b/extensions/Example/lib/Auth/Verify.pm index 0141a0d6a..cac6d1019 100644 --- a/extensions/Example/lib/Auth/Verify.pm +++ b/extensions/Example/lib/Auth/Verify.pm @@ -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 +# 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; diff --git a/extensions/Example/lib/Config.pm b/extensions/Example/lib/Config.pm index 75db22957..fac0046af 100644 --- a/extensions/Example/lib/Config.pm +++ b/extensions/Example/lib/Config.pm @@ -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 -# Bradley Baetz +# 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; diff --git a/extensions/Example/lib/Util.pm b/extensions/Example/lib/Util.pm index 596f048e9..ccc349c9c 100644 --- a/extensions/Example/lib/Util.pm +++ b/extensions/Example/lib/Util.pm @@ -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 +# 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; diff --git a/extensions/Example/lib/WebService.pm b/extensions/Example/lib/WebService.pm index bb83436e3..7b1940462 100644 --- a/extensions/Example/lib/WebService.pm +++ b/extensions/Example/lib/WebService.pm @@ -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 +# 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); diff --git a/extensions/FlagDefaultRequestee/Config.pm b/extensions/FlagDefaultRequestee/Config.pm index 70c5ca33a..dc4fb1353 100644 --- a/extensions/FlagDefaultRequestee/Config.pm +++ b/extensions/FlagDefaultRequestee/Config.pm @@ -7,7 +7,9 @@ package Bugzilla::Extension::FlagDefaultRequestee; +use 5.10.1; use strict; +use warnings; use constant NAME => 'FlagDefaultRequestee'; diff --git a/extensions/FlagDefaultRequestee/Extension.pm b/extensions/FlagDefaultRequestee/Extension.pm index 958a1bb85..f599feac2 100644 --- a/extensions/FlagDefaultRequestee/Extension.pm +++ b/extensions/FlagDefaultRequestee/Extension.pm @@ -7,7 +7,10 @@ package Bugzilla::Extension::FlagDefaultRequestee; +use 5.10.1; use strict; +use warnings; + use base qw(Bugzilla::Extension); use Bugzilla::Error; diff --git a/extensions/FlagDefaultRequestee/lib/Constants.pm b/extensions/FlagDefaultRequestee/lib/Constants.pm index 467028423..fd7298484 100644 --- a/extensions/FlagDefaultRequestee/lib/Constants.pm +++ b/extensions/FlagDefaultRequestee/lib/Constants.pm @@ -7,7 +7,9 @@ package Bugzilla::Extension::FlagDefaultRequestee::Constants; +use 5.10.1; use strict; +use warnings; use base qw(Exporter); diff --git a/extensions/FlagTypeComment/Config.pm b/extensions/FlagTypeComment/Config.pm index e20be10e3..590ef4555 100644 --- a/extensions/FlagTypeComment/Config.pm +++ b/extensions/FlagTypeComment/Config.pm @@ -19,7 +19,10 @@ # byron jones package Bugzilla::Extension::FlagTypeComment; + +use 5.10.1; use strict; +use warnings; use constant NAME => 'FlagTypeComment'; diff --git a/extensions/FlagTypeComment/Extension.pm b/extensions/FlagTypeComment/Extension.pm index 8da6101ad..34cd4c460 100644 --- a/extensions/FlagTypeComment/Extension.pm +++ b/extensions/FlagTypeComment/Extension.pm @@ -19,7 +19,11 @@ # byron jones package Bugzilla::Extension::FlagTypeComment; + +use 5.10.1; use strict; +use warnings; + use base qw(Bugzilla::Extension); use Bugzilla::Extension::FlagTypeComment::Constants; diff --git a/extensions/FlagTypeComment/lib/Constants.pm b/extensions/FlagTypeComment/lib/Constants.pm index e1a99e5b3..dcac4976a 100644 --- a/extensions/FlagTypeComment/lib/Constants.pm +++ b/extensions/FlagTypeComment/lib/Constants.pm @@ -19,7 +19,10 @@ # byron jones package Bugzilla::Extension::FlagTypeComment::Constants; + +use 5.10.1; use strict; +use warnings; use base qw(Exporter); our @EXPORT = qw( diff --git a/extensions/GitHubAuth/Config.pm b/extensions/GitHubAuth/Config.pm index 88186a91e..1f64ee8a6 100644 --- a/extensions/GitHubAuth/Config.pm +++ b/extensions/GitHubAuth/Config.pm @@ -9,6 +9,7 @@ package Bugzilla::Extension::GitHubAuth; use 5.10.1; use strict; +use warnings; use constant NAME => 'GitHubAuth'; diff --git a/extensions/GitHubAuth/Extension.pm b/extensions/GitHubAuth/Extension.pm index b813689cd..24a7cf2f1 100644 --- a/extensions/GitHubAuth/Extension.pm +++ b/extensions/GitHubAuth/Extension.pm @@ -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; diff --git a/extensions/GitHubAuth/lib/Client.pm b/extensions/GitHubAuth/lib/Client.pm index 77c8a6c61..46c070856 100644 --- a/extensions/GitHubAuth/lib/Client.pm +++ b/extensions/GitHubAuth/lib/Client.pm @@ -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; diff --git a/extensions/GitHubAuth/lib/Client/Error.pm b/extensions/GitHubAuth/lib/Client/Error.pm index 358df6938..adb6ec07b 100644 --- a/extensions/GitHubAuth/lib/Client/Error.pm +++ b/extensions/GitHubAuth/lib/Client/Error.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::GitHubAuth::Client::Error; +use 5.10.1; use strict; use warnings; diff --git a/extensions/GitHubAuth/lib/Config.pm b/extensions/GitHubAuth/lib/Config.pm index 0dc78531b..0c8874129 100644 --- a/extensions/GitHubAuth/lib/Config.pm +++ b/extensions/GitHubAuth/lib/Config.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::GitHubAuth::Config; +use 5.10.1; use strict; use warnings; diff --git a/extensions/GitHubAuth/lib/Login.pm b/extensions/GitHubAuth/lib/Login.pm index f1effb4e1..3f81467d0 100644 --- a/extensions/GitHubAuth/lib/Login.pm +++ b/extensions/GitHubAuth/lib/Login.pm @@ -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); diff --git a/extensions/GitHubAuth/lib/Verify.pm b/extensions/GitHubAuth/lib/Verify.pm index ee66c8904..f399af02e 100644 --- a/extensions/GitHubAuth/lib/Verify.pm +++ b/extensions/GitHubAuth/lib/Verify.pm @@ -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 ); diff --git a/extensions/Gravatar/Config.pm b/extensions/Gravatar/Config.pm index e15a41ee8..e0c684c9b 100644 --- a/extensions/Gravatar/Config.pm +++ b/extensions/Gravatar/Config.pm @@ -7,7 +7,9 @@ package Bugzilla::Extension::Gravatar; +use 5.10.1; use strict; +use warnings; use constant NAME => 'Gravatar'; use constant REQUIRED_MODULES => []; diff --git a/extensions/Gravatar/Extension.pm b/extensions/Gravatar/Extension.pm index 06e98fb78..97cf23b00 100644 --- a/extensions/Gravatar/Extension.pm +++ b/extensions/Gravatar/Extension.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::Gravatar; +use 5.10.1; use strict; use warnings; diff --git a/extensions/Gravatar/lib/Data.pm b/extensions/Gravatar/lib/Data.pm index feff503e3..763dba85b 100644 --- a/extensions/Gravatar/lib/Data.pm +++ b/extensions/Gravatar/lib/Data.pm @@ -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( diff --git a/extensions/GuidedBugEntry/Config.pm b/extensions/GuidedBugEntry/Config.pm index e4bc9c70b..316fc6cdc 100644 --- a/extensions/GuidedBugEntry/Config.pm +++ b/extensions/GuidedBugEntry/Config.pm @@ -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'; diff --git a/extensions/GuidedBugEntry/Extension.pm b/extensions/GuidedBugEntry/Extension.pm index 3f739d9fe..2d58d506a 100644 --- a/extensions/GuidedBugEntry/Extension.pm +++ b/extensions/GuidedBugEntry/Extension.pm @@ -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; diff --git a/extensions/InlineHistory/Config.pm b/extensions/InlineHistory/Config.pm index 3834bd81d..56197487b 100644 --- a/extensions/InlineHistory/Config.pm +++ b/extensions/InlineHistory/Config.pm @@ -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'; diff --git a/extensions/InlineHistory/Extension.pm b/extensions/InlineHistory/Extension.pm index d563bede8..fb4a8f98f 100644 --- a/extensions/InlineHistory/Extension.pm +++ b/extensions/InlineHistory/Extension.pm @@ -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; diff --git a/extensions/LastResolved/Config.pm b/extensions/LastResolved/Config.pm index f763167e2..8fd8f106f 100644 --- a/extensions/LastResolved/Config.pm +++ b/extensions/LastResolved/Config.pm @@ -7,7 +7,9 @@ package Bugzilla::Extension::LastResolved; +use 5.10.1; use strict; +use warnings; use constant NAME => 'LastResolved'; diff --git a/extensions/LastResolved/Extension.pm b/extensions/LastResolved/Extension.pm index ad0519387..0c3741b84 100644 --- a/extensions/LastResolved/Extension.pm +++ b/extensions/LastResolved/Extension.pm @@ -7,7 +7,9 @@ package Bugzilla::Extension::LastResolved; +use 5.10.1; use strict; +use warnings; use base qw(Bugzilla::Extension); diff --git a/extensions/LimitedEmail/Config.pm b/extensions/LimitedEmail/Config.pm index ea05f363c..94b9b10eb 100644 --- a/extensions/LimitedEmail/Config.pm +++ b/extensions/LimitedEmail/Config.pm @@ -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 => [ ]; diff --git a/extensions/LimitedEmail/Extension.pm b/extensions/LimitedEmail/Extension.pm index 35cc83567..9b504db91 100644 --- a/extensions/LimitedEmail/Extension.pm +++ b/extensions/LimitedEmail/Extension.pm @@ -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'; diff --git a/extensions/MozProjectReview/Config.pm b/extensions/MozProjectReview/Config.pm index 5a9d2b730..1a5e14f3d 100644 --- a/extensions/MozProjectReview/Config.pm +++ b/extensions/MozProjectReview/Config.pm @@ -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'; diff --git a/extensions/MozProjectReview/Extension.pm b/extensions/MozProjectReview/Extension.pm index 7229f5d4d..fcad6916c 100644 --- a/extensions/MozProjectReview/Extension.pm +++ b/extensions/MozProjectReview/Extension.pm @@ -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); diff --git a/extensions/MozReview/Config.pm b/extensions/MozReview/Config.pm index 44d8dd2ff..34d98907c 100644 --- a/extensions/MozReview/Config.pm +++ b/extensions/MozReview/Config.pm @@ -9,6 +9,7 @@ package Bugzilla::Extension::MozReview; use 5.10.1; use strict; +use warnings; use constant NAME => 'MozReview'; diff --git a/extensions/MozReview/bin/add-mozreview-children.pl b/extensions/MozReview/bin/add-mozreview-children.pl index a63966a62..f92c2a19b 100755 --- a/extensions/MozReview/bin/add-mozreview-children.pl +++ b/extensions/MozReview/bin/add-mozreview-children.pl @@ -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; diff --git a/extensions/MozReview/lib/Config.pm b/extensions/MozReview/lib/Config.pm index ab6b8c7c3..e0d6377d8 100644 --- a/extensions/MozReview/lib/Config.pm +++ b/extensions/MozReview/lib/Config.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::MozReview::Config; +use 5.10.1; use strict; use warnings; diff --git a/extensions/MozReview/lib/WebService.pm b/extensions/MozReview/lib/WebService.pm index 8f9d3215b..c6916d1fa 100644 --- a/extensions/MozReview/lib/WebService.pm +++ b/extensions/MozReview/lib/WebService.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::MozReview::WebService; +use 5.10.1; use strict; use warnings; diff --git a/extensions/MyDashboard/Config.pm b/extensions/MyDashboard/Config.pm index 7c14936ff..05f3ec416 100644 --- a/extensions/MyDashboard/Config.pm +++ b/extensions/MyDashboard/Config.pm @@ -7,7 +7,9 @@ package Bugzilla::Extension::MyDashboard; +use 5.10.1; use strict; +use warnings; use constant NAME => 'MyDashboard'; diff --git a/extensions/MyDashboard/Extension.pm b/extensions/MyDashboard/Extension.pm index 97b1d9d14..5278cfaa4 100644 --- a/extensions/MyDashboard/Extension.pm +++ b/extensions/MyDashboard/Extension.pm @@ -7,7 +7,9 @@ package Bugzilla::Extension::MyDashboard; +use 5.10.1; use strict; +use warnings; use base qw(Bugzilla::Extension); diff --git a/extensions/MyDashboard/lib/BugInterest.pm b/extensions/MyDashboard/lib/BugInterest.pm index 4f14eb4fd..cf33900c5 100644 --- a/extensions/MyDashboard/lib/BugInterest.pm +++ b/extensions/MyDashboard/lib/BugInterest.pm @@ -9,6 +9,7 @@ package Bugzilla::Extension::MyDashboard::BugInterest; use 5.10.1; use strict; +use warnings; use parent qw(Bugzilla::Object); diff --git a/extensions/MyDashboard/lib/Queries.pm b/extensions/MyDashboard/lib/Queries.pm index 199e8eb46..d77be7da4 100644 --- a/extensions/MyDashboard/lib/Queries.pm +++ b/extensions/MyDashboard/lib/Queries.pm @@ -7,7 +7,9 @@ package Bugzilla::Extension::MyDashboard::Queries; +use 5.10.1; use strict; +use warnings; use Bugzilla; use Bugzilla::Bug; diff --git a/extensions/MyDashboard/lib/Util.pm b/extensions/MyDashboard/lib/Util.pm index fa7cf83b0..77d9505cb 100644 --- a/extensions/MyDashboard/lib/Util.pm +++ b/extensions/MyDashboard/lib/Util.pm @@ -7,7 +7,9 @@ package Bugzilla::Extension::MyDashboard::Util; +use 5.10.1; use strict; +use warnings; use Bugzilla::CGI; use Bugzilla::Search; diff --git a/extensions/MyDashboard/lib/WebService.pm b/extensions/MyDashboard/lib/WebService.pm index c93553146..7e5ce05cf 100644 --- a/extensions/MyDashboard/lib/WebService.pm +++ b/extensions/MyDashboard/lib/WebService.pm @@ -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; diff --git a/extensions/Needinfo/Config.pm b/extensions/Needinfo/Config.pm index 86c99ec59..d523d9d78 100644 --- a/extensions/Needinfo/Config.pm +++ b/extensions/Needinfo/Config.pm @@ -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'; diff --git a/extensions/Needinfo/Extension.pm b/extensions/Needinfo/Extension.pm index a85bad5c6..cb897e72e 100644 --- a/extensions/Needinfo/Extension.pm +++ b/extensions/Needinfo/Extension.pm @@ -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); diff --git a/extensions/OpenGraph/Config.pm b/extensions/OpenGraph/Config.pm index 9204db234..92d0a89bc 100644 --- a/extensions/OpenGraph/Config.pm +++ b/extensions/OpenGraph/Config.pm @@ -7,7 +7,9 @@ package Bugzilla::Extension::OpenGraph; +use 5.10.1; use strict; +use warnings; use constant NAME => 'OpenGraph'; use constant REQUIRED_MODULES => [ ]; diff --git a/extensions/OpenGraph/Extension.pm b/extensions/OpenGraph/Extension.pm index f278a8958..18ee2c22f 100644 --- a/extensions/OpenGraph/Extension.pm +++ b/extensions/OpenGraph/Extension.pm @@ -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); diff --git a/extensions/OrangeFactor/Config.pm b/extensions/OrangeFactor/Config.pm index 9fb0d74ef..18c6be1cd 100644 --- a/extensions/OrangeFactor/Config.pm +++ b/extensions/OrangeFactor/Config.pm @@ -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'; diff --git a/extensions/OrangeFactor/Extension.pm b/extensions/OrangeFactor/Extension.pm index 5e9698718..ab2f1d749 100644 --- a/extensions/OrangeFactor/Extension.pm +++ b/extensions/OrangeFactor/Extension.pm @@ -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; diff --git a/extensions/Persona/Config.pm b/extensions/Persona/Config.pm index 8709655d1..a839b38ab 100644 --- a/extensions/Persona/Config.pm +++ b/extensions/Persona/Config.pm @@ -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'; diff --git a/extensions/Persona/Extension.pm b/extensions/Persona/Extension.pm index 2c8e46add..61e222f53 100644 --- a/extensions/Persona/Extension.pm +++ b/extensions/Persona/Extension.pm @@ -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); diff --git a/extensions/Persona/lib/Config.pm b/extensions/Persona/lib/Config.pm index 9c483cb51..ae40fd94a 100644 --- a/extensions/Persona/lib/Config.pm +++ b/extensions/Persona/lib/Config.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::Persona::Config; +use 5.10.1; use strict; use warnings; diff --git a/extensions/Persona/lib/Login.pm b/extensions/Persona/lib/Login.pm index c2f8caf2b..b9ba97a7e 100644 --- a/extensions/Persona/lib/Login.pm +++ b/extensions/Persona/lib/Login.pm @@ -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; diff --git a/extensions/ProdCompSearch/Config.pm b/extensions/ProdCompSearch/Config.pm index c28b6d8f6..9631de570 100644 --- a/extensions/ProdCompSearch/Config.pm +++ b/extensions/ProdCompSearch/Config.pm @@ -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 => []; diff --git a/extensions/ProdCompSearch/Extension.pm b/extensions/ProdCompSearch/Extension.pm index a5955fd8b..ae507a7d6 100644 --- a/extensions/ProdCompSearch/Extension.pm +++ b/extensions/ProdCompSearch/Extension.pm @@ -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'; diff --git a/extensions/ProdCompSearch/lib/WebService.pm b/extensions/ProdCompSearch/lib/WebService.pm index 521d1588f..b173137dd 100644 --- a/extensions/ProdCompSearch/lib/WebService.pm +++ b/extensions/ProdCompSearch/lib/WebService.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::ProdCompSearch::WebService; +use 5.10.1; use strict; use warnings; diff --git a/extensions/ProductDashboard/Config.pm b/extensions/ProductDashboard/Config.pm index 3a4654974..88ccdc784 100644 --- a/extensions/ProductDashboard/Config.pm +++ b/extensions/ProductDashboard/Config.pm @@ -7,7 +7,9 @@ package Bugzilla::Extension::ProductDashboard; +use 5.10.1; use strict; +use warnings; use constant NAME => 'ProductDashboard'; diff --git a/extensions/ProductDashboard/Extension.pm b/extensions/ProductDashboard/Extension.pm index cc80fa449..18157c1fe 100644 --- a/extensions/ProductDashboard/Extension.pm +++ b/extensions/ProductDashboard/Extension.pm @@ -7,7 +7,9 @@ package Bugzilla::Extension::ProductDashboard; +use 5.10.1; use strict; +use warnings; use base qw(Bugzilla::Extension); diff --git a/extensions/ProductDashboard/lib/Queries.pm b/extensions/ProductDashboard/lib/Queries.pm index ec27d3c6c..8c9d5bd92 100644 --- a/extensions/ProductDashboard/lib/Queries.pm +++ b/extensions/ProductDashboard/lib/Queries.pm @@ -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( diff --git a/extensions/ProductDashboard/lib/Util.pm b/extensions/ProductDashboard/lib/Util.pm index 5d9c161ef..f02f033b2 100644 --- a/extensions/ProductDashboard/lib/Util.pm +++ b/extensions/ProductDashboard/lib/Util.pm @@ -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( diff --git a/extensions/Profanivore/Config.pm b/extensions/Profanivore/Config.pm index 354325c58..311400d16 100644 --- a/extensions/Profanivore/Config.pm +++ b/extensions/Profanivore/Config.pm @@ -20,7 +20,10 @@ # Gervase Markham package Bugzilla::Extension::Profanivore; + +use 5.10.1; use strict; +use warnings; use constant NAME => 'Profanivore'; diff --git a/extensions/Profanivore/Extension.pm b/extensions/Profanivore/Extension.pm index 49b2f61c3..76d30e982 100644 --- a/extensions/Profanivore/Extension.pm +++ b/extensions/Profanivore/Extension.pm @@ -20,7 +20,11 @@ # Gervase Markham 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); diff --git a/extensions/Push/Config.pm b/extensions/Push/Config.pm index 11e3502fd..860e31a23 100644 --- a/extensions/Push/Config.pm +++ b/extensions/Push/Config.pm @@ -7,7 +7,9 @@ package Bugzilla::Extension::Push; +use 5.10.1; use strict; +use warnings; use constant NAME => 'Push'; diff --git a/extensions/Push/Extension.pm b/extensions/Push/Extension.pm index 1d6ec5b62..f682dea35 100644 --- a/extensions/Push/Extension.pm +++ b/extensions/Push/Extension.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::Push; +use 5.10.1; use strict; use warnings; diff --git a/extensions/Push/bin/bugzilla-pushd.pl b/extensions/Push/bin/bugzilla-pushd.pl index f048df157..8e92381f3 100755 --- a/extensions/Push/bin/bugzilla-pushd.pl +++ b/extensions/Push/bin/bugzilla-pushd.pl @@ -10,10 +10,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; diff --git a/extensions/Push/bin/nagios_push_checker.pl b/extensions/Push/bin/nagios_push_checker.pl index f022f584d..092a9da8f 100755 --- a/extensions/Push/bin/nagios_push_checker.pl +++ b/extensions/Push/bin/nagios_push_checker.pl @@ -10,10 +10,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"); use Bugzilla; use Bugzilla::Constants; diff --git a/extensions/Push/lib/Admin.pm b/extensions/Push/lib/Admin.pm index 5b0bb8e70..fa65e0d69 100644 --- a/extensions/Push/lib/Admin.pm +++ b/extensions/Push/lib/Admin.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::Push::Admin; +use 5.10.1; use strict; use warnings; diff --git a/extensions/Push/lib/BacklogMessage.pm b/extensions/Push/lib/BacklogMessage.pm index cd40ebefb..28b17bae3 100644 --- a/extensions/Push/lib/BacklogMessage.pm +++ b/extensions/Push/lib/BacklogMessage.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::Push::BacklogMessage; +use 5.10.1; use strict; use warnings; diff --git a/extensions/Push/lib/BacklogQueue.pm b/extensions/Push/lib/BacklogQueue.pm index 79b9b72ee..a7200c688 100644 --- a/extensions/Push/lib/BacklogQueue.pm +++ b/extensions/Push/lib/BacklogQueue.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::Push::BacklogQueue; +use 5.10.1; use strict; use warnings; diff --git a/extensions/Push/lib/Backoff.pm b/extensions/Push/lib/Backoff.pm index 55552e5e1..f0116a2a7 100644 --- a/extensions/Push/lib/Backoff.pm +++ b/extensions/Push/lib/Backoff.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::Push::Backoff; +use 5.10.1; use strict; use warnings; diff --git a/extensions/Push/lib/Config.pm b/extensions/Push/lib/Config.pm index 7033b4195..337c2696d 100644 --- a/extensions/Push/lib/Config.pm +++ b/extensions/Push/lib/Config.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::Push::Config; +use 5.10.1; use strict; use warnings; diff --git a/extensions/Push/lib/Connector.disabled/AMQP.pm b/extensions/Push/lib/Connector.disabled/AMQP.pm index 7b7d4aa72..f712ee890 100644 --- a/extensions/Push/lib/Connector.disabled/AMQP.pm +++ b/extensions/Push/lib/Connector.disabled/AMQP.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::Push::Connector::AMQP; +use 5.10.1; use strict; use warnings; diff --git a/extensions/Push/lib/Connector.disabled/ServiceNow.pm b/extensions/Push/lib/Connector.disabled/ServiceNow.pm index 832cc9262..a6d84cbe0 100644 --- a/extensions/Push/lib/Connector.disabled/ServiceNow.pm +++ b/extensions/Push/lib/Connector.disabled/ServiceNow.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::Push::Connector::ServiceNow; +use 5.10.1; use strict; use warnings; diff --git a/extensions/Push/lib/Connector/Aha.pm b/extensions/Push/lib/Connector/Aha.pm index b64610e03..e85b5fadf 100644 --- a/extensions/Push/lib/Connector/Aha.pm +++ b/extensions/Push/lib/Connector/Aha.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::Push::Connector::Aha; +use 5.10.1; use strict; use warnings; diff --git a/extensions/Push/lib/Connector/Base.pm b/extensions/Push/lib/Connector/Base.pm index 290ea9740..ee41bd160 100644 --- a/extensions/Push/lib/Connector/Base.pm +++ b/extensions/Push/lib/Connector/Base.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::Push::Connector::Base; +use 5.10.1; use strict; use warnings; diff --git a/extensions/Push/lib/Connector/File.pm b/extensions/Push/lib/Connector/File.pm index 563a78567..ae249ffe5 100644 --- a/extensions/Push/lib/Connector/File.pm +++ b/extensions/Push/lib/Connector/File.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::Push::Connector::File; +use 5.10.1; use strict; use warnings; diff --git a/extensions/Push/lib/Connector/ReviewBoard.pm b/extensions/Push/lib/Connector/ReviewBoard.pm index 97f489826..1c657a728 100644 --- a/extensions/Push/lib/Connector/ReviewBoard.pm +++ b/extensions/Push/lib/Connector/ReviewBoard.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::Push::Connector::ReviewBoard; +use 5.10.1; use strict; use warnings; diff --git a/extensions/Push/lib/Connector/Spark.pm b/extensions/Push/lib/Connector/Spark.pm index a65567916..3194bd3ab 100644 --- a/extensions/Push/lib/Connector/Spark.pm +++ b/extensions/Push/lib/Connector/Spark.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::Push::Connector::Spark; +use 5.10.1; use strict; use warnings; diff --git a/extensions/Push/lib/Connector/TCL.pm b/extensions/Push/lib/Connector/TCL.pm index 25e5750dc..f5b430e47 100644 --- a/extensions/Push/lib/Connector/TCL.pm +++ b/extensions/Push/lib/Connector/TCL.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::Push::Connector::TCL; +use 5.10.1; use strict; use warnings; diff --git a/extensions/Push/lib/Connectors.pm b/extensions/Push/lib/Connectors.pm index 026d3f7f1..75a5083ff 100644 --- a/extensions/Push/lib/Connectors.pm +++ b/extensions/Push/lib/Connectors.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::Push::Connectors; +use 5.10.1; use strict; use warnings; diff --git a/extensions/Push/lib/Constants.pm b/extensions/Push/lib/Constants.pm index 18b12d511..09c5e464c 100644 --- a/extensions/Push/lib/Constants.pm +++ b/extensions/Push/lib/Constants.pm @@ -7,7 +7,10 @@ package Bugzilla::Extension::Push::Constants; +use 5.10.1; use strict; +use warnings; + use base 'Exporter'; our @EXPORT = qw( diff --git a/extensions/Push/lib/Daemon.pm b/extensions/Push/lib/Daemon.pm index c8472e450..7f2459a95 100644 --- a/extensions/Push/lib/Daemon.pm +++ b/extensions/Push/lib/Daemon.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::Push::Daemon; +use 5.10.1; use strict; use warnings; diff --git a/extensions/Push/lib/Log.pm b/extensions/Push/lib/Log.pm index 6faabea97..8a35a6cf5 100644 --- a/extensions/Push/lib/Log.pm +++ b/extensions/Push/lib/Log.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::Push::Log; +use 5.10.1; use strict; use warnings; diff --git a/extensions/Push/lib/LogEntry.pm b/extensions/Push/lib/LogEntry.pm index 848df0480..f4e894b94 100644 --- a/extensions/Push/lib/LogEntry.pm +++ b/extensions/Push/lib/LogEntry.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::Push::LogEntry; +use 5.10.1; use strict; use warnings; diff --git a/extensions/Push/lib/Logger.pm b/extensions/Push/lib/Logger.pm index 9824f3476..833cb3b19 100644 --- a/extensions/Push/lib/Logger.pm +++ b/extensions/Push/lib/Logger.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::Push::Logger; +use 5.10.1; use strict; use warnings; diff --git a/extensions/Push/lib/Message.pm b/extensions/Push/lib/Message.pm index 6d2ed2531..1beb18ef0 100644 --- a/extensions/Push/lib/Message.pm +++ b/extensions/Push/lib/Message.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::Push::Message; +use 5.10.1; use strict; use warnings; diff --git a/extensions/Push/lib/Option.pm b/extensions/Push/lib/Option.pm index 25d529f98..a08e4c11d 100644 --- a/extensions/Push/lib/Option.pm +++ b/extensions/Push/lib/Option.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::Push::Option; +use 5.10.1; use strict; use warnings; diff --git a/extensions/Push/lib/Push.pm b/extensions/Push/lib/Push.pm index aaac0bbd6..45b9b05dd 100644 --- a/extensions/Push/lib/Push.pm +++ b/extensions/Push/lib/Push.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::Push::Push; +use 5.10.1; use strict; use warnings; diff --git a/extensions/Push/lib/Queue.pm b/extensions/Push/lib/Queue.pm index d89cb23c3..3ee0321d9 100644 --- a/extensions/Push/lib/Queue.pm +++ b/extensions/Push/lib/Queue.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::Push::Queue; +use 5.10.1; use strict; use warnings; diff --git a/extensions/Push/lib/Serialise.pm b/extensions/Push/lib/Serialise.pm index 94f33c754..bb6834c13 100644 --- a/extensions/Push/lib/Serialise.pm +++ b/extensions/Push/lib/Serialise.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::Push::Serialise; +use 5.10.1; use strict; use warnings; diff --git a/extensions/Push/lib/Util.pm b/extensions/Push/lib/Util.pm index f52db6936..bda6331bf 100644 --- a/extensions/Push/lib/Util.pm +++ b/extensions/Push/lib/Util.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::Push::Util; +use 5.10.1; use strict; use warnings; diff --git a/extensions/REMO/Config.pm b/extensions/REMO/Config.pm index 625e2afd9..3317ebc05 100644 --- a/extensions/REMO/Config.pm +++ b/extensions/REMO/Config.pm @@ -21,7 +21,10 @@ # David Lawrence package Bugzilla::Extension::REMO; + +use 5.10.1; use strict; +use warnings; use constant NAME => 'REMO'; diff --git a/extensions/REMO/Extension.pm b/extensions/REMO/Extension.pm index 9f83f7065..695f126f8 100644 --- a/extensions/REMO/Extension.pm +++ b/extensions/REMO/Extension.pm @@ -21,7 +21,11 @@ # David Lawrence package Bugzilla::Extension::REMO; + +use 5.10.1; use strict; +use warnings; + use base qw(Bugzilla::Extension); use Bugzilla::Constants; diff --git a/extensions/RequestNagger/Config.pm b/extensions/RequestNagger/Config.pm index 6b9488c80..a338cd441 100644 --- a/extensions/RequestNagger/Config.pm +++ b/extensions/RequestNagger/Config.pm @@ -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 => [ ]; diff --git a/extensions/RequestNagger/Extension.pm b/extensions/RequestNagger/Extension.pm index 63d79040e..65f5e6b84 100644 --- a/extensions/RequestNagger/Extension.pm +++ b/extensions/RequestNagger/Extension.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::RequestNagger; +use 5.10.1; use strict; use warnings; diff --git a/extensions/RequestNagger/bin/send-request-nags.pl b/extensions/RequestNagger/bin/send-request-nags.pl index 03ff8b4ea..b3c654956 100755 --- a/extensions/RequestNagger/bin/send-request-nags.pl +++ b/extensions/RequestNagger/bin/send-request-nags.pl @@ -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() } diff --git a/extensions/RequestNagger/lib/Bug.pm b/extensions/RequestNagger/lib/Bug.pm index bd5bb7fd7..974a688ea 100644 --- a/extensions/RequestNagger/lib/Bug.pm +++ b/extensions/RequestNagger/lib/Bug.pm @@ -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'; diff --git a/extensions/RequestNagger/lib/Constants.pm b/extensions/RequestNagger/lib/Constants.pm index 435c0b167..bc6cf3371 100644 --- a/extensions/RequestNagger/lib/Constants.pm +++ b/extensions/RequestNagger/lib/Constants.pm @@ -7,7 +7,10 @@ package Bugzilla::Extension::RequestNagger::Constants; +use 5.10.1; use strict; +use warnings; + use base qw(Exporter); our @EXPORT = qw( diff --git a/extensions/RequestNagger/lib/Settings.pm b/extensions/RequestNagger/lib/Settings.pm index 5407eac1d..393d224ba 100644 --- a/extensions/RequestNagger/lib/Settings.pm +++ b/extensions/RequestNagger/lib/Settings.pm @@ -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; diff --git a/extensions/RestrictComments/Config.pm b/extensions/RestrictComments/Config.pm index bef472cc1..be703bed7 100644 --- a/extensions/RestrictComments/Config.pm +++ b/extensions/RestrictComments/Config.pm @@ -7,7 +7,9 @@ package Bugzilla::Extension::RestrictComments; +use 5.10.1; use strict; +use warnings; use constant NAME => 'RestrictComments'; use constant REQUIRED_MODULES => []; diff --git a/extensions/RestrictComments/Extension.pm b/extensions/RestrictComments/Extension.pm index 61a4912b3..213a1c44a 100644 --- a/extensions/RestrictComments/Extension.pm +++ b/extensions/RestrictComments/Extension.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::RestrictComments; +use 5.10.1; use strict; use warnings; diff --git a/extensions/RestrictComments/lib/Config.pm b/extensions/RestrictComments/lib/Config.pm index 33607e680..55cf11187 100644 --- a/extensions/RestrictComments/lib/Config.pm +++ b/extensions/RestrictComments/lib/Config.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::RestrictComments::Config; +use 5.10.1; use strict; use warnings; diff --git a/extensions/Review/Config.pm b/extensions/Review/Config.pm index f7da458af..ea7e8a725 100644 --- a/extensions/Review/Config.pm +++ b/extensions/Review/Config.pm @@ -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 => []; diff --git a/extensions/Review/Extension.pm b/extensions/Review/Extension.pm index 4fd965b4c..db2b475a1 100644 --- a/extensions/Review/Extension.pm +++ b/extensions/Review/Extension.pm @@ -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; diff --git a/extensions/Review/bin/migrate_mentor_from_whiteboard.pl b/extensions/Review/bin/migrate_mentor_from_whiteboard.pl index 8d34963ec..ff109a5af 100755 --- a/extensions/Review/bin/migrate_mentor_from_whiteboard.pl +++ b/extensions/Review/bin/migrate_mentor_from_whiteboard.pl @@ -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() } diff --git a/extensions/Review/bin/review_requests_rebuild.pl b/extensions/Review/bin/review_requests_rebuild.pl index 04f8b1042..6574f3dbe 100755 --- a/extensions/Review/bin/review_requests_rebuild.pl +++ b/extensions/Review/bin/review_requests_rebuild.pl @@ -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() } diff --git a/extensions/Review/lib/FlagStateActivity.pm b/extensions/Review/lib/FlagStateActivity.pm index 46e9300a5..35da42351 100644 --- a/extensions/Review/lib/FlagStateActivity.pm +++ b/extensions/Review/lib/FlagStateActivity.pm @@ -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; diff --git a/extensions/Review/lib/Util.pm b/extensions/Review/lib/Util.pm index c00e31b6b..a8744079d 100644 --- a/extensions/Review/lib/Util.pm +++ b/extensions/Review/lib/Util.pm @@ -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; diff --git a/extensions/Review/lib/WebService.pm b/extensions/Review/lib/WebService.pm index c4421aca1..ea8910d50 100644 --- a/extensions/Review/lib/WebService.pm +++ b/extensions/Review/lib/WebService.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::Review::WebService; +use 5.10.1; use strict; use warnings; diff --git a/extensions/SecureMail/Config.pm b/extensions/SecureMail/Config.pm index f1975c1c1..8d877a253 100644 --- a/extensions/SecureMail/Config.pm +++ b/extensions/SecureMail/Config.pm @@ -20,7 +20,10 @@ # Gervase Markham package Bugzilla::Extension::SecureMail; + +use 5.10.1; use strict; +use warnings; use constant NAME => 'SecureMail'; diff --git a/extensions/SecureMail/Extension.pm b/extensions/SecureMail/Extension.pm index 3b03f33a6..e62938dc7 100644 --- a/extensions/SecureMail/Extension.pm +++ b/extensions/SecureMail/Extension.pm @@ -20,7 +20,11 @@ # Gervase Markham package Bugzilla::Extension::SecureMail; + +use 5.10.1; use strict; +use warnings; + use base qw(Bugzilla::Extension); use Bugzilla::Attachment; diff --git a/extensions/SiteMapIndex/Config.pm b/extensions/SiteMapIndex/Config.pm index e10d6ec8b..980938503 100644 --- a/extensions/SiteMapIndex/Config.pm +++ b/extensions/SiteMapIndex/Config.pm @@ -21,7 +21,10 @@ # Dave Lawrence package Bugzilla::Extension::SiteMapIndex; + +use 5.10.1; use strict; +use warnings; use constant NAME => 'SiteMapIndex'; diff --git a/extensions/SiteMapIndex/Extension.pm b/extensions/SiteMapIndex/Extension.pm index 77fb6b54c..901b80092 100644 --- a/extensions/SiteMapIndex/Extension.pm +++ b/extensions/SiteMapIndex/Extension.pm @@ -21,7 +21,11 @@ # Dave Lawrence package Bugzilla::Extension::SiteMapIndex; + +use 5.10.1; use strict; +use warnings; + use base qw(Bugzilla::Extension); our $VERSION = '1.0'; diff --git a/extensions/SiteMapIndex/lib/Constants.pm b/extensions/SiteMapIndex/lib/Constants.pm index fce858121..12f11597e 100644 --- a/extensions/SiteMapIndex/lib/Constants.pm +++ b/extensions/SiteMapIndex/lib/Constants.pm @@ -20,7 +20,11 @@ # Max Kanat-Alexander package Bugzilla::Extension::SiteMapIndex::Constants; + +use 5.10.1; use strict; +use warnings; + use base qw(Exporter); our @EXPORT = qw( SITEMAP_AGE diff --git a/extensions/SiteMapIndex/lib/Util.pm b/extensions/SiteMapIndex/lib/Util.pm index 5c02a5989..38fe1cf80 100644 --- a/extensions/SiteMapIndex/lib/Util.pm +++ b/extensions/SiteMapIndex/lib/Util.pm @@ -21,7 +21,11 @@ # Dave Lawrence package Bugzilla::Extension::SiteMapIndex::Util; + +use 5.10.1; use strict; +use warnings; + use base qw(Exporter); our @EXPORT = qw( generate_sitemap diff --git a/extensions/Splinter/Config.pm b/extensions/Splinter/Config.pm index d36a28922..7c013bc6f 100644 --- a/extensions/Splinter/Config.pm +++ b/extensions/Splinter/Config.pm @@ -1,5 +1,9 @@ package Bugzilla::Extension::Splinter; + +use 5.10.1; use strict; +use warnings; + use constant NAME => 'Splinter'; __PACKAGE__->NAME; diff --git a/extensions/Splinter/Extension.pm b/extensions/Splinter/Extension.pm index 42a18d912..e0f42b8d0 100644 --- a/extensions/Splinter/Extension.pm +++ b/extensions/Splinter/Extension.pm @@ -7,7 +7,9 @@ package Bugzilla::Extension::Splinter; +use 5.10.1; use strict; +use warnings; use base qw(Bugzilla::Extension); diff --git a/extensions/Splinter/lib/Config.pm b/extensions/Splinter/lib/Config.pm index 95b9f5dfa..fb3c16074 100644 --- a/extensions/Splinter/lib/Config.pm +++ b/extensions/Splinter/lib/Config.pm @@ -22,6 +22,7 @@ package Bugzilla::Extension::Splinter::Config; +use 5.10.1; use strict; use warnings; diff --git a/extensions/Splinter/lib/Util.pm b/extensions/Splinter/lib/Util.pm index 6421d2f0b..a24881c1d 100644 --- a/extensions/Splinter/lib/Util.pm +++ b/extensions/Splinter/lib/Util.pm @@ -21,7 +21,9 @@ package Bugzilla::Extension::Splinter::Util; +use 5.10.1; use strict; +use warnings; use Bugzilla; use Bugzilla::Util; diff --git a/extensions/TagNewUsers/Config.pm b/extensions/TagNewUsers/Config.pm index c2330afc8..c791e3a07 100644 --- a/extensions/TagNewUsers/Config.pm +++ b/extensions/TagNewUsers/Config.pm @@ -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 => [ ]; diff --git a/extensions/TagNewUsers/Extension.pm b/extensions/TagNewUsers/Extension.pm index e4a62dac8..b94873979 100644 --- a/extensions/TagNewUsers/Extension.pm +++ b/extensions/TagNewUsers/Extension.pm @@ -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); diff --git a/extensions/TrackingFlags/Config.pm b/extensions/TrackingFlags/Config.pm index 1854cb9fd..d0bc5ca20 100644 --- a/extensions/TrackingFlags/Config.pm +++ b/extensions/TrackingFlags/Config.pm @@ -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'; diff --git a/extensions/TrackingFlags/Extension.pm b/extensions/TrackingFlags/Extension.pm index 08e7968a0..5f6715fc8 100644 --- a/extensions/TrackingFlags/Extension.pm +++ b/extensions/TrackingFlags/Extension.pm @@ -7,7 +7,9 @@ package Bugzilla::Extension::TrackingFlags; +use 5.10.1; use strict; +use warnings; use base qw(Bugzilla::Extension); diff --git a/extensions/TrackingFlags/bin/bug_825946.pl b/extensions/TrackingFlags/bin/bug_825946.pl index 2531228de..8f48a671a 100755 --- a/extensions/TrackingFlags/bin/bug_825946.pl +++ b/extensions/TrackingFlags/bin/bug_825946.pl @@ -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; diff --git a/extensions/TrackingFlags/bin/bulk_flag_clear.pl b/extensions/TrackingFlags/bin/bulk_flag_clear.pl index 1eff355fe..6b05a50a3 100755 --- a/extensions/TrackingFlags/bin/bulk_flag_clear.pl +++ b/extensions/TrackingFlags/bin/bulk_flag_clear.pl @@ -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; diff --git a/extensions/TrackingFlags/bin/migrate_tracking_flags.pl b/extensions/TrackingFlags/bin/migrate_tracking_flags.pl index 06b3596c4..bca03f9f9 100755 --- a/extensions/TrackingFlags/bin/migrate_tracking_flags.pl +++ b/extensions/TrackingFlags/bin/migrate_tracking_flags.pl @@ -12,10 +12,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; diff --git a/extensions/TrackingFlags/lib/Admin.pm b/extensions/TrackingFlags/lib/Admin.pm index 1adcad241..50a0e0a61 100644 --- a/extensions/TrackingFlags/lib/Admin.pm +++ b/extensions/TrackingFlags/lib/Admin.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::TrackingFlags::Admin; +use 5.10.1; use strict; use warnings; diff --git a/extensions/TrackingFlags/lib/Constants.pm b/extensions/TrackingFlags/lib/Constants.pm index 0b1ae3a1a..00827aa7a 100644 --- a/extensions/TrackingFlags/lib/Constants.pm +++ b/extensions/TrackingFlags/lib/Constants.pm @@ -7,7 +7,10 @@ package Bugzilla::Extension::TrackingFlags::Constants; +use 5.10.1; use strict; +use warnings; + use base qw(Exporter); our @EXPORT = qw( diff --git a/extensions/TrackingFlags/lib/Flag.pm b/extensions/TrackingFlags/lib/Flag.pm index 7b6effa98..82c0314e3 100644 --- a/extensions/TrackingFlags/lib/Flag.pm +++ b/extensions/TrackingFlags/lib/Flag.pm @@ -9,6 +9,7 @@ package Bugzilla::Extension::TrackingFlags::Flag; use base qw(Bugzilla::Object); +use 5.10.1; use strict; use warnings; diff --git a/extensions/TrackingFlags/lib/Flag/Bug.pm b/extensions/TrackingFlags/lib/Flag/Bug.pm index 74b2814fa..7be661720 100644 --- a/extensions/TrackingFlags/lib/Flag/Bug.pm +++ b/extensions/TrackingFlags/lib/Flag/Bug.pm @@ -9,6 +9,7 @@ package Bugzilla::Extension::TrackingFlags::Flag::Bug; use base qw(Bugzilla::Object); +use 5.10.1; use strict; use warnings; diff --git a/extensions/TrackingFlags/lib/Flag/Value.pm b/extensions/TrackingFlags/lib/Flag/Value.pm index 15be61bc7..4f2aacc3a 100644 --- a/extensions/TrackingFlags/lib/Flag/Value.pm +++ b/extensions/TrackingFlags/lib/Flag/Value.pm @@ -9,6 +9,7 @@ package Bugzilla::Extension::TrackingFlags::Flag::Value; use base qw(Bugzilla::Object); +use 5.10.1; use strict; use warnings; diff --git a/extensions/TrackingFlags/lib/Flag/Visibility.pm b/extensions/TrackingFlags/lib/Flag/Visibility.pm index 7600d71bd..878c16f99 100644 --- a/extensions/TrackingFlags/lib/Flag/Visibility.pm +++ b/extensions/TrackingFlags/lib/Flag/Visibility.pm @@ -9,6 +9,7 @@ package Bugzilla::Extension::TrackingFlags::Flag::Visibility; use base qw(Bugzilla::Object); +use 5.10.1; use strict; use warnings; diff --git a/extensions/TypeSniffer/Config.pm b/extensions/TypeSniffer/Config.pm index 6ad03b362..4545f69f6 100644 --- a/extensions/TypeSniffer/Config.pm +++ b/extensions/TypeSniffer/Config.pm @@ -20,7 +20,10 @@ # Gervase Markham package Bugzilla::Extension::TypeSniffer; + +use 5.10.1; use strict; +use warnings; use constant NAME => 'TypeSniffer'; diff --git a/extensions/TypeSniffer/Extension.pm b/extensions/TypeSniffer/Extension.pm index c593b76e8..6c34cb169 100644 --- a/extensions/TypeSniffer/Extension.pm +++ b/extensions/TypeSniffer/Extension.pm @@ -20,7 +20,11 @@ # Gervase Markham package Bugzilla::Extension::TypeSniffer; + +use 5.10.1; use strict; +use warnings; + use base qw(Bugzilla::Extension); use File::MimeInfo::Magic; diff --git a/extensions/UserProfile/Config.pm b/extensions/UserProfile/Config.pm index 99dca9e02..99fae1610 100644 --- a/extensions/UserProfile/Config.pm +++ b/extensions/UserProfile/Config.pm @@ -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 => [ ]; diff --git a/extensions/UserProfile/Extension.pm b/extensions/UserProfile/Extension.pm index 2c17a2d9f..079f7a948 100644 --- a/extensions/UserProfile/Extension.pm +++ b/extensions/UserProfile/Extension.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::UserProfile; +use 5.10.1; use strict; use warnings; diff --git a/extensions/UserProfile/bin/migrate.pl b/extensions/UserProfile/bin/migrate.pl index 147edef9c..2cde3ce2c 100755 --- a/extensions/UserProfile/bin/migrate.pl +++ b/extensions/UserProfile/bin/migrate.pl @@ -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() } diff --git a/extensions/UserProfile/bin/update.pl b/extensions/UserProfile/bin/update.pl index 2a4997aee..af9a81774 100755 --- a/extensions/UserProfile/bin/update.pl +++ b/extensions/UserProfile/bin/update.pl @@ -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() } diff --git a/extensions/UserProfile/lib/Util.pm b/extensions/UserProfile/lib/Util.pm index 71d0e6501..509b131c1 100644 --- a/extensions/UserProfile/lib/Util.pm +++ b/extensions/UserProfile/lib/Util.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::UserProfile::Util; +use 5.10.1; use strict; use warnings; diff --git a/extensions/UserStory/Config.pm b/extensions/UserStory/Config.pm index 8649c71cf..8668deaa7 100644 --- a/extensions/UserStory/Config.pm +++ b/extensions/UserStory/Config.pm @@ -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 => [ diff --git a/extensions/UserStory/Extension.pm b/extensions/UserStory/Extension.pm index 2053a0097..f9fdb3f29 100644 --- a/extensions/UserStory/Extension.pm +++ b/extensions/UserStory/Extension.pm @@ -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; diff --git a/extensions/UserStory/lib/Constants.pm b/extensions/UserStory/lib/Constants.pm index d09b28fef..6a1c0c449 100644 --- a/extensions/UserStory/lib/Constants.pm +++ b/extensions/UserStory/lib/Constants.pm @@ -7,6 +7,7 @@ package Bugzilla::Extension::UserStory::Constants; +use 5.10.1; use strict; use warnings; diff --git a/extensions/Voting/Config.pm b/extensions/Voting/Config.pm index 438f1e054..97c44933e 100644 --- a/extensions/Voting/Config.pm +++ b/extensions/Voting/Config.pm @@ -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 +# 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'; diff --git a/extensions/Voting/Extension.pm b/extensions/Voting/Extension.pm index 39ed7c4b4..25266778c 100644 --- a/extensions/Voting/Extension.pm +++ b/extensions/Voting/Extension.pm @@ -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 -# Stephan Niemz -# Christopher Aillon -# Gervase Markham -# Frédéric Buclin -# Max Kanat-Alexander +# 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; diff --git a/extensions/ZPushNotify/Config.pm b/extensions/ZPushNotify/Config.pm index e65169d41..1a31285e2 100644 --- a/extensions/ZPushNotify/Config.pm +++ b/extensions/ZPushNotify/Config.pm @@ -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 => []; diff --git a/extensions/ZPushNotify/Extension.pm b/extensions/ZPushNotify/Extension.pm index 2b6c1aeaa..df3ab8f46 100644 --- a/extensions/ZPushNotify/Extension.pm +++ b/extensions/ZPushNotify/Extension.pm @@ -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; diff --git a/extensions/create.pl b/extensions/create.pl index 1b54e6b33..80fc49448 100755 --- a/extensions/create.pl +++ b/extensions/create.pl @@ -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 +# 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 index 000000000..be07259d1 --- /dev/null +++ b/gen-cpanfile.pl @@ -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"; +} diff --git a/github.cgi b/github.cgi index 74111eae3..703617b32 100755 --- a/github.cgi +++ b/github.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::Util qw( correct_urlbase ); diff --git a/importxml.pl b/importxml.pl index 63004af6f..19081e52b 100755 --- a/importxml.pl +++ b/importxml.pl @@ -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 -# Gregary Hendricks -# Vance Baarda -# Guzman Braso -# Erik Purins -# Frédéric Buclin +# 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 -# Frédéric Buclin - -############################################################################### -# 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; diff --git a/jobqueue.pl b/jobqueue.pl index e086d9404..ebc9118e8 100755 --- a/jobqueue.pl +++ b/jobqueue.pl @@ -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 -# Max Kanat-Alexander +# 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; diff --git a/jsonrpc.cgi b/jsonrpc.cgi index ad910e79e..95ea5c208 100755 --- a/jsonrpc.cgi +++ b/jsonrpc.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 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 +# 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; diff --git a/long_list.cgi b/long_list.cgi index 58bd255a3..91f3208b3 100755 --- a/long_list.cgi +++ b/long_list.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 @@ -21,8 +21,12 @@ # Contributor(s): Terry Weissman # Gervase Markham +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; diff --git a/metrics.pl b/metrics.pl index c48629c45..afcd7d22d 100755 --- a/metrics.pl +++ b/metrics.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 @@ -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; diff --git a/migrate.pl b/migrate.pl index df6b833a0..8980248c7 100755 --- a/migrate.pl +++ b/migrate.pl @@ -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 +# 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; diff --git a/mod_perl.pl b/mod_perl.pl index 83784d3fe..76d3d4920 100644 --- a/mod_perl.pl +++ b/mod_perl.pl @@ -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 +# 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 diff --git a/page.cgi b/page.cgi index f4e5a9f6b..f2a0ca819 100755 --- 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 +#!/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, @@ -28,9 +13,11 @@ # 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; diff --git a/post_bug.cgi b/post_bug.cgi index 46596fddc..0975e32ae 100755 --- a/post_bug.cgi +++ b/post_bug.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): Terry Weissman -# Dan Mosedale -# Joe Robins -# Gervase Markham -# Marc Schumann +# 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; diff --git a/process_bug.cgi b/process_bug.cgi index 1a2b61717..80018cfb3 100755 --- a/process_bug.cgi +++ b/process_bug.cgi @@ -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 -# Dan Mosedale -# Dave Miller -# Christopher Aillon -# Myk Melez -# Jeff Hedlund -# Frédéric Buclin -# Lance Larsh -# Akamai Technologies -# Max Kanat-Alexander - -# 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 index 000000000..f900cc352 --- /dev/null +++ b/qa/t/lib/QA/REST.pm @@ -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 index 000000000..cffab80db --- /dev/null +++ b/qa/t/rest_bugzilla.t @@ -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 index 000000000..d3806680a --- /dev/null +++ b/qa/t/rest_classification.t @@ -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 index 000000000..5d358864b --- /dev/null +++ b/qa/t/test_password_complexity.t @@ -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"); +} diff --git a/query.cgi b/query.cgi index 47c6a87d6..3cf3c079b 100755 --- 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 -# David Gardiner -# Matthias Radestock -# Gervase Markham -# Byron Jones -# Max Kanat-Alexander +# 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; diff --git a/quips.cgi b/quips.cgi index 14126e43c..be6983d84 100755 --- 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 -# Gervase Markham -# David Fallon -# Tobias Burnus +# 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/relogin.cgi b/relogin.cgi index 85ba70534..a66c5d28d 100755 --- a/relogin.cgi +++ b/relogin.cgi @@ -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 -# Gervase Markham -# A. Karl Kornel +# 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; diff --git a/report.cgi b/report.cgi index 7a6093c8c..f9ed26ad7 100755 --- a/report.cgi +++ b/report.cgi @@ -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 -# +# 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; diff --git a/reports.cgi b/reports.cgi index 7009d2973..e7ed5335c 100755 --- a/reports.cgi +++ b/reports.cgi @@ -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 -# Terry Weissman -# Dawn Endico -# Bryce Nesbitt -# Joe Robins -# Gervase Markham -# Adam Spiers -# Myk Melez -# Frédéric Buclin +# 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/request.cgi b/request.cgi index 589d773fb..131614890 100755 --- a/request.cgi +++ b/request.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 -# Frédéric Buclin - -################################################################################ -# 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; diff --git a/reset_password.cgi b/reset_password.cgi index f784afb81..fb095c27d 100755 --- a/reset_password.cgi +++ b/reset_password.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 @@ -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; diff --git a/rest.cgi b/rest.cgi index 928eb9ce4..2df7e50bb 100755 --- 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; diff --git a/runtests.pl b/runtests.pl index 092d8069b..844f2f839 100755 --- a/runtests.pl +++ b/runtests.pl @@ -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 @@ -22,8 +22,10 @@ # 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); diff --git a/sanitycheck.cgi b/sanitycheck.cgi index 5acf79f06..db4d0a802 100755 --- a/sanitycheck.cgi +++ b/sanitycheck.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 -# Matthew Tuck -# Max Kanat-Alexander -# Marc Schumann -# Frédéric Buclin +# 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; diff --git a/sanitycheck.pl b/sanitycheck.pl index ca7aaea2d..bf3680bd6 100755 --- a/sanitycheck.pl +++ b/sanitycheck.pl @@ -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 +# 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/scripts/addcustomfield.pl b/scripts/addcustomfield.pl index 886d1ac5c..6e128ab6f 100755 --- a/scripts/addcustomfield.pl +++ b/scripts/addcustomfield.pl @@ -17,7 +17,8 @@ # David Miller use strict; -use lib qw(. lib); +use FindBin qw($RealBin); +use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5"); use Bugzilla; use Bugzilla::Constants; diff --git a/scripts/clear-memcached.pl b/scripts/clear-memcached.pl index 01202ce7c..0ce97e7a0 100755 --- a/scripts/clear-memcached.pl +++ b/scripts/clear-memcached.pl @@ -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; diff --git a/scripts/clear-templates.pl b/scripts/clear-templates.pl index 8b0864d46..81c85646b 100755 --- a/scripts/clear-templates.pl +++ b/scripts/clear-templates.pl @@ -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; diff --git a/scripts/close_bugs_wontfix.pl b/scripts/close_bugs_wontfix.pl index 34c871373..e0bd5351b 100755 --- a/scripts/close_bugs_wontfix.pl +++ b/scripts/close_bugs_wontfix.pl @@ -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; diff --git a/scripts/convert_datetime.pl b/scripts/convert_datetime.pl index b87e3561a..b6b71546c 100755 --- a/scripts/convert_datetime.pl +++ b/scripts/convert_datetime.pl @@ -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; diff --git a/scripts/cpanfile_fixed_versions.pl b/scripts/cpanfile_fixed_versions.pl index fdbf25b1f..680e8ece3 100755 --- a/scripts/cpanfile_fixed_versions.pl +++ b/scripts/cpanfile_fixed_versions.pl @@ -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; diff --git a/scripts/fix-attachment-sizes.pl b/scripts/fix-attachment-sizes.pl index a50e241ce..328c0595e 100755 --- a/scripts/fix-attachment-sizes.pl +++ b/scripts/fix-attachment-sizes.pl @@ -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; diff --git a/scripts/fix_all_open_status_queries.pl b/scripts/fix_all_open_status_queries.pl index e10fdd44d..da40cb140 100755 --- a/scripts/fix_all_open_status_queries.pl +++ b/scripts/fix_all_open_status_queries.pl @@ -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; diff --git a/scripts/fixgroupqueries.pl b/scripts/fixgroupqueries.pl index 13dd0cb3e..1934561df 100755 --- a/scripts/fixgroupqueries.pl +++ b/scripts/fixgroupqueries.pl @@ -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; diff --git a/scripts/fixperms.pl b/scripts/fixperms.pl index 406c149cb..f470eabe6 100755 --- a/scripts/fixperms.pl +++ b/scripts/fixperms.pl @@ -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); diff --git a/scripts/fixqueries.pl b/scripts/fixqueries.pl index 1fe25f261..2619081ce 100755 --- a/scripts/fixqueries.pl +++ b/scripts/fixqueries.pl @@ -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; diff --git a/scripts/group-set-members.pl b/scripts/group-set-members.pl index 3271b2e24..10955b00d 100755 --- a/scripts/group-set-members.pl +++ b/scripts/group-set-members.pl @@ -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; diff --git a/scripts/issue-api-key.pl b/scripts/issue-api-key.pl index 334cddeaa..3e4b2c000 100755 --- a/scripts/issue-api-key.pl +++ b/scripts/issue-api-key.pl @@ -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; diff --git a/scripts/merge-users.pl b/scripts/merge-users.pl index ebe68a6a8..d2b8196b5 100755 --- a/scripts/merge-users.pl +++ b/scripts/merge-users.pl @@ -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 -# Frédéric Buclin +# 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; diff --git a/scripts/migrate-attachments.pl b/scripts/migrate-attachments.pl index 26cb3fb26..b514f1620 100755 --- a/scripts/migrate-attachments.pl +++ b/scripts/migrate-attachments.pl @@ -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; diff --git a/scripts/migrate-cab-review.pl b/scripts/migrate-cab-review.pl index 1c33a2a0f..aa30c518f 100755 --- a/scripts/migrate-cab-review.pl +++ b/scripts/migrate-cab-review.pl @@ -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; diff --git a/scripts/migrate_whiteboard_keyword.pl b/scripts/migrate_whiteboard_keyword.pl index aa70543c4..f31a30521 100644 --- a/scripts/migrate_whiteboard_keyword.pl +++ b/scripts/migrate_whiteboard_keyword.pl @@ -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; diff --git a/scripts/move_flag_types.pl b/scripts/move_flag_types.pl index 1f4398be1..bf0bf0eca 100755 --- a/scripts/move_flag_types.pl +++ b/scripts/move_flag_types.pl @@ -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; diff --git a/scripts/move_os.pl b/scripts/move_os.pl index 96b58d616..48f6d0031 100755 --- a/scripts/move_os.pl +++ b/scripts/move_os.pl @@ -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; diff --git a/scripts/movebugs.pl b/scripts/movebugs.pl index ebe41ceb4..45f329ad2 100755 --- a/scripts/movebugs.pl +++ b/scripts/movebugs.pl @@ -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; diff --git a/scripts/movecomponent.pl b/scripts/movecomponent.pl index cb07b84fc..10fa956c4 100755 --- a/scripts/movecomponent.pl +++ b/scripts/movecomponent.pl @@ -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; diff --git a/scripts/nagios_blocker_checker.pl b/scripts/nagios_blocker_checker.pl index 768053126..a6c5e5d7b 100755 --- a/scripts/nagios_blocker_checker.pl +++ b/scripts/nagios_blocker_checker.pl @@ -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; diff --git a/scripts/nagios_push_checker.pl b/scripts/nagios_push_checker.pl index 109f794d7..1fa28bf1d 100755 --- a/scripts/nagios_push_checker.pl +++ b/scripts/nagios_push_checker.pl @@ -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; diff --git a/scripts/nightly_group_bug_cleaner.pl b/scripts/nightly_group_bug_cleaner.pl index d8ce4cb54..a32588673 100755 --- a/scripts/nightly_group_bug_cleaner.pl +++ b/scripts/nightly_group_bug_cleaner.pl @@ -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; diff --git a/scripts/nuke-bugs.pl b/scripts/nuke-bugs.pl index 0226c1726..35774ff8d 100755 --- a/scripts/nuke-bugs.pl +++ b/scripts/nuke-bugs.pl @@ -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; diff --git a/scripts/reassign_open_bugs.pl b/scripts/reassign_open_bugs.pl index 6496f9a95..343a99617 100755 --- a/scripts/reassign_open_bugs.pl +++ b/scripts/reassign_open_bugs.pl @@ -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; diff --git a/scripts/remove-non-public-data.pl b/scripts/remove-non-public-data.pl index 06fc693fa..8b5d2b2e7 100755 --- a/scripts/remove-non-public-data.pl +++ b/scripts/remove-non-public-data.pl @@ -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; diff --git a/scripts/remove_idle_group_members.pl b/scripts/remove_idle_group_members.pl index d0eda387a..510d0623b 100755 --- a/scripts/remove_idle_group_members.pl +++ b/scripts/remove_idle_group_members.pl @@ -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() } diff --git a/scripts/reset_default_user.pl b/scripts/reset_default_user.pl index 173d03849..2888df48c 100755 --- a/scripts/reset_default_user.pl +++ b/scripts/reset_default_user.pl @@ -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; diff --git a/scripts/sanitizeme.pl b/scripts/sanitizeme.pl index 64178f3f3..8f241de34 100755 --- a/scripts/sanitizeme.pl +++ b/scripts/sanitizeme.pl @@ -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; diff --git a/scripts/security_remove.pl b/scripts/security_remove.pl index 85f415218..7c01e8002 100755 --- a/scripts/security_remove.pl +++ b/scripts/security_remove.pl @@ -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; diff --git a/scripts/sendunsentbugmail.pl b/scripts/sendunsentbugmail.pl index eeee41ced..3dae4a341 100755 --- a/scripts/sendunsentbugmail.pl +++ b/scripts/sendunsentbugmail.pl @@ -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 -# Myk Melez +# 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; diff --git a/scripts/syncflags.pl b/scripts/syncflags.pl index 520a8305c..7250cdf89 100755 --- a/scripts/syncflags.pl +++ b/scripts/syncflags.pl @@ -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; diff --git a/scripts/syncmsandversions.pl b/scripts/syncmsandversions.pl index 20e88252e..e886d9e5b 100755 --- a/scripts/syncmsandversions.pl +++ b/scripts/syncmsandversions.pl @@ -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; diff --git a/scripts/update-bug-groups.pl b/scripts/update-bug-groups.pl index 173269e7c..0aed32e9b 100755 --- a/scripts/update-bug-groups.pl +++ b/scripts/update-bug-groups.pl @@ -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; diff --git a/scripts/update-crash-signatures.pl b/scripts/update-crash-signatures.pl index 179d0decb..f8efca7ff 100755 --- a/scripts/update-crash-signatures.pl +++ b/scripts/update-crash-signatures.pl @@ -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; diff --git a/scripts/user-prefs.pl b/scripts/user-prefs.pl index ee980b3eb..b7c860f48 100755 --- a/scripts/user-prefs.pl +++ b/scripts/user-prefs.pl @@ -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; diff --git a/search_plugin.cgi b/search_plugin.cgi index b50467911..329ed6f0c 100755 --- a/search_plugin.cgi +++ b/search_plugin.cgi @@ -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 +# 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; diff --git a/sentry.pl b/sentry.pl index 95cd1846f..8d8b878e9 100755 --- 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 @@ -13,15 +13,17 @@ # 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'); } diff --git a/show_activity.cgi b/show_activity.cgi index b05c1c95a..96ff1b312 100755 --- a/show_activity.cgi +++ b/show_activity.cgi @@ -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 -# Myk Melez -# Gervase Markham +# 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; diff --git a/show_bug.cgi b/show_bug.cgi index fbcf4e828..517017688 100755 --- a/show_bug.cgi +++ b/show_bug.cgi @@ -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 +# 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/showattachment.cgi b/showattachment.cgi index e90a01533..73cb6eb58 100755 --- a/showattachment.cgi +++ b/showattachment.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 @@ -21,9 +21,11 @@ # Contributor(s): Terry Weissman # Jacob Steenhagen +use 5.10.1; use strict; +use warnings; -use lib qw(. lib); +use lib qw(. lib local/lib/perl5); use Bugzilla; use Bugzilla::Util; diff --git a/showdependencygraph.cgi b/showdependencygraph.cgi index 5dc3928ed..764aad5b9 100755 --- a/showdependencygraph.cgi +++ b/showdependencygraph.cgi @@ -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 -# Gervase Markham +# 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; diff --git a/showdependencytree.cgi b/showdependencytree.cgi index b50b38ce2..7f594632e 100755 --- a/showdependencytree.cgi +++ b/showdependencytree.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 -# Andreas Franke -# Christian Reis -# Myk Melez -# Frédéric Buclin +# 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; diff --git a/summarize_time.cgi b/summarize_time.cgi index dd8ba741b..2502747e3 100755 --- a/summarize_time.cgi +++ b/summarize_time.cgi @@ -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 -# Shane H. W. Travis -# Frédéric Buclin +# 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 diff --git a/t/001compile.t b/t/001compile.t index a2176babd..f8ba8d1c7 100644 --- a/t/001compile.t +++ b/t/001compile.t @@ -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 -# Max Kanat-Alexander +# 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); diff --git a/t/002goodperl.t b/t/002goodperl.t index 77b014f6a..7b2e74acc 100644 --- a/t/002goodperl.t +++ b/t/002goodperl.t @@ -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 -# Jacob Steenhagen -# David D. Kilzer +# 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 = ) { - 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 index a69500b7a..000000000 --- a/t/003safesys.t +++ /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 - - -################# -#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; diff --git a/t/004template.t b/t/004template.t index 666ce5fa4..909f1a231 100644 --- a/t/004template.t +++ b/t/004template.t @@ -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 -# Zach Lipton -# David D. Kilzer -# Tobias Burnus +# 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 $_ } , }, } ); diff --git a/t/005whitespace.t b/t/005whitespace.t index edba8b274..be13890bb 100644 --- a/t/005whitespace.t +++ b/t/005whitespace.t @@ -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 -# David D. Kilzer -# Colin Ogilvie -# Marc Schumann +# 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))); diff --git a/t/006spellcheck.t b/t/006spellcheck.t index e311be8ec..70181ef85 100644 --- a/t/006spellcheck.t +++ b/t/006spellcheck.t @@ -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 +# 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 diff --git a/t/007util.t b/t/007util.t index b32a1b90c..b8e9505d8 100644 --- a/t/007util.t +++ b/t/007util.t @@ -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 -# Max Kanat-Alexander -# Frédéric Buclin +# 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); diff --git a/t/008filter.t b/t/008filter.t index 1111c16f6..b8d05af8a 100644 --- a/t/008filter.t +++ b/t/008filter.t @@ -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 +# This Source Code Form is "Incompatible With Secondary Licenses", as +# defined by the Mozilla Public License, v. 2.0. ################# #Bugzilla Test 8# @@ -29,10 +15,11 @@ # Sample exploit code: '>"> +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 = ; 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; } diff --git a/t/009bugwords.t b/t/009bugwords.t index 242ac478d..740cbf6aa 100644 --- a/t/009bugwords.t +++ b/t/009bugwords.t @@ -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 +# 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# @@ -30,9 +15,11 @@ # "[% 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 /(?|api\/|USE |= )Bugzilla/, $text) { - push(@errors, [$lineno, $text]); - next; - } - } } if (scalar(@errors)) { diff --git a/t/010dependencies.t b/t/010dependencies.t index 3289d098e..777d42ed1 100644 --- a/t/010dependencies.t +++ b/t/010dependencies.t @@ -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 -# Frédéric Buclin +# 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/; diff --git a/t/011pod.t b/t/011pod.t index 517ca03ad..4f5fa87f7 100644 --- a/t/011pod.t +++ b/t/011pod.t @@ -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 - +# 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) { diff --git a/t/012throwables.t b/t/012throwables.t index 590fb8aa5..4317c0e89 100644 --- a/t/012throwables.t +++ b/t/012throwables.t @@ -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 -# Max Kanat-Alexander +# 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. @@ -27,8 +11,11 @@ #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 index 4bba7c95e..000000000 --- a/t/013remote_ip.t +++ /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"); -} diff --git a/t/Support/Files.pm b/t/Support/Files.pm index 00e0efd34..1bdf2eac7 100644 --- a/t/Support/Files.pm +++ b/t/Support/Files.pm @@ -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 -# Joel Peshkin +# 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; diff --git a/t/Support/Systemexec.pm b/t/Support/Systemexec.pm index 676ee02a4..e73763f8f 100644 --- a/t/Support/Systemexec.pm +++ b/t/Support/Systemexec.pm @@ -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; diff --git a/t/Support/Templates.pm b/t/Support/Templates.pm index 81dc8cc3f..5071d67ae 100644 --- a/t/Support/Templates.pm +++ b/t/Support/Templates.pm @@ -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 -# David D. Kilzer -# Tobias Burnus +# 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 { diff --git a/template/en/default/global/code-error.html.tmpl b/template/en/default/global/code-error.html.tmpl index df6aac31d..18650de7d 100644 --- a/template/en/default/global/code-error.html.tmpl +++ b/template/en/default/global/code-error.html.tmpl @@ -133,7 +133,8 @@ [% 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. diff --git a/template/en/default/setup/strings.txt.pl b/template/en/default/setup/strings.txt.pl index d7c7e0500..2151c24e8 100644 --- a/template/en/default/setup/strings.txt.pl +++ b/template/en/default/setup/strings.txt.pl @@ -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 +# 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 => < '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 => <1 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 => < '*** Installation aborted. Read the messages above. ***', install_data_too_long => < 'Installing ##module## version ##version##...', - installation_failed => '*** Installation aborted. Read the messages above. ***', - install_no_compiler => < < <<'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 => < -# Byron Jones +# 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; diff --git a/token.cgi b/token.cgi index fd3a38a8e..136e76137 100755 --- 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 -# Frédéric Buclin - -############################################################################ -# 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; diff --git a/userprefs.cgi b/userprefs.cgi index 3f5d2038c..015f6bf4e 100755 --- a/userprefs.cgi +++ b/userprefs.cgi @@ -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 -# Dan Mosedale -# Alan Raetz -# David Miller -# Christopher Aillon -# Gervase Markham -# Vlad Dascalu -# Shane H. W. Travis +# 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; diff --git a/view_job_queue.cgi b/view_job_queue.cgi index 6903acff0..5ea871104 100755 --- a/view_job_queue.cgi +++ b/view_job_queue.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; diff --git a/votes.cgi b/votes.cgi index ef9227af0..8344d7494 100755 --- 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 @@ -23,8 +23,10 @@ # 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; diff --git a/whine.pl b/whine.pl index a701d36a7..a1b3ea8bc 100755 --- 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 +# 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; diff --git a/whineatnews.pl b/whineatnews.pl index 3bfe29871..e1da6f9e4 100755 --- a/whineatnews.pl +++ b/whineatnews.pl @@ -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 -# Joseph Heenan -# Frédéric Buclin +# 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 @@ -30,8 +14,11 @@ # 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 ce6a7c39b..1b5fac9fa 100755 --- 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 @@ -22,9 +22,11 @@ # Terry Weissman # Gervase Markham +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; diff --git a/xmlrpc.cgi b/xmlrpc.cgi index 8b1e69f28..74923e18d 100755 --- a/xmlrpc.cgi +++ b/xmlrpc.cgi @@ -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 +# 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; -- cgit v1.2.3-24-g4f1b