Import klibc_2.0.4-2.debian.tar.xz
authorBen Hutchings <ben@decadent.org.uk>
Sun, 5 Oct 2014 00:13:31 +0000 (00:13 +0000)
committerBen Hutchings <ben@decadent.org.uk>
Sun, 5 Oct 2014 00:13:31 +0000 (00:13 +0000)
[dgit import tarball klibc 2.0.4-2 klibc_2.0.4-2.debian.tar.xz]

32 files changed:
changelog [new file with mode: 0644]
compat [new file with mode: 0644]
control [new file with mode: 0644]
copyright [new file with mode: 0644]
klibc-utils-floppy-udeb.install [new file with mode: 0644]
klibc-utils-udeb.install [new file with mode: 0644]
klibc-utils.install [new file with mode: 0644]
klibc-utils.postinst [new file with mode: 0644]
libklibc-dev.install [new file with mode: 0644]
libklibc-dev.manpages [new file with mode: 0644]
libklibc-dev.preinst [new file with mode: 0644]
libklibc-udeb.install [new file with mode: 0644]
libklibc.docs [new file with mode: 0644]
libklibc.install [new file with mode: 0644]
lintian/klibc-utils [new file with mode: 0644]
lintian/libklibc [new file with mode: 0644]
lintian/libklibc-dev [new file with mode: 0644]
patches/Fix-minimal-mv-to-work-across-fs [new file with mode: 0644]
patches/ia64-static [new file with mode: 0644]
patches/implement-realpath.patch [new file with mode: 0644]
patches/insmod [new file with mode: 0644]
patches/klibc-linux-libc-dev [new file with mode: 0644]
patches/mips-update-archfcntl-h.patch [new file with mode: 0644]
patches/mount-implement-o-defaults.patch [new file with mode: 0644]
patches/multiarch-include-path [new file with mode: 0644]
patches/ppc64-static [new file with mode: 0644]
patches/ppc64el-load-toc-syscall-stub.patch [new file with mode: 0644]
patches/readlink-add-f-option.patch [new file with mode: 0644]
patches/series [new file with mode: 0644]
rules [new file with mode: 0755]
source/format [new file with mode: 0644]
watch [new file with mode: 0644]

