On Fri, 2 Aug 2002, Buchan Milne wrote:
> | samba-2.2.3a-10mdk was somehow built without ACL support, even though the
> | SPEC file should include it.
> | Proof:
> | 1. rpm --requires samba does not list libacl as a requirement.
> Seems to be so ...
> | 2. ldd /usr/sbin/smbd does not list libacl as a linked library
> Which is the reason for 1)
> | 3. I cannot get Samba to display or modify ACLs created with setfacl on
> | an XFS filesystem.
> This may not solve the actual problem, but it should help you:
> There are updated RPMs of 2.2.5a for 8.2 (and 8.1 and 8.0, but no acl
> support on 8.0 by default) with working acl support on ftp.samba.org and
> ~ other versions both on my site
> (http://ranger.dnsalias.com/mandrake/samba) and Sylvestre's
> (http://people.mandrakesoft.com/~staburet/samba)
Thanks for that.
> | 4. Rebuilding samba-2.2.3a-10mdk gives an smbd that does link against
> | libacl (according to ldd).
> Could you try rebuilding the SRPM without libattr-devel? (I don't have
> an 8.2 box handy to try on, I could try on cooker ...)
I don't have libattr-devel installed and it still builds OK:
[fensys@koala bin]$ rpm -qa | egrep 'attr|acl'
libacl1-2.0.0-1mdk
libattr1-2.0.1-1mdk
acl-2.0.0-1mdk
libacl1-devel-2.0.0-1mdk
[fensys@koala bin]$ pwd
/home/fensys/rpm/BUILD/samba-2.2.3a/source/bin
[fensys@koala bin]$ ldd smbd
libacl.so.1 => /lib/libacl.so.1 (0x4001a000)
libcups.so.2 => /usr/lib/libcups.so.2 (0x40020000)
libdl.so.2 => /lib/libdl.so.2 (0x4003b000)
libnsl.so.1 => /lib/libnsl.so.1 (0x4003f000)
libpam.so.0 => /lib/libpam.so.0 (0x40055000)
libc.so.6 => /lib/libc.so.6 (0x4005d000)
libattr.so.1 => /lib/libattr.so.1 (0x40199000)
libssl.so.0 => /usr/lib/libssl.so.0 (0x4019c000)
libcrypto.so.0 => /usr/lib/libcrypto.so.0 (0x401c9000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
so libattr-devel is not required to get smbd linked against libacl. Also,
I can't remove any of the attr or acl packages without also removing
libacl1-devel, which will break the already-existing BuildRequires in
samba.spec:
[root@koala root]# rpm -e libattr1
error: removing these packages would break dependencies:
libattr.so.1 is needed by libacl1-2.0.0-1mdk
libattr.so.1 is needed by acl-2.0.0-1mdk
[root@koala root]# rpm -e libattr1 libacl1 acl
error: removing these packages would break dependencies:
libacl1 = 2.0.0 is needed by libacl1-devel-2.0.0-1mdk
[root@koala root]# rpm -e libattr1 libacl1 acl libacl1-devel
[fensys@koala SPECS]$ rpm -bp samba.spec
error: failed build dependencies:
libacl-devel is needed by samba-2.2.3a-10mdk
so I really don't have any idea what the problem could be. If you can
think of other things to try, I'll willingly do test builds on a clean 8.2
system.
> | This is cc'ed to QA since there is nothing wrong with the source RPM file
> | (no missing BuildRequires for libacl-devel etc.) and yet somehow the
> | package managed to get built and distributed without ACL support.
> I think we will have to take a look at this, since it recently happened
> also with 2.2.5a and acl 2.0.9.
> Geoffrey Lee reckoned it was due to the samba configure script not
> checking for libattr. And the samba rpm doesn't buildrequires
> libattr-devel, and the libacl-devel (which samba does buildrequire)
> doesn't require libattr.
> But I am quite sure I have built samba RPMs with acl support without
> libattr-devel.
You are correct.
> It does link without libattr-devel:
> [bgmilne@bgmilne source]$ rpm -q libattr1-devel
> package libattr1-devel is not installed
> [bgmilne@bgmilne source]$ rpm -q libacl1-devel
> libacl1-devel-2.0.11-1mdk
> [bgmilne@bgmilne source]$ rm -f bin/smbd
> [bgmilne@bgmilne source]$ make >/dev/null
> [bgmilne@bgmilne source]$ ldd bin/smbd |grep acl
> ~ libacl.so.1 => /lib/libacl.so.1 (0x40024000)
> But also against libattr
> [bgmilne@bgmilne source]$ ldd bin/smbd |grep attr
> ~ libattr.so.1 => /lib/libattr.so.1 (0x40288000)
> So, it seems like a packaging problem on libacl, libacl-devel should
> buildrequires libattr-devel
How does this cause the observed problem (smbd not being linked against
libacl)? Forgive me if I'm being dense.
> It's actually been quite a mission getting acl support in samba (it's
> been broken so many times ...), but it is worth it.
Definitely.
Michael Brown