Patchwork [RFC] dbus: split dbus-launch out into its own package (again)

login
register
mail settings
Submitter Koen Kooi
Date April 4, 2014, 8:53 a.m.
Message ID <1396601617-29638-1-git-send-email-koen.kooi@linaro.org>
Download mbox | patch
Permalink /patch/70099/
State New
Headers show

Comments

Koen Kooi - April 4, 2014, 8:53 a.m.
When installing 'dbus-1' it will drag in X11 libs due to ${bindir}/dbus-launch being in ${PN}. Move it to a seperate package to be able to generate a small filesystem (e.g. initrd) without X11 libs without needed a seperate DISTRO.conf.

There will be no functional changes for existing image and packagegroup recipes since ${PN} has 'dbus-launch' in RRECOMMENDS. So to filter out dbus-launch you need to add it to BAD_RECOMMENDATIONS in the image recipe.

This is in essence a revert of:

	commit c02364f36e228835ea5d7fd4e1d347fd451f8544
	Author: Radu Moisan <radu.moisan@intel.com>
	Date:   Tue Jul 31 09:23:23 2012 +0300

	    dbus: include dbus-launch in the main dbus package

But as pointed out above, ${bindir}/dbus-launch will end up in the rootfs as before, so the issue behind c02364f36e228835ea5d7fd4e1d347fd451f8544 of a missing ${bindir}/dbus-launch won't suddenly pop up.

Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
---

I've boot tested this both with BAD_RECOMMENDATIONS and without and it seems to work as intended. The big question is how to address the dbus-x11 (R)PROVIDE entries. I feel 'dbus-launch' is a much better name than 'dbus-x11', but I don't mind respinning this patch with 'dbus-x11'.


 meta/recipes-core/dbus/dbus.inc | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
Ross Burton - April 4, 2014, 9:21 a.m.
On 4 April 2014 09:53, Koen Kooi <koen.kooi@linaro.org> wrote:
> When installing 'dbus-1' it will drag in X11 libs due to ${bindir}/dbus-launch being in ${PN}. Move it to a seperate package to be able to generate a small filesystem (e.g. initrd) without X11 libs without needed a seperate DISTRO.conf.

What's the concrete requirement for this?  Presumably an initrd that
is starting a system bus but that doesn't also need dbus-launch?

Ross
Koen Kooi - April 4, 2014, 9:25 a.m.
On 04/04/2014 11:21 AM, Burton, Ross wrote:
> On 4 April 2014 09:53, Koen Kooi <koen.kooi@linaro.org> wrote:
>> When installing 'dbus-1' it will drag in X11 libs due to ${bindir}/dbus-launch being in ${PN}. Move it to a seperate package to be able to generate a small filesystem (e.g. initrd) without X11 libs without needed a seperate DISTRO.conf.
>
> What's the concrete requirement for this?  Presumably an initrd that
> is starting a system bus but that doesn't also need dbus-launch?\

Correct, an initrd using systemd as /sbin/init is what I want here. I 
don't want to change DISTRO_FEATURES just for building an initrd.
Martin Jansa - April 4, 2014, 10:14 a.m.
On Fri, Apr 04, 2014 at 10:53:37AM +0200, Koen Kooi wrote:
> When installing 'dbus-1' it will drag in X11 libs due to ${bindir}/dbus-launch being in ${PN}. Move it to a seperate package to be able to generate a small filesystem (e.g. initrd) without X11 libs without needed a seperate DISTRO.conf.
> 
> There will be no functional changes for existing image and packagegroup recipes since ${PN} has 'dbus-launch' in RRECOMMENDS. So to filter out dbus-launch you need to add it to BAD_RECOMMENDATIONS in the image recipe.
> 
> This is in essence a revert of:
> 
> 	commit c02364f36e228835ea5d7fd4e1d347fd451f8544
> 	Author: Radu Moisan <radu.moisan@intel.com>
> 	Date:   Tue Jul 31 09:23:23 2012 +0300
> 
> 	    dbus: include dbus-launch in the main dbus package
> 
> But as pointed out above, ${bindir}/dbus-launch will end up in the rootfs as before, so the issue behind c02364f36e228835ea5d7fd4e1d347fd451f8544 of a missing ${bindir}/dbus-launch won't suddenly pop up.
> 
> Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
> ---
> 
> I've boot tested this both with BAD_RECOMMENDATIONS and without and it seems to work as intended. The big question is how to address the dbus-x11 (R)PROVIDE entries. I feel 'dbus-launch' is a much better name than 'dbus-x11', but I don't mind respinning this patch with 'dbus-x11'.
> 
> 
>  meta/recipes-core/dbus/dbus.inc | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/meta/recipes-core/dbus/dbus.inc b/meta/recipes-core/dbus/dbus.inc
> index 677ff78..28074be 100644
> --- a/meta/recipes-core/dbus/dbus.inc
> +++ b/meta/recipes-core/dbus/dbus.inc
> @@ -37,7 +37,7 @@ CONFFILES_${PN} = "${sysconfdir}/dbus-1/system.conf ${sysconfdir}/dbus-1/session
>  
>  DEBIANNAME_${PN} = "dbus-1"
>  
> -PACKAGES =+ "${PN}-lib"
> +PACKAGES =+ "${PN}-lib dbus-launch"
>  
>  OLDPKGNAME = "dbus-x11"
>  OLDPKGNAME_class-nativesdk = ""
> @@ -51,15 +51,20 @@ FILES_${PN} = "${bindir}/dbus-daemon* \
>                 ${bindir}/dbus-cleanup-sockets \
>                 ${bindir}/dbus-send \
>                 ${bindir}/dbus-monitor \
> -               ${bindir}/dbus-launch \
>                 ${libexecdir}/dbus* \
>                 ${sysconfdir} \
>                 ${localstatedir} \
>                 ${datadir}/dbus-1/services \
>                 ${datadir}/dbus-1/system-services \
>                 ${systemd_unitdir}/system/"
> +
>  FILES_${PN}-lib = "${libdir}/lib*.so.*"
>  RRECOMMENDS_${PN}-lib = "${PN}"
> +
> +FILES_dbus-launch = "${bindir}/dbus-launch"
> +RDEPENDS__dbus-launch = "${PN}"
> +RRECOMMENDS_${PN} += "dbus-launch"

