[oe] [meta-oe][PATCH v2 1/3] samba: fix dependencies and QA issues

Jens Rehsack rehsack at gmail.com
Thu Nov 12 16:53:08 UTC 2015


> Am 12.11.2015 um 17:43 schrieb Martin Jansa <martin.jansa at gmail.com>:
> 
> On Thu, Nov 12, 2015 at 05:17:25PM +0100, Jens Rehsack wrote:
>> 
>> Fix remaining QA issues (dependency-wise) like
>> 
>>  WARNING: QA Issue: samba rdepends on libacl, but it isn't a build dependency? [build-deps]
>>  WARNING: QA Issue: samba rdepends on libavahi-client, but it isn't a build dependency? [build-deps]
> 
> More issues were reported in:
> http://lists.openembedded.org/pipermail/openembedded-core/2015-November/112665.html
> 
> Is it fixed somewhere else (there is another patchset for samba/waf) or can you look into them?

Can I look into them later? :s/remaining/some/ :)

> WARN: samba: samba rdepends on cyrus-sasl, but it isn't a build dependency?
> WARN: samba: samba rdepends on dmapi, but it isn't a build dependency?
> WARN: samba: samba rdepends on libaio, but it isn't a build dependency?
> WARN: samba: samba rdepends on libbsd, but it isn't a build dependency?
> WARN: samba: samba rdepends on libpam, but it isn't a build dependency?

Especially that seems to be similar to my critic against waf for libldb - I'd like
to dig a bit into waf before jumping in the face of the next "I can do it better
than autoconf" folks (yeah, autoconf is ugly and cryptic, but unfortunately
building is a complex thing and autoconf is explicit about each step and allows
intercepting everywhere which should make it packagers darling ^^)

> WARN: samba: samba-python rdepends on libbsd, but it isn't a build dependency?


>> broken perl library path, having a default PACKAGECONFIG, but allow
>> user-defined one and rely on PACKAGECONFIG instead of DISTRO_FEATURES.
>> 
>> Signed-off-by: Jens Rehsack <sno at netbsd.org>
>> ---
>> meta-oe/recipes-connectivity/samba/samba_4.1.12.bb | 41 ++++++++++++++++------
>> 1 file changed, 30 insertions(+), 11 deletions(-)
>> 
>> diff --git a/meta-oe/recipes-connectivity/samba/samba_4.1.12.bb b/meta-oe/recipes-connectivity/samba/samba_4.1.12.bb
>> index af2cc1f..04df8a3 100644
>> --- a/meta-oe/recipes-connectivity/samba/samba_4.1.12.bb
>> +++ b/meta-oe/recipes-connectivity/samba/samba_4.1.12.bb
>> @@ -38,26 +38,40 @@ SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \
>> SRC_URI[md5sum] = "232016d7581a1ba11e991ec2674553c4"
>> SRC_URI[sha256sum] = "033604674936bf5c77d7df299b0626052b84a41505a6a6afe902f6274fc29898"
>> 
>> -inherit systemd waf-samba
>> +inherit systemd waf-samba cpan-base perlnative
>> 
>> -DEPENDS += "readline virtual/libiconv zlib popt talloc libtdb libtevent libldb krb5 ctdb cups"
>> -RDEPENDS_${PN} += "openldap"
>> +DEPENDS += "readline virtual/libiconv zlib popt talloc libtdb libtevent libldb krb5 ctdb"
>> 
>> -PACKAGECONFIG = "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
>> -PACKAGECONFIG += "${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
>> +SYSVINITTYPE_linuxstdbase = "lsb"
>> +SYSVINITTYPE = "sysv"
>> 
>> -PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam"
>> +PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
>> +                   ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '${SYSVINITTYPE}', '', d)} \
>> +                   ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
>> +                   ${@base_contains('DISTRO_FEATURES', 'zeroconf', 'zeroconf', '', d)} \
>> +                   acl aio cups ldap \
>> +"
>> +
>> +RDEPENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'lsb', 'lsb', '', d)}"
>> +
>> +PACKAGECONFIG[acl] = "--with-acl-support,---without-acl-support,acl"
>> +PACKAGECONFIG[aio] = "--with-aio-support,---without-aio-support,libaio"
>> PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin"
>> +PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam"
>> +PACKAGECONFIG[lsb] = ",,lsb"
>> +PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups"
>> +PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
>> PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd"
>> +PACKAGECONFIG[zeroconf] = "--enable-avahi,--disable-avahi,avahi"
>> 
>> SAMBA4_IDMAP_MODULES="idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2"
>> -SAMBA4_PDB_MODULES="pdb_tdbsam,pdb_ldap,pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4"
>> +SAMBA4_PDB_MODULES="pdb_tdbsam,${@bb.utils.contains('PACKAGECONFIG', 'ldap', 'pdb_ldap,', '', d)}pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4"
>> SAMBA4_AUTH_MODULES="auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4"
>> SAMBA4_MODULES="${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MODULES}"
>> 
>> SAMBA4_LIBS="heimdal,!zlib,!popt,!talloc,!pytalloc,!pytalloc-util,!tevent,!pytevent,!tdb,!pytdb,!ldb,!pyldb"
>> 
>> -PERL_VERNDORLIB="${datadir}/perl5/vendor_perl/"
>> +PERL_VERNDORLIB="${libdir}/perl5/vendor_perl/${PERLVERSION}"
>> 
>> EXTRA_OECONF += "--enable-fhs \
>>                  --with-piddir=${localstatedir}/run \
>> @@ -85,7 +99,7 @@ LDFLAGS += "-Wl,-z,relro,-z,now"
>> do_install_append() {
>>     rmdir --ignore-fail-on-non-empty "${D}/${localstatedir}/run"
>> 
>> -    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
>> +    if ${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'true', 'false', d)}; then
>>         install -d ${D}${systemd_unitdir}/system
>>         for i in nmb smb winbind; do
>>             install -m 0644 packaging/systemd/$i.service ${D}${systemd_unitdir}/system
>> @@ -97,11 +111,16 @@ do_install_append() {
>> 	install -d ${D}${sysconfdir}/tmpfiles.d
>> 	echo "d ${localstatedir}/log/samba 0755 root root -" \
>>> ${D}${sysconfdir}/tmpfiles.d/99-${BPN}.conf
>> -    elif ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
>> +    elif ${@bb.utils.contains('PACKAGECONFIG', 'lsb', 'true', 'false', d)}; then
>> 	install -d ${D}${sysconfdir}/init.d
>> 	install -m 0755 packaging/LSB/samba.sh ${D}${sysconfdir}/init.d
>> 	update-rc.d -r ${D} samba.sh start 20 3 5 .
>> 	update-rc.d -r ${D} samba.sh start 20 0 1 6 .
>> +    elif ${@bb.utils.contains('PACKAGECONFIG', 'lsb', 'true', 'false', d)}; then
>> +	install -d ${D}${sysconfdir}/init.d
>> +	install -m 0755 packaging/sysv/samba.init ${D}${sysconfdir}/init.d/samba.sh
>> +	update-rc.d -r ${D} samba.sh start 20 3 5 .
>> +	update-rc.d -r ${D} samba.sh start 20 0 1 6 .
>>     fi
>> 
>>     install -d ${D}${sysconfdir}/samba
>> @@ -160,4 +179,4 @@ FILES_${PN}-python-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.d
>>                           ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/dcerpc/.debug/* \
>>                          "
>> 
>> -FILES_${PN}-pidl = "${datadir}/perl5/vendor_perl/*"
>> +FILES_${PN}-pidl = "${bindir}/pidl ${PERL_VERNDORLIB}/*"
>> -- 
>> 2.4.9 (Apple Git-60)
>> 
>> 
>> -- 
>> Jens Rehsack - rehsack at gmail.com
>> 
>> -- 
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
> 
> -- 
> Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
> -- 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel

-- 
Jens Rehsack - rehsack at gmail.com




More information about the Openembedded-devel mailing list