Skip to contentSkip to conversation

dbus: fix a hard dependency about dbus-ptest

PATCH Superseded Chong Lu 3 participants 14 messages Mar 6, 2014 – Mar 18, 2014

v1 of 4 Superseded Latest is v4 →

lore
Share & tools
lore

Chong Lu

author
#0 lore raw

cover dbus: fix a hard dependency about dbus-ptest

The following changes since commit a01af0202558e6ed9d16590b3a8d1dd1b95c0374:

recipes: bump PRs (2014-03-05 17:36:37 +0000)

are available in the git repository at:

git://git.pokylinux.org/poky-contrib chonglu/dbus
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=chonglu/dbus

Chong Lu (1):
dbus: fix a hard dependency about dbus-ptest

 meta/recipes-core/dbus/{dbus-ptest_1.6.18.bb => dbus-test_1.6.18.bb} | 0
 meta/recipes-core/dbus/dbus.inc                                      | 5 ++++-
 2 files changed, 4 insertions(+), 1 deletion(-)
 rename meta/recipes-core/dbus/{dbus-ptest_1.6.18.bb => dbus-test_1.6.18.bb} (100%)
Signature · 1 line
1.8.1.2
author
#1 lore raw

PATCH 1/1 dbus: fix a hard dependency about dbus-ptest

If image contains dbus and ptest is in DISTRO_FEATURES, dbus-ptest package is installed, regardless of whether ptest-pkgs is in IMAGE_FEATURES. This issue will increase size for most small images.
This patch fixes this problem.

