* [PATCH 0/2] RFC v2: provide 3.0.x and 3.1 libc headers
@ 2011-10-26 20:56 Bruce Ashfield
2011-10-26 20:56 ` [PATCH 1/2] linux-libc-headers: factor common code into linux-libc-headers.inc Bruce Ashfield
2011-10-26 20:56 ` [PATCH 2/2] linux-libc-headers: provide 3.0.x and 3.1 headers Bruce Ashfield
0 siblings, 2 replies; 4+ messages in thread
From: Bruce Ashfield @ 2011-10-26 20:56 UTC (permalink / raw)
To: richard.purdie; +Cc: openembedded-core, saul.wold
Richard,
Here's a quick respin of the series to factor out some code.
Changes since v1:
- factored common code out into the .inc file. Captured in patch 1/2
- patch 2/2 is the introduction of the new headers
Original Email is included below:
Here's a RFC patch for updating the toolchain linux-libc headers to 3.x
variants.
The reason I'm calling it a RFC is:
- I wrote some anonymous python code (and I'm no python coder) to
deal with 2.6 / 3.0 tgz location differences. This could have
also been done with a variable set in the recipes and used by
the .inc. I wasn't sure of the preferred approach, hence the RFC.
I'll take no offense corrections here.
- I changed the .inc, but didn't bump the PR of the existing recipes
and didn't remove the existing 2.6 variants. If either of these
should have been done, let me know and I'll respin.
- I bumped the default to be 3.1. If that's too agressive for the
default, and we'd prefer 3.0.8, let me know and I'll respin.
I built and booted all the qemu machines with the 3.1 kernel headers. So
from the testing I was able to do, this looks to be safe and ready to go.
This is based on my yocto repo, I also did the changes in my oe-core
repository, but I don't have a oe-core contrib branch that I could push to,
so I chose to send the yocto variant. If someone points me to who I email for
an oe-core contrib branch, I can push that variant as well.
Cheers,
Bruce
The following changes since commit fc94f925e848684244a38dcffe15cb1192dfbed8:
Martin Jansa (1):
libxml-parser-perl, libxml-simple-perl, expat, sgmlspl-native, git: bump PR to rebuild after perl upgrade
are available in the git repository at:
git://git.pokylinux.org/poky-contrib zedd/libc-headers-v2
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=zedd/libc-headers-v2
Bruce Ashfield (2):
linux-libc-headers: factor common code into linux-libc-headers.inc
linux-libc-headers: provide 3.0.x and 3.1 headers
meta/conf/distro/include/tcmode-default.inc | 2 +-
.../linux-libc-headers/linux-libc-headers.inc | 61 +++++++++++++++++++-
.../linux-libc-headers_2.6.37.2.bb | 46 +--------------
.../linux-libc-headers_2.6.39.bb | 47 +---------------
.../linux-libc-headers/linux-libc-headers_3.0.8.bb | 9 +++
.../linux-libc-headers/linux-libc-headers_3.1.bb | 9 +++
6 files changed, 79 insertions(+), 95 deletions(-)
create mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.0.8.bb
create mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.1.bb
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 1/2] linux-libc-headers: factor common code into linux-libc-headers.inc
2011-10-26 20:56 [PATCH 0/2] RFC v2: provide 3.0.x and 3.1 libc headers Bruce Ashfield
@ 2011-10-26 20:56 ` Bruce Ashfield
2011-10-26 20:56 ` [PATCH 2/2] linux-libc-headers: provide 3.0.x and 3.1 headers Bruce Ashfield
1 sibling, 0 replies; 4+ messages in thread
From: Bruce Ashfield @ 2011-10-26 20:56 UTC (permalink / raw)
To: richard.purdie; +Cc: openembedded-core, saul.wold
Each time a new linux-libc-headers is created the same code is
cloned. Placing the common functionality in the .inc file simplies
each recipe and make maintenance easier.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
---
| 44 ++++++++++++++++++
| 46 +-------------------
| 47 +-------------------
3 files changed, 46 insertions(+), 91 deletions(-)
--git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc
index 014024f..e83a92b 100644
--- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc
+++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc
@@ -5,6 +5,50 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
SRC_URI = "${KERNELORG_MIRROR}/linux/kernel/v2.6/linux-${PV}.tar.bz2"
+S = "${WORKDIR}/linux-${PV}"
+
+set_arch() {
+ case ${TARGET_ARCH} in
+ alpha*) ARCH=alpha ;;
+ arm*) ARCH=arm ;;
+ cris*) ARCH=cris ;;
+ hppa*) ARCH=parisc ;;
+ i*86*) ARCH=i386 ;;
+ ia64*) ARCH=ia64 ;;
+ mips*) ARCH=mips ;;
+ m68k*) ARCH=m68k ;;
+ powerpc*) ARCH=powerpc ;;
+ s390*) ARCH=s390 ;;
+ sh*) ARCH=sh ;;
+ sparc64*) ARCH=sparc64 ;;
+ sparc*) ARCH=sparc ;;
+ x86_64*) ARCH=x86_64 ;;
+ avr32*) ARCH=avr32 ;;
+ bfin*) ARCH=blackfin ;;
+ microblaze*) ARCH=microblaze ;;
+ esac
+}
+
+do_configure() {
+ set_arch
+ oe_runmake allnoconfig ARCH=$ARCH
+}
+
+do_compile () {
+}
+
+do_install() {
+ set_arch
+ oe_runmake headers_install INSTALL_HDR_PATH=${D}${exec_prefix} ARCH=$ARCH
+ # Kernel should not be exporting this header
+ rm -f ${D}${exec_prefix}/include/scsi/scsi.h
+
+ # The ..install.cmd conflicts between various configure runs
+ find ${D}${includedir} -name ..install.cmd | xargs rm -f
+}
+
+BBCLASSEXTEND = "nativesdk"
+
#DEPENDS = "cross-linkage"
RDEPENDS_${PN}-dev = ""
RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
--git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.37.2.bb b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.37.2.bb
index 55d7527..e2def96 100644
--- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.37.2.bb
+++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.37.2.bb
@@ -2,52 +2,8 @@ require linux-libc-headers.inc
INHIBIT_DEFAULT_DEPS = "1"
DEPENDS += "unifdef-native"
-PR = "r2"
+PR = "r3"
SRC_URI += " file://connector-msg-size-fix.patch"
-
-S = "${WORKDIR}/linux-${PV}"
-
-set_arch() {
- case ${TARGET_ARCH} in
- alpha*) ARCH=alpha ;;
- arm*) ARCH=arm ;;
- cris*) ARCH=cris ;;
- hppa*) ARCH=parisc ;;
- i*86*) ARCH=i386 ;;
- ia64*) ARCH=ia64 ;;
- mips*) ARCH=mips ;;
- m68k*) ARCH=m68k ;;
- powerpc*) ARCH=powerpc ;;
- s390*) ARCH=s390 ;;
- sh*) ARCH=sh ;;
- sparc64*) ARCH=sparc64 ;;
- sparc*) ARCH=sparc ;;
- x86_64*) ARCH=x86_64 ;;
- avr32*) ARCH=avr32 ;;
- bfin*) ARCH=blackfin ;;
- microblaze*) ARCH=microblaze ;;
- esac
-}
-
-do_configure() {
- set_arch
- oe_runmake allnoconfig ARCH=$ARCH
-}
-
-do_compile () {
-}
-
-do_install() {
- set_arch
- oe_runmake headers_install INSTALL_HDR_PATH=${D}${exec_prefix} ARCH=$ARCH
- # Kernel should not be exporting this header
- rm -f ${D}${exec_prefix}/include/scsi/scsi.h
-
- # The ..install.cmd conflicts between various configure runs
- find ${D}${includedir} -name ..install.cmd | xargs rm -f
-}
-
-BBCLASSEXTEND = "nativesdk"
SRC_URI[md5sum] = "89f681bc7c917a84aa7470da6eed5101"
SRC_URI[sha256sum] = "2920c4cd3e87fe40ebee96d28779091548867e1c36f71c1fc3d07e6d5802161f"
--git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.39.bb b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.39.bb
index 14f5e8a..a1821e2 100644
--- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.39.bb
+++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.39.bb
@@ -2,53 +2,8 @@ require linux-libc-headers.inc
INHIBIT_DEFAULT_DEPS = "1"
DEPENDS += "unifdef-native"
+PR = "r3"
SRC_URI += " file://connector-msg-size-fix.patch"
SRC_URI[md5sum] = "1aab7a741abe08d42e8eccf20de61e05"
SRC_URI[sha256sum] = "584d17f2a3ee18a9501d7ff36907639e538cfdba4529978b8550c461d45c61f6"
-
-S = "${WORKDIR}/linux-${PV}"
-
-PR = "r2"
-
-set_arch() {
- case ${TARGET_ARCH} in
- alpha*) ARCH=alpha ;;
- arm*) ARCH=arm ;;
- cris*) ARCH=cris ;;
- hppa*) ARCH=parisc ;;
- i*86*) ARCH=i386 ;;
- ia64*) ARCH=ia64 ;;
- mips*) ARCH=mips ;;
- m68k*) ARCH=m68k ;;
- powerpc*) ARCH=powerpc ;;
- s390*) ARCH=s390 ;;
- sh*) ARCH=sh ;;
- sparc64*) ARCH=sparc64 ;;
- sparc*) ARCH=sparc ;;
- x86_64*) ARCH=x86_64 ;;
- avr32*) ARCH=avr32 ;;
- bfin*) ARCH=blackfin ;;
- microblaze*) ARCH=microblaze ;;
- esac
-}
-
-do_configure() {
- set_arch
- oe_runmake allnoconfig ARCH=$ARCH
-}
-
-do_compile () {
-}
-
-do_install() {
- set_arch
- oe_runmake headers_install INSTALL_HDR_PATH=${D}${exec_prefix} ARCH=$ARCH
- # Kernel should not be exporting this header
- rm -f ${D}${exec_prefix}/include/scsi/scsi.h
-
- # The ..install.cmd conflicts between various configure runs
- find ${D}${includedir} -name ..install.cmd | xargs rm -f
-}
-
-BBCLASSEXTEND = "nativesdk"
--
1.7.0.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] linux-libc-headers: provide 3.0.x and 3.1 headers
2011-10-26 20:56 [PATCH 0/2] RFC v2: provide 3.0.x and 3.1 libc headers Bruce Ashfield
2011-10-26 20:56 ` [PATCH 1/2] linux-libc-headers: factor common code into linux-libc-headers.inc Bruce Ashfield
@ 2011-10-26 20:56 ` Bruce Ashfield
2011-10-26 21:03 ` Richard Purdie
1 sibling, 1 reply; 4+ messages in thread
From: Bruce Ashfield @ 2011-10-26 20:56 UTC (permalink / raw)
To: richard.purdie; +Cc: openembedded-core, saul.wold
Provide both a 3.0.x and a 3.1 set of headers to the toolchain.
Compatibility is maintained with older 2.6 headers by creating a
new variable that changes the SRC_URI based on the major version
number of the kernel.
Built and booted with 2.6.37.2, 3.0.8 and 3.1 linux-libc-headers.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
---
meta/conf/distro/include/tcmode-default.inc | 2 +-
| 17 ++++++++++++++---
| 9 +++++++++
| 9 +++++++++
4 files changed, 33 insertions(+), 4 deletions(-)
create mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.0.8.bb
create mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.1.bb
diff --git a/meta/conf/distro/include/tcmode-default.inc b/meta/conf/distro/include/tcmode-default.inc
index 2bf1beb..ed722be 100644
--- a/meta/conf/distro/include/tcmode-default.inc
+++ b/meta/conf/distro/include/tcmode-default.inc
@@ -21,7 +21,7 @@ SDKGCCVERSION ?= "4.6%"
BINUVERSION ?= "2.21.1a"
EGLIBCVERSION ?= "2.13"
UCLIBCVERSION ?= "0.9.32"
-LINUXLIBCVERSION ?= "2.6.37.2"
+LINUXLIBCVERSION ?= "3.1"
# Temporary preferred version overrides for PPC
PREFERRED_VERSION_u-boot-mkimage-native_powerpc ?= "2009.08"
--git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc
index e83a92b..5fcb181 100644
--- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc
+++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc
@@ -1,9 +1,20 @@
-DESCRIPTION = "Sanitized set of 2.6 kernel headers for the C library's use."
+DESCRIPTION = "Sanitized set of kernel headers for the C library's use."
SECTION = "devel"
LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
-SRC_URI = "${KERNELORG_MIRROR}/linux/kernel/v2.6/linux-${PV}.tar.bz2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
+
+python __anonymous () {
+ import bb, re, string
+
+ major = bb.data.getVar("PV",d,1).split('.')[0]
+ if major == "3":
+ bb.data.setVar("HEADER_FETCH_VER", "3.0", d)
+ else:
+ bb.data.setVar("HEADER_FETCH_VER", "2.6", d)
+}
+
+SRC_URI = "${KERNELORG_MIRROR}/linux/kernel/v${HEADER_FETCH_VER}/linux-${PV}.tar.bz2"
S = "${WORKDIR}/linux-${PV}"
--git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.0.8.bb b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.0.8.bb
new file mode 100644
index 0000000..e3bad82
--- /dev/null
+++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.0.8.bb
@@ -0,0 +1,9 @@
+require linux-libc-headers.inc
+
+INHIBIT_DEFAULT_DEPS = "1"
+DEPENDS += "unifdef-native"
+PR = "r1"
+
+SRC_URI += " file://connector-msg-size-fix.patch"
+SRC_URI[md5sum] = "eac4d398a0ecd98214487cd47a228998"
+SRC_URI[sha256sum] = "4ed16da319848f681f711dbda2ac2cf1b306a280ec22f90bae190cf23b533add"
--git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.1.bb b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.1.bb
new file mode 100644
index 0000000..72b6d4a
--- /dev/null
+++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.1.bb
@@ -0,0 +1,9 @@
+require linux-libc-headers.inc
+
+INHIBIT_DEFAULT_DEPS = "1"
+DEPENDS += "unifdef-native"
+PR = "r1"
+
+SRC_URI += " file://connector-msg-size-fix.patch"
+SRC_URI[md5sum] = "8d43453f8159b2332ad410b19d86a931"
+SRC_URI[sha256sum] = "2573d2378c754b0c602b57586e9311e5b38c5d1e6c137f02873833633a4b9359"
--
1.7.0.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 2/2] linux-libc-headers: provide 3.0.x and 3.1 headers
2011-10-26 20:56 ` [PATCH 2/2] linux-libc-headers: provide 3.0.x and 3.1 headers Bruce Ashfield
@ 2011-10-26 21:03 ` Richard Purdie
0 siblings, 0 replies; 4+ messages in thread
From: Richard Purdie @ 2011-10-26 21:03 UTC (permalink / raw)
To: Bruce Ashfield; +Cc: openembedded-core, saul.wold
On Wed, 2011-10-26 at 16:56 -0400, Bruce Ashfield wrote:
> Provide both a 3.0.x and a 3.1 set of headers to the toolchain.
> Compatibility is maintained with older 2.6 headers by creating a
> new variable that changes the SRC_URI based on the major version
> number of the kernel.
>
> Built and booted with 2.6.37.2, 3.0.8 and 3.1 linux-libc-headers.
>
> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
> ---
> meta/conf/distro/include/tcmode-default.inc | 2 +-
> .../linux-libc-headers/linux-libc-headers.inc | 17 ++++++++++++++---
> .../linux-libc-headers/linux-libc-headers_3.0.8.bb | 9 +++++++++
> .../linux-libc-headers/linux-libc-headers_3.1.bb | 9 +++++++++
> 4 files changed, 33 insertions(+), 4 deletions(-)
> create mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.0.8.bb
> create mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.1.bb
>
> diff --git a/meta/conf/distro/include/tcmode-default.inc b/meta/conf/distro/include/tcmode-default.inc
> index 2bf1beb..ed722be 100644
> --- a/meta/conf/distro/include/tcmode-default.inc
> +++ b/meta/conf/distro/include/tcmode-default.inc
> @@ -21,7 +21,7 @@ SDKGCCVERSION ?= "4.6%"
> BINUVERSION ?= "2.21.1a"
> EGLIBCVERSION ?= "2.13"
> UCLIBCVERSION ?= "0.9.32"
> -LINUXLIBCVERSION ?= "2.6.37.2"
> +LINUXLIBCVERSION ?= "3.1"
>
> # Temporary preferred version overrides for PPC
> PREFERRED_VERSION_u-boot-mkimage-native_powerpc ?= "2009.08"
> diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc
> index e83a92b..5fcb181 100644
> --- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc
> +++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc
> @@ -1,9 +1,20 @@
> -DESCRIPTION = "Sanitized set of 2.6 kernel headers for the C library's use."
> +DESCRIPTION = "Sanitized set of kernel headers for the C library's use."
> SECTION = "devel"
> LICENSE = "GPLv2"
>
> -LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
> -SRC_URI = "${KERNELORG_MIRROR}/linux/kernel/v2.6/linux-${PV}.tar.bz2"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
> +
> +python __anonymous () {
> + import bb, re, string
> +
> + major = bb.data.getVar("PV",d,1).split('.')[0]
> + if major == "3":
> + bb.data.setVar("HEADER_FETCH_VER", "3.0", d)
> + else:
> + bb.data.setVar("HEADER_FETCH_VER", "2.6", d)
> +}
> +
> +SRC_URI = "${KERNELORG_MIRROR}/linux/kernel/v${HEADER_FETCH_VER}/linux-${PV}.tar.bz2"
>
> S = "${WORKDIR}/linux-${PV}"
>
> diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.0.8.bb b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.0.8.bb
> new file mode 100644
> index 0000000..e3bad82
> --- /dev/null
> +++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.0.8.bb
> @@ -0,0 +1,9 @@
> +require linux-libc-headers.inc
> +
> +INHIBIT_DEFAULT_DEPS = "1"
> +DEPENDS += "unifdef-native"
I think the above two lines can go into the common .inc file too at this
point :)
Cheers,
Richard
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-10-26 21:09 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-26 20:56 [PATCH 0/2] RFC v2: provide 3.0.x and 3.1 libc headers Bruce Ashfield
2011-10-26 20:56 ` [PATCH 1/2] linux-libc-headers: factor common code into linux-libc-headers.inc Bruce Ashfield
2011-10-26 20:56 ` [PATCH 2/2] linux-libc-headers: provide 3.0.x and 3.1 headers Bruce Ashfield
2011-10-26 21:03 ` Richard Purdie
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox