commit:     d32095b165e0f127a89bbf6af1d99b0c7386cfa2
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Thu Aug  3 15:33:46 2023 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Thu Aug  3 15:33:46 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d32095b1

net-fs/samba: drop 4.16.8

Bug: https://bugs.gentoo.org/910306
Bug: https://bugs.gentoo.org/910334
Signed-off-by: David Seifert <soap <AT> gentoo.org>

 net-fs/samba/Manifest                              |   1 -
 .../files/samba-4.15.12-configure-clang16.patch    | 117 -------
 .../files/samba-4.15.9-libunwind-automagic.patch   | 118 -------
 .../samba/files/samba-4.16.1-netdb-defines.patch   |  25 --
 .../samba-4.16.2-fix-musl-without-innetgr.patch    |  25 --
 net-fs/samba/files/samba-4.4.0-pam.patch           |  29 --
 net-fs/samba/samba-4.16.8.ebuild                   | 387 ---------------------
 7 files changed, 702 deletions(-)

diff --git a/net-fs/samba/Manifest b/net-fs/samba/Manifest
index 3db3f87a9133..5c0bcd72096d 100644
--- a/net-fs/samba/Manifest
+++ b/net-fs/samba/Manifest
@@ -1,2 +1 @@
-DIST samba-4.16.8.tar.gz 30682100 BLAKE2B 
bbb9a89a39cc0bae88ba350df38aae35df0bd18c27dd37b093eb023cf71274c12f14c44037e9704404ee3ba27ab930e866b3b951bcc7a5f4499cbc544f231e6b
 SHA512 
55fa977e046de4470a9f1cb4c7956ca1368a21fc88e6bb6ae93d3cadb5400caaebd5b7d51a5ff1aaea884ec58d8abe6c90f448168aaa175d0f6c018f1a913c70
 DIST samba-4.18.4.tar.gz 41311410 BLAKE2B 
1f1aab7eb933111b9b1c72af8c3dd379fe34014085129e9d5cc400b4e434742e1c08ad4fdf2a98291d6063ce9b2ddc811e9ab5dbb133a85e97f2158f83dd7c96
 SHA512 
bc8d792b510061556c07b6844a825801a4271eed45e01133a4718c1839d123e2908fa0e31e67af43098500e98a9082eb104052e711a8a034fac23d86e15c29ee