diff --git a/changelog b/changelog
new file mode 100644 (file)
index 0000000..bc4fe4d
--- /dev/null
+++ b/changelog
@@ -0,0 +1,1265 @@
+klibc (2.0.4-2) unstable; urgency=medium
+
+  * debian/control: Add myself to Uploaders
+  * [klibc] MIPS: Update archfcntl.h (fixes FTBFS)
+  * Fix compiler warning in usr/klibc/realpath.c
+
+ -- Ben Hutchings <ben@decadent.org.uk>  Sun, 05 Oct 2014 01:13:31 +0100
+
+klibc (2.0.4-1.2) unstable; urgency=medium
+
+  * Non-maintainer upload
+  * Implement features needed for mounting /usr in initramfs (Closes: #763049):
+    - Implement realpath()
+    - readlink: Add -f option
+    - mount: Implement -o defaults
+  * debian/rules: Fix clean when userland and kernel architecture differ
+
+ -- Ben Hutchings <ben@decadent.org.uk>  Sat, 04 Oct 2014 17:01:24 +0100
+
+klibc (2.0.4-1.1) unstable; urgency=medium
+
+  [ Aurelien Jarno ]
+  * Non-maintainer upload.
+
+  [ Mauricio Faria de Oliveira ]
+  * Add ppc64el-load-toc-syscall-stub.patch: fix segfault on dynamically-linked
+    binaries on ppc64el. (Closes: #749060)
+
+ -- Aurelien Jarno <aurel32@debian.org>  Wed, 17 Sep 2014 13:47:02 +0200
+
+klibc (2.0.4-1) unstable; urgency=medium
+
+  * New upstream release (x86, readlink) (closes: #760587)
+
+ -- maximilian attems <maks@debian.org>  Thu, 11 Sep 2014 21:23:25 +0200
+
+klibc (2.0.3-1) unstable; urgency=medium
+
+  * New upstream release (arm64, ppc64) (closes: #698018, #744884)
+    Thanks to Steve Capper <steve.capper@linaro.org>
+    and Anton Blanchard <anton@samba.org>.
+  * Pump standard version to 3.9.5 without changes.
+
+ -- maximilian attems <maks@debian.org>  Mon, 21 Apr 2014 10:52:22 -0700
+
+klibc (2.0.2-1) unstable; urgency=low
+
+  * New upstream release (dash, arm)
+    - drop merged patches
+    - build fixes for Linux > 3.4 (closes: #702068)
+
+ -- maximilian attems <maks@debian.org>  Mon, 19 Aug 2013 22:59:22 +0200
+
+klibc (2.0.1-3) unstable; urgency=medium
+
+  [ Bill Pringlemeir ]
+  * [f05ff11] [klibc] fix ARM longjmp with zero 'val'.
+
+ -- maximilian attems <maks@debian.org>  Mon, 08 Oct 2012 21:57:01 +0200
+
+klibc (2.0.1-2) unstable; urgency=low
+
+  [ Sven Joachim ]
+  * [08c03cf] klibc: produces 64-bit binaries on i386 with x86_64 kernel
+    (Closes: #677087)
+
+  [ Thorsten Glaser ]
+  * [d8eae3a] [klibc] arm: fix trashing of callee-saved registers in thumb
+     setjmp() (Closes: #634890)
+  * [81170b5] [klibc] arm: unbreak armhf shared binaries (those with thumb)
+  * [aeb7847] armhf builds are always thumb
+
+  [ Jim Meyering ]
+  * [9ba90cd] [klibc] Avoid overflow for very long variable name
+
+ -- maximilian attems <maks@debian.org>  Mon, 01 Oct 2012 15:54:05 +0200
+
+klibc (2.0.1-1) unstable; urgency=high
+
+  * New upstream release (nfsmount, get{host,domain}name())
+  * debian/watch: fix file for new repo layout.
+
+ -- maximilian attems <maks@debian.org>  Thu, 28 Jun 2012 18:29:48 +0200
+
+klibc (2.0-2) unstable; urgency=low
+
+  * debian/control: Add breaks to initramfs-tools for ipconfig /run switch.
+
+ -- maximilian attems <maks@debian.org>  Thu, 31 May 2012 15:42:03 +0200
+
+klibc (2.0-1) unstable; urgency=low
+
+  * New upstream release (arch, ipconfig)
+    - ipconfig support domain-search, lease (closes: #627166)
+
+ -- maximilian attems <maks@debian.org>  Thu, 31 May 2012 15:05:55 +0200
+
+klibc (2.0~rc5-1) unstable; urgency=low
+
+  * New upstream snapshot (arch fixes) (closes: #673413)
+
+ -- maximilian attems <maks@debian.org>  Fri, 18 May 2012 18:16:51 +0200
+
+klibc (2.0~rc4-1) unstable; urgency=low
+
+  * New upstream snapshot (stdio work)
+    - drop merged m68k-support
+  * armel: Set arm arch for cross compiling.
+  * klibc-linux-libc-dev: Adapt for cross building (closes: #666389)
+    Based on Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> 
+
+ -- maximilian attems <maks@debian.org>  Fri, 18 May 2012 14:48:04 +0200
+
+klibc (2.0~rc3-1) unstable; urgency=low
+
+  * New upstream snapshot (closes: #653790)
+    - klibc/s390x klcc fix thanks to Aurelien Jarno <aurel32@debian.org>.
+  * Pump standard version to 3.9.3 without changes.
+
+ -- maximilian attems <maks@debian.org>  Fri, 02 Mar 2012 11:08:51 +0100
+
+klibc (2.0~rc2-0.1) unstable; urgency=low
+
+  * Non-maintainer upload with consent of maintainer.
+  * Upload to unstable (maks says we target 2.0 for wheezy)
+  * New upstream snapshot (fixes FTBFS)
+  * Update Vcs-* for (temporary) move to collab-maint
+  * Refresh all patches
+  * Add m68k patch submitted upstream, for testing (Closes: #334917)
+  * Shut up lintian
+
+ -- Thorsten Glaser <tg@mirbsd.de>  Sat, 11 Feb 2012 19:25:23 +0000
+
+klibc (1.5.25-1.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Fix build to work with multiarched linux-libc-dev (using patch from
+    Ubuntu), closes: #645738.
+
+ -- Julien Cristau <jcristau@debian.org>  Fri, 30 Dec 2011 17:04:30 +0100
+
+klibc (2.0~rc1-1experimental1) experimental; urgency=low
+
+  * New upstream snapshot release (buffered stdio)
+  * Ubuntu sync fix klcc for multiarch. (closes: #639057, LP: #829356)
+    Thanks Colin Watson <cjwatson@ubuntu.com>.
+
+ -- maximilian attems <maks@debian.org>  Tue, 06 Sep 2011 17:57:54 +0200
+
+klibc (1.5.25-1) unstable; urgency=low
+
+  * New upstream release (scandir, capset, capget, kinit drop_capabilities)
+
+ -- maximilian attems <maks@debian.org>  Tue, 23 Aug 2011 17:54:43 +0200
+
+klibc (1.5.24-1) unstable; urgency=low
+
+  * New upstream release (sched_setaffinity, sched_getaffinity, kexec_load)
+    - ipconfig: Don't try to guess the nameserver. (closes: #594638)
+    - refresh debian/patches/klibc-linux-libc-dev
+
+ -- maximilian attems <maks@debian.org>  Wed, 27 Jul 2011 16:54:47 +0200
+
+klibc (1.5.23-2) unstable; urgency=low
+
+  * Really apply Fix-minimal-mv-to-work-across-fs.
+
+ -- maximilian attems <maks@debian.org>  Fri, 08 Jul 2011 01:09:48 +0200
+
+klibc (1.5.23-1) unstable; urgency=low
+
+  * New upstream release (arm, dash sync, limits.h, ppc64)
+    - minimal mv in klibc-utils.
+    - refresh debian/patches/insmod
+  * Add Fix-minimal-mv-to-work-across-fs.patch (closes: #627808)
+  * Add armhf support. (closes: #627252)
+    Thanks to Konstantinos Margaritis <markos@genesi-usa.com>.
+  * Add klibc crosscompile support. (closes: #629934)
+    Thanks to Steve McIntyre <steve.mcintyre@linaro.org>.
+  * debian/copyright: Add specific BSD license text to keep lintian happy.
+
+ -- maximilian attems <maks@debian.org>  Tue, 14 Jun 2011 17:32:53 +0200
+
+klibc (1.5.22-1) unstable; urgency=high
+
+  * New upstream release (arm, ipconfig)
+    - arm: fix build failure with latest binutils. (closes: #618616)
+    - arm: use bx on thumb2 (v3) (LP: #527720)
+    - ipconfig: handle multiple connected network dev. (closes: #621065)
+  * Ubuntu sync add ppc64-static. (closes: #613955)
+    Thanks Colin Watson <cjwatson@ubuntu.com>.
+  * Ubuntu sync add klcc multiarch-include-path. (closes: #622814)
+    Thanks Steve Langasek <steve.langasek@canonical.com>
+  * Pump standard version to 3.9.2 without changes.
+  * Drop Jeff Bailey from Uploaders.
+
+ -- maximilian attems <maks@debian.org>  Wed, 18 May 2011 13:39:01 +0200
+
+klibc (1.5.21-1) unstable; urgency=low
+
+  * New upstream release (i386 signal(), make 3.82, cleanups)
+
+ -- maximilian attems <maks@debian.org>  Tue, 25 Jan 2011 23:45:20 +0100
+
+klibc (1.5.20-1) unstable; urgency=high
+
+  * New upstream release
+    - ipconfig: fix infinite loop. (closes: #552554)
+    - ipconfig: fix multiple dns domains. (closes: #594208)
+  * klibc-utils.postinst: Nuke non empty dirs too. (closes: #594651)
+
+ -- maximilian attems <maks@debian.org>  Sat, 28 Aug 2010 12:23:51 +0200
+
+klibc (1.5.19-1) unstable; urgency=high
+
+  * New upstream release
+   - resume: silence warning on resume try. (closes: #586006)
+   - sh4: syscalls fixes. (closes: #578076)
+  * Fix doc symlinks on upgrade. (closes: #588763)
+    Thanks Sven Joachim <svenjoac@gmx.de>.
+  * Pump standard version to 3.9.1 without changes.
+
+ -- maximilian attems <maks@debian.org>  Wed, 25 Aug 2010 13:07:03 +0200
+
+klibc (1.5.18-1) unstable; urgency=medium
+
+  * New upstream release (dash 0.5.6)
+    - fstype btrfs (closes: #548047), ext4 !journal (closes: #536592)
+    - sh4 build fix (closes: #574834)
+    - shipp renamed README.ipconfig (closes: #478589)
+
+ -- maximilian attems <maks@debian.org>  Thu, 22 Apr 2010 03:38:55 +0200
+
+klibc (1.5.17-4) unstable; urgency=medium
+
+  * libklibc-dev: On preinst remove old include dirs that hinder
+    shipped symlinks to linux-libc-dev. (closes: #574854)
+
+ -- maximilian attems <maks@debian.org>  Sun, 21 Mar 2010 22:51:11 +0100
+
+klibc (1.5.17-3) unstable; urgency=low
+
+  * Override dh_auto_test to pass DEB_HOST_ARCH on make test. (closes: #574746)
+
+ -- maximilian attems <maks@debian.org>  Sat, 20 Mar 2010 20:52:09 +0100
+
+klibc (1.5.17-2) unstable; urgency=low
+
+  * Set DEB_HOST_ARCH using dpkg-architecture. (closes: #574740)
+
+ -- maximilian attems <maks@debian.org>  Sat, 20 Mar 2010 18:24:16 +0100
+
+klibc (1.5.17-1) unstable; urgency=low
+
+  [ Jan Hauke Rahm ]
+  * Switch from cdbs to debhelper 7
+  * Switch to Source Format 3.0 (quilt) (closes: #573908)
+  * Make documentation of klibc-utils and libklibc-dev be a symlink to
+    libklibc
+
+  [ maximilian attems ]
+  * New upstream release
+    - Fix FTFBS i386/sparc. (closes: #573926)
+    - sparc, sparc64 use sys_socketcall unconditionally. (closes: #444087)
+    - ipconfig may discard useful packets. (closes: #511959)
+
+ -- maximilian attems <maks@debian.org>  Sat, 20 Mar 2010 02:11:20 +0100
+
+klibc (1.5.16-1) unstable; urgency=low
+
+  [ maximilian attems ]
+  * New upstream release
+    - ipconfig: raise field length for rootpath DHCP option.
+      (closes: #497800)
+    - ipconfig: send requested hostname in DHCP discover/request.
+      (closes: #367301)
+    - ipconfig: set null ciaddr on DHCPREQUEST during SELECTING state.
+      (closes: #497879)
+    - mount: list fs all mounted fs, support -t switch for one fs.
+      (closes: #491067)
+    - refresh 10_insmod.patch.
+    - readlink be silent on failure. (closes: #565224)
+    - fix compilation against up to 2.6.33 linux-libc-dev. (closes: #552825)
+  * watch file fixup for new upstream directories.
+  * Pump standard version to 3.8.4 without changes.
+  * Add lintian overrides for embedded-zlib needed for early userspace.
+
+  [ Nobuhiro Iwamatsu ]
+  * klibc: add support Renesas SH(sh4) (closes: #540126)
+
+  [ Ben Hutchings ]
+  * Fix klibc Debian specific build with 02-klibc_linux_libc_dev.patch.
+  * Add libklibc-dev depends on linux-libc-dev.
+
+ -- maximilian attems <maks@debian.org>  Sun, 14 Mar 2010 22:46:21 +0100
+
+klibc (1.5.15-1) unstable; urgency=low
+
+  [ maximilian attems ]
+  * New upstream release:
+    - fstype ext4 support. (closes: #510758)
+    - chroot cmd fixed. (closes: #494829)
+  * Pump standard version to 3.8.0 without changes.
+  * Drop arm of the klibc-utils-floppy-udeb arch list.
+  * Fix debhelper-but-no-misc-depends.
+  * debian/copyright refer to GPL v2.
+  * debian/rules nuke old commented unused lines.
+
+  [ Colin Watson ]
+  * Add lpia to the architecture list for klibc-utils-floppy-udeb.
+    (closes: #506427)
+
+  [ Thiemo Seufer ]
+  * Fix FTBFS on MIPS64 kernel. (closes: #496175)
+
+ -- maximilian attems <maks@debian.org>  Mon, 16 Feb 2009 16:41:51 +0100
+
+klibc (1.5.14-1~exp1) experimental; urgency=low
+
+  * New upstream version
+    - nuke merged 11_klibc-Default-signal-3-to-bsd_signal-3.patch
+    - no longer hardcode gcc
+
+ -- maximilian attems <maks@debian.org>  Mon, 11 Aug 2008 16:34:11 +0200
+
+klibc (1.5.12-2) unstable; urgency=medium
+
+  * Add backport 11_klibc-Default-signal-3-to-bsd_signal-3.patch.
+  * Adjust watch file.
+
+ -- maximilian attems <maks@debian.org>  Mon, 11 Aug 2008 16:09:45 +0200
+
+klibc (1.5.12-1) unstable; urgency=low
+
+  * New upstream release (memmove, fflush, cpio) (closes: #489945)
+
+ -- maximilian attems <maks@debian.org>  Sat, 12 Jul 2008 21:48:56 +0200
+
+klibc (1.5.11-3) unstable; urgency=high
+
+  * libklibc-dev depend on gcc-4.1. (closes: #489103)
+
+ -- maximilian attems <maks@debian.org>  Thu, 03 Jul 2008 19:33:56 +0200
+
+klibc (1.5.11-2) unstable; urgency=high
+
+  * gcc-4.1 build dep.
+
+ -- maximilian attems <maks@debian.org>  Fri, 27 Jun 2008 01:40:39 +0200
+
+klibc (1.5.11-1) unstable; urgency=high
+
+  * New upstream release (ext4, ipconfig, mount)
+    - drop merged 11-klibc-run-init-drop-executable-stack.patch,
+      12-klibc-avoid-.gitignore-in-the-include-directory.patch
+  * Fallback to gcc-4.1 4.3 miscompiles. (closes: #486557)
+
+ -- maximilian attems <maks@debian.org>  Fri, 27 Jun 2008 00:59:27 +0200
+
+klibc (1.5.10-1) unstable; urgency=low
+
+  * New upstream release (dmesg, nfsmount)
+    - dmesg: fix the stripping of priority codes (closes: #483186)
+    - ubuntu sync rework 11-klibc-run-init-drop-executable-stack.patch
+    - add git fix 12-klibc-avoid-.gitignore-in-the-include-directory.patch
+
+ -- maximilian attems <maks@debian.org>  Fri, 27 Jun 2008 00:59:21 +0200
+
+klibc (1.5.9-2) unstable; urgency=low
+
+  * debian/control: Fix Description klibc-utils are not statically linked.
+    Thanks Anthony Towns <ajt@debian.org> for noticing.
+  * klibc-utils-floppy-udeb.install: Drop mkdir, mknod, sh due to full floppy.
+    Thanks Joey Hess <joeyh@debian.org>. (closes: #474061)
+
+ -- maximilian attems <maks@debian.org>  Wed, 09 Apr 2008 11:00:29 +0200
+
+klibc (1.5.9-1) unstable; urgency=low
+
+  * New upstream release (fstype jfs + nilfs2, ipconfig, nfsmount)
+    - Drop merged 02_header_clean_install.patch, 20_mount-options.patch
+    - mknod gained -m permission switch. (closes: #469577)
+  * debian/control: Add git Vcs fields.
+
+ -- maximilian attems <maks@debian.org>  Fri, 28 Mar 2008 23:09:57 +0100
+
+klibc (1.5.8-1) unstable; urgency=low
+
+  * New upstream release (fstype squashfs-lzma, ipconfig) (closes: #455703)
+  * Ubuntu sync add 20_mount-options.patch for FUSE mount. (closes: #463258)
+  * Add 02_header_clean_install.patch.
+  * Drop unused 03-sparc-libgcc42.patch.
+  * Add 10_insmod.patch for d-i floppy usage.
+  * Fix copyright notice.
+  * Newer standard version without changes.
+
+ -- maximilian attems <maks@debian.org>  Sat, 22 Mar 2008 14:09:56 +0100
+
+klibc (1.5.7-4) unstable; urgency=high
+
+  * debian/rules: Set verbose kbuild for toolchain troubles.  Compile
+    32 bit on ppc and 31 bit on s390. (closes: #453422, #453424)
+
+ -- maximilian attems <maks@debian.org>  Fri,  7 Dec 2007 16:12:36 +0100
+
+klibc (1.5.7-3) unstable; urgency=high
+
+  * debian/rules: s/sparc64/sparc/ thanks to the Debian sparc folks.
+    (closes: #399724)
+
+ -- maximilian attems <maks@debian.org>  Thu, 22 Nov 2007 18:50:55 +0100
+
+klibc (1.5.7-2) unstable; urgency=high
+
+  * Add 03-sparc-libgcc42.patch (closes: #440721)
+    Thanks for report and testing to Kilian Krause <kilian@debian.org>
+
+ -- maximilian attems <maks@debian.org>  Thu, 22 Nov 2007 18:50:50 +0100
+
+klibc (1.5.7-1) unstable; urgency=low
+
+  * New upstream release
+  * Build-dep on s/flex/m4/.
+
+ -- maximilian attems <maks@debian.org>  Tue, 04 Sep 2007 13:03:09 +0200
+
+klibc (1.5.6-2) unstable; urgency=high
+
+  * debian/rules: Pass for ia64 ARCH=ia64 on install target, enables static
+    workaround. (closes: #439548)
+
+ -- maximilian attems <maks@debian.org>  Sat, 25 Aug 2007 17:39:35 +0200
+
+klibc (1.5.6-1) unstable; urgency=low
+
+  * New upstream release (mount, bzero)
+  * debian/rules: Disable verbose build.
+
+ -- maximilian attems <maks@debian.org>  Sat, 25 Aug 2007 01:54:22 +0200
+
+klibc (1.5.5-1) unstable; urgency=low
+
+  * New upstream release (dash 0.5.4)
+
+ -- maximilian attems <maks@debian.org>  Thu, 23 Aug 2007 18:15:24 +0200
+
+klibc (1.5.4-1) unstable; urgency=low
+
+  * New upstream release (dmesg, fstype ocfs2)
+
+ -- maximilian attems <maks@debian.org>  Tue, 21 Aug 2007 12:31:27 +0200
+
+klibc (1.5.3-1) unstable; urgency=low
+
+  * New upstream (ext4 gfs2 reiser4 squashfs fstype, sync) (closes: #392073)
+    - Drop merged 09_mips-linux-libc-dev.patch,
+    08_nfsmount-rpc_header_length.patch, 02-squashfs.diff.
+    - Drop dubious Debian unused 07_kinit_no_vfork.patch.
+
+ -- maximilian attems <maks@debian.org>  Wed, 15 Aug 2007 21:32:06 +0200
+
+klibc (1.5-4) unstable; urgency=low
+
+  * Add 09_mips-linux-libc-dev.patch. (closes: 435113)
+
+ -- maximilian attems <maks@debian.org>  Sat, 04 Aug 2007 23:24:10 +0200
+
+klibc (1.5-3) unstable; urgency=low
+
+  * Build-dep on linux-libc-dev - ubuntu sync + rules cleanup. (closes: 423998)
+    Thus drop 08-revert_nostdinc_iwithprefix_include.patch
+  * Switch to ${binary:Version}
+  * Add 08_nfsmount-rpc_header_length.patch. (closes: 428832)
+    Thanks Tomas Vanderka <tomas_vanderka@tempest.sk> for patch.
+  * Add armel support. (closes: 430593)
+    Thanks Riku Voipio <riku.voipio@iki.fi>
+
+ -- maximilian attems <maks@debian.org>  Sat, 28 Jul 2007 12:44:57 +0200
+
+klibc (1.5-2) unstable; urgency=low
+
+  * klibc-utils-floppy-udeb.install: sort + add cpio.
+
+ -- maximilian attems <maks@debian.org>  Mon,  2 Apr 2007 23:25:38 +0200
+
+klibc (1.5-1) unstable; urgency=low
+
+  * New upstream (cpio, read -t, resume offset, support newer linux headers)
+  * Change Maintainers field
+
+ -- maximilian attems <maks@debian.org>  Sat, 31 Mar 2007 17:09:59 +0200
+
+klibc (1.4.34-1) unstable; urgency=low
+
+  * New upstream release (pwd, FD_ZERO, __sum*)
+    - drop 09-qsort-infinite-loop.patch
+
+ -- maximilian attems <maks@sternwelten.at>  Wed,  7 Feb 2007 23:52:30 +0100
+
+klibc (1.4.31-1) unstable; urgency=low
+
+  * New minor upstream release (fstype endian fixes)
+    - drop merged 09-klibc-utils-add_swsusp_to_fstype.patch
+    - add out of current git 09-qsort-infinite-loop.patch
+  * Build against linux-headers-2.6.18-4.
+    Use one variable to set them in order to ease stable updates.
+
+ -- maximilian attems <maks@sternwelten.at>  Fri, 26 Jan 2007 20:29:07 +0100
+
+klibc (1.4.30-3) unstable; urgency=high
+
+  * Disable klibc-utils-floppy-udeb build on ia64 by explicitly listing
+    all other architectures. ia64 does not build shared binaries.
+    urgency high as fixes RC bugs in etch.
+
+ -- maximilian attems <maks@sternwelten.at>  Wed, 13 Dec 2006 10:04:40 +0100
+
+klibc (1.4.30-2) unstable; urgency=low
+
+  * Build against linux-headers-2.6.18-3. (closes: 398334)
+  * Add klibc-utils-add_swsusp_to_fstype.patch (closes: 398302)
+    thanks David Härdeman <david@2gen.com>.
+  * Add klibc-utils-floppy-udeb on request by the d-i folks.
+
+ -- maximilian attems <maks@sternwelten.at>  Wed, 29 Nov 2006 11:39:52 +0100
+
+klibc (1.4.30-1) unstable; urgency=low
+
+  * New upstream release (ia64, vsscanf, signal, creat)
+  * Fix watch file, remove stray newline in changelog. Thanks Christoph Berg
+    <myon@nm.debian.org> for review.
+
+ -- maximilian attems <maks@sternwelten.at>  Fri,  3 Nov 2006 08:53:02 +0100
+
+klibc (1.4.29-1) unstable; urgency=low
+
+  * New upstream release (closes: 362442)
+    - fstype iso9660 detection thanks David Härdeman <david@2gen.com>
+    - rediff 02-squashfs.diff
+  * Build against linux-headers-2.6.18-1. (closes: 392855)
+
+ -- maximilian attems <maks@sternwelten.at>  Sat, 14 Oct 2006 13:31:24 +0200
+
+klibc (1.4.27-1) unstable; urgency=low
+
+  * New upstream release (mips, sh, malloc, free, fnmatch, getopt_long)
+    - Corrects mips statfs (closes: 347827)
+    - Drop merged 08_nuke_no_error_return.patch
+    - Drop merged 05_ipconfig_d-i.patch (closes: 374982)
+    - Add build fix 08-revert_nostdinc_iwithprefix_include.patch.
+
+ -- maximilian attems <maks@sternwelten.at>  Fri, 25 Aug 2006 08:12:10 +0200
+
+klibc (1.4.19-2) unstable; urgency=high
+
+  * Add 08_nuke_no_error_return.patch -
+    urgency high to get into testing before udev.
+  * debian/control, debian/rules: Use newer linux-headers-2.6.17-2.
+    Thanks Michael Banck for noticing.
+
+ -- maximilian attems <maks@sternwelten.at>  Sat, 19 Aug 2006 10:45:18 +0200
+
+klibc (1.4.19-1) unstable; urgency=low
+
+  * New upstream release (kbuild, readlink, shm_open() + shm_unlink())
+    - Drop merged 06_ppc_kbuild.patch,
+      keep 07_kinit_no_vfork.patch until vfork() is sorted on parisc.
+    - Build against linux-headers-2.6.17-1.
+
+ -- maximilian attems <maks@sternwelten.at>  Tue,  8 Aug 2006 09:17:32 +0200
+
+klibc (1.4.11-3) unstable; urgency=low
+
+  * Add 06_ppc_kbuild.patch, 07_kinit_no_vfork.patch. closes: 378953
+
+ -- maximilian attems <maks@sternwelten.at>  Sun, 23 Jul 2006 22:10:17 +0200
+
+klibc (1.4.11-2) unstable; urgency=low
+
+  * Add the changelog of the 1.4.8-1.1. Ack NMU. (closes: #378426)
+
+ -- maximilian attems <maks@sternwelten.at>  Wed, 19 Jul 2006 10:26:41 +0200
+
+klibc (1.4.11-1) experimental; urgency=low
+
+  * New upstream release (kbuild, arm, s390, mknod, kill, resume)
+    - reworked 01-ia64-static.diff touches more dirs and reapplies
+    - 02-squashfs.diff reapplies
+    - Thanks Martin Michlmayr <tbm@cyrius.com> for arm segfault fix.
+      (closes: #378426)
+
+ -- maximilian attems <maks@sternwelten.at>  Mon, 17 Jul 2006 00:40:56 +0200
+
+klibc (1.4.8-1.1) unstable; urgency=high
+
+  * NMU with the permission of the maintainer.
+  * Fix segfault on ARM when compiling without EABI. (closes: #378426)
+
+ -- Martin Michlmayr <tbm@cyrius.com>  Mon, 17 Jul 2006 16:31:15 +0200
+
+klibc (1.4.8-1) unstable; urgency=low
+
+  * New upstream release (arch fixes)
+
+ -- maximilian attems <maks@sternwelten.at>  Mon,  3 Jul 2006 20:24:33 +0200
+
+klibc (1.4.6-1) unstable; urgency=low
+
+  * New upstream release (s390, i386)
+    - Drop merged 00-reboot-poweroff-install.patch and 03-mknod.patch.
+
+ -- maximilian attems <maks@sternwelten.at>  Sat,  1 Jul 2006 16:28:16 +0200
+
+klibc (1.4.2-3) unstable; urgency=low
+
+  * Add 05_ipconfig_d-i.patch to allow d-i dhcp file preseeding.
+    Thanks Geert Stappers <stappers@debian.org>. (closes: #374982)
+
+ -- maximilian attems <maks@sternwelten.at>  Thu, 22 Jun 2006 21:38:34 +0200
+
+klibc (1.4.2-2) unstable; urgency=low
+
+  * klibc-utils: Pick up the new puppys reboot/poweroff - added
+    00-reboot-poweroff-install.patch.
+
+  * Tweaked 01-ia64-static.diff
+
+ -- maximilian attems <maks@sternwelten.at>  Thu, 22 Jun 2006 08:44:42 +0200
+
+klibc (1.4.2-1) unstable; urgency=low
+
+  * New upstream release (arm, halt/reboot/poweroff)
+
+  * Add from git upstream 03-mknod.patch.
+
+ -- maximilian attems <maks@sternwelten.at>  Thu, 22 Jun 2006 00:53:03 +0200
+
+klibc (1.3.38-1) unstable; urgency=low
+
+  * New upstream release (syscalls, sparc32)
+    - Drop 04-libgcc-dep.diff thanks to upstream fixes.
+
+ -- maximilian attems <maks@sternwelten.at>  Wed, 14 Jun 2006 19:10:22 +0200
+
+klibc (1.3.35-1) unstable; urgency=low
+
+  * New upstream release (No c++)
+
+  * debian/control,debian/rules: Pump build-dep on newer linux-headers.
+
+ -- maximilian attems <maks@sternwelten.at>  Thu,  8 Jun 2006 23:32:52 +0200
+
+klibc (1.3.34-1) unstable; urgency=low
+
+  * New upstream release (kinit, s390, dash)
+    - Rework 01-ia64-static.diff
+    upload to unstable to fix sparc32
+  * Drop debian/config, no need for gzip atm.
+
+ -- maximilian attems <maks@sternwelten.at>  Thu,  8 Jun 2006 12:12:43 +0200
+
+klibc (1.3.27-2) experimental; urgency=low
+
+  * debian/rules: Don't override DEB_ARCH on sparc. Thanks to Jurij Smakov
+    <jurij@debian.org> for testing sparc32 and sparc64 32-bit build and boot.
+
+ -- maximilian attems <maks@sternwelten.at>  Tue,  6 Jun 2006 11:28:34 +0200
+
+klibc (1.3.27-1) experimental; urgency=low
+
+  * New upstream release
+    (kernel CodingStyle, kinit, arm+alpha+m68k+sparc32+sparc64 fixes)
+    - Drop hopefully fixed 05-sparc64_statfs.patch.
+    - Drop merged 06-s390-syscall-declare-err.patch.
+    - Rework 02-squashfs.diff.
+    - Remove zlib1g-dev Build-Dep, include dir for zlib.h got fixed.
+    - dd: handle trunc/notrunc correctly (closes: #367387)
+    Upload to experimental to give aboves porters chance to check changes.
+
+  * debian/rules: Use mrproper on clean run to get rid of generated .config.
+
+  * debian/config: Build with CONFIG_KLIB_ZIP, gzip does zip not only unzip.
+    (closes: #355809)
+
+ -- maximilian attems <maks@sternwelten.at>  Tue,  6 Jun 2006 00:34:13 +0200
+
+klibc (1.3.19-5) experimental; urgency=low
+
+  Thanks to Jeff Bailey <jbailey@raspberryginger.com> for eagle eyes:
+
+  * debian/rules: On clean use proper make clean target.
+
+  * debian/control: Fix dep for klibc-utils-udeb.
+
+ -- maximilian attems <maks@sternwelten.at>  Tue,  9 May 2006 21:11:48 +0200
+
+klibc (1.3.19-4) experimental; urgency=low
+
+  * Mentors eats udeb, retry upload.
+
+ -- maximilian attems <maks@sternwelten.at>  Mon,  8 May 2006 21:12:03 +0200
+
+klibc (1.3.19-3) experimental; urgency=low
+
+  * Add klibc-utils and libklibc udeb targets on request of the nice d-i folks.
+
+  * Pump standard version to 3.7.2 without changes.
+
+ -- maximilian attems <maks@sternwelten.at>  Mon,  8 May 2006 19:27:15 +0200
+
+klibc (1.3.19-2) unstable; urgency=medium
+
+  * Add 06-s390-syscall-declare-err.patch (closes: 366385)
+
+ -- maximilian attems <maks@sternwelten.at>  Mon,  8 May 2006 11:21:05 +0200
+
+klibc (1.3.19-1) unstable; urgency=medium
+
+  * New upstream release (m68k build fixes, dash cleanup)
+    - Drop 06-clz-builtins-return.patch
+
+  * Set urgency to medium to get newer klibc into testing.
+
+ -- maximilian attems <maks@sternwelten.at>  Mon,  8 May 2006 09:29:52 +0200
+
+klibc (1.3.16-2) unstable; urgency=low
+
+  * Add new missing build-dep zlib1g-dev.
+
+ -- maximilian attems <maks@sternwelten.at>  Fri,  5 May 2006 15:15:03 +0200
+
+klibc (1.3.16-1) unstable; urgency=low
+
+  * New upstream release (m68k + mips work, tree reorganisation, zlib copy)
+    - Drop merged 06-fix-arch-without-ppoll.patch
+    - Rework 01-ia64-static.diff, 05-sparc64_statfs.patch
+    - Add git patch 06-clz-builtins-return.patch
+
+  * Pump standard version to 3.7.1.0 without changes.
+
+ -- maximilian attems <maks@sternwelten.at>  Fri,  5 May 2006 00:20:45 +0200
+
+klibc (1.3.11-2) unstable; urgency=medium
+
+  * Add gone missing bit 06-fix-arch-without-ppoll.patch.
+
+  * Urgency medium to get that latest with all fixes into Testing.
+
+ -- maximilian attems <maks@sternwelten.at>  Mon,  1 May 2006 02:17:32 +0200
+
+klibc (1.3.11-1) unstable; urgency=low
+
+  * New upstream release (m68k port, kinit)
+    - Drop no longer needed m68k-syscall.patch
+    - Drop merged ia64-syscall.patch
+
+  * Rename 05-sparc64_statfs.patch for consistent patch numbering.
+
+ -- maximilian attems <maks@sternwelten.at>  Sat, 29 Apr 2006 20:16:48 +0200
+
+klibc (1.3.7-2) unstable; urgency=low
+
+  * Add ia64-syscall.patch, thanks to Jeff Bailey
+    <jbailey@raspberryginger.com>
+  * Readd sparc64_statfs.patch, not fixed by proposed sparc_v9 upstream fix.
+
+ -- maximilian attems <maks@sternwelten.at>  Sat, 22 Apr 2006 18:41:52 +0200
+
+klibc (1.3.7-1) unstable; urgency=low
+
+  * New upstream release (Kbuild, dash, ..):
+   - Drop merged fstype-lvm2-ext3.patch, alpha-syscall.patch.
+   - Drop upstream reworked 03-sparc-fix-paths.diff.
+   - Rework 02-squashfs.diff.
+   - Rework 01-ia64-static.diff to apply cleanly too.
+
+ -- maximilian attems <maks@sternwelten.at>  Sat, 22 Apr 2006 13:39:57 +0200
+
+klibc (1.3.3-4) unstable; urgency=low
+
+  * Add alpha-syscall.patch, use the available rt syscalls. (closes: 361910)
+    Thanks Falk Hueffner <falk@debian.org> and Norbert Tretkowski
+    <norbert@tretkowski.de> for testing the fix.
+
+ -- maximilian attems <maks@sternwelten.at>  Tue, 18 Apr 2006 23:08:08 +0200
+
+klibc (1.3.3-3) unstable; urgency=low
+
+  * Add fstype-lvm2-ext3.patch thanks David Härdeman <david@2gen.com>
+    for the fix. (closes: 362631)
+
+ -- maximilian attems <maks@sternwelten.at>  Mon, 17 Apr 2006 21:29:53 +0200
+
+klibc (1.3.3-1) unstable; urgency=low
+
+  * New upstream release (kinit, run-init)
+    - Drop merged s390-syscall.patch, statfs-sparc64-mips.patch
+      (the mips part didn't help, stat() needs more work there).
+    - Drop upstream nacked gcc-nohardcode.patch, sparc works fine with gcc-4.0.
+    - Drop arm-build-fix.patch, fixed by coreutils 5.93.
+      Thanks to Martin Michlmayr <tbm@cyrius.com> for fixing that issue.
+
+  * debian/rules: Fix ppc build with linux-headers-2.6.16-1 -
+    thanks a lot to Roger Leigh <rleigh@debian.org>.
+
+ -- maximilian attems <maks@sternwelten.at>  Thu,  6 Apr 2006 17:59:34 +0200
+
+klibc (1.3.1-1) unstable; urgency=low
+
+  * New upstream release
+    (kinit, lvm2 fstype, minix detection fix, zlib 1.2.3, whitespace cleanup)
+    - Rework 02-squashfs.diff.
+
+ -- maximilian attems <maks@sternwelten.at>  Tue,  4 Apr 2006 01:37:04 +0200
+
+klibc (1.2.6-1) unstable; urgency=low
+
+  * New upstream release
+
+  * Pump build-dep on linux-headers-2.6.16-1.
+
+  * Rework statfs-sparc64.patch into statfs-sparc64-mips.patch
+
+  * Rework 01-ia64-static.diff build dash, fstype, ipconfig and run-init
+    static too. (closes: #357414)
+
+ -- maximilian attems <maks@sternwelten.at>  Wed, 22 Mar 2006 09:54:38 +0100
+
+klibc (1.2.4-1) unstable; urgency=low
+
+  * New upstream release
+    drop merged patches: include-cleanup.patch, mips-pipe.patch.
+    drop unneeded klibc-sparc64-def-pagesize.patch.
+
+  * debian/watch: Add watch upstream.
+
+  * s390-syscall.patch: Fix wrapper to return positive errno values.
+    Thanks Bastian Blank <waldi@debian.org> (closes: #355548)
+
+ -- maximilian attems <maks@sternwelten.at>  Thu,  9 Mar 2006 01:05:25 +0100
+
+klibc (1.2.2-3) unstable; urgency=medium
+
+  * Upload with medium urgency to fix sparc ftbfs.
+
+  * Add include-cleanup.patch which removes useless <asm/page.h> includes.
+
+ -- maximilian attems <maks@sternwelten.at>  Fri, 17 Feb 2006 22:02:28 +0100
+
+klibc (1.2.2-2) unstable; urgency=high
+
+  * Upload with high urgency as this fixes sparc boots.
+    (Closes: #347902)
+
+  * Add sparc64_statfs.patch thanks to Sjoerd Simons <sjoerd@spring.luon.net>.
+
+  * Add git upstream mips-pipe.patch.
+
+ -- maximilian attems <maks@sternwelten.at>  Thu, 16 Feb 2006 18:40:37 +0100
+
+klibc (1.2.2-1) unstable; urgency=low
+
+  * New upstream release (kinit work, LUKS and swap detection)
+    - reworked 02-squashfs.diff
+
+  * Merge 1.1.16-1ubuntu3 (thanks Jeff Bailey <jbailey@ubuntu.com>):
+    - Do not override the compiler for sparc anymore.
+    - Link in libc.a after libgcc.a as well to resolve symbols:
+      04-libgcc-dep.diff.
+    - /usr/lib/klibc/include contained symlinks to the real include
+      directories before.  Remove the symlinks in the preinst to avoid
+      overwriting bits of linux-kernel-headers on upgrade.
+
+  * We no longer need to pass CC to the make invocation.
+
+  * Add m68k-syscall.patch thanks to Kyle McMartin <kyle@parisc-linux.org>.
+    Still needs setjmp/longjmp, crt0, and sysstub.ph to be usefull.
+
+  * Change arch list to any to encourage m68k porting.
+
+ -- maximilian attems <maks@sternwelten.at>  Tue, 14 Feb 2006 09:54:36 +0100
+
+klibc (1.2.1-3) unstable; urgency=high
+
+  * Add gcc-nohardcode.patch to really build sparc with gcc-3.3.
+    Thanks to Jurij Smakov <jurij@wooyd.org> for spotting the trouble.
+    (Closes: #347902, #349857)
+
+  * Set urgency high to get all the previous arch fixes into testing.
+
+  * Ack old accidental NMU. (Closes: #336620)
+
+ -- maximilian attems <maks@sternwelten.at>  Tue, 31 Jan 2006 10:20:02 +0100
+
+klibc (1.2.1-2) unstable; urgency=low
+
+  * Add armeb to the arch list.
+
+  * Add temporary buildfix for arm: arm-build-fix.patch.
+
+ -- maximilian attems <maks@sternwelten.at>  Tue, 31 Jan 2006 01:39:24 +0100
+
+klibc (1.2.1-1) unstable; urgency=low
+
+  * New upstream release (kinit work)
+    Drop merged patches: klibc-hppa-fix-atexit.patch,
+    klibc-hppa-set-sharedflags.patch, klibc-mipsel-build.patch,
+    klibc-mips-newline-warning.patch, klibc-mips-path-linker.patch,
+
+  * Add ubuntu patch 03-sparc-fix-paths.diff.
+
+  * Add ARCH overrides for armeb and mipsel,
+    thanks Martin Michlmayr <tbm@cyrius.com>. (closes: #350592)
+
+ -- maximilian attems <maks@sternwelten.at>  Tue, 31 Jan 2006 00:16:36 +0100
+
+klibc (1.1.16-3) unstable; urgency=low
+
+  * Add mipsel build fix, thanks Martin Michlmayr <tbm@cyrius.com>.
+
+  * Add mips and mipsel to the build archs - shared libraries may still segv.
+
+ -- maximilian attems <maks@sternwelten.at>  Sat, 21 Jan 2006 10:10:16 +0100
+
+klibc (1.1.16-2) unstable; urgency=low
+
+  * Fixed powerpc build, working around the ARCH=ppc/ARCH=powerpc mess on
+    32bit powerpc. Closes: #347551.
+  * Add myself to uploaders.
+
+ -- Sven Luther <luther@debian.org>  Fri, 20 Jan 2006 15:33:41 +0000
+
+klibc (1.1.16-1) unstable; urgency=low
+
+  * New upstream version.
+    Drop merged patches: alpha-kbuild.patch, parisc-arch.patch.
+
+  * Add new upstream patches for better hppa and mips support:
+    klibc-hppa-fix-atexit.patch, klibc-hppa-set-sharedflags.patch.
+    Thanks Kyle McMartin <kyle@parisc-linux.org>
+    klibc-mips-newline-warning.patch, klibc-mips-path-linker.patch.
+    Thanks Martin Michlmayr <tbm@cyrius.com>
+
+  * Pass ARCH we are building on to the make call,
+    fixes build on ppc64 kernel.
+
+ -- maximilian attems <maks@sternwelten.at>  Mon,  9 Jan 2006 18:06:04 +0100
+
+klibc (1.1.15-4) unstable; urgency=low
+
+  "Soiree Tranquille Release"
+
+  * Really add 01-ia64-static.diff, 02-squashfs.diff.
+    Thanks again Jeff Bailey for spotting.
+
+ -- maximilian attems <maks@sternwelten.at>  Thu,  5 Jan 2006 23:58:55 +0100
+
+klibc (1.1.15-3) unstable; urgency=low
+
+  * Add alpha-kbuild.patch fixes alpha kbuild rules.
+
+ -- maximilian attems <maks@sternwelten.at>  Thu,  5 Jan 2006 22:20:31 +0100
+
+klibc (1.1.15-2) unstable; urgency=low
+
+  * Revert sparc personality switch as buildds inbetween invoke with linux64.
+    Thanks Jeff Bailey for spotting.
+
+  * Add klibc-sparc64-def-pagesize.patch, should define the chosen PAGE_SIZE.
+
+ -- maximilian attems <maks@sternwelten.at>  Thu,  5 Jan 2006 20:07:12 +0100
+
+klibc (1.1.15-1) unstable; urgency=low
+
+  * New upstream version.
+    Drop merged patches: klibc-1.1.14-fstype-segv-1.patch,
+    klibc-endian.h-dangerous.patch
+
+  * Build against latest linux-headers-2.6.15-1.
+
+  * Try fixing sparc by building with linux26 personality.
+
+  * Add the following ubuntu patches:
+    - 01-ia64-static.diff (static klibc works on ia64).
+    - 02-squashfs.diff adds sqashfs support to fstype.
+
+ -- maximilian attems <maks@sternwelten.at>  Thu,  5 Jan 2006 17:22:03 +0100
+
+klibc (1.1.14-2) unstable; urgency=low
+
+  * Fix new hppa kbuild issue, add parisc-arch.patch.
+    Thanks Kyle McMartin <kyle@parisc-linux.org>.
+
+  * Add klibc-1.1.14-fstype-segv-1.patch allowing previous interface to work.
+
+ -- maximilian attems <maks@sternwelten.at>  Wed,  4 Jan 2006 00:03:47 +0100
+
+klibc (1.1.14-1) unstable; urgency=low
+
+  * New upstream release (merged all of our patches).
+    Features: dash, kbuild and shiny new packaging by Jeff Bailey!
+
+  * Add klibc-endian.h-dangerous.patch upstream build fix.
+
+  * Don't forget about our linitian overrides.
+    Added unstripped-binary-or-object libklibc-dev override.
+
+ -- maximilian attems <maks@sternwelten.at>  Sat, 31 Dec 2005 00:24:42 +0100
+
+klibc (1.1.8-0ubuntu1) dapper; urgency=low
+
+  * New upstream release.
+    - Obseletes all preview patches.
+
+  * Redo packaging.
+    - Upstream changed packaging.  Redo all packaging to match.
+
+ -- Jeff Bailey <jbailey@ubuntu.com>  Wed, 21 Dec 2005 01:05:04 +0000
+
+klibc (1.1.1-10) unstable; urgency=low
+
+  * Correct the powerpc to ppc mapping.
+
+ -- maximilian attems <maks@sternwelten.at>  Wed, 28 Dec 2005 01:35:56 +0100
+
+klibc (1.1.1-9) unstable; urgency=low
+
+  * Redrop klibc-sparc64-signals.diff, the buildd now uses correct cflags.
+    Thanks to Jurij Smakov <jurij@wooyd.org>
+  * Map powerpc to ppc for 2.6.14 based builds, useless for later kernels.
+  * Pump dephelper dependency as pointed out by linda.
+
+ -- maximilian attems <maks@sternwelten.at>  Fri, 23 Dec 2005 20:41:13 +0100
+
+klibc (1.1.1-8) unstable; urgency=low
+
+  * Add hppa to the mapped archs, sparc was already there. (Closes: #344482)
+
+ -- maximilian attems <maks@sternwelten.at>  Fri, 23 Dec 2005 15:17:22 +0100
+
+klibc (1.1.1-7) unstable; urgency=low
+
+  * Now that we handle the asm arch symlink by owerself, take care on the $arch
+    mapping.
+
+ -- maximilian attems <maks@sternwelten.at>  Fri, 23 Dec 2005 14:39:49 +0100
+
+klibc (1.1.1-6) unstable; urgency=low
+
+  [ Steve Langasek ]
+  * Fix the definition of struct statfs64, required for run-init to work on
+    alpha.
+    (Closes: #342931)
+
+ -- maximilian attems <maks@sternwelten.at>  Mon, 19 Dec 2005 10:22:38 +0100
+
+klibc (1.1.1-5) unstable; urgency=low
+
+  [ Steve Langasek ]
+  * Grab the errno from the right register after syscalls on alpha!
+
+  [ maximilian attems ]
+  * Add s390 to the current arch list.
+
+  * Bump Build-Deps on newer linux-headers.
+
+  * Sync with 1.1.1-4ubuntu7.
+    - Use the newer klibc-parisc.diff version, which got upstream.
+      Thanks a lot Kyle McMartin <kyle@parisc-linux.org>.
+    - Add lintian overrides for libklibc-dev.
+
+  * Add kosmetic klibc-parisc-clean-crash.diff for newer toolchain.
+    Again thanks to Kyle McMartin <kyle@parisc-linux.org>.
+
+  * linux-kernel-headers is lacking the asm symlink from include/asm-$arch.
+    Add it by ourself when builing against it.  ATTENTION: breaks klibc
+    crosscompiles. Will be solved by stabilized upstream kbuild tree.
+
+ -- maximilian attems <maks@sternwelten.at>  Mon, 19 Dec 2005 09:37:36 +0100
+
+klibc (1.1.1-4ubuntu7) dapper; urgency=low
+
+  * Patch to get 5 and 6 argument syscalls working on hppa.
+    Thanks to Kyle McMartin for this patch!
+
+ -- Jeff Bailey <jbailey@ubuntu.com>  Tue, 22 Nov 2005 13:27:15 -0500
+
+klibc (1.1.1-4ubuntu6) dapper; urgency=low
+
+  * Replace the sleep utility with one that calls nanosleep instead, so
+    can be used for sleeping microseconds.
+
+ -- Scott James Remnant <scott@ubuntu.com>  Tue, 22 Nov 2005 07:38:22 +0000
+
+klibc (1.1.1-4ubuntu5) dapper; urgency=low
+
+  * Include /usr/lib/klibc/lib/libc.so in the development package, as you
+    can't link against the uber-stripped klibc-*.so.
+
+ -- Scott James Remnant <scott@ubuntu.com>  Thu, 10 Nov 2005 16:44:58 -0500
+
+klibc (1.1.1-4ubuntu4) dapper; urgency=low
+
+  * Include /usr/lib/klibc/lib/interp.o in the development package.
+
+ -- Scott James Remnant <scott@ubuntu.com>  Thu, 10 Nov 2005 15:33:59 -0500
+
+klibc (1.1.1-4ubuntu3) dapper; urgency=low
+
+  * Somewhere, in a hotel room in Montreal, one can hear the sounds of
+    a big Italian man crying as he places a brown paper bag over his
+    head and admits that sparc really did need gcc-3.3 after all.
+
+ -- Scott James Remnant <scott@ubuntu.com>  Wed,  9 Nov 2005 17:29:33 -0500
+
+klibc (1.1.1-4ubuntu2) dapper; urgency=low
+
+  * Fix build-failure on sparc, Debian hadn't fully applied the
+    "use gcc-3.3 for sparc" patch.
+  * Use gcc-3.4 on sparc instead.
+
+ -- Scott James Remnant <scott@ubuntu.com>  Tue,  8 Nov 2005 16:01:17 -0500
+
+klibc (1.1.1-4ubuntu1) dapper; urgency=low
+
+  * Manual merge with Debian:
+    - Drop klibc-mount-opts.diff, merged upstream.
+    - Drop mconfig-parisc.patch, merged upstream.
+    - Keep klibc-sparc64-signals.diff, not yet merged and fabbione
+      isn't sure whether it's still necessary or not.
+    - Adjust build-dep on linux-headers to that in dapper
+
+ -- Scott James Remnant <scott@ubuntu.com>  Mon,  7 Nov 2005 12:47:13 -0500
+
+klibc (1.1.1-4) unstable; urgency=low
+
+  * debian/rules,debian/control: Use gcc-3.3 for sparc.
+
+  * Drop klibc-sparc64-signals.diff.
+    Thanks to Andrew Pollock <apollock@debian.org> for the test box,
+    to Jurij Smakov <jurij@wooyd.org> and Fabio M. Di Nitto
+    <fabbione@ubuntu.com> for confirming.  (closes: #330191)
+
+  * Build on archs we do support: sparc, alpha, ppc, i386, amd64, hppa, ia64,
+    arm. Will need work for m68k, mips, mipsel.
+    Workaround for #334917
+
+  * debian/patches/fstype-jfs.patch: New file to support jfs. :)
+    Thanks to Jeff Bailey. (closes: #336620)
+
+  * debian/patches/sparc64_archstat.patch: New file to fix stat() on sparc64.
+    Thanks to Jurij Smakov <jurij@wooyd.org> for the patch.
+
+ -- maximilian attems <maks@sternwelten.at>  Wed,  2 Nov 2005 09:46:00 +0100
+
+klibc (1.1.1-2) unstable; urgency=low
+
+  * Work around bug#328850 in lintian per request of the FTP Master:
+    Add lintian override for "statically-linked-binary".
+
+ -- maximilian attems <maks@sternwelten.at>  Sat, 17 Sep 2005 19:52:49 +0200
+
+klibc (1.1.1-1) unstable; urgency=low
+
+  The "Actions Publiques" release
+  * New upstream release:
+    - improved mount, umount: drop merged stamp-patch-klibc-mount-opts.diff.
+    - build warnings cleanup
+
+  * Ready to hit the debian archive. closes: #312563
+
+ -- maximilian attems <maks@sternwelten.at>  Mon, 12 Sep 2005 13:48:05 +0200
+
+klibc (1.0.14-5) unstable; urgency=low
+
+  * Remove old dup useless debian changelog.
+
+  * Fix amusing typos in debian/copyright.
+
+ -- maximilian attems <maks@sternwelten.at>  Wed,  7 Sep 2005 09:13:50 +0200
+
+klibc (1.0.14-4) unstable; urgency=low
+
+  * Rebuild to include original source archive for the upload.
+
+ -- maximilian attems <maks@sternwelten.at>  Wed,  7 Sep 2005 00:37:03 +0200
+
+klibc (1.0.14-3) unstable; urgency=low
+
+  * Build it as non-native package.
+
+  * Lintian prefers Changelog and Maintainer entries in the same
+    capitalisation - otherwise it detects an NMU.
+
+ -- maximilian attems <maks@sternwelten.at>  Wed,  7 Sep 2005 00:25:59 +0200
+
+klibc (1.0.14-2) unstable; urgency=low
+
+  * Release it for Debian.
+    Thanks to Jeff Bailey for all the hard work.
+
+  * Adapt ubuntu Build-Deps for Debian unstable.
+
+  * klibc happily complies to 3.6.3 standard version.
+
+  * Refer to the BSD and GPL license file in the debian/copyright file.
+
+ -- maximilian attems <maks@sternwelten.at>  Tue,  6 Sep 2005 13:14:31 +0200
+
+klibc (1.0.14-1ubuntu1) breezy; urgency=low
+
+  * Bump Build-Deps on newer linux-headers.
+
+  * Fix sparc64 signals special cases:
+    - Add patch klibc-sparc64-signals.diff.
+
+ -- Fabio M. Di Nitto <fabbione@ubuntu.com>  Wed, 17 Aug 2005 09:07:13 +0200
+
+klibc (1.0.14-1) breezy; urgency=low
+
+  The "OMG, A User!" Release.
+
+  * New upstream release.
+
+  * Fix mount option handling (Thanks to mdz@ubuntu.com for the patch)
+
+  * Prune unnecessary substitution variables from control file.
+
+ -- Jeff Bailey <jbailey@ubuntu.com>  Wed,  1 Jun 2005 09:33:38 -0400
+
+klibc (1.0.10-0ubuntu1) breezy; urgency=low
+
+  * New upstream release.
+
+  * klibc-utils must depend on the library.
+  * Add section: libs for the source package.
+
+ -- Jeff Bailey <jbailey@buntu.com>  Tue, 24 May 2005 14:34:05 +0000
+
+klibc (1.0.8-0ubuntu2) breezy; urgency=low
+
+  * Bump linux-headers dep to 2.6.12, suggested by Fabio.
+
+  * Build-dep on bison and flex.
+
+ -- Jeff Bailey <jbailey@ubuntu.com>  Sun, 15 May 2005 22:22:21 -0400
+
+klibc (1.0.8-0ubuntu1) breezy; urgency=low
+
+  * Initial upload to Ubuntu.
+
+ -- Jeff Bailey <jbailey@ubuntu.com>  Mon,  9 May 2005 13:28:30 -0400
+
+klibc (0.197-2) breezy; urgency=low
+
+  * Make sure the shell is called 'sh' not 'sh.shared' when installed
+  * Don't strip execute permissions from the klibc
+
+ -- Jeff Bailey <jbailey@ubuntu.com>  Fri, 28 Jan 2005 17:27:07 -0500
+
+klibc (0.197-1) breezy; urgency=low
+
+  * Initial Release.
+
+ -- Jeff Bailey <jbailey@ubuntu.com>  Sun, 23 Jan 2005 21:11:50 -0500
diff --git a/compat b/compat
new file mode 100644 (file)
index 0000000..7f8f011
--- /dev/null
+++ b/compat
@@ -0,0 +1 @@
+7
diff --git a/control b/control
new file mode 100644 (file)
index 0000000..91a7cf6
--- /dev/null
+++ b/control
@@ -0,0 +1,80 @@
+Source: klibc
+Priority: optional
+Maintainer: maximilian attems <maks@debian.org>
+Uploaders: Ben Hutchings <ben@decadent.org.uk>
+Build-Depends: debhelper (>= 7.0.50), linux-libc-dev, bison, m4
+Section: libs
+Standards-Version: 3.9.5
+Vcs-Browser: http://anonscm.debian.org/gitweb/?p=kernel/klibc.git
+Vcs-Git: git://anonscm.debian.org/kernel/klibc.git
+# maybe some day replace with a real one?
+Homepage: http://git.kernel.org/?p=libs/klibc/klibc.git;a=summary
+
+Package: libklibc-dev
+Section: libdevel
+Architecture: any
+Depends: libklibc (= ${binary:Version}), linux-libc-dev, ${misc:Depends}
+Description: kernel headers used during the build of klibc
+ This package contains the set of kernel headers that were required to
+ build klibc and the utilities that ship with it.  This may or may
+ not be a complete enough set to build other programs that link against
+ klibc.  If in doubt, use real kernel headers instead.
+
+Package: libklibc
+Architecture: any
+Depends: ${misc:Depends}
+Description: minimal libc subset for use with initramfs
+ klibc is intended to be a minimalistic libc subset for use with
+ initramfs.  It is deliberately written for small size, minimal
+ entanglement, and portability, not speed.  It is definitely a work in
+ progress, and a lot of things are still missing.
+
+Package: klibc-utils
+Architecture: any
+Depends: libklibc (= ${binary:Version}), ${misc:Depends}
+Breaks: initramfs-tools (<< 0.103)
+Description: small utilities built with klibc for early boot
+ This package contains a collection of programs that are linked
+ against klibc. These duplicate some of the functionality of a
+ regular Linux toolset, but are typically much smaller than their
+ full-function counterparts.  They are intended for inclusion in
+ initramfs images and embedded systems.
+
+Package: klibc-utils-udeb
+Section: debian-installer
+Architecture: any
+Package-Type: udeb
+Depends: libklibc-udeb (= ${binary:Version}), ${misc:Depends}
+Description: small utilities built with klibc for early boot (d-i)
+ This package contains a collection of programs that are linked
+ against klibc. These duplicate some of the functionality of a
+ regular Linux toolset, but are typically much smaller than their
+ full-function counterparts.  They are intended for inclusion in
+ initramfs images and embedded systems.
+ .
+ This is the package for the Debian Installer.
+
+Package: klibc-utils-floppy-udeb
+Section: debian-installer
+Architecture: alpha armeb armel amd64 hppa i386 lpia m68k mips mipsel powerpc s390 sparc
+Package-Type: udeb
+Depends: libklibc-udeb (= ${binary:Version}), ${misc:Depends}
+Description: small utilities built with klibc for the boot floppy
+ This package contains a small collection of programs that are linked
+ against klibc. These duplicate some of the functionality of a
+ regular Linux toolset, but are typically much smaller than their
+ full-function counterparts.  They are intended for inclusion in
+ boot floppies.
+
+Package: libklibc-udeb
+Section: debian-installer
+Architecture: any
+Package-Type: udeb
+Depends: ${misc:Depends}
+Description: minimal libc subset for use with initramfs (d-i)
+ klibc is intended to be a minimalistic libc subset for use with
+ initramfs.  It is deliberately written for small size, minimal
+ entanglement, and portability, not speed.  It is definitely a work in
+ progress, and a lot of things are still missing.
+ .
+ This is the package for the Debian Installer.
diff --git a/copyright b/copyright
new file mode 100644 (file)
index 0000000..7b60024
--- /dev/null
+++ b/copyright
@@ -0,0 +1,56 @@
+This package was debianized by Jeff Bailey <jbailey@raspberryginger.com> on
+Sun, 23 Jan 2005 21:11:50 -0500.
+
+It was downloaded from http://www.kernel.org/pub/linux/libs/klibc/
+
+Copyright 2004-2006 H. Peter Anvin <hpa@zytor.com>
+
+License:
+
+BSD/GPL
+
+On Debian GNU/Linux systems, the complete text of the GNU General Public
+License v2 can be found in `/usr/share/common-licenses/GPL-2'.
+
+-- BSD license text
+
+Some files are derived from files copyrighted by the Regents of The
+University of California, and are available under the following
+license:
+
+Note: The advertising clause in the license appearing on BSD Unix
+files was officially rescinded by the Director of the Office of
+Technology Licensing of the University of California on July 22
+1999. He states that clause 3 is "hereby deleted in its entirety."
+
+ * Copyright (c)
+ *     The Regents of the University of California.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *     This product includes software developed by the University of
+ *     California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+
diff --git a/klibc-utils-floppy-udeb.install b/klibc-utils-floppy-udeb.install
new file mode 100644 (file)
index 0000000..79803ee
--- /dev/null
@@ -0,0 +1,7 @@
+debian/tmp/usr/lib/klibc/bin/cat
+debian/tmp/usr/lib/klibc/bin/cpio
+debian/tmp/usr/lib/klibc/bin/insmod
+debian/tmp/usr/lib/klibc/bin/mount
+debian/tmp/usr/lib/klibc/bin/run-init
+debian/tmp/usr/lib/klibc/bin/umount
+debian/tmp/usr/lib/klibc/bin/zcat
diff --git a/klibc-utils-udeb.install b/klibc-utils-udeb.install
new file mode 100644 (file)
index 0000000..cd457b5
--- /dev/null
@@ -0,0 +1 @@
+debian/tmp/usr/lib/klibc/bin/*
diff --git a/klibc-utils.install b/klibc-utils.install
new file mode 100644 (file)
index 0000000..c2ffaf3
--- /dev/null
@@ -0,0 +1,2 @@
+debian/tmp/usr/lib/klibc/bin/*
+debian/lintian/klibc-utils usr/share/lintian/overrides
diff --git a/klibc-utils.postinst b/klibc-utils.postinst
new file mode 100644 (file)
index 0000000..8f6e196
--- /dev/null
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+set -e
+
+if [ ! -L /usr/share/doc/klibc-utils ] && \
+[ -e /usr/share/doc/klibc-utils ]; then
+       rm -rf /usr/share/doc/klibc-utils
+       cd /usr/share/doc/
+       ln -sf libklibc /usr/share/doc/klibc-utils
+fi
+
+#DEBHELPER#
diff --git a/libklibc-dev.install b/libklibc-dev.install
new file mode 100644 (file)
index 0000000..0543417
--- /dev/null
@@ -0,0 +1,4 @@
+debian/tmp/usr/lib/klibc/include/*
+debian/tmp/usr/lib/klibc/lib/*
+debian/tmp/usr/bin/klcc*
+debian/lintian/libklibc-dev usr/share/lintian/overrides
diff --git a/libklibc-dev.manpages b/libklibc-dev.manpages
new file mode 100644 (file)
index 0000000..006f97c
--- /dev/null
@@ -0,0 +1 @@
+klcc/klcc.1
diff --git a/libklibc-dev.preinst b/libklibc-dev.preinst
new file mode 100644 (file)
index 0000000..9694ab2
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+set -e
+
+#DEBHELPER#
+
+BASEDIR=/usr/lib/klibc/include/
+# these are shipped symlinks to linux-libc-dev and not directories
+if [ -d ${BASEDIR}linux ] || [ -d ${BASEDIR}asm ]; then
+       rm -rf ${BASEDIR}linux ${BASEDIR}asm*
+fi
diff --git a/libklibc-udeb.install b/libklibc-udeb.install
new file mode 100644 (file)
index 0000000..8cd41ea
--- /dev/null
@@ -0,0 +1 @@
+debian/tmp/lib/klibc*.so
diff --git a/libklibc.docs b/libklibc.docs
new file mode 100644 (file)
index 0000000..fa8b07f
--- /dev/null
@@ -0,0 +1,4 @@
+README
+usr/klibc/README.klibc
+usr/klibc/arch/README.klibc.arch
+usr/kinit/ipconfig/README.ipconfig
diff --git a/libklibc.install b/libklibc.install
new file mode 100644 (file)
index 0000000..dd728c1
--- /dev/null
@@ -0,0 +1,2 @@
+debian/tmp/lib/klibc*.so
+debian/lintian/libklibc usr/share/lintian/overrides
diff --git a/lintian/klibc-utils b/lintian/klibc-utils
new file mode 100644 (file)
index 0000000..72e5b01
--- /dev/null
@@ -0,0 +1,2 @@
+klibc-utils: statically-linked-binary
+klibc-utils: embedded-zlib
diff --git a/lintian/libklibc b/lintian/libklibc
new file mode 100644 (file)
index 0000000..9ab08bb
--- /dev/null
@@ -0,0 +1,2 @@
+libklibc: statically-linked-binary
+libklibc: embedded-zlib
diff --git a/lintian/libklibc-dev b/lintian/libklibc-dev
new file mode 100644 (file)
index 0000000..bd22adb
--- /dev/null
@@ -0,0 +1,7 @@
+libklibc-dev: statically-linked-binary
+libklibc-dev: unstripped-binary-or-object
+libklibc-dev: embedded-zlib
+# lintian cannot check these; they are part of linux-libc-dev
+libklibc-dev: package-contains-broken-symlink usr/lib/klibc/include/asm *
+libklibc-dev: package-contains-broken-symlink usr/lib/klibc/include/asm-generic *
+libklibc-dev: package-contains-broken-symlink usr/lib/klibc/include/linux *
diff --git a/patches/Fix-minimal-mv-to-work-across-fs b/patches/Fix-minimal-mv-to-work-across-fs
new file mode 100644 (file)
index 0000000..484b1bb
--- /dev/null
@@ -0,0 +1,295 @@
+From a009e11bf6544c394b000d46a30daad77db8e7b5 Mon Sep 17 00:00:00 2001
+From: maximilian attems <max@stro.at>
+Date: Mon, 4 Jul 2011 17:51:52 +0200
+Subject: [PATCH] [klibc] Fix minimal mv to work across fs
+
+This is the use case in initramfs to keep data from /run to /root/run
+before calling switch_root().
+
+copy_file() doesn't yet catch EINTR, but that seems less of an issue
+in initramfs.
+
+copy_file() and much logic out of copy() is from Ulrich Dangel.
+Thank you for the collaboration on this blocker for
+http://bugs.debian.org/627808
+
+While we are it require move to have mv at least 2 arguments passed.
+
+Signed-off-by: Ulrich Dangel <uli@spamt.net>
+Signed-off-by: maximilian attems <max@stro.at>
+---
+ usr/utils/mv.c |  234 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
+ 1 files changed, 216 insertions(+), 18 deletions(-)
+
+Index: klibc-2.0~rc2/usr/utils/mv.c
+===================================================================
+--- klibc-2.0~rc2.orig/usr/utils/mv.c  2012-02-11 18:50:21.000000000 +0000
++++ klibc-2.0~rc2/usr/utils/mv.c       2012-02-11 19:04:54.000000000 +0000
+@@ -1,3 +1,6 @@
++#include <errno.h>
++#include <dirent.h>
++#include <fcntl.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -7,10 +10,204 @@
+ #include <linux/limits.h>
++#define BUFFER_SIZE 32768
++
++/* copy_file - copy a file, used on different fs mv */
++static int copy_file(const char *src, const char *dest, mode_t mode)
++{
++      char buf[BUFFER_SIZE];
++      int sfd, dfd;
++      ssize_t len;
++
++      sfd = open(src, O_RDONLY);
++      if (sfd < 0)
++              return -1;
++
++      dfd = open(dest, O_WRONLY | O_CREAT, mode);
++      if (dfd < 0) {
++              close(sfd);
++              return -1;
++      }
++
++      while ((len = read(sfd, buf, sizeof(buf))) > 0) {
++              len = write(dfd, buf, len);
++              if (len < 0) {
++                      close(sfd);
++                      close(dfd);
++                      return -1;
++              }
++      }
++
++      close(sfd);
++      close(dfd);
++      return 0;
++}
++
++/* copy - recursively copy directories */
++static int copy(char *src, const char *dest)
++{
++      int len;
++      struct stat sb, sf;
++      char target[PATH_MAX];
++      char *p;
++
++      p = strrchr(src, '/');
++      if (p) {
++              p++;
++              /* trailing slashes case */
++              if (strlen(p) == 0) {
++                      len = strlen(src) - 1;
++                      p = src;
++                      while (0 < len && p[len] == '/')
++                              p[len--] = '\0';
++                      p = strrchr(p, '/');
++                      p++;
++              }
++      } else {
++              p = src;
++      }
++
++      memset(&sb, 0, sizeof(struct stat));
++      /* might not exist yet */
++      if (stat(dest, &sb) == 0) {
++              if (S_ISDIR(sb.st_mode)) {
++                      len = snprintf(target, PATH_MAX, "%s/%s", dest, p);
++                      if (len  >= PATH_MAX)
++                              return -1;
++              } else {
++                      len = snprintf(target, PATH_MAX, "%s/%s", dest, src);
++                      if (len  >= PATH_MAX)
++                              return -1;
++              }
++      } else {
++              len = snprintf(target, PATH_MAX, "%s", dest);
++              if (len  >= PATH_MAX)
++                      return -1;
++      }
++
++      if (rename(src, target) == 0) {
++              return 0;
++      } else {
++              if (errno != EXDEV)
++                      return -1;
++      }
++
++
++      /* cross fs copy */
++      memset(&sf, 0, sizeof(struct stat));
++      if (stat(src, &sf) < 0)
++              return -1;
++      if (!S_ISDIR(sf.st_mode)) {
++              len = copy_file(src, target, sf.st_mode);
++              if (len == 0)
++                      return 0;
++              else
++                      return -1;
++      }
++
++      DIR *dir;
++      struct dirent *d;
++      char path[PATH_MAX];
++
++      if (mkdir(target, sf.st_mode) < 0)
++              return -1;
++
++      dir = opendir(src);
++      if (!dir) {
++              /* EACCES means we can't read it.
++               * Might be empty and removable. */
++              if (errno != EACCES)
++                      return -1;
++      }
++      while ((d = readdir(dir))) {
++
++              /* Skip . and .. */
++              if (d->d_name[0] == '.' && (d->d_name[1] == '\0'
++                  || (d->d_name[1] == '.' && d->d_name[2] == '\0')))
++                      continue;
++
++              /* skip to long path */
++              if (strlen(src) + 1 + strlen(d->d_name) >= PATH_MAX  - 1)
++                      continue;
++
++              snprintf(path, sizeof path, "%s/%s", src, d->d_name);
++              if (len  >= sizeof path)
++                      return -1;
++
++              memset(&sf, 0, sizeof(struct stat));
++              if (stat(path, &sf) < 0) {
++                      closedir(dir);
++                      return -1;
++              }
++
++              /* recursively copy files and directories */
++              if (copy(path, target) < 0)
++                      return -1;
++      }
++      closedir(dir);
++      return 0;
++}
++
++/* nuke - rm a file or directory recursively */
++static int nuke(const char *src)
++{
++      struct stat sb;
++      DIR *dir;
++      struct dirent *d;
++      char path[PATH_MAX];
++      int len;
++
++      memset(&sb, 0, sizeof(struct stat));
++      /* gone, no work */
++      if (stat(src, &sb) < 0)
++              return 0;
++
++      if (!S_ISDIR(sb.st_mode)) {
++              if (unlink(src) == 0)
++                      return 0;
++              else
++                      return 1;
++      }
++
++      dir = opendir(src);
++      if (!dir) {
++              /* EACCES means we can't read it.
++               * Might be empty and removable. */
++              if (errno != EACCES)
++                      return -1;
++      }
++      while ((d = readdir(dir))) {
++
++              /* Skip . and .. */
++              if (d->d_name[0] == '.' && (d->d_name[1] == '\0'
++                  || (d->d_name[1] == '.' && d->d_name[2] == '\0')))
++                      continue;
++
++              /* skip to long path */
++              if (strlen(src) + 1 + strlen(d->d_name) >= PATH_MAX  - 1)
++                      continue;
++
++              len = snprintf(path, sizeof path, "%s/%s", src, d->d_name);
++              if (len  >= sizeof path)
++                      return -1;
++
++              memset(&sb, 0, sizeof(struct stat));
++              if (stat(path, &sb) < 0) {
++                      closedir(dir);
++                      return -1;
++              }
++
++              if (nuke(path) < 0)
++                      return -1;
++      }
++      closedir(dir);
++      rmdir(src);
++      return 0;
++}
++
+ int main(int argc, char *argv[])
+ {
+       int c, f;
+-      char *p;
+       struct stat sb;
+       f = 0;
+@@ -32,11 +229,13 @@
+       } while (1);
+-      if (optind == argc) {
++      /* not enough arguments */
++      if (argc - optind < 2) {
+               fprintf(stderr, "Usage: %s [-f] source dest\n", argv[0]);
+               return 1;
+       }
++      /* check on many archs if destination is a directory to mv in */
+       memset(&sb, 0, sizeof(struct stat));
+       if (stat(argv[argc - 1], &sb) < 0 && argc - optind > 2) {
+               if (!(S_ISDIR(sb.st_mode))) {
+@@ -47,23 +246,22 @@
+               }
+       }
+-      for (c = optind; c < argc - 1; c++) {
+-              char target[PATH_MAX];
+-
+-              p = strrchr(argv[c], '/');
+-              p++;
+-
+-              if (S_ISDIR(sb.st_mode))
+-                      snprintf(target, PATH_MAX, "%s/%s", argv[argc - 1], p);
+-              else
+-                      snprintf(target, PATH_MAX, "%s", argv[argc - 1]);
+-
+-              if (f)
+-                      unlink(target);
+-
+-              if (rename(argv[c], target) == -1)
+-                      perror(target);
+-      }
++      /* remove destination */
++      if (f)
++              nuke(argv[argc - 1]);
++
++      /* the mv action */
++      for (c = optind; c < argc - 1; c++)
++              if (copy(argv[c], argv[argc - 1]) < 0) {
++                      perror("Could not copy file");
++                      return -1;
++              }
++      /* Only rm after sucessfull rename */
++      for (c = optind; c < argc - 1; c++)
++              if (nuke(argv[c]) < 0) {
++                      perror("Could not rm file");
++                      return -1;
++              }
+       return 0;
+ }
diff --git a/patches/ia64-static b/patches/ia64-static
new file mode 100644 (file)
index 0000000..8fa8e05
--- /dev/null
@@ -0,0 +1,94 @@
+Description: Use static tools on IA64
+ On IA64, the shared binaries do not work.
+
+Index: klibc-2.0~rc2/usr/dash/Kbuild
+===================================================================
+--- klibc-2.0~rc2.orig/usr/dash/Kbuild 2012-02-11 18:50:21.000000000 +0000
++++ klibc-2.0~rc2/usr/dash/Kbuild      2012-02-11 19:04:51.000000000 +0000
+@@ -93,4 +93,8 @@
+       $(Q):
+ # Targets to install
++ifeq ($(ARCH),ia64)
++install-y := sh
++else
+ install-y := sh.shared
++endif
+Index: klibc-2.0~rc2/usr/kinit/fstype/Kbuild
+===================================================================
+--- klibc-2.0~rc2.orig/usr/kinit/fstype/Kbuild 2012-02-11 18:45:44.000000000 +0000
++++ klibc-2.0~rc2/usr/kinit/fstype/Kbuild      2012-02-11 19:04:51.000000000 +0000
+@@ -22,4 +22,8 @@
+ clean-dirs := static shared
+ # install binary
++ifeq ($(ARCH),ia64)
++install-y := $(static-y)
++else
+ install-y := $(shared-y)
++endif
+Index: klibc-2.0~rc2/usr/kinit/ipconfig/Kbuild
+===================================================================
+--- klibc-2.0~rc2.orig/usr/kinit/ipconfig/Kbuild       2012-02-11 18:45:44.000000000 +0000
++++ klibc-2.0~rc2/usr/kinit/ipconfig/Kbuild    2012-02-11 19:04:51.000000000 +0000
+@@ -28,4 +28,8 @@
+ clean-dirs := static shared
+ # install binary
++ifeq ($(ARCH),ia64)
++install-y := $(static-y)
++else
+ install-y := $(shared-y)
++endif
+Index: klibc-2.0~rc2/usr/kinit/nfsmount/Kbuild
+===================================================================
+--- klibc-2.0~rc2.orig/usr/kinit/nfsmount/Kbuild       2012-02-11 18:45:44.000000000 +0000
++++ klibc-2.0~rc2/usr/kinit/nfsmount/Kbuild    2012-02-11 19:04:51.000000000 +0000
+@@ -24,4 +24,8 @@
+ clean-dirs := static shared
+ # Install binary
++ifeq ($(ARCH),ia64)
++install-y := $(static-y)
++else
+ install-y := $(shared-y)
++endif
+Index: klibc-2.0~rc2/usr/kinit/resume/Kbuild
+===================================================================
+--- klibc-2.0~rc2.orig/usr/kinit/resume/Kbuild 2012-02-11 18:45:44.000000000 +0000
++++ klibc-2.0~rc2/usr/kinit/resume/Kbuild      2012-02-11 19:04:51.000000000 +0000
+@@ -27,4 +27,8 @@
+ clean-dirs := static shared
+ # install binary
++ifeq ($(ARCH),ia64)
++install-y := $(static-y)
++else
+ install-y := $(shared-y)
++endif
+Index: klibc-2.0~rc2/usr/kinit/run-init/Kbuild
+===================================================================
+--- klibc-2.0~rc2.orig/usr/kinit/run-init/Kbuild       2012-02-11 18:50:21.000000000 +0000
++++ klibc-2.0~rc2/usr/kinit/run-init/Kbuild    2012-02-11 19:04:51.000000000 +0000
+@@ -26,4 +26,8 @@
+ clean-dirs := static shared
+ # install binary
++ifeq ($(ARCH),ia64)
++install-y := $(static-y)
++else
+ install-y := $(shared-y)
++endif
+Index: klibc-2.0~rc2/usr/utils/Kbuild
+===================================================================
+--- klibc-2.0~rc2.orig/usr/utils/Kbuild        2012-02-11 18:50:21.000000000 +0000
++++ klibc-2.0~rc2/usr/utils/Kbuild     2012-02-11 19:04:51.000000000 +0000
+@@ -73,4 +73,8 @@
+ clean-dirs := static shared
+ # install only install the shared binaries
++ifeq ($(ARCH),ia64)
++install-y := $(static-y) static/reboot static/poweroff
++else
+ install-y := $(shared-y) shared/reboot shared/poweroff
++endif
diff --git a/patches/implement-realpath.patch b/patches/implement-realpath.patch
new file mode 100644 (file)
index 0000000..97cad71
--- /dev/null
@@ -0,0 +1,81 @@
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Sat, 27 Sep 2014 15:04:15 +0100
+Subject: [klibc] Implement realpath()
+Bug-Debian: https://bugs.debian.org/763049
+
+This is needed as the basis for the readlink -f option.
+
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+---
+--- a/usr/include/stdlib.h
++++ b/usr/include/stdlib.h
+@@ -92,4 +92,6 @@ static __inline__ int grantpt(int __fd)
+       return 0;               /* devpts does this all for us! */
+ }
++__extern char *realpath(const char *, char *);
++
+ #endif                                /* _STDLIB_H */
+--- a/usr/klibc/Kbuild
++++ b/usr/klibc/Kbuild
+@@ -60,7 +60,7 @@ klib-y += vsnprintf.o snprintf.o vsprint
+         send.o recv.o \
+         access.o chmod.o chown.o dup2.o mknod.o poll.o rename.o stat.o \
+         lchown.o link.o rmdir.o unlink.o utimes.o lstat.o mkdir.o \
+-        readlink.o select.o symlink.o pipe.o \
++        readlink.o realpath.o select.o symlink.o pipe.o \
+         ctype/isalnum.o ctype/isalpha.o ctype/isascii.o \
+         ctype/isblank.o ctype/iscntrl.o ctype/isdigit.o \
+         ctype/isgraph.o ctype/islower.o ctype/isprint.o \
+--- /dev/null
++++ b/usr/klibc/realpath.c
+@@ -0,0 +1,49 @@
++#include <fcntl.h>
++#include <limits.h>
++#include <stdio.h>
++#include <stdlib.h>
++#include <sys/types.h>
++#include <unistd.h>
++
++/*
++ * Note that this requires name to refer to an existing file.  This is
++ * correct according to POSIX.  However, BSD and GNU implementations
++ * also allow name to refer to a non-existing file in an existing
++ * directory.
++ */
++
++char *realpath(const char *name, char *resolved_name)
++{
++      static const char proc_fd_prefix[] = "/proc/self/fd/";
++      char proc_fd_name[sizeof(proc_fd_prefix) + sizeof(int) * 3];
++      int allocated = 0;
++      int fd;
++      ssize_t len;
++
++      /* Open for path lookup only */
++      fd = open(name, O_PATH);
++      if (fd < 0)
++              return NULL;
++
++      if (!resolved_name) {
++              resolved_name = malloc(PATH_MAX);
++              if (!resolved_name)
++                      goto out_close;
++              allocated = 1;
++      }
++
++      /* Use procfs to read back the resolved name */
++      sprintf(proc_fd_name, "%s%d", proc_fd_prefix, fd);
++      len = readlink(proc_fd_name, resolved_name, PATH_MAX - 1);
++      if (len < 0) {
++              if (allocated)
++                      free(resolved_name);
++              resolved_name = NULL;
++      } else {
++              resolved_name[len] = 0;
++      }
++
++out_close:
++      close(fd);
++      return resolved_name;
++}
diff --git a/patches/insmod b/patches/insmod
new file mode 100644 (file)
index 0000000..8b9d65c
--- /dev/null
@@ -0,0 +1,171 @@
+revert upstream nuked insmod.
+utilized by d-i floppies, can be dropped once m-i-t
+packages an insmod/modprobe compiled against klibc.
+
+Index: klibc-2.0~rc2/usr/utils/Kbuild
+===================================================================
+--- klibc-2.0~rc2.orig/usr/utils/Kbuild        2012-02-11 19:04:51.000000000 +0000
++++ klibc-2.0~rc2/usr/utils/Kbuild     2012-02-11 19:04:53.000000000 +0000
+@@ -4,7 +4,7 @@
+ progs := chroot dd mkdir mkfifo mknod mount pivot_root umount
+ progs += true false sleep ln mv nuke minips cat ls losetup
+-progs += uname halt kill readlink cpio sync dmesg
++progs += insmod uname halt kill readlink cpio sync dmesg
+ static-y := $(addprefix static/, $(progs))
+ shared-y := $(addprefix shared/, $(progs))
+@@ -46,6 +46,8 @@
+ shared/minips-y     := minips.o
+ static/cat-y        := cat.o
+ shared/cat-y        := cat.o
++static/insmod-y     := insmod.o
++shared/insmod-y     := insmod.o
+ static/uname-y      := uname.o
+ shared/uname-y      := uname.o
+ static/halt-y       := halt.o
+Index: klibc-2.0~rc2/usr/utils/insmod.c
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ klibc-2.0~rc2/usr/utils/insmod.c   2012-02-11 19:04:53.000000000 +0000
+@@ -0,0 +1,140 @@
++/* insmod.c: insert a module into the kernel.
++    Copyright (C) 2001  Rusty Russell.
++    Copyright (C) 2002  Rusty Russell, IBM Corporation.
++
++    This program is free software; you can redistribute it and/or modify
++    it under the terms of the GNU General Public License as published by
++    the Free Software Foundation; either version 2 of the License, or
++    (at your option) any later version.
++
++    This program is distributed in the hope that it will be useful,
++    but WITHOUT ANY WARRANTY; without even the implied warranty of
++    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++    GNU General Public License for more details.
++
++    You should have received a copy of the GNU General Public License
++    along with this program; if not, write to the Free Software
++    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
++*/
++#include <stdio.h>
++#include <string.h>
++#include <stdlib.h>
++#include <unistd.h>
++#include <fcntl.h>
++#include <sys/mman.h>
++#include <sys/types.h>
++#include <sys/stat.h>
++#include <unistd.h>
++#include <errno.h>
++
++#define streq(a,b) (strcmp((a),(b)) == 0)
++
++/* This really needs to be in a header file... */
++extern long init_module(void *, unsigned long, const char *);
++
++static void print_usage(const char *progname)
++{
++      fprintf(stderr, "Usage: %s filename [args]\n", progname);
++      exit(1);
++}
++
++/* We use error numbers in a loose translation... */
++static const char *moderror(int err)
++{
++      switch (err) {
++      case ENOEXEC:
++              return "Invalid module format";
++      case ENOENT:
++              return "Unknown symbol in module";
++      case ESRCH:
++              return "Module has wrong symbol version";
++      case EINVAL:
++              return "Invalid parameters";
++      default:
++              return strerror(err);
++      }
++}
++
++static void *grab_file(const char *filename, unsigned long *size)
++{
++      unsigned int max = 16384;
++      int ret, fd;
++      void *buffer = malloc(max);
++
++      if (streq(filename, "-"))
++              fd = dup(STDIN_FILENO);
++      else
++              fd = open(filename, O_RDONLY, 0);
++
++      if (fd < 0)
++              return NULL;
++
++      *size = 0;
++      while ((ret = read(fd, buffer + *size, max - *size)) > 0) {
++              *size += ret;
++              if (*size == max)
++                      buffer = realloc(buffer, max *= 2);
++      }
++      if (ret < 0) {
++              free(buffer);
++              buffer = NULL;
++      }
++      close(fd);
++      return buffer;
++}
++
++int main(int argc, char *argv[])
++{
++      int i;
++      long int ret;
++      unsigned long len;
++      void *file;
++      char *filename, *options = strdup("");
++      char *progname = argv[0];
++
++      if (argv[1] && (streq(argv[1], "--version") || streq(argv[1], "-V"))) {
++              puts("klibc insmod");
++              exit(0);
++      }
++
++      /* Ignore old options, for backwards compat. */
++      while (argv[1] && (streq(argv[1], "-p")
++                         || streq(argv[1], "-s")
++                         || streq(argv[1], "-f"))) {
++              argv++;
++              argc--;
++      }
++
++      filename = argv[1];
++      if (!filename)
++              print_usage(progname);
++
++      /* Rest is options */
++      for (i = 2; i < argc; i++) {
++              options = realloc(options,
++                                strlen(options) + 2 + strlen(argv[i]) + 2);
++              /* Spaces handled by "" pairs, but no way of escaping
++                 quotes */
++              if (strchr(argv[i], ' '))
++                      strcat(options, "\"");
++              strcat(options, argv[i]);
++              if (strchr(argv[i], ' '))
++                      strcat(options, "\"");
++              strcat(options, " ");
++      }
++
++      file = grab_file(filename, &len);
++      if (!file) {
++              fprintf(stderr, "insmod: can't read '%s': %s\n",
++                      filename, strerror(errno));
++              exit(1);
++      }
++
++      ret = init_module(file, len, options);
++      if (ret != 0) {
++              fprintf(stderr, "insmod: error inserting '%s': %li %s\n",
++                      filename, ret, moderror(errno));
++              exit(1);
++      }
++      exit(0);
++}
diff --git a/patches/klibc-linux-libc-dev b/patches/klibc-linux-libc-dev
new file mode 100644 (file)
index 0000000..efd4674
--- /dev/null
@@ -0,0 +1,47 @@
+commit 43adf69062254fb4f8d4d11fb5fe36a60ae25d5a
+Author: Ben Hutchings <ben@decadent.org.uk>
+Date:   Sun Mar 14 18:41:56 2010 +0000
+
+    Fix klibc Debian specific build trouble
+    
+    Simply remove the headers_install invocation and rely on linux-libc-dev.
+    
+    With these changes:
+    
+    (the extra chmod was needed to allow for umask > 022) I could compile,
+    link and run this program:
+    
+    #include <unistd.h>
+    
+    int main(void)
+    {
+       write(1, "Hello world\n", 12);
+       return 0;
+    }
+    
+    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+    [ added multi arch support ]
+    Signed-off-by: Colin Watson <cjwatson@ubuntu.com>
+    Signed-off-by: maximilian attems <max@stro.at>
+    [ fixed cross building ]
+    Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
+
+Index: klibc-2.0~rc2/scripts/Kbuild.install
+===================================================================
+--- klibc-2.0~rc2.orig/scripts/Kbuild.install  2012-02-11 18:50:21.000000000 +0000
++++ klibc-2.0~rc2/scripts/Kbuild.install       2012-02-11 19:04:52.000000000 +0000
+@@ -95,7 +95,12 @@
+       $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
+       $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)lib
+       $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)bin
+-      $(Q)$(MAKE) -C $(KLIBCKERNELSRC) ARCH=$(KLIBCARCH) INSTALL_HDR_PATH=$(INSTALLROOT)$(INSTALLDIR)/$(KCROSS) headers_install
++      $(Q)for x in /usr/include/linux /usr/include/asm*; do \
++              ln -s $${x} $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/ || exit; \
++      done
++      $(Q)if [ -n "$(DEB_HOST_MULTIARCH)" ]; then \
++              ln -sf /usr/include/$(DEB_HOST_MULTIARCH)/asm $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/ || exit; \
++      fi
+       $(Q)cp -rf usr/include/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/.
+       $(Q)chmod -R a+rX $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
+       $(Q)$(install-data) $(srctree)/klcc/klcc.1 $(INSTALLROOT)$(mandir)/man1/$(KCROSS)klcc.1
diff --git a/patches/mips-update-archfcntl-h.patch b/patches/mips-update-archfcntl-h.patch
new file mode 100644 (file)
index 0000000..2842a88
--- /dev/null
@@ -0,0 +1,64 @@
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Sun, 05 Oct 2014 01:08:21 +0100
+Subject: [klibc] MIPS: Update archfcntl.h
+Bug-Debian: https://bugs.debian.org/763049
+
+Update usr/include/arch/mips/archfcntl.h from kernel headers:
+
+- Add definitions of O_PATH, O_TMPFILE
+- Update value of O_SYNC to include __O_SYNC
+- Add definitions of F_{SET,GET}OWN_EX, F_GETOWNER_UIDS,
+  F_OFD_{GETLK,SETLK,SETLKW}, F_OWNER_{TID,PID,PGRP}
+
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+---
+--- a/usr/include/arch/mips/klibc/archfcntl.h
++++ b/usr/include/arch/mips/klibc/archfcntl.h
+@@ -19,7 +19,6 @@
+ #define O_WRONLY      0x0001
+ #define O_RDWR                0x0002
+ #define O_APPEND      0x0008
+-#define O_SYNC                0x0010
+ #define O_NONBLOCK    0x0080
+ #define O_CREAT         0x0100
+ #define O_TRUNC               0x0200
+@@ -27,11 +26,14 @@
+ #define O_NOCTTY      0x0800
+ #define FASYNC                0x1000
+ #define O_LARGEFILE   0x2000
++#define O_SYNC                0x4010
+ #define O_DIRECT      0x8000
+ #define O_DIRECTORY   0x10000
+ #define O_NOFOLLOW    0x20000
+ #define O_NOATIME     0x40000
+ #define O_CLOEXEC     0x80000
++#define O_PATH                0x200000
++#define O_TMPFILE     0x410000
+ #define O_NDELAY      O_NONBLOCK
+@@ -53,6 +55,24 @@
+ #define F_SETLK64     34
+ #define F_SETLKW64    35
++#define F_SETOWN_EX   15
++#define F_GETOWN_EX   16
++
++#define F_GETOWNER_UIDS       17
++
++#define F_OFD_GETLK   36
++#define F_OFD_SETLK   37
++#define F_OFD_SETLKW  38
++
++#define F_OWNER_TID   0
++#define F_OWNER_PID   1
++#define F_OWNER_PGRP  2
++
++struct f_owner_ex {
++      int     type;
++      pid_t   pid;
++};
++
+ #define FD_CLOEXEC    1
+ #define F_RDLCK               0
diff --git a/patches/mount-implement-o-defaults.patch b/patches/mount-implement-o-defaults.patch
new file mode 100644 (file)
index 0000000..30b57a3
--- /dev/null
@@ -0,0 +1,28 @@
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Sat, 4 Oct 2014 16:32:39 +0100
+Subject: mount: Implement -o defaults
+Bug-Debian: https://bugs.debian.org/763049
+
+This is needed to support mounting non-root filesystems in
+initramfs-tools.
+
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+---
+--- a/usr/utils/mount_opts.c
++++ b/usr/utils/mount_opts.c
+@@ -89,8 +89,13 @@ parse_mount_options(char *arg, unsigned
+                               break;
+               }
+-              if (res != 0 && s[0])
+-                      add_extra_option(extra, opt);
++              if (res != 0 && s[0]) {
++                      if (!strcmp(opt, "defaults"))
++                              rwflag &= ~(MS_RDONLY|MS_NOSUID|MS_NODEV|
++                                          MS_NOEXEC|MS_SYNCHRONOUS);
++                      else
++                              add_extra_option(extra, opt);
++              }
+       }
+       return rwflag;
diff --git a/patches/multiarch-include-path b/patches/multiarch-include-path
new file mode 100644 (file)
index 0000000..01bcc97
--- /dev/null
@@ -0,0 +1,39 @@
+Description: Include the multiarch include directory in klcc's path
+ The multiarch include directory, /usr/include/<triplet>, needs to be
+ explicitly added to klcc's path; without this, klcc is incompatible
+ with recent Ubuntu versions of linux-libc-dev and fails to find any asm/
+ headers.
+ .
+ This change is safe to apply on non-multiarch-enabled systems, since
+ $(DEB_HOST_MULTIARCH) will evaluate empty.  However, upstreaming should
+ probably wait until we have a way to get this path information in a
+ vendor-neutral manner.
+Author: Steve Langasek <steve.langasek@linaro.org>
+
+Index: klibc-2.0~rc2/klcc/Kbuild
+===================================================================
+--- klibc-2.0~rc2.orig/klcc/Kbuild     2012-02-11 18:45:42.000000000 +0000
++++ klibc-2.0~rc2/klcc/Kbuild  2012-02-11 19:04:53.000000000 +0000
+@@ -26,6 +26,7 @@
+       $(Q)echo 'bindir=$(INSTALLDIR)/$(KCROSS)bin' >> $@
+       $(Q)echo 'libdir=$(INSTALLDIR)/$(KCROSS)lib' >> $@
+       $(Q)echo 'includedir=$(INSTALLDIR)/$(KCROSS)include' >> $@
++      $(Q)echo 'multiarch_path=$(DEB_HOST_MULTIARCH)' >> $@
+ # Generate klcc
+Index: klibc-2.0~rc2/klcc/klcc.in
+===================================================================
+--- klibc-2.0~rc2.orig/klcc/klcc.in    2012-02-11 18:50:21.000000000 +0000
++++ klibc-2.0~rc2/klcc/klcc.in 2012-02-11 19:04:53.000000000 +0000
+@@ -7,6 +7,10 @@
+            "-I${prefix}/${KCROSS}include/bits${BITSIZE}",
+            "-I${prefix}/${KCROSS}include");
++if ($multiarch_path ne '') {
++      unshift(@includes, "-I${prefix}/${KCROSS}include/${multiarch_path}");
++}
++
+ # Default optimization options (for compiles without -g)
+ @optopt =  @OPTFLAGS;
+ @goptopt = ('-O');
diff --git a/patches/ppc64-static b/patches/ppc64-static
new file mode 100644 (file)
index 0000000..6c42e0f
--- /dev/null
@@ -0,0 +1,94 @@
+Description: Use static tools on ppc64
+ On ppc64, the shared binaries do not work either.
+
+Index: klibc-2.0~rc2/usr/dash/Kbuild
+===================================================================
+--- klibc-2.0~rc2.orig/usr/dash/Kbuild 2012-02-11 19:04:51.000000000 +0000
++++ klibc-2.0~rc2/usr/dash/Kbuild      2012-02-11 19:04:51.000000000 +0000
+@@ -93,7 +93,7 @@
+       $(Q):
+ # Targets to install
+-ifeq ($(ARCH),ia64)
++ifneq (,$(filter $(ARCH),ia64 ppc64))
+ install-y := sh
+ else
+ install-y := sh.shared
+Index: klibc-2.0~rc2/usr/kinit/fstype/Kbuild
+===================================================================
+--- klibc-2.0~rc2.orig/usr/kinit/fstype/Kbuild 2012-02-11 19:04:51.000000000 +0000
++++ klibc-2.0~rc2/usr/kinit/fstype/Kbuild      2012-02-11 19:04:51.000000000 +0000
+@@ -22,7 +22,7 @@
+ clean-dirs := static shared
+ # install binary
+-ifeq ($(ARCH),ia64)
++ifneq (,$(filter $(ARCH),ia64 ppc64))
+ install-y := $(static-y)
+ else
+ install-y := $(shared-y)
+Index: klibc-2.0~rc2/usr/kinit/ipconfig/Kbuild
+===================================================================
+--- klibc-2.0~rc2.orig/usr/kinit/ipconfig/Kbuild       2012-02-11 19:04:51.000000000 +0000
++++ klibc-2.0~rc2/usr/kinit/ipconfig/Kbuild    2012-02-11 19:04:51.000000000 +0000
+@@ -28,7 +28,7 @@
+ clean-dirs := static shared
+ # install binary
+-ifeq ($(ARCH),ia64)
++ifneq (,$(filter $(ARCH),ia64 ppc64))
+ install-y := $(static-y)
+ else
+ install-y := $(shared-y)
+Index: klibc-2.0~rc2/usr/kinit/nfsmount/Kbuild
+===================================================================
+--- klibc-2.0~rc2.orig/usr/kinit/nfsmount/Kbuild       2012-02-11 19:04:51.000000000 +0000
++++ klibc-2.0~rc2/usr/kinit/nfsmount/Kbuild    2012-02-11 19:04:51.000000000 +0000
+@@ -24,7 +24,7 @@
+ clean-dirs := static shared
+ # Install binary
+-ifeq ($(ARCH),ia64)
++ifneq (,$(filter $(ARCH),ia64 ppc64))
+ install-y := $(static-y)
+ else
+ install-y := $(shared-y)
+Index: klibc-2.0~rc2/usr/kinit/resume/Kbuild
+===================================================================
+--- klibc-2.0~rc2.orig/usr/kinit/resume/Kbuild 2012-02-11 19:04:51.000000000 +0000
++++ klibc-2.0~rc2/usr/kinit/resume/Kbuild      2012-02-11 19:04:51.000000000 +0000
+@@ -27,7 +27,7 @@
+ clean-dirs := static shared
+ # install binary
+-ifeq ($(ARCH),ia64)
++ifneq (,$(filter $(ARCH),ia64 ppc64))
+ install-y := $(static-y)
+ else
+ install-y := $(shared-y)
+Index: klibc-2.0~rc2/usr/kinit/run-init/Kbuild
+===================================================================
+--- klibc-2.0~rc2.orig/usr/kinit/run-init/Kbuild       2012-02-11 19:04:51.000000000 +0000
++++ klibc-2.0~rc2/usr/kinit/run-init/Kbuild    2012-02-11 19:04:51.000000000 +0000
+@@ -26,7 +26,7 @@
+ clean-dirs := static shared
+ # install binary
+-ifeq ($(ARCH),ia64)
++ifneq (,$(filter $(ARCH),ia64 ppc64))
+ install-y := $(static-y)
+ else
+ install-y := $(shared-y)
+Index: klibc-2.0~rc2/usr/utils/Kbuild
+===================================================================
+--- klibc-2.0~rc2.orig/usr/utils/Kbuild        2012-02-11 19:04:51.000000000 +0000
++++ klibc-2.0~rc2/usr/utils/Kbuild     2012-02-11 19:04:51.000000000 +0000
+@@ -73,7 +73,7 @@
+ clean-dirs := static shared
+ # install only install the shared binaries
+-ifeq ($(ARCH),ia64)
++ifneq (,$(filter $(ARCH),ia64 ppc64))
+ install-y := $(static-y) static/reboot static/poweroff
+ else
+ install-y := $(shared-y) shared/reboot shared/poweroff
diff --git a/patches/ppc64el-load-toc-syscall-stub.patch b/patches/ppc64el-load-toc-syscall-stub.patch
new file mode 100644 (file)
index 0000000..8c4d798
--- /dev/null
@@ -0,0 +1,55 @@
+Subject: [klibc] [PATCH] ppc64: ELFv2: Load TOC value in system call stub
+Origin: http://www.zytor.com/pipermail/klibc/2014-September/003603.html
+
+This fixes a segmentation fault in the system call's error handling path with
+dynamically-linked binaries on PowerPC64 little endian.  The system call stub
+wasn't loading up r2 with the appropriate TOC value in its global entry point.
+
+The r2 setup code comes from the FUNC_START macro in gcc [1] and an equivalent
+one can also be found in the LOCALENTRY macro in glibc [2].
+
+On the ELFv2 ABI (see [1]):
+ - The global entry point is expected to load up r2 with the appropriate TOC
+   value for this function.
+ - The local entry point expects r2 to be set up to the current TOC.
+
+The problem happened with dynamically-linked binaries because:
+ - the system call is an indirect call (via global entry point) from the binary
+   to the shared library, landing in the syscall stub  (which didn't load up r2
+   with the TOC of the shared library)
+ - its branch to __syscall_error is a direct call (via local entry point) within
+   the shared library, landing in the function (which expects r2 to be set up to
+   that TOC)
+ - when the function attempts to store errno (in an address relative to the TOC),
+   that address incorrectly pointed to a read-only segment -- segmentation fault.
+
+The problem didn't happen with statically-linked binaries because the TOC value
+wasn't different on that case.
+
+Thanks and credits to Alan Modra and Ulrich Weigand, for helping with this and
+pointing out the solution.
+
+[1] https://gcc.gnu.org/ml/gcc-patches/2013-11/msg01141.html
+[2] https://www.sourceware.org/ml/libc-alpha/2013-11/msg00315.html
+
+Signed-off-by: Mauricio Faria de Oliveira <mauricfo at linux.vnet.ibm.com>
+---
+ usr/klibc/arch/ppc64/sysstub.ph |    3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/usr/klibc/arch/ppc64/sysstub.ph b/usr/klibc/arch/ppc64/sysstub.ph
+index b3f6e38..a0c6d41 100644
+--- a/usr/klibc/arch/ppc64/sysstub.ph
++++ b/usr/klibc/arch/ppc64/sysstub.ph
+@@ -18,6 +18,9 @@ sub make_sysstub($$$$$@) {
+ #if _CALL_ELF == 2
+       .type ${fname},\@function
+ ${fname}:
++0:    addis   2,12,(.TOC.-0b)\@ha
++      addi    2,2,(.TOC.-0b)\@l
++      .localentry ${fname},.-${fname}
+ #else
+       .section ".opd","aw"
+       .balign 8
+-- 
+1.7.1
diff --git a/patches/readlink-add-f-option.patch b/patches/readlink-add-f-option.patch
new file mode 100644 (file)
index 0000000..f15ebd8
--- /dev/null
@@ -0,0 +1,62 @@
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Sat, 27 Sep 2014 15:18:21 +0100
+Subject: readlink: Add -f option
+Bug-Debian: https://bugs.debian.org/763049
+
+This is needed to support mounting non-root filesystems in
+initramfs-tools.
+
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+---
+--- a/usr/utils/readlink.c
++++ b/usr/utils/readlink.c
+@@ -7,24 +7,45 @@ const char *progname;
+ static __noreturn usage(void)
+ {
+-      fprintf(stderr, "Usage: %s link...\n", progname);
++      fprintf(stderr, "Usage: %s [-f] link...\n", progname);
+       exit(1);
+ }
+ int main(int argc, char *argv[])
+ {
++      int c, f_flag = 0;
+       const char *name;
+       char link_name[PATH_MAX];
+       int rv;
+       int i;
+-      progname = *argv++;
++      progname = argv[0];
+-      if (argc < 2)
++      do {
++              c = getopt(argc, argv, "f");
++              if (c == EOF)
++                      break;
++              switch (c) {
++              case 'f':
++                      f_flag = 1;
++                      break;
++
++              case '?':
++                      fprintf(stderr, "%s: invalid option -%c\n",
++                              progname, optopt);
++                      usage();
++              }
++      } while (1);
++
++      if (optind == argc)
+               usage();
++      argv += optind;
+       while ((name = *argv++)) {
+-              rv = readlink(name, link_name, sizeof link_name - 1);
++              if (f_flag)
++                      rv = realpath(name, link_name) ? strlen(link_name) : -1;
++              else
++                      rv = readlink(name, link_name, sizeof link_name - 1);
+               if (rv < 0) {
+                       perror(name);
+                       exit(1);
diff --git a/patches/series b/patches/series
new file mode 100644 (file)
index 0000000..9124ba9
--- /dev/null
@@ -0,0 +1,11 @@
+ia64-static
+ppc64-static
+klibc-linux-libc-dev
+insmod
+multiarch-include-path
+Fix-minimal-mv-to-work-across-fs
+ppc64el-load-toc-syscall-stub.patch
+implement-realpath.patch
+readlink-add-f-option.patch
+mount-implement-o-defaults.patch
+mips-update-archfcntl-h.patch
diff --git a/rules b/rules
new file mode 100755 (executable)
index 0000000..fa3308e
--- /dev/null
+++ b/rules
@@ -0,0 +1,84 @@
+#!/usr/bin/make -f
+
+# let debhelper be verbose
+#export DH_VERBOSE=1
+
+DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH)
+export DEB_HOST_MULTIARCH := $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+
+ifeq ($(DEB_HOST_ARCH),armel)
+DEB_MAKE_ENVVARS := ARCH=arm CONFIG_AEABI=y
+endif
+ifeq ($(DEB_HOST_ARCH),armhf)
+DEB_MAKE_ENVVARS := ARCH=arm CONFIG_AEABI=y CPU_ARCH=armv7-a CPU_TUNE=cortex-a8 CONFIG_KLIBC_THUMB=y
+endif
+ifeq ($(DEB_HOST_ARCH),ia64)
+DEB_MAKE_ENVVARS := ARCH=ia64
+endif
+ifeq ($(DEB_HOST_ARCH),i386)
+DEB_MAKE_ENVVARS := ARCH=i386
+endif
+ifeq ($(DEB_HOST_ARCH),sparc)
+DEB_MAKE_ENVVARS := ARCH=sparc
+endif
+ifeq ($(DEB_HOST_ARCH),s390)
+DEB_MAKE_ENVVARS := ARCH=s390
+endif
+ifeq ($(DEB_HOST_ARCH),powerpc)
+ARCH=ppc
+endif
+ifneq (,$(findstring $(DEB_HOST_ARCH),mips mipsel))
+DEB_MAKE_ENVVARS := ARCH=mips
+endif
+ifeq ($(DEB_HOST_ARCH),sh4)
+DEB_MAKE_ENVVARS := ARCH=sh
+endif
+ifeq ($(DEB_HOST_ARCH),ppc64)
+DEB_MAKE_ENVVARS := ARCH=ppc64
+endif
+
+DEB_MAKE_ENVVARS := INSTALLROOT=debian/tmp $(DEB_MAKE_ENVVARS)
+
+DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+DEB_HOST_GNU_TYPE  := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
+    DEB_MAKE_ENVVARS += CROSS_COMPILE=$(DEB_HOST_GNU_TYPE)-
+endif
+
+
+# Enable this to get verbose build information
+DEB_MAKE_ENVVARS += KBUILD_VERBOSE=1
+
+%:
+       dh $@ --link-doc=libklibc
+
+override_dh_auto_build:
+       if [ ! -e linux ]; then \
+               rm -rf linux/include; \
+               mkdir -p linux/include; \
+               ln -s /usr/include/linux linux/include; \
+               INC_PATH="/usr/include/asm*"; \
+               if [ -n "$(DEB_HOST_MULTIARCH)" ]; then \
+                       INC_PATH="$${INC_PATH} /usr/include/$(DEB_HOST_MULTIARCH)/asm*"; \
+                       INC_PATH="$${INC_PATH} /usr/$(DEB_HOST_MULTIARCH)/include/asm*"; \
+               fi; \
+               for x in $${INC_PATH}; do \
+                       if [ -e $${x} ] ; then \
+                               ln -sf $${x} linux/include; \
+                       fi; \
+               done \
+       fi
+       make all $(DEB_MAKE_ENVVARS)
+
+override_dh_auto_clean:
+       rm -rf linux
+       MAKEFLAGS="$(DEB_MAKE_ENVVARS)" dh_auto_clean
+
+override_dh_auto_install:
+       make install $(DEB_MAKE_ENVVARS)
+
+override_dh_auto_test:
+       make test $(DEB_MAKE_ENVVARS)
+
+override_dh_fixperms:
+       dh_fixperms -Xklibc-
diff --git a/source/format b/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/watch b/watch
new file mode 100644 (file)
index 0000000..4fa98a3
--- /dev/null
+++ b/watch
@@ -0,0 +1,2 @@
+version=3
+http://www.kernel.org/pub/linux/libs/klibc/2.0/klibc-([0-9.]+).tar.bz2