Skip to contentSkip to conversation

Fixes related to self-hosted build

PATCH In review Saul Wold 4 participants 12 messages Dec 10, 2011 – Dec 11, 2011

lore
Share & tools
lore

Saul Wold

author
#0 lore raw

cover Fixes related to self-hosted build

This has some changes to enable the self-hosted build to startup in X cleanly.

One note, the texinfo change may change if I can get it to correctly build the native/host cross tools correctly, currently there is a problem with that part of the build which has already been addressed in a older patch by Joshua.

Sau!

The following changes since commit 07f94fa1d661d38b775ce2d99b84e5610c369392:

license/copyleft: exception for ast parse (2011-12-10 00:17:25 +0000)

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

Saul Wold (5):
ncurses: libcurses.so should link to libncurses.so
gdk-pixbuf: Add hicolor-icon-theme as RDEPENDS
self-hosted: Add ext2 utilites and perl-pod for building
texinfo: fix compile failure due target makedoc binary being used bitbake.conf: remove texinfo-native from ASSUME_PROVIDED

 meta/conf/bitbake.conf                             |    1 -
 meta/recipes-core/ncurses/ncurses.inc              |    5 ++-
 meta/recipes-core/tasks/task-self-hosted.bb        |   54 +++++++++++--------
 .../texinfo/texinfo-4.13a/use_host_makedoc.patch   |   37 +++++++++++++
 meta/recipes-extended/texinfo/texinfo_4.13a.bb     |   11 +++-
 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.24.0.bb |    4 ++
 6 files changed, 85 insertions(+), 27 deletions(-)
 create mode 100644 meta/recipes-extended/texinfo/texinfo-4.13a/use_host_makedoc.patch
Signature · 1 line
1.7.6.4
author
#1 lore raw

PATCH 1/5 ncurses: libcurses.so should link to libncurses.so

The current libcurses (backward compat) links to libncurses.so.5.9, this causes a problem since this library also needs libtinfo, the libncurses.so, uses a "ld script" to include both, libcurses.so should point to libncurses.so (the script) not the library.

---
 meta/recipes-core/ncurses/ncurses.inc |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)
meta/recipes-core/ncurses/ncurses.inc +4 -1
index df9252a..98f45a4 100644
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://ncurses/base/version.c;beginline=1;endline=27;md5=cbc
 SECTION = "libs"
 DEPENDS = "ncurses-native"
 DEPENDS_virtclass-native = ""
-INC_PR = "r2"
+INC_PR = "r3"
 
 inherit autotools binconfig multilib_header
 