diff --git a/net-fs/samba/files/samba-4.15.12-configure-clang16.patch 
b/net-fs/samba/files/samba-4.15.12-configure-clang16.patch
deleted file mode 100644
index 0d9c919bd9eb..000000000000
--- a/net-fs/samba/files/samba-4.15.12-configure-clang16.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-https://bugs.gentoo.org/870043
-https://gitlab.com/samba-team/samba/-/merge_requests/2807
-
-From afc5144819e0db141aa9c58de385e5829b952096 Mon Sep 17 00:00:00 2001
-From: Florian Weimer <[email protected]>
-Date: Mon, 21 Nov 2022 13:37:41 +0100
-Subject: [PATCH 1/3] buildtools/wafsamba: Avoid calling lib_func without a
- prototype
-
-This is a backport of commit f4c0a750d4adebcf2342a44e85f04526c34
-("WAF: Fix detection of linker features")
-to buildtools/wafsamba/samba_conftests.py.  It fixes the check for
-rpath support with compilers in strict C99 mode.
-
-Signed-off-by: Florian Weimer <[email protected]>
---- a/buildtools/wafsamba/samba_waf18.py
-+++ b/buildtools/wafsamba/samba_waf18.py
-@@ -209,7 +209,8 @@ def CHECK_LIBRARY_SUPPORT(conf, rpath=False, 
version_script=False, msg=None):
-         lib_node.parent.mkdir()
-         lib_node.write('int lib_func(void) { return 42; }\n', 'w')
-         main_node = bld.srcnode.make_node('main.c')
--        main_node.write('int main(void) {return !(lib_func() == 42);}', 'w')
-+        main_node.write('int lib_func(void);\n'
-+                        'int main(void) {return !(lib_func() == 42);}', 'w')
-         linkflags = []
-         if version_script:
-             script = bld.srcnode.make_node('ldscript')
-GitLab
-From d8c6a9e5558085dfdb144bb64365822415affe84 Mon Sep 17 00:00:00 2001
-From: Florian Weimer <[email protected]>
-Date: Mon, 21 Nov 2022 13:53:17 +0100
-Subject: [PATCH 2/3] source3/wscript: Fix detection of major/minor macros
-
-These macros are only available via <sys/sysmacros.h> as of glibc
-commit e16deca62e16f645213dffd4ecd1153c37765f17 ("[BZ #19239] Don't
-include sys/sysmacros.h from sys/types.h."), which went into
-glibc 2.28.
-
-This is different from the usual C99 cleanups because it changes
-the configure check result with existing compilers that usually
-accept implicit function declarations.
-
-Signed-off-by: Florian Weimer <[email protected]>
---- a/source3/wscript
-+++ b/source3/wscript
-@@ -603,11 +603,11 @@ msg.msg_accrightslen = sizeof(fd);
-     conf.CHECK_HEADERS('asm/types.h')
- 
-     conf.CHECK_CODE('dev_t dev; int i = major(dev); return 0', 
"HAVE_DEVICE_MAJOR_FN",
--                    headers='unistd.h sys/types.h',
-+                    headers='sys/sysmacros.h unistd.h sys/types.h',
-                     msg="Checking for major macro")
- 
-     conf.CHECK_CODE('dev_t dev; int i = minor(dev); return 0', 
"HAVE_DEVICE_MINOR_FN",
--                    headers='unistd.h sys/types.h',
-+                    headers='sys/sysmacros.h unistd.h sys/types.h',
-                     msg="Checking for minor macro")
- 
-     conf.CHECK_STRUCTURE_MEMBER('struct dirent', 'd_off',
-GitLab
-From 1f5c44d982c112e21879b64911a4184c063ba4d4 Mon Sep 17 00:00:00 2001
-From: Florian Weimer <[email protected]>
-Date: Mon, 21 Nov 2022 14:12:43 +0100
-Subject: [PATCH 3/3] source3/wscript: Remove implict int and implicit function
- declarations
-
-This should fix the remaining C89isms in these configure checks.
-
-Signed-off-by: Florian Weimer <[email protected]>
---- a/source3/wscript
-+++ b/source3/wscript
-@@ -1314,7 +1314,7 @@ syscall(SYS_initgroups, 16, NULL, NULL, 0);
- 
-     if conf.CHECK_CODE('''
- #include <time.h>
--main() {
-+int main() {
-         struct tm *tm;
-         if (sizeof(time_t) == 8) {
-                 time_t max_time = 0x7fffffffffffffffll;
-@@ -1345,7 +1345,7 @@ main() {
- #if defined(HAVE_SYS_SYSMACROS_H)
- #include <sys/sysmacros.h>
- #endif
--main() { dev_t dev = makedev(1,2); return 0; }
-+int main() { dev_t dev = makedev(1,2); return 0; }
- ''',
-         'HAVE_MAKEDEV',
-         addmain=False,
-@@ -1355,12 +1355,13 @@ main() { dev_t dev = makedev(1,2); return 0; }
- #include <stdio.h>
- #include <limits.h>
- #include <signal.h>
-+#include <stdlib.h>
- 
- void exit_on_core(int ignored) {
-         exit(1);
- }
- 
--main() {
-+int main() {
-         char *newpath;
-         signal(SIGSEGV, exit_on_core);
-         newpath = realpath("/tmp", NULL);
-@@ -1517,9 +1518,9 @@ main() {
-     # Check for getcwd allowing a NULL arg.
-     conf.CHECK_CODE('''
- #include <unistd.h>
--main() {
-+int main() {
-         char *s = getcwd(NULL,0);
--        exit(s != NULL ?  0 : 1);
-+        return s != NULL ?  0 : 1;
- }''', 'GETCWD_TAKES_NULL', addmain=False, execute=True,
-         msg="getcwd takes a NULL argument")
- 
-GitLab

diff --git a/net-fs/samba/files/samba-4.15.9-libunwind-automagic.patch 
b/net-fs/samba/files/samba-4.15.9-libunwind-automagic.patch
deleted file mode 100644
index c3a2c802e6e9..000000000000
--- a/net-fs/samba/files/samba-4.15.9-libunwind-automagic.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-https://gitlab.com/samba-team/samba/-/commit/14feb93d481011765f62614ab49b304e17e4f6fd
-https://gitlab.com/samba-team/samba/-/merge_requests/2401?commit_id=ac8064cb0d79db377df75a22a240632dbc37f99f
-https://bugs.gentoo.org/791349
-
-From 14feb93d481011765f62614ab49b304e17e4f6fd Mon Sep 17 00:00:00 2001
-From: Andrew Bartlett <[email protected]>
-Date: Tue, 7 Jun 2022 15:07:59 +1200
-Subject: [PATCH] lib/util: Prefer backtrace_symbols() for internal backtraces
-
-Backtraces when Samba is in PANIC state are better with
-backtrace_symbols() than with libunwind on Ubuntu 20.04 x86_64
-so move libunwind to a off-by-default option, prompted for
-if backtrace_symbols() is not available.
-
-Based on a request by Fco Javier Felix <[email protected]>
-
-Signed-off-by: Andrew Bartlett <[email protected]>
-Reviewed-by: Joseph Sutton <[email protected]>
---- a/lib/util/fault.c
-+++ b/lib/util/fault.c
-@@ -222,9 +222,13 @@ _PUBLIC_ void smb_panic(const char *why)
- void log_stack_trace(void)
- {
- #ifdef HAVE_LIBUNWIND
--      /* Try to use libunwind before any other technique since on ia64
--       * libunwind correctly walks the stack in more circumstances than
--       * backtrace.
-+      /*
-+       * --with-libunwind is required to use libunwind, the
-+       * backtrace_symbols() code below is the default.
-+       *
-+       * This code is available because a previous version of this
-+       * comment asserted that on ia64 libunwind correctly walks the
-+       * stack in more circumstances than backtrace.
-        */
-       unw_cursor_t cursor;
-       unw_context_t uc;
---- a/lib/util/wscript
-+++ b/lib/util/wscript
-@@ -2,6 +2,15 @@ def options(opt):
-     ''' This is a bit strange, but disable is the flag, not enable. '''
-     opt.add_option('--disable-fault-handling', action='store_true', 
dest='disable_fault_handling', help=('disable the fault handlers'), 
default=False)
- 
-+    # We do not want libunwind by default (backtrace_symbols() in
-+    # glibc is better) but allow (eg) IA-64 to build with it where it
-+    # might be better (per old comment in fault.c)
-+    opt.samba_add_onoff_option('libunwind',
-+                               default=None,
-+                               help='''Use libunwind instead of the default 
backtrace_symbols()
-+                               from libc, for example on IA-64 where it might 
give a better
-+                               backtrace.''')
-+
-     opt.add_option('--with-systemd',
-                    help=("Enable systemd integration"),
-                    action='store_true', dest='enable_systemd')
---- a/lib/util/wscript_configure
-+++ b/lib/util/wscript_configure
-@@ -1,23 +1,35 @@
- #!/usr/bin/env python
--from waflib import Logs, Options
-+from waflib import Logs, Options, Errors
- 
- import os, sys
- 
- if Options.options.disable_fault_handling:
-     conf.DEFINE('HAVE_DISABLE_FAULT_HANDLING',1)
- 
--# backtrace could be in libexecinfo or in libc
-+# backtrace could be in libexecinfo or in libc.
-+# This is our preferred backtrace handler (more useful output than libunwind 
as at Ubuntu 20.04 x86_64)
- conf.CHECK_FUNCS_IN('backtrace backtrace_symbols', 'execinfo', 
checklibc=True, headers='execinfo.h')
- conf.CHECK_HEADERS('execinfo.h')
- 
- conf.SET_TARGET_TYPE('LIBUNWIND', 'EMPTY')
--if conf.check_cfg(package='libunwind-generic',
--                  args='--cflags --libs',
--                  msg='Checking for libunwind',
--                  uselib_store='LIBUNWIND',
--                  mandatory=False):
--    if conf.CHECK_HEADERS('libunwind.h'):
--        conf.SET_TARGET_TYPE('LIBUNWIND', 'SYSLIB')
-+if Options.options.with_libunwind:
-+    if conf.check_cfg(package='libunwind-generic',
-+                      args='--cflags --libs',
-+                      msg='Checking for libunwind',
-+                      uselib_store='LIBUNWIND',
-+                      mandatory=False):
-+        if conf.CHECK_HEADERS('libunwind.h'):
-+            conf.SET_TARGET_TYPE('LIBUNWIND', 'SYSLIB')
-+    else:
-+        raise Errors.WafError('--with-libunwind specified but libunwind not 
found')
-+elif Options.options.with_libunwind == None:
-+    if not conf.CONFIG_SET('HAVE_BACKTRACE_SYMBOLS') \
-+       and not Options.options.disable_fault_handling:
-+        raise Errors.WafError(
-+'''backtrace_symbols() not found but
-+--with-libunwind not specified.
-+Use --without-libunwind to build without internal backtrace support or
-+--disable-fault-handling to totally defer fault handling to the OS.''')
- 
- conf.CHECK_STRUCTURE_MEMBER('struct statvfs', 'f_frsize', 
define='HAVE_FRSIZE', headers='sys/statvfs.h')
- 
---- a/script/autobuild.py
-+++ b/script/autobuild.py
-@@ -480,10 +480,11 @@ tasks = {
-     # MIT Kerberos from the current system.  Runtime behaviour is
-     # confirmed via the ktest (static ccache and keytab) environment
- 
-+    # This environment also used to confirm we can still build with 
--with-libunwind
-     "samba-ktest-mit": {
-         "sequence": [
-             ("random-sleep", random_sleep(300, 900)),
--            ("configure", "./configure.developer --without-ad-dc 
--with-system-mitkrb5 " + samba_configure_params),
-+            ("configure", "./configure.developer --without-ad-dc 
--with-libunwind --with-system-mitkrb5 " + samba_configure_params),
-             ("make", "make -j"),
-             ("test", make_test(include_envs=[
-             "ktest", # ktest is also tested in fileserver, samba and
-GitLab

diff --git a/net-fs/samba/files/samba-4.16.1-netdb-defines.patch 
b/net-fs/samba/files/samba-4.16.1-netdb-defines.patch
deleted file mode 100644
index 6f5a82505f7e..000000000000
--- a/net-fs/samba/files/samba-4.16.1-netdb-defines.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-https://gitlab.com/samba-team/samba/-/commit/e13875601ff6f488b48e7de0f6838db3565401d4
-https://gitlab.com/samba-team/samba/-/merge_requests/2617
-https://gitlab.com/samba-team/samba/-/merge_requests/1025
-
-# Define NETDB_INTERNAL and NETDB_SUCCESS if they are not defined
-#
-# Gentoo bug 832629 and 835017
-
---- a/nsswitch/wins.c
-+++ b/nsswitch/wins.c
-@@ -40,6 +40,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
-+
- _PUBLIC_ON_LINUX_
- NSS_STATUS _nss_wins_gethostbyname_r(const char *hostname,
-                                    struct hostent *he,

diff --git a/net-fs/samba/files/samba-4.16.2-fix-musl-without-innetgr.patch 
b/net-fs/samba/files/samba-4.16.2-fix-musl-without-innetgr.patch
deleted file mode 100644
index 19abe8ffbe33..000000000000
--- a/net-fs/samba/files/samba-4.16.2-fix-musl-without-innetgr.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-https://gitlab.com/samba-team/samba/-/commit/fb937ddc838043deb82b6a557dce8f29001d0a19
-
-# Gentoo bug 855047
---- a/lib/util/access.c
-+++ b/lib/util/access.c
-@@ -115,7 +115,7 @@ static bool string_match(const char *tok,const char *s)
-                       return true;
-               }
-       } else if (tok[0] == '@') { /* netgroup: look it up */
--#ifdef HAVE_NETGROUP
-+#if defined(HAVE_NETGROUP) && defined(HAVE_INNETGR)
-               DATA_BLOB tmp;
-               char *mydomain = NULL;
-               char *hostname = NULL;
---- a/source3/auth/user_util.c
-+++ b/source3/auth/user_util.c
-@@ -135,7 +135,7 @@ static void store_map_in_gencache(TALLOC_CTX *ctx, const 
char *from, const char
-
- bool user_in_netgroup(TALLOC_CTX *ctx, const char *user, const char *ngname)
- {
--#ifdef HAVE_NETGROUP
-+#if defined(HAVE_NETGROUP) && defined(HAVE_INNETGR)
-       char nis_domain_buf[256];
-       const char *nis_domain = NULL;
-       char *lowercase_user = NULL;

diff --git a/net-fs/samba/files/samba-4.4.0-pam.patch 
b/net-fs/samba/files/samba-4.4.0-pam.patch
deleted file mode 100644
index 451601383d4b..000000000000
--- a/net-fs/samba/files/samba-4.4.0-pam.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- samba-4.4.0rc2/source3/wscript
-+++ samba-4.4.0rc2/source3/wscript
-@@ -870,7 +870,7 @@
-         if conf.env.with_iconv:
-             conf.DEFINE('HAVE_ICONV', 1)
- 
--    if Options.options.with_pam:
-+    if Options.options.with_pam != False:
-         use_pam=True
-         conf.CHECK_HEADERS('security/pam_appl.h pam/pam_appl.h')
-         if not conf.CONFIG_SET('HAVE_SECURITY_PAM_APPL_H') and not 
conf.CONFIG_SET('HAVE_PAM_PAM_APPL_H'):
-@@ -943,6 +943,17 @@
-             conf.DEFINE('WITH_PAM', 1)
-             conf.DEFINE('WITH_PAM_MODULES', 1)
- 
-+    else:
-+        Logs.warn("PAM disabled")
-+        use_pam=False
-+        conf.undefine('WITH_PAM')
-+        conf.undefine('WITH_PAM_MODULES')
-+        conf.undefine('HAVE_SECURITY_PAM_APPL_H')
-+        conf.undefine('PAM_RHOST')
-+        conf.undefine('PAM_TTY')
-+        conf.undefine('HAVE_PAM_PAM_APPL_H')
-+
-+
-     seteuid = False
- 
- #

diff --git a/net-fs/samba/samba-4.16.8.ebuild b/net-fs/samba/samba-4.16.8.ebuild
deleted file mode 100644
index 3cefea75dfa9..000000000000
--- a/net-fs/samba/samba-4.16.8.ebuild
+++ /dev/null
@@ -1,387 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="threads(+),xml(+)"
-inherit python-single-r1 flag-o-matic waf-utils multilib-minimal linux-info 
systemd pam tmpfiles
-
-DESCRIPTION="Samba Suite Version 4"
-HOMEPAGE="https://samba.org/";
-
-MY_PV="${PV/_rc/rc}"
-MY_P="${PN}-${MY_PV}"
-if [[ ${PV} == *_rc* ]]; then
-       SRC_URI="mirror://samba/rc/${MY_P}.tar.gz"
-else
-       SRC_URI="mirror://samba/stable/${MY_P}.tar.gz"
-       KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv 
sparc x86"
-fi
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="GPL-3"
-SLOT="0"
-IUSE="acl addc ads ceph client cluster cpu_flags_x86_aes cups debug fam 
glusterfs gpg"
-IUSE+=" iprint json ldap llvm-libunwind pam profiling-data python quota 
+regedit selinux"
-IUSE+=" snapper spotlight syslog system-heimdal +system-mitkrb5 systemd test 
unwind winbind"
-IUSE+=" zeroconf"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
-       addc? ( json python !system-mitkrb5 winbind )
-       ads? ( acl ldap python winbind )
-       cluster? ( ads )
-       gpg? ( addc )
-       spotlight? ( json )
-       test? ( python )
-       !ads? ( !addc )
-       ?? ( system-heimdal system-mitkrb5 )
-"
-
-# the test suite is messed, it uses system-installed samba
-# bits instead of what was built, tests things disabled via use
-# flags, and generally just fails to work in a way ebuilds could
-# rely on in its current state
-RESTRICT="test"
-
-MULTILIB_WRAPPED_HEADERS=(
-       /usr/include/samba-4.0/policy.h
-       /usr/include/samba-4.0/dcerpc_server.h
-       /usr/include/samba-4.0/ctdb.h
-       /usr/include/samba-4.0/ctdb_client.h
-       /usr/include/samba-4.0/ctdb_protocol.h
-       /usr/include/samba-4.0/ctdb_private.h
-       /usr/include/samba-4.0/ctdb_typesafe_cb.h
-       /usr/include/samba-4.0/ctdb_version.h
-)
-
-TALLOC_VERSION="2.3.3"
-TDB_VERSION="1.4.6"
-TEVENT_VERSION="0.11.0"
-
-COMMON_DEPEND="
-       >=app-arch/libarchive-3.1.2:=[${MULTILIB_USEDEP}]
-       dev-lang/perl:=
-       dev-libs/icu:=[${MULTILIB_USEDEP}]
-       dev-libs/libbsd[${MULTILIB_USEDEP}]
-       dev-libs/libtasn1:=[${MULTILIB_USEDEP}]
-       dev-libs/popt[${MULTILIB_USEDEP}]
-       dev-perl/Parse-Yapp
-       >=net-libs/gnutls-3.4.7:=[${MULTILIB_USEDEP}]
-       >=sys-fs/e2fsprogs-1.46.4-r51[${MULTILIB_USEDEP}]
-       >=sys-libs/ldb-2.5.2:=[ldap(+)?,${MULTILIB_USEDEP}]
-       <sys-libs/ldb-2.6.0:=[ldap(+)?,${MULTILIB_USEDEP}]
-       sys-libs/libcap[${MULTILIB_USEDEP}]
-       sys-libs/liburing:=[${MULTILIB_USEDEP}]
-       sys-libs/ncurses:=
-       sys-libs/readline:=
-       >=sys-libs/talloc-${TALLOC_VERSION}[${MULTILIB_USEDEP}]
-       >=sys-libs/tdb-${TDB_VERSION}[${MULTILIB_USEDEP}]
-       >=sys-libs/tevent-${TEVENT_VERSION}[${MULTILIB_USEDEP}]
-       sys-libs/zlib[${MULTILIB_USEDEP}]
-       virtual/libcrypt:=[${MULTILIB_USEDEP}]
-       virtual/libiconv
-       $(python_gen_cond_dep '
-               addc? (
-                       dev-python/dnspython:=[${PYTHON_USEDEP}]
-                       dev-python/markdown[${PYTHON_USEDEP}]
-               )
-               ads? (
-                       dev-python/dnspython:=[${PYTHON_USEDEP}]
-                       net-dns/bind-tools[gssapi]
-               )
-       ')
-       acl? ( virtual/acl )
-       ceph? ( sys-cluster/ceph )
-       cluster? ( net-libs/rpcsvc-proto )
-       cups? ( net-print/cups )
-       debug? ( dev-util/lttng-ust )
-       fam? ( virtual/fam )
-       gpg? ( app-crypt/gpgme:= )
-       json? ( dev-libs/jansson:= )
-       ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
-       pam? ( sys-libs/pam )
-       python? (
-               sys-libs/ldb[python,${PYTHON_SINGLE_USEDEP}]
-               sys-libs/talloc[python,${PYTHON_SINGLE_USEDEP}]
-               sys-libs/tdb[python,${PYTHON_SINGLE_USEDEP}]
-               sys-libs/tevent[python,${PYTHON_SINGLE_USEDEP}]
-       )
-       snapper? ( sys-apps/dbus )
-       system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl,${MULTILIB_USEDEP}] )
-       system-mitkrb5? ( >=app-crypt/mit-krb5-1.19[${MULTILIB_USEDEP}] )
-       systemd? ( sys-apps/systemd:= )
-       unwind? (
-               llvm-libunwind? ( sys-libs/llvm-libunwind:= )
-               !llvm-libunwind? ( sys-libs/libunwind:= )
-       )
-       zeroconf? ( net-dns/avahi[dbus] )
-"
-DEPEND="${COMMON_DEPEND}
-       dev-perl/JSON
-       net-libs/libtirpc[${MULTILIB_USEDEP}]
-       net-libs/rpcsvc-proto
-       spotlight? ( dev-libs/glib )
-       test? (
-               >=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}]
-               $(python_gen_cond_dep 
"dev-python/subunit[\${PYTHON_USEDEP},${MULTILIB_USEDEP}]" )
-               !system-mitkrb5? (
-                       >=net-dns/resolv_wrapper-1.1.4
-                       >=net-libs/socket_wrapper-1.1.9
-                       >=sys-libs/nss_wrapper-1.1.3
-                       >=sys-libs/uid_wrapper-1.2.1
-               )
-       )"
-RDEPEND="${COMMON_DEPEND}
-       client? ( net-fs/cifs-utils[ads?] )
-       python? ( ${PYTHON_DEPS} )
-       selinux? ( sec-policy/selinux-samba )
-"
-BDEPEND="${PYTHON_DEPS}
-       app-text/docbook-xsl-stylesheets
-       dev-libs/libxslt
-       virtual/pkgconfig
-"
-
-PATCHES=(
-       "${FILESDIR}/${PN}-4.4.0-pam.patch"
-       "${FILESDIR}/${PN}-4.16.1-netdb-defines.patch"
-       "${FILESDIR}/${PN}-4.16.2-fix-musl-without-innetgr.patch"
-       "${FILESDIR}/ldb-2.5.2-skip-wav-tevent-check.patch"
-       "${FILESDIR}/${PN}-4.15.9-libunwind-automagic.patch"
-       "${FILESDIR}/${PN}-4.15.12-configure-clang16.patch"
-)
-
-CONFDIR="${FILESDIR}/4.4"
-WAF_BINARY="${S}/buildtools/bin/waf"
-SHAREDMODS=""
-
-pkg_setup() {
-       # Package fails to build with distcc
-       export DISTCC_DISABLE=1
-       export PYTHONHASHSEED=1
-
-       python-single-r1_pkg_setup
-
-       SHAREDMODS="$(usev !snapper '!')vfs_snapper"
-       if use cluster ; then
-               SHAREDMODS+=",idmap_rid,idmap_tdb2,idmap_ad"
-       elif use ads ; then
-               SHAREDMODS+=",idmap_ad"
-       fi
-}
-
-check_samba_dep_versions() {
-       actual_talloc_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' 
lib/talloc/wscript || die)
-       if [[ ${actual_talloc_version} != ${TALLOC_VERSION} ]] ; then
-               eerror "Source talloc version: ${TALLOC_VERSION}"
-               eerror "Ebuild talloc version: ${actual_talloc_version}"
-               die "Ebuild needs to fix TALLOC_VERSION!"
-       fi
-
-       actual_tdb_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' 
lib/tdb/wscript || die)
-       if [[ ${actual_tdb_version} != ${TDB_VERSION} ]] ; then
-               eerror "Source tdb version: ${TDB_VERSION}"
-               eerror "Ebuild tdb version: ${actual_tdb_version}"
-               die "Ebuild needs to fix TDB_VERSION!"
-       fi
-
-       actual_tevent_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' 
lib/tevent/wscript || die)
-       if [[ ${actual_tevent_version} != ${TEVENT_VERSION} ]] ; then
-               eerror "Source tevent version: ${TEVENT_VERSION}"
-               eerror "Ebuild tevent version: ${actual_tevent_version}"
-               die "Ebuild needs to fix TEVENT_VERSION!"
-       fi
-}
-
-src_prepare() {
-       default
-
-       check_samba_dep_versions
-
-       # Unbundle dnspython
-       sed -i -e '/"dns.resolver":/d' "${S}"/third_party/wscript || die
-
-       # Unbundle iso8601 unless tests are enabled
-       if ! use test ; then
-               sed -i -e '/"iso8601":/d' "${S}"/third_party/wscript || die
-       fi
-
-       # Ugly hackaround for bug #592502
-       #cp /usr/include/tevent_internal.h "${S}"/lib/tevent/ || die
-
-       sed -e 's:<gpgme\.h>:<gpgme/gpgme.h>:' \
-               -i source4/dsdb/samdb/ldb_modules/password_hash.c \
-               || die
-
-       # WAF
-       multilib_copy_sources
-}
-
-multilib_src_configure() {
-       # When specifying libs for samba build you must append NONE to the end 
to
-       # stop it automatically including things
-       local bundled_libs="NONE"
-       if ! use system-heimdal && ! use system-mitkrb5 ; then
-               
bundled_libs="heimbase,heimntlm,hdb,kdc,krb5,wind,gssapi,hcrypto,hx509,roken,asn1,com_err,NONE"
-       fi
-
-       # We "use" bundled cmocka when we're not running tests as we're
-       # not using it anyway. Means we avoid making users install it for
-       # no reason. bug #802531
-       if ! use test ; then
-               bundled_libs="cmocka,${bundled_libs}"
-       fi
-
-       # bug #874633
-       if use llvm-libunwind ; then
-               mkdir -p "${T}"/${ABI}/pkgconfig || die
-
-               local -x 
PKG_CONFIG_PATH="${T}/${ABI}/pkgconfig:${PKG_CONFIG_PATH}"
-
-               cat <<-EOF > "${T}"/${ABI}/pkgconfig/libunwind-generic.pc || die
-               exec_prefix=\${prefix}
-               libdir=/usr/$(get_libdir)
-               includedir=\${prefix}/include
-
-               Name: libunwind-generic
-               Description: libunwind generic library
-               Version: 1.70
-               Libs: -L\${libdir} -lunwind
-               Cflags: -I\${includedir}
-               EOF
-       fi
-
-       local myconf=(
-               --enable-fhs
-               --sysconfdir="${EPREFIX}/etc"
-               --localstatedir="${EPREFIX}/var"
-               --with-modulesdir="${EPREFIX}/usr/$(get_libdir)/samba"
-               --with-piddir="${EPREFIX}/run/${PN}"
-               --bundled-libraries="${bundled_libs}"
-               --builtin-libraries=NONE
-               --disable-rpath
-               --disable-rpath-install
-               --nopyc
-               --nopyo
-               --without-winexe
-               --accel-aes=$(usex cpu_flags_x86_aes intelaesni none)
-               $(multilib_native_use_with acl acl-support)
-               $(multilib_native_usex addc '' '--without-ad-dc')
-               $(multilib_native_use_with ads)
-               $(multilib_native_use_enable ceph cephfs)
-               $(multilib_native_use_with cluster cluster-support)
-               $(multilib_native_use_enable cups)
-               --without-dmapi
-               $(multilib_native_use_with fam)
-               $(multilib_native_use_enable glusterfs)
-               $(multilib_native_use_with gpg gpgme)
-               $(multilib_native_use_with json)
-               $(multilib_native_use_enable iprint)
-               $(multilib_native_use_with pam)
-               $(multilib_native_usex pam 
"--with-pammodulesdir=${EPREFIX}/$(get_libdir)/security" '')
-               $(multilib_native_use_with quota quotas)
-               $(multilib_native_use_with regedit)
-               $(multilib_native_use_enable spotlight)
-               $(multilib_native_use_with syslog)
-               $(multilib_native_use_with systemd)
-               --systemd-install-services
-               --with-systemddir="$(systemd_get_systemunitdir)"
-               $(multilib_native_use_with unwind libunwind)
-               $(multilib_native_use_with winbind)
-               $(multilib_native_usex python '' '--disable-python')
-               $(multilib_native_use_enable zeroconf avahi)
-               $(multilib_native_usex test '--enable-selftest' '')
-               $(usev system-mitkrb5 "--with-system-mitkrb5 
$(multilib_native_usex addc --with-experimental-mit-ad-dc '')")
-               $(use_with debug lttng)
-               $(use_with ldap)
-               $(use_with profiling-data)
-               # bug #683148
-               --jobs 1
-       )
-
-       if multilib_is_native_abi ; then
-               myconf+=( --with-shared-modules=${SHAREDMODS} )
-       else
-               myconf+=( --with-shared-modules=DEFAULT,!vfs_snapper )
-       fi
-
-       append-cppflags "-I${ESYSROOT}/usr/include/et"
-
-       waf-utils_src_configure ${myconf[@]}
-}
-
-multilib_src_compile() {
-       waf-utils_src_compile
-}
-
-multilib_src_test() {
-       if multilib_is_native_abi ; then
-               "${WAF_BINARY}" test || die "Test failed"
-       fi
-}
-
-multilib_src_install() {
-       waf-utils_src_install
-
-       # Make all .so files executable
-       find "${ED}" -type f -name "*.so" -exec chmod +x {} + || die
-       # smbspool_krb5_wrapper must only be accessible to root, bug #880739
-       find "${ED}" -type f -name "smbspool_krb5_wrapper" -exec chmod go-rwx 
{} + || die
-
-       # Remove empty runtime dirs created by build system (bug #892341)
-       find "${ED}"/{run,var} -type d -empty -delete || die
-
-       if multilib_is_native_abi ; then
-               # Install ldap schema for server (bug #491002)
-               if use ldap ; then
-                       insinto /etc/openldap/schema
-                       doins examples/LDAP/samba.schema
-               fi
-
-               # Create symlink for cups (bug #552310)
-               if use cups ; then
-                       dosym ../../../bin/smbspool \
-                               /usr/libexec/cups/backend/smb
-               fi
-
-               # Install example config file
-               insinto /etc/samba
-               doins examples/smb.conf.default
-
-               # Fix paths in example file (bug #603964)
-               sed \
-                       -e '/log file 
=/s@/usr/local/samba/var/@/var/log/samba/@' \
-                       -e '/include =/s@/usr/local/samba/lib/@/etc/samba/@' \
-                       -e '/path =/s@/usr/local/samba/lib/@/var/lib/samba/@' \
-                       -e '/path =/s@/usr/local/samba/@/var/lib/samba/@' \
-                       -e '/path =/s@/usr/spool/samba@/var/spool/samba@' \
-                       -i "${ED}"/etc/samba/smb.conf.default || die
-
-               # Install init script and conf.d file
-               newinitd "${CONFDIR}/samba4.initd-r1" samba
-               newconfd "${CONFDIR}/samba4.confd" samba
-
-               dotmpfiles "${FILESDIR}"/samba.conf
-               if ! use addc ; then
-                       rm "${D}/$(systemd_get_systemunitdir)/samba.service" \
-                               || die
-               fi
-
-               # Preserve functionality for old gentoo-specific unit names
-               dosym nmb.service "$(systemd_get_systemunitdir)/nmbd.service"
-               dosym smb.service "$(systemd_get_systemunitdir)/smbd.service"
-               dosym winbind.service 
"$(systemd_get_systemunitdir)/winbindd.service"
-       fi
-
-       if use pam && use winbind ; then
-               newpamd "${CONFDIR}/system-auth-winbind.pam" system-auth-winbind
-               # bugs #376853 and #590374
-               insinto /etc/security
-               doins examples/pam_winbind/pam_winbind.conf
-       fi
-}
-
-pkg_postinst() {
-       tmpfiles_process samba.conf
-}

Reply via email to