Skip to contentSkip to conversation

remaining ssh IMAGE_FEATURE fixings

PATCH Applied Lianhao Lu 2 participants 4 messages Jul 3, 2012

lore
Share & tools
lore

Lianhao Lu

author
#0 lore raw

v2 cover remaining ssh IMAGE_FEATURE fixings

V2:
Please ignore the previous wrong patch set.

These are the remaining patches to fix the bug [YOCTO #2605]

It adds the "openssh-sftp-server" into the task-core-debug-tools so any image built with image feature "tools-debug" allow the user to use sftp.

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

The following changes since commit 64422f7c5da160050a5454817c8fa9d070104b34:
Richard Purdie (1):
package.bbclass: Add missing PKGR, PKGV, PKGE and ALTERNATIVE variables from PACKAGEVARS

are available in the git repository at:

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

Lianhao Lu (2):
task-core-tools-debug: Added openssh-sftp-server. image/core-image: Handle conflicting IMAGE_FEATURES.

 meta/classes/core-image.bbclass                  |   11 ++++++++++-
 meta/classes/image.bbclass                       |   17 +++++++++++++++++
 meta/recipes-core/tasks/task-core-tools-debug.bb |    3 +++
 meta/recipes-sato/images/core-image-sato-sdk.bb  |    2 ++
 4 files changed, 32 insertions(+), 1 deletions(-)
author
#1 lore raw

PATCH v2 1/2 task-core-tools-debug: Added openssh-sftp-server.

[YOCTO #2605].
Added openssh-sftp-server to the tools-debug IMAGE_FEATURE.

---
 meta/recipes-core/tasks/task-core-tools-debug.bb |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
meta/recipes-core/tasks/task-core-tools-debug.bb +3 -0
index 1dddbb8..b7eff21 100644
@@ -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} \
Signature · 1 line
1.7.0.4
author
#2 lore raw

PATCH v2 2/2 image/core-image: Handle conflicting IMAGE_FEATURES.

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.

---
 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(-)
meta/classes/core-image.bbclass +10 -1
index 25f5c5a..6b207d7 100644
@@ -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
 
meta/classes/image.bbclass +17 -0
index 7e4bb69..2da3d2e 100644
@@ -89,6 +89,23 @@ python () {
         deps += " %s:do_populate_sysroot" % dep
     d.appendVarFlag('do_build', '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:
+            bb.fatal("%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:
meta/recipes-sato/images/core-image-sato-sdk.bb +2 -0
index eed1698..5bb9469 100644
@@ -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
Signature · 1 line
1.7.0.4
Applied
#3 lore raw
In reply to Lianhao Lu
Quoted 29 lines · Lianhao Lu

V2:
Please ignore the previous wrong patch set.

These are the remaining patches to fix the bug [YOCTO #2605]

It adds the "openssh-sftp-server" into the task-core-debug-tools so any image built with image feature "tools-debug" allow the user to use sftp.

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

The following changes since commit 64422f7c5da160050a5454817c8fa9d070104b34:
Richard Purdie (1):
package.bbclass: Add missing PKGR, PKGV, PKGE and ALTERNATIVE variables from PACKAGEVARS

are available in the git repository at:

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

Lianhao Lu (2):
task-core-tools-debug: Added openssh-sftp-server. image/core-image: Handle conflicting IMAGE_FEATURES.

  meta/classes/core-image.bbclass                  |   11 ++++++++++-
  meta/classes/image.bbclass                       |   17 +++++++++++++++++
  meta/recipes-core/tasks/task-core-tools-debug.bb |    3 +++
  meta/recipes-sato/images/core-image-sato-sdk.bb  |    2 ++
  4 files changed, 32 insertions(+), 1 deletions(-)
Quoted 6 lines

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Merged into OE-Core

Thanks
Sau!