summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-fs/samba')
-rw-r--r--net-fs/samba/Manifest18
-rw-r--r--net-fs/samba/files/4.4/samba4.initd-r13
-rw-r--r--net-fs/samba/files/cmocka-config_h.patch23
-rw-r--r--net-fs/samba/files/ldb-2.5.2-skip-wav-tevent-check.patch12
-rw-r--r--net-fs/samba/files/nmbd.service12
-rw-r--r--net-fs/samba/files/samba-4.10.0-disable_gnutls_build_fix.patch32
-rw-r--r--net-fs/samba/files/samba-4.18.4-pam.patch (renamed from net-fs/samba/files/samba-4.4.0-pam.patch)12
-rw-r--r--net-fs/samba/files/samba-4.5.1-compile_et_fix.patch16
-rw-r--r--net-fs/samba/files/samba-4.7.3-krb-cross-compile.patch40
-rw-r--r--net-fs/samba/files/samba-4.8.6-no-pydsdb-when-no-addc.patch36
-rw-r--r--net-fs/samba/files/samba-4.9.2-timespec.patch21
-rw-r--r--net-fs/samba/files/samba-glibc-2.26-no_rpc.patch14
-rw-r--r--net-fs/samba/files/samba.conf10
-rw-r--r--net-fs/samba/files/samba.service10
-rw-r--r--net-fs/samba/files/smbd.service12
-rw-r--r--net-fs/samba/files/smbd.socket9
-rw-r--r--net-fs/samba/files/smbd_at.service7
-rw-r--r--net-fs/samba/files/talloc-disable-python.patch34
-rw-r--r--net-fs/samba/files/winbindd.service12
-rw-r--r--net-fs/samba/metadata.xml10
-rw-r--r--net-fs/samba/samba-4.10.2.ebuild307
-rw-r--r--net-fs/samba/samba-4.10.5.ebuild309
-rw-r--r--net-fs/samba/samba-4.10.6.ebuild315
-rw-r--r--net-fs/samba/samba-4.18.10.ebuild384
-rw-r--r--net-fs/samba/samba-4.18.11.ebuild384
-rw-r--r--net-fs/samba/samba-4.18.8.ebuild384
-rw-r--r--net-fs/samba/samba-4.18.9.ebuild384
-rw-r--r--net-fs/samba/samba-4.19.4.ebuild383
-rw-r--r--net-fs/samba/samba-4.19.6.ebuild383
-rw-r--r--net-fs/samba/samba-4.20.0.ebuild383
-rw-r--r--net-fs/samba/samba-4.20.1.ebuild383
-rw-r--r--net-fs/samba/samba-4.5.16.ebuild294
-rw-r--r--net-fs/samba/samba-4.7.12-r1.ebuild333
-rw-r--r--net-fs/samba/samba-4.8.12.ebuild303
-rw-r--r--net-fs/samba/samba-4.8.6-r2.ebuild287
-rw-r--r--net-fs/samba/samba-4.8.6-r3.ebuild301
-rw-r--r--net-fs/samba/samba-4.9.11.ebuild307
-rw-r--r--net-fs/samba/samba-4.9.9.ebuild307
38 files changed, 3133 insertions, 3341 deletions
diff --git a/net-fs/samba/Manifest b/net-fs/samba/Manifest
index d2cd90f4f366..74c51f123cc5 100644
--- a/net-fs/samba/Manifest
+++ b/net-fs/samba/Manifest
@@ -1,10 +1,8 @@
-DIST samba-4.10.2.tar.gz 18280710 BLAKE2B f15b117d1159dfa6cd279c5011629d688fcfba94a2ca8184a827d0787a31f76a38f46b355454b916f2e62c0a88109b86664f6bb16fc0e23d0f61d09908e587cd SHA512 3d146ea12567ebb02a7babcad779b82339ffbfb19f6f2be5cac33eb18af2c9b546dc1cd910072a5c9e152ba9c4a632ed6870c48a8f6ad9d04304b130f240a4bf
-DIST samba-4.10.5.tar.gz 18290612 BLAKE2B 731ea29b02db5158c5cc564d5663e3f9552d7e1164ed8a41738dba8656692b685cc9a7ba57e8cd32fe9a1cb24eed5373929d2b805bf3da3982c0f4b1246883d0 SHA512 82961791a43511aa42f0d648edd13f0533cb20e1d673903e6a1f6235b0df19dfc0755ab0c8e6d4518ca19c188968a38a6c8e8c80d05a20141c097fb0b3e2b795
-DIST samba-4.10.6.tar.gz 18306135 BLAKE2B 236598c26294e1b7b23e48eba7d6429eec01e65a4a73a45fea16ef0e0b7cf1c7b861d824e860bc178d358c298400e829577525b0438e0384fca7bf4409bd69f0 SHA512 6c06a55ac686210965cf52f79190700a3d3a5cba8ea54b32e5bdb4d6b6167f1fa9aef308c3d5fdc7078496aa78b46d5cea3c623438d3a049b11fc58d334f8d0f
-DIST samba-4.5.11-disable-python-patches.tar.xz 6292 BLAKE2B c2a32a1059a02bc1c87ce5f604cbc5878c654b8f693c8486b5ba63b37513444915a7b6389fe82b7e31ab2f9577dd8462eddba60b4f4f756b4ed1145ce7bd90ae SHA512 f0e3076e3e1ecaae3f06b3ef30efc81719fb3f63a1041dcbdae4b62ca4cf693732f9eb16f047d046d4930136fed82194e82b455ea888e12cf845b3e6a122d57d
-DIST samba-4.5.16.tar.gz 21024396 BLAKE2B e737559fb748044076608fa233700eb54c7e1c56bc234763f062b6341a179cc78a4a8cdf9f3d6f4d7f3cf8a79f846852ddd5cc753a468c3adb3a0451e1809ed9 SHA512 de8a41013cfb5ef3adcb290efd97a78a5de876d90ad05764d631f14e663a1849bb53e4ac394b46c906f1109be5748fee9316407a659c57007d36851ae8adcd7f
-DIST samba-4.7.12.tar.gz 16923189 BLAKE2B 98ea5e535482a4cdfeb4f9ad70bc8c40bb6d5a8920ce9bc6dda84f20698245c3c5d472a5f79984efc81f9c32d1d1e72b1fcdffb137e3a27634f4c521a1d46a48 SHA512 951dfc0ea7130da9d9aa3069ca276e630d67171a1995dba368459e0cdf00337d0f6271827bffec694371010614a1a7ce2349840ddedd0231315f6a56dce2fcac
-DIST samba-4.8.12.tar.gz 17764832 BLAKE2B d2c0c8b9090da7c94b9343fd3f416e9aafad64273abc9be0639b011f71072926a0b303cf53e63c4e470aeb168e8ec23003b5f4ed4258aac8d6b3d029f71fba6f SHA512 f29595f6390d01860cb6acd750d2e36b4d207dd1da16465c21c8d6d732ce27bd0582a0f34296081e2659638d839c8b12f28deccc31982afa94650da8bce8df8b
-DIST samba-4.8.6.tar.gz 17723841 BLAKE2B 38da52e14b4417f26462eef2226c4498e54d2c276b4056e8c6d6c66079f33bcda24c1eab30b29bc7413280ec89a74a55e043e8274ac50f9a25bae7563717ff34 SHA512 f6afab5ca466bd8653a56c205b71ce94ecf0ad0c6e4c9d64cbba7b1e56f1987bc2022e6b629d87eb6078e3f6ba53833c19cfb41e40b6d589e4317ea9d85de273
-DIST samba-4.9.11.tar.gz 18095745 BLAKE2B d06a15608f71e73e26dbb15ddfb3512a0cd6f6ce5cffe663451cdf1552473c28cc5a66fc5e28d0e3fbfc80be8524903bd42d75050b664e713efdb09855175bdf SHA512 3d1cd7e3f1ffbfa6bb44fe0cb12be47dd17c9b614b6509ecec20210ac734fa1ab90ea5d2d2180fe7c80bd4eb5bb9a73a09183edf70bdd28dde2d33e092c9e71a
-DIST samba-4.9.9.tar.gz 18080757 BLAKE2B 3cfe741d21584d74654607d6c1450b67f80524f5809607b0c796fad501c06b34ddfb8eb7ef639cca70e8bc54f53805be4c45d78eeb2760aa7728ba907e99589f SHA512 636fc7073cf9dc9ff9bfe46403d35d7a058024708d090bd0ecc7e900a8468ffb7c9a8d564b2df85758c4ef3d184ed3f2c8fa3079ece13d6b9afa816136f0b608
+DIST samba-4.18.10.tar.gz 41352009 BLAKE2B 191928a3b0b2ff203de83a208dd61ac047bc666b744b0ba16a8f9a7e2e072438e2980bf0096ac95cc44003526b2098e763a29b4317083a1e3192f7e3cae2ab85 SHA512 19fed2644b1cb5a5bddca6c7eb2da11b4faf224b060b52ac9131f321d194dc650ea3082051960253e2ce627cdc06ef396778fa0f95e3e9b79f74cd1422577d80
+DIST samba-4.18.11.tar.gz 41352059 BLAKE2B b2a39079286c5c0ca7beec99597ef6004c37eb81e7772b010c78b95b468b48d0370941717b8b919f0308e5313be4fc6a09374460eb2a0d2d7b26e3a8cea996d0 SHA512 7ae0f739070133c803fff3daf27ae2b0adff7336affb4898b07e5ca13bd6658228e8796565374e5a2c14e0b16ae84f404d3a62454096cacccc120520d379199f
+DIST samba-4.18.8.tar.gz 41335959 BLAKE2B d25711f1e781ed16fc224476979a07a5362f92ac943dd0bccfdf445434d0e6838281d5ceae27963267f914720ad6db647078520dc0e78c6ae652faec7d773e73 SHA512 2924c360f6299129527457547b13c1b282e2907a0ecde1036dbca894c752935d693914b4846a9eab436b33798c53c9974692e51fd071301b1174598be944a246
+DIST samba-4.18.9.tar.gz 41332779 BLAKE2B 8a0769c73d42b941b6f69d62243dd2b93d66748231465b853320cf1bf4b3dd8a912ac7bddfaa9c8b1941788951c2ccd630dabb23cf94965bc1d1e4cb5d74d123 SHA512 93a6c878bca583f59208df2a7865bbd453f7a65dc2f39a863797ef807bdeced4d632c5edd4579e341f8cf3b0b2fbe41e68a815a1510518bdd43e9a25a973c94c
+DIST samba-4.19.4.tar.gz 41839810 BLAKE2B b5916478d9385eff93d852b61eaa835e04eef7d813175b7011dfab518d3115707895a67f34fc4bb6afc2a1e3b2f60af8d30cd5a32b59d8ec48977c7eefd1b906 SHA512 9a66f685cb1b5b89c59c75ccb67292b3f792b40b30ca76dfc483e805f5bb680bac027117a28a117f42713452fca41c439bed1724ba7d436fe0b0cb30a34f5b45
+DIST samba-4.19.6.tar.gz 41847853 BLAKE2B 42a1756f3cb1cd48da5abe043357e15b294148b88fdcb2502394372628a17a729ffb5ea070a967face2dfb76e319cdf6fa56d611c369baddf54e998164d782ca SHA512 23172f4393deb9c520182ffb1acb3cf3e53391d4276fffe98527f2f514f969c0952e6e59bcd90f11385dc51367a7bb9cd0534fa9fc3814f16bfb88f41609d0f5
+DIST samba-4.20.0.tar.gz 42433302 BLAKE2B 97cdfdaf118fcd9b44aef0134d211e243a6e2468d90449b9c5ac55c9a8c4dc1e63bf9eb2be9878dc70609c830f90b08b4d1dbf80d7e947c10219043def970d24 SHA512 e820739706992ef3b4e3a7a771ad5d8efc6b87d5ccdcee7ebd41483d90fa3cc0420ba9680d059e71d7083c9c12b0d36deafcdce0224560f49bbfc3a277e7e77c
+DIST samba-4.20.1.tar.gz 42441898 BLAKE2B 5516b3d74705ee829971119d9931ccd339aaa857647dc46e40fda96f65ec5ba695db107f91075a46e1a7135cfdcc0a56ee67aa3475649b314260be03e4e44657 SHA512 bea2bacae5b3272045399057ddf88d8f38203dde04c718b0088fd45792cccd68047b413e66bca7418b19db8580879358b86531a8d6f2d76fbcd902c331050a84
diff --git a/net-fs/samba/files/4.4/samba4.initd-r1 b/net-fs/samba/files/4.4/samba4.initd-r1
index 05bd1fcfd695..0a5289828525 100644
--- a/net-fs/samba/files/4.4/samba4.initd-r1
+++ b/net-fs/samba/files/4.4/samba4.initd-r1
@@ -1,5 +1,5 @@
#!/sbin/openrc-run
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License, v2 or later
extra_started_commands="reload"
@@ -7,7 +7,6 @@ extra_started_commands="reload"
depend() {
after slapd
- need net
use cupsd
}
diff --git a/net-fs/samba/files/cmocka-config_h.patch b/net-fs/samba/files/cmocka-config_h.patch
new file mode 100644
index 000000000000..124928450cd6
--- /dev/null
+++ b/net-fs/samba/files/cmocka-config_h.patch
@@ -0,0 +1,23 @@
+--- ./third_party/cmocka/cmocka.h.orig 2024-03-26 10:23:03.378410042 +0100
++++ ./third_party/cmocka/cmocka.h 2024-03-26 10:24:51.526922405 +0100
+@@ -14,6 +14,11 @@
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
++
++#ifdef HAVE_CONFIG_H
++#include "config.h"
++#endif
++
+ #ifndef CMOCKA_H_
+ #define CMOCKA_H_
+
+@@ -111,7 +114,7 @@
+ ((LargestIntegralType)(value))
+
+ /* Smallest integral type capable of holding a pointer. */
+-#if !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED)
++#if !defined(HAVE_UINTPTR_T) && !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED) && !defined(__DEFINED_uintptr_t)
+ # if defined(_WIN32)
+ /* WIN32 is an ILP32 platform */
+ typedef unsigned int uintptr_t;
diff --git a/net-fs/samba/files/ldb-2.5.2-skip-wav-tevent-check.patch b/net-fs/samba/files/ldb-2.5.2-skip-wav-tevent-check.patch
new file mode 100644
index 000000000000..4578435064b0
--- /dev/null
+++ b/net-fs/samba/files/ldb-2.5.2-skip-wav-tevent-check.patch
@@ -0,0 +1,12 @@
+--- ldb-1.3.6/lib/tevent/wscript
++++ ldb-1.3.6/lib/tevent/wscript
+@@ -34,8 +34,7 @@
+ if conf.CHECK_BUNDLED_SYSTEM_PKG('tevent', minversion=VERSION,
+ onlyif='talloc', implied_deps='replace talloc'):
+ conf.define('USING_SYSTEM_TEVENT', 1)
+- if not conf.env.disable_python and \
+- conf.CHECK_BUNDLED_SYSTEM_PYTHON('pytevent', 'tevent', minversion=VERSION):
++ if not conf.env.disable_python:
+ conf.define('USING_SYSTEM_PYTEVENT', 1)
+
+ if conf.CHECK_FUNCS('epoll_create', headers='sys/epoll.h'):
diff --git a/net-fs/samba/files/nmbd.service b/net-fs/samba/files/nmbd.service
deleted file mode 100644
index 44b4ffba1f7f..000000000000
--- a/net-fs/samba/files/nmbd.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=Samba NetBIOS name server
-After=network.target
-
-[Service]
-Type=forking
-PIDFile=/var/run/samba/nmbd.pid
-ExecStart=/usr/sbin/nmbd -D
-ExecReload=/bin/kill -HUP $MAINPID
-
-[Install]
-WantedBy=multi-user.target
diff --git a/net-fs/samba/files/samba-4.10.0-disable_gnutls_build_fix.patch b/net-fs/samba/files/samba-4.10.0-disable_gnutls_build_fix.patch
deleted file mode 100644
index 12b2df3a5979..000000000000
--- a/net-fs/samba/files/samba-4.10.0-disable_gnutls_build_fix.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 41eeabcb0175659aebf6d480c43fb64310f37d9c Mon Sep 17 00:00:00 2001
-From: Andrew Bartlett <abartlet@samba.org>
-Date: Wed, 20 Mar 2019 13:57:50 +1300
-Subject: [PATCH] build: Allow build when --disable-gnutls is set
-
-BUG: https://bugzilla.samba.org/show_bug.cgi?id=13844
-
-Signed-off-by: Andrew Bartlett <abartlet@samba.org>
----
- lib/mscat/wscript | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/lib/mscat/wscript b/lib/mscat/wscript
-index 7ca9ef567ee..4d1f752a3c1 100644
---- a/lib/mscat/wscript
-+++ b/lib/mscat/wscript
-@@ -12,7 +12,11 @@ def configure(conf):
- if not conf.find_program('asn1Parser', var='ASN1PARSER'):
- Logs.warn('WARNING: ans1Parser hasn\'t been found! Please install it (e.g. libtasn1-bin)')
-
-- conf.CHECK_FUNCS_IN('gnutls_pkcs7_get_embedded_data_oid', 'gnutls')
-+ # GnuTLS is currently able to be disabled
-+ if conf.env.enable_gnutls:
-+ conf.CHECK_FUNCS_IN('gnutls_pkcs7_get_embedded_data_oid', 'gnutls')
-+ else:
-+ Logs.warn('WARNING: gnutls disabled so dumpmscat will not be built')
-
- def build(bld):
- if (bld.CONFIG_SET('HAVE_LIBTASN1') and
---
-2.11.0
-
diff --git a/net-fs/samba/files/samba-4.4.0-pam.patch b/net-fs/samba/files/samba-4.18.4-pam.patch
index 451601383d4b..381f77ccd32d 100644
--- a/net-fs/samba/files/samba-4.4.0-pam.patch
+++ b/net-fs/samba/files/samba-4.18.4-pam.patch
@@ -1,6 +1,6 @@
---- samba-4.4.0rc2/source3/wscript
-+++ samba-4.4.0rc2/source3/wscript
-@@ -870,7 +870,7 @@
+--- a/source3/wscript
++++ b/source3/wscript
+@@ -863,7 +863,7 @@
if conf.env.with_iconv:
conf.DEFINE('HAVE_ICONV', 1)
@@ -9,9 +9,9 @@
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)
+@@ -940,6 +940,17 @@
+ "or headers not found. Use --without-pam to disable "
+ "PAM support.");
+ else:
+ Logs.warn("PAM disabled")
diff --git a/net-fs/samba/files/samba-4.5.1-compile_et_fix.patch b/net-fs/samba/files/samba-4.5.1-compile_et_fix.patch
deleted file mode 100644
index 463512f9a9c8..000000000000
--- a/net-fs/samba/files/samba-4.5.1-compile_et_fix.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- samba-4.5.1/source4/heimdal_build/wscript_configure
-+++ samba-4.5.1/source4/heimdal_build/wscript_configure
-@@ -258,7 +258,11 @@
-
- # With the proper checks in place we should be able to build against the system libtommath.
- #if conf.CHECK_BUNDLED_SYSTEM('tommath', checkfunctions='mp_init', headers='tommath.h'):
- # conf.define('USING_SYSTEM_TOMMATH', 1)
-
--check_system_heimdal_binary("compile_et")
--check_system_heimdal_binary("asn1_compile")
-+# comment out next line to stop Gentoo Samba build from using the compile_et in e2fsprogs-libs
-+# to compile the error tables. This produces a compile error later on.
-+#check_system_heimdal_binary("compile_et")
-+#
-+# As a precaution do the same for asn1_compile
-+#check_system_heimdal_binary("asn1_compile")
diff --git a/net-fs/samba/files/samba-4.7.3-krb-cross-compile.patch b/net-fs/samba/files/samba-4.7.3-krb-cross-compile.patch
deleted file mode 100644
index 9fad9fca44fb..000000000000
--- a/net-fs/samba/files/samba-4.7.3-krb-cross-compile.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-https://lists.samba.org/archive/samba-technical/2017-December/124344.html
-https://git.samba.org/?p=samba.git;a=commit;h=70f92025ae504cda97ff3a130f19035450967836
-
-From 70f92025ae504cda97ff3a130f19035450967836 Mon Sep 17 00:00:00 2001
-From: Zentaro Kavanagh <zentaro@chromium.org>
-Date: Mon, 11 Dec 2017 12:41:16 -0800
-Subject: [PATCH] Remove unsupported colon from configure msg.
-
-- When cross-compiling an answers file must be supplied via
- --cross-compile --cross-answers=<path to answers>.
-- The lines in the answer file have the form;
- Config Msg: Answer
-- The colon is used to delimit the msg and the answer when reading
- the answers file.
-- WAF doesn't support the message containing a colon.
-- It's not possible to override this variable so cross compile fails.
-
-Signed-off-by: Zentaro Kavanagh <zentaro@google.com>
-Reviewed-by: Uri Simchoni <uri@samba.org>
-Reviewed-by: Andrew Bartlett <abartlet@samba.org>
----
- wscript_configure_system_mitkrb5 | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/wscript_configure_system_mitkrb5 b/wscript_configure_system_mitkrb5
-index 9c351131ad1a..803dad7ab63b 100644
---- a/wscript_configure_system_mitkrb5
-+++ b/wscript_configure_system_mitkrb5
-@@ -282,7 +282,7 @@ conf.CHECK_CODE('''
- ''',
- 'HAVE_WRFILE_KEYTAB',
- headers='krb5.h', lib='krb5', execute=True,
-- msg="Checking whether the WRFILE:-keytab is supported");
-+ msg="Checking whether the WRFILE -keytab is supported");
- # Check for KRB5_DEPRECATED handling
- conf.CHECK_CODE('''#define KRB5_DEPRECATED 1
- #include <krb5.h>''',
---
-2.15.1
-
diff --git a/net-fs/samba/files/samba-4.8.6-no-pydsdb-when-no-addc.patch b/net-fs/samba/files/samba-4.8.6-no-pydsdb-when-no-addc.patch
deleted file mode 100644
index 1093b1de71df..000000000000
--- a/net-fs/samba/files/samba-4.8.6-no-pydsdb-when-no-addc.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Do not install the python DSDB modules when ADDC is disabled.
-This is a change integrated upstream in 4.9.1 (or earlier).
-
-Without this, the python dsdb_dns.so module is installed, which
-is linked to libdnsserver-common.so that is NOT installed, and so
-potential breakage ensues.
-
---- a/source4/dsdb/wscript_build 2018-01-17 03:08:39.000000000 -0500
-+++ b/source4/dsdb/wscript_build 2018-11-08 10:43:58.064486832 -0500
-@@ -63,10 +63,11 @@
- )
-
- bld.SAMBA_PYTHON('python_dsdb',
- source='pydsdb.c',
- # the dependency on dcerpc here is because gensec
- # depends on dcerpc but the waf circular dependency finder
- # removes it so we end up with unresolved symbols.
- deps='samdb pyldb-util dcerpc com_err pyrpc_util pyparam_util dsdb_garbage_collect_tombstones',
-- realname='samba/dsdb.so'
-+ realname='samba/dsdb.so',
-+ enabled=bld.AD_DC_BUILD_IS_ENABLED()
- )
---- a/source4/dns_server/wscript_build 2018-11-08 11:49:03.450296286 -0500
-+++ b/source4/dns_server/wscript_build 2018-11-08 11:49:23.327864408 -0500
-@@ -64,9 +64,10 @@
- private_library=True,
- deps='samba-hostconfig samdb-common gensec popt dnsserver_common',
- enabled=bld.AD_DC_BUILD_IS_ENABLED())
-
-
- bld.SAMBA_PYTHON('python_dsdb_dns',
- source='pydns.c',
- deps='samdb pyldb-util pyrpc_util dnsserver_common pytalloc-util',
-- realname='samba/dsdb_dns.so')
-+ realname='samba/dsdb_dns.so',
-+ enabled=bld.AD_DC_BUILD_IS_ENABLED())
diff --git a/net-fs/samba/files/samba-4.9.2-timespec.patch b/net-fs/samba/files/samba-4.9.2-timespec.patch
deleted file mode 100644
index c82f4af4e7ea..000000000000
--- a/net-fs/samba/files/samba-4.9.2-timespec.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From 11e8c14b78e2423041f3846882f74cd6490a3e44 Mon Sep 17 00:00:00 2001
-From: Joan Karadimov <joan@profuzdigital.com>
-Date: Thu, 18 Oct 2018 18:16:17 +0300
-Subject: [PATCH] Fix compatibility issues with the timespec struct
-
----
- source3/include/libsmbclient.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/source3/include/libsmbclient.h b/source3/include/libsmbclient.h
-index 5e4a1715402..6487ea7a8aa 100644
---- a/source3/include/libsmbclient.h
-+++ b/source3/include/libsmbclient.h
-@@ -78,6 +78,7 @@ extern "C" {
- #include <sys/statvfs.h>
- #include <stdint.h>
- #include <fcntl.h>
-+#include <time.h>
- #include <utime.h>
-
- #define SMBC_BASE_FD 10000 /* smallest file descriptor returned */
diff --git a/net-fs/samba/files/samba-glibc-2.26-no_rpc.patch b/net-fs/samba/files/samba-glibc-2.26-no_rpc.patch
deleted file mode 100644
index e66446845f24..000000000000
--- a/net-fs/samba/files/samba-glibc-2.26-no_rpc.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-https://attachments.samba.org/attachment.cgi?id=13172
-https://bugs.gentoo.org/637320
-
---- a/lib/replace/wscript
-+++ b/lib/replace/wscript
-@@ -71,7 +71,7 @@
- conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h')
- conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h')
-
-- conf.CHECK_CODE('', headers='rpc/rpc.h rpcsvc/yp_prot.h', define='HAVE_RPCSVC_YP_PROT_H')
-+ conf.CHECK_CODE('ypstat s;', headers='rpc/rpc.h rpcsvc/yp_prot.h', define='HAVE_RPCSVC_YP_PROT_H')
-
- conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
- conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
diff --git a/net-fs/samba/files/samba.conf b/net-fs/samba/files/samba.conf
index e0a6f325cf9a..8e6e9dd8a158 100644
--- a/net-fs/samba/files/samba.conf
+++ b/net-fs/samba/files/samba.conf
@@ -1,2 +1,8 @@
-D /run/samba 0755 root root
-D /run/lock/samba 0755 root root
+d /run/samba
+d /run/ctdb
+d /run/lock/samba
+d /var/cache/samba
+d /var/lib/ctdb
+d /var/lib/samba/bind-dns
+d /var/lib/samba/private
+d /var/log/samba
diff --git a/net-fs/samba/files/samba.service b/net-fs/samba/files/samba.service
deleted file mode 100644
index 8214ff863182..000000000000
--- a/net-fs/samba/files/samba.service
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=Samba AD server
-After=network.target winbindd.service
-Conflicts=nmbd.service smbd.service
-
-[Service]
-ExecStart=/usr/sbin/samba --interactive
-
-[Install]
-WantedBy=multi-user.target
diff --git a/net-fs/samba/files/smbd.service b/net-fs/samba/files/smbd.service
deleted file mode 100644
index 5c006a44edb6..000000000000
--- a/net-fs/samba/files/smbd.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=Samba SMB/CIFS server
-After=network.target nmbd.service winbindd.service
-
-[Service]
-Type=forking
-PIDFile=/var/run/samba/smbd.pid
-ExecStart=/usr/sbin/smbd -D
-ExecReload=/bin/kill -HUP $MAINPID
-
-[Install]
-WantedBy=multi-user.target
diff --git a/net-fs/samba/files/smbd.socket b/net-fs/samba/files/smbd.socket
deleted file mode 100644
index 833bf438832f..000000000000
--- a/net-fs/samba/files/smbd.socket
+++ /dev/null
@@ -1,9 +0,0 @@
-[Unit]
-Description=Samba SMB/CIFS server socket
-
-[Socket]
-ListenStream=445
-Accept=yes
-
-[Install]
-WantedBy=sockets.target
diff --git a/net-fs/samba/files/smbd_at.service b/net-fs/samba/files/smbd_at.service
deleted file mode 100644
index e1f71be3f7fa..000000000000
--- a/net-fs/samba/files/smbd_at.service
+++ /dev/null
@@ -1,7 +0,0 @@
-[Unit]
-Description=Samba SMB/CIFS server instance
-
-[Service]
-ExecStart=/usr/sbin/smbd -F
-ExecReload=/bin/kill -HUP $MAINPID
-StandardInput=socket
diff --git a/net-fs/samba/files/talloc-disable-python.patch b/net-fs/samba/files/talloc-disable-python.patch
deleted file mode 100644
index 6ef45eb37fb8..000000000000
--- a/net-fs/samba/files/talloc-disable-python.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- a/lib/talloc/wscript 2017-04-28 04:57:26.000000000 -0400
-+++ b/lib/talloc/wscript 2017-07-05 14:30:42.700580464 -0400
-@@ -74,19 +74,22 @@
- implied_deps='replace'):
- conf.define('USING_SYSTEM_TALLOC', 1)
-
-- using_system_pytalloc_util = True
-- if not conf.CHECK_BUNDLED_SYSTEM_PKG('pytalloc-util', minversion=VERSION,
-- implied_deps='talloc replace'):
-+ if conf.env.disable_python:
- using_system_pytalloc_util = False
--
-- # We need to get a pytalloc-util for all the python versions
-- # we are building for
-- if conf.env['EXTRA_PYTHON']:
-- name = 'pytalloc-util' + conf.all_envs['extrapython']['PYTHON_SO_ABI_FLAG']
-- if not conf.CHECK_BUNDLED_SYSTEM_PKG(name, minversion=VERSION,
-+ else:
-+ using_system_pytalloc_util = True
-+ if not conf.CHECK_BUNDLED_SYSTEM_PKG('pytalloc-util', minversion=VERSION,
- implied_deps='talloc replace'):
- using_system_pytalloc_util = False
-
-+ # We need to get a pytalloc-util for all the python versions
-+ # we are building for
-+ if conf.env['EXTRA_PYTHON']:
-+ name = 'pytalloc-util' + conf.all_envs['extrapython']['PYTHON_SO_ABI_FLAG']
-+ if not conf.CHECK_BUNDLED_SYSTEM_PKG(name, minversion=VERSION,
-+ implied_deps='talloc replace'):
-+ using_system_pytalloc_util = False
-+
- if using_system_pytalloc_util:
- conf.define('USING_SYSTEM_PYTALLOC_UTIL', 1)
-
diff --git a/net-fs/samba/files/winbindd.service b/net-fs/samba/files/winbindd.service
deleted file mode 100644
index 67a778fc76c7..000000000000
--- a/net-fs/samba/files/winbindd.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=Samba Winbind daemon
-After=network.target nmbd.service
-
-[Service]
-Type=forking
-PIDFile=/var/run/samba/winbindd.pid
-ExecStart=/usr/sbin/winbindd -D
-ExecReload=/bin/kill -HUP $MAINPID
-
-[Install]
-WantedBy=multi-user.target
diff --git a/net-fs/samba/metadata.xml b/net-fs/samba/metadata.xml
index fb277df6bb3b..0839deab51b0 100644
--- a/net-fs/samba/metadata.xml
+++ b/net-fs/samba/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>samba@gentoo.org</email>
@@ -10,24 +10,28 @@
</longdescription>
<use>
<flag name="addc">Enable Active Directory Domain Controller support</flag>
- <flag name="addns">Enable AD DNS integration</flag>
<flag name="ads">Enable Active Directory support</flag>
<flag name="ceph">Enable support for Ceph distributed filesystem via <pkg>sys-cluster/ceph</pkg></flag>
<flag name="client">Enables the client part</flag>
<flag name="cluster">Enable support for clustering</flag>
- <flag name="dmapi">Enable support for DMAPI. This currently works only in combination with XFS.</flag>
+ <flag name="glusterfs">Enable support for Glusterfs filesystem via <pkg>sys-cluster/glusterfs</pkg></flag>
<flag name="gpg">Use <pkg>app-crypt/gpgme</pkg> for AD DC</flag>
<flag name="json">Enable json audit support through <pkg>dev-libs/jansson</pkg></flag>
<flag name="iprint">Enabling iPrint technology by Novell</flag>
<flag name="profiling-data">Enables support for collecting profiling data</flag>
<flag name="quota">Enables support for user quotas</flag>
+ <flag name="regedit">Enable support for regedit command-line tool</flag>
+ <flag name="snapper">Enable vfs_snapper module (requires <pkg>sys-apps/dbus</pkg>)</flag>
+ <flag name="spotlight">Enable support for spotlight backend</flag>
<flag name="system-heimdal">Use <pkg>app-crypt/heimdal</pkg> instead of
bundled heimdal.</flag>
<flag name="system-mitkrb5">Use <pkg>app-crypt/mit-krb5</pkg> instead of
<pkg>app-crypt/heimdal</pkg>.</flag>
+ <flag name="unwind">Enable libunwind usage for backtraces</flag>
<flag name="winbind">Enables support for the winbind auth daemon</flag>
</use>
<upstream>
<remote-id type="cpe">cpe:/a:samba:samba</remote-id>
+ <remote-id type="gitlab">samba-team/samba</remote-id>
</upstream>
</pkgmetadata>
diff --git a/net-fs/samba/samba-4.10.2.ebuild b/net-fs/samba/samba-4.10.2.ebuild
deleted file mode 100644
index 636b9efa77a8..000000000000
--- a/net-fs/samba/samba-4.10.2.ebuild
+++ /dev/null
@@ -1,307 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python3_{5,6,7} )
-PYTHON_REQ_USE='threads(+),xml(+)'
-
-inherit python-single-r1 waf-utils multilib-minimal linux-info systemd pam
-
-MY_PV="${PV/_rc/rc}"
-MY_P="${PN}-${MY_PV}"
-
-SRC_PATH="stable"
-[[ ${PV} = *_rc* ]] && SRC_PATH="rc"
-
-SRC_URI="mirror://samba/${SRC_PATH}/${MY_P}.tar.gz"
-[[ ${PV} = *_rc* ]] || \
-KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
-
-DESCRIPTION="Samba Suite Version 4"
-HOMEPAGE="https://www.samba.org/"
-LICENSE="GPL-3"
-
-SLOT="0"
-
-IUSE="acl addc addns ads ceph client cluster cups debug dmapi fam gnutls gpg iprint json ldap
-pam python quota selinux syslog system-heimdal +system-mitkrb5 systemd test winbind zeroconf"
-
-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
-)
-
-# sys-apps/attr is an automagic dependency (see bug #489748)
-CDEPEND="
- >=app-arch/libarchive-3.1.2[${MULTILIB_USEDEP}]
- dev-lang/perl:=
- dev-libs/libaio[${MULTILIB_USEDEP}]
- dev-libs/libbsd[${MULTILIB_USEDEP}]
- dev-libs/iniparser:0
- dev-libs/popt[${MULTILIB_USEDEP}]
- dev-python/subunit[${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- >=dev-util/cmocka-1.1.1[${MULTILIB_USEDEP}]
- net-libs/libnsl:=[${MULTILIB_USEDEP}]
- sys-apps/attr[${MULTILIB_USEDEP}]
- >=sys-libs/ldb-1.5.4[ldap(+)?,python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- <sys-libs/ldb-1.6.0[ldap(+)?,python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- sys-libs/libcap
- sys-libs/ncurses:0=[${MULTILIB_USEDEP}]
- sys-libs/readline:0=
- >=sys-libs/talloc-2.1.16[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- >=sys-libs/tdb-1.3.18[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- >=sys-libs/tevent-0.9.39[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- virtual/libiconv
- pam? ( virtual/pam )
- acl? ( virtual/acl )
- addns? (
- net-dns/bind-tools[gssapi]
- dev-python/dnspython:=[${PYTHON_USEDEP}]
- )
- ceph? ( sys-cluster/ceph )
- cluster? (
- net-libs/rpcsvc-proto
- !dev-db/ctdb
- )
- cups? ( net-print/cups )
- debug? ( dev-util/lttng-ust )
- dmapi? ( sys-apps/dmapi )
- fam? ( virtual/fam )
- gnutls? (
- dev-libs/libgcrypt:0
- >=net-libs/gnutls-1.4.0
- )
- gpg? ( app-crypt/gpgme )
- json? ( dev-libs/jansson )
- ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] )
- system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl,${MULTILIB_USEDEP}] )
- system-mitkrb5? ( >=app-crypt/mit-krb5-1.15.1[${MULTILIB_USEDEP}] )
- systemd? ( sys-apps/systemd:0= )
-"
-DEPEND="${CDEPEND}
- ${PYTHON_DEPS}
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- net-libs/libtirpc[${MULTILIB_USEDEP}]
- virtual/pkgconfig
- || (
- net-libs/rpcsvc-proto
- <sys-libs/glibc-2.26[rpc(+)]
- )
- test? (
- !system-mitkrb5? (
- >=sys-libs/nss_wrapper-1.1.3
- >=net-dns/resolv_wrapper-1.1.4
- >=net-libs/socket_wrapper-1.1.9
- >=sys-libs/uid_wrapper-1.2.1
- )
- )"
-RDEPEND="${CDEPEND}
- python? ( ${PYTHON_DEPS} )
- client? ( net-fs/cifs-utils[ads?] )
- selinux? ( sec-policy/selinux-samba )
- !dev-perl/Parse-Yapp
-"
-
-REQUIRED_USE="
- addc? ( python gnutls json winbind )
- addns? ( python )
- ads? ( acl gnutls ldap winbind )
- cluster? ( ads )
- gpg? ( addc )
- test? ( python )
- ?? ( system-heimdal system-mitkrb5 )
- ${PYTHON_REQUIRED_USE}
-"
-
-# 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"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.4.0-pam.patch"
- "${FILESDIR}/${PN}-4.5.1-compile_et_fix.patch"
- "${FILESDIR}/${PN}-4.9.2-timespec.patch"
- "${FILESDIR}/${PN}-4.10.0-disable_gnutls_build_fix.patch"
-)
-
-#CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)"
-CONFDIR="${FILESDIR}/4.4"
-
-WAF_BINARY="${S}/buildtools/bin/waf"
-
-SHAREDMODS=""
-
-pkg_setup() {
- python-single-r1_pkg_setup
- if use cluster ; then
- SHAREDMODS="idmap_rid,idmap_tdb2,idmap_ad"
- elif use ads ; then
- SHAREDMODS="idmap_ad"
- fi
-}
-
-src_prepare() {
- default
-
- # un-bundle 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
-
- # Friggin' WAF shit
- 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
-
- 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
- $(multilib_native_use_with acl acl-support)
- $(multilib_native_usex addc '' '--without-ad-dc')
- $(multilib_native_use_with addns dnsupdate)
- $(multilib_native_use_with ads)
- $(multilib_native_use_enable ceph cephfs)
- $(multilib_native_use_with cluster cluster-support)
- $(multilib_native_use_enable cups)
- $(multilib_native_use_with dmapi)
- $(multilib_native_use_with fam)
- $(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 syslog)
- $(multilib_native_use_with systemd)
- $(multilib_native_use_with winbind)
- $(multilib_native_usex python '' '--disable-python')
- $(multilib_native_use_enable zeroconf avahi)
- $(multilib_native_usex test '--enable-selftest' '')
- $(usex system-mitkrb5 "--with-system-mitkrb5 $(multilib_native_usex addc --with-experimental-mit-ad-dc '')" '')
- $(use_enable gnutls)
- $(use_with debug lttng)
- $(use_with ldap)
- )
-
- multilib_is_native_abi && myconf+=( --with-shared-modules=${SHAREDMODS} )
-
- CPPFLAGS="-I${SYSROOT}${EPREFIX}/usr/include/et ${CPPFLAGS}" \
- waf-utils_src_configure ${myconf[@]}
-}
-
-multilib_src_compile() {
- waf-utils_src_compile
-}
-
-multilib_src_install() {
- waf-utils_src_install
-
- # Make all .so files executable
- find "${ED}" -type f -name "*.so" -exec chmod +x {} + || 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 (#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
-
- systemd_dotmpfilesd "${FILESDIR}"/samba.conf
- systemd_dounit "${FILESDIR}"/nmbd.service
- systemd_dounit "${FILESDIR}"/smbd.{service,socket}
- systemd_newunit "${FILESDIR}"/smbd_at.service 'smbd@.service'
- systemd_dounit "${FILESDIR}"/winbindd.service
- systemd_dounit "${FILESDIR}"/samba.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 || die
- fi
-
- keepdir /var/cache/samba
- keepdir /var/lib/ctdb
- keepdir /var/lib/samba/{bind-dns,private}
- keepdir /var/lock/samba
- keepdir /var/log/samba
- keepdir /var/run/{ctdb,samba}
-}
-
-multilib_src_test() {
- if multilib_is_native_abi ; then
- "${WAF_BINARY}" test || die "test failed"
- fi
-}
-
-pkg_postinst() {
- ewarn "Be aware the this release contains the best of all of Samba's"
- ewarn "technology parts, both a file server (that you can reasonably expect"
- ewarn "to upgrade existing Samba 3.x releases to) and the AD domain"
- ewarn "controller work previously known as 'samba4'."
-
- elog "For further information and migration steps make sure to read "
- elog "https://samba.org/samba/history/${P}.html "
- elog "https://wiki.samba.org/index.php/Samba4/HOWTO "
-}
diff --git a/net-fs/samba/samba-4.10.5.ebuild b/net-fs/samba/samba-4.10.5.ebuild
deleted file mode 100644
index 9abce7be82cd..000000000000
--- a/net-fs/samba/samba-4.10.5.ebuild
+++ /dev/null
@@ -1,309 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python3_{5,6,7} )
-PYTHON_REQ_USE='threads(+),xml(+)'
-
-inherit python-single-r1 waf-utils multilib-minimal linux-info systemd pam
-
-MY_PV="${PV/_rc/rc}"
-MY_P="${PN}-${MY_PV}"
-
-SRC_PATH="stable"
-[[ ${PV} = *_rc* ]] && SRC_PATH="rc"
-
-SRC_URI="mirror://samba/${SRC_PATH}/${MY_P}.tar.gz"
-[[ ${PV} = *_rc* ]] || \
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
-
-DESCRIPTION="Samba Suite Version 4"
-HOMEPAGE="https://www.samba.org/"
-LICENSE="GPL-3"
-
-SLOT="0"
-
-IUSE="acl addc addns ads ceph client cluster cups debug dmapi fam gnutls gpg
-iprint json ldap pam profiling-data python quota selinux syslog system-heimdal
-+system-mitkrb5 systemd test winbind zeroconf"
-
-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
-)
-
-# sys-apps/attr is an automagic dependency (see bug #489748)
-CDEPEND="
- >=app-arch/libarchive-3.1.2[${MULTILIB_USEDEP}]
- dev-lang/perl:=
- dev-libs/libaio[${MULTILIB_USEDEP}]
- dev-libs/libbsd[${MULTILIB_USEDEP}]
- dev-libs/iniparser:0
- dev-libs/popt[${MULTILIB_USEDEP}]
- dev-python/subunit[${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- >=dev-util/cmocka-1.1.1[${MULTILIB_USEDEP}]
- net-libs/libnsl:=[${MULTILIB_USEDEP}]
- sys-apps/attr[${MULTILIB_USEDEP}]
- >=sys-libs/ldb-1.5.4[ldap(+)?,python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- <sys-libs/ldb-1.6.0[ldap(+)?,python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- sys-libs/libcap
- sys-libs/ncurses:0=[${MULTILIB_USEDEP}]
- sys-libs/readline:0=
- >=sys-libs/talloc-2.1.16[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- >=sys-libs/tdb-1.3.18[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- >=sys-libs/tevent-0.9.39[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- virtual/libiconv
- pam? ( virtual/pam )
- acl? ( virtual/acl )
- addns? (
- net-dns/bind-tools[gssapi]
- dev-python/dnspython:=[${PYTHON_USEDEP}]
- )
- ceph? ( sys-cluster/ceph )
- cluster? (
- net-libs/rpcsvc-proto
- !dev-db/ctdb
- )
- cups? ( net-print/cups )
- debug? ( dev-util/lttng-ust )
- dmapi? ( sys-apps/dmapi )
- fam? ( virtual/fam )
- gnutls? (
- dev-libs/libgcrypt:0
- >=net-libs/gnutls-1.4.0
- )
- gpg? ( app-crypt/gpgme )
- json? ( dev-libs/jansson )
- ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] )
- system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl,${MULTILIB_USEDEP}] )
- system-mitkrb5? ( >=app-crypt/mit-krb5-1.15.1[${MULTILIB_USEDEP}] )
- systemd? ( sys-apps/systemd:0= )
-"
-DEPEND="${CDEPEND}
- ${PYTHON_DEPS}
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- net-libs/libtirpc[${MULTILIB_USEDEP}]
- virtual/pkgconfig
- || (
- net-libs/rpcsvc-proto
- <sys-libs/glibc-2.26[rpc(+)]
- )
- test? (
- !system-mitkrb5? (
- >=sys-libs/nss_wrapper-1.1.3
- >=net-dns/resolv_wrapper-1.1.4
- >=net-libs/socket_wrapper-1.1.9
- >=sys-libs/uid_wrapper-1.2.1
- )
- )"
-RDEPEND="${CDEPEND}
- python? ( ${PYTHON_DEPS} )
- client? ( net-fs/cifs-utils[ads?] )
- selinux? ( sec-policy/selinux-samba )
- !dev-perl/Parse-Yapp
-"
-
-REQUIRED_USE="
- addc? ( python gnutls json winbind )
- addns? ( python )
- ads? ( acl gnutls ldap winbind )
- cluster? ( ads )
- gpg? ( addc )
- test? ( python )
- ?? ( system-heimdal system-mitkrb5 )
- ${PYTHON_REQUIRED_USE}
-"
-
-# 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"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.4.0-pam.patch"
- "${FILESDIR}/${PN}-4.5.1-compile_et_fix.patch"
- "${FILESDIR}/${PN}-4.9.2-timespec.patch"
- "${FILESDIR}/${PN}-4.10.0-disable_gnutls_build_fix.patch"
-)
-
-#CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)"
-CONFDIR="${FILESDIR}/4.4"
-
-WAF_BINARY="${S}/buildtools/bin/waf"
-
-SHAREDMODS=""
-
-pkg_setup() {
- python-single-r1_pkg_setup
- if use cluster ; then
- SHAREDMODS="idmap_rid,idmap_tdb2,idmap_ad"
- elif use ads ; then
- SHAREDMODS="idmap_ad"
- fi
-}
-
-src_prepare() {
- default
-
- # un-bundle 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
-
- # Friggin' WAF shit
- 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
-
- 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
- $(multilib_native_use_with acl acl-support)
- $(multilib_native_usex addc '' '--without-ad-dc')
- $(multilib_native_use_with addns dnsupdate)
- $(multilib_native_use_with ads)
- $(multilib_native_use_enable ceph cephfs)
- $(multilib_native_use_with cluster cluster-support)
- $(multilib_native_use_enable cups)
- $(multilib_native_use_with dmapi)
- $(multilib_native_use_with fam)
- $(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 syslog)
- $(multilib_native_use_with systemd)
- $(multilib_native_use_with winbind)
- $(multilib_native_usex python '' '--disable-python')
- $(multilib_native_use_enable zeroconf avahi)
- $(multilib_native_usex test '--enable-selftest' '')
- $(usex system-mitkrb5 "--with-system-mitkrb5 $(multilib_native_usex addc --with-experimental-mit-ad-dc '')" '')
- $(use_enable gnutls)
- $(use_with debug lttng)
- $(use_with ldap)
- $(use_with profiling-data)
- )
-
- multilib_is_native_abi && myconf+=( --with-shared-modules=${SHAREDMODS} )
-
- CPPFLAGS="-I${SYSROOT}${EPREFIX}/usr/include/et ${CPPFLAGS}" \
- waf-utils_src_configure ${myconf[@]}
-}
-
-multilib_src_compile() {
- waf-utils_src_compile
-}
-
-multilib_src_install() {
- waf-utils_src_install
-
- # Make all .so files executable
- find "${ED}" -type f -name "*.so" -exec chmod +x {} + || 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 (#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
-
- systemd_dotmpfilesd "${FILESDIR}"/samba.conf
- systemd_dounit "${FILESDIR}"/nmbd.service
- systemd_dounit "${FILESDIR}"/smbd.{service,socket}
- systemd_newunit "${FILESDIR}"/smbd_at.service 'smbd@.service'
- systemd_dounit "${FILESDIR}"/winbindd.service
- systemd_dounit "${FILESDIR}"/samba.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 || die
- fi
-
- keepdir /var/cache/samba
- keepdir /var/lib/ctdb
- keepdir /var/lib/samba/{bind-dns,private}
- keepdir /var/lock/samba
- keepdir /var/log/samba
- keepdir /var/run/{ctdb,samba}
-}
-
-multilib_src_test() {
- if multilib_is_native_abi ; then
- "${WAF_BINARY}" test || die "test failed"
- fi
-}
-
-pkg_postinst() {
- ewarn "Be aware the this release contains the best of all of Samba's"
- ewarn "technology parts, both a file server (that you can reasonably expect"
- ewarn "to upgrade existing Samba 3.x releases to) and the AD domain"
- ewarn "controller work previously known as 'samba4'."
-
- elog "For further information and migration steps make sure to read "
- elog "https://samba.org/samba/history/${P}.html "
- elog "https://wiki.samba.org/index.php/Samba4/HOWTO "
-}
diff --git a/net-fs/samba/samba-4.10.6.ebuild b/net-fs/samba/samba-4.10.6.ebuild
deleted file mode 100644
index 3d065562f7cc..000000000000
--- a/net-fs/samba/samba-4.10.6.ebuild
+++ /dev/null
@@ -1,315 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python3_{5,6,7} )
-PYTHON_REQ_USE='threads(+),xml(+)'
-
-inherit python-single-r1 waf-utils multilib-minimal linux-info systemd pam
-
-MY_PV="${PV/_rc/rc}"
-MY_P="${PN}-${MY_PV}"
-
-SRC_PATH="stable"
-[[ ${PV} = *_rc* ]] && SRC_PATH="rc"
-
-SRC_URI="mirror://samba/${SRC_PATH}/${MY_P}.tar.gz"
-[[ ${PV} = *_rc* ]] || \
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
-
-DESCRIPTION="Samba Suite Version 4"
-HOMEPAGE="https://www.samba.org/"
-LICENSE="GPL-3"
-
-SLOT="0"
-
-IUSE="acl addc addns ads ceph client cluster cups debug dmapi fam gnutls gpg
-iprint json ldap pam profiling-data python quota selinux syslog system-heimdal
-+system-mitkrb5 systemd test winbind zeroconf"
-
-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
-)
-
-# sys-apps/attr is an automagic dependency (see bug #489748)
-CDEPEND="
- >=app-arch/libarchive-3.1.2[${MULTILIB_USEDEP}]
- dev-lang/perl:=
- dev-libs/libaio[${MULTILIB_USEDEP}]
- dev-libs/libbsd[${MULTILIB_USEDEP}]
- dev-libs/iniparser:0
- dev-libs/popt[${MULTILIB_USEDEP}]
- dev-python/subunit[${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- >=dev-util/cmocka-1.1.1[${MULTILIB_USEDEP}]
- net-libs/libnsl:=[${MULTILIB_USEDEP}]
- sys-apps/attr[${MULTILIB_USEDEP}]
- >=sys-libs/ldb-1.5.5[ldap(+)?,python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- <sys-libs/ldb-1.6.0[ldap(+)?,python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- sys-libs/libcap
- sys-libs/ncurses:0=[${MULTILIB_USEDEP}]
- sys-libs/readline:0=
- >=sys-libs/talloc-2.1.16[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- >=sys-libs/tdb-1.3.18[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- >=sys-libs/tevent-0.9.39[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- virtual/libiconv
- pam? ( virtual/pam )
- acl? ( virtual/acl )
- addns? (
- net-dns/bind-tools[gssapi]
- dev-python/dnspython:=[${PYTHON_USEDEP}]
- )
- ceph? ( sys-cluster/ceph )
- cluster? (
- net-libs/rpcsvc-proto
- !dev-db/ctdb
- )
- cups? ( net-print/cups )
- debug? ( dev-util/lttng-ust )
- dmapi? ( sys-apps/dmapi )
- fam? ( virtual/fam )
- gnutls? (
- dev-libs/libgcrypt:0
- >=net-libs/gnutls-1.4.0
- )
- gpg? ( app-crypt/gpgme )
- json? ( dev-libs/jansson )
- ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] )
- system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl,${MULTILIB_USEDEP}] )
- system-mitkrb5? ( >=app-crypt/mit-krb5-1.15.1[${MULTILIB_USEDEP}] )
- systemd? ( sys-apps/systemd:0= )
-"
-DEPEND="${CDEPEND}
- ${PYTHON_DEPS}
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- net-libs/libtirpc[${MULTILIB_USEDEP}]
- virtual/pkgconfig
- || (
- net-libs/rpcsvc-proto
- <sys-libs/glibc-2.26[rpc(+)]
- )
- test? (
- !system-mitkrb5? (
- >=sys-libs/nss_wrapper-1.1.3
- >=net-dns/resolv_wrapper-1.1.4
- >=net-libs/socket_wrapper-1.1.9
- >=sys-libs/uid_wrapper-1.2.1
- )
- )"
-RDEPEND="${CDEPEND}
- python? ( ${PYTHON_DEPS} )
- client? ( net-fs/cifs-utils[ads?] )
- selinux? ( sec-policy/selinux-samba )
- !dev-perl/Parse-Yapp
-"
-
-REQUIRED_USE="
- addc? ( python gnutls json winbind )
- addns? ( python )
- ads? ( acl gnutls ldap winbind )
- cluster? ( ads )
- gpg? ( addc )
- test? ( python )
- ?? ( system-heimdal system-mitkrb5 )
- ${PYTHON_REQUIRED_USE}
-"
-
-# 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"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.4.0-pam.patch"
- "${FILESDIR}/${PN}-4.5.1-compile_et_fix.patch"
- "${FILESDIR}/${PN}-4.9.2-timespec.patch"
- "${FILESDIR}/${PN}-4.10.0-disable_gnutls_build_fix.patch"
-)
-
-#CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)"
-CONFDIR="${FILESDIR}/4.4"
-
-WAF_BINARY="${S}/buildtools/bin/waf"
-
-SHAREDMODS=""
-
-pkg_setup() {
- python-single-r1_pkg_setup
- if use cluster ; then
- SHAREDMODS="idmap_rid,idmap_tdb2,idmap_ad"
- elif use ads ; then
- SHAREDMODS="idmap_ad"
- fi
-}
-
-src_prepare() {
- default
-
- # un-bundle 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
-
- # Friggin' WAF shit
- 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
-
- 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
- $(multilib_native_use_with acl acl-support)
- $(multilib_native_usex addc '' '--without-ad-dc')
- $(multilib_native_use_with addns dnsupdate)
- $(multilib_native_use_with ads)
- $(multilib_native_use_enable ceph cephfs)
- $(multilib_native_use_with cluster cluster-support)
- $(multilib_native_use_enable cups)
- $(multilib_native_use_with dmapi)
- $(multilib_native_use_with fam)
- $(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 syslog)
- $(multilib_native_use_with systemd)
- $(multilib_native_use_with winbind)
- $(multilib_native_usex python '' '--disable-python')
- $(multilib_native_use_enable zeroconf avahi)
- $(multilib_native_usex test '--enable-selftest' '')
- $(usex system-mitkrb5 "--with-system-mitkrb5 $(multilib_native_usex addc --with-experimental-mit-ad-dc '')" '')
- $(use_enable gnutls)
- $(use_with debug lttng)
- $(use_with ldap)
- $(use_with profiling-data)
- )
-
- multilib_is_native_abi && myconf+=( --with-shared-modules=${SHAREDMODS} )
-
- CPPFLAGS="-I${SYSROOT}${EPREFIX}/usr/include/et ${CPPFLAGS}" \
- waf-utils_src_configure ${myconf[@]}
-}
-
-multilib_src_compile() {
- waf-utils_src_compile
-}
-
-multilib_src_install() {
- waf-utils_src_install
-
- # Make all .so files executable
- find "${ED}" -type f -name "*.so" -exec chmod +x {} + || 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 (#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
-
- systemd_dotmpfilesd "${FILESDIR}"/samba.conf
- systemd_dounit "${FILESDIR}"/nmbd.service
- systemd_dounit "${FILESDIR}"/smbd.{service,socket}
- systemd_newunit "${FILESDIR}"/smbd_at.service 'smbd@.service'
- systemd_dounit "${FILESDIR}"/winbindd.service
- systemd_dounit "${FILESDIR}"/samba.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 || die
- fi
-
- keepdir /var/cache/samba
- keepdir /var/lib/ctdb
- keepdir /var/lib/samba/{bind-dns,private}
- keepdir /var/lock/samba
- keepdir /var/log/samba
- keepdir /var/run/{ctdb,samba}
-}
-
-multilib_src_install_all() {
- # Attempt to fix bug #673168
- find "${ED}" -type d -name "Yapp" -print0 \
- | xargs -0 --no-run-if-empty rm -r || die
-}
-
-multilib_src_test() {
- if multilib_is_native_abi ; then
- "${WAF_BINARY}" test || die "test failed"
- fi
-}
-
-pkg_postinst() {
- ewarn "Be aware the this release contains the best of all of Samba's"
- ewarn "technology parts, both a file server (that you can reasonably expect"
- ewarn "to upgrade existing Samba 3.x releases to) and the AD domain"
- ewarn "controller work previously known as 'samba4'."
-
- elog "For further information and migration steps make sure to read "
- elog "https://samba.org/samba/history/${P}.html "
- elog "https://wiki.samba.org/index.php/Samba4/HOWTO "
-}
diff --git a/net-fs/samba/samba-4.18.10.ebuild b/net-fs/samba/samba-4.18.10.ebuild
new file mode 100644
index 000000000000..be5091996562
--- /dev/null
+++ b/net-fs/samba/samba-4.18.10.ebuild
@@ -0,0 +1,384 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..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="https://download.samba.org/pub/samba/rc/${MY_P}.tar.gz"
+else
+ SRC_URI="https://download.samba.org/pub/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.4.0"
+TDB_VERSION="1.4.8"
+TEVENT_VERSION="0.14.1"
+
+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.7.2:=[ldap(+)?,${MULTILIB_USEDEP}]
+ <sys-libs/ldb-2.8.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.18.4-pam.patch
+ "${FILESDIR}"/ldb-2.5.2-skip-wav-tevent-check.patch
+ "${FILESDIR}"/cmocka-config_h.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
+}
diff --git a/net-fs/samba/samba-4.18.11.ebuild b/net-fs/samba/samba-4.18.11.ebuild
new file mode 100644
index 000000000000..853948ccc18f
--- /dev/null
+++ b/net-fs/samba/samba-4.18.11.ebuild
@@ -0,0 +1,384 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+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="https://download.samba.org/pub/samba/rc/${MY_P}.tar.gz"
+else
+ SRC_URI="https://download.samba.org/pub/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.4.0"
+TDB_VERSION="1.4.8"
+TEVENT_VERSION="0.14.1"
+
+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.7.2:=[ldap(+)?,${MULTILIB_USEDEP}]
+ <sys-libs/ldb-2.8.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}] )
+ !system-heimdal? ( !system-mitkrb5? ( sys-apps/keyutils[${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.18.4-pam.patch
+ "${FILESDIR}"/ldb-2.5.2-skip-wav-tevent-check.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
+}
diff --git a/net-fs/samba/samba-4.18.8.ebuild b/net-fs/samba/samba-4.18.8.ebuild
new file mode 100644
index 000000000000..6d1877fa6e7b
--- /dev/null
+++ b/net-fs/samba/samba-4.18.8.ebuild
@@ -0,0 +1,384 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..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="https://download.samba.org/pub/samba/rc/${MY_P}.tar.gz"
+else
+ SRC_URI="https://download.samba.org/pub/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.4.0"
+TDB_VERSION="1.4.8"
+TEVENT_VERSION="0.14.1"
+
+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.7.2:=[ldap(+)?,${MULTILIB_USEDEP}]
+ <sys-libs/ldb-2.8.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.18.4-pam.patch
+ "${FILESDIR}"/ldb-2.5.2-skip-wav-tevent-check.patch
+ "${FILESDIR}"/cmocka-config_h.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
+}
diff --git a/net-fs/samba/samba-4.18.9.ebuild b/net-fs/samba/samba-4.18.9.ebuild
new file mode 100644
index 000000000000..1acb8412bd5c
--- /dev/null
+++ b/net-fs/samba/samba-4.18.9.ebuild
@@ -0,0 +1,384 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+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="https://download.samba.org/pub/samba/rc/${MY_P}.tar.gz"
+else
+ SRC_URI="https://download.samba.org/pub/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.4.0"
+TDB_VERSION="1.4.8"
+TEVENT_VERSION="0.14.1"
+
+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.7.2:=[ldap(+)?,${MULTILIB_USEDEP}]
+ <sys-libs/ldb-2.8.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.18.4-pam.patch
+ "${FILESDIR}"/ldb-2.5.2-skip-wav-tevent-check.patch
+ "${FILESDIR}"/cmocka-config_h.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
+}
diff --git a/net-fs/samba/samba-4.19.4.ebuild b/net-fs/samba/samba-4.19.4.ebuild
new file mode 100644
index 000000000000..9903c474ab38
--- /dev/null
+++ b/net-fs/samba/samba-4.19.4.ebuild
@@ -0,0 +1,383 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..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="https://download.samba.org/pub/samba/rc/${MY_P}.tar.gz"
+else
+ SRC_URI="https://download.samba.org/pub/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 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.4.1"
+TDB_VERSION="1.4.9"
+TEVENT_VERSION="0.15.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.8.0:=[ldap(+)?,${MULTILIB_USEDEP}]
+ <sys-libs/ldb-2.9.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.18.4-pam.patch
+ "${FILESDIR}"/ldb-2.5.2-skip-wav-tevent-check.patch
+ "${FILESDIR}"/cmocka-config_h.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
+ $(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
+}
diff --git a/net-fs/samba/samba-4.19.6.ebuild b/net-fs/samba/samba-4.19.6.ebuild
new file mode 100644
index 000000000000..4493fa08886d
--- /dev/null
+++ b/net-fs/samba/samba-4.19.6.ebuild
@@ -0,0 +1,383 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+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="https://download.samba.org/pub/samba/rc/${MY_P}.tar.gz"
+else
+ SRC_URI="https://download.samba.org/pub/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 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.4.1"
+TDB_VERSION="1.4.9"
+TEVENT_VERSION="0.15.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.8.0:=[ldap(+)?,${MULTILIB_USEDEP}]
+ <sys-libs/ldb-2.9.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}] )
+ !system-heimdal? ( !system-mitkrb5? ( sys-apps/keyutils[${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.18.4-pam.patch
+ "${FILESDIR}"/ldb-2.5.2-skip-wav-tevent-check.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
+ $(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
+}
diff --git a/net-fs/samba/samba-4.20.0.ebuild b/net-fs/samba/samba-4.20.0.ebuild
new file mode 100644
index 000000000000..5cdececc5c61
--- /dev/null
+++ b/net-fs/samba/samba-4.20.0.ebuild
@@ -0,0 +1,383 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+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="https://download.samba.org/pub/samba/rc/${MY_P}.tar.gz"
+else
+ SRC_URI="https://download.samba.org/pub/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 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.4.2"
+TDB_VERSION="1.4.10"
+TEVENT_VERSION="0.16.1"
+
+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.9.0:=[ldap(+)?,${MULTILIB_USEDEP}]
+ <sys-libs/ldb-2.10.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}] )
+ !system-heimdal? ( !system-mitkrb5? ( sys-apps/keyutils[${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.18.4-pam.patch
+ "${FILESDIR}"/ldb-2.5.2-skip-wav-tevent-check.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
+ $(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
+}
diff --git a/net-fs/samba/samba-4.20.1.ebuild b/net-fs/samba/samba-4.20.1.ebuild
new file mode 100644
index 000000000000..5cdececc5c61
--- /dev/null
+++ b/net-fs/samba/samba-4.20.1.ebuild
@@ -0,0 +1,383 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+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="https://download.samba.org/pub/samba/rc/${MY_P}.tar.gz"
+else
+ SRC_URI="https://download.samba.org/pub/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 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.4.2"
+TDB_VERSION="1.4.10"
+TEVENT_VERSION="0.16.1"
+
+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.9.0:=[ldap(+)?,${MULTILIB_USEDEP}]
+ <sys-libs/ldb-2.10.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}] )
+ !system-heimdal? ( !system-mitkrb5? ( sys-apps/keyutils[${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.18.4-pam.patch
+ "${FILESDIR}"/ldb-2.5.2-skip-wav-tevent-check.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
+ $(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
+}
diff --git a/net-fs/samba/samba-4.5.16.ebuild b/net-fs/samba/samba-4.5.16.ebuild
deleted file mode 100644
index 3fd2ad28eb1a..000000000000
--- a/net-fs/samba/samba-4.5.16.ebuild
+++ /dev/null
@@ -1,294 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE='threads(+),xml(+)'
-
-inherit python-single-r1 waf-utils multilib-minimal linux-info systemd eutils
-
-MY_PV="${PV/_rc/rc}"
-MY_P="${PN}-${MY_PV}"
-
-SRC_PATH="stable"
-[[ ${PV} = *_rc* ]] && SRC_PATH="rc"
-
-SRC_URI="mirror://samba/${SRC_PATH}/${MY_P}.tar.gz
- https://dev.gentoo.org/~polynomial-c/samba-4.5.11-disable-python-patches.tar.xz"
-[[ ${PV} = *_rc* ]] || \
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ppc ppc64 sparc x86"
-
-DESCRIPTION="Samba Suite Version 4"
-HOMEPAGE="https://www.samba.org/"
-LICENSE="GPL-3"
-
-SLOT="0"
-
-IUSE="acl addc addns ads client cluster cups dmapi fam gnutls gpg iprint ldap pam
-quota selinux syslog system-heimdal +system-mitkrb5 systemd test winbind zeroconf"
-
-# 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
-)
-
-# sys-apps/attr is an automagic dependency (see bug #489748)
-CDEPEND="${PYTHON_DEPS}
- >=app-arch/libarchive-3.1.2[${MULTILIB_USEDEP}]
- dev-lang/perl:=
- dev-libs/libaio[${MULTILIB_USEDEP}]
- dev-libs/libbsd[${MULTILIB_USEDEP}]
- dev-libs/iniparser:0
- dev-libs/popt[${MULTILIB_USEDEP}]
- dev-python/subunit[${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- net-libs/libnsl:=[${MULTILIB_USEDEP}]
- sys-apps/attr[${MULTILIB_USEDEP}]
- >=sys-libs/ldb-1.1.27[ldap(+)?,python(+),${MULTILIB_USEDEP}]
- <sys-libs/ldb-1.1.30[ldap(+)?,python(+),${MULTILIB_USEDEP}]
- sys-libs/libcap
- sys-libs/ncurses:0=[${MULTILIB_USEDEP}]
- sys-libs/readline:0=
- >=sys-libs/talloc-2.1.8[python,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- >=sys-libs/tdb-1.3.10[python,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- >=sys-libs/tevent-0.9.31-r1[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- virtual/libiconv
- pam? ( virtual/pam )
- acl? ( virtual/acl )
- addns? ( net-dns/bind-tools[gssapi] )
- cluster? (
- net-libs/rpcsvc-proto
- !dev-db/ctdb
- )
- cups? ( net-print/cups )
- dmapi? ( sys-apps/dmapi )
- fam? ( virtual/fam )
- gnutls? (
- dev-libs/libgcrypt:0
- >=net-libs/gnutls-1.4.0
- )
- gpg? ( app-crypt/gpgme )
- ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] )
- system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl,${MULTILIB_USEDEP}] )
- system-mitkrb5? ( app-crypt/mit-krb5[${MULTILIB_USEDEP}] )
- systemd? ( sys-apps/systemd:0= )"
-DEPEND="${CDEPEND}
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- virtual/pkgconfig
- test? (
- >=sys-libs/nss_wrapper-1.1.3
- >=net-dns/resolv_wrapper-1.1.4
- >=net-libs/socket_wrapper-1.1.7
- >=sys-libs/uid_wrapper-1.2.1
- )"
-RDEPEND="${CDEPEND}
- client? ( net-fs/cifs-utils[ads?] )
- selinux? ( sec-policy/selinux-samba )
- !dev-perl/Parse-Yapp
-"
-
-REQUIRED_USE="
- addc? ( gnutls !system-mitkrb5 )
- ads? ( acl gnutls ldap )
- cluster? ( ads )
- gpg? ( addc )
- ?? ( system-heimdal system-mitkrb5 )
- ${PYTHON_REQUIRED_USE}"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.4.0-pam.patch"
- "${FILESDIR}/${PN}-4.5.1-compile_et_fix.patch"
- "${FILESDIR}/${PN}-glibc-2.26-no_rpc.patch" #637320
-)
-
-#CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)"
-CONFDIR="${FILESDIR}/4.4"
-
-WAF_BINARY="${S}/buildtools/bin/waf"
-
-SHAREDMODS=""
-
-pkg_setup() {
- python-single-r1_pkg_setup
- if use cluster ; then
- SHAREDMODS="idmap_rid,idmap_tdb2,idmap_ad"
- elif use ads ; then
- SHAREDMODS="idmap_ad"
- fi
-}
-
-src_prepare() {
- default
-
- # install the patches from tarball(s)
- eapply "${WORKDIR}/patches"
-
- # 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
-
- # Friggin' WAF shit
- 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
-
- local myconf=()
- myconf=(
- --enable-fhs
- --sysconfdir="${EPREFIX}/etc"
- --localstatedir="${EPREFIX}/var"
- --with-modulesdir="${EPREFIX}/usr/$(get_libdir)/samba"
- --with-piddir="${EPREFIX}/run/${PN}"
- --without-lttng
- --bundled-libraries="${bundled_libs}"
- --builtin-libraries=NONE
- --disable-rpath
- --disable-rpath-install
- --nopyc
- --nopyo
- --disable-cephfs
- )
- if multilib_is_native_abi ; then
- myconf+=(
- $(use_with acl acl-support)
- $(usex addc '' '--without-ad-dc')
- $(use_with addns dnsupdate)
- $(use_with ads)
- $(use_with cluster cluster-support)
- $(use_enable cups)
- $(use_with dmapi)
- $(use_with fam)
- $(use_enable gnutls)
- $(use_with gpg gpgme)
- $(use_enable iprint)
- $(use_with ldap)
- $(use_with pam)
- $(usex pam "--with-pammodulesdir=${EPREFIX}/$(get_libdir)/security" '')
- $(use_with quota quotas)
- $(use_with syslog)
- $(use_with systemd)
- $(usex system-mitkrb5 '--with-system-mitkrb5' '')
- $(use_with winbind)
- $(usex test '--enable-selftest' '')
- $(use_enable zeroconf avahi)
- --with-shared-modules=${SHAREDMODS}
- )
- else
- myconf+=(
- --without-acl-support
- --without-ad-dc
- --without-dnsupdate
- --without-ads
- --disable-avahi
- --without-cluster-support
- --disable-cups
- --without-dmapi
- --without-fam
- --disable-gnutls
- --without-gpgme
- --disable-iprint
- $(use_with ldap)
- --without-pam
- --without-quotas
- --without-syslog
- --without-systemd
- $(usex system-mitkrb5 '--with-system-mitkrb5' '')
- --without-winbind
- --disable-python
- )
- fi
-
- CPPFLAGS="-I${SYSROOT}${EPREFIX}/usr/include/et ${CPPFLAGS}" \
- waf-utils_src_configure ${myconf[@]}
-}
-
-multilib_src_compile() {
- waf-utils_src_compile
-}
-
-multilib_src_install() {
- waf-utils_src_install
-
- # Make all .so files executable
- find "${D}" -type f -name "*.so" -exec chmod +x {} +
-
- 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 (#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
-
- systemd_dotmpfilesd "${FILESDIR}"/samba.conf
- systemd_dounit "${FILESDIR}"/nmbd.service
- systemd_dounit "${FILESDIR}"/smbd.{service,socket}
- systemd_newunit "${FILESDIR}"/smbd_at.service 'smbd@.service'
- systemd_dounit "${FILESDIR}"/winbindd.service
- systemd_dounit "${FILESDIR}"/samba.service
- fi
-}
-
-multilib_src_test() {
- if multilib_is_native_abi ; then
- "${WAF_BINARY}" test || die "test failed"
- fi
-}
-
-pkg_postinst() {
- ewarn "Be aware the this release contains the best of all of Samba's"
- ewarn "technology parts, both a file server (that you can reasonably expect"
- ewarn "to upgrade existing Samba 3.x releases to) and the AD domain"
- ewarn "controller work previously known as 'samba4'."
-
- elog "For further information and migration steps make sure to read "
- elog "https://samba.org/samba/history/${P}.html "
- elog "https://samba.org/samba/history/${PN}-4.5.0.html and"
- elog "https://wiki.samba.org/index.php/Samba4/HOWTO "
-}
diff --git a/net-fs/samba/samba-4.7.12-r1.ebuild b/net-fs/samba/samba-4.7.12-r1.ebuild
deleted file mode 100644
index 98b097983e0e..000000000000
--- a/net-fs/samba/samba-4.7.12-r1.ebuild
+++ /dev/null
@@ -1,333 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE='threads(+),xml(+)'
-
-inherit python-single-r1 waf-utils multilib-minimal linux-info systemd eutils pam
-
-MY_PV="${PV/_rc/rc}"
-MY_P="${PN}-${MY_PV}"
-
-SRC_PATH="stable"
-[[ ${PV} = *_rc* ]] && SRC_PATH="rc"
-
-SRC_URI="mirror://samba/${SRC_PATH}/${MY_P}.tar.gz"
-[[ ${PV} = *_rc* ]] || \
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
-
-DESCRIPTION="Samba Suite Version 4"
-HOMEPAGE="https://www.samba.org/"
-LICENSE="GPL-3"
-
-SLOT="0"
-
-IUSE="acl addc addns ads ceph client cluster cups debug dmapi fam gnutls gpg iprint ldap pam python
-quota selinux syslog system-heimdal +system-mitkrb5 systemd test winbind zeroconf"
-
-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
-)
-
-# sys-apps/attr is an automagic dependency (see bug #489748)
-CDEPEND="
- >=app-arch/libarchive-3.1.2[${MULTILIB_USEDEP}]
- dev-lang/perl:=
- dev-libs/libaio[${MULTILIB_USEDEP}]
- dev-libs/libbsd[${MULTILIB_USEDEP}]
- dev-libs/iniparser:0
- dev-libs/popt[${MULTILIB_USEDEP}]
- dev-python/subunit[${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- >=dev-util/cmocka-1.1.1[${MULTILIB_USEDEP}]
- net-libs/libnsl:=[${MULTILIB_USEDEP}]
- sys-apps/attr[${MULTILIB_USEDEP}]
- >=sys-libs/ldb-1.2.3[ldap(+)?,python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- <sys-libs/ldb-1.3.0[ldap(+)?,python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- sys-libs/libcap
- sys-libs/ncurses:0=[${MULTILIB_USEDEP}]
- sys-libs/readline:0=
- >=sys-libs/talloc-2.1.9[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- >=sys-libs/tdb-1.3.14[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- >=sys-libs/tevent-0.9.36[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- virtual/libiconv
- pam? ( virtual/pam )
- acl? ( virtual/acl )
- addns? (
- net-dns/bind-tools[gssapi]
- dev-python/dnspython:=[${PYTHON_USEDEP}]
- )
- ceph? ( sys-cluster/ceph )
- cluster? (
- net-libs/rpcsvc-proto
- !dev-db/ctdb
- )
- cups? ( net-print/cups )
- debug? ( dev-util/lttng-ust )
- dmapi? ( sys-apps/dmapi )
- fam? ( virtual/fam )
- gnutls? (
- dev-libs/libgcrypt:0
- >=net-libs/gnutls-1.4.0
- )
- gpg? ( app-crypt/gpgme )
- ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] )
- system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl,${MULTILIB_USEDEP}] )
- system-mitkrb5? ( >=app-crypt/mit-krb5-1.15.1[${MULTILIB_USEDEP}] )
- systemd? ( sys-apps/systemd:0= )
-"
-DEPEND="${CDEPEND}
- ${PYTHON_DEPS}
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- virtual/pkgconfig
- net-libs/libtirpc[${MULTILIB_USEDEP}]
- || (
- net-libs/rpcsvc-proto
- <sys-libs/glibc-2.26[rpc(+)]
- )
- test? (
- !system-mitkrb5? (
- >=sys-libs/nss_wrapper-1.1.3
- >=net-dns/resolv_wrapper-1.1.4
- >=net-libs/socket_wrapper-1.1.7
- >=sys-libs/uid_wrapper-1.2.1
- )
- )"
-RDEPEND="${CDEPEND}
- python? ( ${PYTHON_DEPS} )
- client? ( net-fs/cifs-utils[ads?] )
- selinux? ( sec-policy/selinux-samba )
- !dev-perl/Parse-Yapp
-"
-
-REQUIRED_USE="
- addc? ( python gnutls )
- addns? ( python )
- ads? ( acl gnutls ldap )
- cluster? ( ads )
- gpg? ( addc )
- test? ( python )
- ?? ( system-heimdal system-mitkrb5 )
- ${PYTHON_REQUIRED_USE}
-"
-
-# 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"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.4.0-pam.patch"
- "${FILESDIR}/${PN}-4.5.1-compile_et_fix.patch"
- "${FILESDIR}"/talloc-disable-python.patch
- "${FILESDIR}/${PN}-4.7.3-krb-cross-compile.patch"
-)
-
-#CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)"
-CONFDIR="${FILESDIR}/4.4"
-
-WAF_BINARY="${S}/buildtools/bin/waf"
-
-SHAREDMODS=""
-
-pkg_setup() {
- python-single-r1_pkg_setup
- if use cluster ; then
- SHAREDMODS="idmap_rid,idmap_tdb2,idmap_ad"
- elif use ads ; then
- SHAREDMODS="idmap_ad"
- fi
-}
-
-src_prepare() {
- default
-
- # un-bundle dnspython
- sed -i -e '/"dns.resolver":/d' "${S}"/third_party/wscript || die
-
- # unbundle iso8601 unless tests are enabled
- use test || sed -i -e '/"iso8601":/d' "${S}"/third_party/wscript || die
-
- # 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
-
- # Friggin' WAF shit
- 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
-
- local myconf=()
- 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
- )
- if multilib_is_native_abi ; then
- myconf+=(
- $(use_with acl acl-support)
- $(usex addc '' '--without-ad-dc')
- $(use_with addns dnsupdate)
- $(use_with ads)
- $(use_enable ceph cephfs)
- $(use_with cluster cluster-support)
- $(use_enable cups)
- $(use_with debug lttng)
- $(use_with dmapi)
- $(use_with fam)
- $(use_enable gnutls)
- $(use_with gpg gpgme)
- $(use_enable iprint)
- $(use_with ldap)
- $(use_with pam)
- $(usex pam "--with-pammodulesdir=${EPREFIX}/$(get_libdir)/security" '')
- $(use_with quota quotas)
- $(use_with syslog)
- $(use_with systemd)
- $(usex system-mitkrb5 '--with-system-mitkrb5' '')
- $(use_with winbind)
- $(usex python '' '--disable-python')
- $(usex test '--enable-selftest' '')
- $(use_enable zeroconf avahi)
- --with-shared-modules=${SHAREDMODS}
- )
- else
- myconf+=(
- --without-acl-support
- --without-ad-dc
- --without-dnsupdate
- --without-ads
- --disable-avahi
- --disable-cephfs
- --without-cluster-support
- --disable-cups
- --without-dmapi
- --without-fam
- --disable-gnutls
- --without-gpgme
- --disable-iprint
- $(use_with ldap)
- $(use_with debug lttng)
- --without-pam
- --without-quotas
- --without-syslog
- --without-systemd
- $(usex system-mitkrb5 '--with-system-mitkrb5' '')
- --without-winbind
- --disable-python
- )
- fi
-
- CPPFLAGS="-I${SYSROOT}${EPREFIX}/usr/include/et ${CPPFLAGS}" \
- waf-utils_src_configure ${myconf[@]}
-}
-
-multilib_src_compile() {
- waf-utils_src_compile
-}
-
-multilib_src_install() {
- waf-utils_src_install
-
- # Make all .so files executable
- find "${D}" -type f -name "*.so" -exec chmod +x {} +
-
- 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 (#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
-
- systemd_dotmpfilesd "${FILESDIR}"/samba.conf
- systemd_dounit "${FILESDIR}"/nmbd.service
- systemd_dounit "${FILESDIR}"/smbd.{service,socket}
- systemd_newunit "${FILESDIR}"/smbd_at.service 'smbd@.service'
- systemd_dounit "${FILESDIR}"/winbindd.service
- systemd_dounit "${FILESDIR}"/samba.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 || die
- fi
-
- keepdir /var/cache/samba
- keepdir /var/lib/ctdb
- keepdir /var/lib/samba/{bind-dns,private}
- keepdir /var/lock/samba
- keepdir /var/log/samba
- keepdir /var/run/{ctdb,samba}
-}
-
-multilib_src_test() {
- if multilib_is_native_abi ; then
- "${WAF_BINARY}" test || die "test failed"
- fi
-}
-
-pkg_postinst() {
- ewarn "Be aware the this release contains the best of all of Samba's"
- ewarn "technology parts, both a file server (that you can reasonably expect"
- ewarn "to upgrade existing Samba 3.x releases to) and the AD domain"
- ewarn "controller work previously known as 'samba4'."
-
- elog "For further information and migration steps make sure to read "
- elog "https://samba.org/samba/history/${P}.html "
- elog "https://samba.org/samba/history/${PN}-4.5.0.html and"
- elog "https://wiki.samba.org/index.php/Samba4/HOWTO "
-}
diff --git a/net-fs/samba/samba-4.8.12.ebuild b/net-fs/samba/samba-4.8.12.ebuild
deleted file mode 100644
index abff5eeec78a..000000000000
--- a/net-fs/samba/samba-4.8.12.ebuild
+++ /dev/null
@@ -1,303 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE='threads(+),xml(+)'
-
-inherit python-single-r1 waf-utils multilib-minimal linux-info systemd pam
-
-MY_PV="${PV/_rc/rc}"
-MY_P="${PN}-${MY_PV}"
-
-SRC_PATH="stable"
-[[ ${PV} = *_rc* ]] && SRC_PATH="rc"
-
-SRC_URI="mirror://samba/${SRC_PATH}/${MY_P}.tar.gz"
-[[ ${PV} = *_rc* ]] || \
-KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
-
-DESCRIPTION="Samba Suite Version 4"
-HOMEPAGE="https://www.samba.org/"
-LICENSE="GPL-3"
-
-SLOT="0"
-
-IUSE="acl addc addns ads ceph client cluster cups debug dmapi fam gnutls gpg
-iprint ldap pam profiling-data python quota selinux syslog system-heimdal
-+system-mitkrb5 systemd test winbind zeroconf"
-
-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
-)
-
-# sys-apps/attr is an automagic dependency (see bug #489748)
-CDEPEND="
- >=app-arch/libarchive-3.1.2[${MULTILIB_USEDEP}]
- dev-lang/perl:=
- dev-libs/libaio[${MULTILIB_USEDEP}]
- dev-libs/libbsd[${MULTILIB_USEDEP}]
- dev-libs/iniparser:0
- dev-libs/popt[${MULTILIB_USEDEP}]
- dev-python/subunit[${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- >=dev-util/cmocka-1.1.1[${MULTILIB_USEDEP}]
- net-libs/libnsl:=[${MULTILIB_USEDEP}]
- sys-apps/attr[${MULTILIB_USEDEP}]
- >=sys-libs/ldb-1.3.8[ldap(+)?,python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- <sys-libs/ldb-1.4.0[ldap(+)?,python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- sys-libs/libcap
- sys-libs/ncurses:0=[${MULTILIB_USEDEP}]
- sys-libs/readline:0=
- >=sys-libs/talloc-2.1.11[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- >=sys-libs/tdb-1.3.15[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- >=sys-libs/tevent-0.9.36[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- virtual/libiconv
- pam? ( virtual/pam )
- acl? ( virtual/acl )
- addns? (
- net-dns/bind-tools[gssapi]
- dev-python/dnspython:=[${PYTHON_USEDEP}]
- )
- ceph? ( sys-cluster/ceph )
- cluster? (
- net-libs/rpcsvc-proto
- !dev-db/ctdb
- )
- cups? ( net-print/cups )
- debug? ( dev-util/lttng-ust )
- dmapi? ( sys-apps/dmapi )
- fam? ( virtual/fam )
- gnutls? (
- dev-libs/libgcrypt:0
- >=net-libs/gnutls-1.4.0
- )
- gpg? ( app-crypt/gpgme )
- ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] )
- system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl,${MULTILIB_USEDEP}] )
- system-mitkrb5? ( >=app-crypt/mit-krb5-1.15.1[${MULTILIB_USEDEP}] )
- systemd? ( sys-apps/systemd:0= )
-"
-DEPEND="${CDEPEND}
- ${PYTHON_DEPS}
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- net-libs/libtirpc[${MULTILIB_USEDEP}]
- virtual/pkgconfig
- || (
- net-libs/rpcsvc-proto
- <sys-libs/glibc-2.26[rpc(+)]
- )
- test? (
- !system-mitkrb5? (
- >=sys-libs/nss_wrapper-1.1.3
- >=net-dns/resolv_wrapper-1.1.4
- >=net-libs/socket_wrapper-1.1.9
- >=sys-libs/uid_wrapper-1.2.1
- )
- )"
-RDEPEND="${CDEPEND}
- python? ( ${PYTHON_DEPS} )
- client? ( net-fs/cifs-utils[ads?] )
- selinux? ( sec-policy/selinux-samba )
- !dev-perl/Parse-Yapp
-"
-
-REQUIRED_USE="
- addc? ( python gnutls winbind )
- addns? ( python )
- ads? ( acl gnutls ldap winbind )
- cluster? ( ads )
- gpg? ( addc )
- test? ( python )
- ?? ( system-heimdal system-mitkrb5 )
- ${PYTHON_REQUIRED_USE}
-"
-
-# 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"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.4.0-pam.patch"
- "${FILESDIR}/${PN}-4.5.1-compile_et_fix.patch"
- "${FILESDIR}/${PN}-4.8.6-no-pydsdb-when-no-addc.patch"
-)
-
-#CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)"
-CONFDIR="${FILESDIR}/4.4"
-
-WAF_BINARY="${S}/buildtools/bin/waf"
-
-SHAREDMODS=""
-
-pkg_setup() {
- python-single-r1_pkg_setup
- if use cluster ; then
- SHAREDMODS="idmap_rid,idmap_tdb2,idmap_ad"
- elif use ads ; then
- SHAREDMODS="idmap_ad"
- fi
-}
-
-src_prepare() {
- default
-
- # un-bundle dnspython
- sed -i -e '/"dns.resolver":/d' "${S}"/third_party/wscript || die
-
- # unbundle iso8601 unless tests are enabled
- use test || sed -i -e '/"iso8601":/d' "${S}"/third_party/wscript || die
-
- # 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
-
- # Friggin' WAF shit
- 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
-
- 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
- $(multilib_native_use_with acl acl-support)
- $(multilib_native_usex addc '' '--without-ad-dc')
- $(multilib_native_use_with addns dnsupdate)
- $(multilib_native_use_with ads)
- $(multilib_native_use_enable ceph cephfs)
- $(multilib_native_use_with cluster cluster-support)
- $(multilib_native_use_enable cups)
- $(multilib_native_use_with dmapi)
- $(multilib_native_use_with fam)
- $(multilib_native_use_with gpg gpgme)
- $(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 syslog)
- $(multilib_native_use_with systemd)
- $(multilib_native_use_with winbind)
- $(multilib_native_usex python '' '--disable-python')
- $(multilib_native_use_enable zeroconf avahi)
- $(multilib_native_usex test '--enable-selftest' '')
- $(usex system-mitkrb5 '--with-system-mitkrb5' '')
- $(use_enable gnutls)
- $(use_with debug lttng)
- $(use_with ldap)
- $(use_with profiling-data)
- )
- multilib_is_native_abi && myconf+=( --with-shared-modules=${SHAREDMODS} )
-
- CPPFLAGS="-I${SYSROOT}${EPREFIX}/usr/include/et ${CPPFLAGS}" \
- waf-utils_src_configure ${myconf[@]}
-}
-
-multilib_src_compile() {
- waf-utils_src_compile
-}
-
-multilib_src_install() {
- waf-utils_src_install
-
- # Make all .so files executable
- find "${ED}" -type f -name "*.so" -exec chmod +x {} +
-
- 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 (#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
-
- systemd_dotmpfilesd "${FILESDIR}"/samba.conf
- systemd_dounit "${FILESDIR}"/nmbd.service
- systemd_dounit "${FILESDIR}"/smbd.{service,socket}
- systemd_newunit "${FILESDIR}"/smbd_at.service 'smbd@.service'
- systemd_dounit "${FILESDIR}"/winbindd.service
- systemd_dounit "${FILESDIR}"/samba.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 || die
- fi
-
- keepdir /var/cache/samba
- keepdir /var/lib/ctdb
- keepdir /var/lib/samba/{bind-dns,private}
- keepdir /var/lock/samba
- keepdir /var/log/samba
- keepdir /var/run/{ctdb,samba}
-}
-
-multilib_src_test() {
- if multilib_is_native_abi ; then
- "${WAF_BINARY}" test || die "test failed"
- fi
-}
-
-pkg_postinst() {
- ewarn "Be aware the this release contains the best of all of Samba's"
- ewarn "technology parts, both a file server (that you can reasonably expect"
- ewarn "to upgrade existing Samba 3.x releases to) and the AD domain"
- ewarn "controller work previously known as 'samba4'."
-
- elog "For further information and migration steps make sure to read "
- elog "https://samba.org/samba/history/${P}.html "
- elog "https://wiki.samba.org/index.php/Samba4/HOWTO "
-}
diff --git a/net-fs/samba/samba-4.8.6-r2.ebuild b/net-fs/samba/samba-4.8.6-r2.ebuild
deleted file mode 100644
index 99a93526abd5..000000000000
--- a/net-fs/samba/samba-4.8.6-r2.ebuild
+++ /dev/null
@@ -1,287 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE='threads(+),xml(+)'
-
-inherit python-single-r1 waf-utils multilib-minimal linux-info systemd
-
-MY_PV="${PV/_rc/rc}"
-MY_P="${PN}-${MY_PV}"
-
-SRC_PATH="stable"
-[[ ${PV} = *_rc* ]] && SRC_PATH="rc"
-
-SRC_URI="mirror://samba/${SRC_PATH}/${MY_P}.tar.gz"
-[[ ${PV} = *_rc* ]] || \
-KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ia64 ppc ppc64 ~sparc x86"
-
-DESCRIPTION="Samba Suite Version 4"
-HOMEPAGE="https://www.samba.org/"
-LICENSE="GPL-3"
-
-SLOT="0"
-
-IUSE="acl addc addns ads ceph client cluster cups debug dmapi fam gnutls gpg iprint ldap pam python
-quota selinux syslog system-heimdal +system-mitkrb5 systemd test winbind zeroconf"
-
-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
-)
-
-# sys-apps/attr is an automagic dependency (see bug #489748)
-CDEPEND="
- >=app-arch/libarchive-3.1.2[${MULTILIB_USEDEP}]
- dev-lang/perl:=
- dev-libs/libaio[${MULTILIB_USEDEP}]
- dev-libs/libbsd[${MULTILIB_USEDEP}]
- dev-libs/iniparser:0
- dev-libs/popt[${MULTILIB_USEDEP}]
- dev-python/subunit[${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- >=dev-util/cmocka-1.1.1[${MULTILIB_USEDEP}]
- net-libs/libnsl:=[${MULTILIB_USEDEP}]
- sys-apps/attr[${MULTILIB_USEDEP}]
- >=sys-libs/ldb-1.3.6[ldap(+)?,python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- <sys-libs/ldb-1.4.0[ldap(+)?,python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- sys-libs/libcap
- sys-libs/ncurses:0=[${MULTILIB_USEDEP}]
- sys-libs/readline:0=
- >=sys-libs/talloc-2.1.11[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- >=sys-libs/tdb-1.3.15[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- >=sys-libs/tevent-0.9.36[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- virtual/libiconv
- pam? ( virtual/pam )
- acl? ( virtual/acl )
- addns? (
- net-dns/bind-tools[gssapi]
- dev-python/dnspython:=[${PYTHON_USEDEP}]
- )
- ceph? ( sys-cluster/ceph )
- cluster? (
- net-libs/rpcsvc-proto
- !dev-db/ctdb
- )
- cups? ( net-print/cups )
- debug? ( dev-util/lttng-ust )
- dmapi? ( sys-apps/dmapi )
- fam? ( virtual/fam )
- gnutls? (
- dev-libs/libgcrypt:0
- >=net-libs/gnutls-1.4.0
- )
- gpg? ( app-crypt/gpgme )
- ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] )
- system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl,${MULTILIB_USEDEP}] )
- system-mitkrb5? ( >=app-crypt/mit-krb5-1.15.1[${MULTILIB_USEDEP}] )
- systemd? ( sys-apps/systemd:0= )
-"
-DEPEND="${CDEPEND}
- ${PYTHON_DEPS}
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- net-libs/libtirpc[${MULTILIB_USEDEP}]
- virtual/pkgconfig
- || (
- net-libs/rpcsvc-proto
- <sys-libs/glibc-2.26[rpc(+)]
- )
- test? (
- !system-mitkrb5? (
- >=sys-libs/nss_wrapper-1.1.3
- >=net-dns/resolv_wrapper-1.1.4
- >=net-libs/socket_wrapper-1.1.7
- >=sys-libs/uid_wrapper-1.2.1
- )
- )"
-RDEPEND="${CDEPEND}
- python? ( ${PYTHON_DEPS} )
- client? ( net-fs/cifs-utils[ads?] )
- selinux? ( sec-policy/selinux-samba )
- !dev-perl/Parse-Yapp
-"
-
-REQUIRED_USE="
- addc? ( python gnutls winbind )
- addns? ( python )
- ads? ( acl gnutls ldap winbind )
- cluster? ( ads )
- gpg? ( addc )
- test? ( python )
- ?? ( system-heimdal system-mitkrb5 )
- ${PYTHON_REQUIRED_USE}
-"
-
-# 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"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.4.0-pam.patch"
- "${FILESDIR}/${PN}-4.5.1-compile_et_fix.patch"
- "${FILESDIR}/${PN}-4.8.6-no-pydsdb-when-no-addc.patch"
-)
-
-#CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)"
-CONFDIR="${FILESDIR}/4.4"
-
-WAF_BINARY="${S}/buildtools/bin/waf"
-
-SHAREDMODS=""
-
-pkg_setup() {
- python-single-r1_pkg_setup
- if use cluster ; then
- SHAREDMODS="idmap_rid,idmap_tdb2,idmap_ad"
- elif use ads ; then
- SHAREDMODS="idmap_ad"
- fi
-}
-
-src_prepare() {
- default
-
- # un-bundle dnspython
- sed -i -e '/"dns.resolver":/d' "${S}"/third_party/wscript || die
-
- # unbundle iso8601 unless tests are enabled
- use test || sed -i -e '/"iso8601":/d' "${S}"/third_party/wscript || die
-
- # 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
-
- # Friggin' WAF shit
- 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
-
- 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
- $(multilib_native_use_with acl acl-support)
- $(multilib_native_usex addc '' '--without-ad-dc')
- $(multilib_native_use_with addns dnsupdate)
- $(multilib_native_use_with ads)
- $(multilib_native_use_enable ceph cephfs)
- $(multilib_native_use_with cluster cluster-support)
- $(multilib_native_use_enable cups)
- $(multilib_native_use_with dmapi)
- $(multilib_native_use_with fam)
- $(multilib_native_use_with gpg gpgme)
- $(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 syslog)
- $(multilib_native_use_with systemd)
- $(multilib_native_use_with winbind)
- $(multilib_native_usex python '' '--disable-python')
- $(multilib_native_use_enable zeroconf avahi)
- $(multilib_native_usex test '--enable-selftest' '')
- $(usex system-mitkrb5 '--with-system-mitkrb5' '')
- $(use_enable gnutls)
- $(use_with debug lttng)
- $(use_with ldap)
- )
- multilib_is_native_abi && myconf+=( --with-shared-modules=${SHAREDMODS} )
-
- CPPFLAGS="-I${SYSROOT}${EPREFIX}/usr/include/et ${CPPFLAGS}" \
- waf-utils_src_configure ${myconf[@]}
-}
-
-multilib_src_compile() {
- waf-utils_src_compile
-}
-
-multilib_src_install() {
- waf-utils_src_install
-
- # Make all .so files executable
- find "${ED}" -type f -name "*.so" -exec chmod +x {} +
-
- 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 (#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
-
- systemd_dotmpfilesd "${FILESDIR}"/samba.conf
- systemd_dounit "${FILESDIR}"/nmbd.service
- systemd_dounit "${FILESDIR}"/smbd.{service,socket}
- systemd_newunit "${FILESDIR}"/smbd_at.service 'smbd@.service'
- systemd_dounit "${FILESDIR}"/winbindd.service
- systemd_dounit "${FILESDIR}"/samba.service
- fi
-}
-
-multilib_src_test() {
- if multilib_is_native_abi ; then
- "${WAF_BINARY}" test || die "test failed"
- fi
-}
-
-pkg_postinst() {
- ewarn "Be aware the this release contains the best of all of Samba's"
- ewarn "technology parts, both a file server (that you can reasonably expect"
- ewarn "to upgrade existing Samba 3.x releases to) and the AD domain"
- ewarn "controller work previously known as 'samba4'."
-
- elog "For further information and migration steps make sure to read "
- elog "https://samba.org/samba/history/${P}.html "
- elog "https://wiki.samba.org/index.php/Samba4/HOWTO "
-}
diff --git a/net-fs/samba/samba-4.8.6-r3.ebuild b/net-fs/samba/samba-4.8.6-r3.ebuild
deleted file mode 100644
index c08ebb650770..000000000000
--- a/net-fs/samba/samba-4.8.6-r3.ebuild
+++ /dev/null
@@ -1,301 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE='threads(+),xml(+)'
-
-inherit python-single-r1 waf-utils multilib-minimal linux-info systemd pam
-
-MY_PV="${PV/_rc/rc}"
-MY_P="${PN}-${MY_PV}"
-
-SRC_PATH="stable"
-[[ ${PV} = *_rc* ]] && SRC_PATH="rc"
-
-SRC_URI="mirror://samba/${SRC_PATH}/${MY_P}.tar.gz"
-[[ ${PV} = *_rc* ]] || \
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
-
-DESCRIPTION="Samba Suite Version 4"
-HOMEPAGE="https://www.samba.org/"
-LICENSE="GPL-3"
-
-SLOT="0"
-
-IUSE="acl addc addns ads ceph client cluster cups debug dmapi fam gnutls gpg iprint ldap pam python
-quota selinux syslog system-heimdal +system-mitkrb5 systemd test winbind zeroconf"
-
-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
-)
-
-# sys-apps/attr is an automagic dependency (see bug #489748)
-CDEPEND="
- >=app-arch/libarchive-3.1.2[${MULTILIB_USEDEP}]
- dev-lang/perl:=
- dev-libs/libaio[${MULTILIB_USEDEP}]
- dev-libs/libbsd[${MULTILIB_USEDEP}]
- dev-libs/iniparser:0
- dev-libs/popt[${MULTILIB_USEDEP}]
- dev-python/subunit[${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- >=dev-util/cmocka-1.1.1[${MULTILIB_USEDEP}]
- net-libs/libnsl:=[${MULTILIB_USEDEP}]
- sys-apps/attr[${MULTILIB_USEDEP}]
- >=sys-libs/ldb-1.3.6[ldap(+)?,python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- <sys-libs/ldb-1.4.0[ldap(+)?,python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- sys-libs/libcap
- sys-libs/ncurses:0=[${MULTILIB_USEDEP}]
- sys-libs/readline:0=
- >=sys-libs/talloc-2.1.11[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- >=sys-libs/tdb-1.3.15[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- >=sys-libs/tevent-0.9.36[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- virtual/libiconv
- pam? ( virtual/pam )
- acl? ( virtual/acl )
- addns? (
- net-dns/bind-tools[gssapi]
- dev-python/dnspython:=[${PYTHON_USEDEP}]
- )
- ceph? ( sys-cluster/ceph )
- cluster? (
- net-libs/rpcsvc-proto
- !dev-db/ctdb
- )
- cups? ( net-print/cups )
- debug? ( dev-util/lttng-ust )
- dmapi? ( sys-apps/dmapi )
- fam? ( virtual/fam )
- gnutls? (
- dev-libs/libgcrypt:0
- >=net-libs/gnutls-1.4.0
- )
- gpg? ( app-crypt/gpgme )
- ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] )
- system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl,${MULTILIB_USEDEP}] )
- system-mitkrb5? ( >=app-crypt/mit-krb5-1.15.1[${MULTILIB_USEDEP}] )
- systemd? ( sys-apps/systemd:0= )
-"
-DEPEND="${CDEPEND}
- ${PYTHON_DEPS}
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- net-libs/libtirpc[${MULTILIB_USEDEP}]
- virtual/pkgconfig
- || (
- net-libs/rpcsvc-proto
- <sys-libs/glibc-2.26[rpc(+)]
- )
- test? (
- !system-mitkrb5? (
- >=sys-libs/nss_wrapper-1.1.3
- >=net-dns/resolv_wrapper-1.1.4
- >=net-libs/socket_wrapper-1.1.9
- >=sys-libs/uid_wrapper-1.2.1
- )
- )"
-RDEPEND="${CDEPEND}
- python? ( ${PYTHON_DEPS} )
- client? ( net-fs/cifs-utils[ads?] )
- selinux? ( sec-policy/selinux-samba )
- !dev-perl/Parse-Yapp
-"
-
-REQUIRED_USE="
- addc? ( python gnutls winbind )
- addns? ( python )
- ads? ( acl gnutls ldap winbind )
- cluster? ( ads )
- gpg? ( addc )
- test? ( python )
- ?? ( system-heimdal system-mitkrb5 )
- ${PYTHON_REQUIRED_USE}
-"
-
-# 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"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.4.0-pam.patch"
- "${FILESDIR}/${PN}-4.5.1-compile_et_fix.patch"
- "${FILESDIR}/${PN}-4.8.6-no-pydsdb-when-no-addc.patch"
-)
-
-#CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)"
-CONFDIR="${FILESDIR}/4.4"
-
-WAF_BINARY="${S}/buildtools/bin/waf"
-
-SHAREDMODS=""
-
-pkg_setup() {
- python-single-r1_pkg_setup
- if use cluster ; then
- SHAREDMODS="idmap_rid,idmap_tdb2,idmap_ad"
- elif use ads ; then
- SHAREDMODS="idmap_ad"
- fi
-}
-
-src_prepare() {
- default
-
- # un-bundle dnspython
- sed -i -e '/"dns.resolver":/d' "${S}"/third_party/wscript || die
-
- # unbundle iso8601 unless tests are enabled
- use test || sed -i -e '/"iso8601":/d' "${S}"/third_party/wscript || die
-
- # 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
-
- # Friggin' WAF shit
- 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
-
- 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
- $(multilib_native_use_with acl acl-support)
- $(multilib_native_usex addc '' '--without-ad-dc')
- $(multilib_native_use_with addns dnsupdate)
- $(multilib_native_use_with ads)
- $(multilib_native_use_enable ceph cephfs)
- $(multilib_native_use_with cluster cluster-support)
- $(multilib_native_use_enable cups)
- $(multilib_native_use_with dmapi)
- $(multilib_native_use_with fam)
- $(multilib_native_use_with gpg gpgme)
- $(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 syslog)
- $(multilib_native_use_with systemd)
- $(multilib_native_use_with winbind)
- $(multilib_native_usex python '' '--disable-python')
- $(multilib_native_use_enable zeroconf avahi)
- $(multilib_native_usex test '--enable-selftest' '')
- $(usex system-mitkrb5 '--with-system-mitkrb5' '')
- $(use_enable gnutls)
- $(use_with debug lttng)
- $(use_with ldap)
- )
- multilib_is_native_abi && myconf+=( --with-shared-modules=${SHAREDMODS} )
-
- CPPFLAGS="-I${SYSROOT}${EPREFIX}/usr/include/et ${CPPFLAGS}" \
- waf-utils_src_configure ${myconf[@]}
-}
-
-multilib_src_compile() {
- waf-utils_src_compile
-}
-
-multilib_src_install() {
- waf-utils_src_install
-
- # Make all .so files executable
- find "${ED}" -type f -name "*.so" -exec chmod +x {} +
-
- 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 (#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
-
- systemd_dotmpfilesd "${FILESDIR}"/samba.conf
- systemd_dounit "${FILESDIR}"/nmbd.service
- systemd_dounit "${FILESDIR}"/smbd.{service,socket}
- systemd_newunit "${FILESDIR}"/smbd_at.service 'smbd@.service'
- systemd_dounit "${FILESDIR}"/winbindd.service
- systemd_dounit "${FILESDIR}"/samba.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 || die
- fi
-
- keepdir /var/cache/samba
- keepdir /var/lib/ctdb
- keepdir /var/lib/samba/{bind-dns,private}
- keepdir /var/lock/samba
- keepdir /var/log/samba
- keepdir /var/run/{ctdb,samba}
-}
-
-multilib_src_test() {
- if multilib_is_native_abi ; then
- "${WAF_BINARY}" test || die "test failed"
- fi
-}
-
-pkg_postinst() {
- ewarn "Be aware the this release contains the best of all of Samba's"
- ewarn "technology parts, both a file server (that you can reasonably expect"
- ewarn "to upgrade existing Samba 3.x releases to) and the AD domain"
- ewarn "controller work previously known as 'samba4'."
-
- elog "For further information and migration steps make sure to read "
- elog "https://samba.org/samba/history/${P}.html "
- elog "https://wiki.samba.org/index.php/Samba4/HOWTO "
-}
diff --git a/net-fs/samba/samba-4.9.11.ebuild b/net-fs/samba/samba-4.9.11.ebuild
deleted file mode 100644
index c983eaa51e3e..000000000000
--- a/net-fs/samba/samba-4.9.11.ebuild
+++ /dev/null
@@ -1,307 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE='threads(+),xml(+)'
-
-inherit python-single-r1 waf-utils multilib-minimal linux-info systemd pam
-
-MY_PV="${PV/_rc/rc}"
-MY_P="${PN}-${MY_PV}"
-
-SRC_PATH="stable"
-[[ ${PV} = *_rc* ]] && SRC_PATH="rc"
-
-SRC_URI="mirror://samba/${SRC_PATH}/${MY_P}.tar.gz"
-[[ ${PV} = *_rc* ]] || \
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
-
-DESCRIPTION="Samba Suite Version 4"
-HOMEPAGE="https://www.samba.org/"
-LICENSE="GPL-3"
-
-SLOT="0"
-
-IUSE="acl addc addns ads ceph client cluster cups debug dmapi fam gnutls gpg
-iprint json ldap pam profiling-data python quota selinux syslog system-heimdal
-+system-mitkrb5 systemd test winbind zeroconf"
-
-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
-)
-
-# sys-apps/attr is an automagic dependency (see bug #489748)
-CDEPEND="
- >=app-arch/libarchive-3.1.2[${MULTILIB_USEDEP}]
- dev-lang/perl:=
- dev-libs/libaio[${MULTILIB_USEDEP}]
- dev-libs/libbsd[${MULTILIB_USEDEP}]
- dev-libs/iniparser:0
- dev-libs/popt[${MULTILIB_USEDEP}]
- dev-python/subunit[${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- >=dev-util/cmocka-1.1.1[${MULTILIB_USEDEP}]
- net-libs/libnsl:=[${MULTILIB_USEDEP}]
- sys-apps/attr[${MULTILIB_USEDEP}]
- >=sys-libs/ldb-1.4.7[ldap(+)?,python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- <sys-libs/ldb-1.5.0[ldap(+)?,python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- sys-libs/libcap
- sys-libs/ncurses:0=[${MULTILIB_USEDEP}]
- sys-libs/readline:0=
- >=sys-libs/talloc-2.1.14[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- >=sys-libs/tdb-1.3.16[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- >=sys-libs/tevent-0.9.37[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- virtual/libiconv
- pam? ( virtual/pam )
- acl? ( virtual/acl )
- addns? (
- net-dns/bind-tools[gssapi]
- dev-python/dnspython:=[${PYTHON_USEDEP}]
- )
- ceph? ( sys-cluster/ceph )
- cluster? (
- net-libs/rpcsvc-proto
- !dev-db/ctdb
- )
- cups? ( net-print/cups )
- debug? ( dev-util/lttng-ust )
- dmapi? ( sys-apps/dmapi )
- fam? ( virtual/fam )
- gnutls? (
- dev-libs/libgcrypt:0
- >=net-libs/gnutls-1.4.0
- )
- gpg? ( app-crypt/gpgme )
- json? ( dev-libs/jansson )
- ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] )
- system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl,${MULTILIB_USEDEP}] )
- system-mitkrb5? ( >=app-crypt/mit-krb5-1.15.1[${MULTILIB_USEDEP}] )
- systemd? ( sys-apps/systemd:0= )
-"
-DEPEND="${CDEPEND}
- ${PYTHON_DEPS}
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- net-libs/libtirpc[${MULTILIB_USEDEP}]
- virtual/pkgconfig
- || (
- net-libs/rpcsvc-proto
- <sys-libs/glibc-2.26[rpc(+)]
- )
- test? (
- !system-mitkrb5? (
- >=sys-libs/nss_wrapper-1.1.3
- >=net-dns/resolv_wrapper-1.1.4
- >=net-libs/socket_wrapper-1.1.9
- >=sys-libs/uid_wrapper-1.2.1
- )
- )"
-RDEPEND="${CDEPEND}
- python? ( ${PYTHON_DEPS} )
- client? ( net-fs/cifs-utils[ads?] )
- selinux? ( sec-policy/selinux-samba )
- !dev-perl/Parse-Yapp
-"
-
-REQUIRED_USE="
- addc? ( python gnutls json winbind )
- addns? ( python )
- ads? ( acl gnutls ldap winbind )
- cluster? ( ads )
- gpg? ( addc )
- test? ( python )
- ?? ( system-heimdal system-mitkrb5 )
- ${PYTHON_REQUIRED_USE}
-"
-
-# 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"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.4.0-pam.patch"
- "${FILESDIR}/${PN}-4.5.1-compile_et_fix.patch"
- "${FILESDIR}/${PN}-4.9.2-timespec.patch"
-)
-
-#CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)"
-CONFDIR="${FILESDIR}/4.4"
-
-WAF_BINARY="${S}/buildtools/bin/waf"
-
-SHAREDMODS=""
-
-pkg_setup() {
- python-single-r1_pkg_setup
- if use cluster ; then
- SHAREDMODS="idmap_rid,idmap_tdb2,idmap_ad"
- elif use ads ; then
- SHAREDMODS="idmap_ad"
- fi
-}
-
-src_prepare() {
- default
-
- # un-bundle 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
-
- # Friggin' WAF shit
- 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
-
- 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
- $(multilib_native_use_with acl acl-support)
- $(multilib_native_usex addc '' '--without-ad-dc')
- $(multilib_native_use_with addns dnsupdate)
- $(multilib_native_use_with ads)
- $(multilib_native_use_enable ceph cephfs)
- $(multilib_native_use_with cluster cluster-support)
- $(multilib_native_use_enable cups)
- $(multilib_native_use_with dmapi)
- $(multilib_native_use_with fam)
- $(multilib_native_use_with gpg gpgme)
- $(multilib_native_use_with json json-audit)
- $(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 syslog)
- $(multilib_native_use_with systemd)
- $(multilib_native_use_with winbind)
- $(multilib_native_usex python '' '--disable-python')
- $(multilib_native_use_enable zeroconf avahi)
- $(multilib_native_usex test '--enable-selftest' '')
- $(usex system-mitkrb5 "--with-system-mitkrb5 $(multilib_native_usex addc --with-experimental-mit-ad-dc '')" '')
- $(use_enable gnutls)
- $(use_with debug lttng)
- $(use_with ldap)
- $(use_with profiling-data)
- )
- multilib_is_native_abi && myconf+=( --with-shared-modules=${SHAREDMODS} )
-
- CPPFLAGS="-I${SYSROOT}${EPREFIX}/usr/include/et ${CPPFLAGS}" \
- waf-utils_src_configure ${myconf[@]}
-}
-
-multilib_src_compile() {
- waf-utils_src_compile
-}
-
-multilib_src_install() {
- waf-utils_src_install
-
- # Make all .so files executable
- find "${ED}" -type f -name "*.so" -exec chmod +x {} + || 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 (#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
-
- systemd_dotmpfilesd "${FILESDIR}"/samba.conf
- systemd_dounit "${FILESDIR}"/nmbd.service
- systemd_dounit "${FILESDIR}"/smbd.{service,socket}
- systemd_newunit "${FILESDIR}"/smbd_at.service 'smbd@.service'
- systemd_dounit "${FILESDIR}"/winbindd.service
- systemd_dounit "${FILESDIR}"/samba.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 || die
- fi
-
- keepdir /var/cache/samba
- keepdir /var/lib/ctdb
- keepdir /var/lib/samba/{bind-dns,private}
- keepdir /var/lock/samba
- keepdir /var/log/samba
- keepdir /var/run/{ctdb,samba}
-}
-
-multilib_src_test() {
- if multilib_is_native_abi ; then
- "${WAF_BINARY}" test || die "test failed"
- fi
-}
-
-pkg_postinst() {
- ewarn "Be aware the this release contains the best of all of Samba's"
- ewarn "technology parts, both a file server (that you can reasonably expect"
- ewarn "to upgrade existing Samba 3.x releases to) and the AD domain"
- ewarn "controller work previously known as 'samba4'."
-
- elog "For further information and migration steps make sure to read "
- elog "https://samba.org/samba/history/${P}.html "
- elog "https://wiki.samba.org/index.php/Samba4/HOWTO "
-}
diff --git a/net-fs/samba/samba-4.9.9.ebuild b/net-fs/samba/samba-4.9.9.ebuild
deleted file mode 100644
index b254b52dad44..000000000000
--- a/net-fs/samba/samba-4.9.9.ebuild
+++ /dev/null
@@ -1,307 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE='threads(+),xml(+)'
-
-inherit python-single-r1 waf-utils multilib-minimal linux-info systemd pam
-
-MY_PV="${PV/_rc/rc}"
-MY_P="${PN}-${MY_PV}"
-
-SRC_PATH="stable"
-[[ ${PV} = *_rc* ]] && SRC_PATH="rc"
-
-SRC_URI="mirror://samba/${SRC_PATH}/${MY_P}.tar.gz"
-[[ ${PV} = *_rc* ]] || \
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
-
-DESCRIPTION="Samba Suite Version 4"
-HOMEPAGE="https://www.samba.org/"
-LICENSE="GPL-3"
-
-SLOT="0"
-
-IUSE="acl addc addns ads ceph client cluster cups debug dmapi fam gnutls gpg
-iprint json ldap pam profiling-data python quota selinux syslog system-heimdal
-+system-mitkrb5 systemd test winbind zeroconf"
-
-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
-)
-
-# sys-apps/attr is an automagic dependency (see bug #489748)
-CDEPEND="
- >=app-arch/libarchive-3.1.2[${MULTILIB_USEDEP}]
- dev-lang/perl:=
- dev-libs/libaio[${MULTILIB_USEDEP}]
- dev-libs/libbsd[${MULTILIB_USEDEP}]
- dev-libs/iniparser:0
- dev-libs/popt[${MULTILIB_USEDEP}]
- dev-python/subunit[${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- >=dev-util/cmocka-1.1.1[${MULTILIB_USEDEP}]
- net-libs/libnsl:=[${MULTILIB_USEDEP}]
- sys-apps/attr[${MULTILIB_USEDEP}]
- >=sys-libs/ldb-1.4.6[ldap(+)?,python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- <sys-libs/ldb-1.5.0[ldap(+)?,python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- sys-libs/libcap
- sys-libs/ncurses:0=[${MULTILIB_USEDEP}]
- sys-libs/readline:0=
- >=sys-libs/talloc-2.1.14[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- >=sys-libs/tdb-1.3.16[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- >=sys-libs/tevent-0.9.37[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- virtual/libiconv
- pam? ( virtual/pam )
- acl? ( virtual/acl )
- addns? (
- net-dns/bind-tools[gssapi]
- dev-python/dnspython:=[${PYTHON_USEDEP}]
- )
- ceph? ( sys-cluster/ceph )
- cluster? (
- net-libs/rpcsvc-proto
- !dev-db/ctdb
- )
- cups? ( net-print/cups )
- debug? ( dev-util/lttng-ust )
- dmapi? ( sys-apps/dmapi )
- fam? ( virtual/fam )
- gnutls? (
- dev-libs/libgcrypt:0
- >=net-libs/gnutls-1.4.0
- )
- gpg? ( app-crypt/gpgme )
- json? ( dev-libs/jansson )
- ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] )
- system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl,${MULTILIB_USEDEP}] )
- system-mitkrb5? ( >=app-crypt/mit-krb5-1.15.1[${MULTILIB_USEDEP}] )
- systemd? ( sys-apps/systemd:0= )
-"
-DEPEND="${CDEPEND}
- ${PYTHON_DEPS}
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- net-libs/libtirpc[${MULTILIB_USEDEP}]
- virtual/pkgconfig
- || (
- net-libs/rpcsvc-proto
- <sys-libs/glibc-2.26[rpc(+)]
- )
- test? (
- !system-mitkrb5? (
- >=sys-libs/nss_wrapper-1.1.3
- >=net-dns/resolv_wrapper-1.1.4
- >=net-libs/socket_wrapper-1.1.9
- >=sys-libs/uid_wrapper-1.2.1
- )
- )"
-RDEPEND="${CDEPEND}
- python? ( ${PYTHON_DEPS} )
- client? ( net-fs/cifs-utils[ads?] )
- selinux? ( sec-policy/selinux-samba )
- !dev-perl/Parse-Yapp
-"
-
-REQUIRED_USE="
- addc? ( python gnutls json winbind )
- addns? ( python )
- ads? ( acl gnutls ldap winbind )
- cluster? ( ads )
- gpg? ( addc )
- test? ( python )
- ?? ( system-heimdal system-mitkrb5 )
- ${PYTHON_REQUIRED_USE}
-"
-
-# 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"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.4.0-pam.patch"
- "${FILESDIR}/${PN}-4.5.1-compile_et_fix.patch"
- "${FILESDIR}/${PN}-4.9.2-timespec.patch"
-)
-
-#CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)"
-CONFDIR="${FILESDIR}/4.4"
-
-WAF_BINARY="${S}/buildtools/bin/waf"
-
-SHAREDMODS=""
-
-pkg_setup() {
- python-single-r1_pkg_setup
- if use cluster ; then
- SHAREDMODS="idmap_rid,idmap_tdb2,idmap_ad"
- elif use ads ; then
- SHAREDMODS="idmap_ad"
- fi
-}
-
-src_prepare() {
- default
-
- # un-bundle 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
-
- # Friggin' WAF shit
- 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
-
- 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
- $(multilib_native_use_with acl acl-support)
- $(multilib_native_usex addc '' '--without-ad-dc')
- $(multilib_native_use_with addns dnsupdate)
- $(multilib_native_use_with ads)
- $(multilib_native_use_enable ceph cephfs)
- $(multilib_native_use_with cluster cluster-support)
- $(multilib_native_use_enable cups)
- $(multilib_native_use_with dmapi)
- $(multilib_native_use_with fam)
- $(multilib_native_use_with gpg gpgme)
- $(multilib_native_use_with json json-audit)
- $(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 syslog)
- $(multilib_native_use_with systemd)
- $(multilib_native_use_with winbind)
- $(multilib_native_usex python '' '--disable-python')
- $(multilib_native_use_enable zeroconf avahi)
- $(multilib_native_usex test '--enable-selftest' '')
- $(usex system-mitkrb5 "--with-system-mitkrb5 $(multilib_native_usex addc --with-experimental-mit-ad-dc '')" '')
- $(use_enable gnutls)
- $(use_with debug lttng)
- $(use_with ldap)
- $(use_with profiling-data)
- )
- multilib_is_native_abi && myconf+=( --with-shared-modules=${SHAREDMODS} )
-
- CPPFLAGS="-I${SYSROOT}${EPREFIX}/usr/include/et ${CPPFLAGS}" \
- waf-utils_src_configure ${myconf[@]}
-}
-
-multilib_src_compile() {
- waf-utils_src_compile
-}
-
-multilib_src_install() {
- waf-utils_src_install
-
- # Make all .so files executable
- find "${ED}" -type f -name "*.so" -exec chmod +x {} + || 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 (#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
-
- systemd_dotmpfilesd "${FILESDIR}"/samba.conf
- systemd_dounit "${FILESDIR}"/nmbd.service
- systemd_dounit "${FILESDIR}"/smbd.{service,socket}
- systemd_newunit "${FILESDIR}"/smbd_at.service 'smbd@.service'
- systemd_dounit "${FILESDIR}"/winbindd.service
- systemd_dounit "${FILESDIR}"/samba.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 || die
- fi
-
- keepdir /var/cache/samba
- keepdir /var/lib/ctdb
- keepdir /var/lib/samba/{bind-dns,private}
- keepdir /var/lock/samba
- keepdir /var/log/samba
- keepdir /var/run/{ctdb,samba}
-}
-
-multilib_src_test() {
- if multilib_is_native_abi ; then
- "${WAF_BINARY}" test || die "test failed"
- fi
-}
-
-pkg_postinst() {
- ewarn "Be aware the this release contains the best of all of Samba's"
- ewarn "technology parts, both a file server (that you can reasonably expect"
- ewarn "to upgrade existing Samba 3.x releases to) and the AD domain"
- ewarn "controller work previously known as 'samba4'."
-
- elog "For further information and migration steps make sure to read "
- elog "https://samba.org/samba/history/${P}.html "
- elog "https://wiki.samba.org/index.php/Samba4/HOWTO "
-}