1*4882a593SmuzhiyunHOMEPAGE = "https://www.samba.org/"
2*4882a593SmuzhiyunSECTION = "console/network"
3*4882a593Smuzhiyun
4*4882a593SmuzhiyunLICENSE = "GPL-3.0-or-later & LGPL-3.0-or-later & GPL-2.0-or-later"
5*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
6*4882a593Smuzhiyun                    file://${COREBASE}/meta/files/common-licenses/LGPL-3.0-or-later;md5=c51d3eef3be114124d11349ca0d7e117 \
7*4882a593Smuzhiyun                    file://${COREBASE}/meta/files/common-licenses/GPL-2.0-or-later;md5=fed54355545ffd980b814dab4a3b312c"
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunSAMBA_MIRROR = "http://samba.org/samba/ftp"
10*4882a593SmuzhiyunMIRRORS += "\
11*4882a593Smuzhiyun${SAMBA_MIRROR}    http://mirror.internode.on.net/pub/samba \n \
12*4882a593Smuzhiyun${SAMBA_MIRROR}    http://www.mirrorservice.org/sites/ftp.samba.org \n \
13*4882a593Smuzhiyun"
14*4882a593Smuzhiyun
15*4882a593SmuzhiyunSRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \
16*4882a593Smuzhiyun           file://smb.conf \
17*4882a593Smuzhiyun           file://volatiles.03_samba \
18*4882a593Smuzhiyun           file://0001-Don-t-check-xsltproc-manpages.patch \
19*4882a593Smuzhiyun           file://0002-do-not-import-target-module-while-cross-compile.patch \
20*4882a593Smuzhiyun           file://0003-Add-config-option-without-valgrind.patch \
21*4882a593Smuzhiyun           file://0004-Add-options-to-configure-the-use-of-libbsd.patch \
22*4882a593Smuzhiyun           file://0005-samba-build-dnsserver_common-code.patch \
23*4882a593Smuzhiyun           file://0001-Fix-pyext_PATTERN-for-cross-compilation.patch \
24*4882a593Smuzhiyun           file://0001-smbtorture-skip-test-case-tfork_cmd_send.patch \
25*4882a593Smuzhiyun           "
26*4882a593Smuzhiyun
27*4882a593SmuzhiyunSRC_URI:append:libc-musl = " \
28*4882a593Smuzhiyun           file://netdb_defines.patch \
29*4882a593Smuzhiyun           file://samba-pam.patch \
30*4882a593Smuzhiyun           file://samba-4.3.9-remove-getpwent_r.patch \
31*4882a593Smuzhiyun           file://cmocka-uintptr_t.patch \
32*4882a593Smuzhiyun           file://samba-fix-musl-lib-without-innetgr.patch \
33*4882a593Smuzhiyun           "
34*4882a593Smuzhiyun
35*4882a593SmuzhiyunSRC_URI[sha256sum] = "abd5e9e6aa45e55114b188ba189ebdfc8fd3d7718d43f749e477ce7f791e5519"
36*4882a593Smuzhiyun
37*4882a593SmuzhiyunUPSTREAM_CHECK_REGEX = "samba\-(?P<pver>4\.14(\.\d+)+).tar.gz"
38*4882a593Smuzhiyun
39*4882a593Smuzhiyuninherit systemd waf-samba cpan-base perlnative update-rc.d perl-version pkgconfig
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun# CVE-2011-2411 is valnerble only on HP NonStop Servers.
42*4882a593SmuzhiyunCVE_CHECK_IGNORE += "CVE-2011-2411"
43*4882a593Smuzhiyun
44*4882a593Smuzhiyun# remove default added RDEPENDS on perl
45*4882a593SmuzhiyunRDEPENDS:${PN}:remove = "perl"
46*4882a593Smuzhiyun
47*4882a593SmuzhiyunDEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libldb libaio libpam libtasn1 jansson libparse-yapp-perl-native gnutls"
48*4882a593Smuzhiyun
49*4882a593Smuzhiyuninherit features_check
50*4882a593SmuzhiyunREQUIRED_DISTRO_FEATURES = "pam"
51*4882a593Smuzhiyun
52*4882a593SmuzhiyunDEPENDS:append:libc-musl = " libtirpc"
53*4882a593SmuzhiyunCFLAGS:append:libc-musl = " -I${STAGING_INCDIR}/tirpc"
54*4882a593SmuzhiyunLDFLAGS:append:libc-musl = " -ltirpc"
55*4882a593Smuzhiyun
56*4882a593SmuzhiyunCOMPATIBLE_HOST:riscv32 = "null"
57*4882a593Smuzhiyun
58*4882a593SmuzhiyunINITSCRIPT_NAME = "samba"
59*4882a593SmuzhiyunINITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ."
60*4882a593Smuzhiyun
61*4882a593SmuzhiyunSYSTEMD_PACKAGES = "${PN}-base ${PN}-ad-dc winbind"
62*4882a593SmuzhiyunSYSTEMD_SERVICE:${PN}-base = "nmb.service smb.service"
63*4882a593SmuzhiyunSYSTEMD_SERVICE:${PN}-ad-dc = "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'samba.service', '', d)}"
64*4882a593SmuzhiyunSYSTEMD_SERVICE:winbind = "winbind.service"
65*4882a593Smuzhiyun
66*4882a593Smuzhiyun# There are prerequisite settings to enable ad-dc, so disable the service by default.
67*4882a593Smuzhiyun# Reference:
68*4882a593Smuzhiyun# https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller
69*4882a593SmuzhiyunSYSTEMD_AUTO_ENABLE:${PN}-ad-dc = "disable"
70*4882a593Smuzhiyun
71*4882a593Smuzhiyun#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen
72*4882a593Smuzhiyun#to cross Popen
73*4882a593Smuzhiyunexport WAF_NO_PREFORK="yes"
74*4882a593Smuzhiyun
75*4882a593Smuzhiyun# Use krb5.  Build active domain controller.
76*4882a593Smuzhiyun#
77*4882a593SmuzhiyunPACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd zeroconf', d)} \
78*4882a593Smuzhiyun                   acl cups ad-dc ldap mitkrb5 \
79*4882a593Smuzhiyun"
80*4882a593Smuzhiyun
81*4882a593SmuzhiyunRDEPENDS:${PN}-ctdb-tests += "bash util-linux-getopt"
82*4882a593Smuzhiyun
83*4882a593SmuzhiyunPACKAGECONFIG[acl] = "--with-acl-support,--without-acl-support,acl"
84*4882a593SmuzhiyunPACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin"
85*4882a593SmuzhiyunPACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups"
86*4882a593SmuzhiyunPACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
87*4882a593SmuzhiyunPACKAGECONFIG[sasl] = ",,cyrus-sasl"
88*4882a593SmuzhiyunPACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd"
89*4882a593SmuzhiyunPACKAGECONFIG[dmapi] = "--with-dmapi,--without-dmapi,dmapi"
90*4882a593SmuzhiyunPACKAGECONFIG[zeroconf] = "--enable-avahi,--disable-avahi,avahi"
91*4882a593SmuzhiyunPACKAGECONFIG[valgrind] = ",--without-valgrind,valgrind,"
92*4882a593SmuzhiyunPACKAGECONFIG[lttng] = "--with-lttng, --without-lttng,lttng-ust"
93*4882a593SmuzhiyunPACKAGECONFIG[archive] = "--with-libarchive, --without-libarchive, libarchive"
94*4882a593SmuzhiyunPACKAGECONFIG[libunwind] = ", , libunwind"
95*4882a593SmuzhiyunPACKAGECONFIG[gpgme] = ",--without-gpgme,,"
96*4882a593SmuzhiyunPACKAGECONFIG[lmdb] = ",--without-ldb-lmdb,lmdb,"
97*4882a593SmuzhiyunPACKAGECONFIG[libbsd] = "--with-libbsd, --without-libbsd, libbsd"
98*4882a593SmuzhiyunPACKAGECONFIG[ad-dc] = "--with-experimental-mit-ad-dc,--without-ad-dc,python3-markdown python3-dnspython,"
99*4882a593SmuzhiyunPACKAGECONFIG[mitkrb5] = "--with-system-mitkrb5 --with-system-mitkdc=/usr/sbin/krb5kdc,,krb5,"
100*4882a593Smuzhiyun
101*4882a593SmuzhiyunSAMBA4_IDMAP_MODULES="idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2"
102*4882a593SmuzhiyunSAMBA4_PDB_MODULES="pdb_tdbsam,${@bb.utils.contains('PACKAGECONFIG', 'ldap', 'pdb_ldap,', '', d)}pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4"
103*4882a593SmuzhiyunSAMBA4_AUTH_MODULES="auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4"
104*4882a593SmuzhiyunSAMBA4_MODULES="${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MODULES}"
105*4882a593Smuzhiyun
106*4882a593Smuzhiyun# These libraries are supposed to replace others supplied by packages, but decorate the names of
107*4882a593Smuzhiyun# .so files so there will not be a conflict.  This is not done consistantly, so be very careful
108*4882a593Smuzhiyun# when adding to this list.
109*4882a593Smuzhiyun#
110*4882a593SmuzhiyunSAMBA4_LIBS="heimdal,cmocka,NONE"
111*4882a593Smuzhiyun
112*4882a593SmuzhiyunEXTRA_OECONF += "--enable-fhs \
113*4882a593Smuzhiyun                 --with-piddir=/run \
114*4882a593Smuzhiyun                 --with-sockets-dir=/run/samba \
115*4882a593Smuzhiyun                 --with-modulesdir=${libdir}/samba \
116*4882a593Smuzhiyun                 --with-lockdir=${localstatedir}/lib/samba \
117*4882a593Smuzhiyun                 --with-cachedir=${localstatedir}/lib/samba \
118*4882a593Smuzhiyun                 --disable-rpath-install \
119*4882a593Smuzhiyun                 --with-shared-modules=${SAMBA4_MODULES} \
120*4882a593Smuzhiyun                 --bundled-libraries=${SAMBA4_LIBS} \
121*4882a593Smuzhiyun                 ${@oe.utils.conditional('TARGET_ARCH', 'x86_64', '', '--disable-glusterfs', d)} \
122*4882a593Smuzhiyun                 --with-cluster-support \
123*4882a593Smuzhiyun                 --with-profiling-data \
124*4882a593Smuzhiyun                 --with-libiconv=${STAGING_DIR_HOST}${prefix} \
125*4882a593Smuzhiyun                 --with-pam --with-pammodulesdir=${base_libdir}/security \
126*4882a593Smuzhiyun                "
127*4882a593Smuzhiyun
128*4882a593SmuzhiyunLDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
129*4882a593Smuzhiyun
130*4882a593Smuzhiyundo_configure:append () {
131*4882a593Smuzhiyun    cd ${S}/pidl/
132*4882a593Smuzhiyun    perl Makefile.PL PREFIX=${prefix}
133*4882a593Smuzhiyun    sed -e 's,VENDORPREFIX)/lib/perl,VENDORPREFIX)/${baselib}/perl,g' \
134*4882a593Smuzhiyun        -e 's,PERLPREFIX)/lib/perl,PERLPREFIX)/${baselib}/perl,g' -i Makefile
135*4882a593Smuzhiyun
136*4882a593Smuzhiyun}
137*4882a593Smuzhiyun
138*4882a593Smuzhiyundo_compile:append () {
139*4882a593Smuzhiyun    oe_runmake -C ${S}/pidl
140*4882a593Smuzhiyun}
141*4882a593Smuzhiyun
142*4882a593Smuzhiyundo_install:append() {
143*4882a593Smuzhiyun    for section in 1 5 7; do
144*4882a593Smuzhiyun        install -d ${D}${mandir}/man$section
145*4882a593Smuzhiyun        install -m 0644 ctdb/doc/*.$section ${D}${mandir}/man$section
146*4882a593Smuzhiyun    done
147*4882a593Smuzhiyun    for section in 1 5 7 8; do
148*4882a593Smuzhiyun        install -d ${D}${mandir}/man$section
149*4882a593Smuzhiyun        install -m 0644 docs/manpages/*.$section ${D}${mandir}/man$section
150*4882a593Smuzhiyun    done
151*4882a593Smuzhiyun
152*4882a593Smuzhiyun    install -d ${D}${systemd_system_unitdir}
153*4882a593Smuzhiyun    install -m 0644 ${S}/bin/default/packaging/systemd/*.service ${D}${systemd_system_unitdir}/
154*4882a593Smuzhiyun    sed -e 's,\(ExecReload=\).*\(/kill\),\1${base_bindir}\2,' \
155*4882a593Smuzhiyun        -e 's,/etc/sysconfig/samba,${sysconfdir}/default/samba,' \
156*4882a593Smuzhiyun        -i ${D}${systemd_system_unitdir}/*.service
157*4882a593Smuzhiyun
158*4882a593Smuzhiyun    if [ "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'yes', 'no', d)}" = "no" ]; then
159*4882a593Smuzhiyun        rm -f ${D}${systemd_system_unitdir}/samba.service
160*4882a593Smuzhiyun    fi
161*4882a593Smuzhiyun
162*4882a593Smuzhiyun    install -d ${D}${sysconfdir}/tmpfiles.d
163*4882a593Smuzhiyun    install -m644 packaging/systemd/samba.conf.tmp ${D}${sysconfdir}/tmpfiles.d/samba.conf
164*4882a593Smuzhiyun    echo "d ${localstatedir}/log/samba 0755 root root -" \
165*4882a593Smuzhiyun        >> ${D}${sysconfdir}/tmpfiles.d/samba.conf
166*4882a593Smuzhiyun    install -d ${D}${sysconfdir}/init.d
167*4882a593Smuzhiyun    install -m 0755 packaging/sysv/samba.init ${D}${sysconfdir}/init.d/samba
168*4882a593Smuzhiyun    sed -e 's,/opt/samba/bin,${sbindir},g' \
169*4882a593Smuzhiyun        -e 's,/opt/samba/smb.conf,${sysconfdir}/samba/smb.conf,g' \
170*4882a593Smuzhiyun        -e 's,/opt/samba/log,${localstatedir}/log/samba,g' \
171*4882a593Smuzhiyun        -e 's,/etc/init.d/samba.server,${sysconfdir}/init.d/samba,g' \
172*4882a593Smuzhiyun        -e 's,/usr/bin,${base_bindir},g' \
173*4882a593Smuzhiyun        -i ${D}${sysconfdir}/init.d/samba
174*4882a593Smuzhiyun
175*4882a593Smuzhiyun    install -d ${D}${sysconfdir}/samba
176*4882a593Smuzhiyun    echo "127.0.0.1 localhost" > ${D}${sysconfdir}/samba/lmhosts
177*4882a593Smuzhiyun    install -m644 ${WORKDIR}/smb.conf ${D}${sysconfdir}/samba/smb.conf
178*4882a593Smuzhiyun    install -D -m 644 ${WORKDIR}/volatiles.03_samba ${D}${sysconfdir}/default/volatiles/03_samba
179*4882a593Smuzhiyun
180*4882a593Smuzhiyun    install -d ${D}${sysconfdir}/default
181*4882a593Smuzhiyun    install -m644 packaging/systemd/samba.sysconfig ${D}${sysconfdir}/default/samba
182*4882a593Smuzhiyun
183*4882a593Smuzhiyun    # the items are from ctdb/tests/run_tests.sh
184*4882a593Smuzhiyun    for d in cunit eventd eventscripts onnode shellcheck takeover takeover_helper tool; do
185*4882a593Smuzhiyun        testdir=${D}${datadir}/ctdb-tests/UNIT/$d
186*4882a593Smuzhiyun        install -d $testdir
187*4882a593Smuzhiyun        cp ${S}/ctdb/tests/UNIT/$d/*.sh $testdir
188*4882a593Smuzhiyun        cp -r ${S}/ctdb/tests/UNIT/$d/scripts ${S}/ctdb/tests/UNIT/$d/stubs $testdir || true
189*4882a593Smuzhiyun    done
190*4882a593Smuzhiyun
191*4882a593Smuzhiyun    # fix file-rdeps qa warning
192*4882a593Smuzhiyun    if [ -f ${D}${bindir}/onnode ]; then
193*4882a593Smuzhiyun        sed -i 's:\(#!/bin/\)bash:\1sh:' ${D}${bindir}/onnode
194*4882a593Smuzhiyun    fi
195*4882a593Smuzhiyun
196*4882a593Smuzhiyun    chmod 0750 ${D}${sysconfdir}/sudoers.d || true
197*4882a593Smuzhiyun    rm -rf ${D}/run ${D}${localstatedir}/run ${D}${localstatedir}/log
198*4882a593Smuzhiyun
199*4882a593Smuzhiyun    for f in samba-gpupdate samba_upgradedns samba_spnupdate samba_kcc samba_dnsupdate samba_downgrade_db; do
200*4882a593Smuzhiyun        if [ -f "${D}${sbindir}/$f" ]; then
201*4882a593Smuzhiyun            sed -i -e 's,${PYTHON},/usr/bin/env python3,g' ${D}${sbindir}/$f
202*4882a593Smuzhiyun        fi
203*4882a593Smuzhiyun    done
204*4882a593Smuzhiyun    if [ -f "${D}${bindir}/samba-tool" ]; then
205*4882a593Smuzhiyun        sed -i -e 's,${PYTHON},/usr/bin/env python3,g' ${D}${bindir}/samba-tool
206*4882a593Smuzhiyun    fi
207*4882a593Smuzhiyun
208*4882a593Smuzhiyun    oe_runmake -C ${S}/pidl DESTDIR=${D} install_vendor
209*4882a593Smuzhiyun    find ${D}${libdir}/ -type f -name "perllocal.pod" | xargs rm -f
210*4882a593Smuzhiyun    rm -rf ${D}${libdir}/perl5/vendor_perl/${PERLVERSION}/${BUILD_SYS}/auto/Parse/Pidl/.packlist
211*4882a593Smuzhiyun    sed -i -e '1s,#!.*perl,#!${bindir}/env perl,' ${D}${bindir}/pidl
212*4882a593Smuzhiyun}
213*4882a593Smuzhiyun
214*4882a593SmuzhiyunPACKAGES =+ "${PN}-python3 ${PN}-pidl \
215*4882a593Smuzhiyun             ${PN}-dsdb-modules ${PN}-testsuite registry-tools \
216*4882a593Smuzhiyun             winbind \
217*4882a593Smuzhiyun             ${PN}-common ${PN}-base ${PN}-ad-dc ${PN}-ctdb-tests \
218*4882a593Smuzhiyun             smbclient ${PN}-client ${PN}-server ${PN}-test"
219*4882a593Smuzhiyun
220*4882a593Smuzhiyunpython samba_populate_packages() {
221*4882a593Smuzhiyun    def module_hook(file, pkg, pattern, format, basename):
222*4882a593Smuzhiyun        pn = d.getVar('PN')
223*4882a593Smuzhiyun        d.appendVar('RRECOMMENDS:%s-base' % pn, ' %s' % pkg)
224*4882a593Smuzhiyun
225*4882a593Smuzhiyun    mlprefix = d.getVar('MLPREFIX') or ''
226*4882a593Smuzhiyun    pam_libdir = d.expand('${base_libdir}/security')
227*4882a593Smuzhiyun    pam_pkgname = mlprefix + 'pam-plugin%s'
228*4882a593Smuzhiyun    do_split_packages(d, pam_libdir, r'^pam_(.*)\.so$', pam_pkgname, 'PAM plugin for %s', extra_depends='', prepend=True)
229*4882a593Smuzhiyun
230*4882a593Smuzhiyun    libdir = d.getVar('libdir')
231*4882a593Smuzhiyun    do_split_packages(d, libdir, r'^lib(.*)\.so\..*$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True, allow_links=True)
232*4882a593Smuzhiyun    pkglibdir = '%s/samba' % libdir
233*4882a593Smuzhiyun    do_split_packages(d, pkglibdir, r'^lib(.*)\.so$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True)
234*4882a593Smuzhiyun    moduledir = '%s/samba/auth' % libdir
235*4882a593Smuzhiyun    do_split_packages(d, moduledir, r'^(.*)\.so$', 'samba-auth-%s', 'Samba %s authentication backend', hook=module_hook, extra_depends='', prepend=True)
236*4882a593Smuzhiyun    moduledir = '%s/samba/pdb' % libdir
237*4882a593Smuzhiyun    do_split_packages(d, moduledir, r'^(.*)\.so$', 'samba-pdb-%s', 'Samba %s password backend', hook=module_hook, extra_depends='', prepend=True)
238*4882a593Smuzhiyun}
239*4882a593Smuzhiyun
240*4882a593SmuzhiyunPACKAGESPLITFUNCS:prepend = "samba_populate_packages "
241*4882a593SmuzhiyunPACKAGES_DYNAMIC = "samba-auth-.* samba-pdb-.*"
242*4882a593Smuzhiyun
243*4882a593SmuzhiyunRDEPENDS:${PN} += "${PN}-base ${PN}-python3 ${PN}-dsdb-modules python3"
244*4882a593SmuzhiyunRDEPENDS:${PN}-python3 += "pytalloc python3-tdb pyldb"
245*4882a593Smuzhiyun
246*4882a593SmuzhiyunFILES:${PN}-base = "${sbindir}/nmbd \
247*4882a593Smuzhiyun                    ${sbindir}/smbd \
248*4882a593Smuzhiyun                    ${sysconfdir}/init.d \
249*4882a593Smuzhiyun                    ${systemd_system_unitdir}/nmb.service \
250*4882a593Smuzhiyun                    ${systemd_system_unitdir}/smb.service"
251*4882a593Smuzhiyun
252*4882a593SmuzhiyunFILES:${PN}-ad-dc = "${sbindir}/samba \
253*4882a593Smuzhiyun                     ${systemd_system_unitdir}/samba.service \
254*4882a593Smuzhiyun                     ${libdir}/krb5/plugins/kdb/samba.so \
255*4882a593Smuzhiyun"
256*4882a593SmuzhiyunRDEPENDS:${PN}-ad-dc = "krb5-kdc"
257*4882a593Smuzhiyun
258*4882a593SmuzhiyunFILES:${PN}-ctdb-tests = "${bindir}/ctdb_run_tests \
259*4882a593Smuzhiyun                          ${bindir}/ctdb_run_cluster_tests \
260*4882a593Smuzhiyun                          ${sysconfdir}/ctdb/nodes \
261*4882a593Smuzhiyun                          ${datadir}/ctdb-tests \
262*4882a593Smuzhiyun                          ${datadir}/ctdb/tests \
263*4882a593Smuzhiyun                          ${localstatedir}/lib/ctdb \
264*4882a593Smuzhiyun                         "
265*4882a593Smuzhiyun
266*4882a593SmuzhiyunFILES:${BPN}-common = "${sysconfdir}/default \
267*4882a593Smuzhiyun                       ${sysconfdir}/samba \
268*4882a593Smuzhiyun                       ${sysconfdir}/tmpfiles.d \
269*4882a593Smuzhiyun                       ${localstatedir}/lib/samba \
270*4882a593Smuzhiyun                       ${localstatedir}/spool/samba \
271*4882a593Smuzhiyun"
272*4882a593Smuzhiyun
273*4882a593SmuzhiyunFILES:${PN} += "${libdir}/vfs/*.so \
274*4882a593Smuzhiyun                ${libdir}/charset/*.so \
275*4882a593Smuzhiyun                ${libdir}/*.dat \
276*4882a593Smuzhiyun                ${libdir}/auth/*.so \
277*4882a593Smuzhiyun                ${datadir}/ctdb/events/* \
278*4882a593Smuzhiyun"
279*4882a593Smuzhiyun
280*4882a593SmuzhiyunFILES:${PN}-dsdb-modules = "${libdir}/samba/ldb"
281*4882a593Smuzhiyun
282*4882a593SmuzhiyunFILES:${PN}-testsuite = "${bindir}/gentest \
283*4882a593Smuzhiyun                         ${bindir}/locktest \
284*4882a593Smuzhiyun                         ${bindir}/masktest \
285*4882a593Smuzhiyun                         ${bindir}/ndrdump \
286*4882a593Smuzhiyun                         ${bindir}/smbtorture"
287*4882a593Smuzhiyun
288*4882a593SmuzhiyunFILES:registry-tools = "${bindir}/regdiff \
289*4882a593Smuzhiyun                        ${bindir}/regpatch \
290*4882a593Smuzhiyun                        ${bindir}/regshell \
291*4882a593Smuzhiyun                        ${bindir}/regtree"
292*4882a593Smuzhiyun
293*4882a593SmuzhiyunFILES:winbind = "${sbindir}/winbindd \
294*4882a593Smuzhiyun                 ${bindir}/wbinfo \
295*4882a593Smuzhiyun                 ${bindir}/ntlm_auth \
296*4882a593Smuzhiyun                 ${libdir}/samba/idmap \
297*4882a593Smuzhiyun                 ${libdir}/samba/nss_info \
298*4882a593Smuzhiyun                 ${libdir}/winbind_krb5_locator.so \
299*4882a593Smuzhiyun                 ${libdir}/winbind-krb5-localauth.so \
300*4882a593Smuzhiyun                 ${sysconfdir}/init.d/winbind \
301*4882a593Smuzhiyun                 ${systemd_system_unitdir}/winbind.service"
302*4882a593Smuzhiyun
303*4882a593SmuzhiyunFILES:${PN}-python3 = "${PYTHON_SITEPACKAGES_DIR}"
304*4882a593Smuzhiyun
305*4882a593SmuzhiyunFILES:smbclient = "${bindir}/cifsdd \
306*4882a593Smuzhiyun                   ${bindir}/rpcclient \
307*4882a593Smuzhiyun                   ${bindir}/smbcacls \
308*4882a593Smuzhiyun                   ${bindir}/smbclient \
309*4882a593Smuzhiyun                   ${bindir}/smbcquotas \
310*4882a593Smuzhiyun                   ${bindir}/smbget \
311*4882a593Smuzhiyun                   ${bindir}/smbspool \
312*4882a593Smuzhiyun                   ${bindir}/smbtar \
313*4882a593Smuzhiyun                   ${bindir}/smbtree \
314*4882a593Smuzhiyun                   ${libdir}/samba/smbspool_krb5_wrapper"
315*4882a593Smuzhiyun
316*4882a593SmuzhiyunRDEPENDS:${PN}-pidl:append = " perl libparse-yapp-perl"
317*4882a593SmuzhiyunFILES:${PN}-pidl = "${bindir}/pidl \
318*4882a593Smuzhiyun                    ${libdir}/perl5 \
319*4882a593Smuzhiyun                   "
320*4882a593Smuzhiyun
321*4882a593SmuzhiyunRDEPENDS:${PN}-client = "\
322*4882a593Smuzhiyun    smbclient \
323*4882a593Smuzhiyun    winbind \
324*4882a593Smuzhiyun    registry-tools \
325*4882a593Smuzhiyun    ${PN}-pidl \
326*4882a593Smuzhiyun    "
327*4882a593Smuzhiyun
328*4882a593SmuzhiyunALLOW_EMPTY:${PN}-client = "1"
329*4882a593Smuzhiyun
330*4882a593SmuzhiyunRDEPENDS:${PN}-server = "\
331*4882a593Smuzhiyun    ${PN} \
332*4882a593Smuzhiyun    winbind \
333*4882a593Smuzhiyun    registry-tools \
334*4882a593Smuzhiyun    "
335*4882a593Smuzhiyun
336*4882a593SmuzhiyunALLOW_EMPTY:${PN}-server = "1"
337*4882a593Smuzhiyun
338*4882a593SmuzhiyunRDEPENDS:${PN}-test = "\
339*4882a593Smuzhiyun    ${PN}-ctdb-tests \
340*4882a593Smuzhiyun    ${PN}-testsuite \
341*4882a593Smuzhiyun    "
342*4882a593Smuzhiyun
343*4882a593SmuzhiyunALLOW_EMPTY:${PN}-test = "1"
344*4882a593Smuzhiyun
345*4882a593Smuzhiyun# Patch for CVE-2018-1050 is applied in version 4.5.15, 4.6.13, 4.7.5.
346*4882a593Smuzhiyun# Patch for CVE-2018-1057 is applied in version 4.3.13, 4.4.16.
347*4882a593SmuzhiyunCVE_CHECK_IGNORE += "CVE-2018-1050"
348*4882a593SmuzhiyunCVE_CHECK_IGNORE += "CVE-2018-1057"
349