All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V3 0/3] misc IMAGE_FEATURE fixings
@ 2012-06-25  5:15 Lianhao Lu
  2012-06-25  5:15 ` [PATCH V3 1/3] classes/image: Allow openssh empty passwords login Lianhao Lu
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Lianhao Lu @ 2012-06-25  5:15 UTC (permalink / raw)
  To: openembedded-core

This patch set fixed the bug [YOCTO #2605].

It allows to login to openssh with empty password if the IMAGE_FEATURE
debug-tweak feature is set.

It processes conflicting IMAGE_FEATURE features, i.e. ssh-server-dropbear 
and ssh-server-openssh.

It also adds the "openssh-sftp-server" into the IMAGE_FEATURE tools-debug.

The following changes since commit e2cc4a44d510e0d473d15f207c1c886db6a5ccf7:
  Bogdan Marinescu (1):
        guile: fix compilation on MIPS/PPC

are available in the git repository at:

  git://git.yoctoproject.org/poky-contrib llu/bug2605
  http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=llu/bug2605

Lianhao Lu (3):
  classes/image: Allow openssh empty passwords login.
  image/core-image: Handle conflicting IMAGE_FEATURES.
  task-core-tools-debug: Added openssh-sftp-server.

 meta/classes/core-image.bbclass                  |   13 +++++++++++-
 meta/classes/image.bbclass                       |   24 ++++++++++++++++++++++
 meta/recipes-core/tasks/task-core-tools-debug.bb |    3 ++
 meta/recipes-sato/images/core-image-sato-sdk.bb  |    2 +
 4 files changed, 41 insertions(+), 1 deletions(-)




^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH V3 1/3] classes/image: Allow openssh empty passwords login.
  2012-06-25  5:15 [PATCH V3 0/3] misc IMAGE_FEATURE fixings Lianhao Lu
@ 2012-06-25  5:15 ` Lianhao Lu
  2012-06-25  5:15 ` [PATCH V3 2/3] image/core-image: Handle conflicting IMAGE_FEATURES Lianhao Lu
  2012-06-25  5:15 ` [PATCH V3 3/3] task-core-tools-debug: Added openssh-sftp-server Lianhao Lu
  2 siblings, 0 replies; 7+ messages in thread
From: Lianhao Lu @ 2012-06-25  5:15 UTC (permalink / raw)
  To: openembedded-core

Allow empty passwords login so that the default root user can login in
through openssh.

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
---
 meta/classes/core-image.bbclass |    2 ++
 meta/classes/image.bbclass      |    7 +++++++
 2 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/meta/classes/core-image.bbclass b/meta/classes/core-image.bbclass
index e2ad0fc..25f5c5a 100644
--- a/meta/classes/core-image.bbclass
+++ b/meta/classes/core-image.bbclass
@@ -69,4 +69,6 @@ ROOTFS_POSTPROCESS_COMMAND += "rootfs_update_timestamp ; "
 
 # Zap the root password if debug-tweaks feature is not enabled
 ROOTFS_POSTPROCESS_COMMAND += '${@base_contains("IMAGE_FEATURES", "debug-tweaks", "", "zap_root_password ; ",d)}'
+# Allow openssh accept empty password login if both debug-tweaks and ssh-server-openssh are enabled
+ROOTFS_POSTPROCESS_COMMAND += '${@base_contains("IMAGE_FEATURES", "debug-tweaks ssh-server-openssh", "openssh_allow_empty_password; ", "",d)}'
 
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index fb932b9..0772363 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -318,6 +318,13 @@ zap_root_password () {
 	mv ${IMAGE_ROOTFS}/etc/passwd.new ${IMAGE_ROOTFS}/etc/passwd
 } 
 
+# allow openssh accept login with empty password string
+openssh_allow_empty_password () {
+	if [ -e ${IMAGE_ROOTFS}${sysconfdir}/ssh/sshd_config ]; then
+		sed -i 's#.*PermitEmptyPasswords.*#PermitEmptyPasswords yes#' ${IMAGE_ROOTFS}${sysconfdir}/ssh/sshd_config
+	fi
+}
+
 # Turn any symbolic /sbin/init link into a file
 remove_init_link () {
 	if [ -h ${IMAGE_ROOTFS}/sbin/init ]; then
-- 
1.7.0.4




^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH V3 2/3] image/core-image: Handle conflicting IMAGE_FEATURES.
  2012-06-25  5:15 [PATCH V3 0/3] misc IMAGE_FEATURE fixings Lianhao Lu
  2012-06-25  5:15 ` [PATCH V3 1/3] classes/image: Allow openssh empty passwords login Lianhao Lu
@ 2012-06-25  5:15 ` Lianhao Lu
  2012-07-02  8:55   ` Richard Purdie
  2012-06-25  5:15 ` [PATCH V3 3/3] task-core-tools-debug: Added openssh-sftp-server Lianhao Lu
  2 siblings, 1 reply; 7+ messages in thread
