net-fs/samba-server-3.3.7 does not build any idmap modules. Reproducible: Always Steps to Reproduce: 1. emerge net-fs/samba-server 2. ls /usr/lib/samba/idmap/ Actual Results: No one module is shown. Expected Results: Show a idmap module(s), ex.: idmap_ad.so idmap_hash.so idmap_rid.so and so on. ebuild does not add '--with-shared-modules=<MODULES>' (or eventually '--with-static-modules=<MODULES>') to configure script.
Ok, I've tracked it down in the build system. ./configure --with-shared-modules=idmap_ldap,idmap_tdb,idmap_tdb2,idmap_passdb,idmap_nss,idmap_rid,idmap_ad checking how to build rpc_samr... static checking how to build rpc_rpcecho... not checking how to build idmap_ldap... shared checking how to build idmap_tdb... shared checking how to build idmap_tdb2... shared checking how to build idmap_passdb... shared checking how to build idmap_nss... shared checking how to build idmap_rid... shared checking how to build idmap_ad... shared checking how to build idmap_hash... not checking how to build idmap_adex... not Now I see three ways of handling this: - an "idmap" useflag that enables all the idmap shared modules - a "module" useflag that enables them all - a SAMBA_SHARED_MODULES config variable that enables only the modules the user wants Since I don't use that functionality I can't estimate which solution is best. Ideas and comments welcome :)
The issue persists in 3.3.9, 3.4.3 and 3.4.3-r1 as well.
Not too big destination size to include all idmap modules without any flags or variables. (In reply to comment #1) > Ok, I've tracked it down in the build system. > > ./configure > --with-shared-modules=idmap_ldap,idmap_tdb,idmap_tdb2,idmap_passdb,idmap_nss,idmap_rid,idmap_ad > > checking how to build rpc_samr... static > checking how to build rpc_rpcecho... not > checking how to build idmap_ldap... shared > checking how to build idmap_tdb... shared > checking how to build idmap_tdb2... shared > checking how to build idmap_passdb... shared > checking how to build idmap_nss... shared > checking how to build idmap_rid... shared > checking how to build idmap_ad... shared > checking how to build idmap_hash... not > checking how to build idmap_adex... not > > Now I see three ways of handling this: > - an "idmap" useflag that enables all the idmap shared modules > - a "module" useflag that enables them all > - a SAMBA_SHARED_MODULES config variable that enables only the modules the user > wants > > Since I don't use that functionality I can't estimate which solution is best. > Ideas and comments welcome :) >
(In reply to comment #3) > Not too big destination size to include all idmap modules without any flags or > variables. > Sounds good. Only problem now is that 3.4 fails on idmap modules with external tdb. Makefile never expected that :) So once that is cleaned up we can add it.
Created attachment 228777 [details] samba-3.5.2 ebuild for reference consideration Also reference bug #285814 See samba's bugzilla for the patches this ebuild applies. This is the ebuild I currently on production servers, not saying it's right for every one in every case. Note that in many cases needed idmap modules will be auto-built statically, but in some they are not. This ebuild builds the idmap_rid, and idmap_hash as shared modules if the winbind flag is set. I personally prefer that all man pages get installed so this ebuild does that.
(In reply to comment #5) > Created an attachment (id=228777) [details] > samba-3.5.2 ebuild for reference consideration > > Also reference bug #285814 And bug #281262
(In reply to comment #5) > Note that in many cases needed idmap modules will be auto-built statically, but > in some they are not. Just to expand, for example if you build with ldap then idmap_ldap will get statically built - no need to specify it (unless you really want a shared module). Possibly the same with ad and idmap_ad although I haven't personally tested this case. However, idmap_rid and idmap_hash are quite valuable in multi-member server situations and do not automatically get built (at least under non AD conditions, as again I haven't tested that case).
This issue is still present in the current stable(!) version (3.4.8), this renders samba practically unusable in any serious (corporate) environment.
Created attachment 245458 [details, diff] Builds the hash and rid idmap module This is my (personal) temporary fix to get the rid and hash imdap module.
+ 22 Dec 2010; Víctor Ostorga <vostorga@gentoo.org> samba-3.4.9.ebuild, + samba-3.5.6.ebuild: + Adding idmap (rid,adex,ldap,hash,ad) modules support, bugs #329383 #285814 + #290265 Adding manpages for idmap modules bug #281262 + Based on patch thanks to Azamat H. Hackimov <azamat.hackimov@gmail.com>