[YOCTO #5702]

---
 meta/recipes-core/dbus/{dbus-ptest_1.6.18.bb => dbus-test_1.6.18.bb} | 0
 meta/recipes-core/dbus/dbus.inc                                      | 5 ++++-
 2 files changed, 4 insertions(+), 1 deletion(-)
 rename meta/recipes-core/dbus/{dbus-ptest_1.6.18.bb => dbus-test_1.6.18.bb} (100%)
meta/recipes-core/dbus/dbus-test_1.6.18.bb renamed from meta/recipes-core/dbus/dbus-ptest_1.6.18.bb +0 -0
similarity index 100%
rename from meta/recipes-core/dbus/dbus-ptest_1.6.18.bb
rename to meta/recipes-core/dbus/dbus-test_1.6.18.bb
meta/recipes-core/dbus/dbus.inc +4 -1
index 677ff78..292bef6 100644
@@ -6,7 +6,6 @@ LICENSE = "AFL-2 | GPLv2+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \
                     file://dbus/dbus.h;beginline=6;endline=20;md5=7755c9d7abccd5dbd25a6a974538bb3c"
 DEPENDS = "expat virtual/libintl"
-RDEPENDS_dbus = "${@base_contains('DISTRO_FEATURES', 'ptest', 'dbus-ptest-ptest', '', d)}"
 RDEPENDS_dbus_class-native = ""
 RDEPENDS_dbus_class-nativesdk = ""
 
@@ -151,3 +150,7 @@ do_install_class-nativesdk() {
 	rm -rf ${D}${localstatedir}/run
 }
 BBCLASSEXTEND = "native nativesdk"
+
+PACKAGES += "dbus-ptest"
+ALLOW_EMPTY_${PN}-ptest = "1"
+RDEPENDS_${PN}-ptest = "${@base_contains('IMAGE_FEATURES', 'ptest-pkgs', 'dbus-test-ptest', 'dbus-test', d)}"
Signature · 1 line
1.8.1.2
#2 lore raw

meta/recipes-core/dbus/dbus.inc do_install_class-nativesdk() { · line 156

Quoted 3 lines · Chong Lu
meta/recipes-core/dbus/dbus.inc +3 -0
+PACKAGES += "dbus-ptest"
+ALLOW_EMPTY_${PN}-ptest = "1"
+RDEPENDS_${PN}-ptest = "${@base_contains('IMAGE_FEATURES', 'ptest-pkgs', 'dbus-test-ptest', 'dbus-test', d)}"

Nice idea, but wouldn't a more correct solution be to have dbus-ptest added to PACKAGES conditionally (instead of always generating dbus-ptest and conditionally adding the dependency)?

Ross

author
#3 lore raw
Quoted 11 lines · Ross

meta/recipes-core/dbus/dbus.inc do_install_class-nativesdk() { · line 156

Quoted 3 lines · Chong Lu
meta/recipes-core/dbus/dbus.inc +3 -0
+PACKAGES += "dbus-ptest"
+ALLOW_EMPTY_${PN}-ptest = "1"
+RDEPENDS_${PN}-ptest = "${@base_contains('IMAGE_FEATURES', 'ptest-pkgs', 'dbus-test-ptest', 'dbus-test', d)}"

Nice idea, but wouldn't a more correct solution be to have dbus-ptest added to PACKAGES conditionally (instead of always generating dbus-ptest and conditionally adding the dependency)?

Ross

Hi Ross,

Do you mean using PACKAGES += "${@base_contains('IMAGE_FEATURES', 'ptest-pkgs', 'dbus-ptest-ptest', 'dbus-ptest', d)}" or something else?

Best Regards
Chong

#4 lore raw
Quoted 2 lines · Chong Lu

Do you mean using PACKAGES += "${@base_contains('IMAGE_FEATURES', 'ptest-pkgs', 'dbus-ptest-ptest', 'dbus-ptest', d)}" or something else?

Clearly I wasn't thinking clearly last week. You can't check IMAGE_FEATURES in a non-image recipe so this isn't a good solution.

Ross

author
#5 lore raw
In reply to Burton, Ross
Quoted 4 lines · Ross

meta/recipes-core/dbus/dbus.inc do_install_class-nativesdk() { · line 156

Quoted 3 lines · Chong Lu
meta/recipes-core/dbus/dbus.inc +3 -0
+PACKAGES += "dbus-ptest"
+ALLOW_EMPTY_${PN}-ptest = "1"
+RDEPENDS_${PN}-ptest = "${@base_contains('IMAGE_FEATURES', 'ptest-pkgs', 'dbus-test-ptest', 'dbus-test', d)}"

Hi Ross,

Do you have any suggestion about this issue?
If we don't check IMAGE_FEATURES, I have no way to resolve this problem that only build but not install ptest. I'm very confused.

Best Regards
Chong

Quoted 11 lines

Nice idea, but wouldn't a more correct solution be to have dbus-ptest added to PACKAGES conditionally (instead of always generating dbus-ptest and conditionally adding the dependency)?

Ross
Clearly I wasn't thinking clearly last week. You can't check IMAGE_FEATURES in a non-image recipe so this isn't a good solution.

Ross

#6 lore raw
Quoted 10 lines · On Thursday 13 March 2014 17:54:03 Chong Lu wrote:
Quoted 8 lines · Ross
Quoted 4 lines · Chong Lu
meta/recipes-core/dbus/dbus.inc +3 -0
+PACKAGES += "dbus-ptest"
+ALLOW_EMPTY_${PN}-ptest = "1"
+RDEPENDS_${PN}-ptest = "${@base_contains('IMAGE_FEATURES', 'ptest-pkgs',

'dbus-test-ptest', 'dbus-test', d)}"

Clearly I wasn't thinking clearly last week. You can't check IMAGE_FEATURES in a non-image recipe so this isn't a good solution.

Quoted 3 lines

Do you have any suggestion about this issue?
If we don't check IMAGE_FEATURES, I have no way to resolve this problem that only build but not install ptest. I'm very confused.

This should check DISTRO_FEATURES, not IMAGE_FEATURES. Assuming ptest is in DISTRO_FEATURES, even if ptest is not in IMAGE_FEATURES it doesn't matter if the dependency between dbus-ptest and dbus-ptest-ptest exists because dbus- ptest itself shouldn't be in the image, so dbus-ptest-ptest shouldn't be pulled in either. Does that make sense?

Cheers,
Paul

Signature · 2 lines
Paul Eggleton
Intel Open Source Technology Centre
#7 lore raw
Quoted 12 lines · On Thursday 13 March 2014 10:01:10 Paul Eggleton wrote:
Quoted 11 lines · On Thursday 13 March 2014 17:54:03 Chong Lu wrote:
Quoted 9 lines · Ross
Quoted 5 lines · Chong Lu
meta/recipes-core/dbus/dbus.inc +3 -0
+PACKAGES += "dbus-ptest"
+ALLOW_EMPTY_${PN}-ptest = "1"
+RDEPENDS_${PN}-ptest = "${@base_contains('IMAGE_FEATURES',

'ptest-pkgs',
'dbus-test-ptest', 'dbus-test', d)}"

