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 }