samba: update to 4.20.1.

This also builds and packages the io_uring VFS and more importantly the
AD Domain Control part of Samba.
This commit is contained in:
Otto Modinos 2024-05-22 13:06:38 +03:00 committed by Andrew Benson
parent a12ffd32d5
commit 098bae8c76
7 changed files with 234 additions and 234 deletions

View file

@ -4036,58 +4036,137 @@ libevemu.so.3 evemu-2.7.0_1
libinih.so.0 inih-52_1 libinih.so.0 inih-52_1
libINIReader.so.0 inih-57_1 libINIReader.so.0 inih-57_1
libpcaudio.so.0 pcaudiolib-1.1_1 libpcaudio.so.0 pcaudiolib-1.1_1
libdcerpc-samr.so.0 samba-4.13.2_1 libdcerpc.so.0 samba-libs-4.20.1_1
libdcerpc-server-core.so.0 samba-4.13.2_1 libdcerpc-binding.so.0 samba-libs-4.20.1_1
libnetapi.so.0 samba-4.13.2_1 libdcerpc-samr.so.0 samba-libs-4.20.1_1
libnss_winbind.so.2 samba-4.13.2_1 libdcerpc-server.so.0 samba-libs-4.20.1_1
libnss_wins.so.2 samba-4.13.2_1 libdcerpc-server-core.so.0 samba-libs-4.20.1_1
libsamba-policy.so.0 samba-4.13.2_1 libndr.so.4 samba-libs-4.20.1_1
libauth-unix-token-samba4.so samba-4.13.2_1 libndr-krb5pac.so.0 samba-libs-4.20.1_1
libauth4-samba4.so samba-4.13.3_1 libndr-nbt.so.0 samba-libs-4.20.1_1
libdcerpc-samba4.so samba-4.13.2_1 libndr-standard.so.0 samba-libs-4.20.1_1
libdsdb-module-samba4.so samba-4.13.2_1 libnetapi.so.1 samba-libs-4.20.1_1
libgpext-samba4.so samba-4.13.2_1 libnss_winbind.so.2 samba-libs-4.20.1_1
libnet-keytab-samba4.so samba-4.13.3_1 libnss_wins.so.2 samba-libs-4.20.1_1
libposix-eadb-samba4.so samba-4.13.2_1 libsamba-credentials.so.1 samba-libs-4.20.1_1
libprinting-migrate-samba4.so samba-4.13.2_1 libsamba-errors.so.1 samba-libs-4.20.1_1
libsamba-net-samba4.so samba-4.13.2_1 libsamba-hostconfig.so.0 samba-libs-4.20.1_1
libsamba-python-samba4.so samba-4.13.3_1 libsamba-passdb.so.0 samba-libs-4.20.1_1
libshares-samba4.so samba-4.13.2_1 libsamba-policy.so.0 samba-libs-4.20.1_1
libsmbd-base-samba4.so samba-4.13.2_1 libsamba-util.so.0 samba-libs-4.20.1_1
libsmbd-conn-samba4.so samba-4.13.2_1 libsamdb.so.0 samba-libs-4.20.1_1
libsmbpasswordparser-samba4.so samba-4.13.3_1 libsmbclient.so.0 samba-libs-4.20.1_1
libxattr-tdb-samba4.so samba-4.13.2_1 libsmbconf.so.0 samba-libs-4.20.1_1
libdcerpc.so.0 samba-libs-4.13.2_1 libsmbldap.so.2 samba-libs-4.20.1_1
libdcerpc-binding.so.0 samba-libs-4.13.2_1 libtevent-util.so.0 samba-libs-4.20.1_1
libndr-krb5pac.so.0 samba-libs-4.13.2_1 libwbclient.so.0 samba-libs-4.20.1_1
libndr-nbt.so.0 samba-libs-4.13.2_1 libCHARSET3-private-samba.so samba-libs-4.20.1_1
libndr-standard.so.0 samba-libs-4.13.2_1 libLIBWBCLIENT-OLD-private-samba.so samba-libs-4.20.1_1
libndr.so.1 samba-libs-4.13.2_1 libMESSAGING-private-samba.so samba-libs-4.20.1_1
libsamba-credentials.so.1 samba-libs-4.13.2_1 libMESSAGING-SEND-private-samba.so samba-libs-4.20.1_1
libsamba-errors.so.1 samba-libs-4.13.2_1 libREG-FULL-private-samba.so samba-libs-4.20.1_1
libsamba-hostconfig.so.0 samba-libs-4.13.2_1 libRPC-SERVER-LOOP-private-samba.so samba-libs-4.20.1_1
libsamba-passdb.so.0 samba-libs-4.13.2_1 libRPC-WORKER-private-samba.so samba-libs-4.20.1_1
libsamba-util.so.0 samba-libs-4.13.2_1 libad-claims-private-samba.so samba-libs-4.20.1_1
libsamdb.so.0 samba-libs-4.13.2_1 libaddns-private-samba.so samba-libs-4.20.1_1
libsmbclient.so.0 samba-libs-4.13.2_1 libads-private-samba.so samba-libs-4.20.1_1
libsmbconf.so.0 samba-libs-4.13.2_1 libasn1util-private-samba.so samba-libs-4.20.1_1
libsmbldap.so.2 samba-libs-4.13.2_1 libauth-private-samba.so samba-libs-4.20.1_1
libwbclient.so.0 samba-libs-4.13.2_1 libauth-unix-token-private-samba.so samba-libs-4.20.1_1
libcli-ldap-samba4.so samba-libs-4.13.2_1 libauth4-private-samba.so samba-libs-4.20.1_1
libcliauth-samba4.so samba-libs-4.13.2_1 libauthkrb5-private-samba.so samba-libs-4.20.1_1
libcluster-samba4.so samba-libs-4.13.3_1 libauthn-policy-util-private-samba.so samba-libs-4.20.1_1
libcommon-auth-samba4.so samba-libs-4.13.2_1 libcli-cldap-private-samba.so samba-libs-4.20.1_1
libdcerpc-samba-samba4.so samba-libs-4.13.2_1 libcli-ldap-private-samba.so samba-libs-4.20.1_1
libflag-mapping-samba4.so samba-libs-4.13.3_1 libcli-ldap-common-private-samba.so samba-libs-4.20.1_1
libgpo-samba4.so samba-libs-4.13.2_1 libcli-nbt-private-samba.so samba-libs-4.20.1_1
libiov-buf-samba4.so samba-libs-4.13.3_1 libcli-smb-common-private-samba.so samba-libs-4.20.1_1
libndr-samba-samba4.so samba-libs-4.13.2_1 libcli-spoolss-private-samba.so samba-libs-4.20.1_1
libndr-samba4.so samba-libs-4.13.2_1 libcliauth-private-samba.so samba-libs-4.20.1_1
libprinter-driver-samba4.so samba-libs-4.13.3_1 libclidns-private-samba.so samba-libs-4.20.1_1
libsmb-transport-samba4.so samba-libs-4.13.2_1 libcluster-private-samba.so samba-libs-4.20.1_1
libtdb-wrap-samba4.so samba-libs-4.13.3_1 libcmdline-private-samba.so samba-libs-4.20.1_1
libutil-cmdline-samba4.so samba-libs-4.13.2_1 libcmdline-contexts-private-samba.so samba-libs-4.20.1_1
libwinbind-client-samba4.so samba-libs-4.13.2_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 libsixel.so.1 libsixel-1.8.6_1
libpamtest.so.0 pam_wrapper-1.1.3_1 libpamtest.so.0 pam_wrapper-1.1.3_1
libopenaptx.so.0 libopenaptx-0.2.0_1 libopenaptx.so.0 libopenaptx-0.2.0_1

