Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH 0/3] meta-toolchain-sdk: /bin/perl is needed by some pkgs on FC 17
@ 2012-04-16 13:38 Robert Yang
  2012-04-16 13:38 ` [PATCH 1/3] glib-2.0: fix builds on fedora 17 Robert Yang
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Robert Yang @ 2012-04-16 13:38 UTC (permalink / raw)
  To: openembedded-core

Test info:
Tested on FC 13/16/17 64bit
1) $ bitbake  meta-toolchain-sdk core-image-sato
2) untar the sdk, and use the sdk to build some pkgs (autoreconf, configure and make)

// Robert

The following changes since commit 4e1a8ed1ab7e7bd950e511c79ddfe072cb280a6e:

  bitbake.conf: Include abi_version.conf in a early stage (2012-04-16 12:51:50 +0100)

are available in the git repository at:
  git://git.pokylinux.org/poky-contrib robert/fc17_sdk
  http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=robert/fc17_sdk

Robert Yang (3):
  glib-2.0: fix builds on fedora 17
  autoconf-nativesdk: fix builds on fedora 17
  automake-nativesdk: fix builds on fedora 17

 meta/recipes-core/glib-2.0/glib-2.0_2.30.3.bb     |   12 +++++++++++-
 meta/recipes-devtools/autoconf/autoconf.inc       |   16 +++++++++++++++-
 meta/recipes-devtools/autoconf/autoconf_2.68.bb   |    2 +-
 meta/recipes-devtools/automake/automake_1.11.2.bb |   20 +++++++++++++++++---
 4 files changed, 44 insertions(+), 6 deletions(-)




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

* [PATCH 1/3] glib-2.0: fix builds on fedora 17
  2012-04-16 13:38 [PATCH 0/3] meta-toolchain-sdk: /bin/perl is needed by some pkgs on FC 17 Robert Yang
@ 2012-04-16 13:38 ` Robert Yang
  2012-04-16 13:53   ` Koen Kooi
  2012-04-16 13:38 ` [PATCH 2/3] autoconf-nativesdk: " Robert Yang
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 7+ messages in thread
From: Robert Yang @ 2012-04-16 13:38 UTC (permalink / raw)
  To: openembedded-core

Generally distros keep perl at /sur/bin/perl
Fedora 17 also has /bin/perl

this causes glib-2.0 build on such distros to put perl interpreter path in
the perl scripts as /bin/perl

But we set perl location for target as /usr/bin/perl

This mismatch of perl path causes failure of rootfs image creation
like this:

| error: Failed dependencies:
|       /bin/perl is needed by libglib-2.0-utils-2.30.3-r0.ppc603e
NOTE: package meta-toolchain-gmae-1.0-r7: task do_populate_sdk: Failed