From: Lianhao Lu @ 2012-06-25  5:15 UTC (permalink / raw)
  To: openembedded-core

IMAGE_FEATURES such as 'ssh-server-dropbear' and 'ssh-server-openssh'
can't be both enabled. User can use the following variables to define
the relationship of image features:

IMAGE_FEATURES_REPLACES_foo = "bar" means including image feature "foo"
would replace the image feature "bar".

IMAGE_FEATURES_CONFLICTS_foo = "bar" means including both image features
"foo" and "bar" would cause an parsing error.

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
---
 meta/classes/core-image.bbclass                 |   11 ++++++++++-
 meta/classes/image.bbclass                      |   17 +++++++++++++++++
 meta/recipes-sato/images/core-image-sato-sdk.bb |    2 ++
 3 files changed, 29 insertions(+), 1 deletions(-)

diff --git a/meta/classes/core-image.bbclass b/meta/classes/core-image.bbclass
index 25f5c5a..6b207d7 100644
--- a/meta/classes/core-image.bbclass
+++ b/meta/classes/core-image.bbclass
@@ -47,6 +47,14 @@ PACKAGE_GROUP_ssh-server-openssh = "task-core-ssh-openssh"
 PACKAGE_GROUP_package-management = "${ROOTFS_PKGMANAGE}"
 PACKAGE_GROUP_qt4-pkgs = "task-core-qt-demos"
 
+
+# IMAGE_FEAETURES_REPLACES_foo = 'bar1 bar2'
+# Including image feature foo would replace the image features bar1 and bar2
+IMAGE_FEATURES_REPLACES_ssh-server-openssh = "ssh-server-dropbear"
+
+# IMAGE_FEATURES_CONFLICTS_foo = 'bar1 bar2'
+# An error exception would be raised if both image features foo and bar1(or bar2) are included
+
 CORE_IMAGE_BASE_INSTALL = '\
     task-core-boot \
     task-base-extended \
@@ -60,7 +68,8 @@ IMAGE_INSTALL ?= "${CORE_IMAGE_BASE_INSTALL}"
 
 X11_IMAGE_FEATURES  = "x11-base apps-x11-core package-management"
 ENHANCED_IMAGE_FEATURES = "${X11_IMAGE_FEATURES} apps-x11-games apps-x11-pimlico package-management"
-SATO_IMAGE_FEATURES = "${ENHANCED_IMAGE_FEATURES} x11-sato ssh-server-dropbear"
+SSHSERVER_IMAGE_FEATURES ??= "ssh-server-dropbear"
+SATO_IMAGE_FEATURES = "${ENHANCED_IMAGE_FEATURES} x11-sato ${SSHSERVER_IMAGE_FEATURES}"
 
 inherit image
 
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index 0772363..6fac974 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -87,6 +87,23 @@ python () {
         deps += " %s:do_populate_sysroot" % dep
     d.setVarFlag('do_rootfs', 'depends', deps)
 
+    #process IMAGE_FEATURES, we must do this before runtime_mapping_rename
+    #Check for replaces image features
+    features = set(oe.data.typed_value('IMAGE_FEATURES', d))
+    remain_features = features.copy()
+    for feature in features:
+        replaces = set((d.getVar("IMAGE_FEATURES_REPLACES_%s" % feature, True) or "").split())
+        remain_features -= replaces
+
+    #Check for conflict image features
+    for feature in remain_features:
+        conflicts = set((d.getVar("IMAGE_FEATURES_CONFLICTS_%s" % feature, True) or "").split())
+        temp = conflicts & remain_features
+        if temp:
+            raise bb.parse.SkipPackage("%s contains conflicting IMAGE_FEATURES %s %s" % (d.getVar('PN', True), feature, ' '.join(list(temp))))
+
+    d.setVar('IMAGE_FEATURES', ' '.join(list(remain_features)))
+
     # If we don't do this we try and run the mapping hooks while parsing which is slow
     # bitbake should really provide something to let us know this...
     if d.getVar('BB_WORKERCONTEXT', True) is not None:
diff --git a/meta/recipes-sato/images/core-image-sato-sdk.bb b/meta/recipes-sato/images/core-image-sato-sdk.bb
index eed1698..5bb9469 100644
--- a/meta/recipes-sato/images/core-image-sato-sdk.bb
+++ b/meta/recipes-sato/images/core-image-sato-sdk.bb
@@ -8,6 +8,8 @@ form a standalone SDK."
 IMAGE_FEATURES += "apps-console-core ${SATO_IMAGE_FEATURES} dev-pkgs tools-sdk qt4-pkgs"
 EXTRA_IMAGE_FEATURES += "tools-debug tools-profile tools-testapps debug-tweaks"
 
+SSHSERVER_IMAGE_FEATURES = "ssh-server-openssh"
+
 LICENSE = "MIT"
 
 inherit core-image
-- 
1.7.0.4




^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH V3 3/3] task-core-tools-debug: Added openssh-sftp-server.
  2012-06-25  5:15 [PATCH V3 0/3] misc IMAGE_FEATURE fixings Lianhao Lu
  2012-06-25  5:15 ` [PATCH V3 1/3] classes/image: Allow openssh empty passwords login Lianhao Lu
  2012-06-25  5:15 ` [PATCH V3 2/3] image/core-image: Handle conflicting IMAGE_FEATURES Lianhao Lu