Clearly I wasn't thinking clearly last week. You can't check IMAGE_FEATURES in a non-image recipe so this isn't a good solution.

Quoted 5 lines
Quoted 3 lines

Do you have any suggestion about this issue?
If we don't check IMAGE_FEATURES, I have no way to resolve this problem that only build but not install ptest. I'm very confused.

This should check DISTRO_FEATURES, not IMAGE_FEATURES.

Actually even a check on DISTRO_FEATURES may not be needed; if ${PN}-ptest is not in PACKAGES then RDEPENDS_${PN}-ptest should be ignored completely.

Cheers,
Paul

Signature · 2 lines
Paul Eggleton
Intel Open Source Technology Centre
author
#8 lore raw
In reply to Paul Eggleton
Quoted 12 lines · Paul Eggleton
Quoted 11 lines · On Thursday 13 March 2014 17:54:03 Chong Lu wrote:
Quoted 7 lines · Ross
Quoted 4 lines · Chong Lu
(quoted diff) +3 -0
+PACKAGES += "dbus-ptest"
+ALLOW_EMPTY_${PN}-ptest = "1"
+RDEPENDS_${PN}-ptest = "${@base_contains('IMAGE_FEATURES', 'ptest-pkgs',

'dbus-test-ptest', 'dbus-test', d)}"

Clearly I wasn't thinking clearly last week. You can't check IMAGE_FEATURES in a non-image recipe so this isn't a good solution.

Do you have any suggestion about this issue?
If we don't check IMAGE_FEATURES, I have no way to resolve this problem that only build but not install ptest. I'm very confused.

Quoted 9 lines

This should check DISTRO_FEATURES, not IMAGE_FEATURES. Assuming ptest is in DISTRO_FEATURES, even if ptest is not in IMAGE_FEATURES it doesn't matter if the dependency between dbus-ptest and dbus-ptest-ptest exists because dbus- ptest itself shouldn't be in the image, so dbus-ptest-ptest shouldn't be pulled in either. Does that make sense?

Cheers,
Paul

Hi Paul,

Thanks for your reply!
But I still have a question.

I try to following way:

# git diff
meta/recipes-core/dbus/dbus-ptest_1.6.18.bb +1 -0
index bc260de..50dfe54 100644
@@ -9,6 +9,7 @@ DEPENDS = "python-pygobject dbus dbus-glib"
 
 RDEPENDS_${PN} += "make"
 RDEPENDS_${PN}-dev = ""
+ALLOW_EMPTY_${PN} = "1"
 
 SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
            file://tmpdir.patch \
meta/recipes-core/dbus/dbus.inc +0 -0
index 677ff78..ba7f3cb 100644
@@ -6,7 +6,7 @@ LICENSE = "AFL-2 | GPLv2+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \

file://dbus/dbus.h;beginline=6;endline=20;md5=7755c9d7abccd5dbd25a6a974538bb3c"
DEPENDS = "expat virtual/libintl"
-RDEPENDS_dbus = "${@base_contains('DISTRO_FEATURES', 'ptest', 'dbus-ptest-ptest', '', d)}" +RDEPENDS_dbus = "dbus-ptest"
RDEPENDS_dbus_class-native = ""
RDEPENDS_dbus_class-nativesdk = ""

