Magellan Linux

Annotation of /trunk/dracut/patches/dracut-034-network-support-udhcpc-dhcpcd-2.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2371 - (hide annotations) (download)
Mon Jan 20 09:54:21 2014 UTC (10 years, 4 months ago) by niro
File size: 7998 byte(s)
-re-diffed patch against new network patches and included some optimizations
1 niro 2371 diff -Naur dracut-034/modules.d/40network/ifup.sh dracut-034-udhcpc/modules.d/40network/ifup.sh
2     --- dracut-034/modules.d/40network/ifup.sh 2014-01-20 12:05:26.190000000 +0000
3     +++ dracut-034-udhcpc/modules.d/40network/ifup.sh 2014-01-20 12:10:28.388000000 +0000
4     @@ -12,6 +12,23 @@
5     type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
6     type ip_to_var >/dev/null 2>&1 || . /lib/net-lib.sh
7    
8     +# load magellan settings
9     +[ -f /etc/conf.d/network ] && . /etc/conf.d/network
10     +# some sane defaults
11     +if [[ -n $DEFAULT_DHCP_PROG ]]
12     +then
13     + DHCP_PROG="$DEFAULT_DHCP_PROG"
14     +else
15     + DHCP_PROG="/sbin/dhcpcd"
16     +fi
17     +if [[ -n $DEFAULT_DHCP_START ]]
18     +then
19     + DHCP_START="$DEFAULT_DHCP_START"
20     +else
21     + DHCP_START="-t 10"
22     +fi
23     +DHCP_PROG_NAME="${DHCP_PROG##*/}"
24     +
25     # Huh? No $1?
26     [ -z "$1" ] && exit 1
27    
28     @@ -84,6 +101,8 @@
29    
30     # Run dhclient
31     do_dhcp() {
32     + local opts
33     +
34     # dhclient-script will mark the netif up and generate the online
35     # event for nfsroot
36     # XXX add -V vendor class and option parsing per kernel
37     @@ -91,9 +110,27 @@
38     echo "No carrier detected"
39     return 1
40     fi
41     - echo "Starting dhcp for interface $netif"
42     - dhclient "$@" -1 -q -cf /etc/dhclient.conf -pf /tmp/dhclient.$netif.pid -lf /tmp/dhclient.$netif.lease $netif \
43     - || echo "dhcp failed"
44     +
45     + case $DHCP_PROG_NAME in
46     + dhclient)
47     + opts="$@ -1 -q"
48     + opts+=" -cf /etc/dhclient.conf"
49     + opts+=" -pf /tmp/$DHCP_PROG_NAME.$netif.pid"
50     + opts+=" -lf /tmp/$DHCP_PROG_NAME.$netif.lease"
51     + ;;
52     +
53     + dhcpcd)
54     + opts="$@ -q"
55     + ;;
56     +
57     + udhcpc)
58     + opts="-q"
59     + opts+=" -p /tmp/$DHCP_PROG_NAME.$netif.pid"
60     + ;;
61     + esac
62     +
63     + echo "Starting dhcp ($DHCP_PROG_NAME) for interface $netif"
64     + $DHCP_PROG $opts $DHCP_START $netif || echo "dhcp failed"
65     }
66    
67     load_ipv6() {
68     diff -Naur dracut-034/modules.d/40network/kill-dhcpcd.sh dracut-034-udhcpc/modules.d/40network/kill-dhcpcd.sh
69     --- dracut-034/modules.d/40network/kill-dhcpcd.sh 1970-01-01 00:00:00.000000000 +0000
70     +++ dracut-034-udhcpc/modules.d/40network/kill-dhcpcd.sh 2014-01-20 12:11:59.659000000 +0000
71     @@ -0,0 +1,17 @@
72     +#!/bin/sh
73     +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
74     +# ex: ts=8 sw=4 sts=4 et filetype=sh
75     +
76     +for f in /run/dhcpcd.*.pid /run/dhcpcd.pif; do
77     + [ -e $f ] || continue
78     + read PID < $f;
79     + kill $PID >/dev/null 2>&1
80     +done
81     +
82     +sleep 0.1
83     +
84     +for f in /tmp/dhcpcd.*.pid /run/dhcpcd.pid; do
85     + [ -e $f ] || continue
86     + read PID < $f;
87     + kill -9 $PID >/dev/null 2>&1
88     +done
89     diff -Naur dracut-034/modules.d/40network/kill-udhpc.sh dracut-034-udhcpc/modules.d/40network/kill-udhpc.sh
90     --- dracut-034/modules.d/40network/kill-udhpc.sh 1970-01-01 00:00:00.000000000 +0000
91     +++ dracut-034-udhcpc/modules.d/40network/kill-udhpc.sh 2014-01-20 12:12:44.515000000 +0000
92     @@ -0,0 +1,17 @@
93     +#!/bin/sh
94     +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
95     +# ex: ts=8 sw=4 sts=4 et filetype=sh
96     +
97     +for f in /tmp/udhcpc.*.pid; do
98     + [ -e $f ] || continue
99     + read PID < $f;
100     + kill $PID >/dev/null 2>&1
101     +done
102     +
103     +sleep 0.1
104     +
105     +for f in /tmp/udhcpc.*.pid; do
106     + [ -e $f ] || continue
107     + read PID < $f;
108     + kill -9 $PID >/dev/null 2>&1
109     +done
110     diff -Naur dracut-034/modules.d/40network/module-setup.sh dracut-034-udhcpc/modules.d/40network/module-setup.sh
111     --- dracut-034/modules.d/40network/module-setup.sh 2013-10-08 07:55:26.000000000 +0000
112     +++ dracut-034-udhcpc/modules.d/40network/module-setup.sh 2014-01-20 12:23:21.421000000 +0000
113     @@ -4,8 +4,9 @@
114    
115     check() {
116     local _program
117     + . /etc/conf.d/network
118    
119     - for _program in ip arping dhclient ; do
120     + for _program in ip ifconfig route arping $DEFAULT_DHCP_PROG ; do
121     if ! type -P $_program >/dev/null; then
122     derror "Could not find program \"$_program\" required by network."
123     return 1
124     @@ -69,16 +70,20 @@
125    
126     install() {
127     local _arch _i _dir
128     - inst_multiple ip arping dhclient sed
129     + local _dhcp_prog_name
130     + local _file
131     + . /etc/conf.d/network
132     + _dhcp_prog_name="${DEFAULT_DHCP_PROG##*/}"
133     +
134     + inst_multiple ip arping $_dhcp_prog_name sed
135     + inst_multiple ifconfig route
136     inst_multiple -o ping ping6
137     inst_multiple -o brctl
138     inst_multiple -o teamd teamdctl teamnl
139     inst_simple /etc/libnl/classid
140     inst_script "$moddir/ifup.sh" "/sbin/ifup"
141     inst_script "$moddir/netroot.sh" "/sbin/netroot"
142     - inst_script "$moddir/dhclient-script.sh" "/sbin/dhclient-script"
143     inst_simple "$moddir/net-lib.sh" "/lib/net-lib.sh"
144     - inst_simple "$moddir/dhclient.conf" "/etc/dhclient.conf"
145     inst_hook pre-udev 50 "$moddir/ifname-genrules.sh"
146     inst_hook pre-udev 60 "$moddir/net-genrules.sh"
147     inst_hook cmdline 91 "$moddir/dhcp-root.sh"
148     @@ -89,7 +94,28 @@
149     inst_hook cmdline 97 "$moddir/parse-bridge.sh"
150     inst_hook cmdline 98 "$moddir/parse-ip-opts.sh"
151     inst_hook cmdline 99 "$moddir/parse-ifname.sh"
152     - inst_hook cleanup 10 "$moddir/kill-dhclient.sh"
153     + case $_dhcp_prog_name in
154     + dhclient)
155     + inst_script "$moddir/dhclient-script.sh" "/sbin/dhclient-script"
156     + inst_simple "$moddir/dhclient.conf" "/etc/dhclient.conf"
157     + inst_hook cleanup 10 "$moddir/kill-dhclient.sh"
158     + ;;
159     +
160     + udhcpc)
161     + inst_script /usr/share/udhcpc/default.script
162     + inst_hook cleanup 10 "$moddir/kill-udhcpc.sh"
163     + ;;
164     +
165     + dhcpcd)
166     + inst_simple /etc/dhcpcd.conf
167     + inst_script -o /usr/lib/dhcpcd/dhcpcd-run-hooks
168     + for _file in $(find /usr/lib/dhcpcd/dhcpcd-hooks -type f); do
169     + inst_simple -o $_file
170     + done
171     + inst_hook cleanup 10 "$moddir/kill-dhcpcd.sh"
172     + ;;
173     + esac
174     + inst_simple /etc/conf.d/network
175    
176     _arch=$(uname -m)
177    
178     diff -Naur dracut-034/modules.d/40network/net-lib.sh dracut-034-udhcpc/modules.d/40network/net-lib.sh
179     --- dracut-034/modules.d/40network/net-lib.sh 2014-01-20 12:05:21.542000000 +0000
180     +++ dracut-034-udhcpc/modules.d/40network/net-lib.sh 2014-01-20 12:24:31.383000000 +0000
181     @@ -95,6 +95,8 @@
182     [ -e /tmp/net.$netif.hostname ] && . /tmp/net.$netif.hostname
183     [ -e /tmp/net.$netif.override ] && . /tmp/net.$netif.override
184     [ -e /tmp/dhclient.$netif.dhcpopts ] && . /tmp/dhclient.$netif.dhcpopts
185     + [ -e /tmp/udhcpc.$netif.dhcpopts ] && . /tmp/udhcpc.$netif.dhcpopts
186     + [ -e /tmp/dhcpcd.$netif.dhcpopts ] && . /tmp/dhcpcd.$netif.dhcpopts
187     # set up resolv.conf
188     [ -e /tmp/net.$netif.resolv.conf ] && \
189     cp -f /tmp/net.$netif.resolv.conf /etc/resolv.conf
190     @@ -142,6 +144,15 @@
191     for f in /tmp/dhclient.$i.*; do
192     [ -f $f ] && cp -f $f /tmp/net.${f#/tmp/dhclient.}
193     done
194     + for f in /tmp/udhcpc.$i.*; do
195     + [ -f $f ] && cp -f $f /tmp/net.${f#/tmp/udhcpc.}
196     + done
197     + for f in /run/dhcpcd.$i.*; do
198     + [ -f $f ] && cp -f $f /tmp/net.${f#/run/dhcpcd.}
199     + done
200     + for f in /var/lib/dhcpcd/dhcpcd.$i.*; do
201     + [ -f $f ] && cp -f $f /tmp/net.${f#/var/lib/dhcpcd/dhcpcd.}
202     + done
203     done
204     echo $IFACES > /tmp/.net.ifaces.new
205     mv /tmp/.net.ifaces.new /tmp/net.ifaces
206     diff -Naur dracut-034/modules.d/40network/netroot.sh dracut-034-udhcpc/modules.d/40network/netroot.sh
207     --- dracut-034/modules.d/40network/netroot.sh 2013-10-08 07:55:26.000000000 +0000
208     +++ dracut-034-udhcpc/modules.d/40network/netroot.sh 2014-01-20 12:24:57.335000000 +0000
209     @@ -38,6 +38,8 @@
210     if [ "$netroot" = "dhcp" ] || [ "$netroot" = "dhcp6" ] ; then
211     # Load dhcp options
212     [ -e /tmp/dhclient.$netif.dhcpopts ] && . /tmp/dhclient.$netif.dhcpopts
213     + [ -e /tmp/udhcpc.$netif.dhcpopts ] && . /tmp/udhcpc.$netif.dhcpopts
214     + [ -e /tmp/dhcpcd.$netif.dhcpopts ] && . /tmp/dhcpcd.$netif.dhcpopts
215    
216     # If we have a specific bootdev with no dhcpoptions or empty root-path,
217     # we die. Otherwise we just warn