Skip to contentSkip to conversation

Please review and pull this morning

GIT PULL Saul Wold 3 participants 9 messages Apr 11, 2012

lore
Share & tools
lore

Saul Wold

author
#0 lore raw

Richard,

This is a set of fixes for RC3, there is a pending set for meta-yocto to review.

Sau!

The following changes since commit bde1744018afd4616e114b20ffdc21b9abddcedc:

hello-mod: Move hello-mod from meta to meta-skeleton (2012-04-10 13:16:00 +0100)

are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib sgw/stage
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=sgw/stage

Lianhao Lu (1):
connman: add ofono dependency.

Nitin A Kamble (1):
tclibc-eglibc.inc: make locale packages dependency conditional

Saul Wold (2):
boot-directdisk: remove the default setting of SYSLINUXCFG and
SYSLINUXMENU
task-self-hosted: Add vte and eglibc-gconv-ibm850

Yang Shi (1):
initrdscripts: fix init-live.sh and use unionfs

 meta/classes/boot-directdisk.bbclass               |    3 --
 meta/conf/distro/include/tclibc-eglibc.inc         |   23 +++++++++++++------
 meta/recipes-connectivity/connman/connman.inc      |    1 +
 meta/recipes-core/initrdscripts/files/init-live.sh |   23 ++++++++++++++++---
 .../initrdscripts/initramfs-live-boot_1.0.bb       |    9 +++++++-
 meta/recipes-core/tasks/task-self-hosted.bb        |    4 ++-
 6 files changed, 47 insertions(+), 16 deletions(-)
Signature · 1 line
1.7.7.6
author
#1 lore raw

[CONSOLIDATED PULL (for RC3) 1/5] connman: add ofono dependency.

From: Lianhao Lu <[email protected]>

Added dependency to ofono because we always enable ofono plug-in.

We did this because the 1.2 release cycle is coming to an end. We should use PACKAGECONFIG in 1.3.

This is part of the 1.2 bug fixing [YOCTO #2216].

---
 meta/recipes-connectivity/connman/connman.inc |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
meta/recipes-connectivity/connman/connman.inc +1 -0
index 1a6dd1b..bfe6620 100644
@@ -17,6 +17,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
 DEPENDS  = "dbus glib-2.0 ppp iptables gnutls \
             ${@base_contains('DISTRO_FEATURES', 'bluetooth','bluez4', '', d)} \
             ${@base_contains('DISTRO_FEATURES', 'wifi','wpa-supplicant', '', d)} \
+            ofono \
             "
 
 EXTRA_OECONF += "\
Signature · 1 line
1.7.7.6
author
#2 lore raw

[CONSOLIDATED PULL (for RC3) 2/5] initrdscripts: fix init-live.sh and use unionfs

In reply to Saul Wold

From: Yang Shi <[email protected]>

[YOCTO #1487]

When booting up with liveCD image, init scripts can't work well on read-only filesystem. Unionfs, which is supported in Yocto kernel, allows a filesystem to appear as writeable, but without actually allowing writes to change the filesystem.

Use unionfs to mount rootfs and make root file system can be writen when using liveCD to boot up. Set UNION_FS variable depending on kernel config, so that it can work with kernel which doesn't have unionfs feature.

---
 meta/recipes-core/initrdscripts/files/init-live.sh |   23 ++++++++++++++++---
 .../initrdscripts/initramfs-live-boot_1.0.bb       |    9 +++++++-
 2 files changed, 27 insertions(+), 5 deletions(-)
meta/recipes-core/initrdscripts/files/init-live.sh +19 -4
index eb5ab5b..737dae4 100644
@@ -7,6 +7,7 @@ ROOT_IMAGE="rootfs.img"
 MOUNT="/bin/mount"
 UMOUNT="/bin/umount"
 ISOLINUX=""
+UNIONFS="no"
 
 early_setup() {
     mkdir /proc
@@ -89,17 +90,31 @@ case $label in
 	mkdir $ROOT_MOUNT
 	mknod /dev/loop0 b 7 0 2>/dev/null
 
-	if ! $MOUNT -o rw,loop,noatime,nodiratime /media/$i/$ISOLINUX/$ROOT_IMAGE $ROOT_MOUNT ; then
-	    fatal "Couldnt mount rootfs image"
+	
+	if [ "$UNIONFS" = "yes" ]; then
+	    mkdir /rootfs-tmp
+
+	    if ! $MOUNT -o rw,loop,noatime,nodiratime /media/$i/$ISOLINUX/$ROOT_IMAGE /rootfs-tmp ; then
+		fatal "Could not mount rootfs image"
+	    else
+		mkdir /cow
+		mount -t tmpfs -o rw,noatime,mode=755 tmpfs /cow
+		mount -t unionfs -o dirs=/cow:/rootfs-tmp=ro unionfs $ROOT_MOUNT
+		boot_live_root
+	    fi
 	else
-	    boot_live_root
+	    if ! $MOUNT -o rw,loop,noatime,nodiratime /media/$i/$ISOLINUX/$ROOT_IMAGE $ROOT_MOUNT ; then
+		fatal "Could not mount rootfs image"
+	    else
+		boot_live_root
+	    fi
 	fi
 	;;
     install)
 	if [ -f /media/$i/$ISOLINUX/$ROOT_IMAGE ] ; then
 	    ./install.sh $i/$ISOLINUX $ROOT_IMAGE $video_mode $vga_mode
 	else
-	    fatal "Couldnt find install script"
+	    fatal "Could not find install script"
 	fi
 
 	# If we're getting here, we failed...
meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb +8 -1
index e85a0e1..f7f0c9d 100644
@@ -2,10 +2,17 @@ DESCRIPTION = "A live image init script"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 RDEPENDS = "udev"
+DEPENDS = "virtual/kernel"
 SRC_URI = "file://init-live.sh"
 
-PR = "r7"
+PR = "r8"
 
+do_compile() {
+	if grep -q "CONFIG_UNION_FS=y" ${STAGING_KERNEL_DIR}/.config; then
+		sed -i 's/UNIONFS="no"/UNIONFS="yes"/g' ${WORKDIR}/init-live.sh
+	fi
+}
+ 
 do_install() {
         install -m 0755 ${WORKDIR}/init-live.sh ${D}/init
 }
Signature · 1 line
1.7.7.6
author
#4 lore raw

[CONSOLIDATED PULL (for RC3) 3/5] boot-directdisk: remove the default setting of SYSLINUXCFG and SYSLINUXMENU

In reply to Saul Wold

These two should get setup in {S} and installed into {HDDDIR}, by having them defined with {HDDDIR} they try to get created when the directory does not exist yet.

---
 meta/classes/boot-directdisk.bbclass |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)
meta/classes/boot-directdisk.bbclass +0 -3
index e9e1ba3..7d8f8ff 100644
@@ -40,9 +40,6 @@ AUTO_SYSLINUXCFG = "1"
 SYSLINUX_ROOT ?= "root=/dev/sda2"
 SYSLINUX_TIMEOUT ?= "10"
 
-SYSLINUXCFG  = "${HDDDIR}/syslinux.cfg"
-SYSLINUXMENU = "${HDDDIR}/menu"
-
 inherit syslinux
 		
 build_boot_dd() {
Signature · 1 line
1.7.7.6
author
#5 lore raw

[CONSOLIDATED PULL (for RC3) 5/5] tclibc-eglibc.inc: make locale packages dependency conditional

In reply to Saul Wold

From: Nitin A Kamble <[email protected]>

Only add locale package dependencies if the eglibc is configured with locale support.
This avoids dependencies issues for distros such as poky-tiny

---
 meta/conf/distro/include/tclibc-eglibc.inc |   23 ++++++++++++++++-------
 1 files changed, 16 insertions(+), 7 deletions(-)
meta/conf/distro/include/tclibc-eglibc.inc +16 -7
index 8b8a214..aed82d1 100644
@@ -23,10 +23,19 @@ LIBC_DEPENDENCIES = "libsegfault \
     		     eglibc-dev \
     		     eglibc-utils \
     		     eglibc-thread-db \
-    		     eglibc-localedata-i18n \
-    		     eglibc-gconv-ibm850 \
-    		     eglibc-gconv-cp1252 \
-    		     eglibc-gconv-iso8859-1 \
-    		     eglibc-gconv-iso8859-15 \
-    		     locale-base-en-us \
-    		     locale-base-en-gb "
+		     ${@get_libc_locales_dependencies(d)}"
+
+LIBC_LOCALE_DEPENDENCIES = "\
+	eglibc-localedata-i18n \
+	eglibc-gconv-ibm850 \
+	eglibc-gconv-cp1252 \
+	eglibc-gconv-iso8859-1 \
+	eglibc-gconv-iso8859-15 \
+	locale-base-en-us \
+	locale-base-en-gb"
+
+def get_libc_locales_dependencies(d):
+    if 'libc-locales' in (d.getVar('DISTRO_FEATURES', True) or '').split() :
+        return d.getVar('LIBC_LOCALE_DEPENDENCIES', True) or ''
+    else:
+        return ''
Signature · 1 line
1.7.7.6
author
#7 lore raw

[CONSOLIDATED PULL (for RC3) 4/5] task-self-hosted: Add vte and eglibc-gconv-ibm850

In reply to Saul Wold

Adding vte for a more full featured terminal
adding eglibc-gconv-ibm850 for mcopy

---
 meta/recipes-core/tasks/task-self-hosted.bb |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
meta/recipes-core/tasks/task-self-hosted.bb +3 -1
index 6a24a7f..5588cd3 100644
@@ -3,7 +3,7 @@
 #
 
 DESCRIPTION = "Create Basic Image Tasks"
-PR = "r8"
+PR = "r9"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
                     file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
@@ -48,6 +48,7 @@ RDEPENDS_task-self-hosted-host-tools = "\
     parted \
     pseudo \
     screen \
+    vte \
     "
 
 # eglibc-utils: for rpcgen
@@ -62,6 +63,7 @@ RDEPENDS_task-self-hosted-sdk = "\
     cpp-symlinks \
     distcc \
     eglibc-utils \
+    eglibc-gconv-ibm850 \
     file \
     findutils \
     g++ \
Signature · 1 line
1.7.7.6
#6 lore raw

Re: [CONSOLIDATED PULL (for RC3) 5/5] tclibc-eglibc.inc: make locale packages dependency conditional

In reply to Saul Wold

Op 11 apr. 2012, om 03:33 heeft Saul Wold het volgende geschreven:

Quoted 5 lines

From: Nitin A Kamble <[email protected]>

Only add locale package dependencies if the eglibc is configured with locale support.
This avoids dependencies issues for distros such as poky-tiny

That's a packaging change and hence needs a PR bump.

#3 lore raw

Re: [CONSOLIDATED PULL (for RC3) 2/5] initrdscripts: fix init-live.sh and use unionfs

In reply to Saul Wold
Quoted 79 lines · Saul Wold

From: Yang Shi <[email protected]>

[YOCTO #1487]

When booting up with liveCD image, init scripts can't work well on read-only filesystem. Unionfs, which is supported in Yocto kernel, allows a filesystem to appear as writeable, but without actually allowing writes to change the filesystem.

Use unionfs to mount rootfs and make root file system can be writen when using liveCD to boot up. Set UNION_FS variable depending on kernel config, so that it can work with kernel which doesn't have unionfs feature.

---
 meta/recipes-core/initrdscripts/files/init-live.sh |   23 ++++++++++++++++---
 .../initrdscripts/initramfs-live-boot_1.0.bb       |    9 +++++++-
 2 files changed, 27 insertions(+), 5 deletions(-)
meta/recipes-core/initrdscripts/files/init-live.sh +19 -4
index eb5ab5b..737dae4 100644
@@ -7,6 +7,7 @@ ROOT_IMAGE="rootfs.img"
 MOUNT="/bin/mount"
 UMOUNT="/bin/umount"
 ISOLINUX=""
+UNIONFS="no"
 
 early_setup() {
     mkdir /proc
@@ -89,17 +90,31 @@ case $label in
 	mkdir $ROOT_MOUNT
 	mknod /dev/loop0 b 7 0 2>/dev/null
 
-	if ! $MOUNT -o rw,loop,noatime,nodiratime /media/$i/$ISOLINUX/$ROOT_IMAGE $ROOT_MOUNT ; then
-	    fatal "Couldnt mount rootfs image"
+	
+	if [ "$UNIONFS" = "yes" ]; then
+	    mkdir /rootfs-tmp
+
+	    if ! $MOUNT -o rw,loop,noatime,nodiratime /media/$i/$ISOLINUX/$ROOT_IMAGE /rootfs-tmp ; then
+		fatal "Could not mount rootfs image"
+	    else
+		mkdir /cow
+		mount -t tmpfs -o rw,noatime,mode=755 tmpfs /cow
+		mount -t unionfs -o dirs=/cow:/rootfs-tmp=ro unionfs $ROOT_MOUNT
+		boot_live_root
+	    fi
 	else
-	    boot_live_root
+	    if ! $MOUNT -o rw,loop,noatime,nodiratime /media/$i/$ISOLINUX/$ROOT_IMAGE $ROOT_MOUNT ; then
+		fatal "Could not mount rootfs image"
+	    else
+		boot_live_root
+	    fi
 	fi
 	;;
     install)
 	if [ -f /media/$i/$ISOLINUX/$ROOT_IMAGE ] ; then
 	    ./install.sh $i/$ISOLINUX $ROOT_IMAGE $video_mode $vga_mode
 	else
-	    fatal "Couldnt find install script"
+	    fatal "Could not find install script"
 	fi
 
 	# If we're getting here, we failed...
meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb +2 -1
index e85a0e1..f7f0c9d 100644
@@ -2,10 +2,17 @@ DESCRIPTION = "A live image init script"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 RDEPENDS = "udev"
+DEPENDS = "virtual/kernel"
 SRC_URI = "file://init-live.sh"
 
-PR = "r7"
+PR = "r8"

meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb DESCRIPTION = "A live image init script" · line 18

Quoted 10 lines
meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb +6 -0
 
+do_compile() {
+	if grep -q "CONFIG_UNION_FS=y" ${STAGING_KERNEL_DIR}/.config; then
+		sed -i 's/UNIONFS="no"/UNIONFS="yes"/g' ${WORKDIR}/init-live.sh
+	fi
+}
+ 
 do_install() {
         install -m 0755 ${WORKDIR}/init-live.sh ${D}/init
 }

Sadly, virtual/kernel is a machine specific dependency so we need to remove the allarch inherit from the recipe and mark it as machine specific too.

Cheers,

Richard

#8 lore raw
In reply to Saul Wold
Quoted 15 lines · Saul Wold

Richard,

This is a set of fixes for RC3, there is a pending set for meta-yocto to review.

Sau!

The following changes since commit bde1744018afd4616e114b20ffdc21b9abddcedc:

hello-mod: Move hello-mod from meta to meta-skeleton (2012-04-10 13:16:00 +0100)

are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib sgw/stage
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=sgw/stage

Quoted 5 lines

Lianhao Lu (1):
connman: add ofono dependency.

Nitin A Kamble (1):
tclibc-eglibc.inc: make locale packages dependency conditional

Added missing PR bump

Quoted 7 lines

Saul Wold (2):
boot-directdisk: remove the default setting of SYSLINUXCFG and
SYSLINUXMENU
task-self-hosted: Add vte and eglibc-gconv-ibm850

Yang Shi (1):
initrdscripts: fix init-live.sh and use unionfs

Marked as machine specific due to added kernel dependency.

I merged the above with the tweaks mentioned. I'm not exactly thrilled to be having to do this at this point :/.

Cheers,

Richard