Skip to contentSkip to conversation

RFC v3: provide 3.0.x and 3.1 libc headers

PATCH In review Bruce Ashfield 3 participants 7 messages Oct 27, 2011 – Nov 2, 2011

lore
Share & tools
lore
#0 lore raw

cover RFC v3: provide 3.0.x and 3.1 libc headers

Richard,

Here's v3 of the series, the details are below.

Changes since v2:

- moved more code into the .inc file
- modifed the python code to not import unnecessary functions and to use d.get/setVar.
- Included an optional patch 3/3 to remove 2.6 based header recipes. Whether you want this or not .. is up to you!

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

v1 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-v3
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=zedd/libc-headers-v3

Bruce Ashfield (3):
linux-libc-headers: factor common code into linux-libc-headers.inc
linux-libc-headers: provide 3.0.x and 3.1 headers
linux-libc-headers: remove older recipes

 meta/conf/distro/include/tcmode-default.inc        |    2 +-
 .../linux-libc-headers/linux-libc-headers.inc      |   62 +++++++++++++++++++-
 .../linux-libc-headers_2.6.37.2.bb                 |   53 -----------------
 .../linux-libc-headers_2.6.39.bb                   |   54 -----------------
 .../linux-libc-headers/linux-libc-headers_3.0.8.bb |    7 ++
 .../linux-libc-headers/linux-libc-headers_3.1.bb   |    7 ++
 6 files changed, 74 insertions(+), 111 deletions(-)
 delete mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.37.2.bb
 delete mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.39.bb
 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
#1 lore raw

PATCH 1/3 linux-libc-headers: factor common code into linux-libc-headers.inc

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.

---
 .../linux-libc-headers/linux-libc-headers.inc      |   47 +++++++++++++++++++
 .../linux-libc-headers_2.6.37.2.bb                 |   48 +-------------------
 .../linux-libc-headers_2.6.39.bb                   |   49 +-------------------
 3 files changed, 49 insertions(+), 95 deletions(-)
meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc +47 -0
index 014024f..e586ac3 100644
@@ -5,6 +5,53 @@ 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})"
+
+INHIBIT_DEFAULT_DEPS = "1"
+DEPENDS += "unifdef-native"
\ No newline at end of file
meta/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.37.2.bb +1 -47

54 lines not on this page · raw message

meta/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.39.bb +1 -48

55 lines not on this page · raw message

Signature · 1 line
1.7.0.4
#2 lore raw

PATCH 2/3 linux-libc-headers: provide 3.0.x and 3.1 headers

In reply to Bruce Ashfield

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.

---
 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 |    7 +++++++
 .../linux-libc-headers/linux-libc-headers_3.1.bb   |    7 +++++++
 4 files changed, 28 insertions(+), 5 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
meta/conf/distro/include/tcmode-default.inc +1 -1
index 2bf1beb..ed722be 100644
@@ -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"
meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc +13 -4
index e586ac3..4137be1 100644
@@ -1,9 +1,18 @@
-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 () {
+    major = d.getVar("PV",True).split('.')[0]
+    if major == "3":
+	d.setVar("HEADER_FETCH_VER", "3.0")
+    else:
+	d.setVar("HEADER_FETCH_VER", "2.6")
+}
+
+SRC_URI = "${KERNELORG_MIRROR}/linux/kernel/v${HEADER_FETCH_VER}/linux-${PV}.tar.bz2"
 
 S = "${WORKDIR}/linux-${PV}"
 
@@ -54,4 +63,4 @@ RDEPENDS_${PN}-dev = ""
 RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
 
 INHIBIT_DEFAULT_DEPS = "1"
