All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 2/2] update in-tree headers automatically
@ 2005-11-13 17:34 Pablo Neira
  2005-11-14 14:38 ` Harald Welte
  0 siblings, 1 reply; 2+ messages in thread
From: Pablo Neira @ 2005-11-13 17:34 UTC (permalink / raw)
  To: Netfilter Development Mailinglist; +Cc: Harald Welte

[-- Attachment #1: Type: text/plain, Size: 296 bytes --]

This patch add the ability to copy and mangle the kernel headers
required by libnfnetlink and libnetfilter_[queue|log|conntrack] at
autogen.sh stage.

-- 
The dawn of the fourth age of Linux firewalling is coming; a time of
great struggle and heroic deeds -- J.Kadlecsik got inspired by J.Morris

[-- Attachment #2: autogen.patch --]
[-- Type: text/plain, Size: 5016 bytes --]

Index: libnfnetlink/autogen.sh
===================================================================
--- libnfnetlink/autogen.sh	(revision 4511)
+++ libnfnetlink/autogen.sh	(working copy)
@@ -1,5 +1,24 @@
 #!/bin/sh
 
+include ()
+{
+    # If we keep a copy of the kernel header in the SVN tree, we'll have
+    # to worry about synchronization issues forever. Instead, we just copy 
+    # the headers that we need from the lastest kernel version at autogen
+    # stage.
+
+    INCLUDEDIR=/lib/modules/`uname -r`/build/include/linux
+    if [ -f $INCLUDEDIR/netfilter/nfnetlink.h ]
+    then
+    	TARGET=include/libnfnetlink/linux_nfnetlink.h
+    	echo "Copying nfnetlink.h to linux_nfnetlink.h"
+    	cp $INCLUDEDIR/netfilter/nfnetlink.h $TARGET
+    else
+    	echo "can't find nfnetlink.h kernel file"
+    	exit 1
+    fi
+}
+
 run ()
 {
     echo "running: $*"
@@ -11,6 +30,7 @@
     fi
 }
 
+include
 run aclocal
 #run autoheader
 run libtoolize -f
Index: libnetfilter_conntrack/autogen.sh
===================================================================
--- libnetfilter_conntrack/autogen.sh	(revision 4511)
+++ libnetfilter_conntrack/autogen.sh	(working copy)
@@ -1,5 +1,27 @@
 #!/bin/sh
 
+include ()
+{
+    # If we keep a copy of the kernel header in the SVN tree, we'll have
+    # to worry about synchronization issues forever. Instead, we just copy 
+    # the headers that we need from the lastest kernel version at autogen
+    # stage.
+
+    INCLUDEDIR=/lib/modules/`uname -r`/build/include/linux
+    if [ -f $INCLUDEDIR/netfilter/nfnetlink_conntrack.h ]
+    then
+    	TARGET=include/libnetfilter_conntrack/linux_nfnetlink_conntrack.h
+    	echo "Copying nfnetlink_conntrack.h to linux_nfnetlink_conntrack.h"
+    	cp $INCLUDEDIR/netfilter/nfnetlink_conntrack.h $TARGET
+	TEMP=`tempfile`
+	sed 's/linux\/netfilter\/nfnetlink.h/libnfnetlink\/linux_nfnetlink.h/g' $TARGET > $TEMP
+	mv $TEMP $TARGET
+    else
+    	echo "can't find nfnetlink_conntrack.h kernel file"
+    	exit 1
+    fi
+}
+
 run ()
 {
     echo "running: $*"
@@ -11,6 +33,7 @@
     fi
 }
 
+include
 run aclocal
 run libtoolize -f
 #run autoheader
Index: libnetfilter_queue/autogen.sh
===================================================================
--- libnetfilter_queue/autogen.sh	(revision 4511)
+++ libnetfilter_queue/autogen.sh	(working copy)
@@ -1,5 +1,39 @@
 #!/bin/sh
 
+include ()
+{
+    # If we keep a copy of the kernel header in the SVN tree, we'll have
+    # to worry about synchronization issues forever. Instead, we just copy 
+    # the headers that we need from the lastest kernel version at autogen
+    # stage.
+
+    INCLUDEDIR=/lib/modules/`uname -r`/build/include/linux
+    if [ -f $INCLUDEDIR/netfilter/nfnetlink_queue.h ]
+    then
+    	TARGET=include/libnetfilter_queue/linux_nfnetlink_queue.h
+    	echo "Copying nfnetlink_queue.h to linux_nfnetlink_queue.h"
+    	cp $INCLUDEDIR/netfilter/nfnetlink_queue.h $TARGET
+	TEMP=`tempfile`
+	sed 's/linux\/netfilter\/nfnetlink.h/libnfnetlink\/linux_nfnetlink.h/g' $TARGET > $TEMP
+	# Add aligned_u64 definition after #define _NFNETLINK_QUEUE_H
+	awk '{
+        if ( $0 == "#define _NFNETLINK_QUEUE_H" ) {
+		print $0
+		getline
+		print $0
+		print "#ifndef aligned_u64"
+		print "#define aligned_u64 unsigned long long __attribute__((aligned(8)))"
+		print "#endif"
+	}
+
+	print $0
+	}' $TEMP > $TARGET
+    else
+    	echo "can't find nfnetlink_queue.h kernel file"
+    	exit 1
+    fi
+}
+
 run ()
 {
     echo "running: $*"
@@ -11,6 +45,7 @@
     fi
 }
 
+include
 run libtoolize
 run aclocal
 #run autoheader
Index: libnetfilter_log/autogen.sh
===================================================================
--- libnetfilter_log/autogen.sh	(revision 4511)
+++ libnetfilter_log/autogen.sh	(working copy)
@@ -1,5 +1,39 @@
 #!/bin/sh
 
+include ()
+{
+    # If we keep a copy of the kernel header in the SVN tree, we'll have
+    # to worry about synchronization issues forever. Instead, we just copy 
+    # the headers that we need from the lastest kernel version at autogen
+    # stage.
+
+    INCLUDEDIR=/lib/modules/`uname -r`/build/include/linux
+    if [ -f $INCLUDEDIR/netfilter/nfnetlink_log.h ]
+    then
+    	TARGET=include/libnetfilter_log/linux_nfnetlink_log.h
+    	echo "Copying nfnetlink_log.h to linux_nfnetlink_log.h"
+    	cp $INCLUDEDIR/netfilter/nfnetlink_log.h $TARGET
+	TEMP=`tempfile`
+	sed 's/linux\/netfilter\/nfnetlink.h/libnfnetlink\/linux_nfnetlink.h/g' $TARGET > $TEMP
+	# Add aligned_u64 definition after #define _NFNETLINK_LOG_H
+	awk '{
+        if ( $0 == "#define _NFNETLINK_LOG_H" ) {
+		print $0
+		getline
+		print $0
+		print "#ifndef aligned_u64"
+		print "#define aligned_u64 unsigned long long __attribute__((aligned(8)))"
+		print "#endif"
+	}
+
+	print $0
+	}' $TEMP > $TARGET
+    else
+    	echo "can't find nfnetlink_log.h kernel file"
+    	exit 1
+    fi
+}
+
 run ()
 {
     echo "running: $*"
@@ -11,6 +45,7 @@
     fi
 }
 
+include
 run aclocal
 #run autoheader
 run libtoolize -f

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2005-11-14 14:38 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-11-13 17:34 [PATCH 2/2] update in-tree headers automatically Pablo Neira
2005-11-14 14:38 ` Harald Welte

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.