wok-tiny annotate lan-config/receipt @ rev 126
Update config_form()
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Sun Feb 12 19:39:46 2017 +0100 (2017-02-12) |
parents | 0d8ef9102fc0 |
children | 3de5e6325aab |
rev | line source |
---|---|
pascal@8 | 1 # SliTaz package receipt. |
pascal@8 | 2 |
pascal@8 | 3 PACKAGE="lan-config" |
pascal@8 | 4 VERSION="1.0" |
pascal@109 | 5 CATEGORY="network" |
pascal@8 | 6 SHORT_DESC="Tiny SliTaz lan ip configuration (2nd ethernet card)" |
pascal@8 | 7 MAINTAINER="pascal.bellard@slitaz.org" |
pascal@90 | 8 LICENSE="BSD" |
pascal@55 | 9 WEB_SITE="http://tiny.slitaz.org/" |
pascal@94 | 10 WANTED="base-tiny" |
pascal@8 | 11 CONFIG_FILES="/etc/network.conf" |
pascal@8 | 12 |
pascal@8 | 13 # Rules to configure and make the package. |
pascal@8 | 14 compile_rules() |
pascal@8 | 15 { |
pascal@94 | 16 mkdir -p $stuff/etc/init.d 2> /dev/null |
pascal@94 | 17 cp $wanted_stuff/etc/init.d/network.sh $stuff/etc/init.d/ |
pascal@94 | 18 cp $wanted_stuff/etc/network.conf $stuff/etc/ |
pascal@8 | 19 sed -i -e 's#^dhcp(.*#&\ |
pascal@8 | 20 if [ "$LAN_DHCP" = "yes" ] ; then\ |
pascal@8 | 21 echo "Starting udhcpc client on: $LAN_INTERFACE..."\ |
pascal@94 | 22 udhcpc -b -T 1 -A 12 -i $LAN_INTERFACE -p /var/run/udhcpc.$LAN_INTERFACE.pid\ |
pascal@8 | 23 fi#' -e 's#^static_ip(.*#&\ |
pascal@8 | 24 if [ "$LAN_STATIC" = "yes" ] ; then\ |
pascal@8 | 25 echo "Configuring static IP on $LAN_INTERFACE: $LAN_IP..."\ |
pascal@94 | 26 ifconfig $LAN_INTERFACE $LAN_IP netmask $LAN_NETMASK up\ |
pascal@94 | 27 fi#' $stuff/etc/init.d/network.sh |
pascal@94 | 28 cat >> $stuff/etc/network.conf <<EOT |
pascal@10 | 29 |
pascal@10 | 30 # Set lan interface. |
pascal@10 | 31 LAN_INTERFACE="eth1" |
pascal@10 | 32 |
pascal@10 | 33 # Dynamic IP address. |
pascal@10 | 34 # Enable/disable DHCP lan client at boot time. |
pascal@10 | 35 LAN_DHCP="no" |
pascal@10 | 36 |
pascal@10 | 37 # Static IP address. |
pascal@10 | 38 # Enable/disable static lan IP at boot time. |
pascal@10 | 39 LAN_STATIC="yes" |
pascal@10 | 40 |
pascal@10 | 41 # Set lan IP address and netmask for a static IP. |
pascal@10 | 42 LAN_IP="192.168.1.1" |
pascal@10 | 43 LAN_NETMASK="255.255.255.0" |
pascal@10 | 44 |
pascal@10 | 45 EOT |
pascal@8 | 46 } |
pascal@8 | 47 |
pascal@8 | 48 # Rules to gen a SliTaz package suitable for Tazpkg. |
pascal@8 | 49 genpkg_rules() |
pascal@8 | 50 { |
pascal@97 | 51 cp -a $stuff/. $fs/ |
pascal@8 | 52 } |
pascal@8 | 53 |
pascal@8 | 54 config_form() |
pascal@8 | 55 { |
pascal@126 | 56 if [ -z "$MODE" ]; then |
pascal@126 | 57 INTERFACE=eth1 |
pascal@126 | 58 IP=192.168.0.6 |
pascal@126 | 59 NETMASK=255.255.255.0 |
pascal@126 | 60 fi |
pascal@8 | 61 cat <<EOT |
pascal@8 | 62 <table> |
pascal@8 | 63 <tr> |
pascal@8 | 64 <td>LAN Interface</td> |
pascal@8 | 65 <td><input type="text" name="INTERFACE" value="$INTERFACE" /></td> |
pascal@8 | 66 </tr> |
pascal@8 | 67 <tr> |
pascal@8 | 68 <td>LAN Network configuration</td> |
pascal@8 | 69 <td><select name="MODE"> |
pascal@8 | 70 <option value="STATIC">STATIC</option> |
pascal@8 | 71 <option value="DHCP"$([ "$MODE" == "DHCP" ] && echo ' selected="selected"')>DHCP</option> |
pascal@8 | 72 </select></td> |
pascal@8 | 73 </tr> |
pascal@8 | 74 <tr> |
pascal@8 | 75 <td>LAN Internet address</td> |
pascal@8 | 76 <td><input type="text" name="IP" value="$IP" /></td> |
pascal@8 | 77 </tr> |
pascal@8 | 78 <tr> |
pascal@8 | 79 <td>LAN Netmask</td> |
pascal@8 | 80 <td><input type="text" name="NETMASK" value="$NETMASK" /></td> |
pascal@8 | 81 </tr> |
pascal@8 | 82 </table> |
pascal@126 | 83 <input type="checkbox" name="ROUTING" ${ROUTING:+value="ON" checked="checked" }/> |
pascal@10 | 84 Enable LAN routing<br> |
pascal@8 | 85 EOT |
pascal@8 | 86 } |
pascal@8 | 87 |
pascal@8 | 88 post_install() |
pascal@8 | 89 { |
pascal@8 | 90 DHCP="no" |
pascal@8 | 91 STATIC="yes" |
pascal@8 | 92 case "$MODE" in |
pascal@8 | 93 "") return 1;; |
pascal@8 | 94 DHCP) DHCP="yes" |
pascal@8 | 95 STATIC="no" |
pascal@8 | 96 esac |
pascal@8 | 97 sed -i -e "s/^LAN_INTERFACE=.*/LAN_INTERFACE=\"$INTERFACE\"/" \ |
pascal@8 | 98 -e "s/^LAN_NETMASK=.*/LAN_NETMASK=\"$NETMASK\"/" \ |
pascal@8 | 99 -e "s/^LAN_STATIC=.*/LAN_STATIC=\"$STATIC\"/" \ |
pascal@8 | 100 -e "s/^LAN_DHCP=.*/LAN_DHCP=\"$DHCP\"/" \ |
pascal@8 | 101 -e "s/^LAN_IP=.*/LAN_IP=\"$IP\"/" $1/etc/network.conf |
pascal@10 | 102 [ "$ROUTING" == "ON" ] && cat >> $1/etc/init.d/local.sh <<EOT |
pascal@10 | 103 # Enable IP routing between interfaces |
pascal@10 | 104 echo 1 > /proc/sys/net/ipv4/ip_forward |
pascal@10 | 105 |
pascal@10 | 106 EOT |
pascal@8 | 107 } |