From d8d5855742c2129b7373d6fccd77f7132e7a5f57 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Fri, 29 Nov 2019 11:19:17 +0100 Subject: [PATCH] Remove the pidl patch and build pidl using its Makefile.PL --- pidl.patch | 116 ----------------------------------------------------- samba.spec | 28 ++++++++++--- 2 files changed, 23 insertions(+), 121 deletions(-) delete mode 100644 pidl.patch diff --git a/pidl.patch b/pidl.patch deleted file mode 100644 index 889aeb0..0000000 --- a/pidl.patch +++ /dev/null @@ -1,116 +0,0 @@ -From 838457ac4f9f3f6c1bb5936738566210a62cbdc5 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?G=C3=BCnther=20Deschner?= -Date: Tue, 27 Aug 2019 15:25:13 +0200 -Subject: [PATCH] Revert "waf: install: Remove installation of PIDL and - manpages." - -This reverts commit e24e344d0da58013fd5fa404529fe1d25ef403bf. - -BUG: https://bugzilla.samba.org/show_bug.cgi?id=14103 - -Guenther - -Signed-off-by: Guenther Deschner ---- - pidl/lib/wscript_build | 37 +++++++++++++++++++++++++++++++++++++ - pidl/wscript | 38 ++++++++++++++++++++++++++++++++++++++ - 2 files changed, 75 insertions(+) - create mode 100644 pidl/lib/wscript_build - -diff --git a/pidl/lib/wscript_build b/pidl/lib/wscript_build -new file mode 100644 -index 00000000000..54b3170c4e2 ---- /dev/null -+++ b/pidl/lib/wscript_build -@@ -0,0 +1,37 @@ -+#!/usr/bin/env python -+ -+# install the pidl modules -+bld.INSTALL_FILES(bld.env.PERL_LIB_INSTALL_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 -+ ''', -+ flat=False) -+ -+if not bld.CONFIG_SET('USING_SYSTEM_PARSE_YAPP_DRIVER'): -+ bld.INSTALL_FILES(bld.env.PERL_LIB_INSTALL_DIR, -+ 'Parse/Yapp/Driver.pm', -+ flat=False) -diff --git a/pidl/wscript b/pidl/wscript -index 01b71bd8b27..a2a15d36851 100644 ---- a/pidl/wscript -+++ b/pidl/wscript -@@ -32,10 +32,49 @@ - # 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') -+ conf.env.PERLMAN3EXT = conf.CHECK_PERL_MANPAGE(section='3') -+ conf.DEFINE('HAVE_PERL_MAKEMAKER', 1) -+ - # yapp is used for building the parser - conf.find_program('yapp', var='YAPP') -+ conf.find_program('pod2man', var='POD2MAN') - - def build(bld): -+ bld.INSTALL_FILES('${BINDIR}', 'pidl', chmod=MODE_755, perl_fixup=True) -+ -+ bld.RECURSE('lib') -+ -+ if not bld.CONFIG_SET('HAVE_PERL_MAKEMAKER'): -+ return -+ -+ pidl_manpages = { -+ 'pidl': 'man1/pidl.${PERLMAN1EXT}', -+ 'lib/Parse/Pidl/NDR.pm': 'man3/Parse::Pidl::NDR.${PERLMAN3EXT}', -+ 'lib/Parse/Pidl/Wireshark/Conformance.pm': 'man3/Parse::Pidl::Wireshark::Conformance.${PERLMAN3EXT}', -+ 'lib/Parse/Pidl/Dump.pm': 'man3/Parse::Pidl::Dump.${PERLMAN3EXT}', -+ 'lib/Parse/Pidl/Util.pm': 'man3/Parse::Pidl::Util.${PERLMAN3EXT}', -+ 'lib/Parse/Pidl/Wireshark/NDR.pm': 'man3/Parse::Pidl::Wireshark::NDR.${PERLMAN3EXT}' -+ } -+ -+ for k in pidl_manpages.keys(): -+ pidl_manpages[k] = bld.EXPAND_VARIABLES(pidl_manpages[k]) -+ -+ # use perl to build the manpages -+ bld.env.pidl_srcdir = os.path.join(bld.srcnode.abspath(), 'pidl') -+ -+ bld.SET_BUILD_GROUP('final') -+ if 'POD2MAN' in bld.env and bld.env['POD2MAN'] != '': -+ for src in pidl_manpages.keys(): -+ manpage = pidl_manpages[src] -+ section = manpage.rsplit( ".", 1)[1] -+ bld(rule='${POD2MAN} -c "Samba Documentation" -s %s ${SRC} ${TGT}' % section, -+ shell=True, -+ source=src, -+ install_path=os.path.dirname(bld.EXPAND_VARIABLES('${MANDIR}/'+manpage)), -+ target=os.path.basename(manpage)) - - # we want to prefer the git version of the parsers if we can. - # Only if the source has changed do we want to re-run yapp diff --git a/samba.spec b/samba.spec index b644a66..c677fcf 100644 --- a/samba.spec +++ b/samba.spec @@ -118,7 +118,6 @@ Source14: samba.pamd Source201: README.downgrade -Patch0: pidl.patch Patch100: 0000-use-gnutls-for-des-cbc.patch Patch101: 0001-handle-removal-des-enctypes-from-krb5.patch Patch102: 0002-samba-tool-create-working-private-krb5.conf.patch @@ -186,8 +185,6 @@ BuildRequires: pam-devel BuildRequires: perl-interpreter BuildRequires: perl-generators BuildRequires: perl(Archive::Tar) -BuildRequires: perl(ExtUtils::MakeMaker) -BuildRequires: perl(Parse::Yapp) BuildRequires: perl(Test::More) BuildRequires: popt-devel BuildRequires: python3-devel @@ -232,6 +229,7 @@ BuildRequires: gnutls-devel >= 3.2.0 %endif # pidl requirements +BuildRequires: perl(ExtUtils::MakeMaker) BuildRequires: perl(Parse::Yapp) BuildRequires: libtalloc-devel >= %{talloc_version} @@ -872,6 +870,12 @@ export LDFLAGS="%{__global_ldflags} -fuse-ld=gold" make %{?_smp_mflags} +pushd pidl +%__perl Makefile.PL PREFIX=%{_prefix} INSTALLSITELIB=%{perl_vendorlib} + +make %{?_smp_mflags} +popd + %install rm -rf %{buildroot} @@ -1040,6 +1044,13 @@ for f in samba/libsamba-net-samba4.so \ done %endif # ! with_dc +pushd pidl +make DESTDIR=%{buildroot} install + +rm -f %{buildroot}%{perl_archlib}/perllocal.pod +rm -f %{buildroot}%{perl_vendorlib}/auto/Parse/Pidl/.packlist +popd + %if %{with testsuite} %check TDB_NO_FSYNC=1 make %{?_smp_mflags} test @@ -1858,6 +1869,7 @@ fi %dir %{perl_vendorlib}/Parse/Pidl/Samba3 %{perl_vendorlib}/Parse/Pidl/Samba3/ServerNDR.pm %{perl_vendorlib}/Parse/Pidl/Samba3/ClientNDR.pm +%{perl_vendorlib}/Parse/Pidl/Samba3/Template.pm %dir %{perl_vendorlib}/Parse/Pidl/Samba4 %{perl_vendorlib}/Parse/Pidl/Samba4/Header.pm %dir %{perl_vendorlib}/Parse/Pidl/Samba4/COM @@ -1873,8 +1885,14 @@ fi %{perl_vendorlib}/Parse/Pidl/Samba4/TDR.pm %{perl_vendorlib}/Parse/Pidl/NDR.pm %{perl_vendorlib}/Parse/Pidl/Util.pm -%{_mandir}/man1/pidl* -%{_mandir}/man3/Parse::Pidl* +%dir %{perl_vendorlib}/Parse/Yapp +%{perl_vendorlib}/Parse/Yapp/Driver.pm +%{_mandir}/man1/pidl.1* +%{_mandir}/man3/Parse::Pidl::Dump.3pm* +%{_mandir}/man3/Parse::Pidl::NDR.3pm* +%{_mandir}/man3/Parse::Pidl::Util.3pm* +%{_mandir}/man3/Parse::Pidl::Wireshark::Conformance.3pm* +%{_mandir}/man3/Parse::Pidl::Wireshark::NDR.3pm* ### PYTHON3 %files -n python3-%{name}