-DEPENDS += "unifdef-native"
\ No newline at end of file
+DEPENDS += "unifdef-native"
meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.0.8.bb new file +7 -0
new file mode 100644
index 0000000..7bb5895
@@ -0,0 +1,7 @@
+require linux-libc-headers.inc
+
+PR = "r1"
+
+SRC_URI += " file://connector-msg-size-fix.patch"
+SRC_URI[md5sum] = "eac4d398a0ecd98214487cd47a228998"
+SRC_URI[sha256sum] = "4ed16da319848f681f711dbda2ac2cf1b306a280ec22f90bae190cf23b533add"
meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.1.bb new file +7 -0
new file mode 100644
index 0000000..b87ecde
@@ -0,0 +1,7 @@
+require linux-libc-headers.inc
+
+PR = "r1"
+
+SRC_URI += " file://connector-msg-size-fix.patch"
+SRC_URI[md5sum] = "8d43453f8159b2332ad410b19d86a931"
+SRC_URI[sha256sum] = "2573d2378c754b0c602b57586e9311e5b38c5d1e6c137f02873833633a4b9359"
Signature · 1 line
1.7.0.4
#3 lore raw

PATCH 3/3 linux-libc-headers: remove older recipes

In reply to Bruce Ashfield

The default libc-headers is v3.1 and building against the new headers but booting an older kernel has been shown to work. Older 2.6 based header builds can easily be reproduced, but having all the old recipe iterations available is not required.

---
 .../linux-libc-headers_2.6.37.2.bb                 |    7 -------
 .../linux-libc-headers_2.6.39.bb                   |    7 -------
 2 files changed, 0 insertions(+), 14 deletions(-)
 delete mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.37.2.bb
 delete mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.39.bb
meta/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.37.2.bb deleted +0 -7
deleted file mode 100644
index c6562b5..0000000
@@ -1,7 +0,0 @@
-require linux-libc-headers.inc
-
-PR = "r3"
-
-SRC_URI += " file://connector-msg-size-fix.patch"
-SRC_URI[md5sum] = "89f681bc7c917a84aa7470da6eed5101"
-SRC_URI[sha256sum] = "2920c4cd3e87fe40ebee96d28779091548867e1c36f71c1fc3d07e6d5802161f"
meta/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.39.bb deleted +0 -7
deleted file mode 100644
index 36cfb4f..0000000
@@ -1,7 +0,0 @@
-require linux-libc-headers.inc
-
-PR = "r3"
-
-SRC_URI += " file://connector-msg-size-fix.patch"
-SRC_URI[md5sum] = "1aab7a741abe08d42e8eccf20de61e05"
-SRC_URI[sha256sum] = "584d17f2a3ee18a9501d7ff36907639e538cfdba4529978b8550c461d45c61f6"
Signature · 1 line
1.7.0.4
#4 lore raw
In reply to Bruce Ashfield
Quoted 3 lines · Bruce Ashfield

Richard,

Here's v3 of the series, the details are below.

I see no comments on v3. So I'm just bumping the thread. Should I send a separate
pull request for this, or is this sufficient ?

Bruce

p.s. yes, I realize that everyone is catching up, I just didn't want to forget myself that
this is out, but not merged or in a known state.

Quoted 79 lines

Changes since v2:

 - moved more code into the .inc file
 - modifed the python code to not import unnecessary functions and to use d.get/setVar.
 - Included an optional patch 3/3 to remove 2.6 based header recipes. Whether you want this or not .. is up to you!

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

v1 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-v3
 http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=zedd/libc-headers-v3

Bruce Ashfield (3):
 linux-libc-headers: factor common code into linux-libc-headers.inc
 linux-libc-headers: provide 3.0.x and 3.1 headers
 linux-libc-headers: remove older recipes

 meta/conf/distro/include/tcmode-default.inc        |    2 +- .../linux-libc-headers/linux-libc-headers.inc      |   62 +++++++++++++++++++- .../linux-libc-headers_2.6.37.2.bb                 |   53 ----------------- .../linux-libc-headers_2.6.39.bb                   |   54 ----------------- .../linux-libc-headers/linux-libc-headers_3.0.8.bb |    7 ++ .../linux-libc-headers/linux-libc-headers_3.1.bb   |    7 ++

 6 files changed, 74 insertions(+), 111 deletions(-)

 delete mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.37.2.bb delete mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.39.bb 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

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