In local.conf, I set following thing:
+EXTRA_IMAGE_FEATURES += "ptest-pkgs" +CORE_IMAGE_EXTRA_INSTALL += "dbus"

Then, I run "bitbake core-image-minimal" command. Finally, I start target through runqemu. But dbus ptest is not installed.

I alway try to many ways to fix this issue, but the result is not satisfactory.

I think the point of this defect is the following question:
If we only want to build dbus-ptest (generate dbus-ptest-ptest-***.rpm), but not install it. How to resolve it?

Best Regards
Chong

#9 lore raw
Quoted 55 lines · On Friday 14 March 2014 17:14:27 Chong Lu wrote:
Quoted 23 lines · Paul Eggleton
Quoted 11 lines · On Thursday 13 March 2014 17:54:03 Chong Lu wrote:
Quoted 9 lines · Ross
Quoted 5 lines · Chong Lu
(quoted diff) +3 -0
+PACKAGES += "dbus-ptest"
+ALLOW_EMPTY_${PN}-ptest = "1"
+RDEPENDS_${PN}-ptest = "${@base_contains('IMAGE_FEATURES',

'ptest-pkgs',
'dbus-test-ptest', 'dbus-test', d)}"

Clearly I wasn't thinking clearly last week. You can't check IMAGE_FEATURES in a non-image recipe so this isn't a good solution.

Quoted 3 lines

Do you have any suggestion about this issue?
If we don't check IMAGE_FEATURES, I have no way to resolve this problem that only build but not install ptest. I'm very confused.

This should check DISTRO_FEATURES, not IMAGE_FEATURES. Assuming ptest is in
DISTRO_FEATURES, even if ptest is not in IMAGE_FEATURES it doesn't matter if the dependency between dbus-ptest and dbus-ptest-ptest exists because dbus- ptest itself shouldn't be in the image, so dbus-ptest-ptest shouldn't be pulled in either. Does that make sense?

Quoted 2 lines

Cheers,
Paul

Hi Paul,

Thanks for your reply!
But I still have a question.

I try to following way:

# git diff
meta/recipes-core/dbus/dbus-ptest_1.6.18.bb +1 -0
index bc260de..50dfe54 100644
@@ -9,6 +9,7 @@ DEPENDS = "python-pygobject dbus dbus-glib"
 
  RDEPENDS_${PN} += "make"
  RDEPENDS_${PN}-dev = ""
+ALLOW_EMPTY_${PN} = "1"
 
  SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
             file://tmpdir.patch \
meta/recipes-core/dbus/dbus.inc +0 -0
index 677ff78..ba7f3cb 100644
@@ -6,7 +6,7 @@ LICENSE = "AFL-2 | GPLv2+"
  LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \
Quoted 5 lines

file://dbus/dbus.h;beginline=6;endline=20;md5=7755c9d7abccd5dbd25a6a974538bb 3c" DEPENDS = "expat virtual/libintl"
-RDEPENDS_dbus = "${@base_contains('DISTRO_FEATURES', 'ptest', 'dbus-ptest-ptest', '', d)}"
+RDEPENDS_dbus = "dbus-ptest"

The line above is the problem. You *cannot* do this or dbus-ptest (and therefore dbus-ptest-ptest) will always be installed whether you want it or not. You need to remove this line.

Cheers,
Paul

Signature · 2 lines
Paul Eggleton
Intel Open Source Technology Centre
author
#10 lore raw
Quoted 61 lines · Paul Eggleton
Quoted 51 lines · On Friday 14 March 2014 17:14:27 Chong Lu wrote:
Quoted 20 lines · Paul Eggleton
Quoted 9 lines · On Thursday 13 March 2014 17:54:03 Chong Lu wrote:
Quoted 8 lines · Ross
Quoted 5 lines · Chong Lu
(quoted diff) +3 -0
+PACKAGES += "dbus-ptest"
+ALLOW_EMPTY_${PN}-ptest = "1"
+RDEPENDS_${PN}-ptest = "${@base_contains('IMAGE_FEATURES',

'ptest-pkgs',
'dbus-test-ptest', 'dbus-test', d)}"

Clearly I wasn't thinking clearly last week. You can't check IMAGE_FEATURES in a non-image recipe so this isn't a good solution.

Quoted 3 lines

Do you have any suggestion about this issue?
If we don't check IMAGE_FEATURES, I have no way to resolve this problem that only build but not install ptest. I'm very confused.

This should check DISTRO_FEATURES, not IMAGE_FEATURES. Assuming ptest is in
DISTRO_FEATURES, even if ptest is not in IMAGE_FEATURES it doesn't matter if the dependency between dbus-ptest and dbus-ptest-ptest exists because dbus- ptest itself shouldn't be in the image, so dbus-ptest-ptest shouldn't be pulled in either. Does that make sense?

Quoted 2 lines

Cheers,
Paul

Hi Paul,

Thanks for your reply!
But I still have a question.

I try to following way:

# git diff
meta/recipes-core/dbus/dbus-ptest_1.6.18.bb +1 -0
index bc260de..50dfe54 100644
@@ -9,6 +9,7 @@ DEPENDS = "python-pygobject dbus dbus-glib"
 
   RDEPENDS_${PN} += "make"
   RDEPENDS_${PN}-dev = ""
+ALLOW_EMPTY_${PN} = "1"
 
   SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
              file://tmpdir.patch \
meta/recipes-core/dbus/dbus.inc +0 -0
index 677ff78..ba7f3cb 100644
@@ -6,7 +6,7 @@ LICENSE = "AFL-2 | GPLv2+"
   LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \
Quoted 5 lines

file://dbus/dbus.h;beginline=6;endline=20;md5=7755c9d7abccd5dbd25a6a974538bb 3c" DEPENDS = "expat virtual/libintl"
-RDEPENDS_dbus = "${@base_contains('DISTRO_FEATURES', 'ptest', 'dbus-ptest-ptest', '', d)}"
+RDEPENDS_dbus = "dbus-ptest"

The line above is the problem. You *cannot* do this or dbus-ptest (and therefore dbus-ptest-ptest) will always be installed whether you want it or not. You need to remove this line.

Quoted 3 lines

Cheers,
Paul

Hi Paul,

Do you mean the patch we only need to remove RDEPENDS_dbus = "${@base_contains('DISTRO_FEATURES', 'ptest', 'dbus-ptest-ptest', '', d)}" in dbus.inc ? If do this, we can't build and install dbus-ptest through `bitbake dbus' command.
How to relate between dbus and dbus-ptest?

Best Regards
Chong

#11 lore raw
Quoted 75 lines · On Monday 17 March 2014 10:09:28 Chong Lu wrote:
Quoted 64 lines · Paul Eggleton
Quoted 63 lines · On Friday 14 March 2014 17:14:27 Chong Lu wrote:
Quoted 24 lines · Paul Eggleton
Quoted 11 lines · On Thursday 13 March 2014 17:54:03 Chong Lu wrote:
Quoted 9 lines · Ross
Quoted 5 lines · Chong Lu
(quoted diff) +3 -0
+PACKAGES += "dbus-ptest"
+ALLOW_EMPTY_${PN}-ptest = "1"
+RDEPENDS_${PN}-ptest = "${@base_contains('IMAGE_FEATURES',

'ptest-pkgs',
'dbus-test-ptest', 'dbus-test', d)}"

Clearly I wasn't thinking clearly last week. You can't check IMAGE_FEATURES in a non-image recipe so this isn't a good solution.

Quoted 3 lines

