summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore25
-rw-r--r--Bugzilla.pm90
-rw-r--r--Bugzilla/Attachment.pm30
-rw-r--r--Bugzilla/Attachment/Database.pm2
-rw-r--r--Bugzilla/Attachment/FileSystem.pm2
-rw-r--r--Bugzilla/Attachment/PatchReader.pm25
-rw-r--r--Bugzilla/Attachment/S3.pm2
-rw-r--r--Bugzilla/Auth.pm29
-rw-r--r--Bugzilla/Auth/Login.pm23
-rw-r--r--Bugzilla/Auth/Login/APIKey.pm1
-rw-r--r--Bugzilla/Auth/Login/CGI.pm37
-rw-r--r--Bugzilla/Auth/Login/Cookie.pm23
-rw-r--r--Bugzilla/Auth/Login/Env.pm29
-rw-r--r--Bugzilla/Auth/Login/Stack.pm28
-rw-r--r--Bugzilla/Auth/Persist/Cookie.pm37
-rw-r--r--Bugzilla/Auth/Verify.pm22
-rw-r--r--Bugzilla/Auth/Verify/DB.pm36
-rw-r--r--Bugzilla/Auth/Verify/LDAP.pm37
-rw-r--r--Bugzilla/Auth/Verify/RADIUS.pm27
-rw-r--r--Bugzilla/Auth/Verify/Stack.pm23
-rw-r--r--Bugzilla/Bug.pm35
-rw-r--r--Bugzilla/BugMail.pm42
-rw-r--r--Bugzilla/BugUrl.pm27
-rw-r--r--Bugzilla/BugUrl/Aha.pm4
-rw-r--r--Bugzilla/BugUrl/Bugzilla.pm28
-rw-r--r--Bugzilla/BugUrl/Bugzilla/Local.pm27
-rw-r--r--Bugzilla/BugUrl/Debian.pm27
-rw-r--r--Bugzilla/BugUrl/GitHub.pm4
-rw-r--r--Bugzilla/BugUrl/Google.pm27
-rw-r--r--Bugzilla/BugUrl/JIRA.pm26
-rw-r--r--Bugzilla/BugUrl/Launchpad.pm27
-rw-r--r--Bugzilla/BugUrl/MantisBT.pm26
-rw-r--r--Bugzilla/BugUrl/MozSupport.pm4
-rw-r--r--Bugzilla/BugUrl/ServiceNow.pm4
-rw-r--r--Bugzilla/BugUrl/SourceForge.pm26
-rw-r--r--Bugzilla/BugUrl/Splat.pm4
-rw-r--r--Bugzilla/BugUrl/Trac.pm26
-rw-r--r--Bugzilla/BugUrl/WebCompat.pm4
-rw-r--r--Bugzilla/BugUserLastVisit.pm1
-rw-r--r--Bugzilla/CGI.pm31
-rw-r--r--Bugzilla/Chart.pm32
-rw-r--r--Bugzilla/Classification.pm26
-rw-r--r--Bugzilla/Comment.pm30
-rw-r--r--Bugzilla/Comment/TagWeights.pm3
-rw-r--r--Bugzilla/Component.pm26
-rw-r--r--Bugzilla/Config.pm35
-rw-r--r--Bugzilla/Config/Admin.pm36
-rw-r--r--Bugzilla/Config/Advanced.pm37
-rw-r--r--Bugzilla/Config/Attachment.pm36
-rw-r--r--Bugzilla/Config/Auth.pm36
-rw-r--r--Bugzilla/Config/BugChange.pm36
-rw-r--r--Bugzilla/Config/BugFields.pm36
-rw-r--r--Bugzilla/Config/Common.pm37
-rw-r--r--Bugzilla/Config/Core.pm36
-rw-r--r--Bugzilla/Config/DependencyGraph.pm2
-rw-r--r--Bugzilla/Config/General.pm38
-rw-r--r--Bugzilla/Config/GroupSecurity.pm36
-rw-r--r--Bugzilla/Config/LDAP.pm36
-rw-r--r--Bugzilla/Config/MTA.pm2
-rw-r--r--Bugzilla/Config/Memcached.pm1
-rw-r--r--Bugzilla/Config/PatchViewer.pm2
-rw-r--r--Bugzilla/Config/Query.pm36
-rw-r--r--Bugzilla/Config/RADIUS.pm26
-rw-r--r--Bugzilla/Config/ShadowDB.pm36
-rw-r--r--Bugzilla/Config/UserMatch.pm36
-rw-r--r--Bugzilla/Constants.pm51
-rw-r--r--Bugzilla/DB.pm63
-rw-r--r--Bugzilla/DB/Mysql.pm34
-rw-r--r--Bugzilla/DB/Oracle.pm29
-rw-r--r--Bugzilla/DB/Pg.pm33
-rw-r--r--Bugzilla/DB/Schema.pm33
-rw-r--r--Bugzilla/DB/Schema/Mysql.pm29
-rw-r--r--Bugzilla/DB/Schema/Oracle.pm27
-rw-r--r--Bugzilla/DB/Schema/Pg.pm29
-rw-r--r--Bugzilla/DB/Schema/Sqlite.pm30
-rw-r--r--Bugzilla/DB/Sqlite.pm30
-rw-r--r--Bugzilla/DuoWeb.pm1
-rw-r--r--Bugzilla/Error.pm29
-rw-r--r--Bugzilla/Extension.pm27
-rw-r--r--Bugzilla/Field.pm24
-rw-r--r--Bugzilla/Field/Choice.pm30
-rw-r--r--Bugzilla/Field/ChoiceInterface.pm27
-rw-r--r--Bugzilla/Flag.pm32
-rw-r--r--Bugzilla/FlagType.pm31
-rw-r--r--Bugzilla/Group.pm33
-rw-r--r--Bugzilla/Hook.pm28
-rw-r--r--Bugzilla/Install.pm21
-rw-r--r--Bugzilla/Install/CPAN.pm351
-rw-r--r--Bugzilla/Install/DB.pm22
-rw-r--r--Bugzilla/Install/Filesystem.pm26
-rw-r--r--Bugzilla/Install/Localconfig.pm39
-rw-r--r--Bugzilla/Install/Requirements.pm990
-rw-r--r--Bugzilla/Install/Util.pm52
-rw-r--r--Bugzilla/Job/BugMail.pm1
-rw-r--r--Bugzilla/Job/Mailer.pm27
-rw-r--r--Bugzilla/JobQueue.pm27
-rw-r--r--Bugzilla/JobQueue/Runner.pm28
-rw-r--r--Bugzilla/Keyword.pm25
-rw-r--r--Bugzilla/MFA.pm3
-rw-r--r--Bugzilla/MFA/Dummy.pm5
-rw-r--r--Bugzilla/MFA/Duo.pm6
-rw-r--r--Bugzilla/MFA/TOTP.pm6
-rw-r--r--Bugzilla/Mailer.pm39
-rw-r--r--Bugzilla/Metrics/Memcached.pm3
-rw-r--r--Bugzilla/Metrics/Mysql.pm2
-rw-r--r--Bugzilla/Metrics/Reporter.pm1
-rw-r--r--Bugzilla/Metrics/Reporter/ElasticSearch.pm3
-rw-r--r--Bugzilla/Metrics/Reporter/STDERR.pm3
-rw-r--r--Bugzilla/Metrics/Template.pm3
-rw-r--r--Bugzilla/Metrics/Template/Context.pm3
-rw-r--r--Bugzilla/Migrate.pm27
-rw-r--r--Bugzilla/Migrate/Gnats.pm28
-rw-r--r--Bugzilla/Milestone.pm27
-rw-r--r--Bugzilla/Object.pm30
-rw-r--r--Bugzilla/PatchReader.pm2
-rw-r--r--Bugzilla/PatchReader/AddCVSContext.pm6
-rw-r--r--Bugzilla/PatchReader/Base.pm2
-rw-r--r--Bugzilla/PatchReader/CVSClient.pm2
-rw-r--r--Bugzilla/PatchReader/DiffPrinter/raw.pm2
-rw-r--r--Bugzilla/PatchReader/DiffPrinter/template.pm2
-rw-r--r--Bugzilla/PatchReader/FilterPatch.pm2
-rw-r--r--Bugzilla/PatchReader/FixPatchRoot.pm6
-rw-r--r--Bugzilla/PatchReader/NarrowPatch.pm2
-rw-r--r--Bugzilla/PatchReader/PatchInfoGrabber.pm2
-rw-r--r--Bugzilla/PatchReader/Raw.pm2
-rw-r--r--Bugzilla/Product.pm24
-rw-r--r--Bugzilla/RNG.pm28
-rw-r--r--Bugzilla/S3.pm1
-rw-r--r--Bugzilla/S3/Bucket.pm2
-rw-r--r--Bugzilla/Search.pm41
-rw-r--r--Bugzilla/Search/Clause.pm27
-rw-r--r--Bugzilla/Search/ClauseGroup.pm2
-rw-r--r--Bugzilla/Search/Condition.pm28
-rw-r--r--Bugzilla/Search/Quicksearch.pm26
-rw-r--r--Bugzilla/Search/Recent.pm28
-rw-r--r--Bugzilla/Search/Saved.pm29
-rw-r--r--Bugzilla/Send/Sendmail.pm3
-rw-r--r--Bugzilla/Sentry.pm1
-rw-r--r--Bugzilla/Series.pm31
-rw-r--r--Bugzilla/Status.pm32
-rw-r--r--Bugzilla/Template.pm36
-rw-r--r--Bugzilla/Template/Context.pm28
-rw-r--r--Bugzilla/Template/Plugin/Bugzilla.pm27
-rw-r--r--Bugzilla/Template/Plugin/Hook.pm31
-rw-r--r--Bugzilla/Template/Plugin/User.pm3
-rw-r--r--Bugzilla/Token.pm35
-rw-r--r--Bugzilla/Update.pm21
-rw-r--r--Bugzilla/User.pm46
-rw-r--r--Bugzilla/User/APIKey.pm3
-rw-r--r--Bugzilla/User/Session.pm3
-rw-r--r--Bugzilla/User/Setting.pm25
-rw-r--r--Bugzilla/User/Setting/Lang.pm25
-rw-r--r--Bugzilla/User/Setting/Skin.pm22
-rw-r--r--Bugzilla/User/Setting/Timezone.pm25
-rw-r--r--Bugzilla/UserAgent.pm33
-rw-r--r--Bugzilla/Util.pm32
-rw-r--r--Bugzilla/Version.pm77
-rw-r--r--Bugzilla/WebService.pm24
-rw-r--r--Bugzilla/WebService/Bug.pm29
-rw-r--r--Bugzilla/WebService/BugUserLastVisit.pm3
-rw-r--r--Bugzilla/WebService/Bugzilla.pm24
-rw-r--r--Bugzilla/WebService/Classification.pm3
-rw-r--r--Bugzilla/WebService/Constants.pm23
-rw-r--r--Bugzilla/WebService/Group.pm2
-rw-r--r--Bugzilla/WebService/Product.pm24
-rw-r--r--Bugzilla/WebService/Server.pm23
-rw-r--r--Bugzilla/WebService/Server/JSONRPC.pm27
-rw-r--r--Bugzilla/WebService/Server/REST.pm3
-rw-r--r--Bugzilla/WebService/Server/REST/Resources/Bug.pm1
-rw-r--r--Bugzilla/WebService/Server/REST/Resources/Bugzilla.pm1
-rw-r--r--Bugzilla/WebService/Server/REST/Resources/Classification.pm1
-rw-r--r--Bugzilla/WebService/Server/REST/Resources/Product.pm1
-rw-r--r--Bugzilla/WebService/Server/REST/Resources/User.pm1
-rw-r--r--Bugzilla/WebService/Server/XMLRPC.pm26
-rw-r--r--Bugzilla/WebService/User.pm25
-rw-r--r--Bugzilla/WebService/Util.pm27
-rw-r--r--Bugzilla/Whine.pm29
-rw-r--r--Bugzilla/Whine/Query.pm25
-rw-r--r--Bugzilla/Whine/Schedule.pm29
-rw-r--r--META.json430
-rw-r--r--META.yml231
-rw-r--r--Makefile.PL387
-rwxr-xr-xadmin.cgi29
-rwxr-xr-xattachment.cgi44
-rwxr-xr-xauth.cgi4
-rwxr-xr-xbuglist.cgi40
-rwxr-xr-xchart.cgi33
-rwxr-xr-xchecksetup.pl149
-rwxr-xr-xclean-bug-user-last-visit.pl4
-rwxr-xr-xcolchange.cgi34
-rwxr-xr-xcollectstats.pl36
-rwxr-xr-xconfig.cgi37
-rwxr-xr-xcontrib/clear-memcached.pl5
-rwxr-xr-xcontrib/clear-templates.pl3
-rwxr-xr-xcontrib/fixperms.pl3
-rwxr-xr-xcontrib/nagios_blocker_checker.pl6
-rw-r--r--cpanfile87
-rw-r--r--cpanfile.snapshot4614
-rwxr-xr-xcreateaccount.cgi34
-rwxr-xr-xdescribecomponents.cgi6
-rwxr-xr-xdescribekeywords.cgi6
-rwxr-xr-xdocs/makedocs.pl2
-rwxr-xr-xduplicates.cgi33
-rwxr-xr-xeditclassifications.cgi30
-rwxr-xr-xeditcomponents.cgi34
-rwxr-xr-xeditfields.cgi26
-rwxr-xr-xeditflagtypes.cgi38
-rwxr-xr-xeditgroups.cgi35
-rwxr-xr-xeditkeywords.cgi31
-rwxr-xr-xeditmilestones.cgi30
-rwxr-xr-xeditparams.cgi33
-rwxr-xr-xeditproducts.cgi39
-rwxr-xr-xeditsettings.cgi27
-rwxr-xr-xeditusers.cgi31
-rwxr-xr-xeditvalues.cgi29
-rwxr-xr-xeditversions.cgi34
-rwxr-xr-xeditwhines.cgi31
-rwxr-xr-xeditworkflow.cgi29
-rwxr-xr-xemail_in.pl36
-rwxr-xr-xenter_bug.cgi34
-rw-r--r--extensions/AntiSpam/Config.pm3
-rw-r--r--extensions/AntiSpam/Extension.pm1
-rw-r--r--extensions/AntiSpam/lib/Config.pm1
-rw-r--r--extensions/BMO/Config.pm3
-rw-r--r--extensions/BMO/Extension.pm4
-rwxr-xr-xextensions/BMO/bin/bug_1022707.pl2
-rwxr-xr-xextensions/BMO/bin/bug_1093952.pl2
-rwxr-xr-xextensions/BMO/bin/bug_1141452.pl2
-rwxr-xr-xextensions/BMO/bin/migrate-github-pull-requests.pl2
-rw-r--r--extensions/BMO/lib/Constants.pm4
-rw-r--r--extensions/BMO/lib/Data.pm3
-rw-r--r--extensions/BMO/lib/FakeBug.pm2
-rw-r--r--extensions/BMO/lib/Reports/Groups.pm2
-rw-r--r--extensions/BMO/lib/Reports/Internship.pm2
-rw-r--r--extensions/BMO/lib/Reports/ProductSecurity.pm2
-rw-r--r--extensions/BMO/lib/Reports/Recruiting.pm2
-rw-r--r--extensions/BMO/lib/Reports/ReleaseTracking.pm2
-rw-r--r--extensions/BMO/lib/Reports/Triage.pm3
-rw-r--r--extensions/BMO/lib/Reports/UserActivity.pm2
-rw-r--r--extensions/BMO/lib/Util.pm2
-rw-r--r--extensions/BMO/lib/WebService.pm1
-rw-r--r--extensions/Bitly/Config.pm33
-rw-r--r--extensions/Bitly/Extension.pm2
-rw-r--r--extensions/Bitly/lib/WebService.pm1
-rw-r--r--extensions/BugModal/Config.pm2
-rw-r--r--extensions/BugModal/Extension.pm1
-rw-r--r--extensions/BugModal/lib/ActivityStream.pm2
-rw-r--r--extensions/BugModal/lib/MonkeyPatches.pm8
-rw-r--r--extensions/BugModal/lib/Util.pm2
-rw-r--r--extensions/BugModal/lib/WebService.pm1
-rw-r--r--extensions/BugmailFilter/Config.pm3
-rw-r--r--extensions/BugmailFilter/Extension.pm2
-rw-r--r--extensions/BugmailFilter/lib/Constants.pm3
-rw-r--r--extensions/BugmailFilter/lib/FakeField.pm1
-rw-r--r--extensions/BugmailFilter/lib/Filter.pm1
-rw-r--r--extensions/BzAPI/Config.pm2
-rw-r--r--extensions/BzAPI/Extension.pm3
-rw-r--r--extensions/BzAPI/lib/Constants.pm2
-rw-r--r--extensions/BzAPI/lib/Resources/Bug.pm1
-rw-r--r--extensions/BzAPI/lib/Resources/Bugzilla.pm1
-rw-r--r--extensions/BzAPI/lib/Resources/User.pm1
-rw-r--r--extensions/BzAPI/lib/Util.pm1
-rw-r--r--extensions/ComponentWatching/Config.pm4
-rw-r--r--extensions/ComponentWatching/Extension.pm4
-rw-r--r--extensions/ContributorEngagement/Config.pm3
-rw-r--r--extensions/ContributorEngagement/Extension.pm1
-rw-r--r--extensions/ContributorEngagement/lib/Constants.pm2
-rw-r--r--extensions/EditComments/Config.pm3
-rw-r--r--extensions/EditComments/Extension.pm1
-rw-r--r--extensions/EditComments/lib/WebService.pm1
-rw-r--r--extensions/EditTable/Config.pm3
-rw-r--r--extensions/EditTable/Extension.pm1
-rw-r--r--extensions/Ember/Config.pm1
-rw-r--r--extensions/Ember/Extension.pm2
-rw-r--r--extensions/Example/Config.pm28
-rw-r--r--extensions/Example/Extension.pm27
-rw-r--r--extensions/Example/lib/Auth/Login.pm25
-rw-r--r--extensions/Example/lib/Auth/Verify.pm25
-rw-r--r--extensions/Example/lib/Config.pm26
-rw-r--r--extensions/Example/lib/Util.pm25
-rw-r--r--extensions/Example/lib/WebService.pm25
-rw-r--r--extensions/FlagDefaultRequestee/Config.pm2
-rw-r--r--extensions/FlagDefaultRequestee/Extension.pm3
-rw-r--r--extensions/FlagDefaultRequestee/lib/Constants.pm2
-rw-r--r--extensions/FlagTypeComment/Config.pm3
-rw-r--r--extensions/FlagTypeComment/Extension.pm4
-rw-r--r--extensions/FlagTypeComment/lib/Constants.pm3
-rw-r--r--extensions/GitHubAuth/Config.pm1
-rw-r--r--extensions/GitHubAuth/Extension.pm2
-rw-r--r--extensions/GitHubAuth/lib/Client.pm2
-rw-r--r--extensions/GitHubAuth/lib/Client/Error.pm1
-rw-r--r--extensions/GitHubAuth/lib/Config.pm1
-rw-r--r--extensions/GitHubAuth/lib/Login.pm3
-rw-r--r--extensions/GitHubAuth/lib/Verify.pm3
-rw-r--r--extensions/Gravatar/Config.pm2
-rw-r--r--extensions/Gravatar/Extension.pm1
-rw-r--r--extensions/Gravatar/lib/Data.pm3
-rw-r--r--extensions/GuidedBugEntry/Config.pm3
-rw-r--r--extensions/GuidedBugEntry/Extension.pm4
-rw-r--r--extensions/InlineHistory/Config.pm3
-rw-r--r--extensions/InlineHistory/Extension.pm4
-rw-r--r--extensions/LastResolved/Config.pm2
-rw-r--r--extensions/LastResolved/Extension.pm2
-rw-r--r--extensions/LimitedEmail/Config.pm3
-rw-r--r--extensions/LimitedEmail/Extension.pm4
-rw-r--r--extensions/MozProjectReview/Config.pm2
-rw-r--r--extensions/MozProjectReview/Extension.pm2
-rw-r--r--extensions/MozReview/Config.pm1
-rwxr-xr-xextensions/MozReview/bin/add-mozreview-children.pl2
-rw-r--r--extensions/MozReview/lib/Config.pm1
-rw-r--r--extensions/MozReview/lib/WebService.pm1
-rw-r--r--extensions/MyDashboard/Config.pm2
-rw-r--r--extensions/MyDashboard/Extension.pm2
-rw-r--r--extensions/MyDashboard/lib/BugInterest.pm1
-rw-r--r--extensions/MyDashboard/lib/Queries.pm2
-rw-r--r--extensions/MyDashboard/lib/Util.pm2
-rw-r--r--extensions/MyDashboard/lib/WebService.pm1
-rw-r--r--extensions/Needinfo/Config.pm3
-rw-r--r--extensions/Needinfo/Extension.pm2
-rw-r--r--extensions/OpenGraph/Config.pm2
-rw-r--r--extensions/OpenGraph/Extension.pm4
-rw-r--r--extensions/OrangeFactor/Config.pm3
-rw-r--r--extensions/OrangeFactor/Extension.pm4
-rw-r--r--extensions/Persona/Config.pm3
-rw-r--r--extensions/Persona/Extension.pm4
-rw-r--r--extensions/Persona/lib/Config.pm1
-rw-r--r--extensions/Persona/lib/Login.pm4
-rw-r--r--extensions/ProdCompSearch/Config.pm3
-rw-r--r--extensions/ProdCompSearch/Extension.pm4
-rw-r--r--extensions/ProdCompSearch/lib/WebService.pm1
-rw-r--r--extensions/ProductDashboard/Config.pm2
-rw-r--r--extensions/ProductDashboard/Extension.pm2
-rw-r--r--extensions/ProductDashboard/lib/Queries.pm2
-rw-r--r--extensions/ProductDashboard/lib/Util.pm2
-rw-r--r--extensions/Profanivore/Config.pm3
-rw-r--r--extensions/Profanivore/Extension.pm4
-rw-r--r--extensions/Push/Config.pm2
-rw-r--r--extensions/Push/Extension.pm1
-rwxr-xr-xextensions/Push/bin/bugzilla-pushd.pl6
-rwxr-xr-xextensions/Push/bin/nagios_push_checker.pl6
-rw-r--r--extensions/Push/lib/Admin.pm1
-rw-r--r--extensions/Push/lib/BacklogMessage.pm1
-rw-r--r--extensions/Push/lib/BacklogQueue.pm1
-rw-r--r--extensions/Push/lib/Backoff.pm1
-rw-r--r--extensions/Push/lib/Config.pm1
-rw-r--r--extensions/Push/lib/Connector.disabled/AMQP.pm1
-rw-r--r--extensions/Push/lib/Connector.disabled/ServiceNow.pm1
-rw-r--r--extensions/Push/lib/Connector/Aha.pm1
-rw-r--r--extensions/Push/lib/Connector/Base.pm1
-rw-r--r--extensions/Push/lib/Connector/File.pm1
-rw-r--r--extensions/Push/lib/Connector/ReviewBoard.pm1
-rw-r--r--extensions/Push/lib/Connector/Spark.pm1
-rw-r--r--extensions/Push/lib/Connector/TCL.pm1
-rw-r--r--extensions/Push/lib/Connectors.pm1
-rw-r--r--extensions/Push/lib/Constants.pm3
-rw-r--r--extensions/Push/lib/Daemon.pm1
-rw-r--r--extensions/Push/lib/Log.pm1
-rw-r--r--extensions/Push/lib/LogEntry.pm1
-rw-r--r--extensions/Push/lib/Logger.pm1
-rw-r--r--extensions/Push/lib/Message.pm1
-rw-r--r--extensions/Push/lib/Option.pm1
-rw-r--r--extensions/Push/lib/Push.pm1
-rw-r--r--extensions/Push/lib/Queue.pm1
-rw-r--r--extensions/Push/lib/Serialise.pm1
-rw-r--r--extensions/Push/lib/Util.pm1
-rw-r--r--extensions/REMO/Config.pm3
-rw-r--r--extensions/REMO/Extension.pm4
-rw-r--r--extensions/RequestNagger/Config.pm3
-rw-r--r--extensions/RequestNagger/Extension.pm1
-rwxr-xr-xextensions/RequestNagger/bin/send-request-nags.pl2
-rw-r--r--extensions/RequestNagger/lib/Bug.pm3
-rw-r--r--extensions/RequestNagger/lib/Constants.pm3
-rw-r--r--extensions/RequestNagger/lib/Settings.pm2
-rw-r--r--extensions/RestrictComments/Config.pm2
-rw-r--r--extensions/RestrictComments/Extension.pm1
-rw-r--r--extensions/RestrictComments/lib/Config.pm1
-rw-r--r--extensions/Review/Config.pm3
-rw-r--r--extensions/Review/Extension.pm2
-rwxr-xr-xextensions/Review/bin/migrate_mentor_from_whiteboard.pl2
-rwxr-xr-xextensions/Review/bin/review_requests_rebuild.pl4
-rw-r--r--extensions/Review/lib/FlagStateActivity.pm2
-rw-r--r--extensions/Review/lib/Util.pm2
-rw-r--r--extensions/Review/lib/WebService.pm1
-rw-r--r--extensions/SecureMail/Config.pm3
-rw-r--r--extensions/SecureMail/Extension.pm4
-rw-r--r--extensions/SiteMapIndex/Config.pm3
-rw-r--r--extensions/SiteMapIndex/Extension.pm4
-rw-r--r--extensions/SiteMapIndex/lib/Constants.pm4
-rw-r--r--extensions/SiteMapIndex/lib/Util.pm4
-rw-r--r--extensions/Splinter/Config.pm4
-rw-r--r--extensions/Splinter/Extension.pm2
-rw-r--r--extensions/Splinter/lib/Config.pm1
-rw-r--r--extensions/Splinter/lib/Util.pm2
-rw-r--r--extensions/TagNewUsers/Config.pm3
-rw-r--r--extensions/TagNewUsers/Extension.pm6
-rw-r--r--extensions/TrackingFlags/Config.pm3
-rw-r--r--extensions/TrackingFlags/Extension.pm2
-rwxr-xr-xextensions/TrackingFlags/bin/bug_825946.pl2
-rwxr-xr-xextensions/TrackingFlags/bin/bulk_flag_clear.pl6
-rwxr-xr-xextensions/TrackingFlags/bin/migrate_tracking_flags.pl6
-rw-r--r--extensions/TrackingFlags/lib/Admin.pm1
-rw-r--r--extensions/TrackingFlags/lib/Constants.pm3
-rw-r--r--extensions/TrackingFlags/lib/Flag.pm1
-rw-r--r--extensions/TrackingFlags/lib/Flag/Bug.pm1
-rw-r--r--extensions/TrackingFlags/lib/Flag/Value.pm1
-rw-r--r--extensions/TrackingFlags/lib/Flag/Visibility.pm1
-rw-r--r--extensions/TypeSniffer/Config.pm3
-rw-r--r--extensions/TypeSniffer/Extension.pm4
-rw-r--r--extensions/UserProfile/Config.pm3
-rw-r--r--extensions/UserProfile/Extension.pm1
-rwxr-xr-xextensions/UserProfile/bin/migrate.pl4
-rwxr-xr-xextensions/UserProfile/bin/update.pl4
-rw-r--r--extensions/UserProfile/lib/Util.pm1
-rw-r--r--extensions/UserStory/Config.pm3
-rw-r--r--extensions/UserStory/Extension.pm2
-rw-r--r--extensions/UserStory/lib/Constants.pm1
-rw-r--r--extensions/Voting/Config.pm27
-rw-r--r--extensions/Voting/Extension.pm31
-rw-r--r--extensions/ZPushNotify/Config.pm3
-rw-r--r--extensions/ZPushNotify/Extension.pm2
-rwxr-xr-xextensions/create.pl34
-rwxr-xr-xgen-cpanfile.pl68
-rwxr-xr-xgithub.cgi6
-rwxr-xr-ximportxml.pl35
-rwxr-xr-xindex.cgi37
-rwxr-xr-xjobqueue.pl31
-rwxr-xr-xjsonrpc.cgi31
-rwxr-xr-xlong_list.cgi8
-rwxr-xr-xmetrics.pl8
-rwxr-xr-xmigrate.pl31
-rw-r--r--mod_perl.pl32
-rwxr-xr-xpage.cgi31
-rwxr-xr-xpost_bug.cgi35
-rwxr-xr-xprocess_bug.cgi51
-rw-r--r--qa/t/lib/QA/REST.pm61
-rw-r--r--qa/t/rest_bugzilla.t60
-rw-r--r--qa/t/rest_classification.t61
-rw-r--r--qa/t/test_password_complexity.t99
-rwxr-xr-xquery.cgi38
-rwxr-xr-xquips.cgi33
-rwxr-xr-xrelogin.cgi33
-rwxr-xr-xreport.cgi32
-rwxr-xr-xreports.cgi38
-rwxr-xr-xrequest.cgi36
-rwxr-xr-xreset_password.cgi6
-rwxr-xr-xrest.cgi6
-rwxr-xr-xruntests.pl6
-rwxr-xr-xsanitycheck.cgi34
-rwxr-xr-xsanitycheck.pl29
-rwxr-xr-xscripts/addcustomfield.pl3
-rwxr-xr-xscripts/clear-memcached.pl5
-rwxr-xr-xscripts/clear-templates.pl3
-rwxr-xr-xscripts/close_bugs_wontfix.pl4
-rwxr-xr-xscripts/convert_datetime.pl3
-rwxr-xr-xscripts/cpanfile_fixed_versions.pl3
-rwxr-xr-xscripts/fix-attachment-sizes.pl5
-rwxr-xr-xscripts/fix_all_open_status_queries.pl3
-rwxr-xr-xscripts/fixgroupqueries.pl3
-rwxr-xr-xscripts/fixperms.pl3
-rwxr-xr-xscripts/fixqueries.pl3
-rwxr-xr-xscripts/group-set-members.pl4
-rwxr-xr-xscripts/issue-api-key.pl5
-rwxr-xr-xscripts/merge-users.pl31
-rwxr-xr-xscripts/migrate-attachments.pl2
-rwxr-xr-xscripts/migrate-cab-review.pl2
-rw-r--r--scripts/migrate_whiteboard_keyword.pl3
-rwxr-xr-xscripts/move_flag_types.pl3
-rwxr-xr-xscripts/move_os.pl4
-rwxr-xr-xscripts/movebugs.pl4
-rwxr-xr-xscripts/movecomponent.pl4
-rwxr-xr-xscripts/nagios_blocker_checker.pl5
-rwxr-xr-xscripts/nagios_push_checker.pl2
-rwxr-xr-xscripts/nightly_group_bug_cleaner.pl4
-rwxr-xr-xscripts/nuke-bugs.pl3
-rwxr-xr-xscripts/reassign_open_bugs.pl4
-rwxr-xr-xscripts/remove-non-public-data.pl2
-rwxr-xr-xscripts/remove_idle_group_members.pl4
-rwxr-xr-xscripts/reset_default_user.pl3
-rwxr-xr-xscripts/sanitizeme.pl4
-rwxr-xr-xscripts/security_remove.pl4
-rwxr-xr-xscripts/sendunsentbugmail.pl31
-rwxr-xr-xscripts/syncflags.pl3
-rwxr-xr-xscripts/syncmsandversions.pl3
-rwxr-xr-xscripts/update-bug-groups.pl2
-rwxr-xr-xscripts/update-crash-signatures.pl2
-rwxr-xr-xscripts/user-prefs.pl4
-rwxr-xr-xsearch_plugin.cgi26
-rwxr-xr-xsentry.pl10
-rwxr-xr-xshow_activity.cgi32
-rwxr-xr-xshow_bug.cgi30
-rwxr-xr-xshowattachment.cgi6
-rwxr-xr-xshowdependencygraph.cgi31
-rwxr-xr-xshowdependencytree.cgi34
-rwxr-xr-xsummarize_time.cgi27
-rw-r--r--t/001compile.t45
-rw-r--r--t/002goodperl.t89
-rw-r--r--t/003safesys.t73
-rw-r--r--t/004template.t62
-rw-r--r--t/005whitespace.t37
-rw-r--r--t/006spellcheck.t84
-rw-r--r--t/007util.t48
-rw-r--r--t/008filter.t40
-rw-r--r--t/009bugwords.t38
-rw-r--r--t/010dependencies.t29
-rw-r--r--t/011pod.t28
-rw-r--r--t/012throwables.t40
-rw-r--r--t/013remote_ip.t82
-rw-r--r--t/Support/Files.pm61
-rw-r--r--t/Support/Systemexec.pm21
-rw-r--r--t/Support/Templates.pm70
-rw-r--r--template/en/default/global/code-error.html.tmpl3
-rw-r--r--template/en/default/setup/strings.txt.pl84
-rwxr-xr-xtestagent.cgi4
-rwxr-xr-xtestserver.pl25
-rwxr-xr-xtoken.cgi36
-rwxr-xr-xuserprefs.cgi32
-rwxr-xr-xview_job_queue.cgi4
-rwxr-xr-xvotes.cgi6
-rwxr-xr-xwhine.pl30
-rwxr-xr-xwhineatnews.pl33
-rwxr-xr-xxml.cgi6
-rwxr-xr-xxmlrpc.cgi26
522 files changed, 6121 insertions, 9129 deletions
diff --git a/.gitignore b/.gitignore
index 0172ea059..a829834c5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,27 +1,16 @@
-/**/.htaccess
+.htaccess
/lib/*
-/local/*
/template/en/custom
-/docs/en/rst/extensions/*
-/docs/en/rst/api/extensions/*
-/docs/en/html
+/docs/bugzilla.ent
+/docs/en/xml/bugzilla.ent
/docs/en/txt
+/docs/en/html
/docs/en/pdf
-/skins/custom
/graphs
/data
/localconfig
-/localconfig.*
/index.html
-/error_reports
-/.DS_Store
/template_cache
-/Makefile
-/MYMETA.*
-/pm_to_blib
-/blib
-/Bugzilla-*.*/
-/local
-
-/skins/contrib/Dusk/admin.css
-/skins/contrib/Dusk/bug.css
+/error_reports
+.DS_Store
+cpanfile
diff --git a/Bugzilla.pm b/Bugzilla.pm
index 72192d41a..56bbb5c15 100644
--- a/Bugzilla.pm
+++ b/Bugzilla.pm
@@ -1,15 +1,30 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Bradley Baetz <bbaetz@student.usyd.edu.au>
+# Erik Stambaugh <erik@dasbistro.com>
+# A. Karl Kornel <karl@kornel.name>
+# Marc Schumann <wurblzap@gmail.com>
package Bugzilla;
-use 5.10.1;
use strict;
-use warnings;
# We want any compile errors to get to the browser, if possible.
BEGIN {
@@ -32,8 +47,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;
@@ -238,7 +253,7 @@ sub extensions {
my $extension = $package->new();
if ($extension->enabled) {
push(@extensions, $extension);
- }
+ }
}
$cache->{extensions} = \@extensions;
}
@@ -246,36 +261,37 @@ sub extensions {
}
sub feature {
- 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;
-}
-
-sub has_feature {
- my ($class, $feature_name) = @_;
-
- return 0 unless CAN_HAS_FEATURE;
-
- my $cache = $class->process_cache;
- return $cache->{feature}->{$feature_name}
- if exists $cache->{feature}->{$feature_name};
+ 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 $meta = $cache->{cpan_meta} //= load_cpan_meta();
- my $feature = eval { $meta->feature($feature_name) }
- or ThrowCodeError('invalid_feature', { feature => $feature_name });
+ if (!$feature_map->{$feature}) {
+ ThrowCodeError('invalid_feature', { feature => $feature });
+ }
- return $cache->{feature}{$feature_name} = check_cpan_feature($feature)->{ok};
+ 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;
}
sub cgi {
diff --git a/Bugzilla/Attachment.pm b/Bugzilla/Attachment.pm
index 068ba9e45..3b4953f64 100644
--- a/Bugzilla/Attachment.pm
+++ b/Bugzilla/Attachment.pm
@@ -1,15 +1,31 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Myk Melez <myk@mozilla.org>
+# Marc Schumann <wurblzap@gmail.com>
+# Frédéric Buclin <LpSolit@gmail.com>
package Bugzilla::Attachment;
-use 5.10.1;
+use 5.10.0;
use strict;
-use warnings;
=head1 NAME
diff --git a/Bugzilla/Attachment/Database.pm b/Bugzilla/Attachment/Database.pm
index 42cdd2d6f..24617cacc 100644
--- a/Bugzilla/Attachment/Database.pm
+++ b/Bugzilla/Attachment/Database.pm
@@ -6,8 +6,6 @@
# 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 a9fdf83b6..675184c49 100644
--- a/Bugzilla/Attachment/FileSystem.pm
+++ b/Bugzilla/Attachment/FileSystem.pm
@@ -6,8 +6,6 @@
# 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 fb8b83392..2c1647736 100644
--- a/Bugzilla/Attachment/PatchReader.pm
+++ b/Bugzilla/Attachment/PatchReader.pm
@@ -1,16 +1,23 @@
+# -*- Mode: perl; indent-tabs-mode: nil -*-
+#
# The contents of this file are subject to the Mozilla Public
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# License Version 1.1 (the "License"); you may 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 "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
-
-package Bugzilla::Attachment::PatchReader;
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# 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): John Keiser <john@johnkeiser.com>
+# Frédéric Buclin <LpSolit@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
+
+package Bugzilla::Attachment::PatchReader;
use IPC::Open3;
use Symbol 'gensym';
diff --git a/Bugzilla/Attachment/S3.pm b/Bugzilla/Attachment/S3.pm
index e1c7269a5..6d11f423e 100644
--- a/Bugzilla/Attachment/S3.pm
+++ b/Bugzilla/Attachment/S3.pm
@@ -6,8 +6,6 @@
# 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 522fbebf3..f57ee80e0 100644
--- a/Bugzilla/Auth.pm
+++ b/Bugzilla/Auth.pm
@@ -1,16 +1,29 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Bradley Baetz <bbaetz@acm.org>
+# Erik Stambaugh <erik@dasbistro.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
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 a5f089777..09830da25 100644
--- a/Bugzilla/Auth/Login.pm
+++ b/Bugzilla/Auth/Login.pm
@@ -1,17 +1,22 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
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 25c2a3555..4038cc8b9 100644
--- a/Bugzilla/Auth/Login/APIKey.pm
+++ b/Bugzilla/Auth/Login/APIKey.pm
@@ -9,7 +9,6 @@ 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 dad6ddb7c..240698277 100644
--- a/Bugzilla/Auth/Login/CGI.pm
+++ b/Bugzilla/Auth/Login/CGI.pm
@@ -1,16 +1,35 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Dan Mosedale <dmose@mozilla.org>
+# Joe Robins <jmrobins@tgix.com>
+# Dave Miller <justdave@syndicomm.com>
+# Christopher Aillon <christopher@aillon.com>
+# Gervase Markham <gerv@gerv.net>
+# Christian Reis <kiko@async.com.br>
+# Bradley Baetz <bbaetz@acm.org>
+# Erik Stambaugh <erik@dasbistro.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
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 b52e3e7c1..0a2386ee9 100644
--- a/Bugzilla/Auth/Login/Cookie.pm
+++ b/Bugzilla/Auth/Login/Cookie.pm
@@ -1,15 +1,22 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Bradley Baetz <bbaetz@acm.org>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
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 9d3da183f..76227f18b 100644
--- a/Bugzilla/Auth/Login/Env.pm
+++ b/Bugzilla/Auth/Login/Env.pm
@@ -1,16 +1,27 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Erik Stambaugh <erik@dasbistro.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
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 dc35998e4..e8d9c4635 100644
--- a/Bugzilla/Auth/Login/Stack.pm
+++ b/Bugzilla/Auth/Login/Stack.pm
@@ -1,16 +1,26 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
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 f39ad7de3..06661101b 100644
--- a/Bugzilla/Auth/Persist/Cookie.pm
+++ b/Bugzilla/Auth/Persist/Cookie.pm
@@ -1,16 +1,35 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Dan Mosedale <dmose@mozilla.org>
+# Joe Robins <jmrobins@tgix.com>
+# Dave Miller <justdave@syndicomm.com>
+# Christopher Aillon <christopher@aillon.com>
+# Gervase Markham <gerv@gerv.net>
+# Christian Reis <kiko@async.com.br>
+# Bradley Baetz <bbaetz@acm.org>
+# Erik Stambaugh <erik@dasbistro.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
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 dbad1e9a7..3578631f1 100644
--- a/Bugzilla/Auth/Verify.pm
+++ b/Bugzilla/Auth/Verify.pm
@@ -1,16 +1,22 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
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 424816f4c..ea86346e1 100644
--- a/Bugzilla/Auth/Verify/DB.pm
+++ b/Bugzilla/Auth/Verify/DB.pm
@@ -1,16 +1,34 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Dan Mosedale <dmose@mozilla.org>
+# Joe Robins <jmrobins@tgix.com>
+# Dave Miller <justdave@syndicomm.com>
+# Christopher Aillon <christopher@aillon.com>
+# Gervase Markham <gerv@gerv.net>
+# Christian Reis <kiko@async.com.br>
+# Bradley Baetz <bbaetz@acm.org>
+# Erik Stambaugh <erik@dasbistro.com>
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 c0ae619c1..9d438e411 100644
--- a/Bugzilla/Auth/Verify/LDAP.pm
+++ b/Bugzilla/Auth/Verify/LDAP.pm
@@ -1,16 +1,35 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Dan Mosedale <dmose@mozilla.org>
+# Joe Robins <jmrobins@tgix.com>
+# Dave Miller <justdave@syndicomm.com>
+# Christopher Aillon <christopher@aillon.com>
+# Gervase Markham <gerv@gerv.net>
+# Christian Reis <kiko@async.com.br>
+# Bradley Baetz <bbaetz@acm.org>
+# Erik Stambaugh <erik@dasbistro.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
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 ad0778e39..da36c3bd1 100644
--- a/Bugzilla/Auth/Verify/RADIUS.pm
+++ b/Bugzilla/Auth/Verify/RADIUS.pm
@@ -1,16 +1,25 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Marc Schumann.
+# Portions created by Marc Schumann are Copyright (c) 2007 Marc Schumann.
+# All rights reserved.
+#
+# Contributor(s): Marc Schumann <wurblzap@gmail.com>
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 3e5db3cec..e1a011992 100644
--- a/Bugzilla/Auth/Verify/Stack.pm
+++ b/Bugzilla/Auth/Verify/Stack.pm
@@ -1,16 +1,21 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
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 77d2e126a..327fb866c 100644
--- a/Bugzilla/Bug.pm
+++ b/Bugzilla/Bug.pm
@@ -1,15 +1,36 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Dawn Endico <endico@mozilla.org>
+# Terry Weissman <terry@mozilla.org>
+# Chris Yeh <cyeh@bluemartini.com>
+# Bradley Baetz <bbaetz@acm.org>
+# Dave Miller <justdave@bugzilla.org>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
+# Frédéric Buclin <LpSolit@gmail.com>
+# Lance Larsh <lance.larsh@oracle.com>
+# Elliotte Martin <elliotte_martin@yahoo.com>
+# Christian Legnitto <clegnitto@mozilla.com>
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 aaee6b603..7244d97a5 100644
--- a/Bugzilla/BugMail.pm
+++ b/Bugzilla/BugMail.pm
@@ -1,15 +1,39 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
-
-package Bugzilla::BugMail;
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>,
+# Bryce Nesbitt <bryce-mozilla@nextbus.com>
+# Dan Mosedale <dmose@mozilla.org>
+# Alan Raetz <al_raetz@yahoo.com>
+# Jacob Steenhagen <jake@actex.net>
+# Matthew Tuck <matty@chariot.net.au>
+# Bradley Baetz <bbaetz@student.usyd.edu.au>
+# J. Paul Reed <preed@sigkill.com>
+# Gervase Markham <gerv@gerv.net>
+# Byron Jones <bugzilla@glob.com.au>
+# Reed Loden <reed@reedloden.com>
+# Frédéric Buclin <LpSolit@gmail.com>
+# Guy Pyrzak <guy.pyrzak@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
+
+package Bugzilla::BugMail;
use Bugzilla::Error;
use Bugzilla::User;
diff --git a/Bugzilla/BugUrl.pm b/Bugzilla/BugUrl.pm
index 55a8cfd75..3b05057f8 100644
--- a/Bugzilla/BugUrl.pm
+++ b/Bugzilla/BugUrl.pm
@@ -1,16 +1,25 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Tiago Mello
+# Portions created by Tiago Mello are Copyright (C) 2010
+# Tiago Mello. All Rights Reserved.
+#
+# Contributor(s): Tiago Mello <timello@linux.vnet.ibm.com>
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 b467c54d8..572789e66 100644
--- a/Bugzilla/BugUrl/Aha.pm
+++ b/Bugzilla/BugUrl/Aha.pm
@@ -6,11 +6,7 @@
# 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 3af6d0a54..53f174556 100644
--- a/Bugzilla/BugUrl/Bugzilla.pm
+++ b/Bugzilla/BugUrl/Bugzilla.pm
@@ -1,16 +1,26 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Tiago Mello.
+# Portions created by Tiago Mello are Copyright (C) 2010
+# Tiago Mello. All Rights Reserved.
+#
+# Contributor(s): Tiago Mello <timello@linux.vnet.ibm.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
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 9f4d90292..99f944fa6 100644
--- a/Bugzilla/BugUrl/Bugzilla/Local.pm
+++ b/Bugzilla/BugUrl/Bugzilla/Local.pm
@@ -1,16 +1,25 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Tiago Mello.
+# Portions created by Tiago Mello are Copyright (C) 2010
+# Tiago Mello. All Rights Reserved.
+#
+# Contributor(s): Tiago Mello <timello@linux.vnet.ibm.com>
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 e018c1106..7f73feea7 100644
--- a/Bugzilla/BugUrl/Debian.pm
+++ b/Bugzilla/BugUrl/Debian.pm
@@ -1,15 +1,26 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Tiago Mello.
+# Portions created by Tiago Mello are Copyright (C) 2010
+# Tiago Mello. All Rights Reserved.
+#
+# Contributor(s): Tiago Mello <timello@linux.vnet.ibm.com>
+# Reed Loden <reed@reedloden.com>
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 1a0219617..29f3c2ea4 100644
--- a/Bugzilla/BugUrl/GitHub.pm
+++ b/Bugzilla/BugUrl/GitHub.pm
@@ -6,11 +6,7 @@
# 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 110772e69..792699e50 100644
--- a/Bugzilla/BugUrl/Google.pm
+++ b/Bugzilla/BugUrl/Google.pm
@@ -1,15 +1,26 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Tiago Mello.
+# Portions created by Tiago Mello are Copyright (C) 2010
+# Tiago Mello. All Rights Reserved.
+#
+# Contributor(s): Tiago Mello <timello@linux.vnet.ibm.com>
+# Reed Loden <reed@reedloden.com>
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 ba4b0e51b..d0adcfed8 100644
--- a/Bugzilla/BugUrl/JIRA.pm
+++ b/Bugzilla/BugUrl/JIRA.pm
@@ -1,15 +1,25 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Matt Selsky
+# Portions created by Matt Selsky are Copyright (C) 2010
+# Matt Selsky. All Rights Reserved.
+#
+# Contributor(s): Matt Selsky <selsky@columbia.edu>
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 a56fed4ad..a5457fda9 100644
--- a/Bugzilla/BugUrl/Launchpad.pm
+++ b/Bugzilla/BugUrl/Launchpad.pm
@@ -1,15 +1,26 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Tiago Mello.
+# Portions created by Tiago Mello are Copyright (C) 2010
+# Tiago Mello. All Rights Reserved.
+#
+# Contributor(s): Tiago Mello <timello@linux.vnet.ibm.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
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 48284c7e0..c525b0b2f 100644
--- a/Bugzilla/BugUrl/MantisBT.pm
+++ b/Bugzilla/BugUrl/MantisBT.pm
@@ -1,15 +1,25 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Reed Loden.
+# Portions created by Reed Loden are Copyright (C) 2010
+# Reed Loden. All Rights Reserved.
+#
+# Contributor(s): Reed Loden <reed@reedloden.com>
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 c2442e4df..f78bec799 100644
--- a/Bugzilla/BugUrl/MozSupport.pm
+++ b/Bugzilla/BugUrl/MozSupport.pm
@@ -6,11 +6,7 @@
# 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 8e30aa45e..b73f56a00 100644
--- a/Bugzilla/BugUrl/ServiceNow.pm
+++ b/Bugzilla/BugUrl/ServiceNow.pm
@@ -6,11 +6,7 @@
# 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 3c8dfd51d..fffa96d52 100644
--- a/Bugzilla/BugUrl/SourceForge.pm
+++ b/Bugzilla/BugUrl/SourceForge.pm
@@ -1,15 +1,25 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Tiago Mello
+# Portions created by Tiago Mello are Copyright (C) 2011
+# Tiago Mello. All Rights Reserved.
+#
+# Contributor(s): Tiago Mello <timello@linux.vnet.ibm.com>
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 49b2b762f..42918f0d4 100644
--- a/Bugzilla/BugUrl/Splat.pm
+++ b/Bugzilla/BugUrl/Splat.pm
@@ -6,11 +6,7 @@
# 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 600b31105..638bd779e 100644
--- a/Bugzilla/BugUrl/Trac.pm
+++ b/Bugzilla/BugUrl/Trac.pm
@@ -1,15 +1,25 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Matt Selsky
+# Portions created by Matt Selsky are Copyright (C) 2010
+# Matt Selsky. All Rights Reserved.
+#
+# Contributor(s): Matt Selsky <selsky@columbia.edu>
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 bd66dcae7..0c0138abc 100644
--- a/Bugzilla/BugUrl/WebCompat.pm
+++ b/Bugzilla/BugUrl/WebCompat.pm
@@ -6,11 +6,7 @@
# 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 f40ea17d3..6a7b7f3ef 100644
--- a/Bugzilla/BugUserLastVisit.pm
+++ b/Bugzilla/BugUserLastVisit.pm
@@ -9,7 +9,6 @@ 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 e44907161..7d111063d 100644
--- a/Bugzilla/CGI.pm
+++ b/Bugzilla/CGI.pm
@@ -1,17 +1,28 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Bradley Baetz <bbaetz@student.usyd.edu.au>
+# Byron Jones <bugzilla@glob.com.au>
+# Marc Schumann <wurblzap@gmail.com>
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 e70def351..8fd4706e4 100644
--- a/Bugzilla/Chart.pm
+++ b/Bugzilla/Chart.pm
@@ -1,9 +1,27 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Gervase Markham <gerv@gerv.net>
+# Albert Ting <altlst@sonic.net>
+# A. Karl Kornel <karl@kornel.name>
+
+use strict;
# This module represents a chart.
#
@@ -13,10 +31,6 @@
# 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 a931767d2..a989a40f2 100644
--- a/Bugzilla/Classification.pm
+++ b/Bugzilla/Classification.pm
@@ -1,15 +1,23 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
-
-package Bugzilla::Classification;
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Tiago R. Mello <timello@async.com.br>
+# Frédéric Buclin <LpSolit@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
+
+package Bugzilla::Classification;
use Bugzilla::Constants;
use Bugzilla::Field;
diff --git a/Bugzilla/Comment.pm b/Bugzilla/Comment.pm
index a8f915bfd..2fe86253b 100644
--- a/Bugzilla/Comment.pm
+++ b/Bugzilla/Comment.pm
@@ -1,15 +1,27 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
-
-package Bugzilla::Comment;
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is James Robson.
+# Portions created by James Robson are Copyright (c) 2009 James Robson.
+# All rights reserved.
+#
+# Contributor(s): James Robson <arbingersys@gmail.com>
+# Christian Legnitto <clegnitto@mozilla.com>
-use 5.10.1;
use strict;
-use warnings;
+
+package Bugzilla::Comment;
use base qw(Bugzilla::Object);
diff --git a/Bugzilla/Comment/TagWeights.pm b/Bugzilla/Comment/TagWeights.pm
index 4919244ce..f1a220a47 100644
--- a/Bugzilla/Comment/TagWeights.pm
+++ b/Bugzilla/Comment/TagWeights.pm
@@ -9,9 +9,8 @@ package Bugzilla::Comment::TagWeights;
use 5.10.1;
use strict;
-use warnings;
-use base qw(Bugzilla::Object);
+use parent qw(Bugzilla::Object);
use Bugzilla::Constants;
diff --git a/Bugzilla/Component.pm b/Bugzilla/Component.pm
index b44f78733..74c3ae99a 100644
--- a/Bugzilla/Component.pm
+++ b/Bugzilla/Component.pm
@@ -1,16 +1,24 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Tiago R. Mello <timello@async.com.br>
+# Frédéric Buclin <LpSolit@gmail.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
+# Akamai Technologies <bugzilla-dev@akamai.com>
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 902d5c1f8..7cc6c5dcb 100644
--- a/Bugzilla/Config.pm
+++ b/Bugzilla/Config.pm
@@ -1,15 +1,36 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Dawn Endico <endico@mozilla.org>
+# Dan Mosedale <dmose@mozilla.org>
+# Joe Robins <jmrobins@tgix.com>
+# Jake <jake@bugzilla.org>
+# J. Paul Reed <preed@sigkill.com>
+# Bradley Baetz <bbaetz@student.usyd.edu.au>
+# Christopher Aillon <christopher@aillon.com>
+# Erik Stambaugh <erik@dasbistro.com>
+# Frédéric Buclin <LpSolit@gmail.com>
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 74748d3d8..b0c0bad9a 100644
--- a/Bugzilla/Config/Admin.pm
+++ b/Bugzilla/Config/Admin.pm
@@ -1,15 +1,37 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.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 Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Dawn Endico <endico@mozilla.org>
+# Dan Mosedale <dmose@mozilla.org>
+# Joe Robins <jmrobins@tgix.com>
+# Jacob Steenhagen <jake@bugzilla.org>
+# J. Paul Reed <preed@sigkill.com>
+# Bradley Baetz <bbaetz@student.usyd.edu.au>
+# Joseph Heenan <joseph@heenan.me.uk>
+# Erik Stambaugh <erik@dasbistro.com>
+# Frédéric Buclin <LpSolit@gmail.com>
#
-# This Source Code Form is "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 4bf774ae0..893213b02 100644
--- a/Bugzilla/Config/Advanced.pm
+++ b/Bugzilla/Config/Advanced.pm
@@ -1,15 +1,36 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Dawn Endico <endico@mozilla.org>
+# Dan Mosedale <dmose@mozilla.org>
+# Joe Robins <jmrobins@tgix.com>
+# Jacob Steenhagen <jake@bugzilla.org>
+# J. Paul Reed <preed@sigkill.com>
+# Bradley Baetz <bbaetz@student.usyd.edu.au>
+# Joseph Heenan <joseph@heenan.me.uk>
+# Erik Stambaugh <erik@dasbistro.com>
+# Frédéric Buclin <LpSolit@gmail.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
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 b81d21e53..20cde0b01 100644
--- a/Bugzilla/Config/Attachment.pm
+++ b/Bugzilla/Config/Attachment.pm
@@ -1,15 +1,37 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.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 Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Dawn Endico <endico@mozilla.org>
+# Dan Mosedale <dmose@mozilla.org>
+# Joe Robins <jmrobins@tgix.com>
+# Jacob Steenhagen <jake@bugzilla.org>
+# J. Paul Reed <preed@sigkill.com>
+# Bradley Baetz <bbaetz@student.usyd.edu.au>
+# Joseph Heenan <joseph@heenan.me.uk>
+# Erik Stambaugh <erik@dasbistro.com>
+# Frédéric Buclin <LpSolit@gmail.com>
#
-# This Source Code Form is "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 9e1f89ef9..301c852da 100644
--- a/Bugzilla/Config/Auth.pm
+++ b/Bugzilla/Config/Auth.pm
@@ -1,15 +1,37 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.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 Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Dawn Endico <endico@mozilla.org>
+# Dan Mosedale <dmose@mozilla.org>
+# Joe Robins <jmrobins@tgix.com>
+# Jacob Steenhagen <jake@bugzilla.org>
+# J. Paul Reed <preed@sigkill.com>
+# Bradley Baetz <bbaetz@student.usyd.edu.au>
+# Joseph Heenan <joseph@heenan.me.uk>
+# Erik Stambaugh <erik@dasbistro.com>
+# Frédéric Buclin <LpSolit@gmail.com>
#
-# This Source Code Form is "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 0acdc0ce4..4e197c5e9 100644
--- a/Bugzilla/Config/BugChange.pm
+++ b/Bugzilla/Config/BugChange.pm
@@ -1,15 +1,37 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.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 Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Dawn Endico <endico@mozilla.org>
+# Dan Mosedale <dmose@mozilla.org>
+# Joe Robins <jmrobins@tgix.com>
+# Jacob Steenhagen <jake@bugzilla.org>
+# J. Paul Reed <preed@sigkill.com>
+# Bradley Baetz <bbaetz@student.usyd.edu.au>
+# Joseph Heenan <joseph@heenan.me.uk>
+# Erik Stambaugh <erik@dasbistro.com>
+# Frédéric Buclin <LpSolit@gmail.com>
#
-# This Source Code Form is "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 0111ac6a8..490d945ea 100644
--- a/Bugzilla/Config/BugFields.pm
+++ b/Bugzilla/Config/BugFields.pm
@@ -1,15 +1,37 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.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 Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Dawn Endico <endico@mozilla.org>
+# Dan Mosedale <dmose@mozilla.org>
+# Joe Robins <jmrobins@tgix.com>
+# Jacob Steenhagen <jake@bugzilla.org>
+# J. Paul Reed <preed@sigkill.com>
+# Bradley Baetz <bbaetz@student.usyd.edu.au>
+# Joseph Heenan <joseph@heenan.me.uk>
+# Erik Stambaugh <erik@dasbistro.com>
+# Frédéric Buclin <LpSolit@gmail.com>
#
-# This Source Code Form is "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 5b67a7ffc..4c9994e0e 100644
--- a/Bugzilla/Config/Common.pm
+++ b/Bugzilla/Config/Common.pm
@@ -1,15 +1,38 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.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 Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Dawn Endico <endico@mozilla.org>
+# Dan Mosedale <dmose@mozilla.org>
+# Joe Robins <jmrobins@tgix.com>
+# Jacob Steenhagen <jake@bugzilla.org>
+# J. Paul Reed <preed@sigkill.com>
+# Bradley Baetz <bbaetz@student.usyd.edu.au>
+# Joseph Heenan <joseph@heenan.me.uk>
+# Erik Stambaugh <erik@dasbistro.com>
+# Frédéric Buclin <LpSolit@gmail.com>
+# Marc Schumann <wurblzap@gmail.com>
#
-# This Source Code Form is "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 0e95741a9..3d6a00e70 100644
--- a/Bugzilla/Config/Core.pm
+++ b/Bugzilla/Config/Core.pm
@@ -1,15 +1,37 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.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 Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Dawn Endico <endico@mozilla.org>
+# Dan Mosedale <dmose@mozilla.org>
+# Joe Robins <jmrobins@tgix.com>
+# Jacob Steenhagen <jake@bugzilla.org>
+# J. Paul Reed <preed@sigkill.com>
+# Bradley Baetz <bbaetz@student.usyd.edu.au>
+# Joseph Heenan <joseph@heenan.me.uk>
+# Erik Stambaugh <erik@dasbistro.com>
+# Frédéric Buclin <LpSolit@gmail.com>
#
-# This Source Code Form is "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 f9f3c0af5..b217bfb06 100644
--- a/Bugzilla/Config/DependencyGraph.pm
+++ b/Bugzilla/Config/DependencyGraph.pm
@@ -31,9 +31,7 @@
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 5efaa6f6c..0f043548b 100644
--- a/Bugzilla/Config/General.pm
+++ b/Bugzilla/Config/General.pm
@@ -1,16 +1,36 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Dawn Endico <endico@mozilla.org>
+# Dan Mosedale <dmose@mozilla.org>
+# Joe Robins <jmrobins@tgix.com>
+# Jacob Steenhagen <jake@bugzilla.org>
+# J. Paul Reed <preed@sigkill.com>
+# Bradley Baetz <bbaetz@student.usyd.edu.au>
+# Joseph Heenan <joseph@heenan.me.uk>
+# Erik Stambaugh <erik@dasbistro.com>
+# Frédéric Buclin <LpSolit@gmail.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
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 7288d44b6..24eddaf6b 100644
--- a/Bugzilla/Config/GroupSecurity.pm
+++ b/Bugzilla/Config/GroupSecurity.pm
@@ -1,15 +1,37 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.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 Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Dawn Endico <endico@mozilla.org>
+# Dan Mosedale <dmose@mozilla.org>
+# Joe Robins <jmrobins@tgix.com>
+# Jacob Steenhagen <jake@bugzilla.org>
+# J. Paul Reed <preed@sigkill.com>
+# Bradley Baetz <bbaetz@student.usyd.edu.au>
+# Joseph Heenan <joseph@heenan.me.uk>
+# Erik Stambaugh <erik@dasbistro.com>
+# Frédéric Buclin <LpSolit@gmail.com>
#
-# This Source Code Form is "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 0bc8240df..e47f92308 100644
--- a/Bugzilla/Config/LDAP.pm
+++ b/Bugzilla/Config/LDAP.pm
@@ -1,15 +1,37 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.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 Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Dawn Endico <endico@mozilla.org>
+# Dan Mosedale <dmose@mozilla.org>
+# Joe Robins <jmrobins@tgix.com>
+# Jacob Steenhagen <jake@bugzilla.org>
+# J. Paul Reed <preed@sigkill.com>
+# Bradley Baetz <bbaetz@student.usyd.edu.au>
+# Joseph Heenan <joseph@heenan.me.uk>
+# Erik Stambaugh <erik@dasbistro.com>
+# Frédéric Buclin <LpSolit@gmail.com>
#
-# This Source Code Form is "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 8bbee3501..aeded375f 100644
--- a/Bugzilla/Config/MTA.pm
+++ b/Bugzilla/Config/MTA.pm
@@ -31,9 +31,7 @@
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 292803d86..08d8ce0e7 100644
--- a/Bugzilla/Config/Memcached.pm
+++ b/Bugzilla/Config/Memcached.pm
@@ -9,7 +9,6 @@ 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 03dfc02a6..6bd9557a9 100644
--- a/Bugzilla/Config/PatchViewer.pm
+++ b/Bugzilla/Config/PatchViewer.pm
@@ -31,9 +31,7 @@
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 00ddf4323..4038c13ef 100644
--- a/Bugzilla/Config/Query.pm
+++ b/Bugzilla/Config/Query.pm
@@ -1,15 +1,37 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.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 Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Dawn Endico <endico@mozilla.org>
+# Dan Mosedale <dmose@mozilla.org>
+# Joe Robins <jmrobins@tgix.com>
+# Jacob Steenhagen <jake@bugzilla.org>
+# J. Paul Reed <preed@sigkill.com>
+# Bradley Baetz <bbaetz@student.usyd.edu.au>
+# Joseph Heenan <joseph@heenan.me.uk>
+# Erik Stambaugh <erik@dasbistro.com>
+# Frédéric Buclin <LpSolit@gmail.com>
#
-# This Source Code Form is "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 8e30b07a9..bc072a9c4 100644
--- a/Bugzilla/Config/RADIUS.pm
+++ b/Bugzilla/Config/RADIUS.pm
@@ -1,15 +1,27 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.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 Marc Schumann.
+# Portions created by Marc Schumann are Copyright (c) 2007 Marc Schumann.
+# All rights reserved.
+#
+# Contributor(s): Marc Schumann <wurblzap@gmail.com>
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
package Bugzilla::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 5dbbb5202..a605b2363 100644
--- a/Bugzilla/Config/ShadowDB.pm
+++ b/Bugzilla/Config/ShadowDB.pm
@@ -1,15 +1,37 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.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 Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Dawn Endico <endico@mozilla.org>
+# Dan Mosedale <dmose@mozilla.org>
+# Joe Robins <jmrobins@tgix.com>
+# Jacob Steenhagen <jake@bugzilla.org>
+# J. Paul Reed <preed@sigkill.com>
+# Bradley Baetz <bbaetz@student.usyd.edu.au>
+# Joseph Heenan <joseph@heenan.me.uk>
+# Erik Stambaugh <erik@dasbistro.com>
+# Frédéric Buclin <LpSolit@gmail.com>
#
-# This Source Code Form is "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 3f74a7c44..38d2cb05b 100644
--- a/Bugzilla/Config/UserMatch.pm
+++ b/Bugzilla/Config/UserMatch.pm
@@ -1,15 +1,37 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.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 Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Dawn Endico <endico@mozilla.org>
+# Dan Mosedale <dmose@mozilla.org>
+# Joe Robins <jmrobins@tgix.com>
+# Jacob Steenhagen <jake@bugzilla.org>
+# J. Paul Reed <preed@sigkill.com>
+# Bradley Baetz <bbaetz@student.usyd.edu.au>
+# Joseph Heenan <joseph@heenan.me.uk>
+# Erik Stambaugh <erik@dasbistro.com>
+# Frédéric Buclin <LpSolit@gmail.com>
#
-# This Source Code Form is "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 94d60999b..5f41cd3f6 100644
--- a/Bugzilla/Constants.pm
+++ b/Bugzilla/Constants.pm
@@ -1,16 +1,36 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Dawn Endico <endico@mozilla.org>
+# Dan Mosedale <dmose@mozilla.org>
+# Joe Robins <jmrobins@tgix.com>
+# Jake <jake@bugzilla.org>
+# J. Paul Reed <preed@sigkill.com>
+# Bradley Baetz <bbaetz@student.usyd.edu.au>
+# Christopher Aillon <christopher@aillon.com>
+# Shane H. W. Travis <travis@sedsystems.ca>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
+# Marc Schumann <wurblzap@gmail.com>
package Bugzilla::Constants;
-
-use 5.10.1;
use strict;
-use warnings;
-
use base qw(Exporter);
# For bz_locations
@@ -26,8 +46,6 @@ use Memoize;
bz_locations
- CAN_HAS_FEATURE
-
CONCATENATE_ASSETS
IS_NULL
@@ -221,17 +239,6 @@ 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 ae881cf05..cc2826f55 100644
--- a/Bugzilla/DB.pm
+++ b/Bugzilla/DB.pm
@@ -1,15 +1,34 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Dan Mosedale <dmose@mozilla.org>
+# Jacob Steenhagen <jake@bugzilla.org>
+# Bradley Baetz <bbaetz@student.usyd.edu.au>
+# Christopher Aillon <christopher@aillon.com>
+# Tomas Kopal <Tomas.Kopal@altap.cz>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
+# Lance Larsh <lance.larsh@oracle.com>
package Bugzilla::DB;
-use 5.10.1;
use strict;
-use warnings;
use DBI;
@@ -18,14 +37,11 @@ use base qw(DBI::db);
use Bugzilla::Constants;
use Bugzilla::Install::Requirements;
-use Bugzilla::Install::Util qw(install_string);
-use Bugzilla::Version qw(vers_cmp);
-use Bugzilla::Install::Util qw(install_string);
+use Bugzilla::Install::Util qw(vers_cmp install_string);
use Bugzilla::Install::Localconfig;
use Bugzilla::Util;
use Bugzilla::Error;
use Bugzilla::DB::Schema;
-use Bugzilla::Version;
use Bugzilla::Metrics::Mysql;
@@ -185,6 +201,10 @@ 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}) {
@@ -199,6 +219,27 @@ sub bz_check_requirements {
print "\n" if $output;
}
+sub _bz_check_dbd {
+ my ($db, $output) = @_;
+
+ my $dbd = $db->{dbd};
+ unless (have_vers($dbd, $output)) {
+ my $sql_server = $db->{name};
+ my $command = install_command($dbd);
+ my $root = ROOT_USER;
+ my $dbd_mod = $dbd->{module};
+ my $dbd_ver = $dbd->{version};
+ die <<EOT;
+
+For $sql_server, Bugzilla requires that perl's $dbd_mod $dbd_ver or later be
+installed. To install this module, run the following command (as $root):
+
+ $command
+
+EOT
+ }
+}
+
sub bz_check_server_version {
my ($self, $db, $output) = @_;
diff --git a/Bugzilla/DB/Mysql.pm b/Bugzilla/DB/Mysql.pm
index a9a32fac4..8a545bd87 100644
--- a/Bugzilla/DB/Mysql.pm
+++ b/Bugzilla/DB/Mysql.pm
@@ -1,9 +1,29 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Dave Miller <davem00@aol.com>
+# Gayathri Swaminath <gayathrik00@aol.com>
+# Jeroen Ruigrok van der Werven <asmodai@wxs.nl>
+# Dave Lawrence <dkl@redhat.com>
+# Tomas Kopal <Tomas.Kopal@altap.cz>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
+# Lance Larsh <lance.larsh@oracle.com>
=head1 NAME
@@ -20,11 +40,7 @@ For interface details see L<Bugzilla::DB> and L<DBI>.
=cut
package Bugzilla::DB::Mysql;
-
-use 5.10.1;
use strict;
-use warnings;
-
use base qw(Bugzilla::DB);
use Bugzilla::Constants;
diff --git a/Bugzilla/DB/Oracle.pm b/Bugzilla/DB/Oracle.pm
index 42f3b5efd..20eb0e550 100644
--- a/Bugzilla/DB/Oracle.pm
+++ b/Bugzilla/DB/Oracle.pm
@@ -1,9 +1,24 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Oracle Corporation.
+# Portions created by Oracle are Copyright (C) 2007 Oracle Corporation.
+# All Rights Reserved.
+#
+# Contributor(s): Lance Larsh <lance.larsh@oracle.com>
+# Xiaoou Wu <xiaoou.wu@oracle.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
=head1 NAME
@@ -20,11 +35,7 @@ For interface details see L<Bugzilla::DB> and L<DBI>.
=cut
package Bugzilla::DB::Oracle;
-
-use 5.10.1;
use strict;
-use warnings;
-
use base qw(Bugzilla::DB);
use DBD::Oracle;
diff --git a/Bugzilla/DB/Pg.pm b/Bugzilla/DB/Pg.pm
index b2ee95e08..4f818932b 100644
--- a/Bugzilla/DB/Pg.pm
+++ b/Bugzilla/DB/Pg.pm
@@ -1,9 +1,29 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Dave Miller <davem00@aol.com>
+# Gayathri Swaminath <gayathrik00@aol.com>
+# Jeroen Ruigrok van der Werven <asmodai@wxs.nl>
+# Dave Lawrence <dkl@redhat.com>
+# Tomas Kopal <Tomas.Kopal@altap.cz>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
+# Lance Larsh <lance.larsh@oracle.com>
=head1 NAME
@@ -21,12 +41,9 @@ For interface details see L<Bugzilla::DB> and L<DBI>.
package Bugzilla::DB::Pg;
-use 5.10.1;
use strict;
-use warnings;
use Bugzilla::Error;
-use Bugzilla::Version;
use DBD::Pg;
# This module extends the DB interface via inheritance
diff --git a/Bugzilla/DB/Schema.pm b/Bugzilla/DB/Schema.pm
index 39323bcb1..0c976e33e 100644
--- a/Bugzilla/DB/Schema.pm
+++ b/Bugzilla/DB/Schema.pm
@@ -1,9 +1,29 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Andrew Dunstan <andrew@dunslane.net>,
+# Edward J. Sabol <edwardjsabol@iname.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
+# Lance Larsh <lance.larsh@oracle.com>
+# Dennis Melentyev <dennis.melentyev@infopulse.com.ua>
+# Akamai Technologies <bugzilla-dev@akamai.com>
+# Elliotte Martin <emartin@everythingsolved.com>
package Bugzilla::DB::Schema;
@@ -15,10 +35,7 @@ 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 2e40e38cf..bcc663e83 100644
--- a/Bugzilla/DB/Schema/Mysql.pm
+++ b/Bugzilla/DB/Schema/Mysql.pm
@@ -1,9 +1,25 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Andrew Dunstan <andrew@dunslane.net>,
+# Edward J. Sabol <edwardjsabol@iname.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
package Bugzilla::DB::Schema::Mysql;
@@ -13,10 +29,7 @@ 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 7572f80cf..37b406671 100644
--- a/Bugzilla/DB/Schema/Oracle.pm
+++ b/Bugzilla/DB/Schema/Oracle.pm
@@ -1,9 +1,24 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Oracle Corporation.
+# Portions created by Oracle are Copyright (C) 2007 Oracle Corporation.
+# All Rights Reserved.
+#
+# Contributor(s): Lance Larsh <lance.larsh@oracle.com>
+# Xiaoou Wu <xiaoou.wu@oracle.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
package Bugzilla::DB::Schema::Oracle;
@@ -13,9 +28,7 @@ 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 d8550e2e8..662120c03 100644
--- a/Bugzilla/DB/Schema/Pg.pm
+++ b/Bugzilla/DB/Schema/Pg.pm
@@ -1,9 +1,25 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Andrew Dunstan <andrew@dunslane.net>,
+# Edward J. Sabol <edwardjsabol@iname.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
package Bugzilla::DB::Schema::Pg;
@@ -13,10 +29,7 @@ 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 471df340c..7ed9def3e 100644
--- a/Bugzilla/DB/Schema/Sqlite.pm
+++ b/Bugzilla/DB/Schema/Sqlite.pm
@@ -1,16 +1,26 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
-
-package Bugzilla::DB::Schema::Sqlite;
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Everything Solved, Inc.
+# Portions created by the Initial Developer are Copyright (C) 2010 the
+# Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+# Max Kanat-Alexander <mkanat@bugzilla.org>
-use 5.10.1;
use strict;
-use warnings;
-
+package Bugzilla::DB::Schema::Sqlite;
use base qw(Bugzilla::DB::Schema);
use Bugzilla::Error;
diff --git a/Bugzilla/DB/Sqlite.pm b/Bugzilla/DB/Sqlite.pm
index 4feb78a74..ee92909e3 100644
--- a/Bugzilla/DB/Sqlite.pm
+++ b/Bugzilla/DB/Sqlite.pm
@@ -1,16 +1,26 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
-
-package Bugzilla::DB::Sqlite;
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Everything Solved, Inc.
+# Portions created by the Initial Developer are Copyright (C) 2010 the
+# Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+# Max Kanat-Alexander <mkanat@bugzilla.org>
-use 5.10.1;
use strict;
-use warnings;
-
+package Bugzilla::DB::Sqlite;
use base qw(Bugzilla::DB);
use Bugzilla::Constants;
diff --git a/Bugzilla/DuoWeb.pm b/Bugzilla/DuoWeb.pm
index 722c032e3..4fb28df9e 100644
--- a/Bugzilla/DuoWeb.pm
+++ b/Bugzilla/DuoWeb.pm
@@ -28,7 +28,6 @@
package Bugzilla::DuoWeb;
-use 5.10.1;
use strict;
use warnings;
diff --git a/Bugzilla/Error.pm b/Bugzilla/Error.pm
index fc0e4812e..e619f3f84 100644
--- a/Bugzilla/Error.pm
+++ b/Bugzilla/Error.pm
@@ -1,16 +1,29 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Bradley Baetz <bbaetz@acm.org>
+# Marc Schumann <wurblzap@gmail.com>
+# Frédéric Buclin <LpSolit@gmail.com>
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 78c027796..dbfee0971 100644
--- a/Bugzilla/Extension.pm
+++ b/Bugzilla/Extension.pm
@@ -1,15 +1,26 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Everything Solved, Inc.
+# Portions created by the Initial Developers are Copyright (C) 2009 the
+# Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+# Max Kanat-Alexander <mkanat@bugzilla.org>
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 a9e124115..0a0c7b15f 100644
--- a/Bugzilla/Field.pm
+++ b/Bugzilla/Field.pm
@@ -1,9 +1,21 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Dan Mosedale <dmose@mozilla.org>
+# Frédéric Buclin <LpSolit@gmail.com>
+# Myk Melez <myk@mozilla.org>
+# Greg Hendricks <ghendricks@novell.com>
=head1 NAME
@@ -57,9 +69,7 @@ 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 b35006501..8d7d61def 100644
--- a/Bugzilla/Field/Choice.pm
+++ b/Bugzilla/Field/Choice.pm
@@ -1,15 +1,27 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
-
-package Bugzilla::Field::Choice;
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Initial Developer of the Original Code is NASA.
+# Portions created by NASA are Copyright (C) 2006 San Jose State
+# University Foundation. All Rights Reserved.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
+# Greg Hendricks <ghendricks@novell.com>
-use 5.10.1;
use strict;
-use warnings;
+
+package Bugzilla::Field::Choice;
use base qw(Bugzilla::Field::ChoiceInterface Bugzilla::Object);
diff --git a/Bugzilla/Field/ChoiceInterface.pm b/Bugzilla/Field/ChoiceInterface.pm
index cdb43d6d0..3292536d3 100644
--- a/Bugzilla/Field/ChoiceInterface.pm
+++ b/Bugzilla/Field/ChoiceInterface.pm
@@ -1,15 +1,26 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Initial Developer of the Original Code is NASA.
+# Portions created by NASA are Copyright (C) 2006 San Jose State
+# University Foundation. All Rights Reserved.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
+# Greg Hendricks <ghendricks@novell.com>
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 3e7aa6819..7e039f077 100644
--- a/Bugzilla/Flag.pm
+++ b/Bugzilla/Flag.pm
@@ -1,15 +1,29 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
-
-package Bugzilla::Flag;
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Myk Melez <myk@mozilla.org>
+# Jouni Heikniemi <jouni@heikniemi.net>
+# Frédéric Buclin <LpSolit@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
+
+package Bugzilla::Flag;
=head1 NAME
diff --git a/Bugzilla/FlagType.pm b/Bugzilla/FlagType.pm
index a86db380b..8c958f5ce 100644
--- a/Bugzilla/FlagType.pm
+++ b/Bugzilla/FlagType.pm
@@ -1,15 +1,28 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
-
-package Bugzilla::FlagType;
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Myk Melez <myk@mozilla.org>
+# Frédéric Buclin <LpSolit@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
+
+package Bugzilla::FlagType;
=head1 NAME
diff --git a/Bugzilla/Group.pm b/Bugzilla/Group.pm
index b67251619..51d51b2e8 100644
--- a/Bugzilla/Group.pm
+++ b/Bugzilla/Group.pm
@@ -1,15 +1,30 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
-
-package Bugzilla::Group;
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Joel Peshkin <bugreport@peshkin.net>
+# Erik Stambaugh <erik@dasbistro.com>
+# Tiago R. Mello <timello@async.com.br>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
-use 5.10.1;
use strict;
-use warnings;
+
+package Bugzilla::Group;
use base qw(Bugzilla::Object);
diff --git a/Bugzilla/Hook.pm b/Bugzilla/Hook.pm
index 00bd316ab..942623dcf 100644
--- a/Bugzilla/Hook.pm
+++ b/Bugzilla/Hook.pm
@@ -1,15 +1,27 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Zach Lipton <zach@zachlipton.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
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 edadbfecb..97b8b677c 100644
--- a/Bugzilla/Install.pm
+++ b/Bugzilla/Install.pm
@@ -1,9 +1,18 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
package Bugzilla::Install;
@@ -15,9 +24,7 @@ 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
new file mode 100644
index 000000000..e7556526c
--- /dev/null
+++ b/Bugzilla/Install/CPAN.pm
@@ -0,0 +1,351 @@
+# -*- Mode: perl; indent-tabs-mode: nil -*-
+#
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Everything Solved, Inc.
+# Portions created by Everything Solved are Copyright (C) 2007
+# Everything Solved, Inc. All Rights Reserved.
+#
+# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
+
+package Bugzilla::Install::CPAN;
+use strict;
+use base qw(Exporter);
+our @EXPORT = qw(
+ BZ_LIB
+
+ check_cpan_requirements
+ set_cpan_config
+ install_module
+);
+
+use Bugzilla::Constants;
+use Bugzilla::Install::Requirements qw(have_vers);
+use Bugzilla::Install::Util qw(bin_loc install_string);
+
+use Config;
+use CPAN;
+use Cwd qw(abs_path);
+use File::Path qw(rmtree);
+
+# These are required for install-module.pl to be able to install
+# all modules properly.
+use constant REQUIREMENTS => (
+ {
+ module => 'CPAN',
+ package => 'CPAN',
+ version => '1.81',
+ },
+ {
+ # When Module::Build isn't installed, the YAML module allows
+ # CPAN to read META.yml to determine that Module::Build first
+ # needs to be installed to compile a module.
+ module => 'YAML',
+ package => 'YAML',
+ version => 0,
+ },
+ {
+ # Many modules on CPAN are now built with Dist::Zilla, which
+ # unfortunately means they require this version of EU::MM to install.
+ module => 'ExtUtils::MakeMaker',
+ package => 'ExtUtils-MakeMaker',
+ version => '6.31',
+ },
+);
+
+# We need the absolute path of ext_libpath, because CPAN chdirs around
+# and so we can't use a relative directory.
+#
+# We need it often enough (and at compile time, in install-module.pl) so
+# we make it a constant.
+use constant BZ_LIB => abs_path(bz_locations()->{ext_libpath});
+
+# CPAN requires nearly all of its parameters to be set, or it will start
+# asking questions to the user. We want to avoid that, so we have
+# defaults here for most of the required parameters we know about, in case
+# any of them aren't set. The rest are handled by set_cpan_defaults().
+use constant CPAN_DEFAULTS => {
+ auto_commit => 0,
+ # We always force builds, so there's no reason to cache them.
+ build_cache => 0,
+ build_requires_install_policy => 'yes',
+ cache_metadata => 1,
+ colorize_output => 1,
+ colorize_print => 'bold',
+ index_expire => 1,
+ scan_cache => 'atstart',
+
+ inhibit_startup_message => 1,
+
+ bzip2 => bin_loc('bzip2'),
+ curl => bin_loc('curl'),
+ gzip => bin_loc('gzip'),
+ links => bin_loc('links'),
+ lynx => bin_loc('lynx'),
+ make => bin_loc('make'),
+ pager => bin_loc('less'),
+ tar => bin_loc('tar'),
+ unzip => bin_loc('unzip'),
+ wget => bin_loc('wget'),
+
+ urllist => ['http://www.cpan.org/'],
+};
+
+sub check_cpan_requirements {
+ my ($original_dir, $original_args) = @_;
+
+ _require_compiler();
+
+ my @install;
+ foreach my $module (REQUIREMENTS) {
+ my $installed = have_vers($module, 1);
+ push(@install, $module) if !$installed;
+ }
+
+ return if !@install;
+
+ my $restart_required;
+ foreach my $module (@install) {
+ $restart_required = 1 if $module->{module} eq 'CPAN';
+ install_module($module->{module}, 1);
+ }
+
+ if ($restart_required) {
+ chdir $original_dir;
+ exec($^X, $0, @$original_args);
+ }
+}
+
+sub _require_compiler {
+ my @errors;
+
+ my $cc_name = $Config{cc};
+ my $cc_exists = bin_loc($cc_name);
+
+ if (!$cc_exists) {
+ push(@errors, install_string('install_no_compiler'));
+ }
+
+ my $make_name = $CPAN::Config->{make};
+ my $make_exists = bin_loc($make_name);
+
+ if (!$make_exists) {
+ push(@errors, install_string('install_no_make'));
+ }
+
+ die @errors if @errors;
+}
+
+sub install_module {
+ my ($name, $test) = @_;
+ my $bzlib = BZ_LIB;
+
+ # Make Module::AutoInstall install all dependencies and never prompt.
+ local $ENV{PERL_AUTOINSTALL} = '--alldeps';
+ # This makes Net::SSLeay not prompt the user, if it gets installed.
+ # It also makes any other MakeMaker prompts accept their defaults.
+ local $ENV{PERL_MM_USE_DEFAULT} = 1;
+
+ # Certain modules require special stuff in order to not prompt us.
+ my $original_makepl = $CPAN::Config->{makepl_arg};
+ # This one's a regex in case we're doing Template::Plugin::GD and it
+ # pulls in Template-Toolkit as a dependency.
+ if ($name =~ /^Template/) {
+ $CPAN::Config->{makepl_arg} .= " TT_ACCEPT=y TT_EXTRAS=n";
+ }
+ elsif ($name eq 'XML::Twig') {
+ $CPAN::Config->{makepl_arg} = "-n $original_makepl";
+ }
+ elsif ($name eq 'SOAP::Lite') {
+ $CPAN::Config->{makepl_arg} .= " --noprompt";
+ }
+
+ my $module = CPAN::Shell->expand('Module', $name);
+ if (!$module) {
+ die install_string('no_such_module', { module => $name }) . "\n";
+ }
+ my $version = $module->cpan_version;
+ my $module_name = $name;
+
+ if ($name eq 'LWP::UserAgent' && $^V lt v5.8.8) {
+ # LWP 6.x requires Perl 5.8.8 or newer.
+ # As PAUSE only indexes the very last version of each module,
+ # we have to specify the path to the tarball ourselves.
+ $name = 'GAAS/libwww-perl-5.837.tar.gz';
+ # This tarball contains LWP::UserAgent 5.835.
+ $version = '5.835';
+ }
+
+ print install_string('install_module',
+ { module => $module_name, version => $version }) . "\n";
+
+ if ($test) {
+ CPAN::Shell->force('install', $name);
+ }
+ else {
+ CPAN::Shell->notest('install', $name);
+ }
+
+ # If it installed any binaries in the Bugzilla directory, delete them.
+ if (-d "$bzlib/bin") {
+ File::Path::rmtree("$bzlib/bin");
+ }
+
+ $CPAN::Config->{makepl_arg} = $original_makepl;
+}
+
+sub set_cpan_config {
+ my $do_global = shift;
+ my $bzlib = BZ_LIB;
+
+ # We set defaults before we do anything, otherwise CPAN will
+ # start asking us questions as soon as we load its configuration.
+ eval { require CPAN::Config; };
+ _set_cpan_defaults();
+
+ # Calling a senseless autoload that does nothing makes us
+ # automatically load any existing configuration.
+ # We want to avoid the "invalid command" message.
+ open(my $saveout, ">&", "STDOUT");
+ open(STDOUT, '>', '/dev/null');
+ eval { CPAN->ignore_this_error_message_from_bugzilla; };
+ undef $@;
+ close(STDOUT);
+ open(STDOUT, '>&', $saveout);
+
+ my $dir = $CPAN::Config->{cpan_home};
+ if (!defined $dir || !-w $dir) {
+ # If we can't use the standard CPAN build dir, we try to make one.
+ $dir = "$ENV{HOME}/.cpan";
+ mkdir $dir;
+
+ # If we can't make one, we finally try to use the Bugzilla directory.
+ if (!-w $dir) {
+ print STDERR install_string('cpan_bugzilla_home'), "\n";
+ $dir = "$bzlib/.cpan";
+ }
+ }
+ $CPAN::Config->{cpan_home} = $dir;
+ $CPAN::Config->{build_dir} = "$dir/build";
+ # We always force builds, so there's no reason to cache them.
+ $CPAN::Config->{keep_source_where} = "$dir/source";
+ # This is set both here and in defaults so that it's always true.
+ $CPAN::Config->{inhibit_startup_message} = 1;
+ # Automatically install dependencies.
+ $CPAN::Config->{prerequisites_policy} = 'follow';
+
+ # Unless specified, we install the modules into the Bugzilla directory.
+ if (!$do_global) {
+ require Config;
+
+ $CPAN::Config->{makepl_arg} .= " LIB=\"$bzlib\""
+ . " INSTALLMAN1DIR=\"$bzlib/man/man1\""
+ . " INSTALLMAN3DIR=\"$bzlib/man/man3\""
+ # The bindirs are here because otherwise we'll try to write to
+ # the system binary dirs, and that will cause CPAN to die.
+ . " INSTALLBIN=\"$bzlib/bin\""
+ . " INSTALLSCRIPT=\"$bzlib/bin\""
+ # INSTALLDIRS=perl is set because that makes sure that MakeMaker
+ # always uses the directories we've specified here.
+ . " INSTALLDIRS=perl";
+ $CPAN::Config->{mbuild_arg} = " --install_base \"$bzlib\""
+ . " --install_path lib=\"$bzlib\""
+ . " --install_path arch=\"$bzlib/$Config::Config{archname}\"";
+ $CPAN::Config->{mbuild_install_arg} = $CPAN::Config->{mbuild_arg};
+
+ # When we're not root, sometimes newer versions of CPAN will
+ # try to read/modify things that belong to root, unless we set
+ # certain config variables.
+ $CPAN::Config->{histfile} = "$dir/histfile";
+ $CPAN::Config->{use_sqlite} = 0;
+ $CPAN::Config->{prefs_dir} = "$dir/prefs";
+
+ # Unless we actually set PERL5LIB, some modules can't install
+ # themselves, like DBD::mysql, DBD::Pg, and XML::Twig.
+ my $current_lib = $ENV{PERL5LIB} ? $ENV{PERL5LIB} . ':' : '';
+ $ENV{PERL5LIB} = $current_lib . $bzlib;
+ }
+}
+
+sub _set_cpan_defaults {
+ # If CPAN hasn't been configured, we try to use some reasonable defaults.
+ foreach my $key (keys %{CPAN_DEFAULTS()}) {
+ $CPAN::Config->{$key} = CPAN_DEFAULTS->{$key}
+ if !defined $CPAN::Config->{$key};
+ }
+
+ my @missing;
+ # In newer CPANs, this is in HandleConfig. In older CPANs, it's in
+ # Config.
+ if (eval { require CPAN::HandleConfig }) {
+ @missing = CPAN::HandleConfig->missing_config_data;
+ }
+ else {
+ @missing = CPAN::Config->missing_config_data;
+ }
+
+ foreach my $key (@missing) {
+ $CPAN::Config->{$key} = '';
+ }
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Bugzilla::Install::CPAN - Routines to install Perl modules from CPAN.
+
+=head1 SYNOPSIS
+
+ use Bugzilla::Install::CPAN;
+
+ set_cpan_config();
+ install_module('Module::Name');
+
+=head1 DESCRIPTION
+
+This is primarily used by L<install-module> to do the "hard work" of
+installing CPAN modules.
+
+=head1 SUBROUTINES
+
+=over
+
+=item C<set_cpan_config>
+
+Sets up the configuration of CPAN for this session. Must be called
+before L</install_module>. Takes one boolean parameter. If true,
+L</install_module> will install modules globally instead of to the
+local F<lib/> directory. On most systems, you have to be root to do that.
+
+=item C<install_module>
+
+Installs a module from CPAN. Takes two arguments:
+
+=over
+
+=item C<$name> - The name of the module, just like you'd pass to the
+C<install> command in the CPAN shell.
+
+=item C<$test> - If true, we run tests on this module before installing,
+but we still force the install if the tests fail. This is only used
+when we internally install a newer CPAN module.
+
+=back
+
+Note that calling this function prints a B<lot> of information to
+STDOUT and STDERR.
+
+=back
diff --git a/Bugzilla/Install/DB.pm b/Bugzilla/Install/DB.pm
index ca59e778d..705cf3e37 100644
--- a/Bugzilla/Install/DB.pm
+++ b/Bugzilla/Install/DB.pm
@@ -1,18 +1,26 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
+# Noel Cragg <noel@red-bean.com>
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 c7e9f4554..4a773f511 100644
--- a/Bugzilla/Install/Filesystem.pm
+++ b/Bugzilla/Install/Filesystem.pm
@@ -1,9 +1,19 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
+# Bill Barry <after.fallout@gmail.com>
package Bugzilla::Install::Filesystem;
@@ -15,9 +25,7 @@ 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;
@@ -156,14 +164,10 @@ 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 263d63ced..7c01be37d 100644
--- a/Bugzilla/Install/Localconfig.pm
+++ b/Bugzilla/Install/Localconfig.pm
@@ -1,9 +1,22 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Initial Developer of the Original Code is Everything Solved.
+# Portions created by Everything Solved are Copyright (C) 2006
+# Everything Solved. All Rights Reserved.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
package Bugzilla::Install::Localconfig;
@@ -15,9 +28,7 @@ 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);
@@ -25,27 +36,17 @@ use Bugzilla::Util qw(generate_random_password wrap_hard);
use Data::Dumper;
use File::Basename qw(dirname);
-use English qw($EGID);
-use List::Util qw(first);
-use Tie::Hash::NamedCapture;
+use IO::File;
use Safe;
use Term::ANSIColor;
-use parent qw(Exporter);
+use base 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 43c441d6b..27549ca41 100644
--- a/Bugzilla/Install/Requirements.pm
+++ b/Bugzilla/Install/Requirements.pm
@@ -1,9 +1,19 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
+# Marc Schumann <wurblzap@gmail.com>
package Bugzilla::Install::Requirements;
@@ -13,37 +23,38 @@ package Bugzilla::Install::Requirements;
# Subroutines may "require" and "import" from modules, but they
# MUST NOT "use."
-use 5.10.1;
use strict;
-use warnings;
+use version;
use Bugzilla::Constants;
-use Bugzilla::Install::Util qw(install_string bin_loc success
- extension_requirement_packages);
+use Bugzilla::Install::Util qw(vers_cmp 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;
-use parent qw(Exporter);
-use autodie;
+# 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 autodie;
our @EXPORT = qw(
+ REQUIRED_MODULES
+ OPTIONAL_MODULES
FEATURE_FILES
- load_cpan_meta
- check_cpan_requirements
- check_cpan_feature
- check_all_cpan_features
- check_webdotbase
- check_font_file
+ check_requirements
+ check_graphviz
+ export_cpanfile
+ have_vers
+ install_command
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;
@@ -53,12 +64,10 @@ 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
@@ -72,131 +81,471 @@ 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/API/Server.pm', 'rest.cgi', 'Bugzilla/API/*/*.pm',
- 'Bugzilla/API/*/Server.pm', 'Bugzilla/API/*/Resource/*.pm'],
- psgi => ['app.psgi'],
+ rest => ['Bugzilla/WebService/Server/REST.pm', 'rest.cgi'],
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'],
- mfa => ['Bugzilla/MFA/*.pm'],
- markdown => ['Bugzilla/Markdown.pm'],
memcached => ['Bugzilla/Memcache.pm'],
- auth_delegation => ['auth.cgi'],
+ mfa => ['Bugzilla/MFA/*.pm'],
);
-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);
- }
- else {
- ThrowCodeError('cpan_meta_missing');
+# 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 check_all_cpan_features {
- my ($meta, $dirs, $output) = @_;
- my %report;
+ return \@modules;
+};
- local $checking_for_indent = 2;
+sub check_requirements {
+ my ($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_modules'), "\n" if $output;
+ my $root = ROOT_USER;
+ my $missing = _check_missing(REQUIRED_MODULES, $output);
- $report{$feature->identifier} = {
- description => $feature->description,
- result => $result,
- };
+ 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);
}
- return \%report;
-}
-
-sub check_cpan_feature {
- my ($feature, $dirs, $output) = @_;
+ print "\n", install_string('checking_optional'), "\n" if $output;
+ my $missing_optional = _check_missing(OPTIONAL_MODULES, $output);
- return _check_prereqs($feature->prereqs, $dirs, $output);
-}
+ my $missing_apache = _missing_apache_modules(APACHE_MODULES, $output);
-sub check_cpan_requirements {
- my ($meta, $dirs, $output) = @_;
+ # 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;
- my $result = _check_prereqs($meta->effective_prereqs, $dirs, $output);
- print colored(install_string('installation_failed'), COLOR_ERROR), "\n" if !$result->{ok} && $output;
- return $result;
+ 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),
+ };
}
-sub _check_prereqs {
- my ($prereqs, $dirs, $output) = @_;
- $dirs //= \@INC;
- my $reqs = $prereqs->merged_requirements(['configure', 'runtime'], ['requires']);
- my @found;
- my @missing;
+# A helper for check_requirements
+sub _check_missing {
+ my ($modules, $output) = @_;
- foreach my $module (sort $reqs->required_modules) {
- my $ok = _check_module($reqs, $module, $dirs, $output);
- if ($ok) {
- push @found, $module;
- }
- else {
- push @missing, $module;
+ my @missing;
+ foreach my $module (@$modules) {
+ unless (have_vers($module, $output)) {
+ push(@missing, $module);
}
}
- return { ok => (@missing == 0), found => \@found, missing => \@missing };
+ return \@missing;
}
-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;
+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;
}
+ return \@missing;
}
-
sub _get_apachectl {
foreach my $bin_name (APACHE) {
my $bin = bin_loc($bin_name);
@@ -210,10 +559,125 @@ sub _get_apachectl {
return undef;
}
-sub check_webdotbase {
+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 {
my ($output) = @_;
- my $webdotbase = Bugzilla->localconfig->{'webdotbase'};
+ my $webdotbase = Bugzilla->params->{'webdotbase'};
return 1 if $webdotbase =~ /^https?:/;
my $return;
@@ -230,9 +694,9 @@ sub check_webdotbase {
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";
}
@@ -242,40 +706,68 @@ sub check_webdotbase {
return $return;
}
-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});
+# 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;
}
-
- if (!$readable) {
- print install_string('bad_font_file', { file => $font_file }), "\n";
+ 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;
+ }
}
- elsif (!$ttf) {
- print install_string('bad_font_file_name', { 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;
}
- return $readable && $ttf;
+ if ($output) {
+ _checking_for({
+ package => $package, ok => $vok, wanted => $wanted,
+ found => $vnum, blacklisted => $blacklisted
+ });
+ }
+
+ return $vok ? 1 : 0;
}
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}) {
@@ -298,14 +790,30 @@ sub _checking_for {
}
my $black_string = $blacklisted ? install_string('blacklisted') : '';
- my $want_string = $wanted ? "$wanted" : install_string('any');
+ my $want_string = $wanted ? "v$wanted" : install_string('any');
my $str = sprintf "%s %20s %-11s $ok_string $black_string\n",
- ( ' ' x $checking_for_indent ) . install_string('checking_for'),
- $package, "($want_string)";
+ 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;
@@ -321,6 +829,68 @@ 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__
@@ -340,73 +910,59 @@ perl modules it requires.)
=over
-=item C<FEATURE_FILES>
+=item C<REQUIRED_MODULES>
-A hashref that describes what files should only be compiled if a certain
-feature is enabled. The feature is the key, and the values are arrayrefs
-of file names (which are passed to C<glob>, so shell patterns work).
-
-=back
-
-=head1 SUBROUTINES
-
-=over 4
-
-=item C<check_cpan_requirements>
+An arrayref of hashrefs that describes the perl modules required by
+Bugzilla. The hashes have three keys:
=over
-=item B<Description>
+=item C<package> - The name of the Perl package that you'd find on
+CPAN for this requirement.
-This checks what required perl modules are installed, like
-C<checksetup.pl> does.
+=item C<module> - The name of a module that can be passed to the
+C<install> command in C<CPAN.pm> to install this module.
-=item B<Params>
-
-=over
-
-=item C<$meta> - A C<CPAN::Meta> object.
-
-=item C<$dirs> - the include dirs to search for modules, defaults to @INC.
-
-=item C<$output> - C<true> if you want the function to print out information
-about what it's doing, and the versions of everything installed.
+=item C<version> - The version of this module that we require, or C<0>
+if any version is acceptable.
=back
-=item B<Returns>
+=item C<OPTIONAL_MODULES>
-A hashref containing these values:
+An arrayref of hashrefs that describes the perl modules that add
+additional features to Bugzilla if installed. Its hashes have all
+the fields of L</REQUIRED_MODULES>, plus a C<feature> item--an arrayref
+of strings that describe what features require this module.
-=over
+=item C<FEATURE_FILES>
-=item C<ok> - if all the requirements are met, this is true.
+A hashref that describes what files should only be compiled if a certain
+feature is enabled. The feature is the key, and the values are arrayrefs
+of file names (which are passed to C<glob>, so shell patterns work).
-=item C<found> - an arrayref of found modules
+=back
-=item C<missing> - an arrayref of missing modules
-=back
+=head1 SUBROUTINES
-=back
+=over 4
-=item C<check_cpan_feature>
+=item C<check_requirements>
=over
=item B<Description>
-This checks that the optional Perl modules required for a feature are installed.
+This checks what optional or required perl modules are installed, like
+C<checksetup.pl> does.
=item B<Params>
=over
-=item C<$feature> - A C<CPAN::Meta::Feature> object.
-
-=item C<$dirs> - the include dirs to search for modules, defaults to @INC.
-
-=item C<$output> - C<true> if you want the function to print out information about what it's doing, and the versions of everything installed.
+=item C<$output> - C<true> if you want the function to print out information
+about what it's doing, and the versions of everything installed.
=back
@@ -416,50 +972,28 @@ A hashref containing these values:
=over
-=item C<ok> - if all the requirements are met, this is true.
-
-=item C<found> - an arrayref of found modules
-
-=item C<missing> - an arrayref of missing modules
+=item C<pass> - Whether or not we have all the mandatory requirements.
-=back
+=item C<missing> - An arrayref containing any required modules that
+are not installed or that are not up-to-date. Each item in the array is
+a hashref in the format of items from L</REQUIRED_MODULES>.
-=item C<check_all_cpan_features>
+=item C<optional> - The same as C<missing>, but for optional modules.
-=over
+=item C<apache> - The name of each optional Apache module that is missing.
-=item B<Description>
-
-This checks which optional Perl modules are currently installed which can enable optional features.
-
-=item B<Params>
-
-=over
+=item C<have_one_dbd> - True if at least one C<DBD::> module is installed.
-=item C<$meta> - A C<CPAN::Meta> object.
-
-=item C<$dirs> - the include dirs to search for modules, defaults to @INC.
-
-=item C<$output> - C<true> if you want the function to print out information
-about what it's doing, and the versions of everything installed.
+=item C<any_missing> - True if there are any missing Perl modules, even
+optional modules.
=back
-=item B<Returns>
-
-A hashref keyed on the feature name. The values
-are hashrefs containing C<description> and C<result> keys.
-
-C<description> is the English description of the feature.
-
-C<result> is a hashref in the same format as the return value of C<check_cpan_requirements()>,
-described previously.
-
=back
-=item C<check_webdotbase($output)>
+=item C<check_graphviz($output)>
-Description: Checks if the graphviz binary specified in the
+Description: Checks if the graphviz binary specified in the
C<webdotbase> parameter is a valid binary, or a valid URL.
Params: C<$output> - C<$true> if you want the function to
@@ -467,26 +1001,36 @@ Params: C<$output> - C<$true> if you want the function to
Returns: C<1> if the check was successful, C<0> otherwise.
-=item C<check_font_file($output)>
+=item C<have_vers($module, $output)>
-Description: Checks if the font file specified in the C<font_type> parameter
- is a valid-looking font file.
+ 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<$output> - C<$true> if you want the function to
- print out information about what it's doing.
+ Params: C<$module> - A hashref, in the format of an item from
+ L</REQUIRED_MODULES>.
+ C<$output> - Set to true if you want this function to
+ print information to STDOUT about what it's
+ doing.
-Returns: C<1> if the check was successful, C<0> otherwise.
+ Returns: C<1> if you have the module installed and you have the
+ appropriate version. C<0> otherwise.
-=item C<map_files_to_features>
+=item C<install_command($module)>
-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.
+ Description: Prints out the appropriate command to install the
+ module specified, depending on whether you're
+ on Windows or Linux.
-=item C<load_cpan_meta>
+ Params: C<$module> - A hashref, in the format of an item from
+ L</REQUIRED_MODULES>.
-Load MYMETA.json or META.json from the bugzilla directory, and a return a L<CPAN::Meta> object.
+ Returns: nothing
-=back
+=item C<map_files_to_features>
-=back
+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.
+=back
diff --git a/Bugzilla/Install/Util.pm b/Bugzilla/Install/Util.pm
index 231ef8efc..5f6c8bceb 100644
--- a/Bugzilla/Install/Util.pm
+++ b/Bugzilla/Install/Util.pm
@@ -1,9 +1,22 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Everything Solved.
+# Portions created by Everything Solved are Copyright (C) 2006
+# Everything Solved. All Rights Reserved.
+#
+# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
package Bugzilla::Install::Util;
@@ -11,16 +24,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;
@@ -34,20 +47,17 @@ 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{[/\\]}) {
@@ -265,15 +275,6 @@ 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();
@@ -542,20 +543,11 @@ 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 b4887c470..403d936ad 100644
--- a/Bugzilla/Job/BugMail.pm
+++ b/Bugzilla/Job/BugMail.pm
@@ -9,7 +9,6 @@ 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 a376a9256..56b6d4f69 100644
--- a/Bugzilla/Job/Mailer.pm
+++ b/Bugzilla/Job/Mailer.pm
@@ -1,13 +1,26 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Mozilla Corporation.
+# Portions created by the Initial Developer are Copyright (C) 2008
+# Mozilla Corporation. All Rights Reserved.
+#
+# Contributor(s):
+# Mark Smith <mark@mozilla.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
package Bugzilla::Job::Mailer;
-
-use 5.10.1;
use strict;
use warnings;
diff --git a/Bugzilla/JobQueue.pm b/Bugzilla/JobQueue.pm
index a5d8737b2..766e4cc16 100644
--- a/Bugzilla/JobQueue.pm
+++ b/Bugzilla/JobQueue.pm
@@ -1,15 +1,28 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Mozilla Corporation.
+# Portions created by the Initial Developer are Copyright (C) 2008
+# Mozilla Corporation. All Rights Reserved.
+#
+# Contributor(s):
+# Mark Smith <mark@mozilla.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
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 865fc9138..0dec85d74 100644
--- a/Bugzilla/JobQueue/Runner.pm
+++ b/Bugzilla/JobQueue/Runner.pm
@@ -1,9 +1,24 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Mozilla Corporation.
+# Portions created by the Initial Developer are Copyright (C) 2008
+# Mozilla Corporation. All Rights Reserved.
+#
+# Contributor(s):
+# Mark Smith <mark@mozilla.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
# XXX In order to support Windows, we have to make gd_redirect_output
# use Log4Perl or something instead of calling "logger". We probably
@@ -11,10 +26,7 @@
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 d65e0b942..0cdfaa090 100644
--- a/Bugzilla/Keyword.pm
+++ b/Bugzilla/Keyword.pm
@@ -1,15 +1,22 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
-
-package Bugzilla::Keyword;
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
-use 5.10.1;
use strict;
-use warnings;
+
+package Bugzilla::Keyword;
use base qw(Bugzilla::Object);
diff --git a/Bugzilla/MFA.pm b/Bugzilla/MFA.pm
index 43c722364..868a75a7e 100644
--- a/Bugzilla/MFA.pm
+++ b/Bugzilla/MFA.pm
@@ -6,10 +6,7 @@
# 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 03fbe76b5..d91f7ae42 100644
--- a/Bugzilla/MFA/Dummy.pm
+++ b/Bugzilla/MFA/Dummy.pm
@@ -6,11 +6,8 @@
# defined by the Mozilla Public License, v. 2.0.
package Bugzilla::MFA::Dummy;
-
-use 5.10.1;
use strict;
-use warnings;
-use base 'Bugzilla::MFA';
+use parent '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 19590944b..91096689f 100644
--- a/Bugzilla/MFA/Duo.pm
+++ b/Bugzilla/MFA/Duo.pm
@@ -6,12 +6,8 @@
# defined by the Mozilla Public License, v. 2.0.
package Bugzilla::MFA::Duo;
-
-use 5.10.1;
use strict;
-use warnings;
-
-use base 'Bugzilla::MFA';
+use parent 'Bugzilla::MFA';
use Bugzilla::DuoAPI;
use Bugzilla::DuoWeb;
diff --git a/Bugzilla/MFA/TOTP.pm b/Bugzilla/MFA/TOTP.pm
index 843569ce7..36791da15 100644
--- a/Bugzilla/MFA/TOTP.pm
+++ b/Bugzilla/MFA/TOTP.pm
@@ -6,12 +6,8 @@
# defined by the Mozilla Public License, v. 2.0.
package Bugzilla::MFA::TOTP;
-
-use 5.10.1;
use strict;
-use warnings;
-
-use base 'Bugzilla::MFA';
+use parent 'Bugzilla::MFA';
use Auth::GoogleAuth;
use Bugzilla::Error;
diff --git a/Bugzilla/Mailer.pm b/Bugzilla/Mailer.pm
index 32a1013db..68718eb6e 100644
--- a/Bugzilla/Mailer.pm
+++ b/Bugzilla/Mailer.pm
@@ -1,15 +1,38 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>,
+# Bryce Nesbitt <bryce-mozilla@nextbus.com>
+# Dan Mosedale <dmose@mozilla.org>
+# Alan Raetz <al_raetz@yahoo.com>
+# Jacob Steenhagen <jake@actex.net>
+# Matthew Tuck <matty@chariot.net.au>
+# Bradley Baetz <bbaetz@student.usyd.edu.au>
+# J. Paul Reed <preed@sigkill.com>
+# Gervase Markham <gerv@gerv.net>
+# Byron Jones <bugzilla@glob.com.au>
+# Frédéric Buclin <LpSolit@gmail.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
package Bugzilla::Mailer;
-use 5.10.1;
use strict;
-use warnings;
use base qw(Exporter);
@Bugzilla::Mailer::EXPORT = qw(MessageToMTA build_thread_marker);
@@ -33,7 +56,7 @@ BEGIN {
}
use Email::Send;
use Sys::Hostname;
-use Bugzilla::Version qw(vers_cmp);
+use Bugzilla::Install::Util qw(vers_cmp);
sub MessageToMTA {
my ($msg, $send_now) = (@_);
diff --git a/Bugzilla/Metrics/Memcached.pm b/Bugzilla/Metrics/Memcached.pm
index b640f9280..8dccdb323 100644
--- a/Bugzilla/Metrics/Memcached.pm
+++ b/Bugzilla/Metrics/Memcached.pm
@@ -7,11 +7,10 @@
package Bugzilla::Metrics::Memcached;
-use 5.10.1;
use strict;
use warnings;
-use base 'Bugzilla::Memcached';
+use parent 'Bugzilla::Memcached';
sub _get {
my $self = shift;
diff --git a/Bugzilla/Metrics/Mysql.pm b/Bugzilla/Metrics/Mysql.pm
index 60dff78c8..7719d1cac 100644
--- a/Bugzilla/Metrics/Mysql.pm
+++ b/Bugzilla/Metrics/Mysql.pm
@@ -11,7 +11,7 @@ use 5.10.1;
use strict;
use warnings;
-use base 'Bugzilla::DB::Mysql';
+use parent 'Bugzilla::DB::Mysql';
sub do {
my ($self, @args) = @_;
diff --git a/Bugzilla/Metrics/Reporter.pm b/Bugzilla/Metrics/Reporter.pm
index 8216ea923..88a08c9b8 100644
--- a/Bugzilla/Metrics/Reporter.pm
+++ b/Bugzilla/Metrics/Reporter.pm
@@ -7,7 +7,6 @@
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 c61a1d750..1bab2502c 100644
--- a/Bugzilla/Metrics/Reporter/ElasticSearch.pm
+++ b/Bugzilla/Metrics/Reporter/ElasticSearch.pm
@@ -7,11 +7,10 @@
package Bugzilla::Metrics::Reporter::ElasticSearch;
-use 5.10.1;
use strict;
use warnings;
-use base 'Bugzilla::Metrics::Reporter';
+use parent 'Bugzilla::Metrics::Reporter';
use constant DETACH => 1;
diff --git a/Bugzilla/Metrics/Reporter/STDERR.pm b/Bugzilla/Metrics/Reporter/STDERR.pm
index a61cdb25f..f5bd38acb 100644
--- a/Bugzilla/Metrics/Reporter/STDERR.pm
+++ b/Bugzilla/Metrics/Reporter/STDERR.pm
@@ -7,11 +7,10 @@
package Bugzilla::Metrics::Reporter::STDERR;
-use 5.10.1;
use strict;
use warnings;
-use base 'Bugzilla::Metrics::Reporter';
+use parent 'Bugzilla::Metrics::Reporter';
use Data::Dumper;
diff --git a/Bugzilla/Metrics/Template.pm b/Bugzilla/Metrics/Template.pm
index 5d9af240e..a3b13f85d 100644
--- a/Bugzilla/Metrics/Template.pm
+++ b/Bugzilla/Metrics/Template.pm
@@ -7,11 +7,10 @@
package Bugzilla::Metrics::Template;
-use 5.10.1;
use strict;
use warnings;
-use base 'Bugzilla::Template';
+use parent 'Bugzilla::Template';
sub process {
my $self = shift;
diff --git a/Bugzilla/Metrics/Template/Context.pm b/Bugzilla/Metrics/Template/Context.pm
index 278cfce1e..ae8470b3f 100644
--- a/Bugzilla/Metrics/Template/Context.pm
+++ b/Bugzilla/Metrics/Template/Context.pm
@@ -7,11 +7,10 @@
package Bugzilla::Metrics::Template::Context;
-use 5.10.1;
use strict;
use warnings;
-use base 'Bugzilla::Template::Context';
+use parent 'Bugzilla::Template::Context';
sub process {
my $self = shift;
diff --git a/Bugzilla/Migrate.pm b/Bugzilla/Migrate.pm
index 7f67bedc4..923fc36a4 100644
--- a/Bugzilla/Migrate.pm
+++ b/Bugzilla/Migrate.pm
@@ -1,15 +1,26 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is The Bugzilla Migration Tool.
+#
+# The Initial Developer of the Original Code is Lambda Research
+# Corporation. Portions created by the Initial Developer are Copyright
+# (C) 2009 the Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+# Max Kanat-Alexander <mkanat@bugzilla.org>
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 d8771a40b..db628b7d5 100644
--- a/Bugzilla/Migrate/Gnats.pm
+++ b/Bugzilla/Migrate/Gnats.pm
@@ -1,16 +1,26 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is The Bugzilla Migration Tool.
+#
+# The Initial Developer of the Original Code is Lambda Research
+# Corporation. Portions created by the Initial Developer are Copyright
+# (C) 2009 the Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+# Max Kanat-Alexander <mkanat@bugzilla.org>
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 2f10e1f00..78eacb3e9 100644
--- a/Bugzilla/Milestone.pm
+++ b/Bugzilla/Milestone.pm
@@ -1,15 +1,24 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
-
-package Bugzilla::Milestone;
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Tiago R. Mello <timello@async.com.br>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
+# Frédéric Buclin <LpSolit@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
+
+package Bugzilla::Milestone;
use base qw(Bugzilla::Object);
diff --git a/Bugzilla/Object.pm b/Bugzilla/Object.pm
index eaddd9e6f..84d384d2b 100644
--- a/Bugzilla/Object.pm
+++ b/Bugzilla/Object.pm
@@ -1,15 +1,27 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
-
-package Bugzilla::Object;
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Everything Solved.
+# Portions created by Everything Solved are Copyright (C) 2006
+# Everything Solved. All Rights Reserved.
+#
+# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
+# Frédéric Buclin <LpSolit@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
+
+package Bugzilla::Object;
use Bugzilla::Constants;
use Bugzilla::Hook;
diff --git a/Bugzilla/PatchReader.pm b/Bugzilla/PatchReader.pm
index ffcce62ec..3b1ba3dda 100644
--- a/Bugzilla/PatchReader.pm
+++ b/Bugzilla/PatchReader.pm
@@ -1,8 +1,6 @@
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 4e7da5661..e4100afb1 100644
--- a/Bugzilla/PatchReader/AddCVSContext.pm
+++ b/Bugzilla/PatchReader/AddCVSContext.pm
@@ -1,14 +1,12 @@
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 26cb9a9a0..f2fd69a68 100644
--- a/Bugzilla/PatchReader/Base.pm
+++ b/Bugzilla/PatchReader/Base.pm
@@ -1,8 +1,6 @@
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 7a8875dc8..2f76fc18d 100644
--- a/Bugzilla/PatchReader/CVSClient.pm
+++ b/Bugzilla/PatchReader/CVSClient.pm
@@ -9,9 +9,7 @@
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 b7a0d8db2..ceb425800 100644
--- a/Bugzilla/PatchReader/DiffPrinter/raw.pm
+++ b/Bugzilla/PatchReader/DiffPrinter/raw.pm
@@ -1,8 +1,6 @@
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 4120f1d8a..6545e9336 100644
--- a/Bugzilla/PatchReader/DiffPrinter/template.pm
+++ b/Bugzilla/PatchReader/DiffPrinter/template.pm
@@ -1,8 +1,6 @@
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 330f6329b..dfe42e750 100644
--- a/Bugzilla/PatchReader/FilterPatch.pm
+++ b/Bugzilla/PatchReader/FilterPatch.pm
@@ -1,8 +1,6 @@
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 1b0d250ad..e67fb2796 100644
--- a/Bugzilla/PatchReader/FixPatchRoot.pm
+++ b/Bugzilla/PatchReader/FixPatchRoot.pm
@@ -1,12 +1,10 @@
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 1441e8366..b6502f2f3 100644
--- a/Bugzilla/PatchReader/NarrowPatch.pm
+++ b/Bugzilla/PatchReader/NarrowPatch.pm
@@ -2,9 +2,7 @@ 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 6fb35fd16..8c52931ba 100644
--- a/Bugzilla/PatchReader/PatchInfoGrabber.pm
+++ b/Bugzilla/PatchReader/PatchInfoGrabber.pm
@@ -2,9 +2,7 @@ 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 4b7312f3d..7e34bd4bf 100644
--- a/Bugzilla/PatchReader/Raw.pm
+++ b/Bugzilla/PatchReader/Raw.pm
@@ -13,9 +13,7 @@ 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 e1e6f948c..491658614 100644
--- a/Bugzilla/Product.pm
+++ b/Bugzilla/Product.pm
@@ -1,16 +1,22 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Tiago R. Mello <timello@async.com.br>
+# Frédéric Buclin <LpSolit@gmail.com>
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 902c803fd..caa63bae2 100644
--- a/Bugzilla/RNG.pm
+++ b/Bugzilla/RNG.pm
@@ -1,16 +1,26 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Google Inc.
+# Portions created by the Initial Developer are Copyright (C) 2011
+# the Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+# Max Kanat-Alexander <mkanat@bugzilla.org>
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 26d77562f..eb30816a4 100644
--- a/Bugzilla/S3.pm
+++ b/Bugzilla/S3.pm
@@ -12,7 +12,6 @@ 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 a53ab5c51..37c61e666 100644
--- a/Bugzilla/S3/Bucket.pm
+++ b/Bugzilla/S3/Bucket.pm
@@ -2,10 +2,8 @@ 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 19419817a..b85e44985 100644
--- a/Bugzilla/Search.pm
+++ b/Bugzilla/Search.pm
@@ -1,16 +1,39 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
-
-package Bugzilla::Search;
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Gervase Markham <gerv@gerv.net>
+# Terry Weissman <terry@mozilla.org>
+# Dan Mosedale <dmose@mozilla.org>
+# Stephan Niemz <st.n@gmx.net>
+# Andreas Franke <afranke@mathweb.org>
+# Myk Melez <myk@mozilla.org>
+# Michael Schindler <michael@compressconsult.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
+# Joel Peshkin <bugreport@peshkin.net>
+# Lance Larsh <lance.larsh@oracle.com>
+# Jesse Clark <jjclark1982@gmail.com>
+# Rémi Zara <remi_zara@mac.com>
+# Reed Loden <reed@reedloden.com>
-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 1c9491012..89210babb 100644
--- a/Bugzilla/Search/Clause.pm
+++ b/Bugzilla/Search/Clause.pm
@@ -1,15 +1,26 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is BugzillaSource, Inc.
+# Portions created by the Initial Developer are Copyright (C) 2011 the
+# Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+# Max Kanat-Alexander <mkanat@bugzilla.org>
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 c7d3e6ae7..c8600b6ac 100644
--- a/Bugzilla/Search/ClauseGroup.pm
+++ b/Bugzilla/Search/ClauseGroup.pm
@@ -7,9 +7,7 @@
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 1c38c1f3e..167b4f01e 100644
--- a/Bugzilla/Search/Condition.pm
+++ b/Bugzilla/Search/Condition.pm
@@ -1,16 +1,26 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is BugzillaSource, Inc.
+# Portions created by the Initial Developer are Copyright (C) 2011 the
+# Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+# Max Kanat-Alexander <mkanat@bugzilla.org>
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 31d8e2b2a..c65fe06a8 100644
--- a/Bugzilla/Search/Quicksearch.pm
+++ b/Bugzilla/Search/Quicksearch.pm
@@ -1,15 +1,27 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): C. Begle
+# Jesse Ruderman
+# Andreas Franke <afranke@mathweb.org>
+# Stephen Lee <slee@uk.bnsmc.com>
+# Marc Schumann <wurblzap@gmail.com>
package Bugzilla::Search::Quicksearch;
-use 5.10.1;
+# Make it harder for us to do dangerous things in Perl.
use strict;
-use warnings;
use Bugzilla::Error;
use Bugzilla::Constants;
diff --git a/Bugzilla/Search/Recent.pm b/Bugzilla/Search/Recent.pm
index a5d9e2417..b9f6428d7 100644
--- a/Bugzilla/Search/Recent.pm
+++ b/Bugzilla/Search/Recent.pm
@@ -1,16 +1,26 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Everything Solved, Inc.
+# Portions created by the Initial Developer are Copyright (C) 2010 the
+# Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+# Max Kanat-Alexander <mkanat@bugzilla.org>
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 21d49c2d8..6e1587d20 100644
--- a/Bugzilla/Search/Saved.pm
+++ b/Bugzilla/Search/Saved.pm
@@ -1,15 +1,26 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
-
-package Bugzilla::Search::Saved;
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Everything Solved.
+# Portions created by Everything Solved are Copyright (C) 2006
+# Everything Solved. All Rights Reserved.
+#
+# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
-use 5.10.1;
use strict;
-use warnings;
+
+package Bugzilla::Search::Saved;
use base qw(Bugzilla::Object);
diff --git a/Bugzilla/Send/Sendmail.pm b/Bugzilla/Send/Sendmail.pm
index 808e62056..0c3cfe9e4 100644
--- a/Bugzilla/Send/Sendmail.pm
+++ b/Bugzilla/Send/Sendmail.pm
@@ -6,9 +6,8 @@
# 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 007736cea..e2fdcad99 100644
--- a/Bugzilla/Sentry.pm
+++ b/Bugzilla/Sentry.pm
@@ -7,7 +7,6 @@
package Bugzilla::Sentry;
-use 5.10.1;
use strict;
use warnings;
diff --git a/Bugzilla/Series.pm b/Bugzilla/Series.pm
index cfddd52b1..7168bcb7e 100644
--- a/Bugzilla/Series.pm
+++ b/Bugzilla/Series.pm
@@ -1,9 +1,26 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Gervase Markham <gerv@gerv.net>
+# Lance Larsh <lance.larsh@oracle.com>
+
+use strict;
# This module implements a series - a set of data to be plotted on a chart.
#
@@ -14,10 +31,6 @@
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 62a1f1d75..4a82f68d0 100644
--- a/Bugzilla/Status.pm
+++ b/Bugzilla/Status.pm
@@ -1,16 +1,28 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
-
-package Bugzilla::Status;
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Frédéric Buclin.
+# Portions created by Frédéric Buclin are Copyright (C) 2007
+# Frédéric Buclin. All Rights Reserved.
+#
+# Contributor(s): Frédéric Buclin <LpSolit@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
+package Bugzilla::Status;
+
+use Bugzilla::Error;
# 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
@@ -24,8 +36,6 @@ 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 ab2461f1b..b03817793 100644
--- a/Bugzilla/Template.pm
+++ b/Bugzilla/Template.pm
@@ -1,16 +1,38 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Dan Mosedale <dmose@mozilla.org>
+# Jacob Steenhagen <jake@bugzilla.org>
+# Bradley Baetz <bbaetz@student.usyd.edu.au>
+# Christopher Aillon <christopher@aillon.com>
+# Tobias Burnus <burnus@net-b.de>
+# Myk Melez <myk@mozilla.org>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
+# Frédéric Buclin <LpSolit@gmail.com>
+# Greg Hendricks <ghendricks@novell.com>
+# David D. Kilzer <ddkilzer@kilzer.net>
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 b81e32130..b3e3446f6 100644
--- a/Bugzilla/Template/Context.pm
+++ b/Bugzilla/Template/Context.pm
@@ -1,17 +1,27 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is ITA Software.
+# Portions created by the Initial Developer are Copyright (C) 2009
+# the Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+# Max Kanat-Alexander <mkanat@bugzilla.org>
# This 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 752aa9dfa..101bd06ee 100644
--- a/Bugzilla/Template/Plugin/Bugzilla.pm
+++ b/Bugzilla/Template/Plugin/Bugzilla.pm
@@ -1,15 +1,28 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.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 Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Bradley Baetz <bbaetz@student.usyd.edu.au>
#
-# This Source Code Form is "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 4e4d39246..f2434817c 100644
--- a/Bugzilla/Template/Plugin/Hook.pm
+++ b/Bugzilla/Template/Plugin/Hook.pm
@@ -1,16 +1,29 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Myk Melez <myk@mozilla.org>
+# Zach Lipton <zach@zachlipton.com>
+# Elliotte Martin <everythingsolved.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
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 09452d899..533b999c3 100644
--- a/Bugzilla/Template/Plugin/User.pm
+++ b/Bugzilla/Template/Plugin/User.pm
@@ -22,9 +22,8 @@
#
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 7b5cb9bcf..6e3095549 100644
--- a/Bugzilla/Token.pm
+++ b/Bugzilla/Token.pm
@@ -1,15 +1,34 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Myk Melez <myk@mozilla.org>
+# Frédéric Buclin <LpSolit@gmail.com>
-package Bugzilla::Token;
+################################################################################
+# Module Initialization
+################################################################################
-use 5.10.1;
+# Make it harder for us to do dangerous things in Perl.
use strict;
-use warnings;
+
+# Bundle the functions in this file together into the "Bugzilla::Token" package.
+package Bugzilla::Token;
use Bugzilla::Constants;
use Bugzilla::Error;
diff --git a/Bugzilla/Update.pm b/Bugzilla/Update.pm
index 72a7108a8..c9942a4f0 100644
--- a/Bugzilla/Update.pm
+++ b/Bugzilla/Update.pm
@@ -1,15 +1,22 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Frédéric Buclin <LpSolit@gmail.com>
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 447c33c21..ac7d5094f 100644
--- a/Bugzilla/User.pm
+++ b/Bugzilla/User.pm
@@ -1,15 +1,45 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Myk Melez <myk@mozilla.org>
+# Erik Stambaugh <erik@dasbistro.com>
+# Bradley Baetz <bbaetz@acm.org>
+# Joel Peshkin <bugreport@peshkin.net>
+# Byron Jones <bugzilla@glob.com.au>
+# Shane H. W. Travis <travis@sedsystems.ca>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
+# Gervase Markham <gerv@gerv.net>
+# Lance Larsh <lance.larsh@oracle.com>
+# Justin C. De Vries <judevries@novell.com>
+# Dennis Melentyev <dennis.melentyev@infopulse.com.ua>
+# Frédéric Buclin <LpSolit@gmail.com>
+# Mads Bondo Dydensborg <mbd@dbc.dk>
-package Bugzilla::User;
+################################################################################
+# Module Initialization
+################################################################################
-use 5.10.1;
+# Make it harder for us to do dangerous things in Perl.
use strict;
-use warnings;
+
+# This module implements utilities for dealing with Bugzilla users.
+package Bugzilla::User;
use Bugzilla::Error;
use Bugzilla::Util;
diff --git a/Bugzilla/User/APIKey.pm b/Bugzilla/User/APIKey.pm
index c1a4ed572..500f0ad59 100644
--- a/Bugzilla/User/APIKey.pm
+++ b/Bugzilla/User/APIKey.pm
@@ -9,9 +9,8 @@ package Bugzilla::User::APIKey;
use 5.10.1;
use strict;
-use warnings;
-use base qw(Bugzilla::Object);
+use parent 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 56e1cd07a..c547867d1 100644
--- a/Bugzilla/User/Session.pm
+++ b/Bugzilla/User/Session.pm
@@ -9,9 +9,8 @@ package Bugzilla::User::Session;
use 5.10.1;
use strict;
-use warnings;
-use base qw(Bugzilla::Object);
+use parent qw(Bugzilla::Object);
#####################################################################
# Overriden Constants that are used as methods
diff --git a/Bugzilla/User/Setting.pm b/Bugzilla/User/Setting.pm
index 1732ab999..f566b3459 100644
--- a/Bugzilla/User/Setting.pm
+++ b/Bugzilla/User/Setting.pm
@@ -1,17 +1,26 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Shane H. W. Travis <travis@sedsystems.ca>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
+# Marc Schumann <wurblzap@gmail.com>
+# Frédéric Buclin <LpSolit@gmail.com>
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 a3032b9fc..79372704d 100644
--- a/Bugzilla/User/Setting/Lang.pm
+++ b/Bugzilla/User/Setting/Lang.pm
@@ -1,15 +1,26 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Marc Schumann.
+# Portions created by Marc Schumann are Copyright (c) 2007 Marc Schumann.
+# All rights reserved.
+#
+# Contributor(s): Marc Schumann <wurblzap@gmail.com>
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 f0ea502ef..f69f3e66c 100644
--- a/Bugzilla/User/Setting/Skin.pm
+++ b/Bugzilla/User/Setting/Skin.pm
@@ -1,16 +1,24 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.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.
+#
+# Contributor(s): Marc Schumann <wurblzap@gmail.com>
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
package Bugzilla::User::Setting::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 a9515259e..27a90e341 100644
--- a/Bugzilla/User/Setting/Timezone.pm
+++ b/Bugzilla/User/Setting/Timezone.pm
@@ -1,15 +1,26 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Frédéric Buclin.
+# Portions created by Frédéric Buclin are Copyright (c) 2008 Frédéric Buclin.
+# All rights reserved.
+#
+# Contributor(s): Frédéric Buclin <LpSolit@gmail.com>
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 0db6de808..00be84c44 100644
--- a/Bugzilla/UserAgent.pm
+++ b/Bugzilla/UserAgent.pm
@@ -1,16 +1,33 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is the Mozilla Foundation
+# Portions created by the Initial Developer are Copyright (C) 2011 the
+# Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+# Terry Weissman <terry@mozilla.org>
+# Dave Miller <justdave@syndicomm.com>
+# Joe Robins <jmrobins@tgix.com>
+# Gervase Markham <gerv@gerv.net>
+# Shane H. W. Travis <travis@sedsystems.ca>
+# Nitish Bezzala <nbezzala@yahoo.com>
+# Byron Jones <glob@mozilla.com>
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 7937d6b80..2703a542e 100644
--- a/Bugzilla/Util.pm
+++ b/Bugzilla/Util.pm
@@ -1,15 +1,35 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Dan Mosedale <dmose@mozilla.org>
+# Jacob Steenhagen <jake@bugzilla.org>
+# Bradley Baetz <bbaetz@student.usyd.edu.au>
+# Christopher Aillon <christopher@aillon.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
+# Frédéric Buclin <LpSolit@gmail.com>
+# Marc Schumann <wurblzap@gmail.com>
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 a078cb4fc..2e0854afe 100644
--- a/Bugzilla/Version.pm
+++ b/Bugzilla/Version.pm
@@ -1,20 +1,28 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
-
-package Bugzilla::Version;
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Tiago R. Mello <timello@async.com.br>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
+# Frédéric Buclin <LpSolit@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
-use base qw(Bugzilla::Object Exporter);
+package Bugzilla::Version;
-@Bugzilla::Version::EXPORT = qw(vers_cmp);
+use base qw(Bugzilla::Object);
+use Bugzilla::Install::Util qw(vers_cmp);
use Bugzilla::Util;
use Bugzilla::Error;
@@ -189,53 +197,6 @@ 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 db8018679..b0649f7b3 100644
--- a/Bugzilla/WebService.pm
+++ b/Bugzilla/WebService.pm
@@ -1,18 +1,24 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Marc Schumann <wurblzap@gmail.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
# This 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 f9a91797e..d7a1d8f9b 100644
--- a/Bugzilla/WebService/Bug.pm
+++ b/Bugzilla/WebService/Bug.pm
@@ -1,17 +1,30 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Marc Schumann <wurblzap@gmail.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
+# Mads Bondo Dydensborg <mbd@dbc.dk>
+# Tsahi Asher <tsahi_75@yahoo.com>
+# Noura Elhawary <nelhawar@redhat.com>
+# Frank Becker <Frank@Frank-Becker.de>
+# Dave Lawrence <dkl@redhat.com>
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 7b729c6c8..299e1596b 100644
--- a/Bugzilla/WebService/BugUserLastVisit.pm
+++ b/Bugzilla/WebService/BugUserLastVisit.pm
@@ -9,9 +9,8 @@ package Bugzilla::WebService::BugUserLastVisit;
use 5.10.1;
use strict;
-use warnings;
-use base qw(Bugzilla::WebService);
+use parent qw(Bugzilla::WebService);
use Bugzilla::Bug;
use Bugzilla::Error;
diff --git a/Bugzilla/WebService/Bugzilla.pm b/Bugzilla/WebService/Bugzilla.pm
index 0d0393c28..7d0b5473b 100644
--- a/Bugzilla/WebService/Bugzilla.pm
+++ b/Bugzilla/WebService/Bugzilla.pm
@@ -1,16 +1,24 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Marc Schumann <wurblzap@gmail.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
+# Mads Bondo Dydensborg <mbd@dbc.dk>
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 32139ff3f..1b084eabb 100644
--- a/Bugzilla/WebService/Classification.pm
+++ b/Bugzilla/WebService/Classification.pm
@@ -9,9 +9,8 @@ package Bugzilla::WebService::Classification;
use 5.10.1;
use strict;
-use warnings;
-use base qw (Bugzilla::WebService);
+use parent qw (Bugzilla::WebService);
use Bugzilla::Classification;
use Bugzilla::Error;
diff --git a/Bugzilla/WebService/Constants.pm b/Bugzilla/WebService/Constants.pm
index bf3a93fd5..19f866e8f 100644
--- a/Bugzilla/WebService/Constants.pm
+++ b/Bugzilla/WebService/Constants.pm
@@ -1,16 +1,23 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Marc Schumann <wurblzap@gmail.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
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 b13003e08..7518433af 100644
--- a/Bugzilla/WebService/Group.pm
+++ b/Bugzilla/WebService/Group.pm
@@ -11,7 +11,7 @@ use 5.10.1;
use strict;
use warnings;
-use base qw(Bugzilla::WebService);
+use parent 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 6ca3fee90..bccaa8347 100644
--- a/Bugzilla/WebService/Product.pm
+++ b/Bugzilla/WebService/Product.pm
@@ -1,16 +1,24 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Marc Schumann <wurblzap@gmail.com>
+# Mads Bondo Dydensborg <mbd@dbc.dk>
+# Byron Jones <glob@mozilla.com>
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 5384feef1..a84ba2961 100644
--- a/Bugzilla/WebService/Server.pm
+++ b/Bugzilla/WebService/Server.pm
@@ -1,15 +1,22 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Marc Schumann <wurblzap@gmail.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
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 24ad12730..b66bcaea1 100644
--- a/Bugzilla/WebService/Server/JSONRPC.pm
+++ b/Bugzilla/WebService/Server/JSONRPC.pm
@@ -1,16 +1,27 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla JSON Webservices Interface.
+#
+# The Initial Developer of the Original Code is the San Jose State
+# University Foundation. Portions created by the Initial Developer
+# are Copyright (C) 2008 the Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+# Max Kanat-Alexander <mkanat@bugzilla.org>
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 5266f8fa7..d94fb1d81 100644
--- a/Bugzilla/WebService/Server/REST.pm
+++ b/Bugzilla/WebService/Server/REST.pm
@@ -9,9 +9,8 @@ package Bugzilla::WebService::Server::REST;
use 5.10.1;
use strict;
-use warnings;
-use base qw(Bugzilla::WebService::Server::JSONRPC);
+use parent 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 33cf43321..163790b77 100644
--- a/Bugzilla/WebService/Server/REST/Resources/Bug.pm
+++ b/Bugzilla/WebService/Server/REST/Resources/Bug.pm
@@ -9,7 +9,6 @@ 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 a8f3f9330..1c86f77bc 100644
--- a/Bugzilla/WebService/Server/REST/Resources/Bugzilla.pm
+++ b/Bugzilla/WebService/Server/REST/Resources/Bugzilla.pm
@@ -9,7 +9,6 @@ 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 f20278f55..5bb697ac1 100644
--- a/Bugzilla/WebService/Server/REST/Resources/Classification.pm
+++ b/Bugzilla/WebService/Server/REST/Resources/Classification.pm
@@ -9,7 +9,6 @@ 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 9ca6e3074..acee3887b 100644
--- a/Bugzilla/WebService/Server/REST/Resources/Product.pm
+++ b/Bugzilla/WebService/Server/REST/Resources/Product.pm
@@ -9,7 +9,6 @@ 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 eb44e9d2d..7d494064d 100644
--- a/Bugzilla/WebService/Server/REST/Resources/User.pm
+++ b/Bugzilla/WebService/Server/REST/Resources/User.pm
@@ -9,7 +9,6 @@ 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 f8b7e0994..f92936e83 100644
--- a/Bugzilla/WebService/Server/XMLRPC.pm
+++ b/Bugzilla/WebService/Server/XMLRPC.pm
@@ -1,16 +1,26 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Marc Schumann <wurblzap@gmail.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
+# Rosie Clarkson <rosie.clarkson@planningportal.gov.uk>
+#
+# Portions © Crown copyright 2009 - Rosie Clarkson (development@planningportal.gov.uk) for the Planning Portal
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 78c6ed798..a9dcdf4be 100644
--- a/Bugzilla/WebService/User.pm
+++ b/Bugzilla/WebService/User.pm
@@ -1,16 +1,25 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Marc Schumann <wurblzap@gmail.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
+# Mads Bondo Dydensborg <mbd@dbc.dk>
+# Noura Elhawary <nelhawar@redhat.com>
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 b0621b000..4280f28e6 100644
--- a/Bugzilla/WebService/Util.pm
+++ b/Bugzilla/WebService/Util.pm
@@ -1,15 +1,26 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Everything Solved, Inc.
+# Portions created by the Initial Developer are Copyright (C) 2008
+# the Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+# Max Kanat-Alexander <mkanat@bugzilla.org>
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 c4301b4f6..73b0802b1 100644
--- a/Bugzilla/Whine.pm
+++ b/Bugzilla/Whine.pm
@@ -1,15 +1,26 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
-
-package Bugzilla::Whine;
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Eric Black.
+# Portions created by the Initial Developer are Copyright (C) 2010
+# Eric Black. All Rights Reserved.
+#
+# Contributor(s): Eric Black <black.eric@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
+
+package Bugzilla::Whine;
use base qw(Bugzilla::Object);
diff --git a/Bugzilla/Whine/Query.pm b/Bugzilla/Whine/Query.pm
index 886c54815..11215759b 100644
--- a/Bugzilla/Whine/Query.pm
+++ b/Bugzilla/Whine/Query.pm
@@ -1,15 +1,26 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Eric Black.
+# Portions created by the Initial Developer are Copyright (C) 2009
+# Eric Black. All Rights Reserved.
+#
+# Contributor(s): Eric Black <black.eric@gmail.com>
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 0c159cf3f..63148856c 100644
--- a/Bugzilla/Whine/Schedule.pm
+++ b/Bugzilla/Whine/Schedule.pm
@@ -1,15 +1,26 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
-
-package Bugzilla::Whine::Schedule;
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Eric Black.
+# Portions created by the Initial Developer are Copyright (C) 2009
+# Eric Black. All Rights Reserved.
+#
+# Contributor(s): Eric Black <black.eric@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
+
+package Bugzilla::Whine::Schedule;
use base qw(Bugzilla::Object);
diff --git a/META.json b/META.json
deleted file mode 100644
index 78acba744..000000000
--- a/META.json
+++ /dev/null
@@ -1,430 +0,0 @@
-{
- "abstract" : "Bugzilla Bug Tracking System",
- "author" : [
- "Bugzilla Developers <developers@bugzilla.org>"
- ],
- "dynamic_config" : 1,
- "generated_by" : "ExtUtils::MakeMaker version 7.22, CPAN::Meta::Converter version 2.143240",
- "license" : [
- "unknown"
- ],
- "meta-spec" : {
- "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
- "version" : "2"
- },
- "name" : "Bugzilla",
- "no_index" : {
- "directory" : [
- "t",
- "inc"
- ]
- },
- "optional_features" : {
- "auth_delegation" : {
- "description" : "Auth Delegation",
- "prereqs" : {
- "runtime" : {
- "requires" : {
- "LWP::UserAgent" : "0"
- }
- }
- }
- },
- "auth_ldap" : {
- "description" : "LDAP Authentication",
- "prereqs" : {
- "runtime" : {
- "requires" : {
- "Net::LDAP" : "0"
- }
- }
- }
- },
- "auth_radius" : {
- "description" : "RADIUS Authentication",
- "prereqs" : {
- "runtime" : {
- "requires" : {
- "Authen::Radius" : "0"
- }
- }
- }
- },
- "bmo" : {
- "description" : "features that bmo needs",
- "prereqs" : {
- "runtime" : {
- "requires" : {
- "Auth::GoogleAuth" : "1.01",
- "Cache::Memcached" : "0.17",
- "Chart::Lines" : "v2.4.10",
- "DBD::mysql" : "4.001",
- "Daemon::Generic" : "0",
- "Email::MIME::Attachment::Stripper" : "0",
- "Email::Reply" : "0",
- "Encode" : "2.21",
- "Encode::Detect" : "0",
- "File::Copy::Recursive" : "0",
- "File::MimeInfo::Magic" : "0",
- "File::Which" : "0",
- "GD" : "1.20",
- "GD::Barcode::QRcode" : "0",
- "GD::Graph" : "0",
- "GD::Text" : "0",
- "HTML::Parser" : "3.67",
- "HTML::Scrubber" : "0",
- "IO::Scalar" : "0",
- "JSON::RPC" : "0",
- "LWP::UserAgent" : "0",
- "MIME::Parser" : "5.406",
- "Mozilla::CA" : "0",
- "Net::SFTP" : "0",
- "PatchReader" : "v0.9.6",
- "SOAP::Lite" : "0.712",
- "Template::Plugin::GD::Image" : "0",
- "Test::Taint" : "1.06",
- "TheSchwartz" : "1.10",
- "XML::Simple" : "0",
- "XML::Twig" : "0",
- "XMLRPC::Lite" : "0.712"
- }
- }
- }
- },
- "detect_charset" : {
- "description" : "Automatic charset detection for text attachments",
- "prereqs" : {
- "runtime" : {
- "requires" : {
- "Encode" : "2.21",
- "Encode::Detect" : "0"
- }
- }
- }
- },
- "documentation" : {
- "description" : "Documentation",
- "prereqs" : {
- "runtime" : {
- "requires" : {
- "File::Copy::Recursive" : "0",
- "File::Which" : "0"
- }
- }
- }
- },
- "extension_bitly_optional" : {
- "prereqs" : {
- "runtime" : {
- "requires" : {
- "Mozilla::CA" : "0"
- }
- }
- }
- },
- "extension_push_optional" : {
- "prereqs" : {
- "runtime" : {
- "requires" : {
- "Net::SFTP" : "0",
- "XML::Simple" : "0"
- }
- }
- }
- },
- "graphical_reports" : {
- "description" : "Graphical Reports",
- "prereqs" : {
- "runtime" : {
- "requires" : {
- "GD" : "1.20",
- "GD::Graph" : "0",
- "GD::Text" : "0",
- "Template::Plugin::GD::Image" : "0"
- }
- }
- }
- },
- "html_desc" : {
- "description" : "More HTML in Product/Group Descriptions",
- "prereqs" : {
- "runtime" : {
- "requires" : {
- "HTML::Parser" : "3.67",
- "HTML::Scrubber" : "0"
- }
- }
- }
- },
- "inbound_email" : {
- "description" : "Inbound Email",
- "prereqs" : {
- "runtime" : {
- "requires" : {
- "Email::MIME::Attachment::Stripper" : "0",
- "Email::Reply" : "0"
- }
- }
- }
- },
- "jobqueue" : {
- "description" : "Mail Queueing",
- "prereqs" : {
- "runtime" : {
- "requires" : {
- "Daemon::Generic" : "0",
- "TheSchwartz" : "1.10"
- }
- }
- }
- },
- "jsonrpc" : {
- "description" : "JSON-RPC Interface",
- "prereqs" : {
- "runtime" : {
- "requires" : {
- "JSON::RPC" : "0",
- "Test::Taint" : "1.06"
- }
- }
- }
- },
- "memcached" : {
- "description" : "Memcached Support",
- "prereqs" : {
- "runtime" : {
- "requires" : {
- "Cache::Memcached" : "0.17"
- }
- }
- }
- },
- "mfa" : {
- "description" : "Multi-Factor Authentication",
- "prereqs" : {
- "runtime" : {
- "requires" : {
- "Auth::GoogleAuth" : "1.01",
- "GD::Barcode::QRcode" : "0"
- }
- }
- }
- },
- "mod_perl" : {
- "description" : "mod_perl support under Apache",
- "prereqs" : {
- "runtime" : {
- "requires" : {
- "Apache2::SizeLimit" : "0.96",
- "mod_perl2" : "1.999022"
- }
- }
- }
- },
- "moving" : {
- "description" : "Move Bugs Between Installations",
- "prereqs" : {
- "runtime" : {
- "requires" : {
- "MIME::Parser" : "5.406",
- "XML::Twig" : "0"
- }
- }
- }
- },
- "mysql" : {
- "description" : "MySQL database support",
- "prereqs" : {
- "runtime" : {
- "requires" : {
- "DBD::mysql" : "4.001"
- }
- }
- }
- },
- "new_charts" : {
- "description" : "New Charts",
- "prereqs" : {
- "runtime" : {
- "requires" : {
- "Chart::Lines" : "v2.4.10",
- "GD" : "1.20"
- }
- }
- }
- },
- "old_charts" : {
- "description" : "Old Charts",
- "prereqs" : {
- "runtime" : {
- "requires" : {
- "Chart::Lines" : "v2.4.10",
- "GD" : "1.20"
- }
- }
- }
- },
- "oracle" : {
- "description" : "Oracle database support",
- "prereqs" : {
- "runtime" : {
- "requires" : {
- "DBD::Oracle" : "1.19"
- }
- }
- }
- },
- "patch_viewer" : {
- "description" : "Patch Viewer",
- "prereqs" : {
- "runtime" : {
- "requires" : {
- "PatchReader" : "v0.9.6"
- }
- }
- }
- },
- "pg" : {
- "description" : "Postgres database support",
- "prereqs" : {
- "runtime" : {
- "requires" : {
- "DBD::Pg" : "v2.19.3"
- }
- }
- }
- },
- "rest" : {
- "description" : "REST Interface",
- "prereqs" : {
- "runtime" : {
- "requires" : {
- "JSON::RPC" : "0",
- "Test::Taint" : "1.06"
- }
- }
- }
- },
- "smtp_auth" : {
- "description" : "SMTP Authentication",
- "prereqs" : {
- "runtime" : {
- "requires" : {
- "Authen::SASL" : "0"
- }
- }
- }
- },
- "sqlite" : {
- "description" : "SQLite database support",
- "prereqs" : {
- "runtime" : {
- "requires" : {
- "DBD::SQLite" : "1.29"
- }
- }
- }
- },
- "typesniffer" : {
- "description" : "Sniff MIME type of attachments",
- "prereqs" : {
- "runtime" : {
- "requires" : {
- "File::MimeInfo::Magic" : "0",
- "IO::Scalar" : "0"
- }
- }
- }
- },
- "updates" : {
- "description" : "Automatic Update Notifications",
- "prereqs" : {
- "runtime" : {
- "requires" : {
- "LWP::UserAgent" : "0",
- "XML::Twig" : "0"
- }
- }
- }
- },
- "xmlrpc" : {
- "description" : "XML-RPC Interface",
- "prereqs" : {
- "runtime" : {
- "requires" : {
- "SOAP::Lite" : "0.712",
- "Test::Taint" : "1.06",
- "XMLRPC::Lite" : "0.712"
- }
- }
- }
- }
- },
- "prereqs" : {
- "build" : {
- "requires" : {
- "ExtUtils::MakeMaker" : "6.57_07"
- }
- },
- "configure" : {
- "requires" : {
- "ExtUtils::MakeMaker" : "6.57_07"
- }
- },
- "runtime" : {
- "recommends" : {
- "Safe" : "2.30"
- },
- "requires" : {
- "CGI" : "3.51",
- "CPAN::Meta::Prereqs" : "2.132830",
- "CPAN::Meta::Requirements" : "2.121",
- "Crypt::CBC" : "0",
- "Crypt::DES" : "0",
- "Crypt::DES_EDE3" : "0",
- "Crypt::OpenPGP" : "1.02",
- "Crypt::SMIME" : "0",
- "DBI" : "1.614",
- "Daemon::Generic" : "0",
- "Date::Format" : "2.23",
- "DateTime" : "0.75",
- "DateTime::TimeZone" : "1.64",
- "Digest::SHA" : "0",
- "Email::Address" : "0",
- "Email::MIME" : "1.904",
- "Email::Send" : "1.911",
- "File::MimeInfo::Magic" : "0",
- "File::Slurp" : "9999.13",
- "HTML::Tree" : "0",
- "IO::Compress::Gzip" : "0",
- "IO::Scalar" : "0",
- "JSON" : "0",
- "JSON::XS" : "2.0",
- "LWP" : "5.835",
- "LWP::UserAgent" : "0",
- "List::MoreUtils" : "0.22",
- "Math::Random::ISAAC" : "v1.0.1",
- "Module::Metadata" : "1.000033",
- "Module::Runtime" : "0",
- "Parse::CPAN::Meta" : "1.44",
- "Regexp::Common" : "0",
- "Sys::Syslog" : "0",
- "Template" : "2.24",
- "Text::Diff" : "0",
- "Tie::IxHash" : "0",
- "URI" : "1.55",
- "perl" : "5.010001",
- "version" : "0.87"
- }
- },
- "test" : {
- "requires" : {
- "Pod::Coverage" : "0",
- "Test::More" : "0",
- "Test::WWW::Selenium" : "0"
- }
- }
- },
- "release_status" : "stable",
- "version" : "42"
-}
diff --git a/META.yml b/META.yml
deleted file mode 100644
index 06a572ca8..000000000
--- a/META.yml
+++ /dev/null
@@ -1,231 +0,0 @@
----
-abstract: 'Bugzilla Bug Tracking System'
-author:
- - 'Bugzilla Developers <developers@bugzilla.org>'
-build_requires:
- ExtUtils::MakeMaker: 6.57_07
- Pod::Coverage: '0'
- Test::More: '0'
- Test::WWW::Selenium: '0'
-configure_requires:
- ExtUtils::MakeMaker: 6.57_07
-dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 7.22, CPAN::Meta::Converter version 2.143240'
-license: unknown
-meta-spec:
- url: http://module-build.sourceforge.net/META-spec-v1.4.html
- version: '1.4'
-name: Bugzilla
-no_index:
- directory:
- - t
- - inc
-optional_features:
- auth_delegation:
- description: 'Auth Delegation'
- requires:
- LWP::UserAgent: '0'
- auth_ldap:
- description: 'LDAP Authentication'
- requires:
- Net::LDAP: '0'
- auth_radius:
- description: 'RADIUS Authentication'
- requires:
- Authen::Radius: '0'
- bmo:
- description: 'features that bmo needs'
- requires:
- Auth::GoogleAuth: '1.01'
- Cache::Memcached: '0.17'
- Chart::Lines: v2.4.10
- DBD::mysql: '4.001'
- Daemon::Generic: '0'
- Email::MIME::Attachment::Stripper: '0'
- Email::Reply: '0'
- Encode: '2.21'
- Encode::Detect: '0'
- File::Copy::Recursive: '0'
- File::MimeInfo::Magic: '0'
- File::Which: '0'
- GD: '1.20'
- GD::Barcode::QRcode: '0'
- GD::Graph: '0'
- GD::Text: '0'
- HTML::Parser: '3.67'
- HTML::Scrubber: '0'
- IO::Scalar: '0'
- JSON::RPC: '0'
- LWP::UserAgent: '0'
- MIME::Parser: '5.406'
- Mozilla::CA: '0'
- Net::SFTP: '0'
- PatchReader: v0.9.6
- SOAP::Lite: '0.712'
- Template::Plugin::GD::Image: '0'
- Test::Taint: '1.06'
- TheSchwartz: '1.10'
- XML::Simple: '0'
- XML::Twig: '0'
- XMLRPC::Lite: '0.712'
- detect_charset:
- description: 'Automatic charset detection for text attachments'
- requires:
- Encode: '2.21'
- Encode::Detect: '0'
- documentation:
- description: Documentation
- requires:
- File::Copy::Recursive: '0'
- File::Which: '0'
- extension_bitly_optional:
- requires:
- Mozilla::CA: '0'
- extension_push_optional:
- requires:
- Net::SFTP: '0'
- XML::Simple: '0'
- graphical_reports:
- description: 'Graphical Reports'
- requires:
- GD: '1.20'
- GD::Graph: '0'
- GD::Text: '0'
- Template::Plugin::GD::Image: '0'
- html_desc:
- description: 'More HTML in Product/Group Descriptions'
- requires:
- HTML::Parser: '3.67'
- HTML::Scrubber: '0'
- inbound_email:
- description: 'Inbound Email'
- requires:
- Email::MIME::Attachment::Stripper: '0'
- Email::Reply: '0'
- jobqueue:
- description: 'Mail Queueing'
- requires:
- Daemon::Generic: '0'
- TheSchwartz: '1.10'
- jsonrpc:
- description: 'JSON-RPC Interface'
- requires:
- JSON::RPC: '0'
- Test::Taint: '1.06'
- memcached:
- description: 'Memcached Support'
- requires:
- Cache::Memcached: '0.17'
- mfa:
- description: 'Multi-Factor Authentication'
- requires:
- Auth::GoogleAuth: '1.01'
- GD::Barcode::QRcode: '0'
- mod_perl:
- description: 'mod_perl support under Apache'
- requires:
- Apache2::SizeLimit: '0.96'
- mod_perl2: '1.999022'
- moving:
- description: 'Move Bugs Between Installations'
- requires:
- MIME::Parser: '5.406'
- XML::Twig: '0'
- mysql:
- description: 'MySQL database support'
- requires:
- DBD::mysql: '4.001'
- new_charts:
- description: 'New Charts'
- requires:
- Chart::Lines: v2.4.10
- GD: '1.20'
- old_charts:
- description: 'Old Charts'
- requires:
- Chart::Lines: v2.4.10
- GD: '1.20'
- oracle:
- description: 'Oracle database support'
- requires:
- DBD::Oracle: '1.19'
- patch_viewer:
- description: 'Patch Viewer'
- requires:
- PatchReader: v0.9.6
- pg:
- description: 'Postgres database support'
- requires:
- DBD::Pg: v2.19.3
- rest:
- description: 'REST Interface'
- requires:
- JSON::RPC: '0'
- Test::Taint: '1.06'
- smtp_auth:
- description: 'SMTP Authentication'
- requires:
- Authen::SASL: '0'
- sqlite:
- description: 'SQLite database support'
- requires:
- DBD::SQLite: '1.29'
- typesniffer:
- description: 'Sniff MIME type of attachments'
- requires:
- File::MimeInfo::Magic: '0'
- IO::Scalar: '0'
- updates:
- description: 'Automatic Update Notifications'
- requires:
- LWP::UserAgent: '0'
- XML::Twig: '0'
- xmlrpc:
- description: 'XML-RPC Interface'
- requires:
- SOAP::Lite: '0.712'
- Test::Taint: '1.06'
- XMLRPC::Lite: '0.712'
-recommends:
- Safe: '2.30'
-requires:
- CGI: '3.51'
- CPAN::Meta::Prereqs: '2.132830'
- CPAN::Meta::Requirements: '2.121'
- Crypt::CBC: '0'
- Crypt::DES: '0'
- Crypt::DES_EDE3: '0'
- Crypt::OpenPGP: '1.02'
- Crypt::SMIME: '0'
- DBI: '1.614'
- Daemon::Generic: '0'
- Date::Format: '2.23'
- DateTime: '0.75'
- DateTime::TimeZone: '1.64'
- Digest::SHA: '0'
- Email::Address: '0'
- Email::MIME: '1.904'
- Email::Send: '1.911'
- File::MimeInfo::Magic: '0'
- File::Slurp: '9999.13'
- HTML::Tree: '0'
- IO::Compress::Gzip: '0'
- IO::Scalar: '0'
- JSON: '0'
- JSON::XS: '2.0'
- LWP: '5.835'
- LWP::UserAgent: '0'
- List::MoreUtils: '0.22'
- Math::Random::ISAAC: v1.0.1
- Module::Metadata: '1.000033'
- Module::Runtime: '0'
- Parse::CPAN::Meta: '1.44'
- Regexp::Common: '0'
- Sys::Syslog: '0'
- Template: '2.24'
- Text::Diff: '0'
- Tie::IxHash: '0'
- URI: '1.55'
- perl: '5.010001'
- version: '0.87'
-version: '42'
diff --git a/Makefile.PL b/Makefile.PL
deleted file mode 100644
index 3d6857bc3..000000000
--- a/Makefile.PL
+++ /dev/null
@@ -1,387 +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.
-
-# This file has detailed POD docs, do "perldoc checksetup.pl" to see them.
-
-######################################################################
-# Initialization
-######################################################################
-
-use 5.10.1;
-use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5);
-
-use ExtUtils::MakeMaker 6.55;
-use constant BUGZILLA_VERSION => $ENV{BUGZILLA_VERSION} // 42;
-use File::Basename;
-use File::Spec;
-
-# META.json and META.yml exist only for the benefit of older
-# installs where cpanm can't get the optional features out of Makefile.PL
-# Unfortunately having META.json and META.yml commited to the repo is weird
-# and MakeMaker always prefers their content to the internal data (unless CPAN::META
-# is not installed).
-# Since we (Bugzilla) require this cludge, we hide the files from MakeMaker.
-BEGIN {
- warn "Hiding META.{json,yml} from MakeMaker...\n";
- rename( 'META.json', 'META.json.hide' ) || unlink("META.json");
- rename( 'META.yml', 'META.yml.hide' ) || unlink("META.yml");
-
- if (!eval { ExtUtils::MakeMaker->VERSION('6.57_07') }) {
- warn "WARNING: ExtUtils::MakeMaker should be at least 6.57_07 in order to support updating META.json files\n";
- }
-}
-
-END {
- warn "Unhiding META.{json,yml}...\n";
- rename( 'META.json.hide', 'META.json' );
- rename( 'META.yml.hide', 'META.yml' );
-}
-
-# PREREQ_PM
-my %requires = (
- 'CGI' => '3.51',
- 'DBI' => '1.614',
- 'Date::Format' => '2.23',
- 'DateTime' => '0.75',
- 'DateTime::TimeZone' => '1.64',
- 'Digest::SHA' => 0,
- 'Email::MIME' => '1.904',
- 'Email::Send' => '1.911',
- 'File::Slurp' => '9999.13',
- 'JSON::XS' => '2.01',
- 'List::MoreUtils' => '0.22',
- 'Math::Random::ISAAC' => '1.0.1',
- 'Template' => '2.24',
- 'URI' => '1.55',
- 'version' => '0.87',
- 'Parse::CPAN::Meta' => '1.44',
- 'CPAN::Meta::Prereqs' => '2.132830',
- 'CPAN::Meta::Requirements' => '2.121',
- 'Module::Metadata' => '1.000033',
- 'Module::Runtime' => 0,
-);
-my %build_requires = (
- 'ExtUtils::MakeMaker' => '6.57_07',
-);
-my %test_requires = (
- 'Test::More' => 0,
- 'Pod::Coverage' => 0,
- 'Test::WWW::Selenium' => 0.
-);
-my %recommends = ( Safe => '2.30' );
-
-# Windows requires some additional modules.
-if ( $^O eq 'MSWin32' ) {
- $requires{'Win32'} = '0.35';
- $requires{'Win32::API'} = '0.55';
- $requires{'DateTime::TimeZone::Local::Win32'} = '1.64';
-}
-
-my %optional_features = (
- smtp_auth => {
- prereqs => { runtime => { requires => { 'Authen::SASL' => 0 } } },
- description => 'SMTP Authentication'
- },
- detect_charset => {
- prereqs => {
- runtime =>
- { requires => { 'Encode::Detect' => 0, Encode => '2.21' } }
- },
- description => 'Automatic charset detection for text attachments'
- },
- new_charts => {
- description => 'New Charts',
- prereqs => {
- runtime =>
- { requires => { 'Chart::Lines' => 'v2.4.10', GD => '1.20' } }
- }
- },
- html_desc => {
- description => 'More HTML in Product/Group Descriptions',
- prereqs => {
- runtime => {
- requires =>
- { 'HTML::Parser' => '3.67', 'HTML::Scrubber' => 0 }
- }
- }
- },
- pg => {
- prereqs => { runtime => { requires => { 'DBD::Pg' => 'v2.19.3' } } },
- description => 'Postgres database support'
- },
- memcached => {
- description => 'Memcached Support',
- prereqs => {
- runtime => { requires => { 'Cache::Memcached' => '0.17' } }
- }
- },
- auth_delegation => {
- description => 'Auth Delegation',
- prereqs => { runtime => { requires => { 'LWP::UserAgent' => 0 } } }
- },
- updates => {
- description => 'Automatic Update Notifications',
- prereqs => {
- runtime =>
- { requires => { 'LWP::UserAgent' => 0, 'XML::Twig' => 0 } }
- }
- },
- auth_radius => {
- description => 'RADIUS Authentication',
- prereqs => { runtime => { requires => { 'Authen::Radius' => 0 } } }
- },
- documentation => {
- prereqs => {
- runtime => {
- requires =>
- { 'File::Which' => 0, 'File::Copy::Recursive' => 0 }
- }
- },
- description => 'Documentation',
- },
- xmlrpc => {
- description => 'XML-RPC Interface',
- prereqs => {
- runtime => {
- requires => {
- 'XMLRPC::Lite' => '0.712',
- 'SOAP::Lite' => '0.712',
- 'Test::Taint' => '1.06'
- }
- }
- }
- },
- auth_ldap => {
- prereqs => { runtime => { requires => { 'Net::LDAP' => 0 } } },
- description => 'LDAP Authentication'
- },
- old_charts => {
- prereqs => {
- runtime =>
- { requires => { GD => '1.20', 'Chart::Lines' => 'v2.4.10' } }
- },
- description => 'Old Charts'
- },
- moving => {
- prereqs => {
- runtime => {
- requires => { 'MIME::Parser' => '5.406', 'XML::Twig' => 0 }
- }
- },
- description => 'Move Bugs Between Installations'
- },
- oracle => {
- description => 'Oracle database support',
- prereqs => { runtime => { requires => { 'DBD::Oracle' => '1.19' } } }
- },
- typesniffer => {
- prereqs => {
- runtime => {
- requires =>
- { 'IO::Scalar' => 0, 'File::MimeInfo::Magic' => 0 }
- }
- },
- description => 'Sniff MIME type of attachments'
- },
- sqlite => {
- prereqs => { runtime => { requires => { 'DBD::SQLite' => '1.29' } } },
- description => 'SQLite database support'
- },
- mysql => {
- description => 'MySQL database support',
- prereqs => { runtime => { requires => { 'DBD::mysql' => '4.001' } } }
- },
- jsonrpc => {
- description => 'JSON-RPC Interface',
- prereqs => {
- runtime =>
- { requires => { 'JSON::RPC' => 0, 'Test::Taint' => '1.06' } }
- }
- },
- graphical_reports => {
- description => 'Graphical Reports',
- prereqs => {
- runtime => {
- requires => {
- 'GD::Text' => 0,
- 'Template::Plugin::GD::Image' => 0,
- 'GD::Graph' => 0,
- GD => '1.20',
- }
- }
- }
- },
- mfa => {
- description => 'Multi-Factor Authentication',
- prereqs => {
- runtime => {
- requires => {
- 'Auth::GoogleAuth' => '1.01',
- 'GD::Barcode::QRcode' => '0',
- },
- }
- },
- },
- mod_perl => {
- description => 'mod_perl support under Apache',
- prereqs => {
- runtime => {
- requires => {
- 'mod_perl2' => '1.999022',
- 'Apache2::SizeLimit' => '0.96',
- }
- }
- }
- },
- inbound_email => {
- prereqs => {
- runtime => {
- requires => {
- 'Email::MIME::Attachment::Stripper' => 0,
- 'Email::Reply' => 0,
- }
- }
- },
- description => 'Inbound Email'
- },
- patch_viewer => {
- description => 'Patch Viewer',
- prereqs => { runtime => { requires => { PatchReader => '0.9.6' } } }
- },
- rest => {
- description => 'REST Interface',
- prereqs => {
- runtime => {
- requires => {
- 'Test::Taint' => '1.06',
- 'JSON::RPC' => 0,
- }
- }
- }
- },
- jobqueue => {
- description => 'Mail Queueing',
- prereqs => {
- runtime => {
- requires => { TheSchwartz => '1.10', 'Daemon::Generic' => 0 }
- }
- }
- },
-);
-
-for my $file ( glob("extensions/*/Config.pm") ) {
- my $dir = dirname($file);
- my $name = basename($dir);
-
- next if -f File::Spec->catfile( $dir, "disabled" );
- require $file;
- my $class = "Bugzilla::Extension::$name";
- if ( $class->can("REQUIRED_MODULES") ) {
- foreach my $required_module ( @{ $class->REQUIRED_MODULES() } ) {
- $requires{ $required_module->{module} }
- = $required_module->{version};
- }
- }
-
- if ( $class->can('OPTIONAL_MODULES') ) {
- my $default_feature = 'extension_' . lc($name) . '_optional';
- foreach my $mod ( @{ $class->OPTIONAL_MODULES } ) {
- my @features
- = $mod->{feature} ? @{ $mod->{feature} } : ($default_feature);
- foreach my $feature (@features) {
- $optional_features{$feature}{prereqs}{runtime}{requires}
- { $mod->{module} } = $mod->{version} // 0;
- }
- }
- }
-}
-
-# BMO Customization
-my @bmo_features = grep {
- !m{
- ^
- (?: pg
- | oracle
- | mod_perl
- | sqlite
- | auth_ldap
- | auth_radius
- | smtp_auth
- | updates)
- $
- }mxs;
-} keys %optional_features;
-
-$optional_features{bmo} = {
- description => 'features that bmo needs',
- prereqs => {
- runtime => {
- requires => {
- map { %{$optional_features{$_}{prereqs}{runtime}{requires}} } @bmo_features
- },
- },
- },
-};
-
-WriteMakefile(
- NAME => 'Bugzilla',
- AUTHOR => q{Bugzilla Developers <developers@bugzilla.org>},
- VERSION => BUGZILLA_VERSION,
- ABSTRACT => 'Bugzilla Bug Tracking System',
- LICENSE => 'Mozilla_2_0',
- MIN_PERL_VERSION => '5.10.1',
- CONFIGURE_REQUIRES => { 'ExtUtils::MakeMaker' => $build_requires{'ExtUtils::MakeMaker'} },
- PREREQ_PM => { %requires },
- BUILD_REQUIRES => { %build_requires },
- TEST_REQUIRES => { %test_requires },
- META_MERGE => {
- "meta-spec" => {
- url => "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
- version => "2"
- },
- dynamic_config => 1,
- prereqs => {
- build => { requires => { %build_requires } },
- runtime => { requires => { %requires }, recommends => { %recommends } },
- test => { requires => { %test_requires } },
- },
- optional_features => \%optional_features,
- },
-);
-
-sub MY::postamble {
- my $modules = join(' ',
- qw(
- CPAN::Meta
- CPAN::Meta::Requirements
- Parse::CPAN::Meta
- Module::Metadata
- )
- );
- return <<MAKE;
-GEN_CPANFILE_ARGS = -A -U mod_perl -U oracle
-cpanfile: MYMETA.json
-\t\$(PERLRUN) gen-cpanfile.pl \$(GEN_CPANFILE_ARGS)
-
-checksetup_lib: Makefile.PL
-\tcpanm -l .checksetup_lib $modules
-\t-rm -fr .checksetup_lib/man
-\t-rm -fr .checksetup_lib/lib/perl5/*/.meta
-\t-rm -fr .checksetup_lib/lib/perl5/Test
-\t-rm -fr .checksetup_lib/lib/perl5/ok.pm
-\t-find .checksetup_lib '(' -name '*.pod' -or -name .packlist ')' -print0 | xargs -0 rm -f
-
-META.json: Makefile.PL
-\tmake distmeta 2>&1 /dev/null; mv */META.json .
-
-META.yml: Makefile.PL
-\tmake distmeta 2>&1 /dev/null; mv */META.yml .
-MAKE
-}
diff --git a/admin.cgi b/admin.cgi
index d8fc0475d..83cc55d8b 100755
--- a/admin.cgi
+++ b/admin.cgi
@@ -1,16 +1,27 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Frédéric Buclin.
+# Portions created by Frédéric Buclin are Copyright (C) 2007
+# Frédéric Buclin. All Rights Reserved.
+#
+# Contributor(s): Frédéric Buclin <LpSolit@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/attachment.cgi b/attachment.cgi
index da808bd3f..7f6353bdd 100755
--- a/attachment.cgi
+++ b/attachment.cgi
@@ -1,16 +1,42 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Myk Melez <myk@mozilla.org>
+# Daniel Raichle <draichle@gmx.net>
+# Dave Miller <justdave@syndicomm.com>
+# Alexander J. Vincent <ajvincent@juno.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
+# Greg Hendricks <ghendricks@novell.com>
+# Frédéric Buclin <LpSolit@gmail.com>
+# Marc Schumann <wurblzap@gmail.com>
+# Byron Jones <bugzilla@glob.com.au>
+
+################################################################################
+# Script Initialization
+################################################################################
-use 5.10.1;
+# Make it harder for us to do dangerous things in Perl.
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::BugMail;
diff --git a/auth.cgi b/auth.cgi
index 86c1f656a..05ec79b5c 100755
--- a/auth.cgi
+++ b/auth.cgi
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -T
+#!/usr/bin/perl -wT
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.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 local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/buglist.cgi b/buglist.cgi
index 850d79d01..48c3ac57a 100755
--- a/buglist.cgi
+++ b/buglist.cgi
@@ -1,16 +1,38 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Dan Mosedale <dmose@mozilla.org>
+# Stephan Niemz <st.n@gmx.net>
+# Andreas Franke <afranke@mathweb.org>
+# Myk Melez <myk@mozilla.org>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
+
+################################################################################
+# Script Initialization
+################################################################################
-use 5.10.1;
+# Make it harder for us to do dangerous things in Perl.
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/chart.cgi b/chart.cgi
index 64c07c6c3..89fefbc3f 100755
--- a/chart.cgi
+++ b/chart.cgi
@@ -1,10 +1,26 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Gervase Markham <gerv@gerv.net>
+# Lance Larsh <lance.larsh@oracle.com>
+# Frédéric Buclin <LpSolit@gmail.com>
# Glossary:
# series: An individual, defined set of data plotted over time.
@@ -27,11 +43,8 @@
# Bonus:
# Offer subscription when you get a "series already exists" error?
-use 5.10.1;
use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/checksetup.pl b/checksetup.pl
index e5df8c5c8..9221abd4d 100755
--- a/checksetup.pl
+++ b/checksetup.pl
@@ -1,10 +1,40 @@
-#!/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/.
+#!/usr/bin/perl -w
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is mozilla.org code.
+#
+# The Initial Developer of the Original Code is Holger
+# Schurig. Portions created by Holger Schurig are
+# Copyright (C) 1999 Holger Schurig. All
+# Rights Reserved.
+#
+# Contributor(s): Holger Schurig <holgerschurig@nikocity.de>
+# Terry Weissman <terry@mozilla.org>
+# Dan Mosedale <dmose@mozilla.org>
+# Dave Miller <justdave@syndicomm.com>
+# Zach Lipton <zach@zachlipton.com>
+# Jacob Steenhagen <jake@bugzilla.org>
+# Bradley Baetz <bbaetz@student.usyd.edu.au>
+# Tobias Burnus <burnus@net-b.de>
+# Shane H. W. Travis <travis@sedsystems.ca>
+# Gervase Markham <gerv@gerv.net>
+# Erik Stambaugh <erik@dasbistro.com>
+# Dave Lawrence <dkl@redhat.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
+# Joel Peshkin <bugreport@peshkin.net>
+# Lance Larsh <lance.larsh@oracle.com>
+# A. Karl Kornel <karl@kornel.name>
+# Marc Schumann <wurblzap@gmail.com>
# This file has detailed POD docs, do "perldoc checksetup.pl" to see them.
@@ -12,23 +42,15 @@
# Initialization
######################################################################
-use 5.10.1;
use strict;
-use warnings;
-
+use 5.008001;
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
@@ -46,56 +68,34 @@ Bugzilla::Install::Util::no_checksetup_from_cgi() if $ENV{'SERVER_SOFTWARE'};
init_console();
my %switch;
-GetOptions(\%switch, 'help|h|?',
+GetOptions(\%switch, 'help|h|?', 'check-modules', 'cpanfile',
'no-templates|t', 'verbose|v|no-silent',
- 'cpanm:s', 'check-modules',
- 'make-admin=s', 'reset-password=s', 'version|V',
- 'no-permissions|p');
+ 'make-admin=s', 'reset-password=s', 'version|V');
# 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 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);
+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{'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.json is stored in the DB.
+# because some data required to populate data/params 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) unless $switch{'no-permissions'};
+fix_all_file_permissions(!$silent);
###########################################################################
# Check GraphViz setup
@@ -187,15 +187,7 @@ fix_all_file_permissions(!$silent) unless $switch{'no-permissions'};
# If we are using a local 'dot' binary, verify the specified binary exists
# and that the generated images are accessible.
-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'};
+check_graphviz(!$silent) if Bugzilla->params->{'webdotbase'};
###########################################################################
# Changes to the fielddefs --TABLE--
@@ -276,7 +268,7 @@ checksetup.pl - A do-it-all upgrade and installation script for Bugzilla.
=head1 SYNOPSIS
- ./checksetup.pl [--help|--version]
+ ./checksetup.pl [--help|--check-modules|--version]
./checksetup.pl [SCRIPT [--verbose]] [--no-templates|-t]
[--make-admin=user@domain.com]
[--reset-password=user@domain.com]
@@ -297,6 +289,16 @@ the L</"RUNNING CHECKSETUP NON-INTERACTIVELY"> section.
Display this help text
+=item B<--cpanfile>
+
+Outputs a cpanfile in the document root listing the current and optional
+modules with their respective versions. This file can be used by <cpanm>
+and other utilities used to install Perl dependencies.
+
+=item B<--check-modules>
+
+Only check for correct module dependencies and quit afterward.
+
=item B<--make-admin>=username@domain.com
Makes the specified user into a Bugzilla administrator. This is
@@ -323,12 +325,6 @@ 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
@@ -413,7 +409,7 @@ L<Bugzilla::Install::Filesystem/create_htaccess>.
=item 9
-Updates the system parameters (stored in F<data/params.json>), using
+Updates the system parameters (stored in F<data/params>), using
L<Bugzilla::Config/update_params>.
=item 10
@@ -506,6 +502,8 @@ The format of that file is as follows:
$answer{'ADMIN_PASSWORD'} = 'fooey';
$answer{'ADMIN_REALNAME'} = 'Joel Peshkin';
+ $answer{'SMTP_SERVER'} = 'mail.mydomain.net';
+
$answer{'NO_PAUSE'} = 1
C<NO_PAUSE> means "never stop and prompt the user to hit Enter to continue,
@@ -545,3 +543,4 @@ L<Bugzilla::Config/update_params>
L<Bugzilla::DB/CONNECTION>
=back
+
diff --git a/clean-bug-user-last-visit.pl b/clean-bug-user-last-visit.pl
index 810fe598c..9884b7c48 100755
--- a/clean-bug-user-last-visit.pl
+++ b/clean-bug-user-last-visit.pl
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!/usr/bin/perl -wT
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.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 local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/colchange.cgi b/colchange.cgi
index 2d0a7ba1e..844f7615c 100755
--- a/colchange.cgi
+++ b/colchange.cgi
@@ -1,16 +1,30 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Gervase Markham <gerv@gerv.net>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
+# Pascal Held <paheld@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/collectstats.pl b/collectstats.pl
index 396f7ff6e..267685117 100755
--- a/collectstats.pl
+++ b/collectstats.pl
@@ -1,16 +1,32 @@
-#!/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/.
+#!/usr/bin/perl -w
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>,
+# Harrison Page <harrison@netscape.com>
+# Gervase Markham <gerv@gerv.net>
+# Richard Walters <rwalters@qualcomm.com>
+# Jean-Sebastien Guay <jean_seb@hybride.com>
+# Frédéric Buclin <LpSolit@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Getopt::Long qw(:config bundling);
use Pod::Usage;
diff --git a/config.cgi b/config.cgi
index 5f29025cd..fcc5d82ed 100755
--- a/config.cgi
+++ b/config.cgi
@@ -1,16 +1,35 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Myk Melez <myk@mozilla.org>
+# Frank Becker <Frank@Frank-Becker.de>
+
+################################################################################
+# Script Initialization
+################################################################################
-use 5.10.1;
+# Make it harder for us to do dangerous things in Perl.
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/contrib/clear-memcached.pl b/contrib/clear-memcached.pl
index 31fe3bb00..01202ce7c 100755
--- a/contrib/clear-memcached.pl
+++ b/contrib/clear-memcached.pl
@@ -10,8 +10,9 @@
use strict;
use warnings;
-use FindBin;
-use lib "$FindBin::Bin/..", "$FindBin::Bin/../lib", "$FindBin::Bin/../local/lib/perl5";
+use FindBin qw($Bin);
+use lib "$Bin/..";
+use lib "$Bin/../lib";
use Bugzilla;
use Bugzilla::Constants;
diff --git a/contrib/clear-templates.pl b/contrib/clear-templates.pl
index ba89cb6d5..8b0864d46 100755
--- a/contrib/clear-templates.pl
+++ b/contrib/clear-templates.pl
@@ -9,8 +9,7 @@
use strict;
use warnings;
-use FindBin;
-use lib "$FindBin::Bin/..", "$FindBin::Bin/../lib", "$FindBin::Bin/../local/lib/perl5";
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/contrib/fixperms.pl b/contrib/fixperms.pl
index 3246fc06b..406c149cb 100755
--- a/contrib/fixperms.pl
+++ b/contrib/fixperms.pl
@@ -21,8 +21,7 @@
use strict;
use warnings;
-use FindBin;
-use lib "$FindBin::Bin/..", "$FindBin::Bin/../lib", "$FindBin::Bin/../local/lib/perl5";
+use lib qw(. lib);
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 f0d18f509..768053126 100755
--- a/contrib/nagios_blocker_checker.pl
+++ b/contrib/nagios_blocker_checker.pl
@@ -10,9 +10,9 @@
use strict;
use warnings;
-use FindBin;
-use lib "$FindBin::Bin/..", "$FindBin::Bin/../lib", "$FindBin::Bin/../local/lib/perl5";
-
+use FindBin qw($Bin);
+use lib "$Bin/..";
+use lib "$Bin/../lib";
use Bugzilla;
use Bugzilla::Constants;
diff --git a/cpanfile b/cpanfile
deleted file mode 100644
index 51867bd59..000000000
--- a/cpanfile
+++ /dev/null
@@ -1,87 +0,0 @@
-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
deleted file mode 100644
index 9ab261353..000000000
--- a/cpanfile.snapshot
+++ /dev/null
@@ -1,4614 +0,0 @@
-# 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 c545d9ced..acc63e891 100755
--- a/createaccount.cgi
+++ b/createaccount.cgi
@@ -1,16 +1,32 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# David Gardiner <david.gardiner@unisa.edu.au>
+# Joe Robins <jmrobins@tgix.com>
+# Christopher Aillon <christopher@aillon.com>
+# Gervase Markham <gerv@gerv.net>
-use 5.10.1;
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/describecomponents.cgi b/describecomponents.cgi
index 86f652fcc..ed1f2388c 100755
--- a/describecomponents.cgi
+++ b/describecomponents.cgi
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -T
+#!/usr/bin/perl -wT
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
@@ -22,10 +22,8 @@
# Bradley Baetz <bbaetz@student.usyd.edu.au>
# Frédéric Buclin <LpSolit@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/describekeywords.cgi b/describekeywords.cgi
index f48b88b7f..3850125cc 100755
--- a/describekeywords.cgi
+++ b/describekeywords.cgi
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -T
+#!/usr/bin/perl -wT
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
@@ -21,10 +21,8 @@
# Contributor(s): Terry Weissman <terry@mozilla.org>
# Contributor(s): Gervase Markham <gerv@gerv.net>
-use 5.10.1;
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Error;
diff --git a/docs/makedocs.pl b/docs/makedocs.pl
index 73bd6ce86..6f353dc6d 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 ../local/lib/perl5);
+use lib qw(.. ../lib lib);
use Cwd;
use File::Copy::Recursive qw(rcopy);
diff --git a/duplicates.cgi b/duplicates.cgi
index a56e27473..798599ed0 100755
--- a/duplicates.cgi
+++ b/duplicates.cgi
@@ -1,16 +1,29 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s):
+# Gervase Markham <gerv@gerv.net>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
-use 5.10.1;
use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/editclassifications.cgi b/editclassifications.cgi
index 2bcf74298..3ab89f120 100755
--- a/editclassifications.cgi
+++ b/editclassifications.cgi
@@ -1,17 +1,27 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil; cperl-indent-level: 4 -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Albert Ting
+#
+# Contributor(s): Albert Ting <alt@sonic.net>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
+# Frédéric Buclin <LpSolit@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/editcomponents.cgi b/editcomponents.cgi
index 9f59cda8f..7da22211b 100755
--- a/editcomponents.cgi
+++ b/editcomponents.cgi
@@ -1,16 +1,30 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is mozilla.org code.
+#
+# The Initial Developer of the Original Code is Holger
+# Schurig. Portions created by Holger Schurig are
+# Copyright (C) 1999 Holger Schurig. All
+# Rights Reserved.
+#
+# Contributor(s): Holger Schurig <holgerschurig@nikocity.de>
+# Terry Weissman <terry@mozilla.org>
+# Frédéric Buclin <LpSolit@gmail.com>
+# Akamai Technologies <bugzilla-dev@akamai.com>
-use 5.10.1;
use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/editfields.cgi b/editfields.cgi
index 1c417ab1c..cdf1008f7 100755
--- a/editfields.cgi
+++ b/editfields.cgi
@@ -1,16 +1,22 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Frédéric Buclin <LpSolit@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/editflagtypes.cgi b/editflagtypes.cgi
index a6eebe433..d28188ad7 100755
--- a/editflagtypes.cgi
+++ b/editflagtypes.cgi
@@ -1,17 +1,35 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Myk Melez <myk@mozilla.org>
+# Frédéric Buclin <LpSolit@gmail.com>
-use 5.10.1;
-use strict;
-use warnings;
+################################################################################
+# Script Initialization
+################################################################################
-use lib qw(. lib local/lib/perl5);
+# Make it harder for us to do dangerous things in Perl.
+use strict;
+use lib qw(. lib);
+# 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 23e880de9..68590457e 100755
--- a/editgroups.cgi
+++ b/editgroups.cgi
@@ -1,16 +1,31 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Dave Miller <justdave@syndicomm.com>
+# Joel Peshkin <bugreport@peshkin.net>
+# Jacob Steenhagen <jake@bugzilla.org>
+# Vlad Dascalu <jocuri@softhome.net>
+# Frédéric Buclin <LpSolit@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/editkeywords.cgi b/editkeywords.cgi
index 906954be4..2f0cd563b 100755
--- a/editkeywords.cgi
+++ b/editkeywords.cgi
@@ -1,16 +1,27 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Terry Weissman.
+# Portions created by Terry Weissman are
+# Copyright (C) 2000 Terry Weissman. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
-use 5.10.1;
use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/editmilestones.cgi b/editmilestones.cgi
index 41df2b494..ca1c4368e 100755
--- a/editmilestones.cgi
+++ b/editmilestones.cgi
@@ -1,16 +1,26 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Initial Developer of the Original Code is Matt Masson.
+# Portions created by Matt Masson are Copyright (C) 2000 Matt Masson.
+# All Rights Reserved.
+#
+# Contributors : Matt Masson <matthew@zeroknowledge.com>
+# Gavin Shelley <bugzilla@chimpychompy.org>
+# Frédéric Buclin <LpSolit@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/editparams.cgi b/editparams.cgi
index d3b48b93c..0731e5ee3 100755
--- a/editparams.cgi
+++ b/editparams.cgi
@@ -1,16 +1,29 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# J. Paul Reed <preed@sigkill.com>
+# Frédéric Buclin <LpSolit@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/editproducts.cgi b/editproducts.cgi
index e0868ad08..6d5c5e593 100755
--- a/editproducts.cgi
+++ b/editproducts.cgi
@@ -1,16 +1,35 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is mozilla.org code.
+#
+# The Initial Developer of the Original Code is Holger
+# Schurig. Portions created by Holger Schurig are
+# Copyright (C) 1999 Holger Schurig. All
+# Rights Reserved.
+#
+# Contributor(s): Holger Schurig <holgerschurig@nikocity.de>
+# Terry Weissman <terry@mozilla.org>
+# Dawn Endico <endico@mozilla.org>
+# Joe Robins <jmrobins@tgix.com>
+# Gavin Shelley <bugzilla@chimpychompy.org>
+# Frédéric Buclin <LpSolit@gmail.com>
+# Greg Hendricks <ghendricks@novell.com>
+# Lance Larsh <lance.larsh@oracle.com>
+# Elliotte Martin <elliotte.martin@yahoo.com>
-use 5.10.1;
use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/editsettings.cgi b/editsettings.cgi
index ef419c7e3..981495893 100755
--- a/editsettings.cgi
+++ b/editsettings.cgi
@@ -1,16 +1,23 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Shane H. W. Travis <travis@sedsystems.ca>
+# Frédéric Buclin <LpSolit@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/editusers.cgi b/editusers.cgi
index efe6a27e3..318b858e5 100755
--- a/editusers.cgi
+++ b/editusers.cgi
@@ -1,16 +1,27 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Marc Schumann <wurblzap@gmail.com>
+# Lance Larsh <lance.larsh@oracle.com>
+# Frédéric Buclin <LpSolit@gmail.com>
+# David Lawrence <dkl@redhat.com>
+# Vlad Dascalu <jocuri@softhome.net>
+# Gavin Shelley <bugzilla@chimpychompy.org>
-use 5.10.1;
use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/editvalues.cgi b/editvalues.cgi
index 4511604da..53ea78512 100755
--- a/editvalues.cgi
+++ b/editvalues.cgi
@@ -1,16 +1,25 @@
-#!/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/.
+#!/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/
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
+# Frédéric Buclin <LpSolit@gmail.com>
-use 5.10.1;
-use strict;
-use warnings;
+# 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.
-use lib qw(. lib local/lib/perl5);
+use strict;
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Util;
diff --git a/editversions.cgi b/editversions.cgi
index ddfc5418e..165a174b5 100755
--- a/editversions.cgi
+++ b/editversions.cgi
@@ -1,16 +1,30 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is mozilla.org code.
+#
+# The Initial Developer of the Original Code is Holger
+# Schurig. Portions created by Holger Schurig are
+# Copyright (C) 1999 Holger Schurig. All
+# Rights Reserved.
+#
+# Contributor(s): Holger Schurig <holgerschurig@nikocity.de>
+# Terry Weissman <terry@mozilla.org>
+# Gavin Shelley <bugzilla@chimpychompy.org>
+# Frédéric Buclin <LpSolit@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/editwhines.cgi b/editwhines.cgi
index 23611cd79..04e2b548f 100755
--- a/editwhines.cgi
+++ b/editwhines.cgi
@@ -1,20 +1,33 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
+#
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Erik Stambaugh <erik@dasbistro.com>
#
-# 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 local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/editworkflow.cgi b/editworkflow.cgi
index eef7a9f62..321f077fe 100755
--- a/editworkflow.cgi
+++ b/editworkflow.cgi
@@ -1,16 +1,27 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Frédéric Buclin.
+# Portions created by Frédéric Buclin are Copyright (C) 2007
+# Frédéric Buclin. All Rights Reserved.
+#
+# Contributor(s): Frédéric Buclin <LpSolit@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/email_in.pl b/email_in.pl
index 0e61bf8f1..34e57c90c 100755
--- a/email_in.pl
+++ b/email_in.pl
@@ -1,23 +1,27 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Inbound Email System.
+#
+# The Initial Developer of the Original Code is Akamai Technologies, Inc.
+# Portions created by Akamai are Copyright (C) 2006 Akamai Technologies,
+# Inc. All Rights Reserved.
+#
+# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
-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);
@@ -28,6 +32,8 @@ 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 4d29ca040..afaffd752 100755
--- a/enter_bug.cgi
+++ b/enter_bug.cgi
@@ -1,10 +1,28 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are Copyright (C) 1998
+# Netscape Communications Corporation. All Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Dave Miller <justdave@syndicomm.com>
+# Joe Robins <jmrobins@tgix.com>
+# Gervase Markham <gerv@gerv.net>
+# Shane H. W. Travis <travis@sedsystems.ca>
+# Nitish Bezzala <nbezzala@yahoo.com>
##############################################################################
#
@@ -16,11 +34,9 @@
#
##############################################################################
-use 5.10.1;
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/extensions/AntiSpam/Config.pm b/extensions/AntiSpam/Config.pm
index e16add9b7..92c32f629 100644
--- a/extensions/AntiSpam/Config.pm
+++ b/extensions/AntiSpam/Config.pm
@@ -6,10 +6,7 @@
# 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 19eddb4e7..2abba291d 100644
--- a/extensions/AntiSpam/Extension.pm
+++ b/extensions/AntiSpam/Extension.pm
@@ -7,7 +7,6 @@
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 b6d1234d9..754907d22 100644
--- a/extensions/AntiSpam/lib/Config.pm
+++ b/extensions/AntiSpam/lib/Config.pm
@@ -7,7 +7,6 @@
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 153af24cb..93445f576 100644
--- a/extensions/BMO/Config.pm
+++ b/extensions/BMO/Config.pm
@@ -20,10 +20,7 @@
# Gervase Markham <gerv@gerv.net>
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 ac0acd72d..5b87d2e8b 100644
--- a/extensions/BMO/Extension.pm
+++ b/extensions/BMO/Extension.pm
@@ -22,11 +22,7 @@
# Byron Jones <glob@mozilla.com>
package Bugzilla::Extension::BMO;
-
-use 5.10.1;
use strict;
-use warnings;
-
use base qw(Bugzilla::Extension);
use Bugzilla::BugMail;
diff --git a/extensions/BMO/bin/bug_1022707.pl b/extensions/BMO/bin/bug_1022707.pl
index b0a49aa65..c27757220 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/../../..", "$RealBin/../../../lib", "$RealBin/../../../local/lib/perl5");
+use lib "$RealBin/../../..";
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 a784e63a3..55d68b9be 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/../../..", "$RealBin/../../../lib", "$RealBin/../../../local/lib/perl5");
+use lib "$RealBin/../../..";
use Bugzilla;
use Bugzilla::Component;
diff --git a/extensions/BMO/bin/bug_1141452.pl b/extensions/BMO/bin/bug_1141452.pl
index d2d260d7b..0d9b891ea 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/../../..", "$RealBin/../../../lib", "$RealBin/../../../local/lib/perl5");
+use lib "$RealBin/../../..";
BEGIN {
use Bugzilla;
diff --git a/extensions/BMO/bin/migrate-github-pull-requests.pl b/extensions/BMO/bin/migrate-github-pull-requests.pl
index 11bf8c55f..1d84352a2 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/../../..", "$RealBin/../../../lib", "$RealBin/../../../local/lib/perl5");
+use lib "$RealBin/../../..";
use Bugzilla;
BEGIN { Bugzilla->extensions() }
diff --git a/extensions/BMO/lib/Constants.pm b/extensions/BMO/lib/Constants.pm
index 3670cb9a2..c77e14f7b 100644
--- a/extensions/BMO/lib/Constants.pm
+++ b/extensions/BMO/lib/Constants.pm
@@ -6,11 +6,7 @@
# 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 d4c2e3012..b074cb64a 100644
--- a/extensions/BMO/lib/Data.pm
+++ b/extensions/BMO/lib/Data.pm
@@ -6,10 +6,7 @@
# 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 f84835ddd..6127cb560 100644
--- a/extensions/BMO/lib/FakeBug.pm
+++ b/extensions/BMO/lib/FakeBug.pm
@@ -3,9 +3,7 @@ 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 ce7df767c..a4816f914 100644
--- a/extensions/BMO/lib/Reports/Groups.pm
+++ b/extensions/BMO/lib/Reports/Groups.pm
@@ -6,8 +6,6 @@
# 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 2dfa583a6..cad403d09 100644
--- a/extensions/BMO/lib/Reports/Internship.pm
+++ b/extensions/BMO/lib/Reports/Internship.pm
@@ -6,8 +6,6 @@
# 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 e7ccda171..2324e725a 100644
--- a/extensions/BMO/lib/Reports/ProductSecurity.pm
+++ b/extensions/BMO/lib/Reports/ProductSecurity.pm
@@ -6,8 +6,6 @@
# 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 39eb8327d..bd988d9b1 100644
--- a/extensions/BMO/lib/Reports/Recruiting.pm
+++ b/extensions/BMO/lib/Reports/Recruiting.pm
@@ -6,8 +6,6 @@
# 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 b6c7c4520..8894a5169 100644
--- a/extensions/BMO/lib/Reports/ReleaseTracking.pm
+++ b/extensions/BMO/lib/Reports/ReleaseTracking.pm
@@ -6,8 +6,6 @@
# 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 e9a987b54..debb50577 100644
--- a/extensions/BMO/lib/Reports/Triage.pm
+++ b/extensions/BMO/lib/Reports/Triage.pm
@@ -6,10 +6,7 @@
# 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 8dfe0c5cd..0a8e79e1f 100644
--- a/extensions/BMO/lib/Reports/UserActivity.pm
+++ b/extensions/BMO/lib/Reports/UserActivity.pm
@@ -6,8 +6,6 @@
# 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 dc9c904f9..df781b9d2 100644
--- a/extensions/BMO/lib/Util.pm
+++ b/extensions/BMO/lib/Util.pm
@@ -6,8 +6,6 @@
# 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 6ee7cfa6e..87d45085e 100644
--- a/extensions/BMO/lib/WebService.pm
+++ b/extensions/BMO/lib/WebService.pm
@@ -19,7 +19,6 @@
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 a07df0f1b..aff9d4b4b 100644
--- a/extensions/Bitly/Config.pm
+++ b/extensions/Bitly/Config.pm
@@ -6,21 +6,32 @@
# defined by the Mozilla Public License, v. 2.0.
package Bugzilla::Extension::Bitly;
-
-use 5.10.1;
use strict;
-use warnings;
+
+use Bugzilla::Install::Util qw(vers_cmp);
use constant NAME => 'Bitly';
sub REQUIRED_MODULES {
- return [
- {
- package => 'LWP',
- module => 'LWP',
- version => '5.835',
- },
- ];
+ 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;
}
use constant OPTIONAL_MODULES => [
@@ -31,6 +42,4 @@ 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 82f17bc2a..a368b20fe 100644
--- a/extensions/Bitly/Extension.pm
+++ b/extensions/Bitly/Extension.pm
@@ -6,8 +6,6 @@
# 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 b8ada56d2..b47accda6 100644
--- a/extensions/Bitly/lib/WebService.pm
+++ b/extensions/Bitly/lib/WebService.pm
@@ -7,7 +7,6 @@
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 25a864e6e..a60a99a7a 100644
--- a/extensions/BugModal/Config.pm
+++ b/extensions/BugModal/Config.pm
@@ -6,9 +6,7 @@
# 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 fb3a69cc7..01faf06d5 100644
--- a/extensions/BugModal/Extension.pm
+++ b/extensions/BugModal/Extension.pm
@@ -7,7 +7,6 @@
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 708c056d4..c9e053934 100644
--- a/extensions/BugModal/lib/ActivityStream.pm
+++ b/extensions/BugModal/lib/ActivityStream.pm
@@ -9,8 +9,6 @@ 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 88fce11af..61f945a87 100644
--- a/extensions/BugModal/lib/MonkeyPatches.pm
+++ b/extensions/BugModal/lib/MonkeyPatches.pm
@@ -9,8 +9,6 @@ package Bugzilla::Extension::BugModal::MonkeyPatches;
1;
package Bugzilla;
-
-use 5.10.1;
use strict;
use warnings;
@@ -24,8 +22,6 @@ sub treeherder_user {
}
package Bugzilla::Bug;
-
-use 5.10.1;
use strict;
use warnings;
@@ -41,8 +37,6 @@ sub active_attachments {
1;
package Bugzilla::User;
-
-use 5.10.1;
use strict;
use warnings;
@@ -66,8 +60,6 @@ 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 6a453159e..74311197a 100644
--- a/extensions/BugModal/lib/Util.pm
+++ b/extensions/BugModal/lib/Util.pm
@@ -6,8 +6,6 @@
# 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 338129e9b..7a05f263b 100644
--- a/extensions/BugModal/lib/WebService.pm
+++ b/extensions/BugModal/lib/WebService.pm
@@ -6,7 +6,6 @@
# 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 5948c3b64..9932afb40 100644
--- a/extensions/BugmailFilter/Config.pm
+++ b/extensions/BugmailFilter/Config.pm
@@ -6,10 +6,7 @@
# 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 d4d7bb790..dc38e8577 100644
--- a/extensions/BugmailFilter/Extension.pm
+++ b/extensions/BugmailFilter/Extension.pm
@@ -6,8 +6,6 @@
# 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 a6636dda7..20e5480d0 100644
--- a/extensions/BugmailFilter/lib/Constants.pm
+++ b/extensions/BugmailFilter/lib/Constants.pm
@@ -6,10 +6,7 @@
# 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 e9f8b1808..88e4ac1ca 100644
--- a/extensions/BugmailFilter/lib/FakeField.pm
+++ b/extensions/BugmailFilter/lib/FakeField.pm
@@ -7,7 +7,6 @@
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 7f2f4cb87..d59e19fb7 100644
--- a/extensions/BugmailFilter/lib/Filter.pm
+++ b/extensions/BugmailFilter/lib/Filter.pm
@@ -9,7 +9,6 @@ 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 bd463b4ba..89b8c1e02 100644
--- a/extensions/BzAPI/Config.pm
+++ b/extensions/BzAPI/Config.pm
@@ -7,9 +7,7 @@
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 bb9805134..f233b26e4 100644
--- a/extensions/BzAPI/Extension.pm
+++ b/extensions/BzAPI/Extension.pm
@@ -7,10 +7,7 @@
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 fb611aae6..65ae00480 100644
--- a/extensions/BzAPI/lib/Constants.pm
+++ b/extensions/BzAPI/lib/Constants.pm
@@ -7,9 +7,7 @@
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 f3ff41049..77b567421 100644
--- a/extensions/BzAPI/lib/Resources/Bug.pm
+++ b/extensions/BzAPI/lib/Resources/Bug.pm
@@ -9,7 +9,6 @@ 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 f39cd29f3..96b07297e 100644
--- a/extensions/BzAPI/lib/Resources/Bugzilla.pm
+++ b/extensions/BzAPI/lib/Resources/Bugzilla.pm
@@ -9,7 +9,6 @@ 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 550a61d28..7fbcdb871 100644
--- a/extensions/BzAPI/lib/Resources/User.pm
+++ b/extensions/BzAPI/lib/Resources/User.pm
@@ -9,7 +9,6 @@ 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 9760f4b5e..e783a1584 100644
--- a/extensions/BzAPI/lib/Util.pm
+++ b/extensions/BzAPI/lib/Util.pm
@@ -12,7 +12,6 @@
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 2014fbbfa..560b5c3c5 100644
--- a/extensions/ComponentWatching/Config.pm
+++ b/extensions/ComponentWatching/Config.pm
@@ -6,11 +6,7 @@
# 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 36dee0e1d..f79b68595 100644
--- a/extensions/ComponentWatching/Extension.pm
+++ b/extensions/ComponentWatching/Extension.pm
@@ -6,11 +6,7 @@
# 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 d48de3bc6..3984dd60e 100644
--- a/extensions/ContributorEngagement/Config.pm
+++ b/extensions/ContributorEngagement/Config.pm
@@ -6,10 +6,7 @@
# 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 949517ecf..def41b6ea 100644
--- a/extensions/ContributorEngagement/Extension.pm
+++ b/extensions/ContributorEngagement/Extension.pm
@@ -7,7 +7,6 @@
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 dd379adcd..0e08c02b8 100644
--- a/extensions/ContributorEngagement/lib/Constants.pm
+++ b/extensions/ContributorEngagement/lib/Constants.pm
@@ -7,9 +7,7 @@
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 b95647940..dae675001 100644
--- a/extensions/EditComments/Config.pm
+++ b/extensions/EditComments/Config.pm
@@ -9,10 +9,11 @@ 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 1dc22a85e..fef1b7693 100644
--- a/extensions/EditComments/Extension.pm
+++ b/extensions/EditComments/Extension.pm
@@ -9,7 +9,6 @@ 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 6969ca742..2621e5f4a 100644
--- a/extensions/EditComments/lib/WebService.pm
+++ b/extensions/EditComments/lib/WebService.pm
@@ -7,7 +7,6 @@
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 b9bd003b2..d601951a4 100644
--- a/extensions/EditTable/Config.pm
+++ b/extensions/EditTable/Config.pm
@@ -6,10 +6,7 @@
# 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 1eb0d82f9..d353513e1 100644
--- a/extensions/EditTable/Extension.pm
+++ b/extensions/EditTable/Extension.pm
@@ -16,7 +16,6 @@
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 5ceb98ec1..e3405146d 100644
--- a/extensions/Ember/Config.pm
+++ b/extensions/Ember/Config.pm
@@ -9,7 +9,6 @@ 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 8bb558c6f..1c8b8b4e9 100644
--- a/extensions/Ember/Extension.pm
+++ b/extensions/Ember/Extension.pm
@@ -9,8 +9,6 @@ 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 e7782ef6c..378db359d 100644
--- a/extensions/Example/Config.pm
+++ b/extensions/Example/Config.pm
@@ -1,16 +1,26 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Everything Solved, Inc.
+# Portions created by the Initial Developers are Copyright (C) 2009 the
+# Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+# Max Kanat-Alexander <mkanat@bugzilla.org>
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 a8cf8189f..4fd2d987f 100644
--- a/extensions/Example/Extension.pm
+++ b/extensions/Example/Extension.pm
@@ -1,14 +1,27 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Everything Solved, Inc.
+# Portions created by the Initial Developers are Copyright (C) 2009 the
+# Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+# Max Kanat-Alexander <mkanat@bugzilla.org>
+# Frédéric Buclin <LpSolit@gmail.com>
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 376fe21a8..9f4f37dc3 100644
--- a/extensions/Example/lib/Auth/Login.pm
+++ b/extensions/Example/lib/Auth/Login.pm
@@ -1,14 +1,25 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Example Plugin.
+#
+# The Initial Developer of the Original Code is Canonical Ltd.
+# Portions created by Canonical are Copyright (C) 2008 Canonical Ltd.
+# All Rights Reserved.
+#
+# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
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 cac6d1019..0141a0d6a 100644
--- a/extensions/Example/lib/Auth/Verify.pm
+++ b/extensions/Example/lib/Auth/Verify.pm
@@ -1,14 +1,25 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Example Plugin.
+#
+# The Initial Developer of the Original Code is Canonical Ltd.
+# Portions created by Canonical are Copyright (C) 2008 Canonical Ltd.
+# All Rights Reserved.
+#
+# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
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 fac0046af..75db22957 100644
--- a/extensions/Example/lib/Config.pm
+++ b/extensions/Example/lib/Config.pm
@@ -1,13 +1,25 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Example Plugin.
+#
+# The Initial Developer of the Original Code is Canonical Ltd.
+# Portions created by Canonical Ltd. are Copyright (C) 2008
+# Canonical Ltd. All Rights Reserved.
+#
+# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
+# Bradley Baetz <bbaetz@acm.org>
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 ccc349c9c..596f048e9 100644
--- a/extensions/Example/lib/Util.pm
+++ b/extensions/Example/lib/Util.pm
@@ -1,13 +1,24 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Everything Solved, Inc.
+# Portions created by Everything Solved, Inc. are Copyright (C) 2009
+# Everything Solved, Inc. All Rights Reserved.
+#
+# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
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 7b1940462..bb83436e3 100644
--- a/extensions/Example/lib/WebService.pm
+++ b/extensions/Example/lib/WebService.pm
@@ -1,13 +1,24 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Everything Solved, Inc.
+# Portions created by Everything Solved, Inc. are Copyright (C) 2007
+# Everything Solved, Inc. All Rights Reserved.
+#
+# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
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 dc4fb1353..70c5ca33a 100644
--- a/extensions/FlagDefaultRequestee/Config.pm
+++ b/extensions/FlagDefaultRequestee/Config.pm
@@ -7,9 +7,7 @@
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 f599feac2..958a1bb85 100644
--- a/extensions/FlagDefaultRequestee/Extension.pm
+++ b/extensions/FlagDefaultRequestee/Extension.pm
@@ -7,10 +7,7 @@
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 fd7298484..467028423 100644
--- a/extensions/FlagDefaultRequestee/lib/Constants.pm
+++ b/extensions/FlagDefaultRequestee/lib/Constants.pm
@@ -7,9 +7,7 @@
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 590ef4555..e20be10e3 100644
--- a/extensions/FlagTypeComment/Config.pm
+++ b/extensions/FlagTypeComment/Config.pm
@@ -19,10 +19,7 @@
# byron jones <glob@mozilla.com>
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 34cd4c460..8da6101ad 100644
--- a/extensions/FlagTypeComment/Extension.pm
+++ b/extensions/FlagTypeComment/Extension.pm
@@ -19,11 +19,7 @@
# byron jones <glob@mozilla.com>
package Bugzilla::Extension::FlagTypeComment;
-
-use 5.10.1;
use strict;
-use warnings;
-
use base qw(Bugzilla::Extension);
use Bugzilla::Extension::FlagTypeComment::Constants;
diff --git a/extensions/FlagTypeComment/lib/Constants.pm b/extensions/FlagTypeComment/lib/Constants.pm
index dcac4976a..e1a99e5b3 100644
--- a/extensions/FlagTypeComment/lib/Constants.pm
+++ b/extensions/FlagTypeComment/lib/Constants.pm
@@ -19,10 +19,7 @@
# byron jones <glob@mozilla.com>
package Bugzilla::Extension::FlagTypeComment::Constants;
-
-use 5.10.1;
use strict;
-use warnings;
use base qw(Exporter);
our @EXPORT = qw(
diff --git a/extensions/GitHubAuth/Config.pm b/extensions/GitHubAuth/Config.pm
index 1f64ee8a6..88186a91e 100644
--- a/extensions/GitHubAuth/Config.pm
+++ b/extensions/GitHubAuth/Config.pm
@@ -9,7 +9,6 @@ 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 24a7cf2f1..b813689cd 100644
--- a/extensions/GitHubAuth/Extension.pm
+++ b/extensions/GitHubAuth/Extension.pm
@@ -9,8 +9,6 @@ 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 46c070856..77c8a6c61 100644
--- a/extensions/GitHubAuth/lib/Client.pm
+++ b/extensions/GitHubAuth/lib/Client.pm
@@ -6,8 +6,6 @@
# 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 adb6ec07b..358df6938 100644
--- a/extensions/GitHubAuth/lib/Client/Error.pm
+++ b/extensions/GitHubAuth/lib/Client/Error.pm
@@ -7,7 +7,6 @@
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 0c8874129..0dc78531b 100644
--- a/extensions/GitHubAuth/lib/Config.pm
+++ b/extensions/GitHubAuth/lib/Config.pm
@@ -7,7 +7,6 @@
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 3f81467d0..f1effb4e1 100644
--- a/extensions/GitHubAuth/lib/Login.pm
+++ b/extensions/GitHubAuth/lib/Login.pm
@@ -6,11 +6,8 @@
# 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 f399af02e..ee66c8904 100644
--- a/extensions/GitHubAuth/lib/Verify.pm
+++ b/extensions/GitHubAuth/lib/Verify.pm
@@ -6,11 +6,8 @@
# 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 e0c684c9b..e15a41ee8 100644
--- a/extensions/Gravatar/Config.pm
+++ b/extensions/Gravatar/Config.pm
@@ -7,9 +7,7 @@
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 97cf23b00..06e98fb78 100644
--- a/extensions/Gravatar/Extension.pm
+++ b/extensions/Gravatar/Extension.pm
@@ -7,7 +7,6 @@
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 763dba85b..feff503e3 100644
--- a/extensions/Gravatar/lib/Data.pm
+++ b/extensions/Gravatar/lib/Data.pm
@@ -6,10 +6,7 @@
# 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 316fc6cdc..e4bc9c70b 100644
--- a/extensions/GuidedBugEntry/Config.pm
+++ b/extensions/GuidedBugEntry/Config.pm
@@ -6,10 +6,7 @@
# 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 2d58d506a..3f739d9fe 100644
--- a/extensions/GuidedBugEntry/Extension.pm
+++ b/extensions/GuidedBugEntry/Extension.pm
@@ -6,11 +6,7 @@
# 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 56197487b..3834bd81d 100644
--- a/extensions/InlineHistory/Config.pm
+++ b/extensions/InlineHistory/Config.pm
@@ -6,10 +6,7 @@
# 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 fb4a8f98f..d563bede8 100644
--- a/extensions/InlineHistory/Extension.pm
+++ b/extensions/InlineHistory/Extension.pm
@@ -6,11 +6,7 @@
# 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 8fd8f106f..f763167e2 100644
--- a/extensions/LastResolved/Config.pm
+++ b/extensions/LastResolved/Config.pm
@@ -7,9 +7,7 @@
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 0c3741b84..ad0519387 100644
--- a/extensions/LastResolved/Extension.pm
+++ b/extensions/LastResolved/Extension.pm
@@ -7,9 +7,7 @@
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 94b9b10eb..ea05f363c 100644
--- a/extensions/LimitedEmail/Config.pm
+++ b/extensions/LimitedEmail/Config.pm
@@ -7,10 +7,7 @@
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 9b504db91..35cc83567 100644
--- a/extensions/LimitedEmail/Extension.pm
+++ b/extensions/LimitedEmail/Extension.pm
@@ -6,11 +6,7 @@
# 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 1a5e14f3d..5a9d2b730 100644
--- a/extensions/MozProjectReview/Config.pm
+++ b/extensions/MozProjectReview/Config.pm
@@ -6,9 +6,7 @@
# 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 fcad6916c..7229f5d4d 100644
--- a/extensions/MozProjectReview/Extension.pm
+++ b/extensions/MozProjectReview/Extension.pm
@@ -6,9 +6,7 @@
# 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 34d98907c..44d8dd2ff 100644
--- a/extensions/MozReview/Config.pm
+++ b/extensions/MozReview/Config.pm
@@ -9,7 +9,6 @@ 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 f92c2a19b..a63966a62 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/../../..", "$RealBin/../../../lib", "$RealBin/../../../local/lib/perl5");
+use lib "$RealBin/../../..";
BEGIN {
use Bugzilla;
diff --git a/extensions/MozReview/lib/Config.pm b/extensions/MozReview/lib/Config.pm
index e0d6377d8..ab6b8c7c3 100644
--- a/extensions/MozReview/lib/Config.pm
+++ b/extensions/MozReview/lib/Config.pm
@@ -7,7 +7,6 @@
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 c6916d1fa..8f9d3215b 100644
--- a/extensions/MozReview/lib/WebService.pm
+++ b/extensions/MozReview/lib/WebService.pm
@@ -7,7 +7,6 @@
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 05f3ec416..7c14936ff 100644
--- a/extensions/MyDashboard/Config.pm
+++ b/extensions/MyDashboard/Config.pm
@@ -7,9 +7,7 @@
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 5278cfaa4..97b1d9d14 100644
--- a/extensions/MyDashboard/Extension.pm
+++ b/extensions/MyDashboard/Extension.pm
@@ -7,9 +7,7 @@
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 cf33900c5..4f14eb4fd 100644
--- a/extensions/MyDashboard/lib/BugInterest.pm
+++ b/extensions/MyDashboard/lib/BugInterest.pm
@@ -9,7 +9,6 @@ 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 d77be7da4..199e8eb46 100644
--- a/extensions/MyDashboard/lib/Queries.pm
+++ b/extensions/MyDashboard/lib/Queries.pm
@@ -7,9 +7,7 @@
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 77d9505cb..fa7cf83b0 100644
--- a/extensions/MyDashboard/lib/Util.pm
+++ b/extensions/MyDashboard/lib/Util.pm
@@ -7,9 +7,7 @@
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 7e5ce05cf..c93553146 100644
--- a/extensions/MyDashboard/lib/WebService.pm
+++ b/extensions/MyDashboard/lib/WebService.pm
@@ -6,7 +6,6 @@
# 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 d523d9d78..86c99ec59 100644
--- a/extensions/Needinfo/Config.pm
+++ b/extensions/Needinfo/Config.pm
@@ -5,10 +5,7 @@
# 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 cb897e72e..a85bad5c6 100644
--- a/extensions/Needinfo/Extension.pm
+++ b/extensions/Needinfo/Extension.pm
@@ -6,9 +6,7 @@
# 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 92d0a89bc..9204db234 100644
--- a/extensions/OpenGraph/Config.pm
+++ b/extensions/OpenGraph/Config.pm
@@ -7,9 +7,7 @@
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 18ee2c22f..f278a8958 100644
--- a/extensions/OpenGraph/Extension.pm
+++ b/extensions/OpenGraph/Extension.pm
@@ -7,11 +7,7 @@
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 18c6be1cd..9fb0d74ef 100644
--- a/extensions/OrangeFactor/Config.pm
+++ b/extensions/OrangeFactor/Config.pm
@@ -6,10 +6,7 @@
# 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 ab2f1d749..5e9698718 100644
--- a/extensions/OrangeFactor/Extension.pm
+++ b/extensions/OrangeFactor/Extension.pm
@@ -6,11 +6,7 @@
# 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 a839b38ab..8709655d1 100644
--- a/extensions/Persona/Config.pm
+++ b/extensions/Persona/Config.pm
@@ -6,10 +6,7 @@
# 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 61e222f53..2c8e46add 100644
--- a/extensions/Persona/Extension.pm
+++ b/extensions/Persona/Extension.pm
@@ -6,11 +6,7 @@
# 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 ae40fd94a..9c483cb51 100644
--- a/extensions/Persona/lib/Config.pm
+++ b/extensions/Persona/lib/Config.pm
@@ -7,7 +7,6 @@
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 b9ba97a7e..c2f8caf2b 100644
--- a/extensions/Persona/lib/Login.pm
+++ b/extensions/Persona/lib/Login.pm
@@ -6,11 +6,7 @@
# 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 9631de570..c28b6d8f6 100644
--- a/extensions/ProdCompSearch/Config.pm
+++ b/extensions/ProdCompSearch/Config.pm
@@ -6,10 +6,7 @@
# 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 ae507a7d6..a5955fd8b 100644
--- a/extensions/ProdCompSearch/Extension.pm
+++ b/extensions/ProdCompSearch/Extension.pm
@@ -6,11 +6,7 @@
# 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 b173137dd..521d1588f 100644
--- a/extensions/ProdCompSearch/lib/WebService.pm
+++ b/extensions/ProdCompSearch/lib/WebService.pm
@@ -7,7 +7,6 @@
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 88ccdc784..3a4654974 100644
--- a/extensions/ProductDashboard/Config.pm
+++ b/extensions/ProductDashboard/Config.pm
@@ -7,9 +7,7 @@
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 18157c1fe..cc80fa449 100644
--- a/extensions/ProductDashboard/Extension.pm
+++ b/extensions/ProductDashboard/Extension.pm
@@ -7,9 +7,7 @@
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 8c9d5bd92..ec27d3c6c 100644
--- a/extensions/ProductDashboard/lib/Queries.pm
+++ b/extensions/ProductDashboard/lib/Queries.pm
@@ -6,9 +6,7 @@
# 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 f02f033b2..5d9c161ef 100644
--- a/extensions/ProductDashboard/lib/Util.pm
+++ b/extensions/ProductDashboard/lib/Util.pm
@@ -6,9 +6,7 @@
# 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 311400d16..354325c58 100644
--- a/extensions/Profanivore/Config.pm
+++ b/extensions/Profanivore/Config.pm
@@ -20,10 +20,7 @@
# Gervase Markham <gerv@gerv.net>
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 76d30e982..49b2f61c3 100644
--- a/extensions/Profanivore/Extension.pm
+++ b/extensions/Profanivore/Extension.pm
@@ -20,11 +20,7 @@
# Gervase Markham <gerv@gerv.net>
package Bugzilla::Extension::Profanivore;
-
-use 5.10.1;
use strict;
-use warnings;
-
use base qw(Bugzilla::Extension);
use Email::MIME::ContentType qw(parse_content_type);
diff --git a/extensions/Push/Config.pm b/extensions/Push/Config.pm
index 860e31a23..11e3502fd 100644
--- a/extensions/Push/Config.pm
+++ b/extensions/Push/Config.pm
@@ -7,9 +7,7 @@
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 f682dea35..1d6ec5b62 100644
--- a/extensions/Push/Extension.pm
+++ b/extensions/Push/Extension.pm
@@ -7,7 +7,6 @@
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 8e92381f3..f048df157 100755
--- a/extensions/Push/bin/bugzilla-pushd.pl
+++ b/extensions/Push/bin/bugzilla-pushd.pl
@@ -10,8 +10,10 @@
use strict;
use warnings;
-use FindBin qw($RealBin);
-use lib ("$RealBin/../../..", "$RealBin/../../../lib", "$RealBin/../../../local/lib/perl5");
+use FindBin '$RealBin';
+use lib "$RealBin/../../..";
+use lib "$RealBin/../../../lib";
+use lib "$RealBin/../lib";
BEGIN {
use Bugzilla;
diff --git a/extensions/Push/bin/nagios_push_checker.pl b/extensions/Push/bin/nagios_push_checker.pl
index 092a9da8f..f022f584d 100755
--- a/extensions/Push/bin/nagios_push_checker.pl
+++ b/extensions/Push/bin/nagios_push_checker.pl
@@ -10,8 +10,10 @@
use strict;
use warnings;
-use FindBin qw($RealBin);
-use lib ("$RealBin/../../..", "$RealBin/../../../lib", "$RealBin/../../../local/lib/perl5");
+use FindBin '$RealBin';
+use lib "$RealBin/../../..";
+use lib "$RealBin/../../../lib";
+use lib "$RealBin/../lib";
use Bugzilla;
use Bugzilla::Constants;
diff --git a/extensions/Push/lib/Admin.pm b/extensions/Push/lib/Admin.pm
index fa65e0d69..5b0bb8e70 100644
--- a/extensions/Push/lib/Admin.pm
+++ b/extensions/Push/lib/Admin.pm
@@ -7,7 +7,6 @@
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 28b17bae3..cd40ebefb 100644
--- a/extensions/Push/lib/BacklogMessage.pm
+++ b/extensions/Push/lib/BacklogMessage.pm
@@ -7,7 +7,6 @@
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 a7200c688..79b9b72ee 100644
--- a/extensions/Push/lib/BacklogQueue.pm
+++ b/extensions/Push/lib/BacklogQueue.pm
@@ -7,7 +7,6 @@
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 f0116a2a7..55552e5e1 100644
--- a/extensions/Push/lib/Backoff.pm
+++ b/extensions/Push/lib/Backoff.pm
@@ -7,7 +7,6 @@
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 337c2696d..7033b4195 100644
--- a/extensions/Push/lib/Config.pm
+++ b/extensions/Push/lib/Config.pm
@@ -7,7 +7,6 @@
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 f712ee890..7b7d4aa72 100644
--- a/extensions/Push/lib/Connector.disabled/AMQP.pm
+++ b/extensions/Push/lib/Connector.disabled/AMQP.pm
@@ -7,7 +7,6 @@
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 a6d84cbe0..832cc9262 100644
--- a/extensions/Push/lib/Connector.disabled/ServiceNow.pm
+++ b/extensions/Push/lib/Connector.disabled/ServiceNow.pm
@@ -7,7 +7,6 @@
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 e85b5fadf..b64610e03 100644
--- a/extensions/Push/lib/Connector/Aha.pm
+++ b/extensions/Push/lib/Connector/Aha.pm
@@ -7,7 +7,6 @@
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 ee41bd160..290ea9740 100644
--- a/extensions/Push/lib/Connector/Base.pm
+++ b/extensions/Push/lib/Connector/Base.pm
@@ -7,7 +7,6 @@
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 ae249ffe5..563a78567 100644
--- a/extensions/Push/lib/Connector/File.pm
+++ b/extensions/Push/lib/Connector/File.pm
@@ -7,7 +7,6 @@
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 1c657a728..97f489826 100644
--- a/extensions/Push/lib/Connector/ReviewBoard.pm
+++ b/extensions/Push/lib/Connector/ReviewBoard.pm
@@ -7,7 +7,6 @@
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 3194bd3ab..a65567916 100644
--- a/extensions/Push/lib/Connector/Spark.pm
+++ b/extensions/Push/lib/Connector/Spark.pm
@@ -7,7 +7,6 @@
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 f5b430e47..25e5750dc 100644
--- a/extensions/Push/lib/Connector/TCL.pm
+++ b/extensions/Push/lib/Connector/TCL.pm
@@ -7,7 +7,6 @@
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 75a5083ff..026d3f7f1 100644
--- a/extensions/Push/lib/Connectors.pm
+++ b/extensions/Push/lib/Connectors.pm
@@ -7,7 +7,6 @@
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 09c5e464c..18b12d511 100644
--- a/extensions/Push/lib/Constants.pm
+++ b/extensions/Push/lib/Constants.pm
@@ -7,10 +7,7 @@
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 7f2459a95..c8472e450 100644
--- a/extensions/Push/lib/Daemon.pm
+++ b/extensions/Push/lib/Daemon.pm
@@ -7,7 +7,6 @@
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 8a35a6cf5..6faabea97 100644
--- a/extensions/Push/lib/Log.pm
+++ b/extensions/Push/lib/Log.pm
@@ -7,7 +7,6 @@
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 f4e894b94..848df0480 100644
--- a/extensions/Push/lib/LogEntry.pm
+++ b/extensions/Push/lib/LogEntry.pm
@@ -7,7 +7,6 @@
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 833cb3b19..9824f3476 100644
--- a/extensions/Push/lib/Logger.pm
+++ b/extensions/Push/lib/Logger.pm
@@ -7,7 +7,6 @@
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 1beb18ef0..6d2ed2531 100644
--- a/extensions/Push/lib/Message.pm
+++ b/extensions/Push/lib/Message.pm
@@ -7,7 +7,6 @@
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 a08e4c11d..25d529f98 100644
--- a/extensions/Push/lib/Option.pm
+++ b/extensions/Push/lib/Option.pm
@@ -7,7 +7,6 @@
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 45b9b05dd..aaac0bbd6 100644
--- a/extensions/Push/lib/Push.pm
+++ b/extensions/Push/lib/Push.pm
@@ -7,7 +7,6 @@
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 3ee0321d9..d89cb23c3 100644
--- a/extensions/Push/lib/Queue.pm
+++ b/extensions/Push/lib/Queue.pm
@@ -7,7 +7,6 @@
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 bb6834c13..94f33c754 100644
--- a/extensions/Push/lib/Serialise.pm
+++ b/extensions/Push/lib/Serialise.pm
@@ -7,7 +7,6 @@
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 bda6331bf..f52db6936 100644
--- a/extensions/Push/lib/Util.pm
+++ b/extensions/Push/lib/Util.pm
@@ -7,7 +7,6 @@
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 3317ebc05..625e2afd9 100644
--- a/extensions/REMO/Config.pm
+++ b/extensions/REMO/Config.pm
@@ -21,10 +21,7 @@
# David Lawrence <dkl@mozilla.com>
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 695f126f8..9f83f7065 100644
--- a/extensions/REMO/Extension.pm
+++ b/extensions/REMO/Extension.pm
@@ -21,11 +21,7 @@
# David Lawrence <dkl@mozilla.com>
package Bugzilla::Extension::REMO;
-
-use 5.10.1;
use strict;
-use warnings;
-
use base qw(Bugzilla::Extension);
use Bugzilla::Constants;
diff --git a/extensions/RequestNagger/Config.pm b/extensions/RequestNagger/Config.pm
index a338cd441..6b9488c80 100644
--- a/extensions/RequestNagger/Config.pm
+++ b/extensions/RequestNagger/Config.pm
@@ -6,10 +6,7 @@
# 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 65f5e6b84..63d79040e 100644
--- a/extensions/RequestNagger/Extension.pm
+++ b/extensions/RequestNagger/Extension.pm
@@ -7,7 +7,6 @@
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 b3c654956..03ff8b4ea 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/../../..", "$RealBin/../../../lib", "$RealBin/../../../local/lib/perl5");
+use lib "$RealBin/../../..";
use Bugzilla;
BEGIN { Bugzilla->extensions() }
diff --git a/extensions/RequestNagger/lib/Bug.pm b/extensions/RequestNagger/lib/Bug.pm
index 974a688ea..bd5bb7fd7 100644
--- a/extensions/RequestNagger/lib/Bug.pm
+++ b/extensions/RequestNagger/lib/Bug.pm
@@ -7,10 +7,7 @@
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 bc6cf3371..435c0b167 100644
--- a/extensions/RequestNagger/lib/Constants.pm
+++ b/extensions/RequestNagger/lib/Constants.pm
@@ -7,10 +7,7 @@
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 393d224ba..5407eac1d 100644
--- a/extensions/RequestNagger/lib/Settings.pm
+++ b/extensions/RequestNagger/lib/Settings.pm
@@ -6,8 +6,6 @@
# 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 be703bed7..bef472cc1 100644
--- a/extensions/RestrictComments/Config.pm
+++ b/extensions/RestrictComments/Config.pm
@@ -7,9 +7,7 @@
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 213a1c44a..61a4912b3 100644
--- a/extensions/RestrictComments/Extension.pm
+++ b/extensions/RestrictComments/Extension.pm
@@ -7,7 +7,6 @@
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 55cf11187..33607e680 100644
--- a/extensions/RestrictComments/lib/Config.pm
+++ b/extensions/RestrictComments/lib/Config.pm
@@ -7,7 +7,6 @@
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 ea7e8a725..f7da458af 100644
--- a/extensions/Review/Config.pm
+++ b/extensions/Review/Config.pm
@@ -6,10 +6,7 @@
# 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 db2b475a1..4fd965b4c 100644
--- a/extensions/Review/Extension.pm
+++ b/extensions/Review/Extension.pm
@@ -6,8 +6,6 @@
# 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 ff109a5af..8d34963ec 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/../../..", "$RealBin/../../../lib", "$RealBin/../../../local/lib/perl5");
+use lib "$RealBin/../../..";
use Bugzilla;
BEGIN { Bugzilla->extensions() }
diff --git a/extensions/Review/bin/review_requests_rebuild.pl b/extensions/Review/bin/review_requests_rebuild.pl
index 6574f3dbe..04f8b1042 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($RealBin);
-use lib ("$RealBin/../../..", "$RealBin/../../../lib", "$RealBin/../../../local/lib/perl5");
+use FindBin qw($Bin);
+use lib "$Bin/../../..";
use Bugzilla;
BEGIN { Bugzilla->extensions() }
diff --git a/extensions/Review/lib/FlagStateActivity.pm b/extensions/Review/lib/FlagStateActivity.pm
index 35da42351..46e9300a5 100644
--- a/extensions/Review/lib/FlagStateActivity.pm
+++ b/extensions/Review/lib/FlagStateActivity.pm
@@ -6,8 +6,6 @@
# 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 a8744079d..c00e31b6b 100644
--- a/extensions/Review/lib/Util.pm
+++ b/extensions/Review/lib/Util.pm
@@ -6,8 +6,6 @@
# 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 ea8910d50..c4421aca1 100644
--- a/extensions/Review/lib/WebService.pm
+++ b/extensions/Review/lib/WebService.pm
@@ -7,7 +7,6 @@
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 8d877a253..f1975c1c1 100644
--- a/extensions/SecureMail/Config.pm
+++ b/extensions/SecureMail/Config.pm
@@ -20,10 +20,7 @@
# Gervase Markham <gerv@gerv.net>
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 e62938dc7..3b03f33a6 100644
--- a/extensions/SecureMail/Extension.pm
+++ b/extensions/SecureMail/Extension.pm
@@ -20,11 +20,7 @@
# Gervase Markham <gerv@gerv.net>
package Bugzilla::Extension::SecureMail;
-
-use 5.10.1;
use strict;
-use warnings;
-
use base qw(Bugzilla::Extension);
use Bugzilla::Attachment;
diff --git a/extensions/SiteMapIndex/Config.pm b/extensions/SiteMapIndex/Config.pm
index 980938503..e10d6ec8b 100644
--- a/extensions/SiteMapIndex/Config.pm
+++ b/extensions/SiteMapIndex/Config.pm
@@ -21,10 +21,7 @@
# Dave Lawrence <dkl@mozilla.com>
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 901b80092..77fb6b54c 100644
--- a/extensions/SiteMapIndex/Extension.pm
+++ b/extensions/SiteMapIndex/Extension.pm
@@ -21,11 +21,7 @@
# Dave Lawrence <dkl@mozilla.com>
package Bugzilla::Extension::SiteMapIndex;
-
-use 5.10.1;
use strict;
-use warnings;
-
use base qw(Bugzilla::Extension);
our $VERSION = '1.0';
diff --git a/extensions/SiteMapIndex/lib/Constants.pm b/extensions/SiteMapIndex/lib/Constants.pm
index 12f11597e..fce858121 100644
--- a/extensions/SiteMapIndex/lib/Constants.pm
+++ b/extensions/SiteMapIndex/lib/Constants.pm
@@ -20,11 +20,7 @@
# Max Kanat-Alexander <mkanat@bugzilla.org>
package Bugzilla::Extension::SiteMapIndex::Constants;
-
-use 5.10.1;
use strict;
-use warnings;
-
use base qw(Exporter);
our @EXPORT = qw(
SITEMAP_AGE
diff --git a/extensions/SiteMapIndex/lib/Util.pm b/extensions/SiteMapIndex/lib/Util.pm
index 38fe1cf80..5c02a5989 100644
--- a/extensions/SiteMapIndex/lib/Util.pm
+++ b/extensions/SiteMapIndex/lib/Util.pm
@@ -21,11 +21,7 @@
# Dave Lawrence <dkl@mozilla.com>
package Bugzilla::Extension::SiteMapIndex::Util;
-
-use 5.10.1;
use strict;
-use warnings;
-
use base qw(Exporter);
our @EXPORT = qw(
generate_sitemap
diff --git a/extensions/Splinter/Config.pm b/extensions/Splinter/Config.pm
index 7c013bc6f..d36a28922 100644
--- a/extensions/Splinter/Config.pm
+++ b/extensions/Splinter/Config.pm
@@ -1,9 +1,5 @@
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 e0f42b8d0..42a18d912 100644
--- a/extensions/Splinter/Extension.pm
+++ b/extensions/Splinter/Extension.pm
@@ -7,9 +7,7 @@
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 fb3c16074..95b9f5dfa 100644
--- a/extensions/Splinter/lib/Config.pm
+++ b/extensions/Splinter/lib/Config.pm
@@ -22,7 +22,6 @@
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 a24881c1d..6421d2f0b 100644
--- a/extensions/Splinter/lib/Util.pm
+++ b/extensions/Splinter/lib/Util.pm
@@ -21,9 +21,7 @@
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 c791e3a07..c2330afc8 100644
--- a/extensions/TagNewUsers/Config.pm
+++ b/extensions/TagNewUsers/Config.pm
@@ -6,10 +6,7 @@
# 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 b94873979..e4a62dac8 100644
--- a/extensions/TagNewUsers/Extension.pm
+++ b/extensions/TagNewUsers/Extension.pm
@@ -6,18 +6,12 @@
# 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 d0bc5ca20..1854cb9fd 100644
--- a/extensions/TrackingFlags/Config.pm
+++ b/extensions/TrackingFlags/Config.pm
@@ -6,10 +6,7 @@
# 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 5f6715fc8..08e7968a0 100644
--- a/extensions/TrackingFlags/Extension.pm
+++ b/extensions/TrackingFlags/Extension.pm
@@ -7,9 +7,7 @@
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 8f48a671a..2531228de 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/../../..", "$RealBin/../../../lib", "$RealBin/../../../local/lib/perl5");
+use lib "$RealBin/../../..";
BEGIN {
use Bugzilla;
diff --git a/extensions/TrackingFlags/bin/bulk_flag_clear.pl b/extensions/TrackingFlags/bin/bulk_flag_clear.pl
index 6b05a50a3..1eff355fe 100755
--- a/extensions/TrackingFlags/bin/bulk_flag_clear.pl
+++ b/extensions/TrackingFlags/bin/bulk_flag_clear.pl
@@ -9,8 +9,10 @@
use strict;
use warnings;
-use FindBin qw($RealBin);
-use lib ("$RealBin/../../..", "$RealBin/../../../lib", "$RealBin/../../../local/lib/perl5");
+use FindBin '$RealBin';
+use lib "$RealBin/../../..";
+use lib "$RealBin/../../../lib";
+use lib "$RealBin/../lib";
BEGIN {
use Bugzilla;
diff --git a/extensions/TrackingFlags/bin/migrate_tracking_flags.pl b/extensions/TrackingFlags/bin/migrate_tracking_flags.pl
index bca03f9f9..06b3596c4 100755
--- a/extensions/TrackingFlags/bin/migrate_tracking_flags.pl
+++ b/extensions/TrackingFlags/bin/migrate_tracking_flags.pl
@@ -12,8 +12,10 @@
use strict;
use warnings;
-use FindBin qw($RealBin);
-use lib ("$RealBin/../../..", "$RealBin/../../../lib", "$RealBin/../../../local/lib/perl5");
+use FindBin '$RealBin';
+use lib "$RealBin/../../..";
+use lib "$RealBin/../../../lib";
+use lib "$RealBin/../lib";
BEGIN {
use Bugzilla;
diff --git a/extensions/TrackingFlags/lib/Admin.pm b/extensions/TrackingFlags/lib/Admin.pm
index 50a0e0a61..1adcad241 100644
--- a/extensions/TrackingFlags/lib/Admin.pm
+++ b/extensions/TrackingFlags/lib/Admin.pm
@@ -7,7 +7,6 @@
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 00827aa7a..0b1ae3a1a 100644
--- a/extensions/TrackingFlags/lib/Constants.pm
+++ b/extensions/TrackingFlags/lib/Constants.pm
@@ -7,10 +7,7 @@
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 82c0314e3..7b6effa98 100644
--- a/extensions/TrackingFlags/lib/Flag.pm
+++ b/extensions/TrackingFlags/lib/Flag.pm
@@ -9,7 +9,6 @@ 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 7be661720..74b2814fa 100644
--- a/extensions/TrackingFlags/lib/Flag/Bug.pm
+++ b/extensions/TrackingFlags/lib/Flag/Bug.pm
@@ -9,7 +9,6 @@ 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 4f2aacc3a..15be61bc7 100644
--- a/extensions/TrackingFlags/lib/Flag/Value.pm
+++ b/extensions/TrackingFlags/lib/Flag/Value.pm
@@ -9,7 +9,6 @@ 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 878c16f99..7600d71bd 100644
--- a/extensions/TrackingFlags/lib/Flag/Visibility.pm
+++ b/extensions/TrackingFlags/lib/Flag/Visibility.pm
@@ -9,7 +9,6 @@ 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 4545f69f6..6ad03b362 100644
--- a/extensions/TypeSniffer/Config.pm
+++ b/extensions/TypeSniffer/Config.pm
@@ -20,10 +20,7 @@
# Gervase Markham <gerv@mozilla.org>
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 6c34cb169..c593b76e8 100644
--- a/extensions/TypeSniffer/Extension.pm
+++ b/extensions/TypeSniffer/Extension.pm
@@ -20,11 +20,7 @@
# Gervase Markham <gerv@mozilla.org>
package Bugzilla::Extension::TypeSniffer;
-
-use 5.10.1;
use strict;
-use warnings;
-
use base qw(Bugzilla::Extension);
use File::MimeInfo::Magic;
diff --git a/extensions/UserProfile/Config.pm b/extensions/UserProfile/Config.pm
index 99fae1610..99dca9e02 100644
--- a/extensions/UserProfile/Config.pm
+++ b/extensions/UserProfile/Config.pm
@@ -6,10 +6,7 @@
# 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 079f7a948..2c17a2d9f 100644
--- a/extensions/UserProfile/Extension.pm
+++ b/extensions/UserProfile/Extension.pm
@@ -7,7 +7,6 @@
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 2cde3ce2c..147edef9c 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($RealBin);
-use lib ("$RealBin/../../..", "$RealBin/../../../lib", "$RealBin/../../../local/lib/perl5");
+use FindBin qw($Bin);
+use lib "$Bin/../../..";
use Bugzilla;
BEGIN { Bugzilla->extensions() }
diff --git a/extensions/UserProfile/bin/update.pl b/extensions/UserProfile/bin/update.pl
index af9a81774..2a4997aee 100755
--- a/extensions/UserProfile/bin/update.pl
+++ b/extensions/UserProfile/bin/update.pl
@@ -10,8 +10,8 @@
use strict;
use warnings;
-use FindBin qw($RealBin);
-use lib ("$RealBin/../../..", "$RealBin/../../../lib", "$RealBin/../../../local/lib/perl5");
+use FindBin qw($Bin);
+use lib "$Bin/../../..";
use Bugzilla;
BEGIN { Bugzilla->extensions() }
diff --git a/extensions/UserProfile/lib/Util.pm b/extensions/UserProfile/lib/Util.pm
index 509b131c1..71d0e6501 100644
--- a/extensions/UserProfile/lib/Util.pm
+++ b/extensions/UserProfile/lib/Util.pm
@@ -7,7 +7,6 @@
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 8668deaa7..8649c71cf 100644
--- a/extensions/UserStory/Config.pm
+++ b/extensions/UserStory/Config.pm
@@ -6,10 +6,7 @@
# 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 f9fdb3f29..2053a0097 100644
--- a/extensions/UserStory/Extension.pm
+++ b/extensions/UserStory/Extension.pm
@@ -6,8 +6,6 @@
# 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 6a1c0c449..d09b28fef 100644
--- a/extensions/UserStory/lib/Constants.pm
+++ b/extensions/UserStory/lib/Constants.pm
@@ -7,7 +7,6 @@
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 97c44933e..438f1e054 100644
--- a/extensions/Voting/Config.pm
+++ b/extensions/Voting/Config.pm
@@ -1,15 +1,26 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Frédéric Buclin.
+# Portions created by the Initial Developer is Copyright (C) 2012 the
+# Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+# Frédéric Buclin <LpSolit@gmail.com>
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 25266778c..39ed7c4b4 100644
--- a/extensions/Voting/Extension.pm
+++ b/extensions/Voting/Extension.pm
@@ -1,14 +1,31 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Stephan Niemz <st.n@gmx.net>
+# Christopher Aillon <christopher@aillon.com>
+# Gervase Markham <gerv@gerv.net>
+# Frédéric Buclin <LpSolit@gmail.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
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 1a31285e2..e65169d41 100644
--- a/extensions/ZPushNotify/Config.pm
+++ b/extensions/ZPushNotify/Config.pm
@@ -6,10 +6,7 @@
# 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 df3ab8f46..2b6c1aeaa 100644
--- a/extensions/ZPushNotify/Extension.pm
+++ b/extensions/ZPushNotify/Extension.pm
@@ -6,8 +6,6 @@
# 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 80fc49448..1b54e6b33 100755
--- a/extensions/create.pl
+++ b/extensions/create.pl
@@ -1,20 +1,26 @@
-#!/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/.
+#!/usr/bin/perl -w
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Everything Solved, Inc.
+# Portions created by the Initial Developer are Copyright (C) 2009 the
+# Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+# Max Kanat-Alexander <mkanat@bugzilla.org>
-use 5.10.1;
use strict;
-use warnings;
-
-use File::Basename;
-BEGIN { chdir dirname($0); }
-
-use lib qw(.. ../lib ../local/lib/perl5);
-
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
use Bugzilla::Error;
diff --git a/gen-cpanfile.pl b/gen-cpanfile.pl
deleted file mode 100755
index be07259d1..000000000
--- a/gen-cpanfile.pl
+++ /dev/null
@@ -1,68 +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.
-
-# 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 703617b32..74111eae3 100755
--- a/github.cgi
+++ b/github.cgi
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -T
+#!/usr/bin/perl -wT
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.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,9 +8,7 @@
use 5.10.1;
use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Util qw( correct_urlbase );
diff --git a/importxml.pl b/importxml.pl
index 19081e52b..63004af6f 100755
--- a/importxml.pl
+++ b/importxml.pl
@@ -1,18 +1,35 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Dawn Endico <endico@mozilla.org>
+# Gregary Hendricks <ghendricks@novell.com>
+# Vance Baarda <vrb@novell.com>
+# Guzman Braso <gbn@hqso.net>
+# Erik Purins <epurins@day1studios.com>
+# Frédéric Buclin <LpSolit@gmail.com>
# This script reads in xml bug data from standard input and inserts
# a new bug into bugzilla. Everything before the beginning <?xml line
# is removed so you can pipe in email messages.
-use 5.10.1;
use strict;
-use warnings;
#####################################################################
#
@@ -46,7 +63,7 @@ BEGIN {
chdir(File::Basename::dirname($dir));
}
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
# Data dumber is used for debugging, I got tired of copying it back in
# and then removing it.
#use Data::Dumper;
diff --git a/index.cgi b/index.cgi
index 1dd62d9fb..fac26434a 100755
--- a/index.cgi
+++ b/index.cgi
@@ -1,16 +1,35 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Jacob Steenhagen <jake@bugzilla.org>
+# Frédéric Buclin <LpSolit@gmail.com>
+
+###############################################################################
+# Script Initialization
+###############################################################################
-use 5.10.1;
+# Make it harder for us to do dangerous things in Perl.
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5);
+# Include the Bugzilla CGI and general utility library.
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/jobqueue.pl b/jobqueue.pl
index ebc9118e8..e086d9404 100755
--- a/jobqueue.pl
+++ b/jobqueue.pl
@@ -1,14 +1,27 @@
-#!/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/.
+#!/usr/bin/perl -w
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Mozilla Corporation.
+# Portions created by the Initial Developer are Copyright (C) 2008
+# Mozilla Corporation. All Rights Reserved.
+#
+# Contributor(s):
+# Mark Smith <mark@mozilla.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
-use 5.10.1;
use strict;
-use warnings;
use Cwd qw(abs_path);
use File::Basename;
@@ -18,7 +31,7 @@ BEGIN {
chdir dirname($a);
}
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::JobQueue::Runner;
diff --git a/jsonrpc.cgi b/jsonrpc.cgi
index 95ea5c208..ad910e79e 100755
--- a/jsonrpc.cgi
+++ b/jsonrpc.cgi
@@ -1,16 +1,27 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla JSON Webservices Interface.
+#
+# The Initial Developer of the Original Code is the San Jose State
+# University Foundation. Portions created by the Initial Developer
+# are Copyright (C) 2008 the Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+# Max Kanat-Alexander <mkanat@bugzilla.org>
-use 5.10.1;
use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/long_list.cgi b/long_list.cgi
index 91f3208b3..58bd255a3 100755
--- a/long_list.cgi
+++ b/long_list.cgi
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -T
+#!/usr/bin/perl -wT
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
@@ -21,12 +21,8 @@
# Contributor(s): Terry Weissman <terry@mozilla.org>
# Gervase Markham <gerv@gerv.net>
-use 5.10.1;
use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5);
-
+use lib qw(. lib);
use Bugzilla;
my $cgi = Bugzilla->cgi;
diff --git a/metrics.pl b/metrics.pl
index afcd7d22d..c48629c45 100755
--- a/metrics.pl
+++ b/metrics.pl
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!/usr/bin/perl -w
# This Source Code Form 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,7 +7,6 @@
# 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;
@@ -15,8 +14,9 @@ BEGIN {
delete $ENV{SERVER_SOFTWARE};
}
-use FindBin qw($RealBin);
-use lib ("$RealBin/.", "$RealBin/lib", "$RealBin/local/lib/perl5");
+use FindBin qw($Bin);
+use lib $Bin;
+use lib "$Bin/lib";
use Bugzilla;
use Bugzilla::Constants;
diff --git a/migrate.pl b/migrate.pl
index 8980248c7..df6b833a0 100755
--- a/migrate.pl
+++ b/migrate.pl
@@ -1,18 +1,29 @@
-#!/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/.
+#!/usr/bin/perl -w
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is The Bugzilla Migration Tool.
+#
+# The Initial Developer of the Original Code is Lambda Research
+# Corporation. Portions created by the Initial Developer are Copyright
+# (C) 2009 the Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+# Max Kanat-Alexander <mkanat@bugzilla.org>
-use 5.10.1;
use strict;
-use warnings;
-
use File::Basename;
BEGIN { chdir dirname($0); }
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Migrate;
diff --git a/mod_perl.pl b/mod_perl.pl
index 76d3d4920..83784d3fe 100644
--- a/mod_perl.pl
+++ b/mod_perl.pl
@@ -1,28 +1,30 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
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 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 lib dirname(__FILE__);
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 f2a0ca819..f4e5a9f6b 100755
--- a/page.cgi
+++ b/page.cgi
@@ -1,10 +1,25 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
+#
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Gervase Markham <gerv@gerv.net>
#
-# 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,
@@ -13,11 +28,9 @@
# a content-type, e.g. html.
###############################################################################
-use 5.10.1;
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Error;
diff --git a/post_bug.cgi b/post_bug.cgi
index 0975e32ae..46596fddc 100755
--- a/post_bug.cgi
+++ b/post_bug.cgi
@@ -1,16 +1,31 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Dan Mosedale <dmose@mozilla.org>
+# Joe Robins <jmrobins@tgix.com>
+# Gervase Markham <gerv@gerv.net>
+# Marc Schumann <wurblzap@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Attachment;
diff --git a/process_bug.cgi b/process_bug.cgi
index 80018cfb3..1a2b61717 100755
--- a/process_bug.cgi
+++ b/process_bug.cgi
@@ -1,16 +1,49 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Dan Mosedale <dmose@mozilla.org>
+# Dave Miller <justdave@syndicomm.com>
+# Christopher Aillon <christopher@aillon.com>
+# Myk Melez <myk@mozilla.org>
+# Jeff Hedlund <jeff.hedlund@matrixsi.com>
+# Frédéric Buclin <LpSolit@gmail.com>
+# Lance Larsh <lance.larsh@oracle.com>
+# Akamai Technologies <bugzilla-dev@akamai.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
+
+# Implementation notes for this file:
+#
+# 1) the 'id' form parameter is validated early on, and if it is not a valid
+# bugid an error will be reported, so it is OK for later code to simply check
+# for a defined form 'id' value, and it can assume a valid bugid.
+#
+# 2) If the 'id' form parameter is not defined (after the initial validation),
+# then we are processing multiple bugs, and @idlist will contain the ids.
+#
+# 3) If we are processing just the one id, then it is stored in @idlist for
+# later processing.
-use 5.10.1;
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/qa/t/lib/QA/REST.pm b/qa/t/lib/QA/REST.pm
deleted file mode 100644
index f900cc352..000000000
--- a/qa/t/lib/QA/REST.pm
+++ /dev/null
@@ -1,61 +0,0 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.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
deleted file mode 100644
index cffab80db..000000000
--- a/qa/t/rest_bugzilla.t
+++ /dev/null
@@ -1,60 +0,0 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.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
deleted file mode 100644
index d3806680a..000000000
--- a/qa/t/rest_classification.t
+++ /dev/null
@@ -1,61 +0,0 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.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
deleted file mode 100644
index 5d358864b..000000000
--- a/qa/t/test_password_complexity.t
+++ /dev/null
@@ -1,99 +0,0 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.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 3cf3c079b..47c6a87d6 100755
--- a/query.cgi
+++ b/query.cgi
@@ -1,16 +1,32 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# David Gardiner <david.gardiner@unisa.edu.au>
+# Matthias Radestock <matthias@sorted.org>
+# Gervase Markham <gerv@gerv.net>
+# Byron Jones <bugzilla@glob.com.au>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
-use 5.10.1;
use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Bug;
@@ -23,7 +39,7 @@ use Bugzilla::Error;
use Bugzilla::Product;
use Bugzilla::Keyword;
use Bugzilla::Field;
-use Bugzilla::Version qw(vers_cmp);
+use Bugzilla::Install::Util qw(vers_cmp);
use Bugzilla::Token;
my $cgi = Bugzilla->cgi;
diff --git a/quips.cgi b/quips.cgi
index be6983d84..14126e43c 100755
--- a/quips.cgi
+++ b/quips.cgi
@@ -1,16 +1,31 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Owen Taylor <otaylor@redhat.com>
+# Gervase Markham <gerv@gerv.net>
+# David Fallon <davef@tetsubo.com>
+# Tobias Burnus <burnus@net-b.de>
-use 5.10.1;
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/relogin.cgi b/relogin.cgi
index a66c5d28d..85ba70534 100755
--- a/relogin.cgi
+++ b/relogin.cgi
@@ -1,16 +1,29 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Gervase Markham <gerv@gerv.net>
+# A. Karl Kornel <karl@kornel.name>
-use 5.10.1;
use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Mailer;
diff --git a/report.cgi b/report.cgi
index f9ed26ad7..7a6093c8c 100755
--- a/report.cgi
+++ b/report.cgi
@@ -1,16 +1,28 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Gervase Markham <gerv@gerv.net>
+# <rdean@cambianetworks.com>
-use 5.10.1;
use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/reports.cgi b/reports.cgi
index e7ed5335c..7009d2973 100755
--- a/reports.cgi
+++ b/reports.cgi
@@ -1,16 +1,36 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Harrison Page <harrison@netscape.com>
+# Terry Weissman <terry@mozilla.org>
+# Dawn Endico <endico@mozilla.org>
+# Bryce Nesbitt <bryce@nextbus.com>
+# Joe Robins <jmrobins@tgix.com>
+# Gervase Markham <gerv@gerv.net>
+# Adam Spiers <adam@spiers.net>
+# Myk Melez <myk@mozilla.org>
+# Frédéric Buclin <LpSolit@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/request.cgi b/request.cgi
index 131614890..589d773fb 100755
--- a/request.cgi
+++ b/request.cgi
@@ -1,16 +1,34 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Myk Melez <myk@mozilla.org>
+# Frédéric Buclin <LpSolit@gmail.com>
+
+################################################################################
+# Script Initialization
+################################################################################
-use 5.10.1;
+# Make it harder for us to do dangerous things in Perl.
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Util;
diff --git a/reset_password.cgi b/reset_password.cgi
index fb095c27d..f784afb81 100755
--- a/reset_password.cgi
+++ b/reset_password.cgi
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -T
+#!/usr/bin/perl -wT
# This Source Code Form 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,11 +7,9 @@
# 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 local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/rest.cgi b/rest.cgi
index 2df7e50bb..928eb9ce4 100755
--- a/rest.cgi
+++ b/rest.cgi
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -T
+#!/usr/bin/perl -wT
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.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,9 +8,7 @@
use 5.10.1;
use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/runtests.pl b/runtests.pl
index 844f2f839..092d8069b 100755
--- a/runtests.pl
+++ b/runtests.pl
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!/usr/bin/perl -w
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
@@ -22,10 +22,8 @@
# Make it harder for us to do dangerous things in Perl.
use diagnostics;
-use 5.10.1;
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5);
+use lib qw(lib);
use Test::Harness qw(&runtests $verbose);
diff --git a/sanitycheck.cgi b/sanitycheck.cgi
index db4d0a802..5acf79f06 100755
--- a/sanitycheck.cgi
+++ b/sanitycheck.cgi
@@ -1,16 +1,32 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Matthew Tuck <matty@chariot.net.au>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
+# Marc Schumann <wurblzap@gmail.com>
+# Frédéric Buclin <LpSolit@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Bug;
diff --git a/sanitycheck.pl b/sanitycheck.pl
index bf3680bd6..ca7aaea2d 100755
--- a/sanitycheck.pl
+++ b/sanitycheck.pl
@@ -1,16 +1,27 @@
-#!/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/.
+#!/usr/bin/perl -w
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Frédéric Buclin.
+# Portions created by Frédéric Buclin are Copyright (C) 2007
+# Frédéric Buclin. All Rights Reserved.
+#
+# Contributor(s): Frédéric Buclin <LpSolit@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/scripts/addcustomfield.pl b/scripts/addcustomfield.pl
index 6e128ab6f..886d1ac5c 100755
--- a/scripts/addcustomfield.pl
+++ b/scripts/addcustomfield.pl
@@ -17,8 +17,7 @@
# David Miller <justdave@mozilla.com>
use strict;
-use FindBin qw($RealBin);
-use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/scripts/clear-memcached.pl b/scripts/clear-memcached.pl
index 0ce97e7a0..01202ce7c 100755
--- a/scripts/clear-memcached.pl
+++ b/scripts/clear-memcached.pl
@@ -10,8 +10,9 @@
use strict;
use warnings;
-use FindBin qw($RealBin);
-use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
+use FindBin qw($Bin);
+use lib "$Bin/..";
+use lib "$Bin/../lib";
use Bugzilla;
use Bugzilla::Constants;
diff --git a/scripts/clear-templates.pl b/scripts/clear-templates.pl
index 81c85646b..8b0864d46 100755
--- a/scripts/clear-templates.pl
+++ b/scripts/clear-templates.pl
@@ -9,8 +9,7 @@
use strict;
use warnings;
-use FindBin qw($RealBin);
-use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/scripts/close_bugs_wontfix.pl b/scripts/close_bugs_wontfix.pl
index e0bd5351b..34c871373 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;
-use lib "$FindBin::Bin/..", "$FindBin::Bin/../lib", "$FindBin::Bin/../local/lib/perl5";
+use FindBin '$RealBin';
+use lib "$RealBin/../..", "$RealBin/../../lib";
use Bugzilla;
use Bugzilla::Bug;
diff --git a/scripts/convert_datetime.pl b/scripts/convert_datetime.pl
index b6b71546c..b87e3561a 100755
--- a/scripts/convert_datetime.pl
+++ b/scripts/convert_datetime.pl
@@ -10,9 +10,6 @@ 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 680e8ece3..fdbf25b1f 100755
--- a/scripts/cpanfile_fixed_versions.pl
+++ b/scripts/cpanfile_fixed_versions.pl
@@ -10,9 +10,6 @@ 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 328c0595e..a50e241ce 100755
--- a/scripts/fix-attachment-sizes.pl
+++ b/scripts/fix-attachment-sizes.pl
@@ -10,8 +10,9 @@
use strict;
use feature 'say';
-use FindBin qw($RealBin);
-use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
+use FindBin qw( $RealBin );
+use lib "$RealBin/..";
+use lib "$RealBin/../lib";
use Bugzilla;
use Bugzilla::Constants;
diff --git a/scripts/fix_all_open_status_queries.pl b/scripts/fix_all_open_status_queries.pl
index da40cb140..e10fdd44d 100755
--- a/scripts/fix_all_open_status_queries.pl
+++ b/scripts/fix_all_open_status_queries.pl
@@ -8,8 +8,7 @@
use strict;
-use FindBin qw($RealBin);
-use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/scripts/fixgroupqueries.pl b/scripts/fixgroupqueries.pl
index 1934561df..13dd0cb3e 100755
--- a/scripts/fixgroupqueries.pl
+++ b/scripts/fixgroupqueries.pl
@@ -22,8 +22,7 @@
use strict;
-use FindBin qw($RealBin);
-use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/scripts/fixperms.pl b/scripts/fixperms.pl
index f470eabe6..406c149cb 100755
--- a/scripts/fixperms.pl
+++ b/scripts/fixperms.pl
@@ -21,8 +21,7 @@
use strict;
use warnings;
-use FindBin qw($RealBin);
-use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Install::Filesystem qw(fix_all_file_permissions);
diff --git a/scripts/fixqueries.pl b/scripts/fixqueries.pl
index 2619081ce..1fe25f261 100755
--- a/scripts/fixqueries.pl
+++ b/scripts/fixqueries.pl
@@ -22,8 +22,7 @@
use strict;
-use FindBin qw($RealBin);
-use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/scripts/group-set-members.pl b/scripts/group-set-members.pl
index 10955b00d..3271b2e24 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 FindBin qw($RealBin);
-use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
+use lib "$FindBin::Bin/../..";
+use lib "$FindBin::Bin/../../lib";
use Bugzilla;
use Bugzilla::Constants;
diff --git a/scripts/issue-api-key.pl b/scripts/issue-api-key.pl
index 3e4b2c000..334cddeaa 100755
--- a/scripts/issue-api-key.pl
+++ b/scripts/issue-api-key.pl
@@ -10,8 +10,9 @@
use strict;
use feature 'say';
-use FindBin qw($RealBin);
-use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
+use FindBin qw( $RealBin );
+use lib "$RealBin/..";
+use lib "$RealBin/../lib";
use Bugzilla;
use Bugzilla::Constants;
diff --git a/scripts/merge-users.pl b/scripts/merge-users.pl
index d2b8196b5..ebe68a6a8 100755
--- a/scripts/merge-users.pl
+++ b/scripts/merge-users.pl
@@ -1,14 +1,27 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Myk Melez <myk@mozilla.org>
+# Frédéric Buclin <LpSolit@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
=head1 NAME
@@ -31,7 +44,7 @@ merge-users.pl - Merge two user accounts.
=cut
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/scripts/migrate-attachments.pl b/scripts/migrate-attachments.pl
index b514f1620..26cb3fb26 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", "$RealBin/../local/lib/perl5");
+use lib "$RealBin/..", "$RealBin/../lib";
use Bugzilla;
use Bugzilla::Attachment;
diff --git a/scripts/migrate-cab-review.pl b/scripts/migrate-cab-review.pl
index aa30c518f..1c33a2a0f 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/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
+use lib "$RealBin/..";
use Bugzilla;
use Bugzilla::Bug;
diff --git a/scripts/migrate_whiteboard_keyword.pl b/scripts/migrate_whiteboard_keyword.pl
index f31a30521..aa70543c4 100644
--- a/scripts/migrate_whiteboard_keyword.pl
+++ b/scripts/migrate_whiteboard_keyword.pl
@@ -32,8 +32,7 @@ use 5.10.1;
use strict;
use warnings;
-use FindBin;
-use lib "$FindBin::Bin/..", "$FindBin::Bin/../lib", "$FindBin::Bin/../local/lib/perl5";
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/scripts/move_flag_types.pl b/scripts/move_flag_types.pl
index bf0bf0eca..1f4398be1 100755
--- a/scripts/move_flag_types.pl
+++ b/scripts/move_flag_types.pl
@@ -82,8 +82,7 @@ Without this argument, changes are not actually committed to the database.
use strict;
use warnings;
-use FindBin qw($RealBin);
-use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
+use lib '.';
use Bugzilla;
use Getopt::Long;
diff --git a/scripts/move_os.pl b/scripts/move_os.pl
index 48f6d0031..96b58d616 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 qw($RealBin);
-use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
+use FindBin '$RealBin';
+use lib "$RealBin/../..", "$RealBin/../../lib";
use Bugzilla;
use Bugzilla::Field;
diff --git a/scripts/movebugs.pl b/scripts/movebugs.pl
index 45f329ad2..ebe41ceb4 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 FindBin qw($RealBin);
-use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
+use lib "$FindBin::Bin/../..";
+use lib "$FindBin::Bin/../../lib";
use Bugzilla;
use Bugzilla::Constants;
diff --git a/scripts/movecomponent.pl b/scripts/movecomponent.pl
index 10fa956c4..cb07b84fc 100755
--- a/scripts/movecomponent.pl
+++ b/scripts/movecomponent.pl
@@ -8,8 +8,8 @@
use strict;
-use FindBin qw($RealBin);
-use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
+use FindBin '$RealBin';
+use lib "$RealBin/../..", "$RealBin/../../lib";
use Bugzilla;
use Bugzilla::Component;
diff --git a/scripts/nagios_blocker_checker.pl b/scripts/nagios_blocker_checker.pl
index a6c5e5d7b..768053126 100755
--- a/scripts/nagios_blocker_checker.pl
+++ b/scripts/nagios_blocker_checker.pl
@@ -10,8 +10,9 @@
use strict;
use warnings;
-use FindBin qw($RealBin);
-use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
+use FindBin qw($Bin);
+use lib "$Bin/..";
+use lib "$Bin/../lib";
use Bugzilla;
use Bugzilla::Constants;
diff --git a/scripts/nagios_push_checker.pl b/scripts/nagios_push_checker.pl
index 1fa28bf1d..109f794d7 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", "$RealBin/../local/lib/perl5");
+use lib ("$RealBin/..", "$RealBin/../lib");
use Bugzilla;
use Bugzilla::Constants;
diff --git a/scripts/nightly_group_bug_cleaner.pl b/scripts/nightly_group_bug_cleaner.pl
index a32588673..d8ce4cb54 100755
--- a/scripts/nightly_group_bug_cleaner.pl
+++ b/scripts/nightly_group_bug_cleaner.pl
@@ -8,10 +8,6 @@
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 35774ff8d..0226c1726 100755
--- a/scripts/nuke-bugs.pl
+++ b/scripts/nuke-bugs.pl
@@ -8,8 +8,7 @@
use strict;
-use FindBin qw($RealBin);
-use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
+use lib qw(.);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/scripts/reassign_open_bugs.pl b/scripts/reassign_open_bugs.pl
index 343a99617..6496f9a95 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 qw($RealBin);
-use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
+use FindBin '$RealBin';
+use lib "$RealBin/../..", "$RealBin/../../lib";
use Bugzilla;
use Bugzilla::User;
diff --git a/scripts/remove-non-public-data.pl b/scripts/remove-non-public-data.pl
index 8b5d2b2e7..06fc693fa 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", "$RealBin/../local/lib/perl5");
+use lib "$RealBin/..", "$RealBin/../lib";
use Bugzilla;
use Bugzilla::Constants;
diff --git a/scripts/remove_idle_group_members.pl b/scripts/remove_idle_group_members.pl
index 510d0623b..d0eda387a 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($RealBin);
-use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
+use FindBin qw($Bin);
+use lib "$Bin/..";
use Bugzilla;
BEGIN { Bugzilla->extensions() }
diff --git a/scripts/reset_default_user.pl b/scripts/reset_default_user.pl
index 2888df48c..173d03849 100755
--- a/scripts/reset_default_user.pl
+++ b/scripts/reset_default_user.pl
@@ -8,8 +8,7 @@
use strict;
-use FindBin qw($RealBin);
-use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
+use lib '.';
use Bugzilla;
use Bugzilla::Constants;
diff --git a/scripts/sanitizeme.pl b/scripts/sanitizeme.pl
index 8f241de34..64178f3f3 100755
--- a/scripts/sanitizeme.pl
+++ b/scripts/sanitizeme.pl
@@ -24,8 +24,8 @@
use strict;
-use FindBin qw($RealBin);
-use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
+use FindBin '$RealBin';
+use lib "$RealBin/..", "$RealBin/lib";
use Bugzilla;
use Bugzilla::Bug;
diff --git a/scripts/security_remove.pl b/scripts/security_remove.pl
index 7c01e8002..85f415218 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 qw($RealBin);
-use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
+use FindBin '$RealBin';
+use lib "$RealBin/../..", "$RealBin/../../lib";
use Bugzilla;
use Bugzilla::Constants;
diff --git a/scripts/sendunsentbugmail.pl b/scripts/sendunsentbugmail.pl
index 3dae4a341..eeee41ced 100755
--- a/scripts/sendunsentbugmail.pl
+++ b/scripts/sendunsentbugmail.pl
@@ -1,16 +1,29 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Dave Miller <justdave@bugzilla.org>
+# Myk Melez <myk@mozilla.org>
use 5.10.1;
use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/scripts/syncflags.pl b/scripts/syncflags.pl
index 7250cdf89..520a8305c 100755
--- a/scripts/syncflags.pl
+++ b/scripts/syncflags.pl
@@ -24,8 +24,7 @@
use strict;
-use FindBin qw($RealBin);
-use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/scripts/syncmsandversions.pl b/scripts/syncmsandversions.pl
index e886d9e5b..20e88252e 100755
--- a/scripts/syncmsandversions.pl
+++ b/scripts/syncmsandversions.pl
@@ -24,8 +24,7 @@
use strict;
-use FindBin qw($RealBin);
-use lib ("$RealBin/..", "$RealBin/../lib", "$RealBin/../local/lib/perl5");
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/scripts/update-bug-groups.pl b/scripts/update-bug-groups.pl
index 0aed32e9b..173269e7c 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", "$RealBin/../local/lib/perl5");
+use lib "$RealBin/..", "$RealBin/../lib";
use Bugzilla;
use Bugzilla::CGI;
diff --git a/scripts/update-crash-signatures.pl b/scripts/update-crash-signatures.pl
index f8efca7ff..179d0decb 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", "$RealBin/../local/lib/perl5");
+use lib "$RealBin/..", "$RealBin/../lib";
use constant BATCH_SIZE => 100;
diff --git a/scripts/user-prefs.pl b/scripts/user-prefs.pl
index b7c860f48..ee980b3eb 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", "$RealBin/../local/lib/perl5");
+use FindBin qw( $RealBin );
+use lib ("$RealBin/..", "$RealBin/../lib");
use Bugzilla;
use Bugzilla::Constants;
diff --git a/search_plugin.cgi b/search_plugin.cgi
index 329ed6f0c..b50467911 100755
--- a/search_plugin.cgi
+++ b/search_plugin.cgi
@@ -1,16 +1,22 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Frédéric Buclin <LpSolit@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Error;
diff --git a/sentry.pl b/sentry.pl
index 8d8b878e9..95cd1846f 100755
--- a/sentry.pl
+++ b/sentry.pl
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!/usr/bin/perl -w
# This Source Code Form 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,17 +13,15 @@
# 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 96ff1b312..b05c1c95a 100755
--- a/show_activity.cgi
+++ b/show_activity.cgi
@@ -1,16 +1,30 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Myk Melez <myk@mozilla.org>
+# Gervase Markham <gerv@gerv.net>
-use 5.10.1;
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Error;
diff --git a/show_bug.cgi b/show_bug.cgi
index 517017688..fbcf4e828 100755
--- a/show_bug.cgi
+++ b/show_bug.cgi
@@ -1,16 +1,28 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
-use 5.10.1;
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/showattachment.cgi b/showattachment.cgi
index 73cb6eb58..e90a01533 100755
--- a/showattachment.cgi
+++ b/showattachment.cgi
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -T
+#!/usr/bin/perl -wT
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
@@ -21,11 +21,9 @@
# Contributor(s): Terry Weissman <terry@mozilla.org>
# Jacob Steenhagen <jake@bugzilla.org>
-use 5.10.1;
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Util;
diff --git a/showdependencygraph.cgi b/showdependencygraph.cgi
index 764aad5b9..5dc3928ed 100755
--- a/showdependencygraph.cgi
+++ b/showdependencygraph.cgi
@@ -1,16 +1,29 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Gervase Markham <gerv@gerv.net>
-use 5.10.1;
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use File::Temp;
diff --git a/showdependencytree.cgi b/showdependencytree.cgi
index 7f594632e..b50b38ce2 100755
--- a/showdependencytree.cgi
+++ b/showdependencytree.cgi
@@ -1,16 +1,32 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Andreas Franke <afranke@mathweb.org>
+# Christian Reis <kiko@async.com.br>
+# Myk Melez <myk@mozilla.org>
+# Frédéric Buclin <LpSolit@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Error;
diff --git a/summarize_time.cgi b/summarize_time.cgi
index 2502747e3..dd8ba741b 100755
--- a/summarize_time.cgi
+++ b/summarize_time.cgi
@@ -1,16 +1,25 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Christian Reis <kiko@async.com.br>
+# Shane H. W. Travis <travis@sedsystems.ca>
+# Frédéric Buclin <LpSolit@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Date::Parse; # strptime
diff --git a/t/001compile.t b/t/001compile.t
index f8ba8d1c7..a2176babd 100644
--- a/t/001compile.t
+++ b/t/001compile.t
@@ -1,31 +1,41 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code are the Bugzilla Tests.
+#
+# The Initial Developer of the Original Code is Zach Lipton
+# Portions created by Zach Lipton are Copyright (C) 2001 Zach Lipton.
+# All Rights Reserved.
+#
+# Contributor(s): Zach Lipton <zach@zachlipton.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
#################
#Bugzilla Test 1#
###Compilation###
-use 5.10.1;
use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5 t);
+use 5.008001;
+use lib qw(. lib t);
use Config;
use Support::Files;
-use Test::More tests => scalar(@Support::Files::testitems)
- + scalar(@Support::Files::test_files);
+use Test::More tests => scalar(@Support::Files::testitems);
BEGIN {
use_ok('Bugzilla::Constants');
use_ok('Bugzilla::Install::Requirements');
use_ok('Bugzilla');
}
-Bugzilla->usage_mode(USAGE_MODE_TEST);
sub compile_file {
my ($file) = @_;
@@ -55,12 +65,12 @@ sub compile_file {
$T = "T";
}
- my $libs = '-It ';
+ my $libs = '';
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 -c$T -MSupport::Systemexec $file 2>&1`;
+ my $output = `$perl $libs -wc$T $file 2>&1`;
chomp($output);
my $return_val = $?;
$output =~ s/^\Q$file\E syntax OK$//ms;
@@ -68,7 +78,7 @@ sub compile_file {
ok(!$return_val, $file) or diag('--ERROR');
}
-my @testitems = (@Support::Files::testitems, @Support::Files::test_files);
+my @testitems = @Support::Files::testitems;
my $file_features = map_files_to_features();
# Test the scripts by compiling them
@@ -92,7 +102,8 @@ foreach my $file (@testitems) {
and $file ne "Bugzilla/DB/Schema.pm")
{
my $module = lc($1);
- Bugzilla->feature($module) or skip "$file: Driver for $module not installed", 1;
+ my $dbd = DB_MODULE->{$module}->{dbd}->{module};
+ eval("use $dbd; 1") or skip "$file: $dbd not installed", 1;
}
compile_file($file);
diff --git a/t/002goodperl.t b/t/002goodperl.t
index 7b2e74acc..77b014f6a 100644
--- a/t/002goodperl.t
+++ b/t/002goodperl.t
@@ -1,28 +1,40 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.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.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
+#
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code are the Bugzilla Tests.
+#
+# The Initial Developer of the Original Code is Zach Lipton
+# Portions created by Zach Lipton are
+# Copyright (C) 2001 Zach Lipton. All
+# Rights Reserved.
+#
+# Contributor(s): Zach Lipton <zach@zachlipton.com>
+# Jacob Steenhagen <jake@bugzilla.org>
+# David D. Kilzer <ddkilzer@theracingworld.com>
#################
#Bugzilla Test 2#
####GoodPerl#####
-use 5.10.1;
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5 t);
+use lib 't';
use Support::Files;
-use Test::More tests => (scalar(@Support::Files::testitems)
- + scalar(@Support::Files::test_files)) * 6;
+use Test::More tests => (scalar(@Support::Files::testitems) * 4);
-my @testitems = (@Support::Files::test_files, @Support::Files::testitems);
-my @require_taint = qw(email_in.pl importxml.pl mod_perl.pl whine.pl);
+my @testitems = @Support::Files::testitems; # get the files to test.
foreach my $file (@testitems) {
$file =~ s/\s.*$//; # nuke everything after the first space (#comment)
@@ -37,38 +49,28 @@ 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' || $ext eq 'psgi') {
+ if (!defined $ext || $ext eq "pl") {
# standalone programs aren't taint checked yet
- if (grep { $file eq $_ } @require_taint) {
- $flags = 'T';
- }
- else {
- $flags = '';
- }
+ $flags = "w";
} 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 = 'T';
+ $flags = "wT";
} else {
ok(0, "$file has shebang but unknown extension");
next;
}
- 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");
+ 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");
}
} else {
ok(0,"$file uses non-standard perl location");
@@ -77,10 +79,7 @@ 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)) {
@@ -88,29 +87,17 @@ foreach my $file (@testitems) {
next;
}
while (my $file_line = <FILE>) {
- $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);
+ if ($file_line =~ m/^\s*use strict/) {
+ $found_use_strict = 1;
+ last;
+ }
}
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
new file mode 100644
index 000000000..a69500b7a
--- /dev/null
+++ b/t/003safesys.t
@@ -0,0 +1,73 @@
+# -*- Mode: perl; indent-tabs-mode: nil -*-
+#
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code are the Bugzilla Tests.
+#
+# The Initial Developer of the Original Code is Zach Lipton
+# Portions created by Zach Lipton are
+# Copyright (C) 2001 Zach Lipton. All
+# Rights Reserved.
+#
+# Contributor(s): Zach Lipton <zach@zachlipton.com>
+
+
+#################
+#Bugzilla Test 3#
+###Safesystem####
+
+use strict;
+
+use lib 't';
+
+use Support::Files;
+use File::Slurp;
+
+use Test::More tests => scalar(@Support::Files::testitems);
+
+# Capture the TESTOUT from Test::More or Test::Builder for printing errors.
+# This will handle verbosity for us automatically.
+my $fh;
+{
+ local $^W = 0; # Don't complain about non-existent filehandles
+ if (-e \*Test::More::TESTOUT) {
+ $fh = \*Test::More::TESTOUT;
+ } elsif (-e \*Test::Builder::TESTOUT) {
+ $fh = \*Test::Builder::TESTOUT;
+ } else {
+ $fh = \*STDOUT;
+ }
+}
+
+my @testitems = @Support::Files::testitems;
+my $perlapp = "\"$^X\"";
+
+foreach my $file (@testitems) {
+ $file =~ s/\s.*$//; # nuke everything after the first space (#comment)
+ next if (!$file); # skip null entries
+
+ my $contents = read_file($file);
+ if ($contents !~ /\b(system|exec)\b/) {
+ ok(1,"$file does not contain any system or exec calls");
+ next;
+ }
+
+ my $command = "$perlapp -c -It -MSupport::Systemexec $file 2>&1";
+ my $loginfo=`$command`;
+ if ($loginfo =~ /arguments for Support::Systemexec::(system|exec)/im) {
+ ok(0,"$file DOES NOT use proper system or exec calls");
+ print $fh $loginfo;
+ } else {
+ ok(1,"$file uses proper system and exec calls");
+ }
+}
+
+exit 0;
diff --git a/t/004template.t b/t/004template.t
index 909f1a231..666ce5fa4 100644
--- a/t/004template.t
+++ b/t/004template.t
@@ -1,19 +1,35 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.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 Jacob Steenhagen.
+# Portions created by Jacob Steenhagen are
+# Copyright (C) 2001 Jacob Steenhagen. All
+# Rights Reserved.
+#
+# Contributor(s): Jacob Steenhagen <jake@bugzilla.org>
+# Zach Lipton <zach@zachlipton.com>
+# David D. Kilzer <ddkilzer@kilzer.net>
+# Tobias Burnus <burnus@net-b.de>
#
-# This Source Code Form is "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 qw(. lib local/lib/perl5 t);
+use lib 't';
use Support::Templates;
@@ -28,7 +44,7 @@ use Test::More tests => ( scalar(@referenced_files) + 2 * $num_actual_files );
# This will handle verbosity for us automatically.
my $fh;
{
- no warnings qw(unopened); # Don't complain about non-existent filehandles
+ local $^W = 0; # Don't complain about non-existent filehandles
if (-e \*Test::More::TESTOUT) {
$fh = \*Test::More::TESTOUT;
} elsif (-e \*Test::Builder::TESTOUT) {
@@ -39,21 +55,22 @@ my $fh;
}
# Check to make sure all templates that are referenced in Bugzilla
-# exist in the proper place in the English template or extension directory.
+# exist in the proper place in the English template 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 $found = 0;
- foreach my $path (@english_default_include_paths) {
- my $pathfile = File::Spec->catfile($path, $file);
- if (-e $pathfile) {
- $found = 1;
- last;
- }
+ 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");
}
-
- ok($found, "$file found");
}
foreach my $include_path (@include_paths) {
@@ -66,13 +83,17 @@ 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/variables.none.tmpl",
+ PRE_PROCESS => "global/initialize.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 $_ } ,
@@ -84,7 +105,6 @@ 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 be13890bb..edba8b274 100644
--- a/t/005whitespace.t
+++ b/t/005whitespace.t
@@ -1,29 +1,44 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.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 Jacob Steenhagen.
+# Portions created by Jacob Steenhagen are
+# Copyright (C) 2001 Jacob Steenhagen. All
+# Rights Reserved.
+#
+# Contributor(s): Jacob Steenhagen <jake@bugzilla.org>
+# David D. Kilzer <ddkilzer@kilzer.net>
+# Colin Ogilvie <mozilla@colinogilvie.co.uk>
+# Marc Schumann <wurblzap@gmail.com>
#
-# This Source Code Form is "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 qw(. lib local/lib/perl5 t);
+use lib 't';
use Support::Files;
use Support::Templates;
use File::Spec;
-use Test::More tests => (scalar(@Support::Files::testitems)
- + scalar(@Support::Files::test_files)
+use Test::More tests => ( scalar(@Support::Files::testitems)
+ $Support::Templates::num_actual_files) * 3;
-my @testitems = (@Support::Files::testitems, @Support::Files::test_files);
+my @testitems = @Support::Files::testitems;
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 70181ef85..e311be8ec 100644
--- a/t/006spellcheck.t
+++ b/t/006spellcheck.t
@@ -1,31 +1,62 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code are the Bugzilla Tests.
+#
+# The Initial Developer of the Original Code is Zach Lipton
+# Portions created by Zach Lipton are
+# Copyright (C) 2002 Zach Lipton. All
+# Rights Reserved.
+#
+# Contributor(s): Zach Lipton <zach@zachlipton.com>
#################
#Bugzilla Test 6#
####Spelling#####
-use 5.10.1;
-use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5 t);
+use lib 't';
use Support::Files;
-# -1 because 006spellcheck.t must not be checked.
-use Test::More tests => scalar(@Support::Files::testitems)
- + scalar(@Support::Files::test_files) - 1;
+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 Test::More tests => $testcount;
# Capture the TESTOUT from Test::More or Test::Builder for printing errors.
# This will handle verbosity for us automatically.
my $fh;
{
- no warnings qw(unopened); # Don't complain about non-existent filehandles
+ local $^W = 0; # Don't complain about non-existent filehandles
if (-e \*Test::More::TESTOUT) {
$fh = \*Test::More::TESTOUT;
} elsif (-e \*Test::Builder::TESTOUT) {
@@ -35,35 +66,14 @@ my $fh;
}
}
-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
-);
+my @testitems = @Support::Files::testitems;
+# 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 b8e9505d8..b32a1b90c 100644
--- a/t/007util.t
+++ b/t/007util.t
@@ -1,26 +1,36 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code are the Bugzilla Tests.
+#
+# The Initial Developer of the Original Code is Zach Lipton
+# Portions created by Zach Lipton are Copyright (C) 2002 Zach Lipton.
+# All Rights Reserved.
+#
+# Contributor(s): Zach Lipton <zach@zachlipton.com>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
+# Frédéric Buclin <LpSolit@gmail.com>
#################
#Bugzilla Test 7#
#####Util.pm#####
-use 5.10.1;
-use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5 t);
+use lib 't';
use Support::Files;
-use Test::More tests => 17;
-use DateTime;
+use Test::More tests => 15;
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
@@ -63,16 +73,6 @@ 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 b8d05af8a..1111c16f6 100644
--- a/t/008filter.t
+++ b/t/008filter.t
@@ -1,9 +1,23 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code are the Bugzilla tests.
+#
+# The Initial Developer of the Original Code is Jacob Steenhagen.
+# Portions created by Jacob Steenhagen are
+# Copyright (C) 2001 Jacob Steenhagen. All
+# Rights Reserved.
+#
+# Contributor(s): Gervase Markham <gerv@gerv.net>
#################
#Bugzilla Test 8#
@@ -15,11 +29,10 @@
# Sample exploit code: '>"><script>alert('Oh dear...')</script>
-use 5.10.1;
use strict;
-use warnings;
+use lib qw(. lib t);
-use lib qw(. lib local/lib/perl5 t);
+use vars qw(%safe);
use Bugzilla::Constants;
use Support::Templates;
@@ -31,7 +44,6 @@ 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
@@ -82,13 +94,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|rst|png)\.tmpl$/) {
+ if ($file =~ /\.(pm|txt|png)\.tmpl$/) {
ok(1, "($lang/$flavor) $file is filter-safe");
next;
}
-
+
# Read the entire file into a string
- open (FILE, "<$file") || die "Can't open $file: $!\n";
+ open (FILE, "<$file") || die "Can't open $file: $!\n";
my $slurp = <FILE>;
close (FILE);
@@ -213,8 +225,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|
- markdown)\b/x;
+ txt|html_linebreak|none|json|null|id)\b/x;
+
return 0;
}
diff --git a/t/009bugwords.t b/t/009bugwords.t
index 740cbf6aa..242ac478d 100644
--- a/t/009bugwords.t
+++ b/t/009bugwords.t
@@ -1,9 +1,24 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.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 Jacob Steenhagen.
+# Portions created by Jacob Steenhagen are
+# Copyright (C) 2001 Jacob Steenhagen. All
+# Rights Reserved.
+#
+# Contributor(s): Gervase Markham <gerv@gerv.net>
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
#################
#Bugzilla Test 9#
@@ -15,11 +30,9 @@
# "[% terms.bug %]". This test makes sure the relevant words aren't used
# bare.
-use 5.10.1;
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5 t);
+use lib 't';
use Support::Files;
use Support::Templates;
@@ -62,6 +75,15 @@ foreach my $file (@testitems) {
next;
}
}
+
+ # "Bugzilla"
+ if (grep /(?<!X\-)Bugzilla(?!_|::|-&gt|\.pm)/, $text) {
+ # Exclude JS comments, hyperlinks, USE, and variable assignment.
+ unless (grep /(\/\/.*|org.*>|api\/|USE |= )Bugzilla/, $text) {
+ push(@errors, [$lineno, $text]);
+ next;
+ }
+ }
}
if (scalar(@errors)) {
diff --git a/t/010dependencies.t b/t/010dependencies.t
index 777d42ed1..3289d098e 100644
--- a/t/010dependencies.t
+++ b/t/010dependencies.t
@@ -1,20 +1,27 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code are the Bugzilla Tests.
+#
+# Contributor(s): David Miller <justdave@bugzilla.org>
+# Frédéric Buclin <LpSolit@gmail.com>
##################
#Bugzilla Test 10#
## dependencies ##
-use 5.10.1;
use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5 t);
+use lib qw(. lib t);
use Support::Files;
use Test::More qw(no_plan);
@@ -30,7 +37,7 @@ use constant MODULE_REGEX => qr/
['"]?
([\w:\.\\]+)
/x;
-use constant BASE_REGEX => qr/^use (?:base|parent) (?:-norequire, )?qw\(([^\)]+)/;
+use constant BASE_REGEX => qr/^use base qw\(([^\)]+)/;
# Extract all Perl modules.
foreach my $file (@Support::Files::testitems) {
@@ -62,7 +69,7 @@ foreach my $module (keys %mods) {
}
elsif ($line =~ BASE_REGEX or $line =~ MODULE_REGEX) {
my $used_string = $1;
- # "use base"/"use parent" can have multiple modules
+ # "use base" 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 4f5fa87f7..517ca03ad 100644
--- a/t/011pod.t
+++ b/t/011pod.t
@@ -1,19 +1,27 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.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.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
+#
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code are the Bugzilla Tests.
+#
+# Contributor(s): Frédéric Buclin <LpSolit@gmail.com>
+
##################
#Bugzilla Test 11#
##POD validation##
-use 5.10.1;
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5 t);
+use lib 't';
use Support::Files;
use Pod::Checker;
@@ -24,7 +32,7 @@ use Test::More tests => scalar(@Support::Files::testitems);
# This will handle verbosity for us automatically.
my $fh;
{
- no warnings 'unopened';
+ local $^W = 0; # Don't complain about non-existent filehandles
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 4317c0e89..590fb8aa5 100644
--- a/t/012throwables.t
+++ b/t/012throwables.t
@@ -1,9 +1,25 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.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.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
+# vim: ts=4 sw=4 et tw=80
+#
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code are the Bugzilla Tests.
+#
+# The Initial Developer of the Original Code is Zach Lipton
+# Portions created by Zach Lipton are
+# Copyright (C) 2001 Zach Lipton. All
+# Rights Reserved.
+#
+# Contributor(s): Dennis Melentyev <dennis.melentyev@infopulse.com.ua>
+# Max Kanat-Alexander <mkanat@bugzilla.org>
@@ -11,11 +27,8 @@
#Bugzilla Test 12#
######Errors######
-use 5.10.1;
use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5 t);
+use lib qw(. lib t);
use Bugzilla::Constants;
use Bugzilla::WebService::Constants;
@@ -50,13 +63,6 @@ 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
new file mode 100644
index 000000000..4bba7c95e
--- /dev/null
+++ b/t/013remote_ip.t
@@ -0,0 +1,82 @@
+#!/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 1bdf2eac7..00e0efd34 100644
--- a/t/Support/Files.pm
+++ b/t/Support/Files.pm
@@ -1,40 +1,45 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.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.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
+#
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code are the Bugzilla Tests.
+#
+# The Initial Developer of the Original Code is Zach Lipton
+# Portions created by Zach Lipton are
+# Copyright (C) 2001 Zach Lipton. All
+# Rights Reserved.
+#
+# Contributor(s): Zach Lipton <zach@zachlipton.com>
+# Joel Peshkin <bugreport@peshkin.net>
package Support::Files;
-use 5.10.1;
-use strict;
-use warnings;
+use Bugzilla;
use File::Find;
-our @additional_files = ();
-
use constant IGNORE => qw(
Bugzilla/DuoAPI.pm
Bugzilla/DuoWeb.pm
);
-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);
-}
+@additional_files = ();
-our @test_files = glob('t/*.t xt/*/*.t');
+@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');
+my @extensions = glob('extensions/*');
foreach my $extension (@extensions) {
# Skip disabled extensions
next if -e "$extension/disabled";
@@ -50,7 +55,7 @@ sub isTestingFile {
return undef if $ignore eq $file;
}
- if ($file =~ /\.psgi$|\.cgi$|\.pl$|\.pm$/) {
+ if ($file =~ /\.cgi$|\.pl$|\.pm$/) {
return 1;
}
my $additional;
@@ -60,13 +65,11 @@ sub isTestingFile {
return undef;
}
-our (@testitems, @module_files);
-
-foreach my $currentfile (@files) {
+foreach $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 e73763f8f..676ee02a4 100644
--- a/t/Support/Systemexec.pm
+++ b/t/Support/Systemexec.pm
@@ -1,25 +1,14 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.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.
+# -*- Mode: perl; indent-tabs-mode: nil -*-
package Support::Systemexec;
-
-use 5.10.1;
-use strict;
-use warnings;
-
-use parent qw(Exporter);
-@Support::Systemexec::EXPORT = qw(system exec);
-
+require Exporter;
+@ISA = qw(Exporter);
+@EXPORT = qw(system exec);
+@EXPORT_OK = qw();
sub system($$@) {
1;
}
-
sub exec($$@) {
1;
}
-
1;
diff --git a/t/Support/Templates.pm b/t/Support/Templates.pm
index 5071d67ae..81dc8cc3f 100644
--- a/t/Support/Templates.pm
+++ b/t/Support/Templates.pm
@@ -1,21 +1,38 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.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 Jacob Steenhagen.
+# Portions created by Jacob Steenhagen are
+# Copyright (C) 2001 Jacob Steenhagen. All
+# Rights Reserved.
+#
+# Contributor(s): Jacob Steenhagen <jake@bugzilla.org>
+# David D. Kilzer <ddkilzer@kilzer.net>
+# Tobias Burnus <burnus@net-b.de>
#
-# This Source Code Form is "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_paths
- %include_path @referenced_files %actual_files $num_actual_files);
+@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);
use Bugzilla;
use Bugzilla::Constants;
@@ -25,32 +42,33 @@ use Support::Files;
use File::Find;
use File::Spec;
-# English default include paths
-our @english_default_include_paths =
- (File::Spec->catdir(bz_locations()->{'templatedir'}, 'en', 'default'));
+# The available template languages
+@languages = ();
-# 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;
- }
-}
+# 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');
# Files which are referenced in the cgi files
-our @referenced_files = ();
+@referenced_files = ();
# All files sorted by include_path
-our %actual_files = ();
+%actual_files = ();
# total number of actual_files
-our $num_actual_files = 0;
+$num_actual_files = 0;
# Set the template available languages and include paths
-our @languages = @{ Bugzilla->languages };
-our @include_paths = @{ template_include_path({ language => Bugzilla->languages }) };
+@languages = @{ Bugzilla->languages };
+@include_paths = @{ template_include_path({ language => Bugzilla->languages }) };
-our @files;
+my @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 18650de7d..df6aac31d 100644
--- a/template/en/default/global/code-error.html.tmpl
+++ b/template/en/default/global/code-error.html.tmpl
@@ -133,8 +133,7 @@
[% 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 2151c24e8..d7c7e0500 100644
--- a/template/en/default/setup/strings.txt.pl
+++ b/template/en/default/setup/strings.txt.pl
@@ -1,9 +1,20 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may 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 "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Initial Developer of the Original Code is Everything Solved.
+# Portions created by Everything Solved are Copyright (C) 2007
+# Everything Solved. All Rights Reserved.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
# This file contains a single hash named %strings, which is used by the
# installation code to display strings before Template-Toolkit can safely
@@ -16,7 +27,6 @@
# Please keep the strings in alphabetical order by their name.
%strings = (
- all_optional_features_require => 'All optional features above require the following modules to be found:',
any => 'any',
apachectl_failed => <<END,
WARNING: We could not check the configuration of Apache. This sometimes
@@ -38,6 +48,9 @@ can connect to your MySQL database and drop the bz_schema table, as a last
resort.
END
checking_for => 'Checking for',
+ checking_dbd => 'Checking available perl DBD modules...',
+ checking_optional => 'The following Perl modules are optional:',
+ checking_modules => 'Checking perl modules...',
chmod_failed => '##path##: Failed to change permissions: ##error##',
chown_failed => '##path##: Failed to change ownership: ##error##',
commands_dbd => <<EOT,
@@ -80,11 +93,44 @@ END
Extensions must return their name, not <code>1</code> or a number. See
the documentation of Bugzilla::Extension for details.
END
+ feature_auth_ldap => 'LDAP Authentication',
+ feature_auth_radius => 'RADIUS Authentication',
+ feature_documentation => 'Documentation',
+ feature_elasticsearch => 'ElasticSearch Support',
+ feature_graphical_reports => 'Graphical Reports',
+ feature_html_desc => 'More HTML in Product/Group Descriptions',
+ feature_inbound_email => 'Inbound Email',
+ feature_jobqueue => 'Mail Queueing',
+ feature_jsonrpc => 'JSON-RPC Interface',
+ feature_jsonrpc_faster => 'Make JSON-RPC Faster',
+ feature_new_charts => 'New Charts',
+ feature_old_charts => 'Old Charts',
+ feature_memcached => 'Memcached Support',
+ feature_mfa => 'Two-Factor Authentication',
+ feature_mod_perl => 'mod_perl',
+ feature_moving => 'Move Bugs Between Installations',
+ feature_patch_viewer => 'Patch Viewer',
+ feature_rest => 'REST Interface',
+ feature_s3 => 'Attachment S3 Storage',
+ feature_smtp_auth => 'SMTP Authentication',
+ feature_updates => 'Automatic Update Notifications',
+ feature_xmlrpc => 'XML-RPC Interface',
+ feature_detect_charset => 'Automatic charset detection for text attachments',
+
file_remove => 'Removing ##name##...',
file_rename => 'Renaming ##from## to ##to##...',
header => "* This is Bugzilla ##bz_ver## on perl ##perl_ver##\n"
. "* Running on ##os_name## ##os_ver##",
- installation_failed => '*** Installation aborted. Read the messages above. ***',
+ install_all => <<EOT,
+
+To attempt an automatic install of every required and optional module
+with one command, do:
+
+ ##perl## checksetup.pl --cpanfile
+ cpanm --installdeps --with-recommends --with-all-features \\
+ --without-feature oracle --without-feature sqlite \\
+ --without-feature pg.
+EOT
install_data_too_long => <<EOT,
WARNING: Some of the data in the ##table##.##column## column is longer than
its new length limit of ##max_length## characters. The data that needs to be
@@ -92,6 +138,15 @@ fixed is printed below with the value of the ##id_column## column first and
then the value of the ##column## column that needs to be fixed:
EOT
+ install_module => 'Installing ##module## version ##version##...',
+ installation_failed => '*** Installation aborted. Read the messages above. ***',
+ install_no_compiler => <<END,
+ERROR: Using install-module.pl requires that you install a compiler, such as
+gcc.
+END
+ install_no_make => <<END,
+ERROR: Using install-module.pl requires that you install "make".
+END
lc_new_vars => <<'END',
This version of Bugzilla contains some variables that you may want to
change and adapt to your local settings. The following variables are
@@ -244,15 +299,12 @@ EOT
***********************************************************************
* APACHE MODULES *
***********************************************************************
-* 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: *
+* 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: *
* *
END
modules_message_db => <<EOT,
diff --git a/testagent.cgi b/testagent.cgi
index a1c200e10..4ecaa15fd 100755
--- a/testagent.cgi
+++ b/testagent.cgi
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -T
+#!/usr/bin/perl -wT
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
@@ -17,9 +17,7 @@
# are being run instead of shown. This script does not rely on database access
# or correct params.
-use 5.10.1;
use strict;
-use warnings;
print "content-type:text/plain\n\n";
print "OK " . ($::ENV{MOD_PERL} || "mod_cgi") . "\n";
exit;
diff --git a/testserver.pl b/testserver.pl
index f5cdae451..ffe4b1ad5 100755
--- a/testserver.pl
+++ b/testserver.pl
@@ -1,20 +1,25 @@
-#!/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/.
+#!/usr/bin/perl -w
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# Contributor(s): Joel Peshkin <bugreport@peshkin.net>
+# Byron Jones <byron@glob.com.au>
# 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 warnings;
-
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/token.cgi b/token.cgi
index 136e76137..fd3a38a8e 100755
--- a/token.cgi
+++ b/token.cgi
@@ -1,16 +1,34 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Myk Melez <myk@mozilla.org>
+# Frédéric Buclin <LpSolit@gmail.com>
+
+############################################################################
+# Script Initialization
+############################################################################
-use 5.10.1;
+# Make it harder for us to do dangerous things in Perl.
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/userprefs.cgi b/userprefs.cgi
index 015f6bf4e..3f5d2038c 100755
--- a/userprefs.cgi
+++ b/userprefs.cgi
@@ -1,16 +1,30 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Dan Mosedale <dmose@mozilla.org>
+# Alan Raetz <al_raetz@yahoo.com>
+# David Miller <justdave@syndicomm.com>
+# Christopher Aillon <christopher@aillon.com>
+# Gervase Markham <gerv@gerv.net>
+# Vlad Dascalu <jocuri@softhome.net>
+# Shane H. W. Travis <travis@sedsystems.ca>
-use 5.10.1;
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::BugMail;
diff --git a/view_job_queue.cgi b/view_job_queue.cgi
index 5ea871104..6903acff0 100755
--- a/view_job_queue.cgi
+++ b/view_job_queue.cgi
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -T
+#!/usr/bin/perl -wT
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.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 local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/votes.cgi b/votes.cgi
index 8344d7494..ef9227af0 100755
--- a/votes.cgi
+++ b/votes.cgi
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -T
+#!/usr/bin/perl -wT
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
@@ -23,10 +23,8 @@
# This script remains as a backwards-compatibility URL for before
# the time that Voting was an extension.
-use 5.10.1;
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Error;
diff --git a/whine.pl b/whine.pl
index a1b3ea8bc..a701d36a7 100755
--- a/whine.pl
+++ b/whine.pl
@@ -1,20 +1,32 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Erik Stambaugh <erik@dasbistro.com>
################################################################################
# Script Initialization
################################################################################
-use 5.10.1;
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
diff --git a/whineatnews.pl b/whineatnews.pl
index e1da6f9e4..3bfe29871 100755
--- a/whineatnews.pl
+++ b/whineatnews.pl
@@ -1,10 +1,26 @@
-#!/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/.
+#!/usr/bin/perl -w
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Terry Weissman <terry@mozilla.org>
+# Joseph Heenan <joseph@heenan.me.uk>
+# Frédéric Buclin <LpSolit@gmail.com>
# This is a script suitable for running once a day from a cron job. It
@@ -14,11 +30,8 @@
# param. (We have NEW and REOPENED in there to keep compatibility with old
# Bugzillas.)
-use 5.10.1;
use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Mailer;
diff --git a/xml.cgi b/xml.cgi
index 1b5fac9fa..ce6a7c39b 100755
--- a/xml.cgi
+++ b/xml.cgi
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -T
+#!/usr/bin/perl -wT
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
@@ -22,11 +22,9 @@
# Terry Weissman <terry@mozilla.org>
# Gervase Markham <gerv@gerv.net>
-use 5.10.1;
use strict;
-use warnings;
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
my $cgi = Bugzilla->cgi;
diff --git a/xmlrpc.cgi b/xmlrpc.cgi
index 74923e18d..8b1e69f28 100755
--- a/xmlrpc.cgi
+++ b/xmlrpc.cgi
@@ -1,16 +1,22 @@
-#!/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/.
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
#
-# This Source Code Form is "Incompatible With Secondary Licenses", as
-# defined by the Mozilla Public License, v. 2.0.
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Marc Schumann <wurblzap@gmail.com>
-use 5.10.1;
use strict;
-use warnings;
-
-use lib qw(. lib local/lib/perl5);
+use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;