@ 2012-06-25  5:15 ` Lianhao Lu
  2 siblings, 0 replies; 7+ messages in thread
From: Lianhao Lu @ 2012-06-25  5:15 UTC (permalink / raw)
  To: openembedded-core

Added openssh-sftp-server to the tools-debug IMAGE_FEATURE.

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
---
 meta/recipes-core/tasks/task-core-tools-debug.bb |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/meta/recipes-core/tasks/task-core-tools-debug.bb b/meta/recipes-core/tasks/task-core-tools-debug.bb
index 1dddbb8..b7eff21 100644
--- a/meta/recipes-core/tasks/task-core-tools-debug.bb
+++ b/meta/recipes-core/tasks/task-core-tools-debug.bb
@@ -13,6 +13,8 @@ PACKAGES = "\
     ${PN}-dev \
     "
 
+PR = "r1"
+
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 ALLOW_EMPTY = "1"
@@ -24,6 +26,7 @@ RDEPENDS_${PN} = "\
     gdb \
     gdbserver \
     tcf-agent \
+    openssh-sftp-server \
     rsync \
     strace \
     ${MTRACE} \
-- 
1.7.0.4




^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH V3 2/3] image/core-image: Handle conflicting IMAGE_FEATURES.
  2012-06-25  5:15 ` [PATCH V3 2/3] image/core-image: Handle conflicting IMAGE_FEATURES Lianhao Lu
@ 2012-07-02  8:55   ` Richard Purdie
  2012-07-02 11:10     ` Lu, Lianhao
  0 siblings, 1 reply; 7+ messages in thread