Do you have any suggestion about this issue?
If we don't check IMAGE_FEATURES, I have no way to resolve this problem that only build but not install ptest. I'm very confused.

This should check DISTRO_FEATURES, not IMAGE_FEATURES. Assuming ptest is in
DISTRO_FEATURES, even if ptest is not in IMAGE_FEATURES it doesn't matter
if the dependency between dbus-ptest and dbus-ptest-ptest exists because dbus- ptest itself shouldn't be in the image, so dbus-ptest-ptest shouldn't be pulled in either. Does that make sense?

Quoted 2 lines

Cheers,
Paul

Hi Paul,

Thanks for your reply!
But I still have a question.

I try to following way:

# git diff
meta/recipes-core/dbus/dbus-ptest_1.6.18.bb +1 -0
index bc260de..50dfe54 100644
@@ -9,6 +9,7 @@ DEPENDS = "python-pygobject dbus dbus-glib"
 
   RDEPENDS_${PN} += "make"
   RDEPENDS_${PN}-dev = ""
 
+ALLOW_EMPTY_${PN} = "1"
 
   SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz
   \
              file://tmpdir.patch \
meta/recipes-core/dbus/dbus.inc +0 -0
index 677ff78..ba7f3cb 100644
@@ -6,7 +6,7 @@ LICENSE = "AFL-2 | GPLv2+"
 
   LIC_FILES_CHKSUM =
   "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \
 
Quoted 9 lines
Quoted 5 lines

file://dbus/dbus.h;beginline=6;endline=20;md5=7755c9d7abccd5dbd25a6a97453 8bb 3c" DEPENDS = "expat virtual/libintl"
-RDEPENDS_dbus = "${@base_contains('DISTRO_FEATURES', 'ptest', 'dbus-ptest-ptest', '', d)}"
+RDEPENDS_dbus = "dbus-ptest"

The line above is the problem. You *cannot* do this or dbus-ptest (and therefore dbus-ptest-ptest) will always be installed whether you want it or not. You need to remove this line.

Quoted 6 lines

Do you mean the patch we only need to remove RDEPENDS_dbus = "${@base_contains('DISTRO_FEATURES', 'ptest', 'dbus-ptest-ptest', '', d)}" in dbus.inc ?
If do this, we can't build and install dbus-ptest through `bitbake dbus' command.
How to relate between dbus and dbus-ptest?

Assuming you rename the current dbus-ptest recipe to dbus-test:

1) If the dbus recipe refers to dbus-test-ptest elsewhere (i.e. RDEPENDS_dbus-ptest = "dbus-test-ptest") then dbus-ptest will be built as needed.

2) If dbus is part of the image and ptest-pkgs is in IMAGE_FEATURES, the dbus- ptest package (and therefore the dbus-test-ptest) will be brought in automatically. The relationship between dbus and dbus-ptest is solely on the name, you do not need to add any RDEPENDS for that part.

Cheers,
Paul

Signature · 2 lines
Paul Eggleton
Intel Open Source Technology Centre
#12 lore raw
Quoted 88 lines · On Monday 17 March 2014 10:44:44 Paul Eggleton wrote:
Quoted 80 lines · On Monday 17 March 2014 10:09:28 Chong Lu wrote:
Quoted 68 lines · Paul Eggleton
Quoted 67 lines · On Friday 14 March 2014 17:14:27 Chong Lu wrote:
Quoted 27 lines · Paul Eggleton
Quoted 11 lines · On Thursday 13 March 2014 17:54:03 Chong Lu wrote:
Quoted 9 lines · Ross
Quoted 5 lines · Chong Lu
(quoted diff) +3 -0
+PACKAGES += "dbus-ptest"
+ALLOW_EMPTY_${PN}-ptest = "1"
+RDEPENDS_${PN}-ptest = "${@base_contains('IMAGE_FEATURES',

'ptest-pkgs',
'dbus-test-ptest', 'dbus-test', d)}"