[YOCTO #2304]

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
 meta/recipes-core/glib-2.0/glib-2.0_2.30.3.bb |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.30.3.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.30.3.bb
index 3b9da89..f1f9217 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0_2.30.3.bb
+++ b/meta/recipes-core/glib-2.0/glib-2.0_2.30.3.bb
@@ -1,6 +1,6 @@
 require glib.inc
 
-PR = "r0"
+PR = "r1"
 PE = "1"
 
 DEPENDS += "libffi python-argparse-native zlib"
@@ -25,6 +25,10 @@ SRC_URI_append_libc-uclibc = " ${@['', 'file://no-iconv.patch']['${PN}' == '${BP
 SRC_URI_append_virtclass-native = " file://glib-gettextize-dir.patch"
 BBCLASSEXTEND = "native nativesdk"
 
+PERLPATH = "${bindir}/env perl"
+PERLPATH_virtclass-native = "/usr/bin/env perl"
+PERLPATH_virtclass-nativesdk = "/usr/bin/env perl"
+
 do_configure_prepend() {
   # missing ${topdir}/gtk-doc.make and --disable-gtk-doc* is not enough, because it calls gtkdocize (not provided by gtk-doc-native)
   sed -i '/^docs/d' ${S}/configure.ac
@@ -39,6 +43,12 @@ do_install_append() {
   # and empty dirs
   rmdir ${D}${libdir}/gio/modules/
   rmdir ${D}${libdir}/gio/
+
+  # Some distros have both /bin/perl and /usr/bin/perl, but we set perl location
+  # for target as /usr/bin/perl, so fix it to /usr/bin/perl.
+  if [ -f ${D}${bindir}/glib-mkenums ]; then
+    sed -i -e '1s,#!.*perl,#! ${PERLPATH},' ${D}${bindir}/glib-mkenums
+  fi
 }
 
 PACKAGES += "${PN}-codegen"
-- 
1.7.1




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

* [PATCH 2/3] autoconf-nativesdk: fix builds on fedora 17
  2012-04-16 13:38 [PATCH 0/3] meta-toolchain-sdk: /bin/perl is needed by some pkgs on FC 17 Robert Yang
  2012-04-16 13:38 ` [PATCH 1/3] glib-2.0: fix builds on fedora 17 Robert Yang
@ 2012-04-16 13:38 ` Robert Yang
  2012-04-16 13:38 ` [PATCH 3/3] automake-nativesdk: " Robert Yang
  2012-04-18 15:01 ` [PATCH 0/3] meta-toolchain-sdk: /bin/perl is needed by some pkgs on FC 17 Saul Wold
  3 siblings, 0 replies; 7+ messages in thread
From: Robert Yang @ 2012-04-16 13:38 UTC (permalink / raw)
  To: openembedded-core

Generally distros keep perl at /sur/bin/perl
Fedora 17 also has /bin/perl

this causes autoconf-nativesdk build on such distros to put perl
interpreter path in the perl scripts as /bin/perl

But we set perl location for target as /usr/bin/perl

This mismatch of perl path causes failure of rootfs image creation
like this:

| error: Failed dependencies:
|       /bin/perl is needed by autoconf-nativesdk-2.68-r6.x86_64.rpm
NOTE: package meta-toolchain-gmae-1.0-r7: task do_populate_sdk: Failed

The second sed command is for such a case:

eval 'case $# in 0) exec /bin/perl -S "$0";; *) exec /bin/perl -S "$0" "$@";; esac'

This line has two "/bin/perl" and we can't use a line number to tell
sed which line it is since the line numbers in different files are
defferent.

[YOCTO #2304]

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
 meta/recipes-devtools/autoconf/autoconf.inc     |   16 +++++++++++++++-
 meta/recipes-devtools/autoconf/autoconf_2.68.bb |    2 +-
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-devtools/autoconf/autoconf.inc b/meta/recipes-devtools/autoconf/autoconf.inc
index 80a5d92..3ae98c8 100644
--- a/meta/recipes-devtools/autoconf/autoconf.inc
+++ b/meta/recipes-devtools/autoconf/autoconf.inc
@@ -17,6 +17,20 @@ SRC_URI = "${GNU_MIRROR}/autoconf/autoconf-${PV}.tar.bz2 \
 
 inherit autotools
 
+PERLPATH = "${bindir}/perl"
+PERLPATH_virtclass-native = "/usr/bin/perl"
+PERLPATH_virtclass-nativesdk = "/usr/bin/perl"
+
 do_install_append() {
-	rm -rf ${D}${datadir}/emacs
+    rm -rf ${D}${datadir}/emacs
+
+    # Some distros have both /bin/perl and /usr/bin/perl, but we set perl location
+    # for target as /usr/bin/perl, so fix it to /usr/bin/perl.
+    for i in autoheader autom4te autoreconf autoscan autoupdate ifnames; do
+        if [ -f ${D}${bindir}/$i ]; then
+            sed -i -e '1s,#!.*perl,#! ${PERLPATH},' \
+            -e 's,exec .*/bin/perl \(.*\) exec .*/bin/perl \(.*\),exec ${PERLPATH} \1 exec ${PERLPATH} \2,' \
+            ${D}${bindir}/$i
+        fi
+    done
 } 
diff --git a/meta/recipes-devtools/autoconf/autoconf_2.68.bb b/meta/recipes-devtools/autoconf/autoconf_2.68.bb
index f1b506a..8d466e0 100644
--- a/meta/recipes-devtools/autoconf/autoconf_2.68.bb
+++ b/meta/recipes-devtools/autoconf/autoconf_2.68.bb
@@ -1,6 +1,6 @@
 require autoconf.inc
 
-PR = "r6"
+PR = "r7"
 
 PARALLEL_MAKE = ""
 
-- 
1.7.1




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

* [PATCH 3/3] automake-nativesdk: fix builds on fedora 17
  2012-04-16 13:38 [PATCH 0/3] meta-toolchain-sdk: /bin/perl is needed by some pkgs on FC 17 Robert Yang
  2012-04-16 13:38 ` [PATCH 1/3] glib-2.0: fix builds on fedora 17 Robert Yang
  2012-04-16 13:38 ` [PATCH 2/3] autoconf-nativesdk: " Robert Yang
@ 2012-04-16 13:38 ` Robert Yang
  2012-04-18 15:01 ` [PATCH 0/3] meta-toolchain-sdk: /bin/perl is needed by some pkgs on FC 17 Saul Wold
  3 siblings, 0 replies; 7+ messages in thread
From: Robert Yang @ 2012-04-16 13:38 UTC (permalink / raw)
  To: openembedded-core

Generally distros keep perl at /sur/bin/perl
Fedora 17 also has /bin/perl

this causes automake-nativesdk build on such distros to put perl
interpreter path in the perl scripts as /bin/perl

But we set perl location for target as /usr/bin/perl

This mismatch of perl path causes failure of rootfs image creation
like this:

| error: Failed dependencies:
|       /bin/perl is needed by automake-nativesdk-1.11.2-r2.x86_64
NOTE: package meta-toolchain-gmae-1.0-r7: task do_populate_sdk: Failed

The second sed command is for such a case:

eval 'case $# in 0) exec /bin/perl -S "$0";; *) exec /bin/perl -S "$0" "$@";; esac'

This line has two "/bin/perl" and we can't use a line number to tell
sed which line it is since the line numbers in different files are
defferent.

[YOCTO #2304]

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
 meta/recipes-devtools/automake/automake_1.11.2.bb |   20 +++++++++++++++++---
 1 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/meta/recipes-devtools/automake/automake_1.11.2.bb b/meta/recipes-devtools/automake/automake_1.11.2.bb
index 4271336..66589fe 100644
--- a/meta/recipes-devtools/automake/automake_1.11.2.bb
+++ b/meta/recipes-devtools/automake/automake_1.11.2.bb
@@ -34,19 +34,33 @@ PATHFIXPATCH = "file://path_prog_fixes.patch"
 PATHFIXPATCH_virtclass-native = ""
 PATHFIXPATCH_virtclass-nativesdk = ""
 
+PERLPATH = "${bindir}/perl"
+PERLPATH_virtclass-native = "/usr/bin/perl"
+PERLPATH_virtclass-nativesdk = "/usr/bin/perl"
+
 SRC_URI += "${PATHFIXPATCH} \
 	    file://prefer-cpio-over-pax-for-ustar-archives.patch \
 	    file://python-libdir.patch \
             file://automake_1.11.2_fix_for_pkglibexec_SCRIPTS.patch \
             file://py-compile-compile-only-optimized-byte-code.patch"
 
-PR = "r2"
+PR = "r3"
 SRC_URI[md5sum] = "18194e804d415767bae8f703c963d456"
 SRC_URI[sha256sum] = "4f46d1f9380c8a3506280750f630e9fc915cb1a435b724be56b499d016368718"
 
 do_install () {
-	oe_runmake 'DESTDIR=${D}' install
-	install -d ${D}${datadir}
+    oe_runmake 'DESTDIR=${D}' install
+    install -d ${D}${datadir}
+
+    # Some distros have both /bin/perl and /usr/bin/perl, but we set perl location
+    # for target as /usr/bin/perl, so fix it to /usr/bin/perl.
+    for i in aclocal aclocal-1.11 automake automake-1.11; do
+        if [ -f ${D}${bindir}/$i ]; then
+            sed -i -e '1s,#!.*perl,#! ${PERLPATH},' \
+            -e 's,exec .*/bin/perl \(.*\) exec .*/bin/perl \(.*\),exec ${PERLPATH} \1 exec ${PERLPATH} \2,' \
+            ${D}${bindir}/$i
+        fi
+    done
 }
 
 BBCLASSEXTEND = "native nativesdk"
-- 
1.7.1




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

* Re: [PATCH 1/3] glib-2.0: fix builds on fedora 17
  2012-04-16 13:38 ` [PATCH 1/3] glib-2.0: fix builds on fedora 17 Robert Yang
@ 2012-04-16 13:53   ` Koen Kooi
  2012-04-16 14:08     ` Robert Yang
  0 siblings, 1 reply; 7+ messages in thread
From: Koen Kooi @ 2012-04-16 13:53 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer


Op 16 apr. 2012, om 15:38 heeft Robert Yang het volgende geschreven:

> Generally distros keep perl at /sur/bin/perl

/usr



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

* Re: [PATCH 1/3] glib-2.0: fix builds on fedora 17
  2012-04-16 13:53   ` Koen Kooi
@ 2012-04-16 14:08     ` Robert Yang
  0 siblings, 0 replies; 7+ messages in thread
From: Robert Yang @ 2012-04-16 14:08 UTC (permalink / raw)
  To: openembedded-core



On 04/16/2012 09:53 PM, Koen Kooi wrote:
>
> Op 16 apr. 2012, om 15:38 heeft Robert Yang het volgende geschreven:
>
>> Generally distros keep perl at /sur/bin/perl
>
> /usr

Good catch, thanks, I've pushed all the 3 new commits to:(based on oe-core)

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

// Robert

>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>



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

* Re: [PATCH 0/3] meta-toolchain-sdk: /bin/perl is needed by some pkgs on FC 17
  2012-04-16 13:38 [PATCH 0/3] meta-toolchain-sdk: /bin/perl is needed by some pkgs on FC 17 Robert Yang
                   ` (2 preceding siblings ...)
  2012-04-16 13:38 ` [PATCH 3/3] automake-nativesdk: " Robert Yang
@ 2012-04-18 15:01 ` Saul Wold
  3 siblings, 0 replies; 7+ messages in thread
From: Saul Wold @ 2012-04-18 15:01 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On 04/16/2012 06:38 AM, Robert Yang wrote:
> Test info:
> Tested on FC 13/16/17 64bit
> 1) $ bitbake  meta-toolchain-sdk core-image-sato
> 2) untar the sdk, and use the sdk to build some pkgs (autoreconf, configure and make)
>
> // Robert
>
> The following changes since commit 4e1a8ed1ab7e7bd950e511c79ddfe072cb280a6e:
>
>    bitbake.conf: Include abi_version.conf in a early stage (2012-04-16 12:51:50 +0100)
>
> are available in the git repository at:
>    git://git.pokylinux.org/poky-contrib robert/fc17_sdk
>    http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=robert/fc17_sdk
>
> Robert Yang (3):
>    glib-2.0: fix builds on fedora 17
>    autoconf-nativesdk: fix builds on fedora 17
>    automake-nativesdk: fix builds on fedora 17
>
>   meta/recipes-core/glib-2.0/glib-2.0_2.30.3.bb     |   12 +++++++++++-
>   meta/recipes-devtools/autoconf/autoconf.inc       |   16 +++++++++++++++-
>   meta/recipes-devtools/autoconf/autoconf_2.68.bb   |    2 +-
>   meta/recipes-devtools/automake/automake_1.11.2.bb |   20 +++++++++++++++++---
>   4 files changed, 44 insertions(+), 6 deletions(-)
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>

Merged updated version into OE-Core

Thanks
	Sau!



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

end of thread, other threads:[~2012-04-18 15:11 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-04-16 13:38 [PATCH 0/3] meta-toolchain-sdk: /bin/perl is needed by some pkgs on FC 17 Robert Yang
2012-04-16 13:38 ` [PATCH 1/3] glib-2.0: fix builds on fedora 17 Robert Yang
2012-04-16 13:53   ` Koen Kooi
2012-04-16 14:08     ` Robert Yang
2012-04-16 13:38 ` [PATCH 2/3] autoconf-nativesdk: " Robert Yang
2012-04-16 13:38 ` [PATCH 3/3] automake-nativesdk: " Robert Yang
2012-04-18 15:01 ` [PATCH 0/3] meta-toolchain-sdk: /bin/perl is needed by some pkgs on FC 17 Saul Wold

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox