diff --git a/net-fs/samba/Manifest b/net-fs/samba/Manifest index c545f625ac5f7..05e92f0e6bd13 100644 --- a/net-fs/samba/Manifest +++ b/net-fs/samba/Manifest @@ -2,9 +2,5 @@ DIST samba-4.22.10.tar.gz 42927839 BLAKE2B d75280581c0e22789aa274a957745a211435c DIST samba-4.22.5.tar.gz 42876122 BLAKE2B c6ee4c98c4aced9faa0b5f90c61a3ea9473fc8c90e7c3ceb470aba9354fb4bb21cdd16a7d19bb6b0faee4454259e02546b4bb5093e8e8fe64a67b5635fc1152b SHA512 ee183e664768076f814c252afef0cd2225961d173174e8f4703d8cf59fe2abc2d1a089e293905849201ab2af75e27d8666360072a85bcce2b0dc735324d6b02e DIST samba-4.22.9.tar.gz 42873956 BLAKE2B 8f238f0d6ca94c729bcb3af7e56399bbc86d20e15d77908de5beb824f10502407f99079f908001200b3b540ba6673037a7580dcd6090ef53aa285ff503729d01 SHA512 e97dc94b22bd05e37c6612ab778da2ca5d58007d9c08ce3ee9a6d595f020fcfd9613831811278e167dc010050da088966190ae9a322154dba4cab7c01b96e565 DIST samba-4.23.6.tar.gz 43306831 BLAKE2B c5c567bfc4734429790ec7362150eda231ce7e3e7dbdfaa2ca2dc81bd178c9c15cc9360b21f4c5dd1f1423d46337bc5a7b581efcff8ed647adb69a9b47922320 SHA512 61dc2a80f1ea5a7a04bc45ba7896107fd1c619ec3f841f9f6adb9c166a3ce3a5cee7b0d097cfa2c768ba65e35167c0739099cc76a5478c0d6f41521a621336c9 -DIST samba-4.23.7.tar.gz 43305961 BLAKE2B 1c3847855a2cde457498856fddd25957c78240e58d2bdc65c5fe5805afc0a650638908393e3e83ff112b9c9a2c0c31fa5a186bb102d0ec6c063ab4e728dfdf0a SHA512 4cecc3ff3a2e1738a40bcd499c86c0503e79c49a99864423eb348d825c130febdeb44589cf2db007817c7d633a614ad4d58a887c10a579093ae2cda009c979b0 -DIST samba-4.23.8.tar.gz 43360349 BLAKE2B 7500080f8fb28b3a236064a52e4b259ceffa0f96b0cd0f78d2a7071cff088eac6ee9174d9719509326efadbf434632aa93c97116624e42e61a7cffe4a4130fb1 SHA512 5a18e5ef52b2be2cdc9ef39ac5699698c0ed8a0cb3d43db801efbec79014e2e862511b124b3371846c39c5fbb1d53b3b7ed8b0adaf88f670d1ece5dc0b92b077 DIST samba-4.23.9.tar.gz 43340009 BLAKE2B 106fd5170015a1175bdd8221ece532f6b18dd7deb4ccaf22504cfaf6ca1706f5204d5be7d92455f8d7cc49e368c1142d3432fe1d1272c6cf50c57e54d8b37785 SHA512 8d6cd716e36db5f6e96bcd1bc3848f51b55f3c0ed039650fc0f78c15f03ae2f5669cf106166fb7f20feacb539b5296ec47212b72f7baf519c3e20b310bd8b950 -DIST samba-4.24.1.tar.gz 43389244 BLAKE2B 51459d4db739e47bc05692046ce0a8b3044de923b3d1e7a51589bb838a7ef9865b6d6034656ade87e099374157a92dac0cba70a5f293a4d1e2b623341b3e75ca SHA512 419653355fd609443b1cd321986e7e83c6479a52d7a998e1197846cdb591305b1173b77022a65cf643c46a3a8810de05499a9eba903b839a87fac7a270ebc85f -DIST samba-4.24.2.tar.gz 43409510 BLAKE2B 464b9324b1c4d9e50d70c0d921c65b775f49db9e9b82314cc072ad03087f2d2f3ca4c9cf2925a3628c07c2f4664f58f9a36528078a14666d1fcb20ddb7949b44 SHA512 54f65c200815f7f05eca5ee1e69e554acd93be912913d5e8fde1f8ed9b1b809dad4b47559053e4ce9780f271cf61b0abc3a25dce331ca237730574417cf5c5e7 DIST samba-4.24.3.tar.gz 43446520 BLAKE2B 7804075e3153ac2252549e33ee421c54aaa355ad53cb06790875f32a802c1b8fc9fc77f70f7a4e231df40f8c32a87651e87ed93218e3e27bf97734204cecad5d SHA512 769445f861bfd978bc8eccc53135c03d94b5e2b402f45df8c3ae202999d6f8e35a2a78bb4bada34f09cf177cfe8be4013ffd6da8d311cf6a7ff2a4a8222c6b4f diff --git a/net-fs/samba/samba-4.23.7.ebuild b/net-fs/samba/samba-4.23.7.ebuild deleted file mode 100644 index 8ed59ab9e8b4e..0000000000000 --- a/net-fs/samba/samba-4.23.7.ebuild +++ /dev/null @@ -1,400 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{11..14} ) -PYTHON_REQ_USE="threads(+),xml(+)" -inherit python-single-r1 flag-o-matic waf-utils multilib-minimal linux-info optfeature 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="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" -fi -S="${WORKDIR}/${MY_P}" - -LICENSE="GPL-3" -SLOT="0/2.11.0" -IUSE="acl addc ads ceph client cluster cups debug fam glusterfs gpg" -IUSE+=" iprint json ldap llvm-libunwind lmdb pam profiling-data python quota" -IUSE+=" +regedit selinux snapper spotlight syslog system-heimdal +system-mitkrb5" -IUSE+=" systemd test unwind winbind zeroconf" - -# ldap needs ads (bug #941578) -REQUIRED_USE="${PYTHON_REQUIRED_USE} - addc? ( json python !system-mitkrb5 winbind ) - ads? ( acl ldap python winbind ) - cluster? ( ads ) - gpg? ( addc ) - ldap? ( ads ) - 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.3" -TDB_VERSION="1.4.14" -TEVENT_VERSION="0.17.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}] - >=net-libs/ngtcp2-1.12.0[gnutls,${MULTILIB_USEDEP}] - >=sys-fs/e2fsprogs-1.46.4-r51[${MULTILIB_USEDEP}] - !sys-libs/ldb - 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}] - virtual/zlib:=[${MULTILIB_USEDEP}] - virtual/libcrypt:=[${MULTILIB_USEDEP}] - virtual/libiconv - $(python_gen_cond_dep ' - addc? ( - dev-python/cryptography[${PYTHON_USEDEP}] - dev-python/dnspython:=[${PYTHON_USEDEP}] - dev-python/markdown[${PYTHON_USEDEP}] - net-dns/bind[gssapi] - ) - ads? ( - dev-python/cryptography[${PYTHON_USEDEP}] - dev-python/dnspython:=[${PYTHON_USEDEP}] - dev-python/markdown[${PYTHON_USEDEP}] - net-dns/bind[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}] ) - lmdb? ( >=dev-db/lmdb-0.9.16:=[${MULTILIB_USEDEP}] ) - pam? ( sys-libs/pam ) - python? ( - 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? ( llvm-runtimes/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/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 - - # bug #943942 - append-cflags -std=gnu17 - - # 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 - - bundled_libs="libquic,${bundled_libs}" - - 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_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 ads) - $(use_with debug lttng) - $(use_with ldap) - $(use_with profiling-data) - --private-libraries='!ldb' - $(usex lmdb '' --without-ldb-lmdb) - # 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-ldflags $(test-flags-CCLD -Wl,--undefined-version) # bug 914898 - - 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" - - use python && python_optimize - 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 - - if use addc || use ads ; then - optfeature "Hide passwords from command line when using samba-tool or samba-gpupdate" dev-python/setproctitle - fi -} diff --git a/net-fs/samba/samba-4.23.8.ebuild b/net-fs/samba/samba-4.23.8.ebuild deleted file mode 100644 index 8ed59ab9e8b4e..0000000000000 --- a/net-fs/samba/samba-4.23.8.ebuild +++ /dev/null @@ -1,400 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{11..14} ) -PYTHON_REQ_USE="threads(+),xml(+)" -inherit python-single-r1 flag-o-matic waf-utils multilib-minimal linux-info optfeature 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="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" -fi -S="${WORKDIR}/${MY_P}" - -LICENSE="GPL-3" -SLOT="0/2.11.0" -IUSE="acl addc ads ceph client cluster cups debug fam glusterfs gpg" -IUSE+=" iprint json ldap llvm-libunwind lmdb pam profiling-data python quota" -IUSE+=" +regedit selinux snapper spotlight syslog system-heimdal +system-mitkrb5" -IUSE+=" systemd test unwind winbind zeroconf" - -# ldap needs ads (bug #941578) -REQUIRED_USE="${PYTHON_REQUIRED_USE} - addc? ( json python !system-mitkrb5 winbind ) - ads? ( acl ldap python winbind ) - cluster? ( ads ) - gpg? ( addc ) - ldap? ( ads ) - 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.3" -TDB_VERSION="1.4.14" -TEVENT_VERSION="0.17.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}] - >=net-libs/ngtcp2-1.12.0[gnutls,${MULTILIB_USEDEP}] - >=sys-fs/e2fsprogs-1.46.4-r51[${MULTILIB_USEDEP}] - !sys-libs/ldb - 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}] - virtual/zlib:=[${MULTILIB_USEDEP}] - virtual/libcrypt:=[${MULTILIB_USEDEP}] - virtual/libiconv - $(python_gen_cond_dep ' - addc? ( - dev-python/cryptography[${PYTHON_USEDEP}] - dev-python/dnspython:=[${PYTHON_USEDEP}] - dev-python/markdown[${PYTHON_USEDEP}] - net-dns/bind[gssapi] - ) - ads? ( - dev-python/cryptography[${PYTHON_USEDEP}] - dev-python/dnspython:=[${PYTHON_USEDEP}] - dev-python/markdown[${PYTHON_USEDEP}] - net-dns/bind[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}] ) - lmdb? ( >=dev-db/lmdb-0.9.16:=[${MULTILIB_USEDEP}] ) - pam? ( sys-libs/pam ) - python? ( - 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? ( llvm-runtimes/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/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 - - # bug #943942 - append-cflags -std=gnu17 - - # 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 - - bundled_libs="libquic,${bundled_libs}" - - 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_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 ads) - $(use_with debug lttng) - $(use_with ldap) - $(use_with profiling-data) - --private-libraries='!ldb' - $(usex lmdb '' --without-ldb-lmdb) - # 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-ldflags $(test-flags-CCLD -Wl,--undefined-version) # bug 914898 - - 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" - - use python && python_optimize - 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 - - if use addc || use ads ; then - optfeature "Hide passwords from command line when using samba-tool or samba-gpupdate" dev-python/setproctitle - fi -} diff --git a/net-fs/samba/samba-4.24.1.ebuild b/net-fs/samba/samba-4.24.1.ebuild deleted file mode 100644 index 789db2de9ad63..0000000000000 --- a/net-fs/samba/samba-4.24.1.ebuild +++ /dev/null @@ -1,400 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{11..14} ) -PYTHON_REQ_USE="threads(+),xml(+)" -inherit python-single-r1 flag-o-matic waf-utils multilib-minimal linux-info optfeature 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="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" -fi -S="${WORKDIR}/${MY_P}" - -LICENSE="GPL-3" -SLOT="0/2.11.0" -IUSE="acl addc ads ceph client cluster cups debug fam glusterfs gpg" -IUSE+=" iprint json ldap llvm-libunwind lmdb pam profiling-data python quota" -IUSE+=" +regedit selinux snapper spotlight syslog system-heimdal +system-mitkrb5" -IUSE+=" systemd test unwind winbind zeroconf" - -# ldap needs ads (bug #941578) -REQUIRED_USE="${PYTHON_REQUIRED_USE} - addc? ( json python !system-mitkrb5 winbind ) - ads? ( acl ldap python winbind ) - cluster? ( ads ) - gpg? ( addc ) - ldap? ( ads ) - 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.4" -TDB_VERSION="1.4.15" -TEVENT_VERSION="0.17.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}] - >=net-libs/ngtcp2-1.12.0[gnutls,${MULTILIB_USEDEP}] - >=sys-fs/e2fsprogs-1.46.4-r51[${MULTILIB_USEDEP}] - !sys-libs/ldb - 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}] - virtual/zlib:=[${MULTILIB_USEDEP}] - virtual/libcrypt:=[${MULTILIB_USEDEP}] - virtual/libiconv - $(python_gen_cond_dep ' - addc? ( - dev-python/cryptography[${PYTHON_USEDEP}] - dev-python/dnspython:=[${PYTHON_USEDEP}] - dev-python/markdown[${PYTHON_USEDEP}] - net-dns/bind[gssapi] - ) - ads? ( - dev-python/cryptography[${PYTHON_USEDEP}] - dev-python/dnspython:=[${PYTHON_USEDEP}] - dev-python/markdown[${PYTHON_USEDEP}] - net-dns/bind[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}] ) - lmdb? ( >=dev-db/lmdb-0.9.16:=[${MULTILIB_USEDEP}] ) - pam? ( sys-libs/pam ) - python? ( - 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? ( llvm-runtimes/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/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 - - # bug #943942 - append-cflags -std=gnu17 - - # 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 - - bundled_libs="libquic,${bundled_libs}" - - 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_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 ads) - $(use_with debug lttng) - $(use_with ldap) - $(use_with profiling-data) - --private-libraries='!ldb' - $(usex lmdb '' --without-ldb-lmdb) - # 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-ldflags $(test-flags-CCLD -Wl,--undefined-version) # bug 914898 - - 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" - - use python && python_optimize - 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 - - if use addc || use ads ; then - optfeature "Hide passwords from command line when using samba-tool or samba-gpupdate" dev-python/setproctitle - fi -} diff --git a/net-fs/samba/samba-4.24.2.ebuild b/net-fs/samba/samba-4.24.2.ebuild deleted file mode 100644 index 789db2de9ad63..0000000000000 --- a/net-fs/samba/samba-4.24.2.ebuild +++ /dev/null @@ -1,400 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{11..14} ) -PYTHON_REQ_USE="threads(+),xml(+)" -inherit python-single-r1 flag-o-matic waf-utils multilib-minimal linux-info optfeature 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="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" -fi -S="${WORKDIR}/${MY_P}" - -LICENSE="GPL-3" -SLOT="0/2.11.0" -IUSE="acl addc ads ceph client cluster cups debug fam glusterfs gpg" -IUSE+=" iprint json ldap llvm-libunwind lmdb pam profiling-data python quota" -IUSE+=" +regedit selinux snapper spotlight syslog system-heimdal +system-mitkrb5" -IUSE+=" systemd test unwind winbind zeroconf" - -# ldap needs ads (bug #941578) -REQUIRED_USE="${PYTHON_REQUIRED_USE} - addc? ( json python !system-mitkrb5 winbind ) - ads? ( acl ldap python winbind ) - cluster? ( ads ) - gpg? ( addc ) - ldap? ( ads ) - 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.4" -TDB_VERSION="1.4.15" -TEVENT_VERSION="0.17.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}] - >=net-libs/ngtcp2-1.12.0[gnutls,${MULTILIB_USEDEP}] - >=sys-fs/e2fsprogs-1.46.4-r51[${MULTILIB_USEDEP}] - !sys-libs/ldb - 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}] - virtual/zlib:=[${MULTILIB_USEDEP}] - virtual/libcrypt:=[${MULTILIB_USEDEP}] - virtual/libiconv - $(python_gen_cond_dep ' - addc? ( - dev-python/cryptography[${PYTHON_USEDEP}] - dev-python/dnspython:=[${PYTHON_USEDEP}] - dev-python/markdown[${PYTHON_USEDEP}] - net-dns/bind[gssapi] - ) - ads? ( - dev-python/cryptography[${PYTHON_USEDEP}] - dev-python/dnspython:=[${PYTHON_USEDEP}] - dev-python/markdown[${PYTHON_USEDEP}] - net-dns/bind[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}] ) - lmdb? ( >=dev-db/lmdb-0.9.16:=[${MULTILIB_USEDEP}] ) - pam? ( sys-libs/pam ) - python? ( - 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? ( llvm-runtimes/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/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 - - # bug #943942 - append-cflags -std=gnu17 - - # 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 - - bundled_libs="libquic,${bundled_libs}" - - 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_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 ads) - $(use_with debug lttng) - $(use_with ldap) - $(use_with profiling-data) - --private-libraries='!ldb' - $(usex lmdb '' --without-ldb-lmdb) - # 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-ldflags $(test-flags-CCLD -Wl,--undefined-version) # bug 914898 - - 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" - - use python && python_optimize - 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 - - if use addc || use ads ; then - optfeature "Hide passwords from command line when using samba-tool or samba-gpupdate" dev-python/setproctitle - fi -}