summaryrefslogtreecommitdiff
path: root/net-fs
diff options
context:
space:
mode:
authorDavid Seifert <soap@gentoo.org>2023-08-03 17:33:46 +0200
committerDavid Seifert <soap@gentoo.org>2023-08-03 17:33:46 +0200
commitd32095b165e0f127a89bbf6af1d99b0c7386cfa2 (patch)
treee24c650b3a8cb2411131e4b719d67f03b085fa71 /net-fs
parentmedia-sound/qsynth: Stabilize 0.9.11-r2 amd64, #911640 (diff)
downloadgentoo-d32095b165e0f127a89bbf6af1d99b0c7386cfa2.tar.gz
gentoo-d32095b165e0f127a89bbf6af1d99b0c7386cfa2.tar.bz2
gentoo-d32095b165e0f127a89bbf6af1d99b0c7386cfa2.zip
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@gentoo.org>
Diffstat (limited to 'net-fs')
-rw-r--r--net-fs/samba/Manifest1
-rw-r--r--net-fs/samba/files/samba-4.15.12-configure-clang16.patch117
-rw-r--r--net-fs/samba/files/samba-4.15.9-libunwind-automagic.patch118
-rw-r--r--net-fs/samba/files/samba-4.16.1-netdb-defines.patch25
-rw-r--r--net-fs/samba/files/samba-4.16.2-fix-musl-without-innetgr.patch25
-rw-r--r--net-fs/samba/files/samba-4.4.0-pam.patch29
-rw-r--r--net-fs/samba/samba-4.16.8.ebuild387
7 files changed, 0 insertions, 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 <fweimer@redhat.com>
-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 <fweimer@redhat.com>
---- 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 <fweimer@redhat.com>
-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 <fweimer@redhat.com>
---- 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 <fweimer@redhat.com>
-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 <fweimer@redhat.com>
---- 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 <abartlet@samba.org>
-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 <ffelix@inode64.com>
-
-Signed-off-by: Andrew Bartlett <abartlet@samba.org>
-Reviewed-by: Joseph Sutton <josephsutton@catalyst.net.nz>
---- 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
-}