commit: 28de7a61d38252fa922854eba018a046250976ed Author: Dave Hughes <davidhughes205 <AT> gmail <DOT> com> AuthorDate: Sat Mar 13 17:10:16 2021 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sat Mar 13 21:25:46 2021 +0000 URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=28de7a61
net-fs/samba: sync with ::gentoo Package-Manager: Portage-3.0.17, Repoman-3.0.2 RepoMan-Options: --force Manifest-Sign-Key: 0xA1919C830E9498E0 Signed-off-by: Dave Hughes <davidhughes205 <AT> gmail.com> Closes: https://github.com/gentoo/musl/pull/421 Signed-off-by: Sam James <sam <AT> gentoo.org> net-fs/samba/Manifest | 36 ++-- net-fs/samba/files/4.4/samba4.initd-r1 | 3 +- ..._fn_t.patch => add_missing___compar_fn_t.patch} | 2 - .../samba/files/fix-musl-lib-without-innetgr.patch | 42 +++++ ....9-remove-getpwent_r.patch => getpwent_r.patch} | 14 +- net-fs/samba/files/missing-headers.patch | 38 +++++ net-fs/samba/files/musl-disable-netgroup.patch | 15 -- net-fs/samba/files/musl_rm_unistd_incl.patch | 37 ++++ net-fs/samba/files/musl_uintptr.patch | 35 ++++ net-fs/samba/files/nmbd.service | 12 -- .../samba-4.10.0-disable_gnutls_build_fix.patch | 32 ---- .../samba-4.13-vfs_snapper_configure_option.patch | 56 ++++++ net-fs/samba/files/samba-4.13-winexe_option.patch | 67 ++++++++ .../samba/files/samba-4.5.1-compile_et_fix.patch | 16 -- .../files/samba-4.8.6-no-pydsdb-when-no-addc.patch | 36 ---- net-fs/samba/files/samba-glibc-2.26-no_rpc.patch | 14 -- net-fs/samba/files/samba.conf | 1 + net-fs/samba/files/samba.service | 10 -- net-fs/samba/files/smbd.service | 12 -- net-fs/samba/files/smbd.socket | 9 - net-fs/samba/files/smbd_at.service | 7 - net-fs/samba/files/winbindd.service | 12 -- net-fs/samba/metadata.xml | 5 + ...samba-4.11.6-r2.ebuild => samba-4.12.12.ebuild} | 89 ++++++---- ...{samba-4.11.8.ebuild => samba-4.12.9-r1.ebuild} | 82 +++++---- .../{samba-4.11.8.ebuild => samba-4.13.5.ebuild} | 190 ++++++++++++--------- .../{samba-4.11.8.ebuild => samba-4.14.0.ebuild} | 190 ++++++++++++--------- 27 files changed, 626 insertions(+), 436 deletions(-) diff --git a/net-fs/samba/Manifest b/net-fs/samba/Manifest index 876f207..22c3b6a 100644 --- a/net-fs/samba/Manifest +++ b/net-fs/samba/Manifest @@ -1,23 +1,25 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 -DIST samba-4.11.6.tar.gz 18541566 BLAKE2B 2b4a40be7cec8a9706cbc344796885f59403aa11ca3d8a7dc40b3d287ec222c11d7395fd193c4b66c4116f1bffd869caf444a950d508f5a9a596db32553e1461 SHA512 3815080a1693c596a126371a5ea4e8534317a7266803c7de13a7e5b3ee9757dfbf13c0de20d498a6683d3aaf56941ed42f289e3c24f88713529a5f047a691af2 -DIST samba-4.11.8.tar.gz 18571308 BLAKE2B 024920789ac8fcedfc79f4d094a47e4c1399a0bbc3ad79908f66b9bbabd765865795763c1017cc0caba18dbc11ce6a7e25231804d7dff11ab3d97a599ab8d9ed SHA512 a036c46e060d9edc11bf4e45e0449042fe44b74ff083d305779c68dad943f87fb6d2680f3a68e6bbcd0b19c8c397ec9fc5794229a311c25dad9efc366add613a +DIST samba-4.12.12.tar.gz 18252232 BLAKE2B 4e5fabdbbcbf1df5e4a8966fbd55923c7fe97c4449574f0c17864dd9376197539ea29f59e00fc4fbb58ce18d4c7fcd8ab24e8f892edc9b32c646215287fc4bb7 SHA512 45ebed4cc73990993e800605391715afa2aa044e92bf89a62eb3ccbff97be2c9c4bf4a1f840a5d5d1d0c02704435c074e4ae386ca1729066b706c236c898c08f +DIST samba-4.12.9.tar.gz 18236198 BLAKE2B e19cbbbb8416626ca2fe769bf26f3645e94f23781538b3c5e1f94ce618efb807d0732e5591525ec066a31cc0211463b9b66105d1d499989012d624edaa2a132c SHA512 8bd3122bcaab2f5a16a73902a9b628384063a8116a08f0254541e05c148016839b3215c60ff0d3291a332e7884708950ad64137204b0ac19801012d3b6684fa6 +DIST samba-4.13.5.tar.gz 18426722 BLAKE2B d84b71cd8a925270670b7d302b527ee116cecf9d603baf1fc69c8527c657d5e2430e1b51e951476525fd95dc3392e5642a829a646c0eb254ccd7530bd393f1a4 SHA512 4187337fecf60fa133c6e81e894634f36028d34ccc521e5e856a5736a4f58fc2ad2cd136a206d141f17f7bc519a6168a27e83705fb2d38559667a60b24ad1c1f +DIST samba-4.14.0.tar.gz 18635518 BLAKE2B ad1d091886b5da536a73bdbd4075f7ddc247e13a514e26c9bf993e8da5a3d737662ddd859c60d47a9a597e1326b96d7e8d083d5b15074f5875495cf68db58a24 SHA512 cf5767fc49b8c5832dd9711765e0b395a07964c3a618de10ae491123de7141eb4f083194b6120f302f5c4a196837a14070b8a8324412e8957af3706a5bbc6f11 -----BEGIN PGP SIGNATURE----- -iQKTBAEBCAB9FiEEOA+uIz0+s3MTYJHqpFO6gRhEr2EFAl7u72hfFIAAAAAALgAo -aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDM4 -MEZBRTIzM0QzRUIzNzMxMzYwOTFFQUE0NTNCQTgxMTg0NEFGNjEACgkQpFO6gRhE -r2FPzw//cIo8r9QWWD4xVicZUU/FoXw63ZaIPfYwBJKP+RL9XKHFE0rv7CVZXJLx -xH2hv4rfoMo11qzUrd3IYSh6xCV1568ikEDbWfwRqNEHlEBbmJ6xPuL9oCpl0TJM -RSwRQut/fCeRyYH+odnO3v3eKmGVEUayz3ijwHtmwSK6oOs2xdp1hp2hb754eA13 -UgEiC9kp1pYiUpyMuLQYxsGbSV63znb4HgrJG6Dr9MjfpGks6kUeETkmM6qjU4aD -Bqfeig2L3f6Flz1jnGBEkH/KcXMc6+2V8O9um+QMztR+UE/XlM8Saqg6WKGL71vA -xhrZY/E3OCe9wpzn7ndJhFiFzZAZz9giBA0NAvFUjZEW0IkBVTq5rL2Y5JDq9zL3 -IonRVy6jVAnHgAChvV7pohIb19x/1BIty+G9ecmMNb6k9vAOr1BRe/pqwLpxkw3P -EcaiihIPoFvgjqZj1B3x9vkLxJ0+xp62WIG2Tc+M6owHr58cg84C8FlCvIdyldsK -9xSRvOuH/f4Uf2/fG39dsOtBJciDWXCkkupDADGS3yYBH3WkBLvtsqC5cNdd5wqR -HGH0JKTutI8GpbfXcEKOAQn++CI3VZ3UEccDONb/HrY/TPNCMsxShF/sJG51SioB -yvbW6kpIfstTq6Gbsf7EigVDN/SJrB4PlB+QsxCOleb2ConHkTs= -=h02N +iQKTBAEBCAB9FiEEZdLCSnfk9z83VSkfsaMsEcx8U7oFAmBM8fJfFIAAAAAALgAo +aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDY1 +RDJDMjRBNzdFNEY3M0YzNzU1MjkxRkIxQTMyQzExQ0M3QzUzQkEACgkQsaMsEcx8 +U7ovtA//Q7n6hT6+s2KyenIutUiCeEDT2A8td+hCQZIyJWE36EVMH0xd3xZGvanc +Y97BezUjv8AzGfAos7PVa1HrO1b4LqbVu0+EnvKM32aLJys71Rz2M2gp9gPRAxop +9VdNplTiybau/RYjgRJi9aj7/0Co7/dludv2nccEIQItVzejVU+XBtAYfY7F7mry +F4WXghOIB8nsKfHgZb0EfsVX+8BzaSUCVVXTbpULHY4VT+gCUM7WjKHBNOgBkVv9 +9kNOhDuVj9LC3UoRXwNxYjozW2vNZma4G129QgviTUk+TbA6MeG3/H3nCLVAQfVW +LWbnwN5EznD48VSpfoLY7EbdvGOBvuXO4oVWIskLyvEwnICvJRWjSO4DaV+3tGby +ViJnKSrnBjTLJWeZGaDUJSlx6djDQopAGeudL4FShvdgQlv24Qem50LFqM6A1oUc +xUxoVThh0cOfsaMpJxW7AhCvzItslZ2Buf5elho1DyMLZEkeOY6nDqT1WaZqphp3 +QaF863c9K38ZIyx+dy9iRbIWAw0wYryLV8kRDjLfGKdsRD4drhitZqs48cN43vAP +MjGP8yLHW6C5x5dGowFtrLqfRoAjDb8nUjAeQA/carhwLf0iWROYFRQXqjauhtAR +VJEhtizHIhJoo8ZqPDonA8xuzwVM0l39lNBwu+jk8y3g89GpKDE= +=HnOu -----END PGP SIGNATURE----- diff --git a/net-fs/samba/files/4.4/samba4.initd-r1 b/net-fs/samba/files/4.4/samba4.initd-r1 index a914981..4798d43 100644 --- a/net-fs/samba/files/4.4/samba4.initd-r1 +++ b/net-fs/samba/files/4.4/samba4.initd-r1 @@ -1,5 +1,5 @@ #!/sbin/openrc-run -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License, v2 or later extra_started_commands="reload" @@ -7,7 +7,6 @@ extra_started_commands="reload" depend() { after slapd - need net use cupsd } diff --git a/net-fs/samba/files/samba-4.11.8-musl-fix-compar_fn_t.patch b/net-fs/samba/files/add_missing___compar_fn_t.patch similarity index 74% rename from net-fs/samba/files/samba-4.11.8-musl-fix-compar_fn_t.patch rename to net-fs/samba/files/add_missing___compar_fn_t.patch index 223bc64..96b65e6 100644 --- a/net-fs/samba/files/samba-4.11.8-musl-fix-compar_fn_t.patch +++ b/net-fs/samba/files/add_missing___compar_fn_t.patch @@ -1,5 +1,3 @@ -diff --git a/source4/dsdb/samdb/ldb_modules/count_attrs.c b/source4/dsdb/samdb/ldb_modules/count_attrs.c -index b0d1b22..2d53b53 100644 --- a/source4/dsdb/samdb/ldb_modules/count_attrs.c +++ b/source4/dsdb/samdb/ldb_modules/count_attrs.c @@ -38,6 +38,11 @@ diff --git a/net-fs/samba/files/fix-musl-lib-without-innetgr.patch b/net-fs/samba/files/fix-musl-lib-without-innetgr.patch new file mode 100644 index 0000000..fb12a10 --- /dev/null +++ b/net-fs/samba/files/fix-musl-lib-without-innetgr.patch @@ -0,0 +1,42 @@ +From fcb8ecd530b2d151e373974741601483326f7528 Mon Sep 17 00:00:00 2001 +From: Changqing Li <[email protected]> +Date: Thu, 27 Jun 2019 11:09:47 +0800 +Subject: [PATCH] samba: fix musl lib without innetgr + +Upstream-Status: Pending + +Signed-off-by: Changqing Li <[email protected]> +--- + lib/util/access.c | 2 +- + source3/auth/user_util.c | 2 +- + 2 file changed, 2 insertion(+), 2 deletion(-) + +diff --git a/lib/util/access.c b/lib/util/access.c +index 7da0573..b94949e 100644 +--- a/lib/util/access.c ++++ b/lib/util/access.c +@@ -112,7 +112,7 @@ static bool string_match(const char *tok,const char *s) + return true; + } + } else if (tok[0] == '@') { /* netgroup: look it up */ +-#ifdef HAVE_NETGROUP ++#if defined(HAVE_NETGROUP) && defined(HAVE_INNETGR) + DATA_BLOB tmp; + char *mydomain = NULL; + char *hostname = NULL; +diff --git a/source3/auth/user_util.c b/source3/auth/user_util.c +index a76b5d4..30f523d 100644 +--- a/source3/auth/user_util.c ++++ b/source3/auth/user_util.c +@@ -148,7 +148,7 @@ static void store_map_in_gencache(TALLOC_CTX *ctx, const char *from, const char + + bool user_in_netgroup(TALLOC_CTX *ctx, const char *user, const char *ngname) + { +-#ifdef HAVE_NETGROUP ++#if defined(HAVE_NETGROUP) && defined(HAVE_INNETGR) + static char *my_yp_domain = NULL; + char *lowercase_user = NULL; + +-- +2.7.4 + diff --git a/net-fs/samba/files/samba-4.3.9-remove-getpwent_r.patch b/net-fs/samba/files/getpwent_r.patch similarity index 83% rename from net-fs/samba/files/samba-4.3.9-remove-getpwent_r.patch rename to net-fs/samba/files/getpwent_r.patch index 99ebeda..0ba5fcc 100644 --- a/net-fs/samba/files/samba-4.3.9-remove-getpwent_r.patch +++ b/net-fs/samba/files/getpwent_r.patch @@ -18,7 +18,7 @@ index 2cd6122..04f13c6 100644 static bool test_enum_r_passwd(struct torture_context *tctx, struct passwd **pwd_array_p, size_t *num_pwd_p) -@@ -381,6 +381,7 @@ static bool test_enum_r_passwd(struct torture_context *tctx, +@@ -383,6 +383,7 @@ static bool test_enum_r_passwd(struct torture_context *tctx, return true; } @@ -26,7 +26,7 @@ index 2cd6122..04f13c6 100644 static bool torture_assert_passwd_equal(struct torture_context *tctx, const struct passwd *p1, -@@ -432,7 +433,7 @@ static bool test_passwd_r(struct torture_context *tctx) +@@ -434,7 +435,7 @@ static bool test_passwd_r(struct torture_context *tctx) struct passwd *pwd, pwd1, pwd2; size_t num_pwd; @@ -35,7 +35,7 @@ index 2cd6122..04f13c6 100644 "failed to enumerate passwd"); for (i=0; i < num_pwd; i++) { -@@ -460,7 +461,7 @@ static bool test_passwd_r_cross(struct torture_context *tctx) +@@ -462,7 +463,7 @@ static bool test_passwd_r_cross(struct torture_context *tctx) struct passwd *pwd, pwd1, pwd2, pwd3, pwd4; size_t num_pwd; @@ -44,7 +44,7 @@ index 2cd6122..04f13c6 100644 "failed to enumerate passwd"); for (i=0; i < num_pwd; i++) { -@@ -531,6 +532,7 @@ static bool test_enum_group(struct torture_context *tctx, +@@ -533,6 +534,7 @@ static bool test_enum_group(struct torture_context *tctx, return true; } @@ -52,7 +52,7 @@ index 2cd6122..04f13c6 100644 static bool test_enum_r_group(struct torture_context *tctx, struct group **grp_array_p, size_t *num_grp_p) -@@ -579,6 +581,7 @@ static bool test_enum_r_group(struct torture_context *tctx, +@@ -583,6 +585,7 @@ static bool test_enum_r_group(struct torture_context *tctx, return true; } @@ -60,7 +60,7 @@ index 2cd6122..04f13c6 100644 static bool torture_assert_group_equal(struct torture_context *tctx, const struct group *g1, -@@ -635,7 +638,7 @@ static bool test_group_r(struct torture_context *tctx) +@@ -639,7 +642,7 @@ static bool test_group_r(struct torture_context *tctx) struct group *grp, grp1, grp2; size_t num_grp; @@ -69,7 +69,7 @@ index 2cd6122..04f13c6 100644 "failed to enumerate group"); for (i=0; i < num_grp; i++) { -@@ -663,7 +666,7 @@ static bool test_group_r_cross(struct torture_context *tctx) +@@ -667,7 +670,7 @@ static bool test_group_r_cross(struct torture_context *tctx) struct group *grp, grp1, grp2, grp3, grp4; size_t num_grp; diff --git a/net-fs/samba/files/missing-headers.patch b/net-fs/samba/files/missing-headers.patch new file mode 100644 index 0000000..58c26ae --- /dev/null +++ b/net-fs/samba/files/missing-headers.patch @@ -0,0 +1,38 @@ +diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h +index b5d79b9..3f4eae0 100644 +--- a/lib/param/loadparm.h ++++ b/lib/param/loadparm.h +@@ -31,6 +31,7 @@ + #define _LOADPARM_H + + #include <talloc.h> ++#include <time.h> + + struct parmlist_entry { + struct parmlist_entry *prev, *next; +diff --git a/source3/lib/system_smbd.c b/source3/lib/system_smbd.c +index 3b1ac9c..4044d75 100644 +--- a/source3/lib/system_smbd.c ++++ b/source3/lib/system_smbd.c +@@ -27,6 +27,8 @@ + #include "system/passwd.h" + #include "nsswitch/winbind_client.h" + #include "../lib/util/setid.h" ++#include <grp.h> ++#include <uuid/uuid.h> + + #ifndef HAVE_GETGROUPLIST + +diff --git a/source4/torture/local/nss_tests.c b/source4/torture/local/nss_tests.c +index 2cd6122..0c84ec2 100644 +--- a/source4/torture/local/nss_tests.c ++++ b/source4/torture/local/nss_tests.c +@@ -20,6 +20,8 @@ + */ + + #include "includes.h" ++#include <grp.h> ++#include <uuid/uuid.h> + + #include "torture/torture.h" + #include "torture/local/proto.h" diff --git a/net-fs/samba/files/musl-disable-netgroup.patch b/net-fs/samba/files/musl-disable-netgroup.patch deleted file mode 100644 index 719a2e6..0000000 --- a/net-fs/samba/files/musl-disable-netgroup.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/source3/wscript b/source3/wscript -index bcdfc17..361ae23 100644 ---- a/source3/wscript -+++ b/source3/wscript -@@ -600,8 +600,8 @@ msg.msg_accrightslen = sizeof(fd); - headers='unistd.h sys/types.h dirent.h', - define='HAVE_DIRENT_D_OFF') - -- if (conf.CONFIG_SET('HAVE_YP_GET_DEFAULT_DOMAIN')): -- conf.DEFINE('HAVE_NETGROUP', '1') -+ #if (conf.CONFIG_SET('HAVE_YP_GET_DEFAULT_DOMAIN')): -+ # conf.DEFINE('HAVE_NETGROUP', '1') - - # Look for CUPS - if Options.options.with_cups: diff --git a/net-fs/samba/files/musl_rm_unistd_incl.patch b/net-fs/samba/files/musl_rm_unistd_incl.patch new file mode 100644 index 0000000..1f4aae2 --- /dev/null +++ b/net-fs/samba/files/musl_rm_unistd_incl.patch @@ -0,0 +1,37 @@ +--- a/lib/replace/replace.h ++++ b/lib/replace/replace.h +@@ -168,10 +168,6 @@ + #include <bsd/unistd.h> + #endif + +-#ifdef HAVE_UNISTD_H +-#include <unistd.h> +-#endif +- + #ifdef HAVE_STRING_H + #include <string.h> + #endif +--- a/lib/replace/system/network.h ++++ b/lib/replace/system/network.h +@@ -31,10 +31,6 @@ + #error "AC_LIBREPLACE_NETWORK_CHECKS missing in configure" + #endif + +-#ifdef HAVE_UNISTD_H +-#include <unistd.h> +-#endif +- + #ifdef HAVE_SYS_SOCKET_H + #include <sys/socket.h> + #endif +--- a/source3/rpc_server/mdssvc/mdssvc.c ++++ b/source3/rpc_server/mdssvc/mdssvc.c +@@ -18,6 +18,8 @@ + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + ++#include <unistd.h> ++ + #include "includes.h" + #include "librpc/gen_ndr/auth.h" + #include "dbwrap/dbwrap.h" diff --git a/net-fs/samba/files/musl_uintptr.patch b/net-fs/samba/files/musl_uintptr.patch new file mode 100644 index 0000000..de7f285 --- /dev/null +++ b/net-fs/samba/files/musl_uintptr.patch @@ -0,0 +1,35 @@ +commit f81e5b71ce78f33250347914dacc75c8463bf102 +Author: Breno Leitao <[email protected]> +Date: Wed Mar 29 15:22:38 2017 -0300 + + include: Check for previous declaration of uintptr_t + + Adding a extra check before declaring uintptr_t. Currently musl uses + macro __DEFINED_uintptr_t once it defines uintptr_t type. Checking + this macro before defining it, and, defining it when uintptr_t is + defined. + + Signed-off-by: Breno Leitao <[email protected]> + +diff --git a/third_party/cmocka/cmocka.h b/third_party/cmocka/cmocka.h +index 303d0ae..a2bfc40 100644 +--- a/third_party/cmocka/cmocka.h ++++ b/third_party/cmocka/cmocka.h +@@ -111,7 +111,7 @@ + ((LargestIntegralType)(value)) + + /* Smallest integral type capable of holding a pointer. */ +-#if !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED) ++#if !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED) && !defined(__DEFINED_uintptr_t) + # if defined(_WIN32) + /* WIN32 is an ILP32 platform */ + typedef unsigned int uintptr_t; +@@ -137,6 +137,8 @@ + + # define _UINTPTR_T + # define _UINTPTR_T_DEFINED ++# define __DEFINED_uintptr_t ++ + #endif /* !defined(_UINTPTR_T) || !defined(_UINTPTR_T_DEFINED) */ + + /* Perform an unsigned cast to uintptr_t. */ diff --git a/net-fs/samba/files/nmbd.service b/net-fs/samba/files/nmbd.service deleted file mode 100644 index 44b4ffb..0000000 --- a/net-fs/samba/files/nmbd.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=Samba NetBIOS name server -After=network.target - -[Service] -Type=forking -PIDFile=/var/run/samba/nmbd.pid -ExecStart=/usr/sbin/nmbd -D -ExecReload=/bin/kill -HUP $MAINPID - -[Install] -WantedBy=multi-user.target diff --git a/net-fs/samba/files/samba-4.10.0-disable_gnutls_build_fix.patch b/net-fs/samba/files/samba-4.10.0-disable_gnutls_build_fix.patch deleted file mode 100644 index 12b2df3..0000000 --- a/net-fs/samba/files/samba-4.10.0-disable_gnutls_build_fix.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 41eeabcb0175659aebf6d480c43fb64310f37d9c Mon Sep 17 00:00:00 2001 -From: Andrew Bartlett <[email protected]> -Date: Wed, 20 Mar 2019 13:57:50 +1300 -Subject: [PATCH] build: Allow build when --disable-gnutls is set - -BUG: https://bugzilla.samba.org/show_bug.cgi?id=13844 - -Signed-off-by: Andrew Bartlett <[email protected]> ---- - lib/mscat/wscript | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/lib/mscat/wscript b/lib/mscat/wscript -index 7ca9ef567ee..4d1f752a3c1 100644 ---- a/lib/mscat/wscript -+++ b/lib/mscat/wscript -@@ -12,7 +12,11 @@ def configure(conf): - if not conf.find_program('asn1Parser', var='ASN1PARSER'): - Logs.warn('WARNING: ans1Parser hasn\'t been found! Please install it (e.g. libtasn1-bin)') - -- conf.CHECK_FUNCS_IN('gnutls_pkcs7_get_embedded_data_oid', 'gnutls') -+ # GnuTLS is currently able to be disabled -+ if conf.env.enable_gnutls: -+ conf.CHECK_FUNCS_IN('gnutls_pkcs7_get_embedded_data_oid', 'gnutls') -+ else: -+ Logs.warn('WARNING: gnutls disabled so dumpmscat will not be built') - - def build(bld): - if (bld.CONFIG_SET('HAVE_LIBTASN1') and --- -2.11.0 - diff --git a/net-fs/samba/files/samba-4.13-vfs_snapper_configure_option.patch b/net-fs/samba/files/samba-4.13-vfs_snapper_configure_option.patch new file mode 100644 index 0000000..b472119 --- /dev/null +++ b/net-fs/samba/files/samba-4.13-vfs_snapper_configure_option.patch @@ -0,0 +1,56 @@ +From 7ae03a19b3ca895ba5f97a6bd4f9539d8daa6e0a Mon Sep 17 00:00:00 2001 +From: Matt Taylor <[email protected]> +Date: Mon, 11 May 2020 15:26:41 -0400 +Subject: [PATCH] build: add configure option to control vfs_snapper build + +vfs_snapper is currently built if dbus development headers / libraries +are detected during configure. This commit adds new --disable-snapper +and --enable-snapper (default) configure parameters. When enabled, +configure will fail if the dbus development headers / libraries are +missing. + +Signed-off-by: Matt Taylor <[email protected]> +Reviewed-by: David Disseldorp <[email protected]> +Reviewed-by: Andrew Bartlett <[email protected]> + +Autobuild-User(master): Andrew Bartlett <[email protected]> +Autobuild-Date(master): Mon May 25 01:16:46 UTC 2020 on sn-devel-184 +--- + source3/wscript | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +diff --git a/source3/wscript b/source3/wscript +index 07991806c63..24ade3b0a2b 100644 +--- a/source3/wscript ++++ b/source3/wscript +@@ -74,6 +74,7 @@ def options(opt): + + opt.samba_add_onoff_option('glusterfs', with_name="enable", without_name="disable", default=True) + opt.samba_add_onoff_option('cephfs', with_name="enable", without_name="disable", default=True) ++ opt.samba_add_onoff_option('snapper', with_name="enable", without_name="disable", default=True) + + opt.add_option('--enable-vxfs', + help=("enable support for VxFS (default=no)"), +@@ -1752,11 +1753,16 @@ main() { + if Options.options.enable_vxfs: + conf.DEFINE('HAVE_VXFS', '1') + +- if conf.CHECK_CFG(package='dbus-1', args='--cflags --libs', ++ if Options.options.with_snapper: ++ if conf.CHECK_CFG(package='dbus-1', args='--cflags --libs', + msg='Checking for dbus', uselib_store="DBUS-1"): +- if (conf.CHECK_HEADERS('dbus/dbus.h', lib='dbus-1') ++ if (conf.CHECK_HEADERS('dbus/dbus.h', lib='dbus-1') + and conf.CHECK_LIB('dbus-1', shlib=True)): +- conf.DEFINE('HAVE_DBUS', '1') ++ conf.DEFINE('HAVE_DBUS', '1') ++ else: ++ conf.fatal("vfs_snapper is enabled but prerequisite DBUS libraries " ++ "or headers not found. Use --disable-snapper to disable " ++ "vfs_snapper support."); + + if conf.CHECK_CFG(package='liburing', args='--cflags --libs', + msg='Checking for liburing package', uselib_store="URING"): +-- +2.26.2 + diff --git a/net-fs/samba/files/samba-4.13-winexe_option.patch b/net-fs/samba/files/samba-4.13-winexe_option.patch new file mode 100644 index 0000000..63f8a9e --- /dev/null +++ b/net-fs/samba/files/samba-4.13-winexe_option.patch @@ -0,0 +1,67 @@ +From 54c21a99e6ca54bdb963c70d322f6778b57a384f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?G=C3=BCnther=20Deschner?= <[email protected]> +Date: Wed, 4 Mar 2020 18:51:01 +0100 +Subject: [PATCH] winexe: add configure option to control whether to build it + (default: auto) + +Guenther + +Signed-off-by: Guenther Deschner <[email protected]> +Reviewed-by: Andreas Schneider <[email protected]> + +Autobuild-User(master): Andreas Schneider <[email protected]> +Autobuild-Date(master): Mon Mar 9 16:27:21 UTC 2020 on sn-devel-184 +--- + examples/winexe/wscript_build | 3 ++- + source3/wscript | 17 +++++++++++++++++ + 2 files changed, 19 insertions(+), 1 deletion(-) + +diff --git a/examples/winexe/wscript_build b/examples/winexe/wscript_build +index 43c09717e3d..559ed3fc706 100644 +--- a/examples/winexe/wscript_build ++++ b/examples/winexe/wscript_build +@@ -106,4 +106,5 @@ if winexesvc_binaries != '': + LOADPARM_CTX + libsmb + msrpc3 +- ''') ++ ''', ++ enabled=bld.env.build_winexe) +diff --git a/source3/wscript b/source3/wscript +index 85466b493fa..6d5bd22ca49 100644 +--- a/source3/wscript ++++ b/source3/wscript +@@ -63,6 +63,7 @@ def options(opt): + opt.samba_add_onoff_option('cluster-support', default=False) + + opt.samba_add_onoff_option('regedit', default=None) ++ opt.samba_add_onoff_option('winexe', default=None) + + opt.samba_add_onoff_option('fake-kaserver', + help=("Include AFS fake-kaserver support"), default=False) +@@ -1782,6 +1783,22 @@ main() { + if conf.CHECK_HEADERS('ftw.h') and conf.CHECK_FUNCS('nftw'): + conf.env.build_mvxattr = True + ++ conf.env.build_winexe = False ++ if not Options.options.with_winexe == False: ++ if conf.CONFIG_SET('HAVE_WINEXE_CC_WIN32') or conf.CONFIG_SET('HAVE_WINEXE_CC_WIN64'): ++ conf.env.build_winexe = True ++ ++ if conf.env.build_winexe: ++ Logs.info("building winexe") ++ else: ++ if Options.options.with_winexe == False: ++ Logs.info("not building winexe (--without-winexe)") ++ elif Options.options.with_winexe == True: ++ Logs.error("mingw not available, cannot build winexe") ++ conf.fatal("mingw not available, but --with-winexe was specified") ++ else: ++ Logs.info("mingw not available, not building winexe") ++ + conf.CHECK_FUNCS_IN('DES_pcbc_encrypt', 'crypto') + if Options.options.with_fake_kaserver == True: + conf.CHECK_HEADERS('afs/param.h afs/stds.h', together=True) +-- +2.26.2 + diff --git a/net-fs/samba/files/samba-4.5.1-compile_et_fix.patch b/net-fs/samba/files/samba-4.5.1-compile_et_fix.patch deleted file mode 100644 index 463512f..0000000 --- a/net-fs/samba/files/samba-4.5.1-compile_et_fix.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- samba-4.5.1/source4/heimdal_build/wscript_configure -+++ samba-4.5.1/source4/heimdal_build/wscript_configure -@@ -258,7 +258,11 @@ - - # With the proper checks in place we should be able to build against the system libtommath. - #if conf.CHECK_BUNDLED_SYSTEM('tommath', checkfunctions='mp_init', headers='tommath.h'): - # conf.define('USING_SYSTEM_TOMMATH', 1) - --check_system_heimdal_binary("compile_et") --check_system_heimdal_binary("asn1_compile") -+# comment out next line to stop Gentoo Samba build from using the compile_et in e2fsprogs-libs -+# to compile the error tables. This produces a compile error later on. -+#check_system_heimdal_binary("compile_et") -+# -+# As a precaution do the same for asn1_compile -+#check_system_heimdal_binary("asn1_compile") diff --git a/net-fs/samba/files/samba-4.8.6-no-pydsdb-when-no-addc.patch b/net-fs/samba/files/samba-4.8.6-no-pydsdb-when-no-addc.patch deleted file mode 100644 index 1093b1d..0000000 --- a/net-fs/samba/files/samba-4.8.6-no-pydsdb-when-no-addc.patch +++ /dev/null @@ -1,36 +0,0 @@ -Do not install the python DSDB modules when ADDC is disabled. -This is a change integrated upstream in 4.9.1 (or earlier). - -Without this, the python dsdb_dns.so module is installed, which -is linked to libdnsserver-common.so that is NOT installed, and so -potential breakage ensues. - ---- a/source4/dsdb/wscript_build 2018-01-17 03:08:39.000000000 -0500 -+++ b/source4/dsdb/wscript_build 2018-11-08 10:43:58.064486832 -0500 -@@ -63,10 +63,11 @@ - ) - - bld.SAMBA_PYTHON('python_dsdb', - source='pydsdb.c', - # the dependency on dcerpc here is because gensec - # depends on dcerpc but the waf circular dependency finder - # removes it so we end up with unresolved symbols. - deps='samdb pyldb-util dcerpc com_err pyrpc_util pyparam_util dsdb_garbage_collect_tombstones', -- realname='samba/dsdb.so' -+ realname='samba/dsdb.so', -+ enabled=bld.AD_DC_BUILD_IS_ENABLED() - ) ---- a/source4/dns_server/wscript_build 2018-11-08 11:49:03.450296286 -0500 -+++ b/source4/dns_server/wscript_build 2018-11-08 11:49:23.327864408 -0500 -@@ -64,9 +64,10 @@ - private_library=True, - deps='samba-hostconfig samdb-common gensec popt dnsserver_common', - enabled=bld.AD_DC_BUILD_IS_ENABLED()) - - - bld.SAMBA_PYTHON('python_dsdb_dns', - source='pydns.c', - deps='samdb pyldb-util pyrpc_util dnsserver_common pytalloc-util', -- realname='samba/dsdb_dns.so') -+ realname='samba/dsdb_dns.so', -+ enabled=bld.AD_DC_BUILD_IS_ENABLED()) diff --git a/net-fs/samba/files/samba-glibc-2.26-no_rpc.patch b/net-fs/samba/files/samba-glibc-2.26-no_rpc.patch deleted file mode 100644 index e664468..0000000 --- a/net-fs/samba/files/samba-glibc-2.26-no_rpc.patch +++ /dev/null @@ -1,14 +0,0 @@ -https://attachments.samba.org/attachment.cgi?id=13172 -https://bugs.gentoo.org/637320 - ---- a/lib/replace/wscript -+++ b/lib/replace/wscript -@@ -71,7 +71,7 @@ - conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h') - conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h') - -- conf.CHECK_CODE('', headers='rpc/rpc.h rpcsvc/yp_prot.h', define='HAVE_RPCSVC_YP_PROT_H') -+ conf.CHECK_CODE('ypstat s;', headers='rpc/rpc.h rpcsvc/yp_prot.h', define='HAVE_RPCSVC_YP_PROT_H') - - conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h') - conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h') diff --git a/net-fs/samba/files/samba.conf b/net-fs/samba/files/samba.conf index e0a6f32..a7f4946 100644 --- a/net-fs/samba/files/samba.conf +++ b/net-fs/samba/files/samba.conf @@ -1,2 +1,3 @@ D /run/samba 0755 root root +D /run/ctdb 0755 root root D /run/lock/samba 0755 root root diff --git a/net-fs/samba/files/samba.service b/net-fs/samba/files/samba.service deleted file mode 100644 index 8214ff8..0000000 --- a/net-fs/samba/files/samba.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Samba AD server -After=network.target winbindd.service -Conflicts=nmbd.service smbd.service - -[Service] -ExecStart=/usr/sbin/samba --interactive - -[Install] -WantedBy=multi-user.target diff --git a/net-fs/samba/files/smbd.service b/net-fs/samba/files/smbd.service deleted file mode 100644 index 5c006a4..0000000 --- a/net-fs/samba/files/smbd.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=Samba SMB/CIFS server -After=network.target nmbd.service winbindd.service - -[Service] -Type=forking -PIDFile=/var/run/samba/smbd.pid -ExecStart=/usr/sbin/smbd -D -ExecReload=/bin/kill -HUP $MAINPID - -[Install] -WantedBy=multi-user.target diff --git a/net-fs/samba/files/smbd.socket b/net-fs/samba/files/smbd.socket deleted file mode 100644 index 833bf43..0000000 --- a/net-fs/samba/files/smbd.socket +++ /dev/null @@ -1,9 +0,0 @@ -[Unit] -Description=Samba SMB/CIFS server socket - -[Socket] -ListenStream=445 -Accept=yes - -[Install] -WantedBy=sockets.target diff --git a/net-fs/samba/files/smbd_at.service b/net-fs/samba/files/smbd_at.service deleted file mode 100644 index e1f71be..0000000 --- a/net-fs/samba/files/smbd_at.service +++ /dev/null @@ -1,7 +0,0 @@ -[Unit] -Description=Samba SMB/CIFS server instance - -[Service] -ExecStart=/usr/sbin/smbd -F -ExecReload=/bin/kill -HUP $MAINPID -StandardInput=socket diff --git a/net-fs/samba/files/winbindd.service b/net-fs/samba/files/winbindd.service deleted file mode 100644 index 67a778f..0000000 --- a/net-fs/samba/files/winbindd.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=Samba Winbind daemon -After=network.target nmbd.service - -[Service] -Type=forking -PIDFile=/var/run/samba/winbindd.pid -ExecStart=/usr/sbin/winbindd -D -ExecReload=/bin/kill -HUP $MAINPID - -[Install] -WantedBy=multi-user.target diff --git a/net-fs/samba/metadata.xml b/net-fs/samba/metadata.xml index fb277df..e871aa5 100644 --- a/net-fs/samba/metadata.xml +++ b/net-fs/samba/metadata.xml @@ -16,11 +16,16 @@ <flag name="client">Enables the client part</flag> <flag name="cluster">Enable support for clustering</flag> <flag name="dmapi">Enable support for DMAPI. This currently works only in combination with XFS.</flag> + <flag name="glusterfs">Enable support for Glusterfs filesystem via <pkg>sys-cluster/glusterfs</pkg></flag> <flag name="gpg">Use <pkg>app-crypt/gpgme</pkg> for AD DC</flag> <flag name="json">Enable json audit support through <pkg>dev-libs/jansson</pkg></flag> <flag name="iprint">Enabling iPrint technology by Novell</flag> + <flag name="ntvfs">Enable support for NTVFS fileserver</flag> <flag name="profiling-data">Enables support for collecting profiling data</flag> <flag name="quota">Enables support for user quotas</flag> + <flag name="regedit">Enable support for regedit command-line tool</flag> + <flag name="snapper">Enable vfs_snapper module (requires <pkg>sys-apps/dbus</pkg>)</flag> + <flag name="spotlight">Enable support for spotlight backend</flag> <flag name="system-heimdal">Use <pkg>app-crypt/heimdal</pkg> instead of bundled heimdal.</flag> <flag name="system-mitkrb5">Use <pkg>app-crypt/mit-krb5</pkg> instead of diff --git a/net-fs/samba/samba-4.11.6-r2.ebuild b/net-fs/samba/samba-4.12.12.ebuild similarity index 79% rename from net-fs/samba/samba-4.11.6-r2.ebuild rename to net-fs/samba/samba-4.12.12.ebuild index 2e88912..43e2eab 100644 --- a/net-fs/samba/samba-4.11.6-r2.ebuild +++ b/net-fs/samba/samba-4.12.12.ebuild @@ -1,11 +1,11 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 PYTHON_COMPAT=( python3_{7,8} ) PYTHON_REQ_USE='threads(+),xml(+)' -inherit python-single-r1 waf-utils multilib-minimal linux-info systemd pam +inherit python-single-r1 waf-utils multilib-minimal linux-info systemd pam tmpfiles MY_PV="${PV/_rc/rc}" MY_P="${PN}-${MY_PV}" @@ -15,7 +15,7 @@ SRC_PATH="stable" SRC_URI="mirror://samba/${SRC_PATH}/${MY_P}.tar.gz" [[ ${PV} = *_rc* ]] || \ -KEYWORDS="amd64 arm arm64 ppc ppc64 x86" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86" DESCRIPTION="Samba Suite Version 4" HOMEPAGE="https://www.samba.org/" @@ -23,9 +23,10 @@ LICENSE="GPL-3" SLOT="0" -IUSE="acl addc addns ads ceph client cluster cups debug dmapi fam gpg iprint -json ldap pam profiling-data python quota selinux syslog system-heimdal -+system-mitkrb5 systemd test winbind zeroconf" +IUSE="acl addc addns ads ceph client cluster cups debug dmapi fam glusterfs +gpg iprint json ldap ntvfs pam profiling-data python quota +regedit selinux +snapper spotlight syslog system-heimdal +system-mitkrb5 systemd test winbind +zeroconf" MULTILIB_WRAPPED_HEADERS=( /usr/include/samba-4.0/policy.h @@ -38,27 +39,26 @@ MULTILIB_WRAPPED_HEADERS=( /usr/include/samba-4.0/ctdb_version.h ) -# sys-apps/attr is an automagic dependency (see bug #489748) CDEPEND=" >=app-arch/libarchive-3.1.2[${MULTILIB_USEDEP}] dev-lang/perl:= - dev-libs/libaio[${MULTILIB_USEDEP}] + dev-libs/icu:=[${MULTILIB_USEDEP}] dev-libs/libbsd[${MULTILIB_USEDEP}] - dev-libs/libgcrypt:0 - dev-libs/iniparser:0 + dev-libs/libtasn1[${MULTILIB_USEDEP}] dev-libs/popt[${MULTILIB_USEDEP}] - >=dev-util/cmocka-1.1.1[${MULTILIB_USEDEP}] - >=net-libs/gnutls-3.2.0 + dev-perl/Parse-Yapp + >=net-libs/gnutls-3.4.7[${MULTILIB_USEDEP}] net-libs/libnsl:=[${MULTILIB_USEDEP}] - sys-apps/attr[${MULTILIB_USEDEP}] - >=sys-libs/ldb-2.0.8[ldap(+)?,python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}] - <sys-libs/ldb-2.1.0[ldap(+)?,python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}] - sys-libs/libcap - sys-libs/ncurses:0=[${MULTILIB_USEDEP}] + sys-libs/e2fsprogs-libs[${MULTILIB_USEDEP}] + >=sys-libs/ldb-2.1.4[ldap(+)?,python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}] + <sys-libs/ldb-2.2.0[ldap(+)?,python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}] + sys-libs/libcap[${MULTILIB_USEDEP}] + sys-libs/liburing:=[${MULTILIB_USEDEP}] + sys-libs/ncurses:0= sys-libs/readline:0= - >=sys-libs/talloc-2.2.0[python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}] - >=sys-libs/tdb-1.4.2[python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}] - >=sys-libs/tevent-0.10.0[python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}] + >=sys-libs/talloc-2.3.1[python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}] + >=sys-libs/tdb-1.4.3[python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}] + >=sys-libs/tevent-0.10.2[python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}] sys-libs/zlib[${MULTILIB_USEDEP}] virtual/libiconv pam? ( sys-libs/pam ) @@ -82,21 +82,22 @@ CDEPEND=" gpg? ( app-crypt/gpgme ) json? ( dev-libs/jansson ) ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] ) + snapper? ( sys-apps/dbus ) system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl,${MULTILIB_USEDEP}] ) system-mitkrb5? ( >=app-crypt/mit-krb5-1.15.1[${MULTILIB_USEDEP}] ) systemd? ( sys-apps/systemd:0= ) - zeroconf? ( net-dns/avahi ) + zeroconf? ( net-dns/avahi[dbus] ) " DEPEND="${CDEPEND} ${PYTHON_DEPS} - app-text/docbook-xsl-stylesheets - dev-libs/libxslt + >=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}] net-libs/libtirpc[${MULTILIB_USEDEP}] virtual/pkgconfig || ( net-libs/rpcsvc-proto <sys-libs/glibc-2.26[rpc(+)] ) + spotlight? ( dev-libs/glib ) test? ( !system-mitkrb5? ( >=sys-libs/nss_wrapper-1.1.3 @@ -109,7 +110,11 @@ RDEPEND="${CDEPEND} python? ( ${PYTHON_DEPS} ) client? ( net-fs/cifs-utils[ads?] ) selinux? ( sec-policy/selinux-samba ) - !dev-perl/Parse-Yapp +" + +BDEPEND=" + app-text/docbook-xsl-stylesheets + dev-libs/libxslt " REQUIRED_USE=" @@ -118,6 +123,8 @@ REQUIRED_USE=" ads? ( acl ldap winbind ) cluster? ( ads ) gpg? ( addc ) + ntvfs? ( addc ) + spotlight? ( json ) test? ( python ) ?? ( system-heimdal system-mitkrb5 ) ${PYTHON_REQUIRED_USE} @@ -134,6 +141,7 @@ S="${WORKDIR}/${MY_P}" PATCHES=( "${FILESDIR}/${PN}-4.4.0-pam.patch" "${FILESDIR}/${PN}-4.9.2-timespec.patch" + "${FILESDIR}/${PN}-4.13-vfs_snapper_configure_option.patch" ) #CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)" @@ -144,6 +152,9 @@ WAF_BINARY="${S}/buildtools/bin/waf" SHAREDMODS="" pkg_setup() { + # Package fails to build with distcc + export DISTCC_DISABLE=1 + python-single-r1_pkg_setup if use cluster ; then SHAREDMODS="idmap_rid,idmap_tdb2,idmap_ad" @@ -154,7 +165,6 @@ pkg_setup() { src_prepare() { default - use elibc_musl && eapply "${FILESDIR}/musl-disable-netgroup.patch" # un-bundle dnspython sed -i -e '/"dns.resolver":/d' "${S}"/third_party/wscript || die @@ -164,13 +174,23 @@ src_prepare() { 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 + ## 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 + if use elibc_musl ; then + eapply "${FILESDIR}"/add_missing___compar_fn_t.patch + eapply "${FILESDIR}"/fix-musl-lib-without-innetgr.patch + eapply "${FILESDIR}"/getpwent_r.patch + eapply "${FILESDIR}"/missing-headers.patch + eapply "${FILESDIR}"/musl_rm_unistd_incl.patch + eapply "${FILESDIR}"/musl_uintptr.patch + eapply "${FILESDIR}"/netdb-defines.patch + fi + # Friggin' WAF shit multilib_copy_sources } @@ -195,6 +215,7 @@ multilib_src_configure() { --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 addns dnsupdate) @@ -204,12 +225,17 @@ multilib_src_configure() { $(multilib_native_use_enable cups) $(multilib_native_use_with 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 ntvfs ntvfs-fileserver) $(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 snapper) + $(multilib_native_use_enable spotlight) $(multilib_native_use_with syslog) $(multilib_native_use_with systemd) --systemd-install-services @@ -271,7 +297,7 @@ multilib_src_install() { newinitd "${CONFDIR}/samba4.initd-r1" samba newconfd "${CONFDIR}/samba4.confd" samba - systemd_dotmpfilesd "${FILESDIR}"/samba.conf + dotmpfiles "${FILESDIR}"/samba.conf use addc || rm "${D}/$(systemd_get_systemunitdir)/samba.service" || die # Preserve functionality for old gentoo-specific unit names @@ -290,15 +316,10 @@ multilib_src_install() { keepdir /var/cache/samba keepdir /var/lib/ctdb keepdir /var/lib/samba/{bind-dns,private} + keepdir /var/lock/samba keepdir /var/log/samba } -multilib_src_install_all() { - # Attempt to fix bug #673168 - find "${ED}" -type d -name "Yapp" -print0 \ - | xargs -0 --no-run-if-empty rm -r || die -} - multilib_src_test() { if multilib_is_native_abi ; then "${WAF_BINARY}" test || die "test failed" diff --git a/net-fs/samba/samba-4.11.8.ebuild b/net-fs/samba/samba-4.12.9-r1.ebuild similarity index 81% copy from net-fs/samba/samba-4.11.8.ebuild copy to net-fs/samba/samba-4.12.9-r1.ebuild index 1f517b0..a1377ff 100644 --- a/net-fs/samba/samba-4.11.8.ebuild +++ b/net-fs/samba/samba-4.12.9-r1.ebuild @@ -1,11 +1,11 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 PYTHON_COMPAT=( python3_{7,8} ) PYTHON_REQ_USE='threads(+),xml(+)' -inherit python-single-r1 waf-utils multilib-minimal linux-info systemd pam +inherit python-single-r1 waf-utils multilib-minimal linux-info systemd pam tmpfiles MY_PV="${PV/_rc/rc}" MY_P="${PN}-${MY_PV}" @@ -15,7 +15,7 @@ SRC_PATH="stable" SRC_URI="mirror://samba/${SRC_PATH}/${MY_P}.tar.gz" [[ ${PV} = *_rc* ]] || \ -KEYWORDS="amd64 arm arm64 ppc ppc64 x86" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86" DESCRIPTION="Samba Suite Version 4" HOMEPAGE="https://www.samba.org/" @@ -23,9 +23,10 @@ LICENSE="GPL-3" SLOT="0" -IUSE="acl addc addns ads ceph client cluster cups debug dmapi fam gpg iprint -json ldap pam profiling-data python quota selinux syslog system-heimdal -+system-mitkrb5 systemd test winbind zeroconf" +IUSE="acl addc addns ads ceph client cluster cups debug dmapi fam glusterfs +gpg iprint json ldap ntvfs pam profiling-data python quota +regedit selinux +snapper spotlight syslog system-heimdal +system-mitkrb5 systemd test winbind +zeroconf" MULTILIB_WRAPPED_HEADERS=( /usr/include/samba-4.0/policy.h @@ -41,21 +42,23 @@ MULTILIB_WRAPPED_HEADERS=( CDEPEND=" >=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}] - >=net-libs/gnutls-3.2.0[${MULTILIB_USEDEP}] + dev-perl/Parse-Yapp + >=net-libs/gnutls-3.4.7[${MULTILIB_USEDEP}] net-libs/libnsl:=[${MULTILIB_USEDEP}] - sys-apps/dbus[${MULTILIB_USEDEP}] sys-libs/e2fsprogs-libs[${MULTILIB_USEDEP}] - >=sys-libs/ldb-2.0.10[ldap(+)?,python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}] - <sys-libs/ldb-2.1.0[ldap(+)?,python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}] - sys-libs/libcap + >=sys-libs/ldb-2.1.4[ldap(+)?,python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}] + <sys-libs/ldb-2.2.0[ldap(+)?,python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}] + sys-libs/libcap[${MULTILIB_USEDEP}] + sys-libs/liburing:=[${MULTILIB_USEDEP}] sys-libs/ncurses:0= sys-libs/readline:0= - >=sys-libs/talloc-2.2.0[python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}] - >=sys-libs/tdb-1.4.2[python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}] - >=sys-libs/tevent-0.10.0[python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}] + >=sys-libs/talloc-2.3.1[python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}] + >=sys-libs/tdb-1.4.3[python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}] + >=sys-libs/tevent-0.10.2[python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}] sys-libs/zlib[${MULTILIB_USEDEP}] virtual/libiconv pam? ( sys-libs/pam ) @@ -79,22 +82,22 @@ CDEPEND=" gpg? ( app-crypt/gpgme ) json? ( dev-libs/jansson ) ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] ) + snapper? ( sys-apps/dbus ) system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl,${MULTILIB_USEDEP}] ) system-mitkrb5? ( >=app-crypt/mit-krb5-1.15.1[${MULTILIB_USEDEP}] ) systemd? ( sys-apps/systemd:0= ) - zeroconf? ( net-dns/avahi ) + zeroconf? ( net-dns/avahi[dbus] ) " DEPEND="${CDEPEND} ${PYTHON_DEPS} - app-text/docbook-xsl-stylesheets - dev-libs/libxslt - >=dev-util/cmocka-1.1.1[${MULTILIB_USEDEP}] + >=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}] net-libs/libtirpc[${MULTILIB_USEDEP}] virtual/pkgconfig || ( net-libs/rpcsvc-proto <sys-libs/glibc-2.26[rpc(+)] ) + spotlight? ( dev-libs/glib ) test? ( !system-mitkrb5? ( >=sys-libs/nss_wrapper-1.1.3 @@ -107,7 +110,11 @@ RDEPEND="${CDEPEND} python? ( ${PYTHON_DEPS} ) client? ( net-fs/cifs-utils[ads?] ) selinux? ( sec-policy/selinux-samba ) - !dev-perl/Parse-Yapp +" + +BDEPEND=" + app-text/docbook-xsl-stylesheets + dev-libs/libxslt " REQUIRED_USE=" @@ -116,6 +123,8 @@ REQUIRED_USE=" ads? ( acl ldap winbind ) cluster? ( ads ) gpg? ( addc ) + ntvfs? ( addc ) + spotlight? ( json ) test? ( python ) ?? ( system-heimdal system-mitkrb5 ) ${PYTHON_REQUIRED_USE} @@ -132,6 +141,8 @@ S="${WORKDIR}/${MY_P}" PATCHES=( "${FILESDIR}/${PN}-4.4.0-pam.patch" "${FILESDIR}/${PN}-4.9.2-timespec.patch" + "${FILESDIR}/${PN}-4.13-winexe_option.patch" + "${FILESDIR}/${PN}-4.13-vfs_snapper_configure_option.patch" ) #CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)" @@ -142,6 +153,9 @@ WAF_BINARY="${S}/buildtools/bin/waf" SHAREDMODS="" pkg_setup() { + # Package fails to build with distcc + export DISTCC_DISABLE=1 + python-single-r1_pkg_setup if use cluster ; then SHAREDMODS="idmap_rid,idmap_tdb2,idmap_ad" @@ -152,11 +166,6 @@ pkg_setup() { src_prepare() { default - if use elibc_musl; then - eapply "${FILESDIR}/musl-disable-netgroup.patch" - eapply "${FILESDIR}/netdb-defines.patch" - eapply "${FILESDIR}/${PN}-4.11.8-musl-fix-compar_fn_t.patch" - fi # un-bundle dnspython sed -i -e '/"dns.resolver":/d' "${S}"/third_party/wscript || die @@ -173,6 +182,16 @@ src_prepare() { -i source4/dsdb/samdb/ldb_modules/password_hash.c \ || die + if use elibc_musl ; then + eapply "${FILESDIR}"/add_missing___compar_fn_t.patch + eapply "${FILESDIR}"/fix-musl-lib-without-innetgr.patch + eapply "${FILESDIR}"/getpwent_r.patch + eapply "${FILESDIR}"/missing-headers.patch + eapply "${FILESDIR}"/musl_rm_unistd_incl.patch + eapply "${FILESDIR}"/musl_uintptr.patch + eapply "${FILESDIR}"/netdb-defines.patch + fi + # Friggin' WAF shit multilib_copy_sources } @@ -197,6 +216,7 @@ multilib_src_configure() { --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 addns dnsupdate) @@ -206,12 +226,17 @@ multilib_src_configure() { $(multilib_native_use_enable cups) $(multilib_native_use_with 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 ntvfs ntvfs-fileserver) $(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 snapper) + $(multilib_native_use_enable spotlight) $(multilib_native_use_with syslog) $(multilib_native_use_with systemd) --systemd-install-services @@ -273,7 +298,7 @@ multilib_src_install() { newinitd "${CONFDIR}/samba4.initd-r1" samba newconfd "${CONFDIR}/samba4.confd" samba - systemd_dotmpfilesd "${FILESDIR}"/samba.conf + dotmpfiles "${FILESDIR}"/samba.conf use addc || rm "${D}/$(systemd_get_systemunitdir)/samba.service" || die # Preserve functionality for old gentoo-specific unit names @@ -292,15 +317,10 @@ multilib_src_install() { keepdir /var/cache/samba keepdir /var/lib/ctdb keepdir /var/lib/samba/{bind-dns,private} + keepdir /var/lock/samba keepdir /var/log/samba } -multilib_src_install_all() { - # Attempt to fix bug #673168 - find "${ED}" -type d -name "Yapp" -print0 \ - | xargs -0 --no-run-if-empty rm -r || die -} - multilib_src_test() { if multilib_is_native_abi ; then "${WAF_BINARY}" test || die "test failed" diff --git a/net-fs/samba/samba-4.11.8.ebuild b/net-fs/samba/samba-4.13.5.ebuild similarity index 71% copy from net-fs/samba/samba-4.11.8.ebuild copy to net-fs/samba/samba-4.13.5.ebuild index 1f517b0..c1ba9da 100644 --- a/net-fs/samba/samba-4.11.8.ebuild +++ b/net-fs/samba/samba-4.13.5.ebuild @@ -1,31 +1,50 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 -PYTHON_COMPAT=( python3_{7,8} ) -PYTHON_REQ_USE='threads(+),xml(+)' -inherit python-single-r1 waf-utils multilib-minimal linux-info systemd pam +PYTHON_COMPAT=( python3_{7..9} ) +PYTHON_REQ_USE="threads(+),xml(+)" +inherit python-single-r1 waf-utils multilib-minimal linux-info systemd pam tmpfiles + +DESCRIPTION="Samba Suite Version 4" +HOMEPAGE="https://samba.org/" MY_PV="${PV/_rc/rc}" MY_P="${PN}-${MY_PV}" +if [[ ${PV} = *_rc* ]]; then + SRC_URI="mirror://samba/rc/${MY_P}.tar.gz" +else + SRC_URI="mirror://samba/stable/${MY_P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86" +fi +S="${WORKDIR}/${MY_P}" -SRC_PATH="stable" -[[ ${PV} = *_rc* ]] && SRC_PATH="rc" - -SRC_URI="mirror://samba/${SRC_PATH}/${MY_P}.tar.gz" -[[ ${PV} = *_rc* ]] || \ -KEYWORDS="amd64 arm arm64 ppc ppc64 x86" - -DESCRIPTION="Samba Suite Version 4" -HOMEPAGE="https://www.samba.org/" LICENSE="GPL-3" - SLOT="0" +IUSE="acl addc addns ads ceph client cluster cups debug dmapi fam glusterfs +gpg iprint json ldap ntvfs pam profiling-data python quota +regedit selinux +snapper spotlight syslog system-heimdal +system-mitkrb5 systemd test winbind +zeroconf" + +REQUIRED_USE="${PYTHON_REQUIRED_USE} + addc? ( python json winbind ) + addns? ( python ) + ads? ( acl ldap winbind ) + cluster? ( ads ) + gpg? ( addc ) + ntvfs? ( addc ) + spotlight? ( json ) + test? ( python ) + !ads? ( !addc ) + ?? ( system-heimdal system-mitkrb5 ) +" -IUSE="acl addc addns ads ceph client cluster cups debug dmapi fam gpg iprint -json ldap pam profiling-data python quota selinux syslog system-heimdal -+system-mitkrb5 systemd test winbind zeroconf" +# the test suite is messed, it uses system-installed samba +# bits instead of what was built, tests things disabled via use +# flags, and generally just fails to work in a way ebuilds could +# rely on in its current state +RESTRICT="test" MULTILIB_WRAPPED_HEADERS=( /usr/include/samba-4.0/policy.h @@ -38,40 +57,38 @@ MULTILIB_WRAPPED_HEADERS=( /usr/include/samba-4.0/ctdb_version.h ) -CDEPEND=" +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}] - >=net-libs/gnutls-3.2.0[${MULTILIB_USEDEP}] + dev-perl/Parse-Yapp + >=net-libs/gnutls-3.4.7[${MULTILIB_USEDEP}] net-libs/libnsl:=[${MULTILIB_USEDEP}] - sys-apps/dbus[${MULTILIB_USEDEP}] sys-libs/e2fsprogs-libs[${MULTILIB_USEDEP}] - >=sys-libs/ldb-2.0.10[ldap(+)?,python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}] - <sys-libs/ldb-2.1.0[ldap(+)?,python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}] - sys-libs/libcap + >=sys-libs/ldb-2.2.0[ldap(+)?,${MULTILIB_USEDEP}] + <sys-libs/ldb-2.3.0[ldap(+)?,${MULTILIB_USEDEP}] + sys-libs/libcap[${MULTILIB_USEDEP}] + sys-libs/liburing:=[${MULTILIB_USEDEP}] sys-libs/ncurses:0= sys-libs/readline:0= - >=sys-libs/talloc-2.2.0[python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}] - >=sys-libs/tdb-1.4.2[python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}] - >=sys-libs/tevent-0.10.0[python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}] + >=sys-libs/talloc-2.3.1[${MULTILIB_USEDEP}] + >=sys-libs/tdb-1.4.3[${MULTILIB_USEDEP}] + >=sys-libs/tevent-0.10.2[${MULTILIB_USEDEP}] sys-libs/zlib[${MULTILIB_USEDEP}] virtual/libiconv - pam? ( sys-libs/pam ) acl? ( virtual/acl ) $(python_gen_cond_dep " dev-python/subunit[\${PYTHON_MULTI_USEDEP},${MULTILIB_USEDEP}] addns? ( - net-dns/bind-tools[gssapi] dev-python/dnspython:=[\${PYTHON_MULTI_USEDEP}] + net-dns/bind-tools[gssapi] ) ") ceph? ( sys-cluster/ceph ) - cluster? ( - net-libs/rpcsvc-proto - !dev-db/ctdb - ) + cluster? ( net-libs/rpcsvc-proto ) cups? ( net-print/cups ) debug? ( dev-util/lttng-ust ) dmapi? ( sys-apps/dmapi ) @@ -79,59 +96,48 @@ CDEPEND=" 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.15.1[${MULTILIB_USEDEP}] ) systemd? ( sys-apps/systemd:0= ) - zeroconf? ( net-dns/avahi ) + zeroconf? ( net-dns/avahi[dbus] ) " -DEPEND="${CDEPEND} - ${PYTHON_DEPS} - app-text/docbook-xsl-stylesheets - dev-libs/libxslt - >=dev-util/cmocka-1.1.1[${MULTILIB_USEDEP}] +DEPEND="${COMMON_DEPEND} + >=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}] net-libs/libtirpc[${MULTILIB_USEDEP}] - virtual/pkgconfig || ( net-libs/rpcsvc-proto <sys-libs/glibc-2.26[rpc(+)] ) + spotlight? ( dev-libs/glib ) test? ( !system-mitkrb5? ( - >=sys-libs/nss_wrapper-1.1.3 >=net-dns/resolv_wrapper-1.1.4 >=net-libs/socket_wrapper-1.1.9 + >=sys-libs/nss_wrapper-1.1.3 >=sys-libs/uid_wrapper-1.2.1 ) )" -RDEPEND="${CDEPEND} - python? ( ${PYTHON_DEPS} ) +RDEPEND="${COMMON_DEPEND} client? ( net-fs/cifs-utils[ads?] ) + python? ( ${PYTHON_DEPS} ) selinux? ( sec-policy/selinux-samba ) - !dev-perl/Parse-Yapp " - -REQUIRED_USE=" - addc? ( python json winbind ) - addns? ( python ) - ads? ( acl ldap winbind ) - cluster? ( ads ) - gpg? ( addc ) - test? ( python ) - ?? ( system-heimdal system-mitkrb5 ) - ${PYTHON_REQUIRED_USE} +BDEPEND="${PYTHON_DEPS} + app-text/docbook-xsl-stylesheets + dev-libs/libxslt + virtual/pkgconfig " -# the test suite is messed, it uses system-installed samba -# bits instead of what was built, tests things disabled via use -# flags, and generally just fails to work in a way ebuilds could -# rely on in its current state -RESTRICT="test" - -S="${WORKDIR}/${MY_P}" - PATCHES=( "${FILESDIR}/${PN}-4.4.0-pam.patch" - "${FILESDIR}/${PN}-4.9.2-timespec.patch" ) #CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)" @@ -142,21 +148,21 @@ WAF_BINARY="${S}/buildtools/bin/waf" SHAREDMODS="" pkg_setup() { + # Package fails to build with distcc + export DISTCC_DISABLE=1 + python-single-r1_pkg_setup + + SHAREDMODS="$(usex snapper '' '!')vfs_snapper" if use cluster ; then - SHAREDMODS="idmap_rid,idmap_tdb2,idmap_ad" + SHAREDMODS+=",idmap_rid,idmap_tdb2,idmap_ad" elif use ads ; then - SHAREDMODS="idmap_ad" + SHAREDMODS+=",idmap_ad" fi } src_prepare() { default - if use elibc_musl; then - eapply "${FILESDIR}/musl-disable-netgroup.patch" - eapply "${FILESDIR}/netdb-defines.patch" - eapply "${FILESDIR}/${PN}-4.11.8-musl-fix-compar_fn_t.patch" - fi # un-bundle dnspython sed -i -e '/"dns.resolver":/d' "${S}"/third_party/wscript || die @@ -173,6 +179,16 @@ src_prepare() { -i source4/dsdb/samdb/ldb_modules/password_hash.c \ || die + if use elibc_musl ; then + eapply "${FILESDIR}"/add_missing___compar_fn_t.patch + eapply "${FILESDIR}"/fix-musl-lib-without-innetgr.patch + eapply "${FILESDIR}"/getpwent_r.patch + eapply "${FILESDIR}"/missing-headers.patch + eapply "${FILESDIR}"/musl_rm_unistd_incl.patch + eapply "${FILESDIR}"/musl_uintptr.patch + eapply "${FILESDIR}"/netdb-defines.patch + fi + # Friggin' WAF shit multilib_copy_sources } @@ -197,6 +213,7 @@ multilib_src_configure() { --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 addns dnsupdate) @@ -206,12 +223,16 @@ multilib_src_configure() { $(multilib_native_use_enable cups) $(multilib_native_use_with 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 ntvfs ntvfs-fileserver) $(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 @@ -228,7 +249,11 @@ multilib_src_configure() { --jobs 1 ) - multilib_is_native_abi && myconf+=( --with-shared-modules=${SHAREDMODS} ) + if multilib_is_native_abi ; then + myconf+=( --with-shared-modules=${SHAREDMODS} ) + else + myconf+=( --with-shared-modules=DEFAULT,!vfs_snapper ) + fi CPPFLAGS="-I${SYSROOT}${EPREFIX}/usr/include/et ${CPPFLAGS}" \ waf-utils_src_configure ${myconf[@]} @@ -267,13 +292,13 @@ multilib_src_install() { -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 + -i "${ED}"/etc/samba/smb.conf.default || die # Install init script and conf.d file newinitd "${CONFDIR}/samba4.initd-r1" samba newconfd "${CONFDIR}/samba4.confd" samba - systemd_dotmpfilesd "${FILESDIR}"/samba.conf + dotmpfiles "${FILESDIR}"/samba.conf use addc || rm "${D}/$(systemd_get_systemunitdir)/samba.service" || die # Preserve functionality for old gentoo-specific unit names @@ -292,15 +317,10 @@ multilib_src_install() { keepdir /var/cache/samba keepdir /var/lib/ctdb keepdir /var/lib/samba/{bind-dns,private} + keepdir /var/lock/samba keepdir /var/log/samba } -multilib_src_install_all() { - # Attempt to fix bug #673168 - find "${ED}" -type d -name "Yapp" -print0 \ - | xargs -0 --no-run-if-empty rm -r || die -} - multilib_src_test() { if multilib_is_native_abi ; then "${WAF_BINARY}" test || die "test failed" @@ -308,11 +328,13 @@ multilib_src_test() { } pkg_postinst() { - ewarn "Be aware that this release contains the best of all of Samba's" - ewarn "technology parts, both a file server (that you can reasonably expect" - ewarn "to upgrade existing Samba 3.x releases to) and the AD domain" - ewarn "controller work previously known as 'samba4'." - + if [[ -z ${REPLACING_VERSIONS} ]] ; then + elog "Be aware that this release contains the best of all of Samba's" + elog "technology parts, both a file server (that you can reasonably expect" + elog "to upgrade existing Samba 3.x releases to) and the AD domain" + elog "controller work previously known as 'samba4'." + elog + fi elog "For further information and migration steps make sure to read " elog "https://samba.org/samba/history/${P}.html " elog "https://wiki.samba.org/index.php/Samba4/HOWTO " diff --git a/net-fs/samba/samba-4.11.8.ebuild b/net-fs/samba/samba-4.14.0.ebuild similarity index 71% rename from net-fs/samba/samba-4.11.8.ebuild rename to net-fs/samba/samba-4.14.0.ebuild index 1f517b0..6a7cfe0 100644 --- a/net-fs/samba/samba-4.11.8.ebuild +++ b/net-fs/samba/samba-4.14.0.ebuild @@ -1,31 +1,50 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 -PYTHON_COMPAT=( python3_{7,8} ) -PYTHON_REQ_USE='threads(+),xml(+)' -inherit python-single-r1 waf-utils multilib-minimal linux-info systemd pam +PYTHON_COMPAT=( python3_{7..9} ) +PYTHON_REQ_USE="threads(+),xml(+)" +inherit python-single-r1 waf-utils multilib-minimal linux-info systemd pam tmpfiles + +DESCRIPTION="Samba Suite Version 4" +HOMEPAGE="https://samba.org/" MY_PV="${PV/_rc/rc}" MY_P="${PN}-${MY_PV}" +if [[ ${PV} = *_rc* ]]; then + SRC_URI="mirror://samba/rc/${MY_P}.tar.gz" +else + SRC_URI="mirror://samba/stable/${MY_P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86" +fi +S="${WORKDIR}/${MY_P}" -SRC_PATH="stable" -[[ ${PV} = *_rc* ]] && SRC_PATH="rc" - -SRC_URI="mirror://samba/${SRC_PATH}/${MY_P}.tar.gz" -[[ ${PV} = *_rc* ]] || \ -KEYWORDS="amd64 arm arm64 ppc ppc64 x86" - -DESCRIPTION="Samba Suite Version 4" -HOMEPAGE="https://www.samba.org/" LICENSE="GPL-3" - SLOT="0" +IUSE="acl addc addns ads ceph client cluster cups debug dmapi fam glusterfs +gpg iprint json ldap ntvfs pam profiling-data python quota +regedit selinux +snapper spotlight syslog system-heimdal +system-mitkrb5 systemd test winbind +zeroconf" + +REQUIRED_USE="${PYTHON_REQUIRED_USE} + addc? ( python json winbind ) + addns? ( python ) + ads? ( acl ldap winbind ) + cluster? ( ads ) + gpg? ( addc ) + ntvfs? ( addc ) + spotlight? ( json ) + test? ( python ) + !ads? ( !addc ) + ?? ( system-heimdal system-mitkrb5 ) +" -IUSE="acl addc addns ads ceph client cluster cups debug dmapi fam gpg iprint -json ldap pam profiling-data python quota selinux syslog system-heimdal -+system-mitkrb5 systemd test winbind zeroconf" +# the test suite is messed, it uses system-installed samba +# bits instead of what was built, tests things disabled via use +# flags, and generally just fails to work in a way ebuilds could +# rely on in its current state +RESTRICT="test" MULTILIB_WRAPPED_HEADERS=( /usr/include/samba-4.0/policy.h @@ -38,40 +57,38 @@ MULTILIB_WRAPPED_HEADERS=( /usr/include/samba-4.0/ctdb_version.h ) -CDEPEND=" +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}] - >=net-libs/gnutls-3.2.0[${MULTILIB_USEDEP}] + dev-perl/Parse-Yapp + >=net-libs/gnutls-3.4.7[${MULTILIB_USEDEP}] net-libs/libnsl:=[${MULTILIB_USEDEP}] - sys-apps/dbus[${MULTILIB_USEDEP}] sys-libs/e2fsprogs-libs[${MULTILIB_USEDEP}] - >=sys-libs/ldb-2.0.10[ldap(+)?,python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}] - <sys-libs/ldb-2.1.0[ldap(+)?,python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}] - sys-libs/libcap + >=sys-libs/ldb-2.2.0[ldap(+)?,${MULTILIB_USEDEP}] + <sys-libs/ldb-2.3.0[ldap(+)?,${MULTILIB_USEDEP}] + sys-libs/libcap[${MULTILIB_USEDEP}] + sys-libs/liburing:=[${MULTILIB_USEDEP}] sys-libs/ncurses:0= sys-libs/readline:0= - >=sys-libs/talloc-2.2.0[python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}] - >=sys-libs/tdb-1.4.2[python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}] - >=sys-libs/tevent-0.10.0[python?,${PYTHON_SINGLE_USEDEP},${MULTILIB_USEDEP}] + >=sys-libs/talloc-2.3.2[${MULTILIB_USEDEP}] + >=sys-libs/tdb-1.4.3[${MULTILIB_USEDEP}] + >=sys-libs/tevent-0.10.2[${MULTILIB_USEDEP}] sys-libs/zlib[${MULTILIB_USEDEP}] virtual/libiconv - pam? ( sys-libs/pam ) acl? ( virtual/acl ) $(python_gen_cond_dep " dev-python/subunit[\${PYTHON_MULTI_USEDEP},${MULTILIB_USEDEP}] addns? ( - net-dns/bind-tools[gssapi] dev-python/dnspython:=[\${PYTHON_MULTI_USEDEP}] + net-dns/bind-tools[gssapi] ) ") ceph? ( sys-cluster/ceph ) - cluster? ( - net-libs/rpcsvc-proto - !dev-db/ctdb - ) + cluster? ( net-libs/rpcsvc-proto ) cups? ( net-print/cups ) debug? ( dev-util/lttng-ust ) dmapi? ( sys-apps/dmapi ) @@ -79,59 +96,48 @@ CDEPEND=" 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.15.1[${MULTILIB_USEDEP}] ) systemd? ( sys-apps/systemd:0= ) - zeroconf? ( net-dns/avahi ) + zeroconf? ( net-dns/avahi[dbus] ) " -DEPEND="${CDEPEND} - ${PYTHON_DEPS} - app-text/docbook-xsl-stylesheets - dev-libs/libxslt - >=dev-util/cmocka-1.1.1[${MULTILIB_USEDEP}] +DEPEND="${COMMON_DEPEND} + >=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}] net-libs/libtirpc[${MULTILIB_USEDEP}] - virtual/pkgconfig || ( net-libs/rpcsvc-proto <sys-libs/glibc-2.26[rpc(+)] ) + spotlight? ( dev-libs/glib ) test? ( !system-mitkrb5? ( - >=sys-libs/nss_wrapper-1.1.3 >=net-dns/resolv_wrapper-1.1.4 >=net-libs/socket_wrapper-1.1.9 + >=sys-libs/nss_wrapper-1.1.3 >=sys-libs/uid_wrapper-1.2.1 ) )" -RDEPEND="${CDEPEND} - python? ( ${PYTHON_DEPS} ) +RDEPEND="${COMMON_DEPEND} client? ( net-fs/cifs-utils[ads?] ) + python? ( ${PYTHON_DEPS} ) selinux? ( sec-policy/selinux-samba ) - !dev-perl/Parse-Yapp " - -REQUIRED_USE=" - addc? ( python json winbind ) - addns? ( python ) - ads? ( acl ldap winbind ) - cluster? ( ads ) - gpg? ( addc ) - test? ( python ) - ?? ( system-heimdal system-mitkrb5 ) - ${PYTHON_REQUIRED_USE} +BDEPEND="${PYTHON_DEPS} + app-text/docbook-xsl-stylesheets + dev-libs/libxslt + virtual/pkgconfig " -# the test suite is messed, it uses system-installed samba -# bits instead of what was built, tests things disabled via use -# flags, and generally just fails to work in a way ebuilds could -# rely on in its current state -RESTRICT="test" - -S="${WORKDIR}/${MY_P}" - PATCHES=( "${FILESDIR}/${PN}-4.4.0-pam.patch" - "${FILESDIR}/${PN}-4.9.2-timespec.patch" ) #CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)" @@ -142,21 +148,21 @@ WAF_BINARY="${S}/buildtools/bin/waf" SHAREDMODS="" pkg_setup() { + # Package fails to build with distcc + export DISTCC_DISABLE=1 + python-single-r1_pkg_setup + + SHAREDMODS="$(usex snapper '' '!')vfs_snapper" if use cluster ; then - SHAREDMODS="idmap_rid,idmap_tdb2,idmap_ad" + SHAREDMODS+=",idmap_rid,idmap_tdb2,idmap_ad" elif use ads ; then - SHAREDMODS="idmap_ad" + SHAREDMODS+=",idmap_ad" fi } src_prepare() { default - if use elibc_musl; then - eapply "${FILESDIR}/musl-disable-netgroup.patch" - eapply "${FILESDIR}/netdb-defines.patch" - eapply "${FILESDIR}/${PN}-4.11.8-musl-fix-compar_fn_t.patch" - fi # un-bundle dnspython sed -i -e '/"dns.resolver":/d' "${S}"/third_party/wscript || die @@ -173,6 +179,16 @@ src_prepare() { -i source4/dsdb/samdb/ldb_modules/password_hash.c \ || die + if use elibc_musl ; then + eapply "${FILESDIR}"/add_missing___compar_fn_t.patch + eapply "${FILESDIR}"/fix-musl-lib-without-innetgr.patch + eapply "${FILESDIR}"/getpwent_r.patch + eapply "${FILESDIR}"/missing-headers.patch + eapply "${FILESDIR}"/musl_rm_unistd_incl.patch + eapply "${FILESDIR}"/musl_uintptr.patch + eapply "${FILESDIR}"/netdb-defines.patch + fi + # Friggin' WAF shit multilib_copy_sources } @@ -197,6 +213,7 @@ multilib_src_configure() { --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 addns dnsupdate) @@ -206,12 +223,16 @@ multilib_src_configure() { $(multilib_native_use_enable cups) $(multilib_native_use_with 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 ntvfs ntvfs-fileserver) $(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 @@ -228,7 +249,11 @@ multilib_src_configure() { --jobs 1 ) - multilib_is_native_abi && myconf+=( --with-shared-modules=${SHAREDMODS} ) + if multilib_is_native_abi ; then + myconf+=( --with-shared-modules=${SHAREDMODS} ) + else + myconf+=( --with-shared-modules=DEFAULT,!vfs_snapper ) + fi CPPFLAGS="-I${SYSROOT}${EPREFIX}/usr/include/et ${CPPFLAGS}" \ waf-utils_src_configure ${myconf[@]} @@ -267,13 +292,13 @@ multilib_src_install() { -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 + -i "${ED}"/etc/samba/smb.conf.default || die # Install init script and conf.d file newinitd "${CONFDIR}/samba4.initd-r1" samba newconfd "${CONFDIR}/samba4.confd" samba - systemd_dotmpfilesd "${FILESDIR}"/samba.conf + dotmpfiles "${FILESDIR}"/samba.conf use addc || rm "${D}/$(systemd_get_systemunitdir)/samba.service" || die # Preserve functionality for old gentoo-specific unit names @@ -292,15 +317,10 @@ multilib_src_install() { keepdir /var/cache/samba keepdir /var/lib/ctdb keepdir /var/lib/samba/{bind-dns,private} + keepdir /var/lock/samba keepdir /var/log/samba } -multilib_src_install_all() { - # Attempt to fix bug #673168 - find "${ED}" -type d -name "Yapp" -print0 \ - | xargs -0 --no-run-if-empty rm -r || die -} - multilib_src_test() { if multilib_is_native_abi ; then "${WAF_BINARY}" test || die "test failed" @@ -308,11 +328,13 @@ multilib_src_test() { } pkg_postinst() { - ewarn "Be aware that this release contains the best of all of Samba's" - ewarn "technology parts, both a file server (that you can reasonably expect" - ewarn "to upgrade existing Samba 3.x releases to) and the AD domain" - ewarn "controller work previously known as 'samba4'." - + if [[ -z ${REPLACING_VERSIONS} ]] ; then + elog "Be aware that this release contains the best of all of Samba's" + elog "technology parts, both a file server (that you can reasonably expect" + elog "to upgrade existing Samba 3.x releases to) and the AD domain" + elog "controller work previously known as 'samba4'." + elog + fi elog "For further information and migration steps make sure to read " elog "https://samba.org/samba/history/${P}.html " elog "https://wiki.samba.org/index.php/Samba4/HOWTO "
