From 69d23faa38a79785de3a158be445b8c7841884aa Mon Sep 17 00:00:00 2001 From: thuermann Date: Mon, 19 Mar 2007 13:03:37 +0000 Subject: [PATCH] Add a quick'n'dirty script to generate a kernel patch file. Needs a list of files to be added on stdin and currently also a diff file for the kernel version the patch is to be generated for. git-svn-id: svn://svn.berlios.de//socketcan/trunk@185 030b6a49-0b11-0410-94ab-b0dab22257f2 --- FILES-2.6 | 30 ++++++++++++++++++++++++++++ Makefile | 12 +++++++++++ mkpatch | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 101 insertions(+) create mode 100644 FILES-2.6 create mode 100644 Makefile create mode 100755 mkpatch diff --git a/FILES-2.6 b/FILES-2.6 new file mode 100644 index 0000000..6330839 --- /dev/null +++ b/FILES-2.6 @@ -0,0 +1,30 @@ +kernel/2.6/net/can/Kconfig +kernel/2.6/net/can/Makefile.kernel Makefile +kernel/2.6/net/can/af_can.c +kernel/2.6/net/can/af_can.h +kernel/2.6/net/can/proc.c +kernel/2.6/net/can/raw.c +kernel/2.6/net/can/bcm.c +kernel/2.6/include/linux/can.h +kernel/2.6/include/linux/can/core.h +kernel/2.6/include/linux/can/version.h +kernel/2.6/include/linux/can/error.h +kernel/2.6/include/linux/can/raw.h +kernel/2.6/include/linux/can/bcm.h +#kernel/2.6/include/linux/can/ioctl.h +#kernel/2.6/include/linux/can/dev.h +kernel/2.6/drivers/net/can/Kconfig.kernel Kconfig +kernel/2.6/drivers/net/can/Makefile.kernel Makefile +kernel/2.6/drivers/net/can/vcan.c +#kernel/2.6/drivers/net/can/slcan.c +#kernel/2.6/drivers/net/can/mscan/Makefile +#kernel/2.6/drivers/net/can/mscan/mpc52xx_can.c +#kernel/2.6/drivers/net/can/mscan/mscan.c +#kernel/2.6/drivers/net/can/mscan/mscan.h +#kernel/2.6/drivers/net/can/sja1000/Makefile +#kernel/2.6/drivers/net/can/sja1000/isa.c +#kernel/2.6/drivers/net/can/sja1000/mem.c +#kernel/2.6/drivers/net/can/sja1000/proc.c +#kernel/2.6/drivers/net/can/sja1000/sja1000.c +#kernel/2.6/drivers/net/can/sja1000/sja1000.h +#kernel/2.6/drivers/net/can/sja1000/trajet-gw2.c diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..94031e8 --- /dev/null +++ b/Makefile @@ -0,0 +1,12 @@ +# +# $Id$ +# + +VERSION = $(shell awk '/^VERSION/ {print $$3}' $(KERNELDIR)/Makefile) +PATCHLEVEL = $(shell awk '/^PATCHLEVEL/ {print $$3}' $(KERNELDIR)/Makefile) +SUBLEVEL = $(shell awk '/^SUBLEVEL/ {print $$3}' $(KERNELDIR)/Makefile) +EXTRAVERSION = $(shell awk '/^EXTRAVERSION/{print $$3}' $(KERNELDIR)/Makefile) +KERNELRELEASE = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) + +patch26: + ./mkpatch $(KERNELRELEASE) >patch-$(KERNELRELEASE)-socketcan < FILES-2.6 diff --git a/mkpatch b/mkpatch new file mode 100755 index 0000000..a6fbc70 --- /dev/null +++ b/mkpatch @@ -0,0 +1,59 @@ +#!/usr/bin/perl +# +# $Id$ +# +# Generate a kernel patch to add socketcan to a kernel src tree. +# The list of files to be added is read from stdin. + +$version = shift; + +if (-r "patches/$version.diff") { + copy_file("patches/$version.diff"); +} + +while (<>) { + next if (/^#/); + my ($file, $n) = split; + my ($name); + if ($n eq "") { + $name = $file; + } else { + $name = $file; + $name =~ s/[^\/]*$/$n/; + } + $name =~ s/[^\/]*\/[^\/]*\///; + + add_file($file, $name); +} + +close FILES; + +sub copy_file { + my ($file) = @_; + + open file, "$file" || die "open $file\n"; + while () { + print; + } + close file; +} + +sub add_file { + my ($file, $name) = @_; + my (@lines, $count, $ts, $mtime); + + open file, "./kv $version $file |" || die "open $file\n"; + @lines = ; + $count = $#lines + 1; + use POSIX qw(strftime); + $mtime = (stat($file))[9]; + $ts = strftime "%F %T", gmtime((stat($file))[9]); + + print "--- a/$name 1970-01-01 00:00:00\n"; + print "+++ b/$name $ts\n"; + print "@@ -0,0 +1,$count @@\n"; + for (@lines) { + print "+$_"; + } + close file; +} -- 2.39.2