From: Richard Purdie @ 2012-07-02  8:55 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On Mon, 2012-06-25 at 13:15 +0800, Lianhao Lu wrote:
> IMAGE_FEATURES such as 'ssh-server-dropbear' and 'ssh-server-openssh'
> can't be both enabled. User can use the following variables to define
> the relationship of image features:
> 
> IMAGE_FEATURES_REPLACES_foo = "bar" means including image feature "foo"
> would replace the image feature "bar".
> 
> IMAGE_FEATURES_CONFLICTS_foo = "bar" means including both image features
> "foo" and "bar" would cause an parsing error.
> 
> Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
> ---
>  meta/classes/core-image.bbclass                 |   11 ++++++++++-
>  meta/classes/image.bbclass                      |   17 +++++++++++++++++
>  meta/recipes-sato/images/core-image-sato-sdk.bb |    2 ++
>  3 files changed, 29 insertions(+), 1 deletions(-)
> 
> diff --git a/meta/classes/core-image.bbclass b/meta/classes/core-image.bbclass
> index 25f5c5a..6b207d7 100644
> --- a/meta/classes/core-image.bbclass
> +++ b/meta/classes/core-image.bbclass
> @@ -47,6 +47,14 @@ PACKAGE_GROUP_ssh-server-openssh = "task-core-ssh-openssh"
>  PACKAGE_GROUP_package-management = "${ROOTFS_PKGMANAGE}"
>  PACKAGE_GROUP_qt4-pkgs = "task-core-qt-demos"
>  
> +
> +# IMAGE_FEAETURES_REPLACES_foo = 'bar1 bar2'
> +# Including image feature foo would replace the image features bar1 and bar2
> +IMAGE_FEATURES_REPLACES_ssh-server-openssh = "ssh-server-dropbear"
> +
> +# IMAGE_FEATURES_CONFLICTS_foo = 'bar1 bar2'
> +# An error exception would be raised if both image features foo and bar1(or bar2) are included
> +
>  CORE_IMAGE_BASE_INSTALL = '\
>      task-core-boot \
>      task-base-extended \
> @@ -60,7 +68,8 @@ IMAGE_INSTALL ?= "${CORE_IMAGE_BASE_INSTALL}"
>  
>  X11_IMAGE_FEATURES  = "x11-base apps-x11-core package-management"
>  ENHANCED_IMAGE_FEATURES = "${X11_IMAGE_FEATURES} apps-x11-games apps-x11-pimlico package-management"
> -SATO_IMAGE_FEATURES = "${ENHANCED_IMAGE_FEATURES} x11-sato ssh-server-dropbear"
> +SSHSERVER_IMAGE_FEATURES ??= "ssh-server-dropbear"
> +SATO_IMAGE_FEATURES = "${ENHANCED_IMAGE_FEATURES} x11-sato ${SSHSERVER_IMAGE_FEATURES}"
>  
>  inherit image
>  
> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
> index 0772363..6fac974 100644
> --- a/meta/classes/image.bbclass
> +++ b/meta/classes/image.bbclass
> @@ -87,6 +87,23 @@ python () {
>          deps += " %s:do_populate_sysroot" % dep
>      d.setVarFlag('do_rootfs', 'depends', deps)
>  
> +    #process IMAGE_FEATURES, we must do this before runtime_mapping_rename
> +    #Check for replaces image features
> +    features = set(oe.data.typed_value('IMAGE_FEATURES', d))
> +    remain_features = features.copy()
> +    for feature in features:
> +        replaces = set((d.getVar("IMAGE_FEATURES_REPLACES_%s" % feature, True) or "").split())
> +        remain_features -= replaces
> +
> +    #Check for conflict image features
> +    for feature in remain_features:
> +        conflicts = set((d.getVar("IMAGE_FEATURES_CONFLICTS_%s" % feature, True) or "").split())
> +        temp = conflicts & remain_features
> +        if temp:
> +            raise bb.parse.SkipPackage("%s contains conflicting IMAGE_FEATURES %s %s" % (d.getVar('PN', True), feature, ' '.join(list(temp))))


I'm not sure that SkipPackage is the right error here. This will simply
make the image target "disappear" when in this case we really want to
raise a "proper" error?


Cheers,

Richard




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH V3 2/3] image/core-image: Handle conflicting IMAGE_FEATURES.
  2012-07-02  8:55   ` Richard Purdie
@ 2012-07-02 11:10     ` Lu, Lianhao
  2012-07-02 13:45       ` Richard Purdie
  0 siblings, 1 reply; 7+ messages in thread
From: Lu, Lianhao @ 2012-07-02 11:10 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer


Richard Purdie wrote on 2012-07-02:
> On Mon, 2012-06-25 at 13:15 +0800, Lianhao Lu wrote:
>> IMAGE_FEATURES such as 'ssh-server-dropbear' and 'ssh-server-openssh'
>> can't be both enabled. User can use the following variables to define
>> the relationship of image features:
>> 
>> IMAGE_FEATURES_REPLACES_foo = "bar" means including image feature "foo"
>> would replace the image feature "bar".
>> 
>> IMAGE_FEATURES_CONFLICTS_foo = "bar" means including both image features
>> "foo" and "bar" would cause an parsing error.
>> 
>> Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
>> ---
>>  meta/classes/core-image.bbclass                 |   11 ++++++++++-
>>  meta/classes/image.bbclass                      |   17 +++++++++++++++++
>>  meta/recipes-sato/images/core-image-sato-sdk.bb |    2 ++
>>  3 files changed, 29 insertions(+), 1 deletions(-)
>> diff --git a/meta/classes/core-image.bbclass b/meta/classes/core-image.bbclass
>> index 25f5c5a..6b207d7 100644
>> --- a/meta/classes/core-image.bbclass
>> +++ b/meta/classes/core-image.bbclass
>> @@ -47,6 +47,14 @@ PACKAGE_GROUP_ssh-server-openssh = "task-core-ssh-openssh"
>>  PACKAGE_GROUP_package-management = "${ROOTFS_PKGMANAGE}"
>>  PACKAGE_GROUP_qt4-pkgs = "task-core-qt-demos"
>> +
>> +# IMAGE_FEAETURES_REPLACES_foo = 'bar1 bar2'
>> +# Including image feature foo would replace the image features bar1 and bar2
>> +IMAGE_FEATURES_REPLACES_ssh-server-openssh = "ssh-server-dropbear"
>> +
>> +# IMAGE_FEATURES_CONFLICTS_foo = 'bar1 bar2'
>> +# An error exception would be raised if both image features foo and bar1(or bar2) are included
>> +
>>  CORE_IMAGE_BASE_INSTALL = '\
>>      task-core-boot \
>>      task-base-extended \
>> @@ -60,7 +68,8 @@ IMAGE_INSTALL ?= "${CORE_IMAGE_BASE_INSTALL}"
>> 
>>  X11_IMAGE_FEATURES  = "x11-base apps-x11-core package-management"
>>  ENHANCED_IMAGE_FEATURES = "${X11_IMAGE_FEATURES} apps-x11-games apps-x11-pimlico package-management"
>> -SATO_IMAGE_FEATURES = "${ENHANCED_IMAGE_FEATURES} x11-sato ssh-server-dropbear"
>> +SSHSERVER_IMAGE_FEATURES ??= "ssh-server-dropbear"
>> +SATO_IMAGE_FEATURES = "${ENHANCED_IMAGE_FEATURES} x11-sato ${SSHSERVER_IMAGE_FEATURES}"
>> 
>>  inherit image
>> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
>> index 0772363..6fac974 100644
>> --- a/meta/classes/image.bbclass
>> +++ b/meta/classes/image.bbclass
>> @@ -87,6 +87,23 @@ python () {
>>          deps += " %s:do_populate_sysroot" % dep
>>      d.setVarFlag('do_rootfs', 'depends', deps)
>> +    #process IMAGE_FEATURES, we must do this before runtime_mapping_rename
>> +    #Check for replaces image features
>> +    features = set(oe.data.typed_value('IMAGE_FEATURES', d))
>> +    remain_features = features.copy()
>> +    for feature in features:
>> +        replaces = set((d.getVar("IMAGE_FEATURES_REPLACES_%s" % feature, True) or "").split())
>> +        remain_features -= replaces
>> +
>> +    #Check for conflict image features
>> +    for feature in remain_features:
>> +        conflicts = set((d.getVar("IMAGE_FEATURES_CONFLICTS_%s" % feature, True) or "").split())
>> +        temp = conflicts & remain_features
>> +        if temp:
>> +            raise bb.parse.SkipPackage("%s contains conflicting IMAGE_FEATURES %s %s" % (d.getVar('PN', True), feature, '
> '.join(list(temp))))
> 
> 
> I'm not sure that SkipPackage is the right error here. This will simply
> make the image target "disappear" when in this case we really want to
> raise a "proper" error?
> 

How about directly bb.fatal? Just like the base.bbclass handles the recipes without setting the LICENSE field.

Best Regards,
Lianhao





^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH V3 2/3] image/core-image: Handle conflicting IMAGE_FEATURES.
  2012-07-02 11:10     ` Lu, Lianhao