Clearly I wasn't thinking clearly last week. You can't check IMAGE_FEATURES in a non-image recipe so this isn't a good solution.

Quoted 4 lines

Do you have any suggestion about this issue?
If we don't check IMAGE_FEATURES, I have no way to resolve this problem
that only build but not install ptest. I'm very confused.

This should check DISTRO_FEATURES, not IMAGE_FEATURES. Assuming ptest is
in
DISTRO_FEATURES, even if ptest is not in IMAGE_FEATURES it doesn't matter
if the dependency between dbus-ptest and dbus-ptest-ptest exists because
dbus- ptest itself shouldn't be in the image, so dbus-ptest-ptest shouldn't be pulled in either. Does that make sense?

Quoted 2 lines

Cheers,
Paul

Hi Paul,

Thanks for your reply!
But I still have a question.

I try to following way:

# git diff
meta/recipes-core/dbus/dbus-ptest_1.6.18.bb +1 -0
index bc260de..50dfe54 100644
@@ -9,6 +9,7 @@ DEPENDS = "python-pygobject dbus dbus-glib"
 
   RDEPENDS_${PN} += "make"
   RDEPENDS_${PN}-dev = ""
 
+ALLOW_EMPTY_${PN} = "1"
 
   SRC_URI =
   "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz
   \
              file://tmpdir.patch \
meta/recipes-core/dbus/dbus.inc +0 -0
index 677ff78..ba7f3cb 100644
@@ -6,7 +6,7 @@ LICENSE = "AFL-2 | GPLv2+"
 
   LIC_FILES_CHKSUM =
   "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \
 
Quoted 10 lines
Quoted 6 lines

file://dbus/dbus.h;beginline=6;endline=20;md5=7755c9d7abccd5dbd25a6a974 53
8bb 3c" DEPENDS = "expat virtual/libintl"
-RDEPENDS_dbus = "${@base_contains('DISTRO_FEATURES', 'ptest', 'dbus-ptest-ptest', '', d)}"
+RDEPENDS_dbus = "dbus-ptest"

The line above is the problem. You *cannot* do this or dbus-ptest (and therefore dbus-ptest-ptest) will always be installed whether you want it or not. You need to remove this line.

Quoted 6 lines

Do you mean the patch we only need to remove RDEPENDS_dbus = "${@base_contains('DISTRO_FEATURES', 'ptest', 'dbus-ptest-ptest', '', d)}" in dbus.inc ?
If do this, we can't build and install dbus-ptest through `bitbake dbus' command.
How to relate between dbus and dbus-ptest?

Quoted 5 lines

Assuming you rename the current dbus-ptest recipe to dbus-test:

1) If the dbus recipe refers to dbus-test-ptest elsewhere (i.e. RDEPENDS_dbus-ptest = "dbus-test-ptest") then dbus-ptest will be built as needed.

Sorry that should have been "dbus-test will be built as needed".

Quoted 4 lines

2) If dbus is part of the image and ptest-pkgs is in IMAGE_FEATURES, the dbus- ptest package (and therefore the dbus-test-ptest) will be brought in automatically. The relationship between dbus and dbus-ptest is solely on the name, you do not need to add any RDEPENDS for that part.

I should also mention that we need a fix for this soon in order to make the 1.6 release (and we *really* don't want to release 1.6 with this issue.)

Thanks,
Paul

Signature · 2 lines
Paul Eggleton
Intel Open Source Technology Centre
author
#13 lore raw
Quoted 93 lines · Paul Eggleton
Quoted 81 lines · On Monday 17 March 2014 10:44:44 Paul Eggleton wrote:
Quoted 74 lines · On Monday 17 March 2014 10:09:28 Chong Lu wrote:
Quoted 64 lines · Paul Eggleton
Quoted 63 lines · On Friday 14 March 2014 17:14:27 Chong Lu wrote:
Quoted 24 lines · Paul Eggleton
Quoted 9 lines · On Thursday 13 March 2014 17:54:03 Chong Lu wrote:
Quoted 8 lines · Ross
Quoted 5 lines · Chong Lu
(quoted diff) +3 -0
+PACKAGES += "dbus-ptest"
+ALLOW_EMPTY_${PN}-ptest = "1"
+RDEPENDS_${PN}-ptest = "${@base_contains('IMAGE_FEATURES',

'ptest-pkgs',
'dbus-test-ptest', 'dbus-test', d)}"

