diff --git a/common/shlibs b/common/shlibs index 645e96e38d1..fc5fb6e1b0b 100644 --- a/common/shlibs +++ b/common/shlibs @@ -4036,58 +4036,137 @@ libevemu.so.3 evemu-2.7.0_1 libinih.so.0 inih-52_1 libINIReader.so.0 inih-57_1 libpcaudio.so.0 pcaudiolib-1.1_1 -libdcerpc-samr.so.0 samba-4.13.2_1 -libdcerpc-server-core.so.0 samba-4.13.2_1 -libnetapi.so.0 samba-4.13.2_1 -libnss_winbind.so.2 samba-4.13.2_1 -libnss_wins.so.2 samba-4.13.2_1 -libsamba-policy.so.0 samba-4.13.2_1 -libauth-unix-token-samba4.so samba-4.13.2_1 -libauth4-samba4.so samba-4.13.3_1 -libdcerpc-samba4.so samba-4.13.2_1 -libdsdb-module-samba4.so samba-4.13.2_1 -libgpext-samba4.so samba-4.13.2_1 -libnet-keytab-samba4.so samba-4.13.3_1 -libposix-eadb-samba4.so samba-4.13.2_1 -libprinting-migrate-samba4.so samba-4.13.2_1 -libsamba-net-samba4.so samba-4.13.2_1 -libsamba-python-samba4.so samba-4.13.3_1 -libshares-samba4.so samba-4.13.2_1 -libsmbd-base-samba4.so samba-4.13.2_1 -libsmbd-conn-samba4.so samba-4.13.2_1 -libsmbpasswordparser-samba4.so samba-4.13.3_1 -libxattr-tdb-samba4.so samba-4.13.2_1 -libdcerpc.so.0 samba-libs-4.13.2_1 -libdcerpc-binding.so.0 samba-libs-4.13.2_1 -libndr-krb5pac.so.0 samba-libs-4.13.2_1 -libndr-nbt.so.0 samba-libs-4.13.2_1 -libndr-standard.so.0 samba-libs-4.13.2_1 -libndr.so.1 samba-libs-4.13.2_1 -libsamba-credentials.so.1 samba-libs-4.13.2_1 -libsamba-errors.so.1 samba-libs-4.13.2_1 -libsamba-hostconfig.so.0 samba-libs-4.13.2_1 -libsamba-passdb.so.0 samba-libs-4.13.2_1 -libsamba-util.so.0 samba-libs-4.13.2_1 -libsamdb.so.0 samba-libs-4.13.2_1 -libsmbclient.so.0 samba-libs-4.13.2_1 -libsmbconf.so.0 samba-libs-4.13.2_1 -libsmbldap.so.2 samba-libs-4.13.2_1 -libwbclient.so.0 samba-libs-4.13.2_1 -libcli-ldap-samba4.so samba-libs-4.13.2_1 -libcliauth-samba4.so samba-libs-4.13.2_1 -libcluster-samba4.so samba-libs-4.13.3_1 -libcommon-auth-samba4.so samba-libs-4.13.2_1 -libdcerpc-samba-samba4.so samba-libs-4.13.2_1 -libflag-mapping-samba4.so samba-libs-4.13.3_1 -libgpo-samba4.so samba-libs-4.13.2_1 -libiov-buf-samba4.so samba-libs-4.13.3_1 -libndr-samba-samba4.so samba-libs-4.13.2_1 -libndr-samba4.so samba-libs-4.13.2_1 -libprinter-driver-samba4.so samba-libs-4.13.3_1 -libsmb-transport-samba4.so samba-libs-4.13.2_1 -libtdb-wrap-samba4.so samba-libs-4.13.3_1 -libutil-cmdline-samba4.so samba-libs-4.13.2_1 -libwinbind-client-samba4.so samba-libs-4.13.2_1 +libdcerpc.so.0 samba-libs-4.20.1_1 +libdcerpc-binding.so.0 samba-libs-4.20.1_1 +libdcerpc-samr.so.0 samba-libs-4.20.1_1 +libdcerpc-server.so.0 samba-libs-4.20.1_1 +libdcerpc-server-core.so.0 samba-libs-4.20.1_1 +libndr.so.4 samba-libs-4.20.1_1 +libndr-krb5pac.so.0 samba-libs-4.20.1_1 +libndr-nbt.so.0 samba-libs-4.20.1_1 +libndr-standard.so.0 samba-libs-4.20.1_1 +libnetapi.so.1 samba-libs-4.20.1_1 +libnss_winbind.so.2 samba-libs-4.20.1_1 +libnss_wins.so.2 samba-libs-4.20.1_1 +libsamba-credentials.so.1 samba-libs-4.20.1_1 +libsamba-errors.so.1 samba-libs-4.20.1_1 +libsamba-hostconfig.so.0 samba-libs-4.20.1_1 +libsamba-passdb.so.0 samba-libs-4.20.1_1 +libsamba-policy.so.0 samba-libs-4.20.1_1 +libsamba-util.so.0 samba-libs-4.20.1_1 +libsamdb.so.0 samba-libs-4.20.1_1 +libsmbclient.so.0 samba-libs-4.20.1_1 +libsmbconf.so.0 samba-libs-4.20.1_1 +libsmbldap.so.2 samba-libs-4.20.1_1 +libtevent-util.so.0 samba-libs-4.20.1_1 +libwbclient.so.0 samba-libs-4.20.1_1 +libCHARSET3-private-samba.so samba-libs-4.20.1_1 +libLIBWBCLIENT-OLD-private-samba.so samba-libs-4.20.1_1 +libMESSAGING-private-samba.so samba-libs-4.20.1_1 +libMESSAGING-SEND-private-samba.so samba-libs-4.20.1_1 +libREG-FULL-private-samba.so samba-libs-4.20.1_1 +libRPC-SERVER-LOOP-private-samba.so samba-libs-4.20.1_1 +libRPC-WORKER-private-samba.so samba-libs-4.20.1_1 +libad-claims-private-samba.so samba-libs-4.20.1_1 +libaddns-private-samba.so samba-libs-4.20.1_1 +libads-private-samba.so samba-libs-4.20.1_1 +libasn1util-private-samba.so samba-libs-4.20.1_1 +libauth-private-samba.so samba-libs-4.20.1_1 +libauth-unix-token-private-samba.so samba-libs-4.20.1_1 +libauth4-private-samba.so samba-libs-4.20.1_1 +libauthkrb5-private-samba.so samba-libs-4.20.1_1 +libauthn-policy-util-private-samba.so samba-libs-4.20.1_1 +libcli-cldap-private-samba.so samba-libs-4.20.1_1 +libcli-ldap-private-samba.so samba-libs-4.20.1_1 +libcli-ldap-common-private-samba.so samba-libs-4.20.1_1 +libcli-nbt-private-samba.so samba-libs-4.20.1_1 +libcli-smb-common-private-samba.so samba-libs-4.20.1_1 +libcli-spoolss-private-samba.so samba-libs-4.20.1_1 +libcliauth-private-samba.so samba-libs-4.20.1_1 +libclidns-private-samba.so samba-libs-4.20.1_1 +libcluster-private-samba.so samba-libs-4.20.1_1 +libcmdline-private-samba.so samba-libs-4.20.1_1 +libcmdline-contexts-private-samba.so samba-libs-4.20.1_1 +libcommon-auth-private-samba.so samba-libs-4.20.1_1 +libctdb-event-client-private-samba.so samba-libs-4.20.1_1 +libdb-glue-private-samba.so samba-libs-4.20.1_1 +libdbwrap-private-samba.so samba-libs-4.20.1_1 +libdcerpc-pkt-auth-private-samba.so samba-libs-4.20.1_1 +libdcerpc-samba-private-samba.so samba-libs-4.20.1_1 +libdcerpc-samba4-private-samba.so samba-libs-4.20.1_1 +libdfs-server-ad-private-samba.so samba-libs-4.20.1_1 +libdlz-bind9-for-torture-private-samba.so samba-libs-4.20.1_1 +libdnsserver-common-private-samba.so samba-libs-4.20.1_1 +libdsdb-garbage-collect-tombstones-private-samba.so samba-libs-4.20.1_1 +libdsdb-module-private-samba.so samba-libs-4.20.1_1 +libevents-private-samba.so samba-libs-4.20.1_1 +libflag-mapping-private-samba.so samba-libs-4.20.1_1 +libgenrand-private-samba.so samba-libs-4.20.1_1 +libgensec-private-samba.so samba-libs-4.20.1_1 +libgpext-private-samba.so samba-libs-4.20.1_1 +libgpo-private-samba.so samba-libs-4.20.1_1 +libgse-private-samba.so samba-libs-4.20.1_1 +libhttp-private-samba.so samba-libs-4.20.1_1 +libidmap-private-samba.so samba-libs-4.20.1_1 +libinterfaces-private-samba.so samba-libs-4.20.1_1 +libiov-buf-private-samba.so samba-libs-4.20.1_1 +libkrb5samba-private-samba.so samba-libs-4.20.1_1 +libldbsamba-private-samba.so samba-libs-4.20.1_1 +liblibcli-lsa3-private-samba.so samba-libs-4.20.1_1 +liblibcli-netlogon3-private-samba.so samba-libs-4.20.1_1 +liblibsmb-private-samba.so samba-libs-4.20.1_1 +libmessages-dgm-private-samba.so samba-libs-4.20.1_1 +libmessages-util-private-samba.so samba-libs-4.20.1_1 +libmscat-private-samba.so samba-libs-4.20.1_1 +libmsghdr-private-samba.so samba-libs-4.20.1_1 +libmsrpc3-private-samba.so samba-libs-4.20.1_1 +libndr-samba-private-samba.so samba-libs-4.20.1_1 +libndr-samba4-private-samba.so samba-libs-4.20.1_1 +libnet-keytab-private-samba.so samba-libs-4.20.1_1 +libnetif-private-samba.so samba-libs-4.20.1_1 +libnpa-tstream-private-samba.so samba-libs-4.20.1_1 +libnss-info-private-samba.so samba-libs-4.20.1_1 +libpac-private-samba.so samba-libs-4.20.1_1 +libposix-eadb-private-samba.so samba-libs-4.20.1_1 +libprinter-driver-private-samba.so samba-libs-4.20.1_1 +libprinting-migrate-private-samba.so samba-libs-4.20.1_1 +libprocess-model-private-samba.so samba-libs-4.20.1_1 +libregistry-private-samba.so samba-libs-4.20.1_1 +libreplace-private-samba.so samba-libs-4.20.1_1 +libsamba-cluster-support-private-samba.so samba-libs-4.20.1_1 +libsamba-debug-private-samba.so samba-libs-4.20.1_1 +libsamba-modules-private-samba.so samba-libs-4.20.1_1 +libsamba-net-private-samba.so samba-libs-4.20.1_1 +libsamba-python-private-samba.so samba-libs-4.20.1_1 +libsamba-security-private-samba.so samba-libs-4.20.1_1 +libsamba-sockets-private-samba.so samba-libs-4.20.1_1 +libsamba3-util-private-samba.so samba-libs-4.20.1_1 +libsamdb-common-private-samba.so samba-libs-4.20.1_1 +libscavenge-dns-records-private-samba.so samba-libs-4.20.1_1 +libsecrets3-private-samba.so samba-libs-4.20.1_1 +libserver-id-db-private-samba.so samba-libs-4.20.1_1 +libserver-role-private-samba.so samba-libs-4.20.1_1 +libservice-private-samba.so samba-libs-4.20.1_1 +libshares-private-samba.so samba-libs-4.20.1_1 +libsmb-transport-private-samba.so samba-libs-4.20.1_1 +libsmbclient-raw-private-samba.so samba-libs-4.20.1_1 +libsmbd-base-private-samba.so samba-libs-4.20.1_1 +libsmbd-shim-private-samba.so samba-libs-4.20.1_1 +libsmbldaphelper-private-samba.so samba-libs-4.20.1_1 +libsmbpasswdparser-private-samba.so samba-libs-4.20.1_1 +libsocket-blocking-private-samba.so samba-libs-4.20.1_1 +libstable-sort-private-samba.so samba-libs-4.20.1_1 +libsys-rw-private-samba.so samba-libs-4.20.1_1 +libtalloc-report-private-samba.so samba-libs-4.20.1_1 +libtalloc-report-printf-private-samba.so samba-libs-4.20.1_1 +libtdb-wrap-private-samba.so samba-libs-4.20.1_1 +libtime-basic-private-samba.so samba-libs-4.20.1_1 +libtorture-private-samba.so samba-libs-4.20.1_1 +libtrusts-util-private-samba.so samba-libs-4.20.1_1 +libutil-reg-private-samba.so samba-libs-4.20.1_1 +libutil-setid-private-samba.so samba-libs-4.20.1_1 +libutil-tdb-private-samba.so samba-libs-4.20.1_1 +libxattr-tdb-private-samba.so samba-libs-4.20.1_1 libsixel.so.1 libsixel-1.8.6_1 libpamtest.so.0 pam_wrapper-1.1.3_1 libopenaptx.so.0 libopenaptx-0.2.0_1 diff --git a/srcpkgs/samba-dc b/srcpkgs/samba-dc new file mode 120000 index 00000000000..cba1f39180b --- /dev/null +++ b/srcpkgs/samba-dc @@ -0,0 +1 @@ +samba \ No newline at end of file diff --git a/srcpkgs/samba/patches/fix-glibc-2.36.patch b/srcpkgs/samba/patches/fix-glibc-2.36.patch deleted file mode 100644 index beb84ce6a8d..00000000000 --- a/srcpkgs/samba/patches/fix-glibc-2.36.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 766151bf5b7ef95ae4c8c98b8994e5c21c5bbec0 Mon Sep 17 00:00:00 2001 -From: Andreas Schneider -Date: Tue, 2 Aug 2022 07:55:46 +0200 -Subject: [PATCH] lib:replace: Only include on non-Linux systems -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Details at: -https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E - -BUG: https://bugzilla.samba.org/show_bug.cgi?id=15132 - -Signed-off-by: Andreas Schneider -Reviewed-by: Ralph Boehme - -Autobuild-User(master): Ralph Böhme -Autobuild-Date(master): Tue Aug 2 11:05:14 UTC 2022 on sn-devel-184 ---- - lib/replace/system/filesys.h | 4 +++- - lib/replace/wscript | 3 +++ - 2 files changed, 6 insertions(+), 1 deletion(-) - -diff --git a/lib/replace/system/filesys.h b/lib/replace/system/filesys.h -index 034e5d5886c..bb9482c69af 100644 ---- a/lib/replace/system/filesys.h -+++ b/lib/replace/system/filesys.h -@@ -36,7 +36,8 @@ - #include - #endif - --#ifdef HAVE_SYS_MOUNT_H -+/* This include is required on UNIX (*BSD, AIX, ...) for statfs() */ -+#if !defined(LINUX) && defined(HAVE_SYS_MOUNT_H) - #include - #endif - -@@ -44,6 +45,7 @@ - #include - #endif - -+/* This include is required on Linux for statfs() */ - #ifdef HAVE_SYS_VFS_H - #include - #endif -diff --git a/lib/replace/wscript b/lib/replace/wscript -index 4c774d9f0c3..dd9b19219a1 100644 ---- a/lib/replace/wscript -+++ b/lib/replace/wscript -@@ -31,6 +31,9 @@ def configure(conf): - - conf.env.standalone_replace = conf.IN_LAUNCH_DIR() - -+ if sys.platform.rfind('linux') > -1: -+ conf.DEFINE('LINUX', '1') -+ - conf.DEFINE('BOOL_DEFINED', 1) - conf.DEFINE('HAVE_LIBREPLACE', 1) - conf.DEFINE('LIBREPLACE_NETWORK_CHECKS', 1) diff --git a/srcpkgs/samba/patches/missing-headers.patch b/srcpkgs/samba/patches/missing-headers.patch deleted file mode 100644 index 820d7ecd903..00000000000 --- a/srcpkgs/samba/patches/missing-headers.patch +++ /dev/null @@ -1,52 +0,0 @@ -diff --git lib/param/loadparm.h lib/param/loadparm.h -index b5d79b9..3f4eae0 100644 ---- a/lib/param/loadparm.h -+++ b/lib/param/loadparm.h -@@ -31,6 +31,7 @@ - #define _LOADPARM_H - - #include -+#include - - struct parmlist_entry { - struct parmlist_entry *prev, *next; -diff --git source3/lib/system_smbd.c source3/lib/system_smbd.c -index 3b1ac9c..4044d75 100644 ---- a/source3/lib/system_smbd.c -+++ b/source3/lib/system_smbd.c -@@ -27,6 +27,8 @@ - #include "system/passwd.h" - #include "nsswitch/winbind_client.h" - #include "../lib/util/setid.h" -+#include -+#include - - #ifndef HAVE_GETGROUPLIST - -diff --git source4/torture/local/nss_tests.c source4/torture/local/nss_tests.c -index 2cd6122..0c84ec2 100644 ---- a/source4/torture/local/nss_tests.c -+++ b/source4/torture/local/nss_tests.c -@@ -20,6 +20,8 @@ - */ - - #include "includes.h" -+#include -+#include - - #include "torture/torture.h" - #include "torture/local/proto.h" - -diff --git ctdb/tests/src/protocol_util_test.c ctdb/tests/src/protocol_util_test.c -index edd2a34..48ce96e 100644 ---- a/ctdb/tests/src/protocol_util_test.c -+++ b/ctdb/tests/src/protocol_util_test.c -@@ -20,6 +20,7 @@ - #include "replace.h" - #include "system/network.h" - -+#include - #include - - #include "protocol/protocol_basic.c" - diff --git a/srcpkgs/samba/patches/netdb-defines.patch b/srcpkgs/samba/patches/netdb-defines.patch deleted file mode 100644 index 15f79eebfb6..00000000000 --- a/srcpkgs/samba/patches/netdb-defines.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git nsswitch/wins.c nsswitch/wins.c -index dccb6dd..bb24acb 100644 ---- a/nsswitch/wins.c -+++ b/nsswitch/wins.c -@@ -39,6 +39,14 @@ static pthread_mutex_t wins_nss_mutex = PTHREAD_MUTEX_INITIALIZER; - #define INADDRSZ 4 - #endif - -+#ifndef NETDB_INTERNAL -+#define NETDB_INTERNAL -1 -+#endif -+ -+#ifndef NETDB_SUCCESS -+#define NETDB_SUCCESS 0 -+#endif -+ - NSS_STATUS _nss_wins_gethostbyname_r(const char *hostname, - struct hostent *he, - char *buffer, diff --git a/srcpkgs/samba/patches/samba-bgqd-include-signal-h.patch b/srcpkgs/samba/patches/samba-bgqd-include-signal-h.patch new file mode 100644 index 00000000000..10dc1278cdc --- /dev/null +++ b/srcpkgs/samba/patches/samba-bgqd-include-signal-h.patch @@ -0,0 +1,14 @@ +SIGTERM and SIGPIPE are used but undefined. +diff --git a/source3/printing/samba-bgqd.c b/source3/printing/samba-bgqd.c +index 8ac6ec5..09a5d12 100644 +--- a/source3/printing/samba-bgqd.c ++++ b/source3/printing/samba-bgqd.c +@@ -40,6 +40,7 @@ + #include "source3/lib/util_procid.h" + #include "source3/auth/proto.h" + #include "source3/printing/queue_process.h" + #include "source3/lib/substitute.h" ++#include + + static void watch_handler(struct tevent_req *req) + { diff --git a/srcpkgs/samba/template b/srcpkgs/samba/template index 20af96624fd..2d370479273 100644 --- a/srcpkgs/samba/template +++ b/srcpkgs/samba/template @@ -1,69 +1,73 @@ # Template file for 'samba' pkgname=samba -version=4.14.12 -revision=5 +version=4.20.1 +revision=1 build_style=waf3 build_helper="qemu" configure_script="buildtools/bin/waf" -_idmap_modules="idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2" -_pdb_modules="pdb_tdbsam,pdb_ldap,pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4" -_auth_modules="auth_unix,auth_wbc,auth_server,auth_netlogind,autH_script,auth_samba4" -configure_args="--enable-fhs --sbindir=/usr/bin - --localstatedir=/var --sysconfdir=/etc --with-piddir=/run/samba +_idmap_modules="idmap_ad,idmap_rid,idmap_ldap,idmap_hash,idmap_tdb2" +_pdb_modules="pdb_tdbsam,pdb_ldap,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4" +_auth_modules="auth_unix,auth_wbc,auth_server,auth_samba4,auth_skel" +_vfs_modules="vfs_io_uring" +configure_args="--enable-fhs --sysconfdir=/etc --localstatedir=/var + --sbindir=/usr/bin --with-privatelibdir=/usr/lib + --with-privatedir=/etc/samba/private --with-piddir=/run/samba --with-sockets-dir=/run/samba --with-lockdir=/run/lock/samba - --with-privatedir=/etc/samba/private --with-pammodulesdir=/usr/lib/security - --with-modulesdir=/usr/lib/samba --disable-rpath --disable-rpath-install - --without-systemd --without-gettext --bundled-libraries=NONE - --with-system-mitkrb5 --without-ad-dc --with-cluster-support - --with-shared-modules=${_idmap_modules},${_pdb_modules},${_auth_modules}" -hostmakedepends="pkg-config perl-Parse-Yapp rpcsvc-proto docbook2x - libtasn1-tools tdb-python3 tevent-python3 talloc-python3 python3-setuptools" + --disable-rpath --disable-rpath-install --nopyc --nopyo + --without-gettext --without-systemd --without-gpgme + --with-cluster-support --with-system-mitkrb5 --with-experimental-mit-ad-dc + --bundled-libraries=NONE --builtin-libraries=NONE + --with-shared-modules=${_idmap_modules},${_pdb_modules},${_auth_modules},${_vfs_modules}" +hostmakedepends="pkg-config perl-Parse-Yapp rpcsvc-proto docbook-xsl libxslt + libtasn1-tools tdb-python3 tevent-python3 talloc-python3 ldb-python3 flex + bison mit-krb5 python3-Markdown python3-dnspython" makedepends="python3-devel libtirpc-devel popt-devel e2fsprogs-devel mit-krb5-devel pam-devel acl-devel cups-devel avahi-libs-devel tdb-devel talloc-devel tevent-devel ldb-devel cmocka-devel gnutls-devel zlib-devel - ncurses-devel libldap-devel libarchive-devel jansson-devel" + ncurses-devel libldap-devel libarchive-devel jansson-devel liburing-devel" short_desc="SMB/CIFS file, print, and login server for Unix" maintainer="Orphaned " license="GPL-3.0-or-later" homepage="http://www.samba.org" distfiles="https://download.samba.org/pub/samba/stable/${pkgname}-${version}.tar.gz" -checksum=155d9c2dfb06a18104422987590858bfe5e9783ebebe63882e7e7f07eaaa512d +checksum=f93c3af5295340d08106c7c0dcfb85e4f85057dfd14587aa8817beb31aff88f7 lib32disabled=yes conf_files="/etc/pam.d/samba /etc/samba/smb.conf" make_dirs="/etc/samba/private 0750 root root" -subpackages="smbclient samba-ctdb samba-cups samba-devel samba-libs samba-python3" +subpackages="smbclient samba-ctdb samba-cups samba-devel samba-libs + samba-python3 samba-dc" if [ "$XBPS_TARGET_LIBC" = "musl" ]; then - makedepends+=" musl-legacy-compat musl-nscd-devel" + makedepends+=" musl-legacy-compat musl-nscd-devel libexecinfo-devel" else makedepends+=" glusterfs-devel" subpackages+=" samba-glusterfs" + + if [ "$XBPS_CHECK_PKGS" ]; then + configure_args+=" --enable-selftest" + hostmakedepends+=" python3-cryptography python3-iso8601 + python3-pyasn1" + makedepends+=" nss_wrapper pam_wrapper resolv_wrapper + socket_wrapper uid_wrapper" + fi fi -# By default, samba wants to install a bunch of private "*-samba4.so" shared -# libraries that leak into shlib_requires dependencies. Most of these can be -# built into the public shared libraries, avoiding the mess of tracking shlibs -# that shouldn't be exposed locally. For those that cannot be built in, make -# sure to install them into /usr/lib so xbps-src picks them up. -_privlibs="CHARSET3 MESSAGING_SEND MESSAGING LIBWBCLIENT_OLD addns ads \ - asn1util auth authkrb5 cmdline_contexts cmdline-credentials cli_cldap \ - cli-ldap-common cli-nbt cli_smb_common cli_spoolss clidns common-auth \ - ctdb-event-client dbwrap dcerpc-pkt-auth events genrand gensec gse http \ - interfaces krb5samba ldbsamba libcli_lsa3 libcli_netlogon3 libsmb \ - messages_dgm messages_util mscat msghdr msrpc3 netif npa_tstream popt_samba3 \ - popt_samba3_cmdline registry replace samba-cluster-support samba-debug \ - samba-modules samba-security samba-sockets samba3-util samdb-common secrets3 \ - server_id_db server-role smbclient-raw smbd_shim socket-blocking sys_rw \ - talloc_report_printf talloc_report tevent-util time-basic trusts_util \ - util_reg util_setid util_tdb" -configure_args+=" --with-privatelibdir=/usr/lib --builtin-libraries=${_privlibs// /,}" - export PYTHON_CONFIG="${XBPS_CROSS_BASE}/usr/bin/python3-config" +export PYTHONHASHSEED=1 post_patch() { # Look for properly named python support libraries vsed -i third_party/waf/waflib/Tools/python.py \ - -e "/env.pyext_PATTERN/s/dct\['SO'\]/'.so'/" + -e "s|env.pyext_PATTERN = .*$|env.pyext_PATTERN = '%s.so'|g" + + # Fix for our `kdb` linking against the system `db` package which + # doesn't distribute a pkg-config file and the samba build scripts just + # can't handle that. + cat >>wscript_configure_system_mitkrb5 <<_EOF +if ("db" in conf.env["LIB_KDB5"] + and not conf.check_cfg(package="db", mandatory=False)): + krb5_define_syslib(conf, "db", []) +_EOF # Fix log and spool locations in conf file vsed -i examples/smb.conf.default \ @@ -90,6 +94,8 @@ post_install() { vmkdir usr/lib/cups/backend ln -fs /usr/bin/smbspool ${DESTDIR}/usr/lib/cups/backend/smb + vinstall packaging/printing/smbprint 744 usr/bin/ + # Do not ship sudo rule that grants nopasswd privileges by default rm -rf ${DESTDIR}/etc/sudoers.d @@ -110,10 +116,9 @@ smbclient_package() { local _t _tools # These utilities have man pages in section 1 - _tools="findsmb dbwrap_tool mdfind mvxattr nmblookup ntlm_auth - oLschema2ldif regdiff regpatch regshell regtree rpcclient - sharesec smbcacls smbclient smbcquotas smbget smbtar smbtree - wbinfo" + _tools="dbwrap_tool mdsearch mvxattr nmblookup oLschema2ldif + regdiff regpatch regshell rpcclient sharesec smbcacls smbclient + smbcquotas smbget smbtar smbtree wspsearch" for _t in ${_tools}; do vmove usr/bin/${_t} @@ -127,11 +132,9 @@ smbclient_package() { vmove usr/share/man/man8/${_t}.8 done - # No man page for this one + # No man page for these vmove usr/bin/dumpmscat - - # Extra man page for smbget - vmove usr/share/man/man5/smbgetrc.5 + vmove usr/bin/smbprint vmove usr/libexec/samba/smbspool_krb5_wrapper vmove usr/share/man/man8/smbspool_krb5_wrapper.8 @@ -171,19 +174,40 @@ samba-libs_package() { replaces="libsmbclient>=0" pkg_install() { local _libs _privlibs _lib - _libs="dcerpc dcerpc-binding ndr-krb5pac ndr-nbt ndr-standard ndr - samba-credentials samba-errors samba-hostconfig samba-passdb - samba-util samdb smbclient smbconf smbldap wbclient" - _privlibs="cli-ldap cliauth cluster common-auth dcerpc-samba - flag-mapping gpo iov-buf ndr-samba ndr printer-driver - smb-transport tdb-wrap util-cmdline winbind-client" + _libs="dcerpc dcerpc-binding dcerpc-samr dcerpc-server + dcerpc-server-core ndr ndr-krb5pac ndr-nbt ndr-standard netapi + nss_winbind nss_wins samba-credentials samba-errors + samba-hostconfig samba-passdb samba-policy samba-util samdb + smbclient smbconf smbldap tevent-util wbclient" + _privlibs="CHARSET3 LIBWBCLIENT-OLD MESSAGING MESSAGING-SEND + REG-FULL RPC-SERVER-LOOP RPC-WORKER ad-claims addns ads + asn1util auth auth-unix-token auth4 authkrb5 authn-policy-util + cli-cldap cli-ldap cli-ldap-common cli-nbt cli-smb-common + cli-spoolss cliauth clidns cluster cmdline cmdline-contexts + common-auth ctdb-event-client db-glue dbwrap dcerpc-pkt-auth + dcerpc-samba dcerpc-samba4 dfs-server-ad dlz-bind9-for-torture + dnsserver-common dsdb-garbage-collect-tombstones dsdb-module + events flag-mapping genrand gensec gpext gpo gse http idmap + interfaces iov-buf krb5samba ldbsamba libcli-lsa3 + libcli-netlogon3 libsmb messages-dgm messages-util mscat + msghdr msrpc3 ndr-samba ndr-samba4 net-keytab netif + npa-tstream nss-info pac posix-eadb printer-driver + printing-migrate process-model registry replace + samba-cluster-support samba-debug samba-modules samba-net + samba-python samba-security samba-sockets samba3-util + samdb-common scavenge-dns-records secrets3 server-id-db + server-role service shares smb-transport smbclient-raw + smbd-base smbd-shim smbldaphelper smbpasswdparser + socket-blocking stable-sort sys-rw talloc-report + talloc-report-printf tdb-wrap time-basic torture trusts-util + util-reg util-setid util-tdb xattr-tdb" for _lib in ${_libs}; do vmove "usr/lib/lib${_lib}.so.*" done for _lib in ${_privlibs}; do - vmove "usr/lib/lib${_lib}-samba4.so" + vmove "usr/lib/lib${_lib}-private-samba.so" done vmove usr/share/man/man7/libsmbclient.7 @@ -209,6 +233,9 @@ samba-devel_package() { } samba-python3_package() { + depends="ldb-python3 talloc-python3 tdb-python3 tevent-python3 + python3-cryptography python3-dnspython python3-Markdown + python3-requests" short_desc+=" - Python3 bindings" pkg_install() { vmove ${py3_lib} @@ -222,3 +249,12 @@ samba-glusterfs_package() { vmove usr/share/man/man8/vfs_glusterfs.8 } } + +samba-dc_package() { + depends="samba-python3>=${version}_${revision}" + short_desc+=" - AD Domain Controller" + pkg_install() { + vmove "usr/bin/samba*" + vmove usr/share/samba + } +}