Samba 4 Packaging Issues
Hello all-
(After posting in -user, it was suggested I try this mailing list instead)
Long story short, I am trying to package up a current
version of Samba4 for Ubuntu Precise 12.04 so that I can easily and
reliably deploy it to hardware from a PPA.
I'm very new to debian
packaging so I'll just start out by stating that anyone who can offer
help on this is encouraged to *not* make assumptions about what I have
or haven't done -- I'm new and bad at this.
In any case, the
samba 4.0.3 package (available in the experimental branch of debian
packages http://packages.debian.org/source/experimental/samba4) is my
base package and the provided debian folder was my starting point. I
didn't use the samba packages for Precise because they are woefully old.
I've tried to modify the files to meet my needs but am currently
hitting an error on dpkg-shlibdeps.
It spits out a lot of
warnings about not being able to extract the name and version from
certain libraries, but it is actually erroring out because it can't find
certain libraries.
dpkg-shlibdeps: error: couldn't find library
libkrb5-samba4.so.26 needed by
debian/libsamdb0/usr/lib/x86_64-linux-gnu/libsamdb.so.0.0.1 (ELF format:
'elf64-x86-64'; RPATH: '/usr/lib/x86_64-linux-gnu/samba').
dpkg-shlibdeps:
error: couldn't find library libgssapi-samba4.so.2 needed by
debian/libsamdb0/usr/lib/x86_64-linux-gnu/libsamdb.so.0.0.1 (ELF format:
'elf64-x86-64'; RPATH: '/usr/lib/x86_64-linux-gnu/samba').
And also:
dpkg-shlibdeps:
error: no dependency information found for
/home/USER/samba4_4.0.4/samba4-4.0.4/debian/tmp/usr/lib/x86_64-linux-gnu/samba/libldb.so.1
(used by
debian/libsamdb0/usr/lib/x86_64-linux-gnu/samba/libsamdb-common.so).
dh_shlibdeps says this:
dh_shlibdeps:
dpkg-shlibdeps -Tdebian/libsamdb0.substvars
debian/libsamdb0/usr/lib/x86_64-linux-gnu/samba/libldbsamba.so
debian/libsamdb0/usr/lib/x86_64-linux-gnu/samba/libsamdb-common.so
debian/libsamdb0/usr/lib/x86_64-linux-gnu/samba/libldb-cmdline.so
debian/libsamdb0/usr/lib/x86_64-linux-gnu/libsamdb.so.0.0.1 returned
exit code 2
make[1]: *** [override_dh_shlibdeps] Error 2
However,
LD_LIBRARY_PATH, which to my understanding is what shlib uses to find
libraries it needs to resolve dependencies, is set to a parent directory
of where that library is:
LD_LIBRARY_PATH evaluates to /home/USER/samba4_4.0.4/samba4-4.0.4/debian/tmp/usr/lib/x86_64-linux-gnu/samba.
/home/USER/samba4_4.0.4/samba4-4.0.4/debian/tmp/usr/lib/x86_64-linux-gnu/samba/libkrb5-samba4.so.26
So how can't dpkg-shlibdeps find the library?
Also, the only dependency listed for libsamdb0 in the subtvars file is: libsamdb 0 libsamdb0
So why is it getting mad about libldb not having dependencies?
Here are pastebin links to the debian/rules and debian/control.
rules: http://pastebin.com/dmVcyr0Y
control: http://pastebin.com/QMdhWn3Z
And insight/help would be much appreciated.
-Mike Ray
Reply to: