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


Reply via email to