@ 2012-07-02 13:45       ` Richard Purdie
  0 siblings, 0 replies; 7+ messages in thread
From: Richard Purdie @ 2012-07-02 13:45 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On Mon, 2012-07-02 at 11:10 +0000, Lu, Lianhao wrote:
> Richard Purdie wrote on 2012-07-02:
> > On Mon, 2012-06-25 at 13:15 +0800, Lianhao Lu wrote:
> >> IMAGE_FEATURES such as 'ssh-server-dropbear' and 'ssh-server-openssh'
> >> can't be both enabled. User can use the following variables to define
> >> the relationship of image features:
> >> 
> >> IMAGE_FEATURES_REPLACES_foo = "bar" means including image feature "foo"
> >> would replace the image feature "bar".
> >> 
> >> IMAGE_FEATURES_CONFLICTS_foo = "bar" means including both image features
> >> "foo" and "bar" would cause an parsing error.
> >> 
> >> Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
> >> ---
> >>  meta/classes/core-image.bbclass                 |   11 ++++++++++-
> >>  meta/classes/image.bbclass                      |   17 +++++++++++++++++
> >>  meta/recipes-sato/images/core-image-sato-sdk.bb |    2 ++
> >>  3 files changed, 29 insertions(+), 1 deletions(-)
> >> diff --git a/meta/classes/core-image.bbclass b/meta/classes/core-image.bbclass
> >> index 25f5c5a..6b207d7 100644
> >> --- a/meta/classes/core-image.bbclass
> >> +++ b/meta/classes/core-image.bbclass
> >> @@ -47,6 +47,14 @@ PACKAGE_GROUP_ssh-server-openssh = "task-core-ssh-openssh"
> >>  PACKAGE_GROUP_package-management = "${ROOTFS_PKGMANAGE}"
> >>  PACKAGE_GROUP_qt4-pkgs = "task-core-qt-demos"
> >> +
> >> +# IMAGE_FEAETURES_REPLACES_foo = 'bar1 bar2'
> >> +# Including image feature foo would replace the image features bar1 and bar2
> >> +IMAGE_FEATURES_REPLACES_ssh-server-openssh = "ssh-server-dropbear"
> >> +
> >> +# IMAGE_FEATURES_CONFLICTS_foo = 'bar1 bar2'
> >> +# An error exception would be raised if both image features foo and bar1(or bar2) are included
> >> +
> >>  CORE_IMAGE_BASE_INSTALL = '\
> >>      task-core-boot \
> >>      task-base-extended \
> >> @@ -60,7 +68,8 @@ IMAGE_INSTALL ?= "${CORE_IMAGE_BASE_INSTALL}"
> >> 
> >>  X11_IMAGE_FEATURES  = "x11-base apps-x11-core package-management"
> >>  ENHANCED_IMAGE_FEATURES = "${X11_IMAGE_FEATURES} apps-x11-games apps-x11-pimlico package-management"
> >> -SATO_IMAGE_FEATURES = "${ENHANCED_IMAGE_FEATURES} x11-sato ssh-server-dropbear"
> >> +SSHSERVER_IMAGE_FEATURES ??= "ssh-server-dropbear"
> >> +SATO_IMAGE_FEATURES = "${ENHANCED_IMAGE_FEATURES} x11-sato ${SSHSERVER_IMAGE_FEATURES}"
> >> 
> >>  inherit image
> >> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
> >> index 0772363..6fac974 100644
> >> --- a/meta/classes/image.bbclass
> >> +++ b/meta/classes/image.bbclass
> >> @@ -87,6 +87,23 @@ python () {
> >>          deps += " %s:do_populate_sysroot" % dep
> >>      d.setVarFlag('do_rootfs', 'depends', deps)
> >> +    #process IMAGE_FEATURES, we must do this before runtime_mapping_rename
> >> +    #Check for replaces image features
> >> +    features = set(oe.data.typed_value('IMAGE_FEATURES', d))
> >> +    remain_features = features.copy()
> >> +    for feature in features:
> >> +        replaces = set((d.getVar("IMAGE_FEATURES_REPLACES_%s" % feature, True) or "").split())
> >> +        remain_features -= replaces
> >> +
> >> +    #Check for conflict image features
> >> +    for feature in remain_features:
> >> +        conflicts = set((d.getVar("IMAGE_FEATURES_CONFLICTS_%s" % feature, True) or "").split())
> >> +        temp = conflicts & remain_features
> >> +        if temp:
> >> +            raise bb.parse.SkipPackage("%s contains conflicting IMAGE_FEATURES %s %s" % (d.getVar('PN', True), feature, '
> > '.join(list(temp))))
> > 
> > 
> > I'm not sure that SkipPackage is the right error here. This will simply
> > make the image target "disappear" when in this case we really want to
> > raise a "proper" error?
> > 
> 
> How about directly bb.fatal? Just like the base.bbclass handles the recipes without setting the LICENSE field.

Yes, I think that is more appropriate in this case.

Cheers,

Richard




^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-07-02 13:56 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-25  5:15 [PATCH V3 0/3] misc IMAGE_FEATURE fixings Lianhao Lu
2012-06-25  5:15 ` [PATCH V3 1/3] classes/image: Allow openssh empty passwords login Lianhao Lu
2012-06-25  5:15 ` [PATCH V3 2/3] image/core-image: Handle conflicting IMAGE_FEATURES Lianhao Lu
2012-07-02  8:55   ` Richard Purdie
2012-07-02 11:10     ` Lu, Lianhao
2012-07-02 13:45       ` Richard Purdie
2012-06-25  5:15 ` [PATCH V3 3/3] task-core-tools-debug: Added openssh-sftp-server Lianhao Lu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.