* [meta-oe][PATCH 3/5] emacs: Un-blacklist, seems to work fine with new qemu
@ 2015-02-04 18:40 Dan McGregor
2015-02-05 16:23 ` [meta-oe][PATCH v2 " Dan McGregor
0 siblings, 1 reply; 4+ messages in thread
From: Dan McGregor @ 2015-02-04 18:40 UTC (permalink / raw)
To: openembedded-devel
From: Dan McGregor <dan.mcgregor@usask.ca>
I've only tested the build with armv7 and x86, but the build
doesn't segfault anymore. The last time this was tested was
with qemu 1.5, we're now using 2.1.
While here, don't copy stuff from the sysroot into the qemu tree
just use the sysroot itself.
Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
---
meta-oe/recipes-support/emacs/emacs.inc | 89 +----------------------------
meta-oe/recipes-support/emacs/emacs_23.4.bb | 2 -
2 files changed, 2 insertions(+), 89 deletions(-)
diff --git a/meta-oe/recipes-support/emacs/emacs.inc b/meta-oe/recipes-support/emacs/emacs.inc
index a1a4965..e052c5e 100644
--- a/meta-oe/recipes-support/emacs/emacs.inc
+++ b/meta-oe/recipes-support/emacs/emacs.inc
@@ -14,14 +14,13 @@ X11DEPENDS = " \
libx11 libxau libxcomposite libxcursor libxdamage libxdmcp libxext libxfixes \
libxft libxpm libxrandr libxrender \
gdk-pixbuf glib-2.0 gtk+ pango libxcb harfbuzz icu \
-"
+"
EXTRA_OECONF = "--without-sound --with-crt-dir=${STAGING_LIBDIR} "
PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
PACKAGECONFIG[x11] = "--with-x-toolkit=gtk,--without-x --without-dbus,${X11DEPENDS}"
-
inherit autotools
PACKAGES =+ "${PN}-el"
@@ -33,15 +32,13 @@ FILES_${PN} += "${datadir}/emacs ${datadir}/icons"
FILES_${PN}-dbg += "${libexecdir}/emacs/*/*/.debug ${datadir}/emacs/*/*/.debug"
-TREEDIR = "${WORKDIR}/qemu-treedir"
-
QEMUARCH= "${TARGET_ARCH}"
QEMUARCH_i486 = "i386"
QEMUARCH_i586 = "i386"
QEMUARCH_i686 = "i386"
# Large stack is required at least on x86_64 host, otherwise random segfaults appear:
-QEMU = "qemu-${QEMUARCH} ${QEMU_OPTIONS} -s 1048576 -L ${TREEDIR} "
+QEMU = "qemu-${QEMUARCH} ${QEMU_OPTIONS} -s 1048576 -L ${STAGING_DIR_HOST} "
export LOGNAME = "$(whoami)"
@@ -52,88 +49,6 @@ do_compile_prepend() {
ln -sf ../src/emacs lisp/emacs
ln -sf ../src/emacs lib-src/emacs
ln -sf ../src/emacs leim/emacs
-#copy STAGING_DIR_TARGET and libgcc_s.so* to WORKDIR/qemu-treedir #copied code from glibc-package.bbclass
- treedir=${TREEDIR}
- if [ -e $treedir ];then
- rm -rf $treedir
- fi
-
- mkdir -p $treedir/${base_libdir}
-
- if [ -f ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so ]; then
- cp -pPR ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so $treedir/${base_libdir}
- fi
- if [ -f ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so.* ]; then
- cp -pPR ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so.* $treedir/${base_libdir}
- fi
- # stupid hack, but without it, it tries to use /usr/lib/libc.so from host and fails
- # temacs: error while loading shared libraries: /usr/lib/libc.so: ELF file version does not match current one
- if [ ! -f $treedir/${base_libdir}/libc.so ]; then
- ln -s libc.so.6 $treedir/${base_libdir}/libc.so
- fi
-
- # copy only as much stuff as we need
- # before: 5.5G ../../qemu-treedir/
- # after: 17M ../../qemu-treedir/
- cp -pPR \
- ${STAGING_DIR_TARGET}/${base_libdir}/ld-* \
- ${STAGING_DIR_TARGET}/${base_libdir}/libc.* \
- ${STAGING_DIR_TARGET}/${base_libdir}/libc-* \
- ${STAGING_DIR_TARGET}/${base_libdir}/libm-* \
- ${STAGING_DIR_TARGET}/${base_libdir}/libm.* \
- ${STAGING_DIR_TARGET}/${base_libdir}/libtinfo.so.* \
- ${STAGING_DIR_TARGET}/${base_libdir}/libresolv* \
- ${STAGING_DIR_TARGET}/${base_libdir}/libdl* \
- ${STAGING_DIR_TARGET}/${base_libdir}/librt* \
- ${STAGING_DIR_TARGET}/${base_libdir}/libgcc_s.so.* \
- ${STAGING_DIR_TARGET}/${base_libdir}/libpthread* $treedir/${base_libdir}/
-
- if [ ! -z "${@base_contains('PACKAGECONFIG', 'x11', 'x11', '', d)}" ] ; then
- echo "X11 build enabled"
- # copy only as much stuff as we need
- # before: 5.5G ../../qemu-treedir/
- # after: 86M ../../qemu-treedir/
- cp -pPR \
- ${STAGING_DIR_TARGET}/${base_libdir}/libuuid.so.* \
- ${STAGING_DIR_TARGET}/${base_libdir}/libz.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libICE.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libSM.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libatk-1.0.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libcairo.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libdbus-1.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libdbus-glib-1.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libexpat.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libffi.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libfontconfig.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libfreetype.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libgconf-2.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libgif.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libjpeg.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/liblzma.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libpixman-1.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libpng1*.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/librsvg-2.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libstdc++.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libtiff.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libxml2.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libcroco-0.6.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libharfbuzz.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libicule.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libicuuc.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libicudata.so.* $treedir/${base_libdir}/
-
- # X11 Xau Xcomposite Xcursor Xdamage Xdmcp Xext Xfixes Xft Xpm Xrandr Xrender
- cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libX*.so.* $treedir/${base_libdir}/
-
- # gdk-x11 gdk_pixbuf gio glib gmodule gobject gthread gtk-x11
- cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libg*-2.0.so.* $treedir/${base_libdir}/
-
- # pango pangocairo pangoft2
- cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libpango*-1.0.so.* $treedir/${base_libdir}/
-
- # xcb-render xcb-shm xcb
- cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libxcb*.so.* $treedir/${base_libdir}/
- fi
}
do_install_append() {
diff --git a/meta-oe/recipes-support/emacs/emacs_23.4.bb b/meta-oe/recipes-support/emacs/emacs_23.4.bb
index a324828..36e8f0c 100644
--- a/meta-oe/recipes-support/emacs/emacs_23.4.bb
+++ b/meta-oe/recipes-support/emacs/emacs_23.4.bb
@@ -2,8 +2,6 @@ require emacs.inc
PR = "r4"
-PNBLACKLIST[emacs] ?= "qemu: uncaught target signal 11 (Segmentation fault) - core dumped"
-
SRC_URI = "${GNU_MIRROR}/emacs/emacs-${PV}.tar.gz;name=tarball \
file://use-qemu.patch \
file://nostdlib-unwind.patch \
--
2.1.0
From 09961c681ffd5bd98d5f96ee6a82a710386e119a Mon Sep 17 00:00:00 2001
From: Dan McGregor <danismostlikely@gmail.com>
Date: Tue, 3 Feb 2015 18:46:42 -0600
Subject: [meta-gnome][PATCH 4/5] gdm: Only start in runlevel 5
To: openembedded-devel@lists.openembedded.org
From: Dan McGregor <dan.mcgregor@usask.ca>
Runlevel 5 is traditionally graphical. If it starts in runlevel 2
or 3 systemd gets confused and adds it as a dependency of the
multi-user target, not just the graphical target.
Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
---
meta-gnome/recipes-gnome/gdm/gdm/gdm | 4 ++--
meta-gnome/recipes-gnome/gdm/gdm_2.32.2.bb | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/meta-gnome/recipes-gnome/gdm/gdm/gdm b/meta-gnome/recipes-gnome/gdm/gdm/gdm
index 43eae95..bb5b418 100755
--- a/meta-gnome/recipes-gnome/gdm/gdm/gdm
+++ b/meta-gnome/recipes-gnome/gdm/gdm/gdm
@@ -4,8 +4,8 @@
# Should-Start: console-screen acpid dbus hal network-manager
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
+# Default-Start: 5
+# Default-Stop: 0 1 2 3 6
# Short-Description: GNOME Display Manager
# Description: Debian init script for the GNOME Display Manager
### END INIT INFO
diff --git a/meta-gnome/recipes-gnome/gdm/gdm_2.32.2.bb b/meta-gnome/recipes-gnome/gdm/gdm_2.32.2.bb
index b2ae9ac..fcd51ff 100644
--- a/meta-gnome/recipes-gnome/gdm/gdm_2.32.2.bb
+++ b/meta-gnome/recipes-gnome/gdm/gdm_2.32.2.bb
@@ -88,7 +88,7 @@ RCONFLICTS_${PN} += "${PN}-systemd"
SYSTEMD_SERVICE_${PN} = "gdm.service"
INITSCRIPT_NAME = "gdm"
-INITSCRIPT_PARAMS = "start 99 5 2 . stop 20 0 1 6 ."
+INITSCRIPT_PARAMS = "start 99 5 . stop 20 0 1 2 3 6 ."
USERADD_PACKAGES = "${PN}"
USERADD_PARAM_${PN} = "--system --no-create-home --home ${localstatedir}/lib/gdm --user-group gdm"
--
2.1.0
From 4dbe8a0bc32d09ea82726d78cfd1292a3a6b3719 Mon Sep 17 00:00:00 2001
From: Dan McGregor <danismostlikely@gmail.com>
Date: Tue, 3 Feb 2015 18:46:42 -0600
Subject: [meta-initramfs][PATCH 5/5] dracut: recipe cleanup
To: openembedded-devel@lists.openembedded.org
From: Dan McGregor <dan.mcgregor@usask.ca>
Split out bash-completion data
Update RDEPENDS: getopt is util-linux-getopt now
Use distro_features_check to require systemd
Recommend busybox
Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
---
.../recipes-devtools/dracut/dracut_git.bb | 25 ++++++++++++++++------
1 file changed, 19 insertions(+), 6 deletions(-)
diff --git a/meta-initramfs/recipes-devtools/dracut/dracut_git.bb b/meta-initramfs/recipes-devtools/dracut/dracut_git.bb
index ea55a4d..8ef0749 100644
--- a/meta-initramfs/recipes-devtools/dracut/dracut_git.bb
+++ b/meta-initramfs/recipes-devtools/dracut/dracut_git.bb
@@ -4,6 +4,8 @@ DESCRIPTION = "Dracut is an event driven initramfs infrastructure. dracut (the t
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+PACKAGES =+ "${PN}-bash-completion"
+
PE = "1"
PV = "038"
@@ -13,8 +15,10 @@ SRC_URI = "git://git.kernel.org/pub/scm/boot/dracut/dracut.git"
S = "${WORKDIR}/git"
-do_configure() {
- ./configure --prefix=${prefix} \
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+EXTRA_OECONF = "--prefix=${prefix} \
--libdir=${libdir} \
--datadir=${datadir} \
--sysconfdir=${sysconfdir} \
@@ -23,20 +27,29 @@ do_configure() {
--bindir=${bindir} \
--includedir=${includedir} \
--localstatedir=${localstatedir} \
+ --systemdsystemunitdir=${systemd_unitdir}/system"
+
+do_configure() {
+ ./configure ${EXTRA_OECONF}
}
do_install() {
oe_runmake install DESTDIR=${D}
}
-FILES_${PN} += "${datadir}/bash-completion \
- ${libdir}/kernel \
+FILES_${PN}-bash-completion = "${datadir}/bash-completion"
+
+FILES_${PN} += " ${libdir}/kernel \
+ ${systemd_unitdir} \
"
+CONFFILES_${PN} += "${sysconfdir}/dracut.conf"
+
+RDEPENDS_${PN} = "systemd findutils cpio util-linux-blkid util-linux-getopt util-linux bash ldd"
+RDEPENDS_${PN}-bash-completion = "bash-completion"
-# 'getopt' is in the util-linux main package
-RDEPENDS_${PN} = "systemd findutils cpio util-linux-blkid util-linux bash ldd"
# This could be optimized a bit, but let's avoid non-booting systems :)
RRECOMMENDS_${PN} = " \
kernel-modules \
+ busybox \
coreutils \
"
--
2.1.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [meta-oe][PATCH v2 3/5] emacs: Un-blacklist, seems to work fine with new qemu
2015-02-04 18:40 [meta-oe][PATCH 3/5] emacs: Un-blacklist, seems to work fine with new qemu Dan McGregor
@ 2015-02-05 16:23 ` Dan McGregor
2015-02-05 16:35 ` Martin Jansa
0 siblings, 1 reply; 4+ messages in thread
From: Dan McGregor @ 2015-02-05 16:23 UTC (permalink / raw)
To: openembedded-devel
From: Dan McGregor <dan.mcgregor@usask.ca>
I've only tested the build with armv7 and x86, but the build
doesn't segfault anymore. The last time this was tested was
with qemu 1.5, we're now using 2.1.
While here, don't copy stuff from the sysroot into the qemu tree
just use the sysroot itself.
Also disable X11 support by default. There is still an issue
seen by multiple people where an emacs built with X11 support
will hang when run outside of X.
Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
---
meta-oe/recipes-support/emacs/emacs.inc | 91 +----------------------------
meta-oe/recipes-support/emacs/emacs_23.4.bb | 2 -
2 files changed, 3 insertions(+), 90 deletions(-)
diff --git a/meta-oe/recipes-support/emacs/emacs.inc b/meta-oe/recipes-support/emacs/emacs.inc
index a1a4965..c1d50f2 100644
--- a/meta-oe/recipes-support/emacs/emacs.inc
+++ b/meta-oe/recipes-support/emacs/emacs.inc
@@ -14,14 +14,13 @@ X11DEPENDS = " \
libx11 libxau libxcomposite libxcursor libxdamage libxdmcp libxext libxfixes \
libxft libxpm libxrandr libxrender \
gdk-pixbuf glib-2.0 gtk+ pango libxcb harfbuzz icu \
-"
+"
EXTRA_OECONF = "--without-sound --with-crt-dir=${STAGING_LIBDIR} "
-PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
+PACKAGECONFIG ??= ""
PACKAGECONFIG[x11] = "--with-x-toolkit=gtk,--without-x --without-dbus,${X11DEPENDS}"
-
inherit autotools
PACKAGES =+ "${PN}-el"
@@ -33,15 +32,13 @@ FILES_${PN} += "${datadir}/emacs ${datadir}/icons"
FILES_${PN}-dbg += "${libexecdir}/emacs/*/*/.debug ${datadir}/emacs/*/*/.debug"
-TREEDIR = "${WORKDIR}/qemu-treedir"
-
QEMUARCH= "${TARGET_ARCH}"
QEMUARCH_i486 = "i386"
QEMUARCH_i586 = "i386"
QEMUARCH_i686 = "i386"
# Large stack is required at least on x86_64 host, otherwise random segfaults appear:
-QEMU = "qemu-${QEMUARCH} ${QEMU_OPTIONS} -s 1048576 -L ${TREEDIR} "
+QEMU = "qemu-${QEMUARCH} ${QEMU_OPTIONS} -s 1048576 -L ${STAGING_DIR_HOST} "
export LOGNAME = "$(whoami)"
@@ -52,88 +49,6 @@ do_compile_prepend() {
ln -sf ../src/emacs lisp/emacs
ln -sf ../src/emacs lib-src/emacs
ln -sf ../src/emacs leim/emacs
-#copy STAGING_DIR_TARGET and libgcc_s.so* to WORKDIR/qemu-treedir #copied code from glibc-package.bbclass
- treedir=${TREEDIR}
- if [ -e $treedir ];then
- rm -rf $treedir
- fi
-
- mkdir -p $treedir/${base_libdir}
-
- if [ -f ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so ]; then
- cp -pPR ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so $treedir/${base_libdir}
- fi
- if [ -f ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so.* ]; then
- cp -pPR ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so.* $treedir/${base_libdir}
- fi
- # stupid hack, but without it, it tries to use /usr/lib/libc.so from host and fails
- # temacs: error while loading shared libraries: /usr/lib/libc.so: ELF file version does not match current one
- if [ ! -f $treedir/${base_libdir}/libc.so ]; then
- ln -s libc.so.6 $treedir/${base_libdir}/libc.so
- fi
-
- # copy only as much stuff as we need
- # before: 5.5G ../../qemu-treedir/
- # after: 17M ../../qemu-treedir/
- cp -pPR \
- ${STAGING_DIR_TARGET}/${base_libdir}/ld-* \
- ${STAGING_DIR_TARGET}/${base_libdir}/libc.* \
- ${STAGING_DIR_TARGET}/${base_libdir}/libc-* \
- ${STAGING_DIR_TARGET}/${base_libdir}/libm-* \
- ${STAGING_DIR_TARGET}/${base_libdir}/libm.* \
- ${STAGING_DIR_TARGET}/${base_libdir}/libtinfo.so.* \
- ${STAGING_DIR_TARGET}/${base_libdir}/libresolv* \
- ${STAGING_DIR_TARGET}/${base_libdir}/libdl* \
- ${STAGING_DIR_TARGET}/${base_libdir}/librt* \
- ${STAGING_DIR_TARGET}/${base_libdir}/libgcc_s.so.* \
- ${STAGING_DIR_TARGET}/${base_libdir}/libpthread* $treedir/${base_libdir}/
-
- if [ ! -z "${@base_contains('PACKAGECONFIG', 'x11', 'x11', '', d)}" ] ; then
- echo "X11 build enabled"
- # copy only as much stuff as we need
- # before: 5.5G ../../qemu-treedir/
- # after: 86M ../../qemu-treedir/
- cp -pPR \
- ${STAGING_DIR_TARGET}/${base_libdir}/libuuid.so.* \
- ${STAGING_DIR_TARGET}/${base_libdir}/libz.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libICE.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libSM.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libatk-1.0.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libcairo.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libdbus-1.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libdbus-glib-1.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libexpat.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libffi.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libfontconfig.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libfreetype.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libgconf-2.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libgif.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libjpeg.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/liblzma.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libpixman-1.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libpng1*.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/librsvg-2.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libstdc++.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libtiff.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libxml2.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libcroco-0.6.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libharfbuzz.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libicule.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libicuuc.so.* \
- ${STAGING_DIR_TARGET}/${libdir}/libicudata.so.* $treedir/${base_libdir}/
-
- # X11 Xau Xcomposite Xcursor Xdamage Xdmcp Xext Xfixes Xft Xpm Xrandr Xrender
- cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libX*.so.* $treedir/${base_libdir}/
-
- # gdk-x11 gdk_pixbuf gio glib gmodule gobject gthread gtk-x11
- cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libg*-2.0.so.* $treedir/${base_libdir}/
-
- # pango pangocairo pangoft2
- cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libpango*-1.0.so.* $treedir/${base_libdir}/
-
- # xcb-render xcb-shm xcb
- cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libxcb*.so.* $treedir/${base_libdir}/
- fi
}
do_install_append() {
diff --git a/meta-oe/recipes-support/emacs/emacs_23.4.bb b/meta-oe/recipes-support/emacs/emacs_23.4.bb
index a324828..36e8f0c 100644
--- a/meta-oe/recipes-support/emacs/emacs_23.4.bb
+++ b/meta-oe/recipes-support/emacs/emacs_23.4.bb
@@ -2,8 +2,6 @@ require emacs.inc
PR = "r4"
-PNBLACKLIST[emacs] ?= "qemu: uncaught target signal 11 (Segmentation fault) - core dumped"
-
SRC_URI = "${GNU_MIRROR}/emacs/emacs-${PV}.tar.gz;name=tarball \
file://use-qemu.patch \
file://nostdlib-unwind.patch \
--
2.1.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [meta-oe][PATCH v2 3/5] emacs: Un-blacklist, seems to work fine with new qemu
2015-02-05 16:23 ` [meta-oe][PATCH v2 " Dan McGregor
@ 2015-02-05 16:35 ` Martin Jansa
2015-02-06 15:11 ` Dan McGregor
0 siblings, 1 reply; 4+ messages in thread
From: Martin Jansa @ 2015-02-05 16:35 UTC (permalink / raw)
To: openembedded-devel
[-- Attachment #1: Type: text/plain, Size: 7959 bytes --]
On Thu, Feb 05, 2015 at 10:23:04AM -0600, Dan McGregor wrote:
> From: Dan McGregor <dan.mcgregor@usask.ca>
>
> I've only tested the build with armv7 and x86, but the build
> doesn't segfault anymore. The last time this was tested was
> with qemu 1.5, we're now using 2.1.
>
> While here, don't copy stuff from the sysroot into the qemu tree
> just use the sysroot itself.
>
> Also disable X11 support by default. There is still an issue
> seen by multiple people where an emacs built with X11 support
> will hang when run outside of X.
>
> Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
> ---
> meta-oe/recipes-support/emacs/emacs.inc | 91 +----------------------------
> meta-oe/recipes-support/emacs/emacs_23.4.bb | 2 -
> 2 files changed, 3 insertions(+), 90 deletions(-)
>
> diff --git a/meta-oe/recipes-support/emacs/emacs.inc b/meta-oe/recipes-support/emacs/emacs.inc
> index a1a4965..c1d50f2 100644
> --- a/meta-oe/recipes-support/emacs/emacs.inc
> +++ b/meta-oe/recipes-support/emacs/emacs.inc
> @@ -14,14 +14,13 @@ X11DEPENDS = " \
> libx11 libxau libxcomposite libxcursor libxdamage libxdmcp libxext libxfixes \
> libxft libxpm libxrandr libxrender \
> gdk-pixbuf glib-2.0 gtk+ pango libxcb harfbuzz icu \
> -"
> +"
>
> EXTRA_OECONF = "--without-sound --with-crt-dir=${STAGING_LIBDIR} "
>
> -PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
> +PACKAGECONFIG ??= ""
> PACKAGECONFIG[x11] = "--with-x-toolkit=gtk,--without-x --without-dbus,${X11DEPENDS}"
>
> -
> inherit autotools
>
> PACKAGES =+ "${PN}-el"
> @@ -33,15 +32,13 @@ FILES_${PN} += "${datadir}/emacs ${datadir}/icons"
>
> FILES_${PN}-dbg += "${libexecdir}/emacs/*/*/.debug ${datadir}/emacs/*/*/.debug"
>
> -TREEDIR = "${WORKDIR}/qemu-treedir"
> -
> QEMUARCH= "${TARGET_ARCH}"
> QEMUARCH_i486 = "i386"
> QEMUARCH_i586 = "i386"
> QEMUARCH_i686 = "i386"
>
> # Large stack is required at least on x86_64 host, otherwise random segfaults appear:
> -QEMU = "qemu-${QEMUARCH} ${QEMU_OPTIONS} -s 1048576 -L ${TREEDIR} "
> +QEMU = "qemu-${QEMUARCH} ${QEMU_OPTIONS} -s 1048576 -L ${STAGING_DIR_HOST} "
We were using STAGING_DIR_HOST before, but it was causing some issues:
see oe-classic commit which introduced TREEDIR:
http://git.openembedded.org/openembedded/commit/?h=cbf539f8e7431241e28b77394d33b764f7b0463b
Are you sure that this issue won't re-appear?
> export LOGNAME = "$(whoami)"
>
> @@ -52,88 +49,6 @@ do_compile_prepend() {
> ln -sf ../src/emacs lisp/emacs
> ln -sf ../src/emacs lib-src/emacs
> ln -sf ../src/emacs leim/emacs
> -#copy STAGING_DIR_TARGET and libgcc_s.so* to WORKDIR/qemu-treedir #copied code from glibc-package.bbclass
> - treedir=${TREEDIR}
> - if [ -e $treedir ];then
> - rm -rf $treedir
> - fi
> -
> - mkdir -p $treedir/${base_libdir}
> -
> - if [ -f ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so ]; then
> - cp -pPR ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so $treedir/${base_libdir}
> - fi
> - if [ -f ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so.* ]; then
> - cp -pPR ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so.* $treedir/${base_libdir}
> - fi
> - # stupid hack, but without it, it tries to use /usr/lib/libc.so from host and fails
> - # temacs: error while loading shared libraries: /usr/lib/libc.so: ELF file version does not match current one
> - if [ ! -f $treedir/${base_libdir}/libc.so ]; then
> - ln -s libc.so.6 $treedir/${base_libdir}/libc.so
> - fi
> -
> - # copy only as much stuff as we need
> - # before: 5.5G ../../qemu-treedir/
> - # after: 17M ../../qemu-treedir/
> - cp -pPR \
> - ${STAGING_DIR_TARGET}/${base_libdir}/ld-* \
> - ${STAGING_DIR_TARGET}/${base_libdir}/libc.* \
> - ${STAGING_DIR_TARGET}/${base_libdir}/libc-* \
> - ${STAGING_DIR_TARGET}/${base_libdir}/libm-* \
> - ${STAGING_DIR_TARGET}/${base_libdir}/libm.* \
> - ${STAGING_DIR_TARGET}/${base_libdir}/libtinfo.so.* \
> - ${STAGING_DIR_TARGET}/${base_libdir}/libresolv* \
> - ${STAGING_DIR_TARGET}/${base_libdir}/libdl* \
> - ${STAGING_DIR_TARGET}/${base_libdir}/librt* \
> - ${STAGING_DIR_TARGET}/${base_libdir}/libgcc_s.so.* \
> - ${STAGING_DIR_TARGET}/${base_libdir}/libpthread* $treedir/${base_libdir}/
> -
> - if [ ! -z "${@base_contains('PACKAGECONFIG', 'x11', 'x11', '', d)}" ] ; then
> - echo "X11 build enabled"
> - # copy only as much stuff as we need
> - # before: 5.5G ../../qemu-treedir/
> - # after: 86M ../../qemu-treedir/
> - cp -pPR \
> - ${STAGING_DIR_TARGET}/${base_libdir}/libuuid.so.* \
> - ${STAGING_DIR_TARGET}/${base_libdir}/libz.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libICE.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libSM.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libatk-1.0.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libcairo.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libdbus-1.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libdbus-glib-1.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libexpat.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libffi.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libfontconfig.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libfreetype.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libgconf-2.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libgif.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libjpeg.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/liblzma.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libpixman-1.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libpng1*.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/librsvg-2.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libstdc++.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libtiff.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libxml2.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libcroco-0.6.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libharfbuzz.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libicule.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libicuuc.so.* \
> - ${STAGING_DIR_TARGET}/${libdir}/libicudata.so.* $treedir/${base_libdir}/
> -
> - # X11 Xau Xcomposite Xcursor Xdamage Xdmcp Xext Xfixes Xft Xpm Xrandr Xrender
> - cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libX*.so.* $treedir/${base_libdir}/
> -
> - # gdk-x11 gdk_pixbuf gio glib gmodule gobject gthread gtk-x11
> - cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libg*-2.0.so.* $treedir/${base_libdir}/
> -
> - # pango pangocairo pangoft2
> - cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libpango*-1.0.so.* $treedir/${base_libdir}/
> -
> - # xcb-render xcb-shm xcb
> - cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libxcb*.so.* $treedir/${base_libdir}/
> - fi
> }
>
> do_install_append() {
> diff --git a/meta-oe/recipes-support/emacs/emacs_23.4.bb b/meta-oe/recipes-support/emacs/emacs_23.4.bb
> index a324828..36e8f0c 100644
> --- a/meta-oe/recipes-support/emacs/emacs_23.4.bb
> +++ b/meta-oe/recipes-support/emacs/emacs_23.4.bb
> @@ -2,8 +2,6 @@ require emacs.inc
>
> PR = "r4"
>
> -PNBLACKLIST[emacs] ?= "qemu: uncaught target signal 11 (Segmentation fault) - core dumped"
> -
> SRC_URI = "${GNU_MIRROR}/emacs/emacs-${PV}.tar.gz;name=tarball \
> file://use-qemu.patch \
> file://nostdlib-unwind.patch \
> --
> 2.1.0
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
--
Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 188 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [meta-oe][PATCH v2 3/5] emacs: Un-blacklist, seems to work fine with new qemu
2015-02-05 16:35 ` Martin Jansa
@ 2015-02-06 15:11 ` Dan McGregor
0 siblings, 0 replies; 4+ messages in thread
From: Dan McGregor @ 2015-02-06 15:11 UTC (permalink / raw)
To: openembeded-devel
On 5 February 2015 at 10:35, Martin Jansa <martin.jansa@gmail.com> wrote:
> On Thu, Feb 05, 2015 at 10:23:04AM -0600, Dan McGregor wrote:
>> From: Dan McGregor <dan.mcgregor@usask.ca>
>>
>> I've only tested the build with armv7 and x86, but the build
>> doesn't segfault anymore. The last time this was tested was
>> with qemu 1.5, we're now using 2.1.
>>
>> While here, don't copy stuff from the sysroot into the qemu tree
>> just use the sysroot itself.
>>
>> Also disable X11 support by default. There is still an issue
>> seen by multiple people where an emacs built with X11 support
>> will hang when run outside of X.
>>
>> Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
>> ---
>> meta-oe/recipes-support/emacs/emacs.inc | 91 +----------------------------
>> meta-oe/recipes-support/emacs/emacs_23.4.bb | 2 -
>> 2 files changed, 3 insertions(+), 90 deletions(-)
>>
>> diff --git a/meta-oe/recipes-support/emacs/emacs.inc b/meta-oe/recipes-support/emacs/emacs.inc
>> index a1a4965..c1d50f2 100644
>> --- a/meta-oe/recipes-support/emacs/emacs.inc
>> +++ b/meta-oe/recipes-support/emacs/emacs.inc
>> @@ -14,14 +14,13 @@ X11DEPENDS = " \
>> libx11 libxau libxcomposite libxcursor libxdamage libxdmcp libxext libxfixes \
>> libxft libxpm libxrandr libxrender \
>> gdk-pixbuf glib-2.0 gtk+ pango libxcb harfbuzz icu \
>> -"
>> +"
>>
>> EXTRA_OECONF = "--without-sound --with-crt-dir=${STAGING_LIBDIR} "
>>
>> -PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
>> +PACKAGECONFIG ??= ""
>> PACKAGECONFIG[x11] = "--with-x-toolkit=gtk,--without-x --without-dbus,${X11DEPENDS}"
>>
>> -
>> inherit autotools
>>
>> PACKAGES =+ "${PN}-el"
>> @@ -33,15 +32,13 @@ FILES_${PN} += "${datadir}/emacs ${datadir}/icons"
>>
>> FILES_${PN}-dbg += "${libexecdir}/emacs/*/*/.debug ${datadir}/emacs/*/*/.debug"
>>
>> -TREEDIR = "${WORKDIR}/qemu-treedir"
>> -
>> QEMUARCH= "${TARGET_ARCH}"
>> QEMUARCH_i486 = "i386"
>> QEMUARCH_i586 = "i386"
>> QEMUARCH_i686 = "i386"
>>
>> # Large stack is required at least on x86_64 host, otherwise random segfaults appear:
>> -QEMU = "qemu-${QEMUARCH} ${QEMU_OPTIONS} -s 1048576 -L ${TREEDIR} "
>> +QEMU = "qemu-${QEMUARCH} ${QEMU_OPTIONS} -s 1048576 -L ${STAGING_DIR_HOST} "
>
> We were using STAGING_DIR_HOST before, but it was causing some issues:
> see oe-classic commit which introduced TREEDIR:
> http://git.openembedded.org/openembedded/commit/?h=cbf539f8e7431241e28b77394d33b764f7b0463b
>
> Are you sure that this issue won't re-appear?
Thanks for pointing me there. I couldn't for the life of me figure out
why it was done that way to begin with. The only way I could see that
issue coming up again is if libgcc_s.so.1 is an absolute symlink or if
it has a missing target.
I would really like to hear if somebody can still reproduce it. I
haven't been able to on beaglebone, wandboard-quad, qemuppc, or
qemux86,
>
>> export LOGNAME = "$(whoami)"
>>
>> @@ -52,88 +49,6 @@ do_compile_prepend() {
>> ln -sf ../src/emacs lisp/emacs
>> ln -sf ../src/emacs lib-src/emacs
>> ln -sf ../src/emacs leim/emacs
>> -#copy STAGING_DIR_TARGET and libgcc_s.so* to WORKDIR/qemu-treedir #copied code from glibc-package.bbclass
>> - treedir=${TREEDIR}
>> - if [ -e $treedir ];then
>> - rm -rf $treedir
>> - fi
>> -
>> - mkdir -p $treedir/${base_libdir}
>> -
>> - if [ -f ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so ]; then
>> - cp -pPR ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so $treedir/${base_libdir}
>> - fi
>> - if [ -f ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so.* ]; then
>> - cp -pPR ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so.* $treedir/${base_libdir}
>> - fi
>> - # stupid hack, but without it, it tries to use /usr/lib/libc.so from host and fails
>> - # temacs: error while loading shared libraries: /usr/lib/libc.so: ELF file version does not match current one
>> - if [ ! -f $treedir/${base_libdir}/libc.so ]; then
>> - ln -s libc.so.6 $treedir/${base_libdir}/libc.so
>> - fi
>> -
>> - # copy only as much stuff as we need
>> - # before: 5.5G ../../qemu-treedir/
>> - # after: 17M ../../qemu-treedir/
>> - cp -pPR \
>> - ${STAGING_DIR_TARGET}/${base_libdir}/ld-* \
>> - ${STAGING_DIR_TARGET}/${base_libdir}/libc.* \
>> - ${STAGING_DIR_TARGET}/${base_libdir}/libc-* \
>> - ${STAGING_DIR_TARGET}/${base_libdir}/libm-* \
>> - ${STAGING_DIR_TARGET}/${base_libdir}/libm.* \
>> - ${STAGING_DIR_TARGET}/${base_libdir}/libtinfo.so.* \
>> - ${STAGING_DIR_TARGET}/${base_libdir}/libresolv* \
>> - ${STAGING_DIR_TARGET}/${base_libdir}/libdl* \
>> - ${STAGING_DIR_TARGET}/${base_libdir}/librt* \
>> - ${STAGING_DIR_TARGET}/${base_libdir}/libgcc_s.so.* \
>> - ${STAGING_DIR_TARGET}/${base_libdir}/libpthread* $treedir/${base_libdir}/
>> -
>> - if [ ! -z "${@base_contains('PACKAGECONFIG', 'x11', 'x11', '', d)}" ] ; then
>> - echo "X11 build enabled"
>> - # copy only as much stuff as we need
>> - # before: 5.5G ../../qemu-treedir/
>> - # after: 86M ../../qemu-treedir/
>> - cp -pPR \
>> - ${STAGING_DIR_TARGET}/${base_libdir}/libuuid.so.* \
>> - ${STAGING_DIR_TARGET}/${base_libdir}/libz.so.* \
>> - ${STAGING_DIR_TARGET}/${libdir}/libICE.so.* \
>> - ${STAGING_DIR_TARGET}/${libdir}/libSM.so.* \
>> - ${STAGING_DIR_TARGET}/${libdir}/libatk-1.0.so.* \
>> - ${STAGING_DIR_TARGET}/${libdir}/libcairo.so.* \
>> - ${STAGING_DIR_TARGET}/${libdir}/libdbus-1.so.* \
>> - ${STAGING_DIR_TARGET}/${libdir}/libdbus-glib-1.so.* \
>> - ${STAGING_DIR_TARGET}/${libdir}/libexpat.so.* \
>> - ${STAGING_DIR_TARGET}/${libdir}/libffi.so.* \
>> - ${STAGING_DIR_TARGET}/${libdir}/libfontconfig.so.* \
>> - ${STAGING_DIR_TARGET}/${libdir}/libfreetype.so.* \
>> - ${STAGING_DIR_TARGET}/${libdir}/libgconf-2.so.* \
>> - ${STAGING_DIR_TARGET}/${libdir}/libgif.so.* \
>> - ${STAGING_DIR_TARGET}/${libdir}/libjpeg.so.* \
>> - ${STAGING_DIR_TARGET}/${libdir}/liblzma.so.* \
>> - ${STAGING_DIR_TARGET}/${libdir}/libpixman-1.so.* \
>> - ${STAGING_DIR_TARGET}/${libdir}/libpng1*.so.* \
>> - ${STAGING_DIR_TARGET}/${libdir}/librsvg-2.so.* \
>> - ${STAGING_DIR_TARGET}/${libdir}/libstdc++.so.* \
>> - ${STAGING_DIR_TARGET}/${libdir}/libtiff.so.* \
>> - ${STAGING_DIR_TARGET}/${libdir}/libxml2.so.* \
>> - ${STAGING_DIR_TARGET}/${libdir}/libcroco-0.6.so.* \
>> - ${STAGING_DIR_TARGET}/${libdir}/libharfbuzz.so.* \
>> - ${STAGING_DIR_TARGET}/${libdir}/libicule.so.* \
>> - ${STAGING_DIR_TARGET}/${libdir}/libicuuc.so.* \
>> - ${STAGING_DIR_TARGET}/${libdir}/libicudata.so.* $treedir/${base_libdir}/
>> -
>> - # X11 Xau Xcomposite Xcursor Xdamage Xdmcp Xext Xfixes Xft Xpm Xrandr Xrender
>> - cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libX*.so.* $treedir/${base_libdir}/
>> -
>> - # gdk-x11 gdk_pixbuf gio glib gmodule gobject gthread gtk-x11
>> - cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libg*-2.0.so.* $treedir/${base_libdir}/
>> -
>> - # pango pangocairo pangoft2
>> - cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libpango*-1.0.so.* $treedir/${base_libdir}/
>> -
>> - # xcb-render xcb-shm xcb
>> - cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libxcb*.so.* $treedir/${base_libdir}/
>> - fi
>> }
>>
>> do_install_append() {
>> diff --git a/meta-oe/recipes-support/emacs/emacs_23.4.bb b/meta-oe/recipes-support/emacs/emacs_23.4.bb
>> index a324828..36e8f0c 100644
>> --- a/meta-oe/recipes-support/emacs/emacs_23.4.bb
>> +++ b/meta-oe/recipes-support/emacs/emacs_23.4.bb
>> @@ -2,8 +2,6 @@ require emacs.inc
>>
>> PR = "r4"
>>
>> -PNBLACKLIST[emacs] ?= "qemu: uncaught target signal 11 (Segmentation fault) - core dumped"
>> -
>> SRC_URI = "${GNU_MIRROR}/emacs/emacs-${PV}.tar.gz;name=tarball \
>> file://use-qemu.patch \
>> file://nostdlib-unwind.patch \
>> --
>> 2.1.0
>>
>> --
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>
> --
> Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-02-06 15:11 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-04 18:40 [meta-oe][PATCH 3/5] emacs: Un-blacklist, seems to work fine with new qemu Dan McGregor
2015-02-05 16:23 ` [meta-oe][PATCH v2 " Dan McGregor
2015-02-05 16:35 ` Martin Jansa
2015-02-06 15:11 ` Dan McGregor
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.