r602 - in trunk: dhcp linux

jim at linuxfromscratch.org jim at linuxfromscratch.org
Sun Aug 1 01:32:20 PDT 2004


Author: jim
Date: 2004-08-01 02:32:19 -0600 (Sun, 01 Aug 2004)
New Revision: 602

Added:
   trunk/dhcp/dhcp-3.0.1_iproute2-1.patch
Removed:
   trunk/linux/linux-2.6.7-build_on_osx-1.patch
Log:
Added: dhcp-3.0.1_iproute2-1.patch Removed:linux-2.6.7-build_on_osx-1.patch

Added: trunk/dhcp/dhcp-3.0.1_iproute2-1.patch
===================================================================
--- trunk/dhcp/dhcp-3.0.1_iproute2-1.patch	2004-07-30 23:07:06 UTC (rev 601)
+++ trunk/dhcp/dhcp-3.0.1_iproute2-1.patch	2004-08-01 08:32:19 UTC (rev 602)
@@ -0,0 +1,208 @@
+Submitted By: BLFS Book
+Date: 2004-07-31
+Initial Package Version: 3.0.1
+Origin: Jim Gifford
+Upstream Status: N/A
+Description: Fixes dhclient-script to work with iproute2
+
+
+diff -Naur dhcp-3.0.1-orig/client/scripts/linux dhcp-3.0.1/client/scripts/linux
+--- dhcp-3.0.1-orig/client/scripts/linux	2002-11-14 19:09:09.000000000 -0600
++++ dhcp-3.0.1/client/scripts/linux	2004-07-31 22:08:46.205463208 -0500
+@@ -1,26 +1,16 @@
+ #!/bin/bash
+ # dhclient-script for Linux. Dan Halbert, March, 1997.
+ # Updated for Linux 2.[12] by Brian J. Murrell, January 1999.
+-# No guarantees about this. I'm a novice at the details of Linux
+-# networking.
++
++# Updated to iproute2 by Jim Gifford (scripts at jg555.com)
+ 
+ # Notes:
+ 
+ # 0. This script is based on the netbsd script supplied with dhcp-970306.
+ 
+-# 1. ifconfig down apparently deletes all relevant routes and flushes
+-# the arp cache, so this doesn't need to be done explicitly.
+-
+-# 2. The alias address handling here has not been tested AT ALL.
+-# I'm just going by the doc of modern Linux ip aliasing, which uses
+-# notations like eth0:0, eth0:1, for each alias.
+-
+-# 3. I have to calculate the network address, and calculate the broadcast
+-# address if it is not supplied. This might be much more easily done
+-# by the dhclient C code, and passed on.
++# 1. This script was modified to work with iproute2
+ 
+-# 4. TIMEOUT not tested. ping has a flag I don't know, and I'm suspicious
+-# of the $1 in its args.
++# 2. cidr_convert based on a script by Kevin Fleming (kpfleming at linuxfromscratch.org)
+ 
+ make_resolv_conf() {
+   if [ "x$new_domain_name" != x ] && [ x"$new_domain_name_servers" != x ]; then
+@@ -32,6 +22,30 @@
+   fi
+ }
+ 
++dec2binary()
++{
++    local n=$1
++    local ret=""
++    while [ $n != 0 ]; do
++        ret=$[$n%2]$ret
++        n=$[$n>>1]
++    done
++    echo $ret
++}
++
++mask_to_binary()
++{
++    echo `dec2binary $1``dec2binary $2``dec2binary $3``dec2binary $4`
++}
++
++cidr_convert()
++{
++	netmask=$1
++        local mask=`mask_to_binary ${netmask//./ }`
++        mask=${mask%%0*}
++        cidr=${#mask}
++}
++
+ # Must be used on exit.   Invokes the local dhcp client exit hooks, if any.
+ exit_with_hooks() {
+   exit_status=$1
+@@ -65,13 +79,12 @@
+   old_broadcast_arg="broadcast $old_broadcast_address"
+ fi
+ if [ x$new_subnet_mask != x ]; then
+-  new_subnet_arg="netmask $new_subnet_mask"
++  cidr_convert $new_subnet_mask
++  new_subnet_arg="$cidr"
+ fi
+ if [ x$old_subnet_mask != x ]; then
+-  old_subnet_arg="netmask $old_subnet_mask"
+-fi
+-if [ x$alias_subnet_mask != x ]; then
+-  alias_subnet_arg="netmask $alias_subnet_mask"
++  cidr_convert $old_subnet_mask
++  old_subnet_arg="$cidr"
+ fi
+ 
+ if [ x$reason = xMEDIUM ]; then
+@@ -82,16 +95,16 @@
+ if [ x$reason = xPREINIT ]; then
+   if [ x$alias_ip_address != x ]; then
+     # Bring down alias interface. Its routes will disappear too.
+-    ifconfig $interface:0- inet 0
++    ip link set $interface down
+   fi
+   if [ $relmajor -lt 2 ] || ( [ $relmajor -eq 2 ] && [ $relminor -eq 0 ] )
+    then
+-    ifconfig $interface inet 0.0.0.0 netmask 0.0.0.0 \
+-		broadcast 255.255.255.255 up
++    ip link set $interface up
++    ip addr add 0.0.0.0/32 broadcast 255.255.255.255 label $interface dev $interface
+     # Add route to make broadcast work. Do not omit netmask.
+-    route add default dev $interface netmask 0.0.0.0
++    ip route add default dev $interface
+   else
+-    ifconfig $interface 0 up
++    ip link set $interface up
+   fi
+ 
+   # We need to give the kernel some time to get the interface up.
+@@ -115,83 +128,52 @@
+     fi
+   fi
+     
+-  if [ x$old_ip_address != x ] && [ x$alias_ip_address != x ] && \
+-		[ x$alias_ip_address != x$old_ip_address ]; then
+-    # Possible new alias. Remove old alias.
+-    ifconfig $interface:0- inet 0
+-  fi
+   if [ x$old_ip_address != x ] && [ x$old_ip_address != x$new_ip_address ]; then
+     # IP address changed. Bringing down the interface will delete all routes,
+     # and clear the ARP cache.
+-    ifconfig $interface inet 0 down
+-
++    ip link set $interface down
+   fi
+   if [ x$old_ip_address = x ] || [ x$old_ip_address != x$new_ip_address ] || \
+      [ x$reason = xBOUND ] || [ x$reason = xREBOOT ]; then
+ 
+-    ifconfig $interface inet $new_ip_address $new_subnet_arg \
+-							$new_broadcast_arg
++    ip link set $interface up
++    ip addr add $new_ip_address/$new_subnet_arg $new_broadcast_arg label $interface dev $interface
+     # Add a network route to the computed network address.
+     if [ $relmajor -lt 2 ] || \
+ 		( [ $relmajor -eq 2 ] && [ $relminor -eq 0 ] ); then
+-      route add -net $new_network_number $new_subnet_arg dev $interface
++      ip route add via $new_network_number/$new_subnet_arg dev $interface
+     fi
+     for router in $new_routers; do
+-      route add default gw $router
++      ip route add default via $router
+     done
+   fi
+-  if [ x$new_ip_address != x$alias_ip_address ] && [ x$alias_ip_address != x ];
+-   then
+-    ifconfig $interface:0- inet 0
+-    ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg
+-    route add -host $alias_ip_address $interface:0
+-  fi
+   make_resolv_conf
+   exit_with_hooks 0
+ fi
+ 
+ if [ x$reason = xEXPIRE ] || [ x$reason = xFAIL ] || [ x$reason = xRELEASE ] \
+    || [ x$reason = xSTOP ]; then
+-  if [ x$alias_ip_address != x ]; then
+-    # Turn off alias interface.
+-    ifconfig $interface:0- inet 0
+-  fi
+   if [ x$old_ip_address != x ]; then
+     # Shut down interface, which will delete routes and clear arp cache.
+-    ifconfig $interface inet 0 down
+-  fi
+-  if [ x$alias_ip_address != x ]; then
+-    ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg
+-    route add -host $alias_ip_address $interface:0
++    ip link set $interface down
+   fi
+   exit_with_hooks 0
+ fi
+ 
+ if [ x$reason = xTIMEOUT ]; then
+-  if [ x$alias_ip_address != x ]; then
+-    ifconfig $interface:0- inet 0
+-  fi
+-  ifconfig $interface inet $new_ip_address $new_subnet_arg \
+-					$new_broadcast_arg
++  ip link set $interface eup
++  ip addr set $new_ip_address/$new_subnet_arg $new_broadcast_arg label $interface dev $interface
+   set $new_routers
+-  ############## what is -w in ping?
+-  if ping -q -c 1 $1; then
+-    if [ x$new_ip_address != x$alias_ip_address ] && \
+-			[ x$alias_ip_address != x ]; then
+-      ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg
+-      route add -host $alias_ip_address dev $interface:0
+-    fi
+     if [ $relmajor -lt 2 ] || \
+ 		( [ $relmajor -eq 2 ] && [ $relminor -eq 0 ] ); then
+-      route add -net $new_network_number
++      ip route add $new_network_number dev $interface
+     fi
+     for router in $new_routers; do
+-      route add default gw $router
++      ip route add default via $router
+     done
+     make_resolv_conf
+     exit_with_hooks 0
+-  fi
+-  ifconfig $interface inet 0 down
++  ip link set $interface down
+   exit_with_hooks 1
+ fi
+ 

Deleted: trunk/linux/linux-2.6.7-build_on_osx-1.patch
===================================================================
--- trunk/linux/linux-2.6.7-build_on_osx-1.patch	2004-07-30 23:07:06 UTC (rev 601)
+++ trunk/linux/linux-2.6.7-build_on_osx-1.patch	2004-08-01 08:32:19 UTC (rev 602)
@@ -1,78 +0,0 @@
-Submitted By: Martin Schaffner <schaffner at gmx.li>
-Date: 2004-06-19
-Initial Package Version: 2.6.7
-Upstream Status: Not submitted
-Origin: Martin Schaffner
-Description: Enables build in Mac OS X environment
-
-diff -ur linux-2.6.6/Makefile l266mod/Makefile
---- linux-2.6.6/Makefile	Mon May 10 03:32:53 2004
-+++ l266mod/Makefile	Fri May 21 17:07:37 2004
-@@ -195,7 +195,7 @@
- 
- HOSTCC  	= gcc
- HOSTCXX  	= g++
--HOSTCFLAGS	= -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer
-+HOSTCFLAGS	= -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -idirafter `$(CC) -print-file-name=include`/../../../../../?????*/include/ # for elf.h
- HOSTCXXFLAGS	= -O2
- 
- # 	Decide whether to build built-in, modular, or both.
-diff -ur linux-2.6.6/scripts/Makefile.build l266mod/scripts/Makefile.build
---- linux-2.6.6/scripts/Makefile.build	Mon May 10 03:33:13 2004
-+++ l266mod/scripts/Makefile.build	Fri May 21 16:48:09 2004
-@@ -343,15 +343,17 @@
- 
- # Compile .c file, create position independent .o file
- # host-cshobjs -> .o
--quiet_cmd_host-cshobjs	= HOSTCC  -fPIC $@
--      cmd_host-cshobjs	= $(HOSTCC) $(hostc_flags) -fPIC -c -o $@ $<
-+quiet_cmd_host-cshobjs	= HOSTCC -fPIC -fno-common $@
-+      cmd_host-cshobjs	= $(HOSTCC) $(hostc_flags) -fPIC -fno-common -c -o $@ $<
- $(host-cshobjs): %.o: %.c FORCE
- 	$(call if_changed_dep,host-cshobjs)
- 
- # Link a shared library, based on position independent .o files
- # *.o -> .so shared library (host-cshlib)
-+SHARED_SWITCH = `if $(HOSTCC) -dM -E - < /dev/null | grep -q APPLE; \
-+		then echo "-dynamiclib"; else echo "-shared"; fi`
- quiet_cmd_host-cshlib	= HOSTLLD -shared $@
--      cmd_host-cshlib	= $(HOSTCC) $(HOSTLDFLAGS) -shared -o $@ \
-+      cmd_host-cshlib	= $(HOSTCC) $(HOSTLDFLAGS) $(SHARED_SWITCH) -o $@ \
- 			  $(addprefix $(obj)/,$($(@F:.so=-objs))) \
- 			  $(HOST_LOADLIBES) $(HOSTLOADLIBES_$(@F))
- $(host-cshlib): %: $(host-cshobjs) FORCE
-diff -ur linux-2.6.6/scripts/sumversion.c l266mod/scripts/sumversion.c
---- linux-2.6.6/scripts/sumversion.c	Mon May 10 03:32:54 2004
-+++ l266mod/scripts/sumversion.c	Fri May 21 16:11:28 2004
-@@ -1,4 +1,6 @@
-+#ifndef __APPLE__
- #include <netinet/in.h>
-+#endif
- #include <stdint.h>
- #include <ctype.h>
- #include <errno.h>
-diff -ur linux-2.6.6/scripts/genksyms/parse.c_shipped l266mod/scripts/genksyms/parse.c_shipped
---- linux-2.6.6/scripts/genksyms/parse.c_shipped       Mon May 10 04:33:13 2004
-+++ l266mod/scripts/genksyms/parse.c_shipped        Fri Jun 18 23:09:42 2004
-@@ -49,7 +49,9 @@
- 
- 
- #include <assert.h>
-+#ifndef __APPLE__
- #include <malloc.h>
-+#endif
- #include "genksyms.h"
- 
- static int is_typedef;
-diff -ur linux-2.6.7/arch/ppc/defconfig l266mod/arch/ppc/defconfig
---- linux-2.6.7/arch/ppc/defconfig     Fri Jun 18 22:51:23 2004
-+++ l266mod/arch/ppc/defconfig      Fri Jun 18 23:55:23 2004
-@@ -425,7 +425,7 @@
- #
- # CONFIG_IP_VS is not set
- # CONFIG_IPV6 is not set
--CONFIG_NETFILTER=y
-+CONFIG_NETFILTER=n
- # CONFIG_NETFILTER_DEBUG is not set
- 
- #




More information about the patches mailing list