Is there special reason for not using ${PN}-launch?

There is extra underscore in RDEPENDS.

> +
>  FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-glib-tool"
>  
>  pkg_postinst_dbus() {
> -- 
> 1.9.0
> 
> -- 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
Koen Kooi - April 4, 2014, 10:30 a.m.
On 04/04/2014 12:14 PM, Martin Jansa wrote:
> On Fri, Apr 04, 2014 at 10:53:37AM +0200, Koen Kooi wrote:
>> When installing 'dbus-1' it will drag in X11 libs due to ${bindir}/dbus-launch being in ${PN}. Move it to a seperate package to be able to generate a small filesystem (e.g. initrd) without X11 libs without needed a seperate DISTRO.conf.
>>
>> There will be no functional changes for existing image and packagegroup recipes since ${PN} has 'dbus-launch' in RRECOMMENDS. So to filter out dbus-launch you need to add it to BAD_RECOMMENDATIONS in the image recipe.
>>
>> This is in essence a revert of:
>>
>> 	commit c02364f36e228835ea5d7fd4e1d347fd451f8544
>> 	Author: Radu Moisan <radu.moisan@intel.com>
>> 	Date:   Tue Jul 31 09:23:23 2012 +0300
>>
>> 	    dbus: include dbus-launch in the main dbus package
>>
>> But as pointed out above, ${bindir}/dbus-launch will end up in the rootfs as before, so the issue behind c02364f36e228835ea5d7fd4e1d347fd451f8544 of a missing ${bindir}/dbus-launch won't suddenly pop up.
>>
>> Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
>> ---
>>
>> I've boot tested this both with BAD_RECOMMENDATIONS and without and it seems to work as intended. The big question is how to address the dbus-x11 (R)PROVIDE entries. I feel 'dbus-launch' is a much better name than 'dbus-x11', but I don't mind respinning this patch with 'dbus-x11'.
>>
>>
>>   meta/recipes-core/dbus/dbus.inc | 9 +++++++--
>>   1 file changed, 7 insertions(+), 2 deletions(-)
>>
>> diff --git a/meta/recipes-core/dbus/dbus.inc b/meta/recipes-core/dbus/dbus.inc
>> index 677ff78..28074be 100644
>> --- a/meta/recipes-core/dbus/dbus.inc
>> +++ b/meta/recipes-core/dbus/dbus.inc
>> @@ -37,7 +37,7 @@ CONFFILES_${PN} = "${sysconfdir}/dbus-1/system.conf ${sysconfdir}/dbus-1/session
>>
>>   DEBIANNAME_${PN} = "dbus-1"
>>
>> -PACKAGES =+ "${PN}-lib"
>> +PACKAGES =+ "${PN}-lib dbus-launch"
>>
>>   OLDPKGNAME = "dbus-x11"
>>   OLDPKGNAME_class-nativesdk = ""
>> @@ -51,15 +51,20 @@ FILES_${PN} = "${bindir}/dbus-daemon* \
>>                  ${bindir}/dbus-cleanup-sockets \
>>                  ${bindir}/dbus-send \
>>                  ${bindir}/dbus-monitor \
>> -               ${bindir}/dbus-launch \
>>                  ${libexecdir}/dbus* \
>>                  ${sysconfdir} \
>>                  ${localstatedir} \
>>                  ${datadir}/dbus-1/services \
>>                  ${datadir}/dbus-1/system-services \
>>                  ${systemd_unitdir}/system/"
>> +
>>   FILES_${PN}-lib = "${libdir}/lib*.so.*"
>>   RRECOMMENDS_${PN}-lib = "${PN}"
>> +
>> +FILES_dbus-launch = "${bindir}/dbus-launch"
>> +RDEPENDS__dbus-launch = "${PN}"
>> +RRECOMMENDS_${PN} += "dbus-launch"
>
> Is there special reason for not using ${PN}-launch?

PN is 'dbus-1', not 'dbus'

>
> There is extra underscore in RDEPENDS.

Good catch, thanks!

>
>> +
>>   FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-glib-tool"
>>
>>   pkg_postinst_dbus() {
>> --
>> 1.9.0
>>
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
Richard Purdie - April 4, 2014, 10:38 a.m.
On Fri, 2014-04-04 at 12:30 +0200, Koen Kooi wrote:
> On 04/04/2014 12:14 PM, Martin Jansa wrote:
> > On Fri, Apr 04, 2014 at 10:53:37AM +0200, Koen Kooi wrote:
> >>   FILES_${PN}-lib = "${libdir}/lib*.so.*"
> >>   RRECOMMENDS_${PN}-lib = "${PN}"
> >> +
> >> +FILES_dbus-launch = "${bindir}/dbus-launch"
> >> +RDEPENDS__dbus-launch = "${PN}"
> >> +RRECOMMENDS_${PN} += "dbus-launch"
> >
> > Is there special reason for not using ${PN}-launch?
> 
> PN is 'dbus-1', not 'dbus'

$ bitbake dbus -e | grep PN=
PN="dbus"

I suspect you're thinking of the name after debian.bbclass is done with
it.

Cheers,

Richard
Koen Kooi - April 4, 2014, 10:40 a.m.
On 04/04/2014 12:38 PM, Richard Purdie wrote:
> On Fri, 2014-04-04 at 12:30 +0200, Koen Kooi wrote:
>> On 04/04/2014 12:14 PM, Martin Jansa wrote:
>>> On Fri, Apr 04, 2014 at 10:53:37AM +0200, Koen Kooi wrote:
>>>>    FILES_${PN}-lib = "${libdir}/lib*.so.*"
>>>>    RRECOMMENDS_${PN}-lib = "${PN}"
>>>> +
>>>> +FILES_dbus-launch = "${bindir}/dbus-launch"
>>>> +RDEPENDS__dbus-launch = "${PN}"
>>>> +RRECOMMENDS_${PN} += "dbus-launch"
>>>
>>> Is there special reason for not using ${PN}-launch?
>>
>> PN is 'dbus-1', not 'dbus'
>
> $ bitbake dbus -e | grep PN=
> PN="dbus"
>
> I suspect you're thinking of the name after debian.bbclass is done with
> it.

Indeed, I'll change it to use PN!

Patch

diff --git a/meta/recipes-core/dbus/dbus.inc b/meta/recipes-core/dbus/dbus.inc
index 677ff78..28074be 100644
--- a/meta/recipes-core/dbus/dbus.inc
+++ b/meta/recipes-core/dbus/dbus.inc
@@ -37,7 +37,7 @@  CONFFILES_${PN} = "${sysconfdir}/dbus-1/system.conf ${sysconfdir}/dbus-1/session
 
 DEBIANNAME_${PN} = "dbus-1"
 
-PACKAGES =+ "${PN}-lib"
+PACKAGES =+ "${PN}-lib dbus-launch"
 
 OLDPKGNAME = "dbus-x11"
 OLDPKGNAME_class-nativesdk = ""
@@ -51,15 +51,20 @@  FILES_${PN} = "${bindir}/dbus-daemon* \
                ${bindir}/dbus-cleanup-sockets \
                ${bindir}/dbus-send \
                ${bindir}/dbus-monitor \
-               ${bindir}/dbus-launch \
                ${libexecdir}/dbus* \
                ${sysconfdir} \
                ${localstatedir} \
                ${datadir}/dbus-1/services \
                ${datadir}/dbus-1/system-services \
                ${systemd_unitdir}/system/"
+
 FILES_${PN}-lib = "${libdir}/lib*.so.*"
 RRECOMMENDS_${PN}-lib = "${PN}"
+
+FILES_dbus-launch = "${bindir}/dbus-launch"
+RDEPENDS__dbus-launch = "${PN}"
+RRECOMMENDS_${PN} += "dbus-launch"
+
 FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-glib-tool"
 
 pkg_postinst_dbus() {