diff options
Diffstat (limited to 'Bugzilla')
177 files changed, 3698 insertions, 1412 deletions
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); |