samba.inc: remove legacy staging
[vuplus_openembedded] / recipes / samba / samba.inc
1 SECTION = "console/network"
2 LICENSE = "GPL"
3 DEPENDS = "readline virtual/libiconv"
4
5 SRC_URI = "http://samba.org/samba/ftp/stable/samba-${PV}.tar.gz;name=src \
6            file://volatiles.03_samba \
7            file://smb.conf \
8            file://init \
9            file://tdb.pc \
10            "
11
12 SRC_URI_append_opendreambox = " \
13         file://01samba-kill \
14         file://01samba-start"
15
16 S = "${WORKDIR}/samba-${PV}/source"
17
18 inherit autotools update-rc.d
19
20 FILES_${PN}     += "${libdir}/vfs/*.so ${libdir}/charset/*.so ${libdir}/*.dat \
21                     ${libdir}/auth/*.so ${libdir}/security/*.so"
22 FILES_${PN}-dbg += "${libdir}/vfs/.debug/*.so ${libdir}/charset/.debug/*.so \
23                     ${libdir}/auth/.debug/*.so ${libdir}/security/.debug/*.so"
24
25 SAMBAMMAP = "no"
26 SAMBAMMAP_libc-glibc = "yes"
27
28 # The file system settings --foodir=dirfoo and overridden unconditionally
29 # in the samba config by --with-foodir=dirfoo - even if the --with is not
30 # specified!  Fix that here.  Set the privatedir to /etc/samba/private.
31 EXTRA_OECONF='--disable-cups \
32               --with-readline=${STAGING_LIBDIR}/.. \
33               --with-libiconv=${STAGING_LIBDIR}/.. \
34               --without-automount \
35               --with-configdir=${sysconfdir}/samba \
36               --with-privatedir=${sysconfdir}/samba/private \
37               --with-lockdir=${localstatedir}/lock \
38               --with-piddir=${localstatedir}/run \
39               --with-logfilebase=${localstatedir}/log \
40               --with-libdir=${libdir} \
41               --with-mandir=${mandir} \
42               --with-swatdir=${datadir}/swat \
43               --with-aio-support \
44               samba_cv_struct_timespec=yes \
45               libreplace_cv_HAVE_MMAP=${SAMBAMMAP}'
46
47 PACKAGES =+ "libsmbclient libsmbclient-dev cifs cifs-doc smbfs smbfs-doc"
48 PACKAGES =+ "${@base_conditional('DISTRO', 'opendreambox', ' sambaserver libpopt libtalloc libtdb', '', d)}"
49 FILES_smbfs = "${bindir}/smbmount ${bindir}/smbumount ${bindir}/smbmnt ${base_sbindir}/mount.smbfs ${base_sbindir}/mount.smb"
50 FILES_smbfs-doc = "${mandir}/man8/smbmount.8 ${mandir}/man8/smbumount.8 ${mandir}/man8/smbmnt.8"
51 FILES_cifs = "${base_sbindir}/mount.cifs ${base_sbindir}/umount.cifs"
52 FILES_cifs-doc = "${mandir}/man8/mount.cifs.8 ${mandir}/man8/umount.cifs.8"
53 FILES_libsmbclient = "${libdir}/libsmbclient.so.*"
54 FILES_libsmbclient-dev = "${libdir}/libsmbclient.so ${includedir}"
55 FILES_sambaserver = "${sbindir}/smbd ${sbindir}/nmbd ${libdir}/charset/*.so ${libdir}/*.dat \
56         /etc/samba/smb.conf /etc/samba/private \
57         /etc/network/if-up.d/01samba-start /etc/network/if-down.d/01samba-kill"
58 FILES_libpopt = "${libdir}/libpopt.so.*"
59 FILES_libtalloc = "${libdir}/libtalloc.so.*"
60 FILES_libtdb = "${libdir}/libtdb.so.*"
61
62 PROVIDES_append_opendreambox = " sambaserver libpopt libtalloc libtdb"
63
64 INITSCRIPT_NAME = "samba"
65 # No dependencies, goes in at level 20 (NOTE: take care with the
66 # level, later levels put the shutdown later too - see the links
67 # in rc6.d, the shutdown must precede network shutdown).
68 INITSCRIPT_PARAMS = "defaults"
69 CONFFILES_${PN} = "${sysconfdir}/samba/smb.conf"
70
71 CONFFILES_sambaserver = "${sysconfdir}/samba/smb.conf"
72 CONFFILES_${PN}_opendreambox = ""
73
74 do_configure_prepend () {
75         ./script/mkversion.sh
76         if [ ! -e acinclude.m4 ]; then
77                 touch aclocal.m4        
78                 cat aclocal.m4 > acinclude.m4
79         fi
80 }
81
82 do_compile () {
83         oe_runmake proto_exists
84         base_do_compile
85 }
86
87 do_install_append() {
88         install -d ${D}${libdir}/pkgconfig/
89         cp ${WORKDIR}/tdb.pc ${D}${libdir}/pkgconfig/
90         mv ${D}${libdir}/libsmbclient.so ${D}${libdir}/libsmbclient.so.0 || true
91         ln -sf libsmbclient.so.0 ${D}${libdir}/libsmbclient.so
92         mkdir -p ${D}${base_sbindir}
93         rm -f ${D}${bindir}/*.old
94         rm -f ${D}${sbindir}/*.old
95         [ -f ${D}${sbindir}/mount.cifs ] && mv ${D}${sbindir}/mount.cifs ${D}${base_sbindir}/
96         [ -f ${D}${sbindir}/umount.cifs ] && mv ${D}${sbindir}/umount.cifs ${D}${base_sbindir}/
97
98         # This is needed for < 3.2.4
99         rm -f ${D}${sbindir}/mount.smbfs ${D}${base_sbindir}/mount.smbfs
100         if [ -f ${D}${bindir}/smbmount ]; then
101                 ln -sf ${bindir}/smbmount ${D}${base_sbindir}/mount.smb
102                 ln -sf ${bindir}/smbmount ${D}${base_sbindir}/mount.smbfs
103         fi
104         
105         install -D -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/samba
106         install -D -m 644 ${WORKDIR}/smb.conf ${D}${sysconfdir}/samba/smb.conf
107         install -D -m 644 ${WORKDIR}/volatiles.03_samba ${D}${sysconfdir}/default/volatiles/volatiles.03_samba
108         install -d ${D}/var/log/samba
109         install -d ${D}/var/spool/samba
110 }
111
112 do_install_prepend_opendreambox() {
113         install -c -m 644 ${WORKDIR}/smb.conf ../examples/smb.conf.default
114 }
115
116 do_install_append_opendreambox() {
117         install -d ${D}/etc/samba/private
118         install -d ${D}/etc/network/if-down.d
119         install -m 0755 ${WORKDIR}/01samba-kill ${D}/etc/network/if-down.d
120         install -d ${D}/etc/network/if-up.d
121         install -m 0755 ${WORKDIR}/01samba-start ${D}/etc/network/if-up.d
122 }
123