summaryrefslogtreecommitdiff
path: root/net-fs
diff options
context:
space:
mode:
Diffstat (limited to 'net-fs')
-rw-r--r--net-fs/btfs/btfs-2.24.ebuild16
-rw-r--r--net-fs/cifs-utils/Manifest1
-rw-r--r--net-fs/cifs-utils/cifs-utils-6.15-r1.ebuild145
-rw-r--r--net-fs/cifs-utils/cifs-utils-7.0-r1.ebuild3
-rw-r--r--net-fs/cifs-utils/cifs-utils-7.0.ebuild2
-rw-r--r--net-fs/curlftpfs/curlftpfs-0.9.2-r5.ebuild (renamed from net-fs/curlftpfs/curlftpfs-0.9.2-r4.ebuild)30
-rw-r--r--net-fs/davfs2/davfs2-1.6.0-r1.ebuild68
-rw-r--r--net-fs/davfs2/davfs2-1.6.0-r2.ebuild2
-rw-r--r--net-fs/davfs2/davfs2-1.6.1-r3.ebuild (renamed from net-fs/davfs2/davfs2-1.6.1-r2.ebuild)8
-rw-r--r--net-fs/davfs2/davfs2-1.7.0-r1.ebuild (renamed from net-fs/davfs2/davfs2-1.7.0.ebuild)8
-rw-r--r--net-fs/davfs2/files/davfs2-1.6.1-neon-version-support.patch14
-rw-r--r--net-fs/ksmbd-tools/Manifest3
-rw-r--r--net-fs/ksmbd-tools/files/ksmbd.initd-r141
-rw-r--r--net-fs/ksmbd-tools/ksmbd-tools-3.4.4.ebuild60
-rw-r--r--net-fs/ksmbd-tools/ksmbd-tools-3.4.6-r1.ebuild74
-rw-r--r--net-fs/ksmbd-tools/ksmbd-tools-3.5.2.ebuild70
-rw-r--r--net-fs/libnfs/libnfs-5.0.3.ebuild2
-rw-r--r--net-fs/nfs-utils/nfs-utils-2.6.4-r11.ebuild2
-rw-r--r--net-fs/openafs/metadata.xml5
-rw-r--r--net-fs/s3backer/Manifest1
-rw-r--r--net-fs/s3backer/metadata.xml5
-rw-r--r--net-fs/s3backer/s3backer-1.6.3.ebuild7
-rw-r--r--net-fs/s3backer/s3backer-2.1.2.ebuild54
-rw-r--r--net-fs/samba/Manifest4
-rw-r--r--net-fs/samba/files/cmocka-config_h.patch23
-rw-r--r--net-fs/samba/samba-4.18.10.ebuild1
-rw-r--r--net-fs/samba/samba-4.18.11.ebuild384
-rw-r--r--net-fs/samba/samba-4.18.8.ebuild1
-rw-r--r--net-fs/samba/samba-4.18.9.ebuild3
-rw-r--r--net-fs/samba/samba-4.19.4.ebuild1
-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/smbnetfs/smbnetfs-0.6.3.ebuild4
34 files changed, 1805 insertions, 386 deletions
diff --git a/net-fs/btfs/btfs-2.24.ebuild b/net-fs/btfs/btfs-2.24.ebuild
index 38bd3d6bbeba..0a84c213ddc8 100644
--- a/net-fs/btfs/btfs-2.24.ebuild
+++ b/net-fs/btfs/btfs-2.24.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit autotools python-r1
DESCRIPTION="a bittorrent filesystem based on FUSE"
@@ -15,12 +15,16 @@ SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-DEPEND=">=sys-fs/fuse-2.8.0:0
+DEPEND="
+ >=sys-fs/fuse-2.8.0:0
>=net-misc/curl-7.22.0
dev-libs/boost:=
- >=net-libs/libtorrent-rasterbar-0.16.0:="
-RDEPEND="${DEPEND}
- ${PYTHON_DEPS}"
+ >=net-libs/libtorrent-rasterbar-0.16.0:=
+"
+RDEPEND="
+ ${DEPEND}
+ ${PYTHON_DEPS}
+"
BDEPEND="virtual/pkgconfig"
src_prepare() {
diff --git a/net-fs/cifs-utils/Manifest b/net-fs/cifs-utils/Manifest
index e5ae19ed0795..16707337f470 100644
--- a/net-fs/cifs-utils/Manifest
+++ b/net-fs/cifs-utils/Manifest
@@ -1,2 +1 @@
-DIST cifs-utils-6.15.tar.bz2 416592 BLAKE2B 8af926bf255c5b3a66bf52ccca99632aacb9ed1c83ad7db5543b32df2f3bcd4be9a9cd17b744ec115d1568d07084e2bd2d03849aa9ab97cff2862f39bcf137b8 SHA512 eedb8066563db584595a8ba7cb7a603e6b763ac2c1261430d605c327fcc5a831acd48b58ea55dd243af778dfdc827ab8c6daf4015764ff550dcffc2182773510
DIST cifs-utils-7.0.tar.bz2 418638 BLAKE2B 514d35f243d0ef7b866068a9a53a4b1704d2856d491d56aa469e8e3919b4030cb920a7f60d08851b0a23d28a020d1ddf7daa8b9ac412f1567a0a60d2f6ee6774 SHA512 4c57741af0c4567a78f352c73caca998881666a5ed36536275cfa775efd66ff1a44ebe539a8ed96c409c5b08a1378266964ce667a27e9fc7f2d43999c63dd0eb
diff --git a/net-fs/cifs-utils/cifs-utils-6.15-r1.ebuild b/net-fs/cifs-utils/cifs-utils-6.15-r1.ebuild
deleted file mode 100644
index 469484d3dbd1..000000000000
--- a/net-fs/cifs-utils/cifs-utils-6.15-r1.ebuild
+++ /dev/null
@@ -1,145 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit autotools bash-completion-r1 flag-o-matic linux-info pam python-single-r1
-
-DESCRIPTION="Tools for Managing Linux CIFS Client Filesystems"
-HOMEPAGE="https://wiki.samba.org/index.php/LinuxCIFS_utils https://git.samba.org/cifs-utils.git/?p=cifs-utils.git"
-SRC_URI="https://ftp.samba.org/pub/linux-cifs/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~x86-linux"
-IUSE="+acl +ads +caps creds pam +python systemd"
-
-RDEPEND="
- ads? (
- sys-apps/keyutils:=
- sys-libs/talloc
- virtual/krb5
- )
- caps? ( sys-libs/libcap-ng )
- creds? ( sys-apps/keyutils:= )
- pam? (
- sys-apps/keyutils:=
- sys-libs/pam
- )
- python? ( ${PYTHON_DEPS} )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="dev-python/docutils"
-PDEPEND="
- acl? ( >=net-fs/samba-4.0.0_alpha1 )
-"
-
-REQUIRED_USE="
- acl? ( ads )
- python? ( ${PYTHON_REQUIRED_USE} )
-"
-
-DOCS="doc/linux-cifs-client-guide.odt"
-
-PATCHES=(
- "${FILESDIR}/${PN}-6.12-ln_in_destdir.patch" #766594
- "${FILESDIR}/${PN}-6.15-musl.patch"
-)
-
-pkg_setup() {
- linux-info_pkg_setup
-
- if ! linux_config_exists || ! linux_chkconfig_present CIFS; then
- ewarn "You must enable CIFS support in your kernel config, "
- ewarn "to be able to mount samba shares. You can find it at"
- ewarn
- ewarn " File systems"
- ewarn " Network File Systems"
- ewarn " CIFS support"
- ewarn
- ewarn "and recompile your kernel ..."
- fi
-
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- if has_version app-crypt/heimdal ; then
- # https://bugs.gentoo.org/612584
- eapply "${FILESDIR}/${PN}-6.7-heimdal.patch"
- fi
-
- eautoreconf
-}
-
-src_configure() {
- # bug #927809
- filter-flags -fno-semantic-interposition
-
- local myeconfargs=(
- --enable-man
- --enable-smbinfo
- $(use_enable acl cifsacl cifsidmap)
- $(use_enable ads cifsupcall)
- $(use_with caps libcap)
- $(use_enable creds cifscreds)
- $(use_enable pam)
- $(use_with pam pamdir $(getpam_mod_dir))
- $(use_enable python pythontools)
- # mount.cifs can get passwords from systemd
- $(use_enable systemd)
- )
- ROOTSBINDIR="${EPREFIX}"/sbin \
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
-
- # remove empty directories
- find "${ED}" -type d -empty -delete || die
-
- if use acl ; then
- dodir /etc/cifs-utils
- dosym ../../usr/$(get_libdir)/cifs-utils/idmapwb.so \
- /etc/cifs-utils/idmap-plugin
- dodir /etc/request-key.d
- echo 'create cifs.idmap * * /usr/sbin/cifs.idmap %k' \
- > "${ED}/etc/request-key.d/cifs.idmap.conf"
- fi
-
- if use ads ; then
- dodir /etc/request-key.d
- echo 'create dns_resolver * * /usr/sbin/cifs.upcall %k' \
- > "${ED}/etc/request-key.d/cifs.upcall.conf"
- echo 'create cifs.spnego * * /usr/sbin/cifs.upcall %k' \
- > "${ED}/etc/request-key.d/cifs.spnego.conf"
- fi
-
- dobashcomp bash-completion/smbinfo
- use python && python_fix_shebang "${ED}"
-}
-
-pkg_postinst() {
- # Inform about set-user-ID bit of mount.cifs
- ewarn "setuid use flag was dropped due to multiple security implications"
- ewarn "such as CVE-2009-2948, CVE-2011-3585 and CVE-2012-1586"
- ewarn "You are free to set setuid flags by yourself"
-
- # Inform about upcall usage
- if use acl ; then
- einfo "The cifs.idmap utility has been enabled by creating the"
- einfo "configuration file /etc/request-key.d/cifs.idmap.conf"
- einfo "This enables you to get and set CIFS acls."
- fi
-
- if use ads ; then
- einfo "The cifs.upcall utility has been enabled by creating the"
- einfo "configuration file /etc/request-key.d/cifs.upcall.conf"
- einfo "This enables you to mount DFS shares."
- fi
-}
diff --git a/net-fs/cifs-utils/cifs-utils-7.0-r1.ebuild b/net-fs/cifs-utils/cifs-utils-7.0-r1.ebuild
index 8720d8f3a066..aa0f9fee761f 100644
--- a/net-fs/cifs-utils/cifs-utils-7.0-r1.ebuild
+++ b/net-fs/cifs-utils/cifs-utils-7.0-r1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit autotools bash-completion-r1 flag-o-matic linux-info pam python-single-r1
@@ -37,7 +37,6 @@ PDEPEND="
"
REQUIRED_USE="
- acl? ( ads )
python? ( ${PYTHON_REQUIRED_USE} )
"
diff --git a/net-fs/cifs-utils/cifs-utils-7.0.ebuild b/net-fs/cifs-utils/cifs-utils-7.0.ebuild
index 469484d3dbd1..95cf49c09822 100644
--- a/net-fs/cifs-utils/cifs-utils-7.0.ebuild
+++ b/net-fs/cifs-utils/cifs-utils-7.0.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit autotools bash-completion-r1 flag-o-matic linux-info pam python-single-r1
diff --git a/net-fs/curlftpfs/curlftpfs-0.9.2-r4.ebuild b/net-fs/curlftpfs/curlftpfs-0.9.2-r5.ebuild
index 8fc39ff713c1..c291639f1821 100644
--- a/net-fs/curlftpfs/curlftpfs-0.9.2-r4.ebuild
+++ b/net-fs/curlftpfs/curlftpfs-0.9.2-r5.ebuild
@@ -1,25 +1,26 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit autotools
+inherit autotools flag-o-matic
DESCRIPTION="File system for accessing ftp hosts based on FUSE"
-HOMEPAGE="http://curlftpfs.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+HOMEPAGE="https://curlftpfs.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 arm ~arm64 x86 ~amd64-linux ~x86-linux"
-IUSE=""
RESTRICT="test" # bug 258460
-RDEPEND=">=net-misc/curl-7.17.0
+RDEPEND="
+ >=net-misc/curl-7.17.0
>=sys-fs/fuse-2.2:0=
- >=dev-libs/glib-2.0"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
+ >=dev-libs/glib-2.0
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
PATCHES=(
"${FILESDIR}"/${P}-64bit_filesize.patch
@@ -39,6 +40,15 @@ src_prepare() {
eautoreconf
}
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/861299
+ # https://sourceforge.net/p/curlftpfs/bugs/76/
+ filter-lto
+
+ default
+}
+
src_install() {
default
dodoc README
diff --git a/net-fs/davfs2/davfs2-1.6.0-r1.ebuild b/net-fs/davfs2/davfs2-1.6.0-r1.ebuild
deleted file mode 100644
index fdd0b7931658..000000000000
--- a/net-fs/davfs2/davfs2-1.6.0-r1.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="Linux FUSE (or coda) driver that allows you to mount a WebDAV resource"
-HOMEPAGE="https://savannah.nongnu.org/projects/davfs2"
-SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ppc x86"
-IUSE="nls split-usr"
-RESTRICT="test"
-
-RDEPEND="dev-libs/libxml2
- net-libs/neon
- sys-libs/zlib
- nls? ( virtual/libintl virtual/libiconv )
-"
-DEPEND="${RDEPEND}
- nls? ( sys-devel/gettext )
-"
-RDEPEND="${RDEPEND}
- acct-group/davfs2
- acct-user/davfs2
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.6.0-neon-0.32-support.patch
-)
-
-src_prepare() {
- local f
-
- # Let the package manager handle man page compression
- while IFS="" read -d $'\0' -r f ; do
- sed -e '/^manual[58]_DATA/ s/[.]gz//g' -i "${f}" || die
- done < <(find "${S}"/man -type f -name 'Makefile.in' -print0)
-
- default
- eautoreconf
-}
-
-src_configure() {
- local ssbindir
- if use split-usr; then
- ssbindir=${EPREFIX}/sbin
- else
- ssbindir=${EPREFIX}/usr/sbin
- fi
-
- econf --enable-largefile $(use_enable nls) ssbindir="${ssbindir}"
-}
-
-pkg_postinst() {
- elog
- elog "Quick setup:"
- elog " (as root)"
- elog " # gpasswd -a \${your_user} davfs2"
- elog " # echo 'https://path/to/dav /home/\${your_user}/dav davfs rw,user,noauto 0 0' >> /etc/fstab"
- elog " (as user)"
- elog " \$ mkdir -p ~/dav"
- elog " \$ mount ~/dav"
- elog
-}
diff --git a/net-fs/davfs2/davfs2-1.6.0-r2.ebuild b/net-fs/davfs2/davfs2-1.6.0-r2.ebuild
index d1c70c69d9e6..2f0191604584 100644
--- a/net-fs/davfs2/davfs2-1.6.0-r2.ebuild
+++ b/net-fs/davfs2/davfs2-1.6.0-r2.ebuild
@@ -16,7 +16,7 @@ IUSE="nls"
RESTRICT="test"
RDEPEND="dev-libs/libxml2
- net-libs/neon
+ <net-libs/neon-0.33.0
sys-libs/zlib
nls? ( virtual/libintl virtual/libiconv )
"
diff --git a/net-fs/davfs2/davfs2-1.6.1-r2.ebuild b/net-fs/davfs2/davfs2-1.6.1-r3.ebuild
index 27aa924e32d7..4685ec7210b8 100644
--- a/net-fs/davfs2/davfs2-1.6.1-r2.ebuild
+++ b/net-fs/davfs2/davfs2-1.6.1-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -18,7 +18,7 @@ RESTRICT="test"
RDEPEND="dev-libs/libxml2
acct-group/davfs2
acct-user/davfs2
- net-libs/neon:=
+ net-libs/neon:0/27
sys-libs/zlib
nls? ( virtual/libintl virtual/libiconv )
"
@@ -26,6 +26,10 @@ BDEPEND="
nls? ( sys-devel/gettext )
"
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.6.1-neon-version-support.patch
+)
+
src_prepare() {
local f
diff --git a/net-fs/davfs2/davfs2-1.7.0.ebuild b/net-fs/davfs2/davfs2-1.7.0-r1.ebuild
index 3ac4673512f8..16f1eca17df8 100644
--- a/net-fs/davfs2/davfs2-1.7.0.ebuild
+++ b/net-fs/davfs2/davfs2-1.7.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -18,7 +18,7 @@ RESTRICT="test"
RDEPEND="dev-libs/libxml2
acct-group/davfs2
acct-user/davfs2
- net-libs/neon:=
+ net-libs/neon:0/27
sys-libs/zlib
nls? ( virtual/libintl virtual/libiconv )
"
@@ -26,6 +26,10 @@ BDEPEND="
nls? ( sys-devel/gettext )
"
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.6.1-neon-version-support.patch
+)
+
src_prepare() {
local f
diff --git a/net-fs/davfs2/files/davfs2-1.6.1-neon-version-support.patch b/net-fs/davfs2/files/davfs2-1.6.1-neon-version-support.patch
new file mode 100644
index 000000000000..b002b49be6d3
--- /dev/null
+++ b/net-fs/davfs2/files/davfs2-1.6.1-neon-version-support.patch
@@ -0,0 +1,14 @@
+# Gentoo bug https://bugs.gentoo.org/925705
+
+diff -Naur davfs2-1.7.0-orig/configure.ac davfs2-1.7.0/configure.ac
+--- davfs2-1.7.0-orig/configure.ac 2022-09-08 13:17:15.000000000 -0700
++++ davfs2-1.7.0/configure.ac 2024-04-05 03:39:20.044039872 -0700
+@@ -36,7 +36,7 @@
+ # Checks for libraries.
+ AM_GNU_GETTEXT_VERSION(0.19.8)
+ AM_GNU_GETTEXT([external])
+-NE_REQUIRE_VERSIONS([0], [27 28 29 30 31 32])
++NE_REQUIRE_VERSIONS([0], [27 28 29 30 31 32 33])
+ DAV_CHECK_NEON
+
+ # Checks for header files.
diff --git a/net-fs/ksmbd-tools/Manifest b/net-fs/ksmbd-tools/Manifest
index 86efb4106a01..0f98fa9569f0 100644
--- a/net-fs/ksmbd-tools/Manifest
+++ b/net-fs/ksmbd-tools/Manifest
@@ -1,3 +1,2 @@
-DIST ksmbd-tools-3.4.4.tar.gz 75481 BLAKE2B 84c215b0ccad01956185d42b858eb0de6a3407fc32c59628964ab38a2946fe5123fc73cc06cb04e8864199751f26e509ae5f6ebf6f5e7eb5f1fb8f21a4452a48 SHA512 b7be00e38eb126a0d5b8b3d9dde7c997b4012b29604d899a5f2fe3a77a3c30ac5d4bf00b7fc88d57150fd574af38bd2823c736d272a2cd596d40ccbe14a15320
-DIST ksmbd-tools-3.4.6.tar.gz 86976 BLAKE2B 2f18d41a5ef84d1d5293cab2dc51147649d723117f31b4a0360ff314d98544624c6c0280b11ec2df260514981995bdbac598347063fb6576447c511e88134c4e SHA512 396423a43ccb02fafb721717a36ea1efdc8449414cf9f7737cf44bafd991cde0a5d31689b5f43f96924357df058c1b5fbf90369b9aec2b293ae1a7b68c256d27
DIST ksmbd-tools-3.4.8.tar.gz 88898 BLAKE2B 4bd4fa77e7d89de4f48427e6867807b27a9be91e4f27079d4a5b231c4925aef73489bced1e4569361105fe7e04671fa8d6f3394154b36072f9d4ec77fded7466 SHA512 f5372ea7fd4b754482374cdeefa011bebe32c37a26acc180c34c61f37cf08125b5b4626128cae413cd517a74af326188f3f9e7cf459308e4305d86e7c6702436
+DIST ksmbd-tools-3.5.2.tar.gz 463604 BLAKE2B f54ff13719dd7e7167d065a7aaf5393fc18f67611be0a22fc4914e6d2afd25e751db85c27ff3adde482e1d9c4192161b76dc92f9c066dcc41cae7c820510483c SHA512 20035501e63798f5a23d3d9502ff4a50b04f74a03154bc4bfdfabb37dcf106410cd1355c2612cc46a0e52742f8e213dad4862790661781691e77760c56f40386
diff --git a/net-fs/ksmbd-tools/files/ksmbd.initd-r1 b/net-fs/ksmbd-tools/files/ksmbd.initd-r1
new file mode 100644
index 000000000000..82375f1ad8d3
--- /dev/null
+++ b/net-fs/ksmbd-tools/files/ksmbd.initd-r1
@@ -0,0 +1,41 @@
+#!/sbin/openrc-run
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+KSMBD_CONF="${KSMBD_CONF:-/etc/ksmbd/ksmbd.conf}"
+KSMBD_OPTS="${KSMBD_OPTS:-}"
+
+depend() {
+ need localmount
+ use net
+}
+
+description="ksmbd userspace daemon"
+
+command="/usr/sbin/ksmbd.mountd"
+command_control="/usr/sbin/ksmbd.control"
+command_args="--config=${KSMBD_CONF} ${KSMBD_OPTS}"
+
+extra_started_commands="reload"
+
+required_files="${KSMBD_CONF}"
+
+reload() {
+ ebegin "Reloading ${RC_SVCNAME}"
+ "${command_control}" --reload
+ eend $?
+}
+
+start_pre() {
+ /sbin/modprobe -q ksmbd || return 0
+}
+
+stop() {
+ ebegin "Stopping ${RC_SVCNAME}"
+ "${command_control}" --shutdown
+ eend $?
+}
+
+stop_post() {
+ /sbin/modprobe -r -q ksmbd || return 0
+}
diff --git a/net-fs/ksmbd-tools/ksmbd-tools-3.4.4.ebuild b/net-fs/ksmbd-tools/ksmbd-tools-3.4.4.ebuild
deleted file mode 100644
index 727d4cd275f0..000000000000
--- a/net-fs/ksmbd-tools/ksmbd-tools-3.4.4.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools linux-info systemd
-
-DESCRIPTION="cifsd/ksmbd kernel server userspace utilities"
-HOMEPAGE="https://github.com/cifsd-team/ksmbd-tools"
-SRC_URI="https://github.com/cifsd-team/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64"
-
-DEPEND="
- dev-libs/glib:2
- dev-libs/libnl:3
-"
-
-RDEPEND="${DEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-pkg_setup() {
- # we don't want to die() here to be able to build binpkgs
- kernel_is -lt 5 15 && eerror "kernel >= 5.15 required for ${PN}"
- CONFIG_CHECK="~SMB_SERVER"
- ERROR_SMB_SERVER="CONFIG_SMB_SERVER is not set: ksmbd is not enabled in kernel, ${PN} will not work"
- # use krb5 && CONFIG_CHECK+=" ~SMB_SERVER_KERBEROS5"
- linux-info_pkg_setup
-}
-
-src_prepare() {
- eautoreconf
- default
-}
-
-src_configure() {
- # TODO: add kerberos support, explicitly disable for now
- # tools are expected to recide in /sbin, not /usr/sbin
- econf --prefix="${EPREFIX}/" --enable-krb5=no
-}
-
-src_install() {
- default
-
- local DOCS=( README README.md Documentation/configuration.txt smb.conf.example )
- einstalldocs
-
- insinto /etc/ksmbd
- doins smb.conf.example
-
- newinitd "${FILESDIR}/initd" ksmbd
- newconfd "${FILESDIR}/confd" ksmbd
-
- dosym ksmbd.addshare /sbin/smbshareadd
- dosym ksmbd.adduser /sbin/smbuseradd
-
- systemd_dounit ksmbd.service
-}
diff --git a/net-fs/ksmbd-tools/ksmbd-tools-3.4.6-r1.ebuild b/net-fs/ksmbd-tools/ksmbd-tools-3.4.6-r1.ebuild
deleted file mode 100644
index 3cc23c1bbc48..000000000000
--- a/net-fs/ksmbd-tools/ksmbd-tools-3.4.6-r1.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools linux-info systemd
-
-DESCRIPTION="cifsd/ksmbd kernel server userspace utilities"
-HOMEPAGE="https://github.com/cifsd-team/ksmbd-tools"
-SRC_URI="https://github.com/cifsd-team/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64"
-
-DEPEND="
- dev-libs/glib:2
- dev-libs/libnl:3
-"
-
-RDEPEND="${DEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-pkg_setup() {
- # we don't want to die() here to be able to build binpkgs
- kernel_is -lt 5 15 && eerror "kernel >= 5.15 required for ${PN}"
- CONFIG_CHECK="~SMB_SERVER"
- ERROR_SMB_SERVER="CONFIG_SMB_SERVER is not set: ksmbd is not enabled in kernel, ${PN} will not work"
- # use krb5 && CONFIG_CHECK+=" ~SMB_SERVER_KERBEROS5"
- linux-info_pkg_setup
-}
-
-src_prepare() {
- eautoreconf
- default
-}
-
-src_configure() {
- # TODO: add kerberos support, explicitly disable for now
- # tools are expected to reside in /sbin, not /usr/sbin
- econf \
- --prefix="${EPREFIX:-}" \
- --enable-krb5=no \
- --with-rundir="${EPREFIX}/run" \
- --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
-}
-
-src_install() {
- default
-
- local DOCS=( README.md ksmbd.conf.example )
- einstalldocs
-
- insinto /etc/ksmbd
- doins ksmbd.conf.example
-
- newinitd "${FILESDIR}/ksmbd.initd" ksmbd
- newconfd "${FILESDIR}/ksmbd.confd" ksmbd
-
- dosym ksmbd.addshare /sbin/smbshareadd
- dosym ksmbd.adduser /sbin/smbuseradd
-}
-
-pkg_postinst() {
- local ver
- for ver in ${REPLACING_VERSIONS}; do
- if ver_test ${ver} -lt 3.4.6; then
- ewarn "Upgrade from version <${CATEGORY}/${PN}-3.4.6 detected"
- ewarn "${PN} config file moved to ${EPREFIX}/etc/ksmbd/ksmbd.conf"
- ewarn "Please migrate from old ${EPREFIX}/etc/ksmbd/smb.conf"
- fi
- done
- unset ver
-}
diff --git a/net-fs/ksmbd-tools/ksmbd-tools-3.5.2.ebuild b/net-fs/ksmbd-tools/ksmbd-tools-3.5.2.ebuild
new file mode 100644
index 000000000000..c8ff8da17db4
--- /dev/null
+++ b/net-fs/ksmbd-tools/ksmbd-tools-3.5.2.ebuild
@@ -0,0 +1,70 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-info meson systemd
+
+DESCRIPTION="cifsd/ksmbd kernel server userspace utilities"
+HOMEPAGE="https://github.com/cifsd-team/ksmbd-tools"
+SRC_URI="https://github.com/cifsd-team/ksmbd-tools/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+DEPEND="
+ dev-libs/glib:2
+ dev-libs/libnl:3
+"
+
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+pkg_setup() {
+ # we don't want to die() here to be able to build binpkgs
+ kernel_is -lt 5 15 && eerror "kernel >= 5.15 required for ${PN}"
+ CONFIG_CHECK="~SMB_SERVER"
+ ERROR_SMB_SERVER="CONFIG_SMB_SERVER is not set: ksmbd is not enabled in kernel, ${PN} will not work"
+ # use krb5 && CONFIG_CHECK+=" ~SMB_SERVER_KERBEROS5"
+ linux-info_pkg_setup
+}
+
+src_configure() {
+ local emesonargs=(
+ -Drundir="${EPREFIX}"/run
+ -Dsystemdsystemunitdir="$(systemd_get_systemunitdir)"
+ # TODO: add kerberos support, explicitly disable for now
+ -Dkrb5=disabled
+ )
+
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ local DOCS=( README.md ksmbd.conf.example )
+ einstalldocs
+
+ insinto /etc/ksmbd
+ doins ksmbd.conf.example
+
+ newinitd "${FILESDIR}/ksmbd.initd-r1" ksmbd
+ newconfd "${FILESDIR}/ksmbd.confd" ksmbd
+
+ dosym ksmbd.addshare /usr/sbin/smbshareadd
+ dosym ksmbd.adduser /usr/sbin/smbuseradd
+}
+
+pkg_postinst() {
+ local ver
+ for ver in ${REPLACING_VERSIONS}; do
+ if ver_test ${ver} -lt 3.4.6; then
+ ewarn "Upgrade from version <${CATEGORY}/${PN}-3.4.6 detected"
+ ewarn "${PN} config file moved to ${EPREFIX}/etc/ksmbd/ksmbd.conf"
+ ewarn "Please migrate from old ${EPREFIX}/etc/ksmbd/smb.conf"
+ fi
+ done
+ unset ver
+}
diff --git a/net-fs/libnfs/libnfs-5.0.3.ebuild b/net-fs/libnfs/libnfs-5.0.3.ebuild
index 4d724238c890..f1f29dc19bc3 100644
--- a/net-fs/libnfs/libnfs-5.0.3.ebuild
+++ b/net-fs/libnfs/libnfs-5.0.3.ebuild
@@ -10,7 +10,7 @@ if [[ ${PV} == 9999 ]] ; then
inherit git-r3
else
SRC_URI="https://github.com/sahlberg/${PN}/archive/${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 x86"
S="${WORKDIR}"/${PN}-${P}
fi
diff --git a/net-fs/nfs-utils/nfs-utils-2.6.4-r11.ebuild b/net-fs/nfs-utils/nfs-utils-2.6.4-r11.ebuild
index b64941485bd6..f05dfd7a5a6c 100644
--- a/net-fs/nfs-utils/nfs-utils-2.6.4-r11.ebuild
+++ b/net-fs/nfs-utils/nfs-utils-2.6.4-r11.ebuild
@@ -13,7 +13,7 @@ if [[ ${PV} == *_rc* ]] ; then
SRC_URI="http://git.linux-nfs.org/?p=steved/nfs-utils.git;a=snapshot;h=refs/tags/${PN}-${MY_PV};sf=tgz -> ${P}.tar.gz"
S="${WORKDIR}/${PN}-${PN}-${MY_PV}"
else
- SRC_URI="mirror://sourceforge/nfs/${P}.tar.bz2"
+ SRC_URI="https://downloads.sourceforge.net/nfs/${P}.tar.bz2"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
fi
diff --git a/net-fs/openafs/metadata.xml b/net-fs/openafs/metadata.xml
index 63b5d6301dc9..ccc902021cc8 100644
--- a/net-fs/openafs/metadata.xml
+++ b/net-fs/openafs/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
- <email>bircoph@gentoo.org</email>
- <name>Andrew Savchenko</name>
-</maintainer>
+<!-- maintainer-needed -->
<use>
<flag name="apidoc">Build API documentation using <pkg>app-text/doxygen</pkg>.
May take a *long* time to build.</flag>
diff --git a/net-fs/s3backer/Manifest b/net-fs/s3backer/Manifest
index 2f0d6ca8b1b8..4456927cf5a7 100644
--- a/net-fs/s3backer/Manifest
+++ b/net-fs/s3backer/Manifest
@@ -1 +1,2 @@
DIST s3backer-1.6.3.tar.gz 129742 BLAKE2B 05f8b94e9b5e6ffd11b20d5945a9705f1830f3f358c2777695d0c5066bb044bd314d65259ecde299a51288908fcd869b8c516b30b0fbf66975b46a021d4d5bd6 SHA512 f7db1d733a0426df22c1b7d9c1150f8dbfedd0ba2e9120bd61026a481ed52a16f7f09e9e4fcd072cb656da0536cf98472f369eec0195a03b3f105fb3c9a8ba99
+DIST s3backer-2.1.2.tar.gz 156281 BLAKE2B 5891dbcecbd08b73d69218894d29ec56323d53ff9b594a853d42d6a621787392061895ae3168d6671b65db1b62cdca26959a122250e8878d740c2d806c9d305f SHA512 58e8bd5909b5f714ead7add9dcfe798d626628519e75f4f4347175c92fdf652e08f6ae00c2d9bf34fa859d46c111b846047ee4e613b94e81b7a7cdfc8e26fd9a
diff --git a/net-fs/s3backer/metadata.xml b/net-fs/s3backer/metadata.xml
index f18a0fb25a1f..af27462af85c 100644
--- a/net-fs/s3backer/metadata.xml
+++ b/net-fs/s3backer/metadata.xml
@@ -9,6 +9,11 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <use>
+ <flag name="nbd">
+ Support export as an nbd device
+ </flag>
+ </use>
<upstream>
<remote-id type="google-code">s3backer</remote-id>
<remote-id type="github">archiecobbs/s3backer</remote-id>
diff --git a/net-fs/s3backer/s3backer-1.6.3.ebuild b/net-fs/s3backer/s3backer-1.6.3.ebuild
index 8ed0433a2964..5795b7fcbfd6 100644
--- a/net-fs/s3backer/s3backer-1.6.3.ebuild
+++ b/net-fs/s3backer/s3backer-1.6.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,12 +13,13 @@ LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-DEPEND="dev-libs/expat
+RDEPEND="dev-libs/expat
dev-libs/openssl:0=
net-misc/curl
sys-fs/fuse:0
sys-libs/zlib"
-RDEPEND="${DEPEND}"
+DEPEND="${RDEPEND}
+ elibc_musl? ( sys-libs/queue-standalone )"
src_prepare() {
default
diff --git a/net-fs/s3backer/s3backer-2.1.2.ebuild b/net-fs/s3backer/s3backer-2.1.2.ebuild
new file mode 100644
index 000000000000..edc38736a8af
--- /dev/null
+++ b/net-fs/s3backer/s3backer-2.1.2.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="A filesystem that contains a single file backed by Amazon S3"
+HOMEPAGE="https://github.com/archiecobbs/s3backer"
+SRC_URI="https://github.com/archiecobbs/s3backer/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="nbd"
+
+RDEPEND="
+ dev-libs/expat
+ dev-libs/openssl:0=
+ net-misc/curl
+ sys-fs/fuse:0
+ sys-libs/zlib
+ nbd? ( sys-block/nbd sys-block/nbdkit )
+"
+DEPEND="${RDEPEND}
+ elibc_musl? ( sys-libs/queue-standalone )
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ default
+
+ # s3backer builds support for nbdkit if it finds nbdkit during build, no config is needed.
+ # yet it will still build support for nbd if USE="-nbd" but nbdkit is installed
+
+ sed -e "/docdir=/s:packages/\$(PACKAGE):${PF}:" \
+ -e "/doc_DATA=/d" \
+ -i Makefile.am || die
+
+ eautoreconf
+}
+
+src_compile() {
+ emake CFLAGS="${CFLAGS}"
+}
+
+src_install() {
+ default
+
+ # skip /run/s3backer-nbd if present
+ rm -rf "${ED}/run"
+}
diff --git a/net-fs/samba/Manifest b/net-fs/samba/Manifest
index a182c2ae7d90..74c51f123cc5 100644
--- a/net-fs/samba/Manifest
+++ b/net-fs/samba/Manifest
@@ -1,4 +1,8 @@
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/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/samba-4.18.10.ebuild b/net-fs/samba/samba-4.18.10.ebuild
index aad41632fada..be5091996562 100644
--- a/net-fs/samba/samba-4.18.10.ebuild
+++ b/net-fs/samba/samba-4.18.10.ebuild
@@ -146,6 +146,7 @@ BDEPEND="${PYTHON_DEPS}
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"
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
index 8135362ec56e..6d1877fa6e7b 100644
--- a/net-fs/samba/samba-4.18.8.ebuild
+++ b/net-fs/samba/samba-4.18.8.ebuild
@@ -146,6 +146,7 @@ BDEPEND="${PYTHON_DEPS}
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"
diff --git a/net-fs/samba/samba-4.18.9.ebuild b/net-fs/samba/samba-4.18.9.ebuild
index 66c20828dd28..1acb8412bd5c 100644
--- a/net-fs/samba/samba-4.18.9.ebuild
+++ b/net-fs/samba/samba-4.18.9.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+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
@@ -146,6 +146,7 @@ BDEPEND="${PYTHON_DEPS}
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"
diff --git a/net-fs/samba/samba-4.19.4.ebuild b/net-fs/samba/samba-4.19.4.ebuild
index 14523d446af3..9903c474ab38 100644
--- a/net-fs/samba/samba-4.19.4.ebuild
+++ b/net-fs/samba/samba-4.19.4.ebuild
@@ -146,6 +146,7 @@ BDEPEND="${PYTHON_DEPS}
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"
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/smbnetfs/smbnetfs-0.6.3.ebuild b/net-fs/smbnetfs/smbnetfs-0.6.3.ebuild
index a332b0bef370..7cbf21c76ce2 100644
--- a/net-fs/smbnetfs/smbnetfs-0.6.3.ebuild
+++ b/net-fs/smbnetfs/smbnetfs-0.6.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,7 +6,7 @@ inherit readme.gentoo-r1
DESCRIPTION="FUSE filesystem for SMB shares"
HOMEPAGE="https://sourceforge.net/projects/smbnetfs"
-SRC_URI="mirror://sourceforge/project/${PN}/${PN}/SMBNetFS-${PV}/${P}.tar.bz2"
+SRC_URI="https://downloads.sourceforge.net/project/${PN}/${PN}/SMBNetFS-${PV}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"