Clearly I wasn't thinking clearly last week. You can't check IMAGE_FEATURES in a non-image recipe so this isn't a good solution.

Quoted 4 lines

Do you have any suggestion about this issue?
If we don't check IMAGE_FEATURES, I have no way to resolve this problem
that only build but not install ptest. I'm very confused.

This should check DISTRO_FEATURES, not IMAGE_FEATURES. Assuming ptest is
in
DISTRO_FEATURES, even if ptest is not in IMAGE_FEATURES it doesn't matter
if the dependency between dbus-ptest and dbus-ptest-ptest exists because
dbus- ptest itself shouldn't be in the image, so dbus-ptest-ptest shouldn't be pulled in either. Does that make sense?

Quoted 2 lines

Cheers,
Paul

Hi Paul,

Thanks for your reply!
But I still have a question.

I try to following way:

# git diff
meta/recipes-core/dbus/dbus-ptest_1.6.18.bb +1 -0
index bc260de..50dfe54 100644
@@ -9,6 +9,7 @@ DEPENDS = "python-pygobject dbus dbus-glib"
 
    RDEPENDS_${PN} += "make"
    RDEPENDS_${PN}-dev = ""
 
+ALLOW_EMPTY_${PN} = "1"
 
    SRC_URI =
    "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz
    \
    
               file://tmpdir.patch \
meta/recipes-core/dbus/dbus.inc +0 -0
index 677ff78..ba7f3cb 100644
@@ -6,7 +6,7 @@ LICENSE = "AFL-2 | GPLv2+"
 
    LIC_FILES_CHKSUM =
    "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \
 
Quoted 9 lines
Quoted 6 lines

file://dbus/dbus.h;beginline=6;endline=20;md5=7755c9d7abccd5dbd25a6a974 53
8bb 3c" DEPENDS = "expat virtual/libintl"
-RDEPENDS_dbus = "${@base_contains('DISTRO_FEATURES', 'ptest', 'dbus-ptest-ptest', '', d)}"
+RDEPENDS_dbus = "dbus-ptest"

The line above is the problem. You *cannot* do this or dbus-ptest (and therefore dbus-ptest-ptest) will always be installed whether you want it or not. You need to remove this line.

Quoted 6 lines

Do you mean the patch we only need to remove RDEPENDS_dbus = "${@base_contains('DISTRO_FEATURES', 'ptest', 'dbus-ptest-ptest', '', d)}" in dbus.inc ?
If do this, we can't build and install dbus-ptest through `bitbake dbus' command.
How to relate between dbus and dbus-ptest?

Quoted 5 lines

Assuming you rename the current dbus-ptest recipe to dbus-test:

1) If the dbus recipe refers to dbus-test-ptest elsewhere (i.e. RDEPENDS_dbus-ptest = "dbus-test-ptest") then dbus-ptest will be built as needed.

Sorry that should have been "dbus-test will be built as needed".

Quoted 4 lines

2) If dbus is part of the image and ptest-pkgs is in IMAGE_FEATURES, the dbus- ptest package (and therefore the dbus-test-ptest) will be brought in automatically. The relationship between dbus and dbus-ptest is solely on the name, you do not need to add any RDEPENDS for that part.

Quoted 6 lines

I should also mention that we need a fix for this soon in order to make the 1.6 release (and we *really* don't want to release 1.6 with this issue.)

Thanks,
Paul

Thanks a lot. I will send a V2, please check it.

Chong