374 lines
14 KiB
Diff
374 lines
14 KiB
Diff
From 6271d0d87c8b956007b5b5f78efa62d1a34c55f7 Mon Sep 17 00:00:00 2001
|
|
From: Andreas Schneider <asn@samba.org>
|
|
Date: Fri, 28 Feb 2014 15:47:45 +0100
|
|
Subject: [PATCH 1/9] buildtools: Rename perl vendorarch configure option.
|
|
|
|
Signed-off-by: Andreas Schneider <asn@samba.org>
|
|
Reviewed-by: Stefan Metzmacher <metze@samba.org>
|
|
---
|
|
buildtools/wafadmin/Tools/perl.py | 13 +++++++++----
|
|
1 file changed, 9 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/buildtools/wafadmin/Tools/perl.py b/buildtools/wafadmin/Tools/perl.py
|
|
index a6787a8..99e0540 100644
|
|
--- a/buildtools/wafadmin/Tools/perl.py
|
|
+++ b/buildtools/wafadmin/Tools/perl.py
|
|
@@ -98,12 +98,17 @@ def check_perl_ext_devel(conf):
|
|
conf.env.EXTUTILS_TYPEMAP = read_out('print "$Config{privlib}/ExtUtils/typemap"')
|
|
conf.env.perlext_PATTERN = '%s.' + read_out('print $Config{dlext}')[0]
|
|
|
|
- if getattr(Options.options, 'perlarchdir', None):
|
|
- conf.env.ARCHDIR_PERL = Options.options.perlarchdir
|
|
+ if getattr(Options.options, 'perl_vendorarch_dir', None):
|
|
+ conf.env.PERL_VENDORARCH_DIR = Options.options.perl_vendorarch_dir
|
|
else:
|
|
- conf.env.ARCHDIR_PERL = read_out('print $Config{sitearch}')[0]
|
|
+ conf.env.PERL_VENDORARCH_DIR = read_out('print $Config{vendorarch}')[0]
|
|
|
|
def set_options(opt):
|
|
opt.add_option("--with-perl-binary", type="string", dest="perlbinary", help = 'Specify alternate perl binary', default=None)
|
|
- opt.add_option("--with-perl-archdir", type="string", dest="perlarchdir", help = 'Specify directory where to install arch specific files', default=None)
|
|
+
|
|
+ opt.add_option("--with-perl-vendorarch",
|
|
+ type="string",
|
|
+ dest="perl_vendorarch_dir",
|
|
+ help = ('Specify directory where to install arch specific files'),
|
|
+ default=None)
|
|
|
|
--
|
|
1.9.0
|
|
|
|
|
|
From f415ba757c6454e5f5d10adbd074a31f3c650ce9 Mon Sep 17 00:00:00 2001
|
|
From: Andreas Schneider <asn@samba.org>
|
|
Date: Fri, 28 Feb 2014 15:50:02 +0100
|
|
Subject: [PATCH 2/9] buildtools: Add perl vendorlib configure option.
|
|
|
|
After this patch has been pushed, we need to change autobuild to compile
|
|
with this option or we will not be able to install pidl.
|
|
|
|
Signed-off-by: Andreas Schneider <asn@samba.org>
|
|
Reviewed-by: Stefan Metzmacher <metze@samba.org>
|
|
---
|
|
buildtools/wafadmin/Tools/perl.py | 10 ++++++++++
|
|
1 file changed, 10 insertions(+)
|
|
|
|
diff --git a/buildtools/wafadmin/Tools/perl.py b/buildtools/wafadmin/Tools/perl.py
|
|
index 99e0540..8f13e28 100644
|
|
--- a/buildtools/wafadmin/Tools/perl.py
|
|
+++ b/buildtools/wafadmin/Tools/perl.py
|
|
@@ -103,6 +103,11 @@ def check_perl_ext_devel(conf):
|
|
else:
|
|
conf.env.PERL_VENDORARCH_DIR = read_out('print $Config{vendorarch}')[0]
|
|
|
|
+ if getattr(Options.options, 'perl_vendorlib_dir', None):
|
|
+ conf.env.PERL_VENDORLIB_DIR = Options.options.perl_vendorlib_dir
|
|
+ else:
|
|
+ conf.env.PERL_VENDORLIB_DIR = read_out('print $Config{vendorlib}')[0]
|
|
+
|
|
def set_options(opt):
|
|
opt.add_option("--with-perl-binary", type="string", dest="perlbinary", help = 'Specify alternate perl binary', default=None)
|
|
|
|
@@ -112,3 +117,8 @@ def set_options(opt):
|
|
help = ('Specify directory where to install arch specific files'),
|
|
default=None)
|
|
|
|
+ opt.add_option("--with-perl-vendorlib",
|
|
+ type="string",
|
|
+ dest="perl_vendorlib_dir",
|
|
+ help = ('Specify directory where to install vendor specific files'),
|
|
+ default=None)
|
|
--
|
|
1.9.0
|
|
|
|
|
|
From f191572655655fa920f132f51dfdb8b1df85e7d0 Mon Sep 17 00:00:00 2001
|
|
From: Andreas Schneider <asn@samba.org>
|
|
Date: Wed, 5 Mar 2014 16:27:15 +0100
|
|
Subject: [PATCH 3/9] autobuild: Set perl vendorlib direcotry.
|
|
|
|
Signed-off-by: Andreas Schneider <asn@samba.org>
|
|
Reviewed-by: Stefan Metzmacher <metze@samba.org>
|
|
---
|
|
script/autobuild.py | 7 ++++---
|
|
1 file changed, 4 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/script/autobuild.py b/script/autobuild.py
|
|
index fe39ed9..3136643 100755
|
|
--- a/script/autobuild.py
|
|
+++ b/script/autobuild.py
|
|
@@ -35,7 +35,7 @@ defaulttasks = [ "samba", "samba-ctdb", "samba-libs", "ldb", "tdb", "ntdb", "tal
|
|
|
|
tasks = {
|
|
# We have 'test' before 'install' because, 'test' should work without 'install'
|
|
- "samba" : [ ("configure", "./configure.developer ${PREFIX} --with-selftest-prefix=./bin/ab", "text/plain"),
|
|
+ "samba" : [ ("configure", "./configure.developer ${PREFIX} ${PERL_VENDOR_LIB} --with-selftest-prefix=./bin/ab", "text/plain"),
|
|
("make", "make -j", "text/plain"),
|
|
("test", "make test FAIL_IMMEDIATELY=1", "text/plain"),
|
|
("install", "make install", "text/plain"),
|
|
@@ -53,7 +53,7 @@ tasks = {
|
|
("ctdb-header-install", "cp ./ctdb/include/* ${PREFIX_DIR}/include", "text/plain"),
|
|
("ctdb-header-ls", "ls ${PREFIX_DIR}/include/ctdb.h", "text/plain"),
|
|
|
|
- ("configure", "PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure.developer ${PREFIX} --with-selftest-prefix=./bin/ab --with-cluster-support --with-ctdb-dir=${PREFIX_DIR} --bundled-libraries=!tdb", "text/plain"),
|
|
+ ("configure", "PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure.developer ${PREFIX} ${PERL_VENDOR_LIB} --with-selftest-prefix=./bin/ab --with-cluster-support --with-ctdb-dir=${PREFIX_DIR} --bundled-libraries=!tdb", "text/plain"),
|
|
("make", "make", "text/plain"),
|
|
("check", "./bin/smbd -b | grep CLUSTER_SUPPORT", "text/plain"),
|
|
("install", "make install", "text/plain"),
|
|
@@ -82,7 +82,7 @@ tasks = {
|
|
("ldb-make", "cd lib/ldb && make", "text/plain"),
|
|
("ldb-install", "cd lib/ldb && make install", "text/plain"),
|
|
|
|
- ("configure", "PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure --bundled-libraries=!talloc,!tdb,!pytdb,!ntdb,!pyntdb,!ldb,!pyldb,!tevent,!pytevent --abi-check --enable-debug -C ${PREFIX}", "text/plain"),
|
|
+ ("configure", "PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure --bundled-libraries=!talloc,!tdb,!pytdb,!ntdb,!pyntdb,!ldb,!pyldb,!tevent,!pytevent --abi-check --enable-debug -C ${PREFIX} ${PERL_VENDOR_LIB}", "text/plain"),
|
|
("make", "make", "text/plain"),
|
|
("install", "make install", "text/plain")],
|
|
|
|
@@ -212,6 +212,7 @@ class builder(object):
|
|
self.cmd = self.cmd.replace("${PYTHON_PREFIX}", get_python_lib(standard_lib=1, prefix=self.prefix))
|
|
self.cmd = self.cmd.replace("${PREFIX}", "--prefix=%s" % self.prefix)
|
|
self.cmd = self.cmd.replace("${PREFIX_DIR}", "%s" % self.prefix)
|
|
+ self.cmd = self.cmd.replace("${PERL_VENDOR_LIB}", "--with-perl-vendorlib=%s/share/perl5" % self.prefix)
|
|
# if self.output_mime_type == "text/x-subunit":
|
|
# self.cmd += " | %s --immediate" % (os.path.join(os.path.dirname(__file__), "selftest/format-subunit"))
|
|
print '%s: [%s] Running %s' % (self.name, self.stage, self.cmd)
|
|
--
|
|
1.9.0
|
|
|
|
|
|
From 7df60a7a5709ba7daf9cc6baf45e1b6074ddd384 Mon Sep 17 00:00:00 2001
|
|
From: Andreas Schneider <asn@samba.org>
|
|
Date: Fri, 28 Feb 2014 15:54:09 +0100
|
|
Subject: [PATCH 4/9] pidl-waf: Remove unused variable pidl_src.
|
|
|
|
Signed-off-by: Andreas Schneider <asn@samba.org>
|
|
Reviewed-by: Stefan Metzmacher <metze@samba.org>
|
|
---
|
|
pidl/wscript | 3 ---
|
|
1 file changed, 3 deletions(-)
|
|
|
|
diff --git a/pidl/wscript b/pidl/wscript
|
|
index 7a25734..05d9982 100644
|
|
--- a/pidl/wscript
|
|
+++ b/pidl/wscript
|
|
@@ -26,9 +26,6 @@ def build(bld):
|
|
if not bld.CONFIG_SET('HAVE_PERL_MAKEMAKER'):
|
|
return
|
|
|
|
- pidl_src = ['pidl']
|
|
- pidl_src.extend(bld.path.ant_glob('lib/**/*.pm').split())
|
|
-
|
|
pidl_manpages = {
|
|
'pidl': 'man1/pidl.${PERLMAN1EXT}',
|
|
'lib/Parse/Pidl/NDR.pm': 'man3/Parse::Pidl::NDR.${PERLMAN3EXT}',
|
|
--
|
|
1.9.0
|
|
|
|
|
|
From 16f10c8a3f7ca8c3aeebd945c2ca2153f608d4ce Mon Sep 17 00:00:00 2001
|
|
From: Andreas Schneider <asn@samba.org>
|
|
Date: Fri, 28 Feb 2014 15:53:10 +0100
|
|
Subject: [PATCH 5/9] pidl-waf: Install pidl modules to the perl vendorlib
|
|
directory.
|
|
|
|
Signed-off-by: Andreas Schneider <asn@samba.org>
|
|
Reviewed-by: Stefan Metzmacher <metze@samba.org>
|
|
---
|
|
pidl/lib/wscript_build | 2 +-
|
|
pidl/wscript | 2 ++
|
|
2 files changed, 3 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/pidl/lib/wscript_build b/pidl/lib/wscript_build
|
|
index eb5f1e0..67223a8 100644
|
|
--- a/pidl/lib/wscript_build
|
|
+++ b/pidl/lib/wscript_build
|
|
@@ -1,4 +1,4 @@
|
|
#!/usr/bin/env python
|
|
|
|
# install the pidl modules
|
|
-bld.INSTALL_WILDCARD('${DATAROOTDIR}/perl5', '**/*.pm', flat=False)
|
|
+bld.INSTALL_WILDCARD(bld.env.PERL_VENDORLIB_DIR, '**/*.pm', flat=False)
|
|
diff --git a/pidl/wscript b/pidl/wscript
|
|
index 05d9982..77abb01 100644
|
|
--- a/pidl/wscript
|
|
+++ b/pidl/wscript
|
|
@@ -8,6 +8,8 @@ def set_options(opt):
|
|
|
|
def configure(conf):
|
|
conf.check_tool('perl')
|
|
+ conf.check_perl_ext_devel()
|
|
+
|
|
# we need a recent version of MakeMaker to get the right man page names
|
|
if conf.CHECK_PERL_MANPAGE():
|
|
conf.env.PERLMAN1EXT = conf.CHECK_PERL_MANPAGE(section='1')
|
|
--
|
|
1.9.0
|
|
|
|
|
|
From 410cb8e9235d956da1be1a38fda51c16b239ee11 Mon Sep 17 00:00:00 2001
|
|
From: Andreas Schneider <asn@samba.org>
|
|
Date: Fri, 28 Feb 2014 15:55:46 +0100
|
|
Subject: [PATCH 6/9] pidl-waf: Do not glob to install pidl modules.
|
|
|
|
Signed-off-by: Andreas Schneider <asn@samba.org>
|
|
Reviewed-by: Stefan Metzmacher <metze@samba.org>
|
|
---
|
|
pidl/lib/wscript_build | 31 ++++++++++++++++++++++++++++++-
|
|
1 file changed, 30 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/pidl/lib/wscript_build b/pidl/lib/wscript_build
|
|
index 67223a8..2d6e634 100644
|
|
--- a/pidl/lib/wscript_build
|
|
+++ b/pidl/lib/wscript_build
|
|
@@ -1,4 +1,33 @@
|
|
#!/usr/bin/env python
|
|
|
|
# install the pidl modules
|
|
-bld.INSTALL_WILDCARD(bld.env.PERL_VENDORLIB_DIR, '**/*.pm', flat=False)
|
|
+bld.INSTALL_FILES(bld.env.PERL_VENDORLIB_DIR,
|
|
+ '''
|
|
+ Parse/Pidl.pm
|
|
+ Parse/Pidl/Samba4.pm
|
|
+ Parse/Pidl/CUtil.pm
|
|
+ Parse/Pidl/Expr.pm
|
|
+ Parse/Pidl/Wireshark/Conformance.pm
|
|
+ Parse/Pidl/Wireshark/NDR.pm
|
|
+ Parse/Pidl/ODL.pm
|
|
+ Parse/Pidl/Dump.pm
|
|
+ Parse/Pidl/Util.pm
|
|
+ Parse/Pidl/Samba4/Header.pm
|
|
+ Parse/Pidl/Samba4/COM/Header.pm
|
|
+ Parse/Pidl/Samba4/COM/Proxy.pm
|
|
+ Parse/Pidl/Samba4/COM/Stub.pm
|
|
+ Parse/Pidl/Samba4/TDR.pm
|
|
+ Parse/Pidl/Samba4/NDR/Server.pm
|
|
+ Parse/Pidl/Samba4/NDR/Client.pm
|
|
+ Parse/Pidl/Samba4/NDR/Parser.pm
|
|
+ Parse/Pidl/Samba4/Python.pm
|
|
+ Parse/Pidl/Samba4/Template.pm
|
|
+ Parse/Pidl/IDL.pm
|
|
+ Parse/Pidl/Typelist.pm
|
|
+ Parse/Pidl/Samba3/ClientNDR.pm
|
|
+ Parse/Pidl/Samba3/ServerNDR.pm
|
|
+ Parse/Pidl/Compat.pm
|
|
+ Parse/Pidl/NDR.pm
|
|
+ Parse/Yapp/Driver.pm
|
|
+ ''',
|
|
+ flat=False)
|
|
--
|
|
1.9.0
|
|
|
|
|
|
From 51162d6acb0cc189e22f824bef80849687da13a5 Mon Sep 17 00:00:00 2001
|
|
From: Andreas Schneider <asn@samba.org>
|
|
Date: Fri, 28 Feb 2014 15:59:41 +0100
|
|
Subject: [PATCH 7/9] pidl-waf: Add a function to check for a system perl
|
|
module.
|
|
|
|
Signed-off-by: Andreas Schneider <asn@samba.org>
|
|
Reviewed-by: Stefan Metzmacher <metze@samba.org>
|
|
---
|
|
pidl/wscript | 22 ++++++++++++++++++++++
|
|
1 file changed, 22 insertions(+)
|
|
|
|
diff --git a/pidl/wscript b/pidl/wscript
|
|
index 77abb01..2364391 100644
|
|
--- a/pidl/wscript
|
|
+++ b/pidl/wscript
|
|
@@ -3,6 +3,28 @@
|
|
import os, sys, Logs
|
|
from samba_utils import MODE_755
|
|
|
|
+# This function checks if a perl module is installed on the system.
|
|
+def check_system_perl_module(conf, module, version=None):
|
|
+ bundle_name = module.replace('::', '_')
|
|
+ module_check = module
|
|
+ found = False
|
|
+
|
|
+ # Create module string with version
|
|
+ if version:
|
|
+ module_check = module + ' ' + str(version)
|
|
+
|
|
+ # Check if we have to bundle it.
|
|
+ if conf.LIB_MUST_BE_BUNDLED(bundle_name.lower()):
|
|
+ return False
|
|
+
|
|
+ # Check for system perl module
|
|
+ if not conf.check_perl_module(module_check):
|
|
+ return False
|
|
+
|
|
+ conf.define('USING_SYSTEM_%s' % bundle_name.upper(), 1)
|
|
+
|
|
+ return True
|
|
+
|
|
def set_options(opt):
|
|
opt.tool_options('perl')
|
|
|
|
--
|
|
1.9.0
|
|
|
|
|
|
From 093e4f863477b7a7458b8bc24e876d63d3b1c09d Mon Sep 17 00:00:00 2001
|
|
From: Andreas Schneider <asn@samba.org>
|
|
Date: Fri, 28 Feb 2014 15:59:45 +0100
|
|
Subject: [PATCH 8/9] pidl-waf: Check for system perl(Parse::Yapp::Driver).
|
|
|
|
Signed-off-by: Andreas Schneider <asn@samba.org>
|
|
Reviewed-by: Stefan Metzmacher <metze@samba.org>
|
|
---
|
|
pidl/wscript | 3 +++
|
|
1 file changed, 3 insertions(+)
|
|
|
|
diff --git a/pidl/wscript b/pidl/wscript
|
|
index 2364391..4965870 100644
|
|
--- a/pidl/wscript
|
|
+++ b/pidl/wscript
|
|
@@ -32,6 +32,9 @@ def configure(conf):
|
|
conf.check_tool('perl')
|
|
conf.check_perl_ext_devel()
|
|
|
|
+ # Check if perl(Parse::Yapp::Driver) is available.
|
|
+ check_system_perl_module(conf, "Parse::Yapp::Driver", 1.05)
|
|
+
|
|
# we need a recent version of MakeMaker to get the right man page names
|
|
if conf.CHECK_PERL_MANPAGE():
|
|
conf.env.PERLMAN1EXT = conf.CHECK_PERL_MANPAGE(section='1')
|
|
--
|
|
1.9.0
|
|
|
|
|
|
From 446cd106908d497b5130b66aff9b1afa38c357b1 Mon Sep 17 00:00:00 2001
|
|
From: Andreas Schneider <asn@samba.org>
|
|
Date: Fri, 28 Feb 2014 16:00:54 +0100
|
|
Subject: [PATCH 9/9] pidl-waf: Only install Yapp::Driver if it is not
|
|
available.
|
|
|
|
Signed-off-by: Andreas Schneider <asn@samba.org>
|
|
Reviewed-by: Stefan Metzmacher <metze@samba.org>
|
|
|
|
Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
|
|
Autobuild-Date(master): Thu Mar 6 23:30:47 CET 2014 on sn-devel-104
|
|
---
|
|
pidl/lib/wscript_build | 6 +++++-
|
|
1 file changed, 5 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/pidl/lib/wscript_build b/pidl/lib/wscript_build
|
|
index 2d6e634..5023e07 100644
|
|
--- a/pidl/lib/wscript_build
|
|
+++ b/pidl/lib/wscript_build
|
|
@@ -28,6 +28,10 @@ bld.INSTALL_FILES(bld.env.PERL_VENDORLIB_DIR,
|
|
Parse/Pidl/Samba3/ServerNDR.pm
|
|
Parse/Pidl/Compat.pm
|
|
Parse/Pidl/NDR.pm
|
|
- Parse/Yapp/Driver.pm
|
|
''',
|
|
flat=False)
|
|
+
|
|
+if not bld.CONFIG_SET('USING_SYSTEM_PARSE_YAPP_DRIVER'):
|
|
+ bld.INSTALL_FILES(bld.env.PERL_VENDORLIB_DIR,
|
|
+ 'Parse/Yapp/Driver.pm',
|
|
+ flat=False)
|
|
--
|
|
1.9.0
|
|
|