--- ksplice-0.9.9.orig/debian/README.source +++ ksplice-0.9.9/debian/README.source @@ -0,0 +1,2 @@ +This package uses quilt for patch management, for more information see +the file /usr/share/doc/quilt/README.source in the quilt package. --- ksplice-0.9.9.orig/debian/changelog +++ ksplice-0.9.9/debian/changelog @@ -0,0 +1,148 @@ +ksplice (0.9.9-5) unstable; urgency=medium + + * Fix POD build failure, patch from Jiri Slab (Closes: #724179) + * Add libiberty-dev build-dep + + -- Luca Bruno Sun, 19 Jan 2014 09:54:57 +0100 + +ksplice (0.9.9-4) unstable; urgency=low + + * Avoid passing libraries in LDFLAGS, use LIBS instead (Closes: #608693) + * Add armhf support (Closes: #604539) + * Bumped Standards-Version to 3.9.1 + * Fixed previously missing misc:Depends + + -- Luca Bruno Sun, 13 Feb 2011 11:07:36 +0100 + +ksplice (0.9.9-3) unstable; urgency=high + + * Statically link against libbfd (Closes: #606282) + * Ensure compatibility with Debian 2.6.32 stock kernel + + -- Luca Bruno Sun, 12 Dec 2010 11:52:16 +0100 + +ksplice (0.9.9-2) unstable; urgency=medium + + * Medium urgency upload, as -1 got build from a wrong branch + * Added git-buildpackage custom config for this package repo + * Removed revision from binutils-dev build-dep, now backport-friendly + + -- Luca Bruno Mon, 31 Aug 2009 17:10:48 +0200 + +ksplice (0.9.9-1) unstable; urgency=low + + * New upstream version + + Fixed installation to a prefix other than /usr/local (Closes: #542319) + * Updated Standards-Version to 3.8.3 + + Added debian/README.source + * Versioned binutils-dev build-dep, even if dynamic linking should be + avoided (Closes: #543041) + + -- Luca Bruno Sat, 29 Aug 2009 20:03:12 +0200 + +ksplice (0.9.8-1) unstable; urgency=low + + * New upstream version + + Updated Ksplice for kernel 2.6.30 + * Updated Standards-Version to 3.8.2 + + -- Luca Bruno Sat, 25 Jul 2009 13:27:19 +0200 + +ksplice (0.9.7-1) unstable; urgency=low + + * New upstream version + + Fixed a wrong-addressed relocations issue + + Avoid double core compilation + * Bumped Standards-Version to 3.8.1 (no changes needed) + + -- Luca Bruno Sat, 14 Mar 2009 11:06:42 +0100 + +ksplice (0.9.6-1) unstable; urgency=low + + * New upstream version + + Fix various modules build failures (Closes: #515052) + + -- Luca Bruno Thu, 26 Feb 2009 22:11:31 +0100 + +ksplice (0.9.5-1) unstable; urgency=low + + * New upstream version + + Added option to build Ksplice updates from Git commits + * debian/rules: Avoid double configuration when calling patch target + + -- Luca Bruno Tue, 03 Feb 2009 11:32:51 +0100 + +ksplice (0.9.4-1) unstable; urgency=low + + * New upstream version + + More detailed metadata for update tarballs + + Updated for kernel 2.6.28 + + -- Luca Bruno Sat, 29 Nov 2008 16:09:55 +0100 + +ksplice (0.9.3-1) unstable; urgency=low + + * New upstream version + + Added patching of bug table entries whose line numbers changed + + Added hooks for various points of the process + + Now capable of building series of updates + + -- Luca Bruno Sun, 16 Nov 2008 18:56:07 +0100 + +ksplice (0.9.2-1) unstable; urgency=low + + * New upstream version + + Improved performances + + Improved the udis86 kernel disassembler + + Added support for kernels with text mapped read-only + * New website, updating all references + + -- Luca Bruno Wed, 12 Nov 2008 16:33:28 +0100 + +ksplice (0.9.1-1) unstable; urgency=low + + * New usptream version + + Various safety improvements + + -- Luca Bruno Tue, 04 Nov 2008 10:29:43 +0100 + +ksplice (0.9.0-1) unstable; urgency=low + + * New upstream version + + Added support for ARM architecture + + Switched the module control interface from /proc to /sys + + Switched the preferred debugging interface from printk to debugfs + * Updated Standards-version to 3.8.0 + + -- Luca Bruno Sat, 20 Sep 2008 22:50:58 +0200 + +ksplice (0.8.7-1) unstable; urgency=low + + * New upstream version + + Updated for binutils 2.18 + + Support proper 64 bit relocations + + -- Luca Bruno Fri, 27 Jun 2008 09:40:46 +0200 + +ksplice (0.8.6-1) unstable; urgency=low + + * New upstream version + + Code cleanup + * Added upstream ChangeLog + + -- Luca Bruno Thu, 05 Jun 2008 08:46:30 +0200 + +ksplice (0.8.5-1) unstable; urgency=medium + + * New upstream version + + Improved System.map handling + + Improved stack check debugging + * Added debian/watch + + -- Luca Bruno Wed, 04 Jun 2008 09:29:58 +0200 + +ksplice (0.8.4-1) unstable; urgency=low + + * Initial release (Closes: #478036) + + -- Luca Bruno Tue, 29 Apr 2008 12:16:49 +0200 --- ksplice-0.9.9.orig/debian/compat +++ ksplice-0.9.9/debian/compat @@ -0,0 +1 @@ +5 --- ksplice-0.9.9.orig/debian/control +++ ksplice-0.9.9/debian/control @@ -0,0 +1,24 @@ +Source: ksplice +Section: admin +Priority: optional +Vcs-Git: git://git.debian.org/git/collab-maint/ksplice.git +Vcs-Browser: http://git.debian.org/?p=collab-maint/ksplice.git +Maintainer: Luca Bruno +Build-Depends: debhelper (>= 5.0), binutils-dev (>=2.19.51.20090827), quilt, + rsync, zlib1g-dev, libiberty-dev +Build-Conflicts: binutils-multiarch +Standards-Version: 3.9.1 +Homepage: http://ksplice.com + +Package: ksplice +Architecture: i386 amd64 arm armel armhf +Depends: ${misc:Depends}, ${shlibs:Depends}, perl, gcc | c-compiler, patch, rsync +Description: Patching live kernel without having to reboot + Ksplice allows system administrators to apply security patches to the + Linux kernel without having to reboot. Ksplice takes as input a source + code change in unified diff format and the kernel source code to be + patched, and it applies the patch to the corresponding running kernel. + The running kernel does not need to have been prepared in advance in any + way. + + --- ksplice-0.9.9.orig/debian/copyright +++ ksplice-0.9.9/debian/copyright @@ -0,0 +1,33 @@ +Format-Specification: http://wiki.debian.org/Proposals/CopyrightFormat +Debianized-By: Luca Bruno +Debianized-Date: Tue, 29 Apr 2008 11:48:20 +0200 +Original-Source: http://ksplice.com/software + +Files: * +Copyright: © 2008 Jeffrey Brian Arnold +License: GPL-2 + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License, version 2. + +Files: ./objmanip.* +Copyright: © 1991-2006 Free Software Foundation, Inc. + © 2008 Jeffrey Brian Arnold +License: GPL-2 + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License, version 2. + +Files: ./gendiff-reversed +Copyright: © 2008 Jeffrey Brian Arnold + © 2008 Marc Ewing +License: GPL-any + # This version of gendiff has been modified for Ksplice. + # gendiff was originally written by Marc Ewing , + # and it is available under the GNU General Public License. + +Files: debian/* +Copyright: © 2008 Luca Bruno +License: PD + The Debian packaging is licensed under Public Domain. + +On Debian systems, the complete text of the GNU General Public License +can be found in `/usr/share/common-licenses/GPL-2' --- ksplice-0.9.9.orig/debian/docs +++ ksplice-0.9.9/debian/docs @@ -0,0 +1 @@ +README --- ksplice-0.9.9.orig/debian/gbp.conf +++ ksplice-0.9.9/debian/gbp.conf @@ -0,0 +1,9 @@ +[DEFAULT] +upstream-tag = upstream/%(version)s +debian-tag = debian/%(version)s +pristine-tar = True + +[git-import-orig] +upstream-branch = upstream +debian-branch = master + --- ksplice-0.9.9.orig/debian/patches/amd64-thread_return.diff +++ ksplice-0.9.9/debian/patches/amd64-thread_return.diff @@ -0,0 +1,64 @@ +From c59aacc49f7183f1a31b0379abfe5430c1d746ee Mon Sep 17 00:00:00 2001 +From: Anders Kaseorg +Date: Wed, 26 Aug 2009 15:51:22 -0400 +Subject: [PATCH 1/3] Fix KSPLICE_IP for new x86-64 kernels. + +Even though struct thread_struct.ip is present after 2.6.25 as a +result of the x86 unification, it is still not used for x86-64; the +context switching macro always begins execution at thread_return. +(See the definitions of switch_to in arch/x86/include/asm/system.h.) +This unused field was removed for 2.6.31 under !CONFIG_X86_32 by +commit 0c23590f00f85467b318ad0c20c36796a5bd4c60. + +Signed-off-by: Anders Kaseorg +--- + kmodsrc/x86/ksplice-arch.c | 25 +++++++++++++++++-------- + 1 files changed, 17 insertions(+), 8 deletions(-) + +diff --git a/kmodsrc/x86/ksplice-arch.c b/kmodsrc/x86/ksplice-arch.c +index 4ba55e6..2eb1ae5 100644 +--- a/kmodsrc/x86/ksplice-arch.c ++++ b/kmodsrc/x86/ksplice-arch.c +@@ -15,22 +15,31 @@ + * 02110-1301, USA. + */ + +-#if defined(_ASM_X86_PROCESSOR_H) || \ +- defined(__ASM_X86_PROCESSOR_H) /* New unified x86 */ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) ++ ++#ifdef CONFIG_X86_64 ++extern const char thread_return[]; ++EXTRACT_SYMBOL(thread_return); ++#define KSPLICE_IP(x) ((unsigned long)thread_return) ++#else /* !CONFIG_X86_64 */ + #define KSPLICE_IP(x) ((x)->thread.ip) ++#endif /* CONFIG_X86_64 */ + #define KSPLICE_SP(x) ((x)->thread.sp) +-#elif defined(CONFIG_X86_64) /* Old x86 64-bit */ +-/* The IP is on the stack, so we don't need to check it separately. +- * Instead, we need to prevent Ksplice from patching thread_return. +- */ ++ ++#else /* LINUX_VERSION_CODE < */ ++/* faca62273b602ab482fb7d3d940dbf41ef08b00e was after 2.6.24 */ ++ ++#ifdef CONFIG_X86_64 + extern const char thread_return[]; + EXTRACT_SYMBOL(thread_return); + #define KSPLICE_IP(x) ((unsigned long)thread_return) + #define KSPLICE_SP(x) ((x)->thread.rsp) +-#else /* Old x86 32-bit */ ++#else /* !CONFIG_X86_64 */ + #define KSPLICE_IP(x) ((x)->thread.eip) + #define KSPLICE_SP(x) ((x)->thread.esp) +-#endif /* __ASM_X86_PROCESSOR_H */ ++#endif /* CONFIG_X86_64 */ ++ ++#endif /* LINUX_VERSION_CODE */ + + #ifndef CONFIG_FUNCTION_DATA_SECTIONS + #include "udis86.h" +-- +1.7.2.3 + --- ksplice-0.9.9.orig/debian/patches/ftrace-config.diff +++ ksplice-0.9.9/debian/patches/ftrace-config.diff @@ -0,0 +1,64 @@ +From 907f103b979437c16d1b6d4f24a9c828aaa7f12c Mon Sep 17 00:00:00 2001 +From: Anders Kaseorg +Date: Wed, 26 Aug 2009 17:36:28 -0400 +Subject: [PATCH 2/3] Test CONFIG_FUNCTION_TRACER instead of CONFIG_FTRACE. + +The part of ftrace that includes mcount and ftrace_trace_function was +split out of CONFIG_FTRACE as CONFIG_FUNCTION_TRACER for 2.6.28. + +Signed-off-by: Anders Kaseorg +--- + kmodsrc/x86/ksplice-arch.c | 14 +++++++++----- + 1 files changed, 9 insertions(+), 5 deletions(-) + +diff --git a/kmodsrc/x86/ksplice-arch.c b/kmodsrc/x86/ksplice-arch.c +index 2eb1ae5..64203ef 100644 +--- a/kmodsrc/x86/ksplice-arch.c ++++ b/kmodsrc/x86/ksplice-arch.c +@@ -43,13 +43,17 @@ EXTRACT_SYMBOL(thread_return); + + #ifndef CONFIG_FUNCTION_DATA_SECTIONS + #include "udis86.h" +-#ifdef CONFIG_FTRACE ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28) && defined(CONFIG_FTRACE) ++/* 606576ce816603d9fe1fb453a88bc6eea16ca709 was after 2.6.27 */ ++#define CONFIG_FUNCTION_TRACER 1 ++#endif /* LINUX_VERSION_CODE && CONFIG_FTRACE */ ++#ifdef CONFIG_FUNCTION_TRACER + #include + #include + + extern ftrace_func_t ftrace_trace_function; + EXTRACT_SYMBOL(ftrace_trace_function); +-#endif /* CONFIG_FTRACE */ ++#endif /* CONFIG_FUNCTION_TRACER */ + + #define N_BITS(n) ((n) < sizeof(long) * 8 ? ~(~0L << (n)) : ~0L) + +@@ -581,7 +585,7 @@ static void initialize_ksplice_ud(struct ud *ud) + ud_set_vendor(ud, UD_VENDOR_ANY); + } + +-#ifdef CONFIG_FTRACE ++#ifdef CONFIG_FUNCTION_TRACER + static bool is_mcount_call(struct ud *ud, const unsigned char *addr) + { + const void *target = +@@ -591,12 +595,12 @@ static bool is_mcount_call(struct ud *ud, const unsigned char *addr) + return true; + return false; + } +-#else /* !CONFIG_FTRACE */ ++#else /* !CONFIG_FUNCTION_TRACER */ + static bool is_mcount_call(struct ud *ud, const unsigned char *addr) + { + return false; + } +-#endif /* CONFIG_FTRACE */ ++#endif /* CONFIG_FUNCTION_TRACER */ + + static bool is_nop(struct ud *ud, const unsigned char *addr) + { +-- +1.7.2.3 + --- ksplice-0.9.9.orig/debian/patches/kernel-markers.diff +++ ksplice-0.9.9/debian/patches/kernel-markers.diff @@ -0,0 +1,39 @@ +From f9dcfc1e44460c5958ed165ae1c8de0cf7f94d7d Mon Sep 17 00:00:00 2001 +From: Timo Juhani Lindfors +Date: Sun, 12 Dec 2010 00:46:25 +0200 +Subject: [PATCH] Linux kernel markers are no longer available in 2.6.32 + +Signed-off-by: Timo Juhani Lindfors +--- + kmodsrc/offsets.c | 6 ++++-- + 1 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/kmodsrc/offsets.c b/kmodsrc/offsets.c +index 67cc2fa..83ec0ac 100644 +--- a/kmodsrc/offsets.c ++++ b/kmodsrc/offsets.c +@@ -33,8 +33,9 @@ + #define paravirt_patch_site paravirt_patch + #endif /* LINUX_VERSION_CODE */ + #endif /* CONFIG_PARAVIRT */ +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)) && (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32)) + /* 8256e47cdc8923e9959eb1d7f95d80da538add80 was after 2.6.23 */ ++/* fc5377668c3d808e1d53c4aee152c836f55c3490 was before 2.6.32 */ + #include + #endif /* LINUX_VERSION_CODE */ + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28) +@@ -111,8 +112,9 @@ const struct table_section table_sections[] + .other_sect = ".fixup", + .other_offset = offsetof(struct exception_table_entry, fixup), + }, +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)) && (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32)) + /* 8256e47cdc8923e9959eb1d7f95d80da538add80 was after 2.6.23 */ ++/* fc5377668c3d808e1d53c4aee152c836f55c3490 was before 2.6.32 */ + { + .sect = "__markers", + .entry_size = sizeof(struct marker), +-- +1.7.2.3 + --- ksplice-0.9.9.orig/debian/patches/pod.diff +++ ksplice-0.9.9/debian/patches/pod.diff @@ -0,0 +1,32 @@ +From d2f0a159f4528cf932b7a276e38c9cfddc1281c4 Mon Sep 17 00:00:00 2001 +From: Jiri Slaby +Date: Fri, 19 Jul 2013 13:46:12 +0200 +Subject: [PATCH] do not build pod from files without pod + +There are two helpers wihtout pod in them, but we try to build it with +a failure: +pod2man: unable to format Ksplice.pm + +Remove those from the worklist. + +Signed-off-by: Jiri Slaby +--- + Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.in b/Makefile.in +index 2af48c3..4f42371 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -20,7 +20,7 @@ KSPLICE_API_VERSION = @KSPLICE_API_VERSION@ + PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ + + perl_primary = ksplice-create ksplice-view ksplice-apply ksplice-undo Ksplice.pm ksplice-obj.pl +-perl_man = $(patsubst %,%.8,$(perl_primary)) ++perl_man = $(patsubst %,%.8,$(filter-out Ksplice.pm ksplice-obj.pl,$(perl_primary))) + objutils = objmanip inspect kernel-utsname + itab = kmodsrc/x86/libudis86/itab.h kmodsrc/x86/libudis86/itab.c + +-- +1.8.5.1 + --- ksplice-0.9.9.orig/debian/patches/series +++ ksplice-0.9.9/debian/patches/series @@ -0,0 +1,4 @@ +amd64-thread_return.diff +ftrace-config.diff +kernel-markers.diff +pod.diff --- ksplice-0.9.9.orig/debian/rules +++ ksplice-0.9.9/debian/rules @@ -0,0 +1,74 @@ +#!/usr/bin/make -f +# -*- makefile -*- + +include /usr/share/quilt/quilt.make + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +# These are used for cross-compiling and for saving the configure script +# from having to guess our platform (since we know it already) +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) + +CFLAGS = -Wall -g + +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) + CFLAGS += -O0 +else + CFLAGS += -O2 +endif + +config.status: $(QUILT_STAMPFN) + dh_testdir + ./configure --host=$(DEB_HOST_GNU_TYPE) \ + --build=$(DEB_BUILD_GNU_TYPE) \ + --prefix=/usr \ + --libexecdir=/usr/lib \ + --with-libbfd='$${prefix}/lib/libbfd.a' \ + CFLAGS="$(CFLAGS)" \ + LDFLAGS="-Wl,-z,defs" \ + LIBS="-ldl" + +build: build-stamp + +build-stamp: config.status + dh_testdir + $(MAKE) + touch $@ + +clean: unpatch + dh_testdir + dh_testroot + rm -f build-stamp + [ ! -f Makefile ] || $(MAKE) clean + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + $(MAKE) DESTDIR=$(CURDIR)/debian/ksplice install + +binary-indep: build install + +binary-arch: build install + dh_testdir + dh_testroot + dh_installchangelogs ChangeLog + dh_installdocs + dh_link + dh_strip + dh_compress + dh_fixperms + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch + +.PHONY: build clean binary-indep binary-arch binary install + --- ksplice-0.9.9.orig/debian/watch +++ ksplice-0.9.9/debian/watch @@ -0,0 +1,2 @@ +version=3 +http://ksplice.com/dist/ksplice-(.*)-src.tar.gz