Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 285814 - net-fs/samba: does not build any idmap modules
Summary: net-fs/samba: does not build any idmap modules
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo's SAMBA Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 290265
  Show dependency tree
 
Reported: 2009-09-21 09:19 UTC by Oleg Blednov
Modified: 2010-12-22 19:39 UTC (History)
6 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
samba-3.5.2 ebuild for reference consideration (samba-3.5.2.ebuild,10.35 KB, text/plain)
2010-04-22 16:36 UTC, Chris Smith
Details
Builds the hash and rid idmap module (samba-3.4.8-idmap.patch,405 bytes, patch)
2010-08-31 11:09 UTC, Lex Brugman
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Oleg Blednov 2009-09-21 09:19:02 UTC
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.
Comment 1 Patrick Lauer gentoo-dev 2009-11-05 22:37:37 UTC
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 :)
Comment 2 masc 2009-11-23 17:23:28 UTC
The issue persists in 3.3.9, 3.4.3 and 3.4.3-r1 as well.
Comment 3 Oleg Blednov 2009-12-17 05:52:41 UTC
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 :)
> 

Comment 4 Patrick Lauer gentoo-dev 2010-01-08 09:50:43 UTC
(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.
Comment 5 Chris Smith 2010-04-22 16:36:46 UTC
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.
Comment 6 Chris Smith 2010-04-22 16:40:08 UTC
(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
Comment 7 Chris Smith 2010-04-22 17:55:13 UTC
(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).

Comment 8 Lex Brugman 2010-08-30 21:10:57 UTC
This issue is still present in the current stable(!) version (3.4.8), this renders samba practically unusable in any serious (corporate) environment.
Comment 9 Lex Brugman 2010-08-31 11:09:45 UTC
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.
Comment 10 Víctor Ostorga (RETIRED) gentoo-dev 2010-12-22 19:39:32 UTC
+  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>