]> code.ossystems Code Review - openembedded-core.git/commitdiff
syslinux: upgrade to versin 3.86
authorQing He <qing.he@intel.com>
Thu, 17 Jun 2010 09:23:20 +0000 (17:23 +0800)
committerRichard Purdie <rpurdie@linux.intel.com>
Wed, 30 Jun 2010 12:19:03 +0000 (13:19 +0100)
from version 3.36
partly based on the recipe from openembedded project

changes:
  - add cross-build.patch to use poky toolchain
  - mangle LDFLAGS so $LD invocation works
  - use precompiled version of $BTARGET for target (OE)
  - stick on ${sbindir} instead of OE's ${base_sbindir}

Signed-off-by: Qing He <qing.he@intel.com>
meta/packages/syslinux/files/cross-build.patch [new file with mode: 0644]
meta/packages/syslinux/syslinux_3.36.bb [deleted file]
meta/packages/syslinux/syslinux_3.86.bb [new file with mode: 0644]

diff --git a/meta/packages/syslinux/files/cross-build.patch b/meta/packages/syslinux/files/cross-build.patch
new file mode 100644 (file)
index 0000000..69b3378
--- /dev/null
@@ -0,0 +1,58 @@
+Use ?= for Makefile variables to use poky environment variables.
+Original method to sed s/CC =/CC ?=/ is not applicable anymore
+because of the Makefile changes.
+
+against 3.86
+
+06/28/2010 - qhe
+---
+diff --git a/MCONFIG b/MCONFIG
+index e9c16d3..4d49f33 100644
+--- a/MCONFIG
++++ b/MCONFIG
+@@ -18,13 +18,13 @@
+ MAKEFLAGS += -r
+ MAKE      += -r
+-BINDIR   = /usr/bin
+-SBINDIR  = /sbin
+-LIBDIR   = /usr/lib
+-DATADIR  = /usr/share
++BINDIR   ?= /usr/bin
++SBINDIR  ?= /sbin
++LIBDIR   ?= /usr/lib
++DATADIR  ?= /usr/share
+ AUXDIR   = $(DATADIR)/syslinux
+-MANDIR         = /usr/man
+-INCDIR   = /usr/include
++MANDIR         ?= /usr/man
++INCDIR   ?= /usr/include
+ TFTPBOOT = /tftpboot
+ COM32DIR = $(AUXDIR)/com32
+@@ -38,18 +38,18 @@ PERL        = perl
+ CHMOD  = chmod
+-CC     = gcc
++CC     ?= gcc
+ gcc_ok   = $(shell tmpf=gcc_ok.$$$$.tmp; \
+                  if $(CC) $(1) -c $(topdir)/dummy.c -o $$tmpf 2>/dev/null ; \
+                  then echo '$(1)'; else echo '$(2)'; fi; \
+                  rm -f $$tmpf)
+-LD     = ld
+-OBJDUMP        = objdump
+-OBJCOPY  = objcopy
+-AR       = ar
+-NM       = nm
+-RANLIB   = ranlib
++LD     ?= ld
++OBJDUMP        ?= objdump
++OBJCOPY  ?= objcopy
++AR       ?= ar
++NM       ?= nm
++RANLIB   ?= ranlib
+ GZIPPROG = gzip
+ PNGTOPNM = pngtopnm
+ MCOPY    = mcopy
diff --git a/meta/packages/syslinux/syslinux_3.36.bb b/meta/packages/syslinux/syslinux_3.36.bb
deleted file mode 100644 (file)
index 9cd24e6..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-DESCRIPTION = "A multi-purpose linux bootloader"
-HOMEPAGE = "http://syslinux.zytor.com/"
-LICENSE = "GPL"
-SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/boot/syslinux/syslinux-${PV}.tar.bz2"
-PR = "r4"
-
-# If you really want to run syslinux, you need mtools.  We just want the
-# ldlinux.* stuff for now, so skip mtools-native
-DEPENDS = "nasm-native"
-
-do_configure() {
-       sed -i ${S}/Makefile ${S}/*/Makefile -e 's/\(CC[\t ]*\)=/\1?=/'
-}
-
-COMPATIBLE_HOST = '(x86_64|i.86.*)-(linux|freebsd.*)'
-
-export BINDIR = "${bindir}"
-export SBINDIR = "${sbindir}"
-export LIBDIR = "${libdir}"
-export INCDIR = "${includedir}"
-
-do_compile_virtclass-native () {
-       oe_runmake installer
-}
-
-NATIVE_INSTALL_WORKS = "1"
-do_install() {
-       oe_runmake install INSTALLROOT="${D}"
-
-       install -d ${D}${libdir}/syslinux/
-       install -m 644 ${S}/ldlinux.sys ${D}${libdir}/syslinux/
-       install -m 644 ${S}/ldlinux.bss ${D}${libdir}/syslinux/
-}
-
-BBCLASSEXTEND = "native"
diff --git a/meta/packages/syslinux/syslinux_3.86.bb b/meta/packages/syslinux/syslinux_3.86.bb
new file mode 100644 (file)
index 0000000..2fbbf0d
--- /dev/null
@@ -0,0 +1,47 @@
+DESCRIPTION = "A multi-purpose linux bootloader"
+HOMEPAGE = "http://syslinux.zytor.com/"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
+                    file://README;beginline=28;endline=34;md5=a4607efd4a6392017186d08099e7d546"
+
+# If you really want to run syslinux, you need mtools.  We just want the
+# ldlinux.* stuff for now, so skip mtools-native
+DEPENDS = "nasm-native"
+PR = "r0"
+
+SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/boot/syslinux/syslinux-${PV}.tar.bz2 \
+           file://cross-build.patch"
+
+COMPATIBLE_HOST = '(x86_64|i.86.*)-(linux|freebsd.*)'
+
+EXTRA_OEMAKE = " \
+       BINDIR=${bindir} SBINDIR=${sbindir} LIBDIR=${libdir} \
+       DATADIR=${datadir} MANDIR=${mandir} INCDIR=${includedir} \
+"
+# syslinux uses $LD for linking, strip `-Wl,' so it can work
+export LDFLAGS = "`echo $LDFLAGS | sed 's/-Wl,//g'`"
+
+do_configure() {
+       # drop win32 targets or build fails
+       sed -e 's,win32/\S*,,g' -i Makefile
+
+       # clean installer executables included in source tarball
+       oe_runmake clean
+}
+
+do_compile() {
+       # Rebuild only the installer; keep precompiled bootloaders
+       # as per author's request (doc/distrib.txt)
+       oe_runmake CC="${CC}" installer
+}
+
+NATIVE_INSTALL_WORKS = "1"
+do_install() {
+       oe_runmake install INSTALLROOT="${D}"
+
+       install -d ${D}${libdir}/syslinux/
+       install -m 644 ${S}/core/ldlinux.sys ${D}${libdir}/syslinux/
+       install -m 644 ${S}/core/ldlinux.bss ${D}${libdir}/syslinux/
+}
+
+BBCLASSEXTEND = "native"