1
srcpkgs/samba-dc Symbolic link
View file

@ -0,0 +1 @@
samba

View file

@ -1,59 +0,0 @@
From 766151bf5b7ef95ae4c8c98b8994e5c21c5bbec0 Mon Sep 17 00:00:00 2001
From: Andreas Schneider <asn@samba.org>
Date: Tue, 2 Aug 2022 07:55:46 +0200
Subject: [PATCH] lib:replace: Only include <sys/mount.h> 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 <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
Autobuild-User(master): Ralph Böhme <slow@samba.org>
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 <sys/param.h>
#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 <sys/mount.h>
#endif
@@ -44,6 +45,7 @@
#include <mntent.h>
#endif
+/* This include is required on Linux for statfs() */
#ifdef HAVE_SYS_VFS_H
#include <sys/vfs.h>
#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)

View file

@ -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 <talloc.h>
+#include <time.h>
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 <grp.h>
+#include <uuid/uuid.h>
#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 <grp.h>
+#include <uuid/uuid.h>
#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 <unistd.h>
#include <assert.h>
#include "protocol/protocol_basic.c"

View file

@ -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,

View file

@ -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 <signal.h>
static void watch_handler(struct tevent_req *req)
{

View file

@ -1,69 +1,73 @@
# Template file for 'samba' # Template file for 'samba'
pkgname=samba pkgname=samba
version=4.14.12 version=4.20.1
revision=5 revision=1
build_style=waf3 build_style=waf3
build_helper="qemu" build_helper="qemu"
configure_script="buildtools/bin/waf" configure_script="buildtools/bin/waf"
_idmap_modules="idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2" _idmap_modules="idmap_ad,idmap_rid,idmap_ldap,idmap_hash,idmap_tdb2"
_pdb_modules="pdb_tdbsam,pdb_ldap,pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4" _pdb_modules="pdb_tdbsam,pdb_ldap,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4"
_auth_modules="auth_unix,auth_wbc,auth_server,auth_netlogind,autH_script,auth_samba4" _auth_modules="auth_unix,auth_wbc,auth_server,auth_samba4,auth_skel"
configure_args="--enable-fhs --sbindir=/usr/bin _vfs_modules="vfs_io_uring"
--localstatedir=/var --sysconfdir=/etc --with-piddir=/run/samba 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-sockets-dir=/run/samba --with-lockdir=/run/lock/samba
--with-privatedir=/etc/samba/private --with-pammodulesdir=/usr/lib/security --disable-rpath --disable-rpath-install --nopyc --nopyo
--with-modulesdir=/usr/lib/samba --disable-rpath --disable-rpath-install --without-gettext --without-systemd --without-gpgme
--without-systemd --without-gettext --bundled-libraries=NONE --with-cluster-support --with-system-mitkrb5 --with-experimental-mit-ad-dc
--with-system-mitkrb5 --without-ad-dc --with-cluster-support --bundled-libraries=NONE --builtin-libraries=NONE
--with-shared-modules=${_idmap_modules},${_pdb_modules},${_auth_modules}" --with-shared-modules=${_idmap_modules},${_pdb_modules},${_auth_modules},${_vfs_modules}"
hostmakedepends="pkg-config perl-Parse-Yapp rpcsvc-proto docbook2x hostmakedepends="pkg-config perl-Parse-Yapp rpcsvc-proto docbook-xsl libxslt
libtasn1-tools tdb-python3 tevent-python3 talloc-python3 python3-setuptools" 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 makedepends="python3-devel libtirpc-devel popt-devel e2fsprogs-devel
mit-krb5-devel pam-devel acl-devel cups-devel avahi-libs-devel tdb-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 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" short_desc="SMB/CIFS file, print, and login server for Unix"
maintainer="Orphaned <orphan@voidlinux.org>" maintainer="Orphaned <orphan@voidlinux.org>"
license="GPL-3.0-or-later" license="GPL-3.0-or-later"
homepage="http://www.samba.org" homepage="http://www.samba.org"
distfiles="https://download.samba.org/pub/samba/stable/${pkgname}-${version}.tar.gz" distfiles="https://download.samba.org/pub/samba/stable/${pkgname}-${version}.tar.gz"
checksum=155d9c2dfb06a18104422987590858bfe5e9783ebebe63882e7e7f07eaaa512d checksum=f93c3af5295340d08106c7c0dcfb85e4f85057dfd14587aa8817beb31aff88f7
lib32disabled=yes lib32disabled=yes
conf_files="/etc/pam.d/samba /etc/samba/smb.conf" conf_files="/etc/pam.d/samba /etc/samba/smb.conf"
make_dirs="/etc/samba/private 0750 root root" 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 if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
makedepends+=" musl-legacy-compat musl-nscd-devel" makedepends+=" musl-legacy-compat musl-nscd-devel libexecinfo-devel"
else else
makedepends+=" glusterfs-devel" makedepends+=" glusterfs-devel"
subpackages+=" samba-glusterfs" 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 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 PYTHON_CONFIG="${XBPS_CROSS_BASE}/usr/bin/python3-config"
export PYTHONHASHSEED=1
post_patch() { post_patch() {
# Look for properly named python support libraries # Look for properly named python support libraries
vsed -i third_party/waf/waflib/Tools/python.py \ 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 # Fix log and spool locations in conf file
vsed -i examples/smb.conf.default \ vsed -i examples/smb.conf.default \
@ -90,6 +94,8 @@ post_install() {
vmkdir usr/lib/cups/backend vmkdir usr/lib/cups/backend
ln -fs /usr/bin/smbspool ${DESTDIR}/usr/lib/cups/backend/smb 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 # Do not ship sudo rule that grants nopasswd privileges by default
rm -rf ${DESTDIR}/etc/sudoers.d rm -rf ${DESTDIR}/etc/sudoers.d
@ -110,10 +116,9 @@ smbclient_package() {
local _t _tools local _t _tools
# These utilities have man pages in section 1 # These utilities have man pages in section 1
_tools="findsmb dbwrap_tool mdfind mvxattr nmblookup ntlm_auth _tools="dbwrap_tool mdsearch mvxattr nmblookup oLschema2ldif
oLschema2ldif regdiff regpatch regshell regtree rpcclient regdiff regpatch regshell rpcclient sharesec smbcacls smbclient
sharesec smbcacls smbclient smbcquotas smbget smbtar smbtree smbcquotas smbget smbtar smbtree wspsearch"
wbinfo"
for _t in ${_tools}; do for _t in ${_tools}; do
vmove usr/bin/${_t} vmove usr/bin/${_t}
@ -127,11 +132,9 @@ smbclient_package() {
vmove usr/share/man/man8/${_t}.8 vmove usr/share/man/man8/${_t}.8
done done
# No man page for this one # No man page for these
vmove usr/bin/dumpmscat vmove usr/bin/dumpmscat
vmove usr/bin/smbprint
# Extra man page for smbget
vmove usr/share/man/man5/smbgetrc.5
vmove usr/libexec/samba/smbspool_krb5_wrapper vmove usr/libexec/samba/smbspool_krb5_wrapper
vmove usr/share/man/man8/smbspool_krb5_wrapper.8 vmove usr/share/man/man8/smbspool_krb5_wrapper.8
@ -171,19 +174,40 @@ samba-libs_package() {
replaces="libsmbclient>=0" replaces="libsmbclient>=0"
pkg_install() { pkg_install() {
local _libs _privlibs _lib local _libs _privlibs _lib
_libs="dcerpc dcerpc-binding ndr-krb5pac ndr-nbt ndr-standard ndr _libs="dcerpc dcerpc-binding dcerpc-samr dcerpc-server
samba-credentials samba-errors samba-hostconfig samba-passdb dcerpc-server-core ndr ndr-krb5pac ndr-nbt ndr-standard netapi
samba-util samdb smbclient smbconf smbldap wbclient" nss_winbind nss_wins samba-credentials samba-errors
_privlibs="cli-ldap cliauth cluster common-auth dcerpc-samba samba-hostconfig samba-passdb samba-policy samba-util samdb
flag-mapping gpo iov-buf ndr-samba ndr printer-driver smbclient smbconf smbldap tevent-util wbclient"
smb-transport tdb-wrap util-cmdline winbind-client" _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 for _lib in ${_libs}; do
vmove "usr/lib/lib${_lib}.so.*" vmove "usr/lib/lib${_lib}.so.*"
done done
for _lib in ${_privlibs}; do for _lib in ${_privlibs}; do
vmove "usr/lib/lib${_lib}-samba4.so" vmove "usr/lib/lib${_lib}-private-samba.so"
done done
vmove usr/share/man/man7/libsmbclient.7 vmove usr/share/man/man7/libsmbclient.7
@ -209,6 +233,9 @@ samba-devel_package() {
} }
samba-python3_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" short_desc+=" - Python3 bindings"
pkg_install() { pkg_install() {
vmove ${py3_lib} vmove ${py3_lib}
@ -222,3 +249,12 @@ samba-glusterfs_package() {
vmove usr/share/man/man8/vfs_glusterfs.8 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
}
}