diff -pruN 1.6.10/debian/changelog 1.6.10ubuntu3/debian/changelog
--- 1.6.10/debian/changelog	2009-10-07 02:55:30.000000000 +0100
+++ 1.6.10ubuntu3/debian/changelog	2010-01-05 01:40:42.000000000 +0000
@@ -1,3 +1,29 @@
+apex (1.6.10ubuntu3) lucid; urgency=low
+
+  * Makefile: fix armel build failures by building with -marm;
+    thx to ogra for this patch (LP:503090)
+  * usr/link.cc: fix "link.cc:236: error: invalid conversion from
+    ‘const char*’ to ‘char*’" - use a copy rather than constant to do
+    the parsing etc. (LP:503090)
+
+ -- Alexander Sack <asac@ubuntu.com>  Mon, 04 Jan 2010 20:24:21 +0100
+
+apex (1.6.10ubuntu2) lucid; urgency=low
+
+  * add -marm to CFLAGS to fix FTBFS
+
+ -- Oliver Grawert <ogra@ubuntu.com>  Thu, 26 Nov 2009 16:15:47 +0100
+
+apex (1.6.10ubuntu1) lucid; urgency=low
+
+  * Merge from debian testing, remaining changes:
+    - Move apex VMA address to 4MiB to leave enough space for the ubuntu
+    kernel and not overwrite apex in ram when loading.
+    - nslu2 configuration: set CONFIG_RAMDISK_SIZE=0x0055FFF0 instead of
+    0x005FFFF0 to make enough room for ubuntu initramfs.
+
+ -- Oliver Grawert <ogra@ubuntu.com>  Tue, 10 Nov 2009 11:55:15 +0100
+
 apex (1.6.10) unstable; urgency=critical
 
   * Change to usr/flash-apex to work-around change in shell that could cause script to fail. (Closes: #548236).
@@ -72,6 +98,49 @@ apex (1.5.7) unstable; urgency=low
 
  -- Marc Singer <elf@buici.com>  Sun, 24 Jun 2007 18:41:27 -0700
 
+apex (1.4.15.2ubuntu3) jaunty; urgency=low
+
+  * moving apex to 3MiB apparently was not enough, it seems to corrupt the
+    kernel (ours is biger than debians) during copying into ram by overwriting
+    pieces of the kernel with apex, moving to 4MiB fixes that issue properly now.
+
+ -- Oliver Grawert <ogra@ubuntu.com>  Mon, 16 Feb 2009 14:16:20 +0100
+
+apex (1.4.15.2ubuntu2) jaunty; urgency=low
+
+  * set VMA address for apex to 3MiB so a kernel bigger than 2M doesnt
+    overwrite apex when being loaded
+  * set CONFIG_RAMDISK_SIZE=0x0055FFF0 instead of 0x005FFFF0 to avoid a kernel
+    panic when loading the initramfs (needs more research, can probably be
+    changed later again)
+
+ -- Oliver Grawert <ogra@ubuntu.com>  Thu, 12 Feb 2009 12:32:06 +0100
+
+apex (1.4.15.2ubuntu1) jaunty; urgency=low
+
+  * Unexport LDFLAGS to avoid confusing the kernel with dpkg-buildpackage's
+    default options.
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Wed, 17 Dec 2008 17:33:20 +0000
+
+apex (1.4.15.2) unstable; urgency=low
+
+  * debian/postinst: Fixed the postinst script to only run on the NSLU2.
+    (closes: #482000)
+  * Makefile: Fixed the construction of the version when there is an
+    EXTRAVERSION.
+
+ -- Marc Singer <elf@buici.com>  Tue, 20 May 2008 20:34:48 -0700
+
+apex (1.4.15.1) unstable; urgency=low
+
+  * Release of old APEX version during Debian freeze.
+  * Adding flash-apex so that apex is written to flash on install of the
+    package (closes: #421359).
+  * Expanding CONFIG_RAMDISK_SIZE (closes: #451882).
+  
+ -- Marc Singer <elf@buici.com>  Sun, 18 May 2008 14:37:51 -0700
+
 apex (1.4.15) unstable; urgency=low
 
   * Modified the rules file to support cross-building.
@@ -152,3 +221,4 @@ apex (1.3.30) unstable; urgency=low
   * Initial release for configuration debian-nslu2-arm_config (and armeb).
 
  -- Marc Singer <elf@debian.org>  Thu, 20 Jul 2006 11:36:21 -0700
+
diff -pruN 1.6.10/debian/control 1.6.10ubuntu3/debian/control
--- 1.6.10/debian/control	2009-02-19 23:13:25.000000000 +0000
+++ 1.6.10ubuntu3/debian/control	2009-11-06 00:29:15.000000000 +0000
@@ -1,7 +1,8 @@
 Source: apex
 Section: admin
 Priority: optional
-Maintainer: Marc Singer <elf@debian.org>
+Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com>
+XSBC-Original-Maintainer: Marc Singer <elf@debian.org>
 Standards-Version: 3.7.2
 Build-Depends: perl, debhelper (>= 5)
 
diff -pruN 1.6.10/debian/rules 1.6.10ubuntu3/debian/rules
--- 1.6.10/debian/rules	2009-02-19 23:13:25.000000000 +0000
+++ 1.6.10ubuntu3/debian/rules	2009-11-26 15:15:41.000000000 +0000
@@ -7,7 +7,9 @@ DEB_HOST_ARCH := $(shell dpkg-architectu
 CONFIG	      := debian-nslu2-$(DEB_HOST_ARCH)_config
 
 CC = gcc
-CFLAGS = -g -Wall
+CFLAGS = -g -Wall -marm
+# dpkg-buildpackage passes options that are incompatible with our build.
+unexport LDFLAGS
 INSTALL_PROGRAM = install
 
 
diff -pruN 1.6.10/Makefile 1.6.10ubuntu3/Makefile
--- 1.6.10/Makefile	2009-10-07 02:55:30.000000000 +0100
+++ 1.6.10ubuntu3/Makefile	2010-01-05 01:39:59.000000000 +0000
@@ -343,7 +343,7 @@ KBUILD_CPPFLAGS := -D__KERNEL__ $(LINUXI
 KBUILD_CFLAGS   := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
 		   -fno-strict-aliasing -fno-common \
 		   -Werror-implicit-function-declaration \
-		   -fno-builtin-printf
+		   -fno-builtin-printf -marm
 KBUILD_AFLAGS   := -D__ASSEMBLY__
 
 # Read KERNELRELEASE from include/config/kernel.release (if it exists)
diff -pruN 1.6.10/src/mach-ixp42x/debian-nslu2-arm_config 1.6.10ubuntu3/src/mach-ixp42x/debian-nslu2-arm_config
--- 1.6.10/src/mach-ixp42x/debian-nslu2-arm_config	2009-05-19 03:52:29.000000000 +0100
+++ 1.6.10ubuntu3/src/mach-ixp42x/debian-nslu2-arm_config	2009-11-06 00:29:14.000000000 +0000
@@ -40,7 +40,7 @@ CONFIG_STACKLIMIT=y
 # CONFIG_BOOTSTRAP_MEMTEST is not set
 CONFIG_ATAG_PHYS=0x00000100
 CONFIG_ARCH_NUMBER=597
-CONFIG_APEX_VMA=0x00200000
+CONFIG_APEX_VMA=0x00400000
 CONFIG_KERNEL_LMA=0x00008000
 CONFIG_USE_RAMDISK=y
 CONFIG_RAMDISK_LMA=0x01000000
@@ -51,7 +51,7 @@ CONFIG_NOR_BANK0=y
 CONFIG_NOR_BANK0_START=0x50000000
 CONFIG_NOR_BANK0_LENGTH=0x00800000
 CONFIG_MACH="ixp42x"
-CONFIG_RAMDISK_SIZE=0x005FFFF0
+CONFIG_RAMDISK_SIZE=0x0055FFF0
 CONFIG_MACH_NSLU2=y
 # CONFIG_MACH_NAS100D is not set
 # CONFIG_MACH_DSMG600 is not set
diff -pruN 1.6.10/src/mach-ixp42x/debian-nslu2-armeb_config 1.6.10ubuntu3/src/mach-ixp42x/debian-nslu2-armeb_config
--- 1.6.10/src/mach-ixp42x/debian-nslu2-armeb_config	2009-05-19 03:52:29.000000000 +0100
+++ 1.6.10ubuntu3/src/mach-ixp42x/debian-nslu2-armeb_config	2009-11-06 00:29:14.000000000 +0000
@@ -40,7 +40,7 @@ CONFIG_STACKLIMIT=y
 # CONFIG_BOOTSTRAP_MEMTEST is not set
 CONFIG_ATAG_PHYS=0x00000100
 CONFIG_ARCH_NUMBER=597
-CONFIG_APEX_VMA=0x00200000
+CONFIG_APEX_VMA=0x00400000
 CONFIG_KERNEL_LMA=0x00008000
 CONFIG_USE_RAMDISK=y
 CONFIG_RAMDISK_LMA=0x01000000
@@ -51,7 +51,7 @@ CONFIG_NOR_BANK0=y
 CONFIG_NOR_BANK0_START=0x50000000
 CONFIG_NOR_BANK0_LENGTH=0x00800000
 CONFIG_MACH="ixp42x"
-CONFIG_RAMDISK_SIZE=0x005FFFF0
+CONFIG_RAMDISK_SIZE=0x0055FFF0
 CONFIG_MACH_NSLU2=y
 # CONFIG_MACH_NAS100D is not set
 # CONFIG_MACH_DSMG600 is not set
diff -pruN 1.6.10/src/mach-ixp42x/debian-nslu2-armel_config 1.6.10ubuntu3/src/mach-ixp42x/debian-nslu2-armel_config
--- 1.6.10/src/mach-ixp42x/debian-nslu2-armel_config	2009-05-19 03:52:29.000000000 +0100
+++ 1.6.10ubuntu3/src/mach-ixp42x/debian-nslu2-armel_config	2009-11-06 00:29:14.000000000 +0000
@@ -40,7 +40,7 @@ CONFIG_STACKLIMIT=y
 # CONFIG_BOOTSTRAP_MEMTEST is not set
 CONFIG_ATAG_PHYS=0x00000100
 CONFIG_ARCH_NUMBER=597
-CONFIG_APEX_VMA=0x00200000
+CONFIG_APEX_VMA=0x00400000
 CONFIG_KERNEL_LMA=0x00008000
 CONFIG_USE_RAMDISK=y
 CONFIG_RAMDISK_LMA=0x01000000
@@ -51,7 +51,7 @@ CONFIG_NOR_BANK0=y
 CONFIG_NOR_BANK0_START=0x50000000
 CONFIG_NOR_BANK0_LENGTH=0x00800000
 CONFIG_MACH="ixp42x"
-CONFIG_RAMDISK_SIZE=0x005FFFF0
+CONFIG_RAMDISK_SIZE=0x0055FFF0
 CONFIG_MACH_NSLU2=y
 # CONFIG_MACH_NAS100D is not set
 # CONFIG_MACH_DSMG600 is not set
diff -pruN 1.6.10/usr/link.cc 1.6.10ubuntu3/usr/link.cc
--- 1.6.10/usr/link.cc	2009-05-19 03:52:29.000000000 +0100
+++ 1.6.10ubuntu3/usr/link.cc	2010-01-05 01:39:59.000000000 +0000
@@ -227,9 +227,10 @@ performs a simplified parse of a region 
 
 */
 
-static struct descriptor parse_region (const char* sz)
+static struct descriptor parse_region (const char* _sz)
 {
   struct descriptor d;
+  char *sz = _sz ? strdup (_sz) : 0;
   memset (&d, 0, sizeof (d));
 
   char* pch;
@@ -258,6 +259,7 @@ static struct descriptor parse_region (c
       d.length *= 1024;
     }
   }
+  free (sz);
   return d;
 }
 
