diff options
Diffstat (limited to 'net-fs')
-rw-r--r-- | net-fs/Manifest.gz | bin | 3358 -> 3365 bytes | |||
-rw-r--r-- | net-fs/cvmfs/Manifest | 4 | ||||
-rw-r--r-- | net-fs/cvmfs/cvmfs-2.12.7.ebuild (renamed from net-fs/cvmfs/cvmfs-2.12.3.ebuild) | 2 | ||||
-rw-r--r-- | net-fs/ksmbd-tools/Manifest | 4 | ||||
-rw-r--r-- | net-fs/ksmbd-tools/ksmbd-tools-3.5.2.ebuild | 18 | ||||
-rw-r--r-- | net-fs/ksmbd-tools/ksmbd-tools-3.5.3.ebuild | 66 | ||||
-rw-r--r-- | net-fs/netatalk/Manifest | 2 | ||||
-rw-r--r-- | net-fs/netatalk/netatalk-3.1.18.ebuild | 77 | ||||
-rw-r--r-- | net-fs/samba/Manifest | 4 | ||||
-rw-r--r-- | net-fs/samba/samba-4.20.7.ebuild | 385 | ||||
-rw-r--r-- | net-fs/samba/samba-4.21.4.ebuild | 389 |
11 files changed, 895 insertions, 56 deletions
diff --git a/net-fs/Manifest.gz b/net-fs/Manifest.gz Binary files differindex b12942ba66a4..4d3c502af75e 100644 --- a/net-fs/Manifest.gz +++ b/net-fs/Manifest.gz diff --git a/net-fs/cvmfs/Manifest b/net-fs/cvmfs/Manifest index ab1431576bc4..6ef64930dac3 100644 --- a/net-fs/cvmfs/Manifest +++ b/net-fs/cvmfs/Manifest @@ -1,6 +1,6 @@ AUX cvmfs-2.10.1-gentoo.patch 2835 BLAKE2B c87f24fece387faa48fa1f7ae46be6c0a8eb93ec2460a45abce26d1646948a9b0f606b4b174ef3a3fb1a36387dec943f2cae4f10bf4fa9aa825ba0d732e3ff71 SHA512 93e8e94da4cce7be896afd483a372bb164a803dea9cb035bdb5bfdce2089c250b2f6d857d1ac5d9769a0c53388f457adc5e215ce21bc1040d4cb269cc66262c9 DIST cvmfs-2.11.5.tar.gz 76761232 BLAKE2B ca665e0cdeab589d8cfcb4879b6e03a09330f9fa559aaa179cf7df10e9e92aa0a8ee215c3dc80eec6e2cc0912d7de80c759c2717303b94da8b2295fb3496d6b5 SHA512 fac61c59c9758d50f3ff1d90fbd60ea078c62f32aaba56ea02d1da11bfc2d304c340cc7ec539965bef3f0b7d6076502fdc5de8d8ed0f955289b77dcaa9d4de08 -DIST cvmfs-2.12.3.tar.gz 76788036 BLAKE2B ec96da382ffe5c920050d759c3ca86e1e6cec27537e5a5e2540dc5d13f33c733f319aeae117a94940e990ca6d3a9f4d7cb041cd5efdc187136d2781c0009560f SHA512 060580fec39086fa79d8fc93f02e6eadccc1e25eb93ec51c59e0f4872b272ff2e819e9c53c736e044cc4e2a584225b30737e32d4154d1848954850bc88b8cf09 +DIST cvmfs-2.12.7.tar.gz 76792875 BLAKE2B 402bf915c1d71e1c49bf52e9312cf1a19ad9f85b7672b824b067aedaa5ba3d14827b838573e8a63bc51108ae9d28e8930385a47322336f88df6b1efd7a3e4a0b SHA512 a13a1faa9c37433d6d287d29ac56f45a34a564aaaf6df97fe58e79dad57769f01f10048a7e66b90347b7e791bac9d4cbdefb01d07f9ee7c8d61d7ff0833e8e69 EBUILD cvmfs-2.11.5.ebuild 2349 BLAKE2B 15814d89dea818de0c577e538f458189009d93b3cdcab3b03de990b52ebc20f5b9e430d8406b75f4e8f6174bfdb478af7daa51d003d45e673cf9a987c9a247ae SHA512 9b85d779162ab14355980ddcb9d371b4466db9fb0792284806ff281ed55c03a1f65ab7ee1c0cbcb60429332dc6fd8b0bc59e70e0289907d952658c1664db6e14 -EBUILD cvmfs-2.12.3.ebuild 2351 BLAKE2B ecf0b4c755f7bdf86f859d25ca50a523fefcfaff5cf5d7883f97c7c6c93b7a626f3671c379183ddc5d9633da2ad23b211171f0d83e55c2b29e636850c33030e6 SHA512 a9d0476afb183293ed36bec985a990588069faefad5087cfd5e3b4b539fac2ae63af7330864dd476c8fe7d16db10b986fd540d3a40de6dfb4603a7f664cbd6e5 +EBUILD cvmfs-2.12.7.ebuild 2351 BLAKE2B 31588938eae6e8226e2b3d2842e841ecec8378dc74c5eeca41d3f0d582aa1df5a6b3b09fce0d8b89d3d230db843c84b21ea4eaee180e569a54151988bf21ea99 SHA512 8eb6ed4a080bcdf1d529f2937641ebfbcbdefbae0f11e6dc33cf667217d795defc8ad2dbc29a55c4c5138047dbd70d171ce9edc5790732bed3b620f01f20e4a3 MISC metadata.xml 1332 BLAKE2B ad7f06c80b66cf55f6734da058bd21efc10fc8c02165da01c1b5a96f81f4ba0c0f874768482ed271560ae711e862c2b4fea5a92aa09763d45a9a103574409cad SHA512 9fab3df5e006e4b34cbf22b4f9b6f5235d4c1937f8b1e69a41637988c48f2ba583f988c9fff07ccfc7b285ddc9058ca08f660d22211b97cf06a580b3794b27a7 diff --git a/net-fs/cvmfs/cvmfs-2.12.3.ebuild b/net-fs/cvmfs/cvmfs-2.12.7.ebuild index 6859d25ce946..3edac5e65504 100644 --- a/net-fs/cvmfs/cvmfs-2.12.3.ebuild +++ b/net-fs/cvmfs/cvmfs-2.12.7.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/net-fs/ksmbd-tools/Manifest b/net-fs/ksmbd-tools/Manifest index 6bd2d64a88c9..f770c533e101 100644 --- a/net-fs/ksmbd-tools/Manifest +++ b/net-fs/ksmbd-tools/Manifest @@ -1,5 +1,7 @@ AUX ksmbd.confd 237 BLAKE2B 7d66dc656344516421d5f043071e9a3063d2c4b5128a7a05ad5c11888b06d9f2f43ea54b404901719b8afa03623a65514bed0b3c6c5890b1d17d15eab9942bea SHA512 e314d1a520599dda148ff5aad8d0089950aceec1ec3fec6a34d4e60958e7668414b7234eea2fabdb9d544f67f385fca9dde24dddd265559339f08d949ba019dd AUX ksmbd.initd-r1 760 BLAKE2B 9492e6ec06b5906cae8f16576e6a72a59510faa9ad606fd4e81b1c369311252c1308d91601b18f4ace8eff0a6128868562ec8de22f27e9dd4a89eefb887dfaca SHA512 64241b5f1a2925af82ee1c6ed46bc2e2953752a5c24b7f82ea5c1d9b2464f20176daccda23312d9ff1e4366871f3836e3091e9e2f725f1c5efc50472b36c425a DIST ksmbd-tools-3.5.2.tar.gz 463604 BLAKE2B f54ff13719dd7e7167d065a7aaf5393fc18f67611be0a22fc4914e6d2afd25e751db85c27ff3adde482e1d9c4192161b76dc92f9c066dcc41cae7c820510483c SHA512 20035501e63798f5a23d3d9502ff4a50b04f74a03154bc4bfdfabb37dcf106410cd1355c2612cc46a0e52742f8e213dad4862790661781691e77760c56f40386 -EBUILD ksmbd-tools-3.5.2.ebuild 1727 BLAKE2B 969e5979d68e245d060b87960526a0ad046b94138785cce1292f02586259fba267df2513df71171931f067c2d41f7df902c2eed1f2d8eafc46dc58ec30102b36 SHA512 7f3cbfa3ab1f4fd2e6940417732a45b629982b3312c7e76a09c412f0eaa2b411b2cc560e199e5938eebeca0ded9eeddd39aefd5a7cd15cfdee18e78787782a4b +DIST ksmbd-tools-3.5.3.tar.gz 464499 BLAKE2B 3810a8af5528bfa56274fdc31386d07f28cd3762191df3343beb411974ee623f3b225d780955512aee64c0ae34f97a6bca4b3fef4c15f46d651e154fcf79b88f SHA512 aa3331dba8fc4b970a38e23d1569e9ec5bd8bba9cf6cf0d0b1618f0b0cd28fc1fc3d0c0446f9f628e38762a273b0d09050fbe331a79e06af986733ad6ec6d9a2 +EBUILD ksmbd-tools-3.5.2.ebuild 1664 BLAKE2B 591b7d85f07e3bd2930f69f27a65d44e0b16c4d468ecf4ca5bc230fa3bee2f325754cd251d6b7ee3d89911c62cbe73d81f2a688f9621842a1ee2cf1c04979f17 SHA512 f45772da86ef0f1faf5c0b422413cfbcd98942fecc3d2c12e8cc1d99b6e18085e0a1f456ca169324e64abb2399ff728520d029a3c6c4952749b8a19de746067c +EBUILD ksmbd-tools-3.5.3.ebuild 1664 BLAKE2B 591b7d85f07e3bd2930f69f27a65d44e0b16c4d468ecf4ca5bc230fa3bee2f325754cd251d6b7ee3d89911c62cbe73d81f2a688f9621842a1ee2cf1c04979f17 SHA512 f45772da86ef0f1faf5c0b422413cfbcd98942fecc3d2c12e8cc1d99b6e18085e0a1f456ca169324e64abb2399ff728520d029a3c6c4952749b8a19de746067c MISC metadata.xml 651 BLAKE2B 7dab0b33504a2f28b7d1a43ec3c6e82b649187374578585b6de5717902d6a4018b05f609022f02e02fa045075c24cad6b4d19f94b26ef57a5154da38dbf86f98 SHA512 35b6ff9c755bc70ae4e40ca97e45bcf021e606c115a9c55858715cd27ae3af47991f6f72d8b58311ba6bd0d345cd533bbe848f44d3c289fdc23b490042bccdf1 diff --git a/net-fs/ksmbd-tools/ksmbd-tools-3.5.2.ebuild b/net-fs/ksmbd-tools/ksmbd-tools-3.5.2.ebuild index c8ff8da17db4..a2a2c779dfb6 100644 --- a/net-fs/ksmbd-tools/ksmbd-tools-3.5.2.ebuild +++ b/net-fs/ksmbd-tools/ksmbd-tools-3.5.2.ebuild @@ -1,9 +1,9 @@ -# Copyright 2022-2024 Gentoo Authors +# Copyright 2022-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -inherit linux-info meson systemd +inherit eapi9-ver linux-info meson systemd DESCRIPTION="cifsd/ksmbd kernel server userspace utilities" HOMEPAGE="https://github.com/cifsd-team/ksmbd-tools" @@ -58,13 +58,9 @@ src_install() { } 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 + if ver_replacing -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 } diff --git a/net-fs/ksmbd-tools/ksmbd-tools-3.5.3.ebuild b/net-fs/ksmbd-tools/ksmbd-tools-3.5.3.ebuild new file mode 100644 index 000000000000..a2a2c779dfb6 --- /dev/null +++ b/net-fs/ksmbd-tools/ksmbd-tools-3.5.3.ebuild @@ -0,0 +1,66 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit eapi9-ver 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() { + if ver_replacing -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 +} diff --git a/net-fs/netatalk/Manifest b/net-fs/netatalk/Manifest index 508d760a6848..58605d310840 100644 --- a/net-fs/netatalk/Manifest +++ b/net-fs/netatalk/Manifest @@ -1,5 +1,5 @@ AUX netatalk-3.1.17-disable-ld-library-path.patch 1926 BLAKE2B a127b8a5e2b3586b4f1511bbba4613965c0d448b9c5fe8b58e8cea0b37c0644625d8de79861d5100c18a93a2285c9dd3bfd2b9a48662b45a80a820eda4a86327 SHA512 fa9b0c247b4379d6a53a80c8cfdb25e5dbef589e0ad964dfa21c40b39fdbadde738d9a8dc474e7db5281772e02e58c17b04a4806024549913962a9a5644fd6e5 AUX netatalk-3.1.17-gentoo.patch 4472 BLAKE2B 841edfbd1fd844bd5d77b5b79d30622878d5409be55eca5f077a269bd99bf7b746073020b3a3291f69abb15eb63e0b4ae151db5d396d76746449cba8ba51e3fc SHA512 e039072e5d416d6839bb54f1b2c29beb6d373386e80ab478198c72750522426dc36852423df4b517305b0ba2ecdc157b7677ee96f6f93253d4e75537e514725d DIST netatalk-3.1.18.tar.xz 974852 BLAKE2B ba69e0bc08455dff46d8aa83fa1a2eda6eac60a0ab7a1b22bba8c47abb57ac70bd2879ec496c5e5f3da40a461e93fcecdf7c3e489daff18e995961f59d4fdc99 SHA512 06c56754afacbf9c71dc2ab7b80c231f5c25f522967e1d825b4e9e129233528bd1e7101144239b52636b9efe7f1f86a37749da8a8af611169155bca9711798d0 -EBUILD netatalk-3.1.18.ebuild 4479 BLAKE2B f2f32a51092eb48f5a5dd67505d9b70802a79a6aa1135305c12f2cddd7fa006ff6c4a4965d5604e33f751b7fedd6756041c0781f104e3cebaa73bbe9b88d57cb SHA512 dc32661d8115545e52ec5ced625de41e7296c3275a9f04c0aa4fd258e8894025b62eedc366ca7e5012c21002c0f0f053aaafc36e5a2c0eca2bfeca0c8fd4e9df +EBUILD netatalk-3.1.18.ebuild 4394 BLAKE2B 97b60a8e7d791ad84d1770e5b77bcb6d3ad487ca65a51c49dddb7046dd4008958de86c88db8ed8b3b66c39f69e9a0b6c25b83cc8c21fbe943876458ab6210ce3 SHA512 77d8b2c5aaddfc568d56c07e898c366b6f1181f4ab0c2bdb7c5ea2e90a865ffbf201eff2d90f179ab3ad03561373f233a0fe3fb7c8afd5a511620f9fb0e70873 MISC metadata.xml 777 BLAKE2B b535a0966de9d50db312f63df1675eb7bef2d6e8fbbef23157c52c921f2bcd52f7c7ebbebdebd14dc474cf0a64b23c1689d16ae567f6760096f130653f9dab63 SHA512 4ce4eab0958c75ee4b8c7b268d4999aa4398a18da47e1a4d7850218bb75aa8a885c070eea38e7921356c9e59abcbb351eef507c3f3405fc1dc9c05e99ad8006b diff --git a/net-fs/netatalk/netatalk-3.1.18.ebuild b/net-fs/netatalk/netatalk-3.1.18.ebuild index 5d5a3fcf8c37..a3684cfeafb2 100644 --- a/net-fs/netatalk/netatalk-3.1.18.ebuild +++ b/net-fs/netatalk/netatalk-3.1.18.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -inherit autotools flag-o-matic pam systemd +inherit autotools eapi9-ver flag-o-matic pam systemd DESCRIPTION="Open Source AFP server" HOMEPAGE="https://netatalk.sourceforge.net/" @@ -130,43 +130,40 @@ src_install() { } pkg_postinst() { - local fle v - for v in ${REPLACING_VERSIONS}; do - if [[ $(ver_test ${v} -lt 3) ]]; then - for fle in afp_signature.conf afp_voluuid.conf; do - if [[ -f "${ROOT}"/etc/netatalk/${fle} ]]; then - if [[ ! -f "${ROOT}"/var/lib/netatalk/${fle} ]]; then - mv \ - "${ROOT}"/etc/netatalk/${fle} \ - "${ROOT}"/var/lib/netatalk/ - fi + if ver_replacing -lt 3; then + local fle + for fle in afp_signature.conf afp_voluuid.conf; do + if [[ -f "${ROOT}"/etc/netatalk/${fle} ]]; then + if [[ ! -f "${ROOT}"/var/lib/netatalk/${fle} ]]; then + mv \ + "${ROOT}"/etc/netatalk/${fle} \ + "${ROOT}"/var/lib/netatalk/ fi - done - - elog - elog "Starting from version 3.0 only uses a single init script again" - elog "Please update your runlevels accordingly" - elog - elog "Dependencies should be resolved automatically depending on settings" - elog "but please report issues with this on https://bugs.gentoo.org/ if" - elog "you find any." - elog - elog "Following config files are obsolete now:" - elog "afpd.conf, netatalk.conf, AppleVolumes.default and afp_ldap.conf" - elog "in favour of" - elog "/etc/afp.conf" - elog - elog "Please convert your existing configs before you restart your daemon" - elog - elog "The new AppleDouble default backend is appledouble = ea" - elog "Existing entries will be updated on access, but can do an offline" - elog "conversion with" - elog "dbd -ruve /path/to/Volume" - elog - elog "For general notes on the upgrade, please visit" - elog "http://netatalk.sourceforge.net/3.0/htmldocs/upgrade.html" - elog - break - fi - done + fi + done + + elog + elog "Starting from version 3.0 only uses a single init script again" + elog "Please update your runlevels accordingly" + elog + elog "Dependencies should be resolved automatically depending on settings" + elog "but please report issues with this on https://bugs.gentoo.org/ if" + elog "you find any." + elog + elog "Following config files are obsolete now:" + elog "afpd.conf, netatalk.conf, AppleVolumes.default and afp_ldap.conf" + elog "in favour of" + elog "/etc/afp.conf" + elog + elog "Please convert your existing configs before you restart your daemon" + elog + elog "The new AppleDouble default backend is appledouble = ea" + elog "Existing entries will be updated on access, but can do an offline" + elog "conversion with" + elog "dbd -ruve /path/to/Volume" + elog + elog "For general notes on the upgrade, please visit" + elog "http://netatalk.sourceforge.net/3.0/htmldocs/upgrade.html" + elog + fi } diff --git a/net-fs/samba/Manifest b/net-fs/samba/Manifest index f78c33aa3892..35b9995507ab 100644 --- a/net-fs/samba/Manifest +++ b/net-fs/samba/Manifest @@ -8,12 +8,16 @@ DIST samba-4.19.7.tar.gz 41851647 BLAKE2B 9bd58363d4cd30f900b286be7c7e172ed0308c DIST samba-4.19.8.tar.gz 41878540 BLAKE2B 8d0e720ad572b6c17d90b5f9822eae6bdbaedcc05397fb79a77fc3838a6c9fac852f7ef31d47433efe057b39d97652c7391c4d28b33c4b8f95503129e0bb8470 SHA512 90d5bc6f52d7905b00b846e024220c0eec999d83f0343522e1cf76038e7630280bd0c039ce553e3024f8ebf91ab9b5f18d9395bd46811e1a3bc97261d1f69ca7 DIST samba-4.19.9.tar.gz 41877221 BLAKE2B 62c6fa2bca40edd8ff879aa34515532a9dc2620df6d6c9cc88677fbd5ff337a635a5ab7964df36d28a1c09748a343424100fa5d483005e9bb34706fa713f4d97 SHA512 c7345cbf2b756429cb7ae4e722f7e3389778711b64a943885b8fdb0e1db85ea93fff6098378d973f8a971faf05052c7f23a6a067e713680c5345b046d9a1fec1 DIST samba-4.20.5.tar.gz 42503174 BLAKE2B c0e3eed4b7ee02697f379d2f1697ba05536885345fbd6a28959f167686176a2b228306c7a691a3f63940944dc219523a7683f9f41a0150bae94e691c6a89b6cc SHA512 a666fc76dad2d9a68e802454555d2e93f7f71c2781ca5d11cf2fe8af046990b4be6677bbc754298613173849efb4387c16c2fd5557d65ba8b5a1ac02bd8c542a +DIST samba-4.20.7.tar.gz 42523056 BLAKE2B 3ddd41876dc7219396c410941a350bea89464d1012caa112b17457c03612821b64e6be6694ea8a06d3d1168983198c8837edc3cbaa5e8bef11c7bc2fe81531c6 SHA512 60699e332774a33f7c831f628e720bb2f25cf4a3462f24c2451b5eb799952d1a16ee487d76218ff651836ae2c0f406783da520f859a6af47b9a5d1c090019bda DIST samba-4.21.0.tar.gz 42625973 BLAKE2B 0889f2be3b78affee88250114397de87a77da77d9674815ec5605780a6bb3e2e28dbbae53b66695196408f4aef550acce793e6397045fbea4bb236fdd095ce1a SHA512 5d1d7f89d46f29a772bb56c060934e6868e5a3962915f3c5ab2daff3c3f49863af36c89f989066dd496cf5d0ed8cc63ad9c93f2cfe0b98797baa87b50bc5bf3f DIST samba-4.21.1.tar.gz 42635617 BLAKE2B e99c6d45758d50195a634d2a2ebdbe324ca3f205d8013fb8fb2160c2581d7551bbff946f3413b2782648470e922d84d8a2f9c3d33e32c46db6391b749ba30000 SHA512 a3fb57d9dc72e7b924995cc59887535a75f4462d3afb68098321efeb15541e372071e3f8277006f9e792491e25a0f05127c2929fd2f22d9ee7dace3c13088cdb +DIST samba-4.21.4.tar.gz 42669530 BLAKE2B 37c3b924799369dfe7a9ac208d3e470d4c41c45eb725f973e6948c3581523abe5fe768ea0a82e38c5a1cf5ad238896ddfd1783a1adebc9fa6d42fbb6769e9bdb SHA512 eed6bfe8b9122198fb44cb0bbb30e7f0c9936147d88f731a79146617edf76b1d5773b36972ac96813feb57effd29825d77e72ad705027eb93ce3b5b7fd196102 EBUILD samba-4.19.7.ebuild 11564 BLAKE2B 739a6cccc2859ba2831593d14caa119cb12b5bc53a9aa83d6cc61ab15d585907cc945845a1a59019ebe07106fbf1ef05779fa85a2b93e51bdc90afab09927a7e SHA512 07f20b3d25efbe2f8b73bd85b90e1a70cd19f007cbb87880a2f2e0270cd93dfc9172f518765f3385f0d1159abd2bb73915425631d79f4bc7a051957741d45ff2 EBUILD samba-4.19.8.ebuild 11571 BLAKE2B 9087871b4022288746cf924b2d41c44d45dc9f92743b151562abd2ca880bbd8bda84c8e01683ef5c5d850079060a66c801b56e8df3c81d866226a23726f94f80 SHA512 d016e276b9aa5ba9ff6e065904b25b897a43a7a6075aff187c10397dad928e4a784a4fb3f5735355efed0bd6f9614bfd325b8652f884c4ac7a620ef432ba8946 EBUILD samba-4.19.9.ebuild 11571 BLAKE2B dcf610987dc293a4f3051b93e91fa30f467fbccbebe981ae33a9a76a0c006fedfe02176c075a1e5d0d7493528fc43d23821762fbcc43044769e80af07cc7d6f2 SHA512 52913a3d63dc283ab92c4088753f6e29e84e8aa550de922ec009c83fbc57eb8978e9be18b5beba154aabf9885161793c0b4604cf9efa0b04e99c1374bc0a5e21 EBUILD samba-4.20.5.ebuild 11595 BLAKE2B 79c8a23afb94f5bed1a32b856b5e89b54b3c3713639b3571a1763975dc4dfe2d5b234375990950d44e137a492dc35b828fba39e41eb1bef3e191cbd7ff02d2ca SHA512 51fe7569719547a3d303af99d0e8fba3ceef9d91080e858e88de4653fb3256a3bfd9cfe5153353db6c156d956289306cc9a8599f7fe67a97548cd2c5d60dcaf2 +EBUILD samba-4.20.7.ebuild 11595 BLAKE2B 10998a15a7779466064ef869eaad7d964252e95fdd173b7341d9065e3aeedf098a326a5a2a97bd76b01fcca69f12ee66fa659bb5cbe6150a952bba23bccd9810 SHA512 3942eb754f71356dc34cd06aa0efbfb1862593b69f791cd7ce86c5951689c1fdc679e041677986deb8e7249162e5d74b96a75585b2c15edd0af6dee2c73bd839 EBUILD samba-4.21.0.ebuild 11493 BLAKE2B bed8e18ba4d322118e9f036505a1d8aa97f4d1689e7d69147f5510b0b15dbf1fd7533bacfd33a1c45e8df239afdfa42b07b4eddd6abc164826a18faa119b95c0 SHA512 9b4cb07847501ef8c191d062002c06026c86e39254d2eaae9b3c965a503623aad2d3ad1a7422850213ba36ab6787c1d8a2e308625ae2652db36eb88dad69a5d2 EBUILD samba-4.21.1.ebuild 11631 BLAKE2B 6587f413b2cb86b6cd81ba7ab8996bd824de6eed8e48247ad1d522a817753c4d7a5f706bcf3468b64b25c2b1b20e82468a4a9b62bd9ed9739b021f86aa4caa07 SHA512 1f6f0395a7f00f4d4e66879df56e6970a2e76ce4525a6844f70ac5462b397ae0a634c9d5f53a174ef384364448490629527fcd5c4a0ae3d4bfd8efc3da842317 +EBUILD samba-4.21.4.ebuild 11631 BLAKE2B 6587f413b2cb86b6cd81ba7ab8996bd824de6eed8e48247ad1d522a817753c4d7a5f706bcf3468b64b25c2b1b20e82468a4a9b62bd9ed9739b021f86aa4caa07 SHA512 1f6f0395a7f00f4d4e66879df56e6970a2e76ce4525a6844f70ac5462b397ae0a634c9d5f53a174ef384364448490629527fcd5c4a0ae3d4bfd8efc3da842317 MISC metadata.xml 2129 BLAKE2B 22716cc1235dc573023fe31c941bf999916a73bd0de504703c9e9f66b4a1a776e47b74dafe951d0bf04911dfa5e3d8d6354dd8e532fecdf0d51b02cf5eb30da5 SHA512 a6927d5243e95f31a896befa759fea648dd16c19a0a35935da525283a22d314faf5d515f23810026eab94e3bd3cec6431eb5aa3168be8989418f7d66452d92fb diff --git a/net-fs/samba/samba-4.20.7.ebuild b/net-fs/samba/samba-4.20.7.ebuild new file mode 100644 index 000000000000..ba5c0cd3c89b --- /dev/null +++ b/net-fs/samba/samba-4.20.7.ebuild @@ -0,0 +1,385 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +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 ~loong ~mips ~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.2:=[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? ( 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 + + 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 ${ESYSROOT}/usr $(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" + + 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 +} diff --git a/net-fs/samba/samba-4.21.4.ebuild b/net-fs/samba/samba-4.21.4.ebuild new file mode 100644 index 000000000000..71fd45394a02 --- /dev/null +++ b/net-fs/samba/samba-4.21.4.ebuild @@ -0,0 +1,389 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +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 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-3" +SLOT="0/2.10.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" + +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.12" +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 + 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}] ) + 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 + + sed -e 's:<gpgme\.h>:<gpgme/gpgme.h>:' \ + -i source4/dsdb/samdb/ldb_modules/password_hash.c \ + || 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 + + 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 ${ESYSROOT}/usr $(multilib_native_usex addc --with-experimental-mit-ad-dc '')") + $(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-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 +} |