Signature · 2 lines
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"
#5 lore raw
Quoted 10 lines · Bruce Ashfield
Quoted 3 lines · Bruce Ashfield

Richard,

Here's v3 of the series, the details are below.

I see no comments on v3. So I'm just bumping the thread. Should I send a separate
pull request for this, or is this sufficient ?

Appears that RP merged them in the last day or so. So I guess this is sufficent, consider them merged into OE-Core!

Thanks
Sau!

Quoted 88 lines

Bruce

p.s. yes, I realize that everyone is catching up, I just didn't want to forget myself that
this is out, but not merged or in a known state.

Quoted 79 lines

Changes since v2:

- moved more code into the .inc file
- modifed the python code to not import unnecessary functions and to use d.get/setVar.
- Included an optional patch 3/3 to remove 2.6 based header recipes. Whether you want this or not .. is up to you!

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

v1 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-v3
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=zedd/libc-headers-v3

Bruce Ashfield (3):
linux-libc-headers: factor common code into linux-libc-headers.inc
linux-libc-headers: provide 3.0.x and 3.1 headers
linux-libc-headers: remove older recipes

  meta/conf/distro/include/tcmode-default.inc        |    2 +-
  .../linux-libc-headers/linux-libc-headers.inc      |   62 +++++++++++++++++++-
  .../linux-libc-headers_2.6.37.2.bb                 |   53 -----------------
  .../linux-libc-headers_2.6.39.bb                   |   54 -----------------
  .../linux-libc-headers/linux-libc-headers_3.0.8.bb |    7 ++
  .../linux-libc-headers/linux-libc-headers_3.1.bb   |    7 ++
  6 files changed, 74 insertions(+), 111 deletions(-)

delete mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.37.2.bb delete mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.39.bb 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

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

#6 lore raw
Quoted 7 lines · Saul Wold
Quoted 6 lines · Bruce Ashfield
Quoted 3 lines · Bruce Ashfield

Richard,

Here's v3 of the series, the details are below.

Quoted 7 lines
Quoted 4 lines

I see no comments on v3. So I'm just bumping the thread. Should I send a separate
pull request for this, or is this sufficient ?

Appears that RP merged them in the last day or so. So I guess this is sufficent, consider them merged into OE-Core!

Aargh! Thanks, I pulled this morning and didn't see them, but didn't take a closer look.

I'll check this off my list .. only 4000 things remaining :)

Bruce

Quoted 109 lines

Thanks
Sau!

Quoted 98 lines

Bruce

p.s. yes, I realize that everyone is catching up, I just didn't want to forget myself that
this is out, but not merged or in a known state.

Quoted 89 lines

Changes since v2:

- moved more code into the .inc file
- modifed the python code to not import unnecessary functions and to use d.get/setVar.
- Included an optional patch 3/3 to remove 2.6 based header recipes. Whether you want this or not .. is up to you!

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

v1 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-v3
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=zedd/libc-headers-v3

Bruce Ashfield (3):
linux-libc-headers: factor common code into linux-libc-headers.inc
linux-libc-headers: provide 3.0.x and 3.1 headers
linux-libc-headers: remove older recipes

meta/conf/distro/include/tcmode-default.inc | 2 +- .../linux-libc-headers/linux-libc-headers.inc | 62 +++++++++++++++++++- .../linux-libc-headers_2.6.37.2.bb | 53 ----------------- .../linux-libc-headers_2.6.39.bb | 54 ----------------- .../linux-libc-headers/linux-libc-headers_3.0.8.bb | 7 ++ .../linux-libc-headers/linux-libc-headers_3.1.bb | 7 ++

6 files changed, 74 insertions(+), 111 deletions(-)

delete mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.37.2.bb delete mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.39.bb 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

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

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