@@ -161,6 +161,9 @@ do_install() {
                 echo '/* GNU ld script */'  >$f
                 echo "INPUT($i.so.5 AS_NEEDED(-ltinfo))" >>$f
         done
+	# Make sure that libcurses is linked so that it gets -ltinfo
+	# also, this should be addressed upstream really.
+	ln -sf libncurses.so ${D}${libdir}/libcurses.so
 
         # create libtermcap.so linker script for backward compatibility
         f=${D}${libdir}/libtermcap.so
Signature · 1 line
1.7.6.4
author
#2 lore raw

PATCH 2/5 gdk-pixbuf: Add hicolor-icon-theme as RDEPENDS

In reply to Saul Wold
---
 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.24.0.bb |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.24.0.bb +4 -0
index b33eca9..7955e3b 100644
@@ -10,6 +10,8 @@ SECTION = "libs"
 
 DEPENDS = "libpng glib-2.0 jpeg"
 
+PR = "r1"
+
 SRC_URI = "http://ftp.acc.umu.se/pub/GNOME/sources/gdk-pixbuf/2.24/gdk-pixbuf-${PV}.tar.bz2 \
            file://hardcoded_libtool.patch \
            file://configure_fix.patch \
@@ -20,6 +22,8 @@ SRC_URI[sha256sum] = "38d2630314e6d91976bffd833236f84fefa440a9038f86dc422820a39f
 
 inherit autotools pkgconfig gettext
 
+RDEPENDS = "hicolor-icon-theme"
+
 LIBV = "2.10.0"
 
 EXTRA_OECONF = "\
Signature · 1 line
1.7.6.4
#3 lore raw

Re: [PATCH 2/5] gdk-pixbuf: Add hicolor-icon-theme as RDEPENDS

Op 10 dec. 2011, om 23:01 heeft Saul Wold het volgende geschreven:

Quoted 6 lines

---
meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.24.0.bb | 4 ++++

1 files changed, 4 insertions(+), 0 deletions(-)

+RDEPENDS = "hicolor-icon-theme"

Are you sure this is the right place? gdk-pixbuf are just the image loaders, they shouldn't have a hard dependency on a bunch of icons... As for the apps, gtk-icon-cache.bbclass should be adding the hicolor dep automatically.

regards,

Koen

author
#4 lore raw

Re: [PATCH 2/5] gdk-pixbuf: Add hicolor-icon-theme as RDEPENDS

Quoted 12 lines · Koen Kooi

Op 10 dec. 2011, om 23:01 heeft Saul Wold het volgende geschreven:

Quoted 6 lines

---
meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.24.0.bb | 4 ++++

1 files changed, 4 insertions(+), 0 deletions(-)

+RDEPENDS = "hicolor-icon-theme"

Are you sure this is the right place? gdk-pixbuf are just the image loaders, they shouldn't have a hard dependency on a bunch of icons... As for the apps, gtk-icon-cache.bbclass should be adding the hicolor dep automatically.

Your right, I did not look in the bbclass, I was trying to resolve this issue:

Configuring gdk-pixbuf-loader-png.
gtk-update-icon-cache: No theme index file.
Configuring gdk-pixbuf-loader-jpeg.
gtk-update-icon-cache: No theme index file.
Configuring liberation-fonts.
Configuring gdk-pixbuf-loader-xpm.
gtk-update-icon-cache: No theme index file.
Configuring gdk-pixbuf-loader-gif.
gtk-update-icon-cache: No theme index file.

Which seems to stem from gdk-pixbuf-loader-xpm's postinstall trying to cache the hicolor icons. I can see the dependency, but they did not seem to be installed, more digging is required.

I withdraw this patch.

Sau!

Quoted 11 lines

regards,

Koen

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

author
#5 lore raw

PATCH 3/5 self-hosted: Add ext2 utilites and perl-pod for building

In reply to Saul Wold

Add self-hosted-host-tools for non-build related tools

---
 meta/recipes-core/tasks/task-self-hosted.bb |   54 +++++++++++++++-----------
 1 files changed, 31 insertions(+), 23 deletions(-)
meta/recipes-core/tasks/task-self-hosted.bb +31 -23
index b3a68b4..b9bdd21 100644
@@ -3,7 +3,7 @@
 #
 
 DESCRIPTION = "Create Basic Image Tasks"
-PR = "r1"
+PR = "r2"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
                     file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
@@ -14,6 +14,7 @@ PACKAGES = "\
     task-self-hosted-sdk \
     task-self-hosted-extended \
     task-self-hosted-graphics \
+    task-self-hosted-host-tools \
     "
 
 ALLOW_EMPTY = "1"
@@ -23,13 +24,26 @@ RDEPENDS_task-self-hosted = "\
     task-self-hosted-sdk \
     task-self-hosted-extended \
     task-self-hosted-graphics \
+    task-self-hosted-host-tools \
+    "
+
+RDEPENDS_task-self-hosted-host-tools = "\
+    e2fsprogs \
+    dhcp-client \
+    genext2fs \
+    hdparm \
+    iptables \
+    kernel-module-tun \
+    kernel-module-iptable-raw \
+    kernel-module-iptable-nat \
+    kernel-module-iptable-mangle \
+    kernel-module-iptable-filter \
+    mc \
+    screen \
     "
 
 # eglibc-utils: for rpcgen
 RDEPENDS_task-self-hosted-sdk = "\
-    sed \
-    mktemp \
-    eglibc-utils \
     autoconf \
     automake \
     binutils-symlinks \
@@ -37,27 +51,30 @@ RDEPENDS_task-self-hosted-sdk = "\
     cpp \
     cpp-symlinks \
     ccache \
+    coreutils \
+    diffutils \
+    distcc \
+    eglibc-utils \
+    file \
+    findutils \
     gcc \
     gcc-symlinks \
     g++ \
     g++-symlinks \
     gettext \
-    make \
     intltool \
+    ldd \
+    less \
     libstdc++ \
     libstdc++-dev \
     libtool \
+    make \
+    mktemp \
     perl-module-re \
     perl-module-text-wrap \
-    coreutils \
-    diffutils \
     pkgconfig \
-    findutils \
     quilt \
-    less \
-    distcc \
-    ldd \
-    file \
+    sed \
     tcl \
     "
 
@@ -74,8 +91,8 @@ RDEPENDS_task-self-hosted-extended = "\
     bzip2 \
     chkconfig \
     chrpath \
+    cpio \
     curl \
-    dhcp-client \
     diffstat \
     diffutils \
     elfutils \
@@ -88,7 +105,6 @@ RDEPENDS_task-self-hosted-extended = "\
     grep \
     groff \
     gawk \
-    hdparm \
     libaio \
     libxml2 \
     libusb1 \
@@ -97,7 +113,6 @@ RDEPENDS_task-self-hosted-extended = "\
     lzo \
     man \
     man-pages \
-    mc \
     mdadm \
     minicom \
     mtools \
@@ -111,6 +126,7 @@ RDEPENDS_task-self-hosted-extended = "\
     perl \
     perl-modules \
     perl-dev \
+    perl-pod \
     pth \
     python \
     python-compile \
@@ -140,7 +156,6 @@ RDEPENDS_task-self-hosted-extended = "\
     quota \
     readline \
     rpm \
-    screen \
     setserial \
     subversion \
     sudo \
@@ -158,13 +173,6 @@ RDEPENDS_task-self-hosted-extended = "\
     xinetd \
     zip \
     zlib \
-    cpio \
-    iptables \
-    kernel-module-tun \
-    kernel-module-iptable-raw \
-    kernel-module-iptable-nat \
-    kernel-module-iptable-mangle \
-    kernel-module-iptable-filter \
     "
 
 
Signature · 1 line
1.7.6.4
#6 lore raw

Re: [PATCH 3/5] self-hosted: Add ext2 utilites and perl-pod for building

Dear Saul Wold,

Quoted 1 line · In message <71f6cb63e711721a1a03cfc1c0f1d054472241fe.1323554268.git.sgw@linux.i…

Add self-hosted-host-tools for non-build related tools

...

Quoted 1 line

+ e2fsprogs \

...

Quoted 1 line

+ genext2fs \

It's certainly nice to have the ext2 tools then, but would it not also make a lot of sense to include mtd-utils (so we can erase flash and create UBI volumes / UBIFS file system images) and eventually even dosfstools?

Most embedded systems come with NAND these days, and a lot of them use UBI/UBIFS...

Best regards,

Wolfgang Denk

Signature · 4 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: [email protected]
If all you have is a hammer, everything looks like a nail.
author
#7 lore raw

Re: [PATCH 3/5] self-hosted: Add ext2 utilites and perl-pod for building

Quoted 9 lines · Wolfgang Denk

Dear Saul Wold,

Quoted 1 line · In message<71f6cb63e711721a1a03cfc1c0f1d054472241fe.1323554268.git.sgw@linux.in…

Add self-hosted-host-tools for non-build related tools

...

Quoted 1 line

+ e2fsprogs \

...

Quoted 1 line

+ genext2fs \

Quoted 8 lines

It's certainly nice to have the ext2 tools then, but would it not also make a lot of sense to include mtd-utils (so we can erase flash and create UBI volumes / UBIFS file system images) and eventually even dosfstools?

Most embedded systems come with NAND these days, and a lot of them use UBI/UBIFS...

Great point Wolfgang, this is an evolving item, please feel free to submit the appropriate patches!

Sau!

Quoted 4 lines

Best regards,

Wolfgang Denk

#8 lore raw

Re: [PATCH 3/5] self-hosted: Add ext2 utilites and perl-pod for building

In reply to Saul Wold

Dear Saul,

Am Samstag, den 10.12.2011, 14:01 -0800 schrieb Saul Wold:

Quoted 39 lines

Add self-hosted-host-tools for non-build related tools

---
 meta/recipes-core/tasks/task-self-hosted.bb |   54 +++++++++++++++-----------
 1 files changed, 31 insertions(+), 23 deletions(-)
meta/recipes-core/tasks/task-self-hosted.bb +9 -1
index b3a68b4..b9bdd21 100644
@@ -3,7 +3,7 @@
 #
 
 DESCRIPTION = "Create Basic Image Tasks"
-PR = "r1"
+PR = "r2"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
                     file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
@@ -14,6 +14,7 @@ PACKAGES = "\
     task-self-hosted-sdk \
     task-self-hosted-extended \
     task-self-hosted-graphics \
+    task-self-hosted-host-tools \
     "
 
 ALLOW_EMPTY = "1"
@@ -23,13 +24,26 @@ RDEPENDS_task-self-hosted = "\
     task-self-hosted-sdk \
     task-self-hosted-extended \
     task-self-hosted-graphics \
+    task-self-hosted-host-tools \
+    "
+
+RDEPENDS_task-self-hosted-host-tools = "\
+    e2fsprogs \
+    dhcp-client \
+    genext2fs \

meta/recipes-core/tasks/task-self-hosted.bb RDEPENDS_task-self-hosted = "\ · line 43

Quoted 10 lines
meta/recipes-core/tasks/task-self-hosted.bb +9 -0
+    hdparm \
+    iptables \
+    kernel-module-tun \
+    kernel-module-iptable-raw \
+    kernel-module-iptable-nat \
+    kernel-module-iptable-mangle \
+    kernel-module-iptable-filter \
+    mc \
+    screen \
     "

[…]

I find this patch quite hard to review, since it reorders the variables(?). Is there a trick to review this or are two separate patches better.

Could you also please check your pull request script to send

<[email protected]>

instead of

<[email protected]>

and therefore answering to all messages are sent twice to the list.

Thanks,

Paul

author
#9 lore raw

Re: [PATCH 3/5] self-hosted: Add ext2 utilites and perl-pod for building

Quoted 56 lines · Paul Menzel

Dear Saul,

Am Samstag, den 10.12.2011, 14:01 -0800 schrieb Saul Wold:

Quoted 49 lines

Add self-hosted-host-tools for non-build related tools

---
  meta/recipes-core/tasks/task-self-hosted.bb |   54 +++++++++++++++-----------
  1 files changed, 31 insertions(+), 23 deletions(-)
meta/recipes-core/tasks/task-self-hosted.bb +18 -1
index b3a68b4..b9bdd21 100644
@@ -3,7 +3,7 @@
  #
 
  DESCRIPTION = "Create Basic Image Tasks"
-PR = "r1"
+PR = "r2"
  LICENSE = "MIT"
  LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
                      file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
@@ -14,6 +14,7 @@ PACKAGES = "\
      task-self-hosted-sdk \
      task-self-hosted-extended \
      task-self-hosted-graphics \
+    task-self-hosted-host-tools \
      "
 
  ALLOW_EMPTY = "1"
@@ -23,13 +24,26 @@ RDEPENDS_task-self-hosted = "\
      task-self-hosted-sdk \
      task-self-hosted-extended \
      task-self-hosted-graphics \
+    task-self-hosted-host-tools \
+    "
+
+RDEPENDS_task-self-hosted-host-tools = "\
+    e2fsprogs \
+    dhcp-client \
+    genext2fs \
+    hdparm \
+    iptables \
+    kernel-module-tun \
+    kernel-module-iptable-raw \
+    kernel-module-iptable-nat \
+    kernel-module-iptable-mangle \
+    kernel-module-iptable-filter \
+    mc \
+    screen \
      "

[…]

Quoted 4 lines

I find this patch quite hard to review, since it reorders the variables(?). Is there a trick to review this or are two separate patches better.

No trick, just moved a couple of items that where in the wrong place from one task to the host-tools task.

Quoted 10 lines

Could you also please check your pull request script to send

<[email protected]>

instead of

<[email protected]>

and therefore answering to all messages are sent twice to the list.

Sure, not sure why that would be happening.

Sau!

Quoted 11 lines

Thanks,

Paul

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

author
#10 lore raw

PATCH 4/5 texinfo: fix compile failure due target makedoc binary being used

In reply to Saul Wold

Need to have the texinfo-native build and install a host sysroot makedoc binary and then patch the target build to use this binary. This requires that we don't ASSUME_PROVIDED texinfo-native any longer since we need to install this makedoc tool which is not part of the normal distrubtion.

This convouted installation is needed because we have disabled the cross-compliation of texinfo tools due to host intrusion issues. http://bugzilla.pokylinux.org/show_bug.cgi?id=1483

[YOCTO #1664]

---
 .../texinfo/texinfo-4.13a/use_host_makedoc.patch   |   37 ++++++++++++++++++++
 meta/recipes-extended/texinfo/texinfo_4.13a.bb     |   11 +++++-
 2 files changed, 46 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-extended/texinfo/texinfo-4.13a/use_host_makedoc.patch
meta/recipes-extended/texinfo/texinfo-4.13a/use_host_makedoc.patch new file +37 -0
new file mode 100644
index 0000000..db41f1a
@@ -0,0 +1,37 @@
+This patch requires that we also enable building of the
+texinfo-native recipe which will install the makedoc tool 
+for the host machine.
+
+This patch simply uses the newly installed makedoc tool from
+sysroot.
+
+Upstream-Status: Inappropriate [OE-Specific]
+
+Signed-off-by: Saul Wold <[email protected]>
+
+Index: texinfo-4.13/info/Makefile.am
+===================================================================
+--- texinfo-4.13.orig/info/Makefile.am	2008-05-22 05:11:33.000000000 -0700
++++ texinfo-4.13/info/Makefile.am	2011-12-10 12:55:53.604440118 -0800
+@@ -75,7 +75,7 @@
+ # more than once.
+ funs.h: makedoc$(EXEEXT) $(cmd_sources)
+ 	rm -f $(generated_sources)
+-	$(top_builddir)/$(native_tools)/info/makedoc $(cmd_sources)
++	makedoc $(cmd_sources)
+ 
+ # The following hack is necessary to hint make before the automatic
+ # dependencies are built.
+Index: texinfo-4.13/doc/Makefile.am
+===================================================================
+--- texinfo-4.13.orig/doc/Makefile.am	2008-09-18 11:31:56.000000000 -0700
++++ texinfo-4.13/doc/Makefile.am	2011-12-10 13:04:09.216457601 -0800
+@@ -19,7 +19,7 @@
+ 
+ # Use the programs built in our distribution, taking account of possible
+ # cross-compiling.
+-MAKEINFO = $(top_builddir)/$(native_tools)/makeinfo/makeinfo
++MAKEINFO = makeinfo
+ 
+ # We'd also like to use something like this, but Automake calls
+ # "install-info" directly.
meta/recipes-extended/texinfo/texinfo_4.13a.bb +9 -2
index 9f1c04a..f205d4e 100644
@@ -6,11 +6,14 @@ HOMEPAGE = "http://www.gnu.org/software/texinfo/"
 SECTION = "console/utils"
 LICENSE = "GPLv3+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=adefda309052235aa5d1e99ce7557010"
-PR = "r1"
+PR = "r2"
 
 DEPENDS = "zlib ncurses texinfo-native"
 DEPENDS_virtclass-native = "zlib-native ncurses-native"
 
+TARGET_PATCH = "file://use_host_makedoc.patch"
+TARGET_PATCH_virtclass-native = ""
+
 SRC_URI = "${GNU_MIRROR}/texinfo/texinfo-${PV}.tar.gz \
            file://texinfo-4.12-zlib.patch \
            file://texinfo-4.13a-data_types.patch \
@@ -19,7 +22,8 @@ SRC_URI = "${GNU_MIRROR}/texinfo/texinfo-${PV}.tar.gz \
            file://texinfo-4.13a-help-index-segfault.patch \
            file://disable-native-tools.patch \
            file://link-zip.patch \
-           file://gettext-macros.patch"
+           file://gettext-macros.patch \
+           ${TARGET_PATCH}"
 
 SRC_URI[md5sum] = "71ba711519209b5fb583fed2b3d86fcb"
 SRC_URI[sha256sum] = "1303e91a1c752b69a32666a407e9fbdd6e936def4b09bc7de30f416301530d68"
@@ -39,6 +43,9 @@ do_install_append() {
 	mkdir -p ${D}${datadir}/${tex_texinfo}
 	install -p -m644 doc/texinfo.tex doc/txi-??.tex ${D}${datadir}/${tex_texinfo} 	
 }
+do_install_append_virtclass-native() {
+	install -m 755 info/makedoc ${D}${bindir}
+}
 
 PACKAGES += "info info-doc"
 
Signature · 1 line
1.7.6.4
author
#11 lore raw

PATCH 5/5 bitbake.conf: remove texinfo-native from ASSUME_PROVIDED

In reply to Saul Wold

We need to build texinfo-native to get and install the makedoc tool

[YOCTO #1664]

---
 meta/conf/bitbake.conf |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)
meta/conf/bitbake.conf +0 -1
index eeb1fc4..f79e3f7 100644
@@ -156,7 +156,6 @@ ASSUME_PROVIDED = "\
     python-native-runtime \
     subversion-native \
     tar-native \
-    texinfo-native \
     virtual/libintl-native \
     "
 
Signature · 1 line
1.7.6.4