]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 995209 - Create a Build.PL script using Module::Build for testing/installing...
authorDavid Lawrence <dkl@mozilla.com>
Thu, 1 May 2014 20:56:44 +0000 (20:56 +0000)
committerDavid Lawrence <dkl@mozilla.com>
Thu, 1 May 2014 20:56:44 +0000 (20:56 +0000)
r=glob,a=justdave

Build.PL [new file with mode: 0644]
MANIFEST.SKIP [new file with mode: 0644]

diff --git a/Build.PL b/Build.PL
new file mode 100644 (file)
index 0000000..a69f990
--- /dev/null
+++ b/Build.PL
@@ -0,0 +1,61 @@
+#!/usr/bin/perl
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
+
+use 5.10.1;
+use strict;
+use warnings;
+
+use FindBin qw($RealBin);
+use lib ($RealBin, "$RealBin/lib");
+
+use Module::Build 0.36_14;
+
+use Bugzilla::Install::Requirements qw(REQUIRED_MODULES OPTIONAL_MODULES);
+use Bugzilla::Constants qw(BUGZILLA_VERSION);
+
+sub requires {
+    my $requirements = REQUIRED_MODULES();
+    my $hrequires = {};
+    foreach my $module (@$requirements) {
+        $hrequires->{$module->{module}} = $module->{version};
+    }
+    return $hrequires;
+};
+
+sub build_requires {
+    return requires();
+}
+
+sub recommends {
+    my $recommends = OPTIONAL_MODULES();
+    my @blacklist = ('Apache2-SizeLimit', 'mod_perl'); # Does not compile properly on Travis
+    my $hrecommends = {};
+    foreach my $module (@$recommends) {
+        next if grep($_ eq $module->{package}, @blacklist);
+        $hrecommends->{$module->{module}} = $module->{version};
+    }
+    return $hrecommends;
+}
+
+my $build = Module::Build->new(
+    module_name        => 'Bugzilla',
+    dist_abstract      => <<END,
+Bugzilla is a free bug-tracking system that is developed by an active
+community of volunteers. You can install and use it without having to
+pay any license fee.
+END
+    dist_version_from  => 'Bugzilla/Constants.pm',
+    dist_version       => BUGZILLA_VERSION,
+    requires           => requires(),
+    recommends         => recommends(),
+    license            => 'Mozilla_2_0',
+    create_readme      => 0,
+    create_makefile_pl => 0
+);
+
+$build->create_build_script;
diff --git a/MANIFEST.SKIP b/MANIFEST.SKIP
new file mode 100644 (file)
index 0000000..69204e6
--- /dev/null
@@ -0,0 +1,53 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
+
+#!start included /usr/share/perl5/ExtUtils/MANIFEST.SKIP
+# Avoid version control files.
+\B\.git\b
+\B\.bzr\b
+\B\.bzrignore\b
+\B\.gitignore\b
+\B\.gitrev\b
+\B\.patch\b
+
+# Avoid Makemaker generated and utility files.
+\bMANIFEST\.bak
+\bMakefile$
+\bblib/
+\bMakeMaker-\d
+\bpm_to_blib\.ts$
+\bpm_to_blib$
+\bblibdirs\.ts$         # 6.18 through 6.25 generated this
+
+# Avoid Module::Build generated and utility files.
+\bBuild$
+\b_build/
+
+# Avoid temp and backup files.
+~$
+\.old$
+\#$
+\b\.#
+\.bak$
+\.swp$
+
+#!end included /usr/share/perl5/ExtUtils/MANIFEST.SKIP
+
+# Avoid Module::Build generated and utility files.
+\bBuild$
+\bBuild.bat$
+\b_build
+\bBuild.COM$
+\bBUILD.COM$
+\bbuild.com$
+
+# Avoid archives of this distribution
+\bBugzilla-[\d\.\_]+
+
+# Bugzilla specific avoids
+\bdata\/\b
+\blocalconfig$