summaryrefslogtreecommitdiffstats
path: root/kernel/patch_kernel
blob: f5b800bbbbb9bf1cec40b6e74c2c06d77c79e997 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/bash

# set -e

kconfig() {
	file=$1/net/ipv4/netfilter/Kconfig
	if [ "`grep 'config IP_NF_SET' $file`" ]; then
		return
	fi
	mv $file $file.orig
	grep -v endmenu $file.orig > $file
	cat Kconfig.ipset >> $file
	echo "endmenu" >> $file
}

makefile() {
	file=$1/net/ipv4/netfilter/Makefile
	if [ "`grep CONFIG_IP_NF_SET $file`" ]; then
		return
	fi
	cp $file $file.orig
	cat Makefile.ipset >> $file
}

tree() {
	cp include/linux/netfilter_ipv4/* $1/include/linux/netfilter_ipv4/
	cp *.c $1/net/ipv4/netfilter/
}

if [ -z "$1" ]; then
	echo "Error: missing kernel directory parameter."
	exit 1
fi
if [ ! -f $1/net/ipv4/netfilter/Kconfig ]; then
	echo "Error: the directory $1 doesn't look like a Linux 2.6.x kernel source tree."
	exit 1
fi

tree $1
kconfig $1
makefile $1