wok-tiny annotate base-tiny/receipt @ rev 109

Update custom-console
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sat Feb 27 10:51:46 2016 +0100 (2016-02-27)
parents bb00d1e3b0f7
children 10cf1a5f187d
rev   line source
pascal@2 1 # SliTaz package receipt.
pascal@2 2
pascal@2 3 PACKAGE="base-tiny"
pascal@2 4 VERSION="1.0"
pascal@109 5 CATEGORY="base-system"
pascal@2 6 SHORT_DESC="Tiny SliTaz base configuration files"
pascal@2 7 MAINTAINER="pascal.bellard@slitaz.org"
pascal@90 8 LICENSE="BSD"
pascal@55 9 WEB_SITE="http://tiny.slitaz.org/"
pascal@2 10 AUTO_SELECTION="always"
pascal@96 11 CONFIG_FILES="/etc/network.conf /etc/rcS.conf /etc/passwd /etc/fstab \
pascal@97 12 /etc/inetd.conf /etc/daemons.conf /root/.profile /etc/init.d/local.sh"
pascal@2 13
pascal@2 14 # Rules to gen a SliTaz package suitable for Tazpkg.
pascal@2 15 genpkg_rules()
pascal@2 16 {
pascal@96 17 for i in $CONFIG_FILES ; do
pascal@96 18 [ -e $stuff$i ] && echo ${i#/}
pascal@96 19 done | ( cd $stuff ; cpio -o -H newc ) | ( cd $fs ; cpio -id )
pascal@2 20 }
pascal@2 21
pascal@2 22 config_form()
pascal@2 23 {
pascal@2 24 [ -n "$PASSWORD" ] || PASSWORD=root
pascal@83 25 [ -n "$HOSTNAME" ] || HOSTNAME=slitaz
pascal@2 26 [ -n "$INTERFACE" ] || INTERFACE=eth0
pascal@2 27 [ -n "$IP" ] || IP=192.168.0.6
pascal@2 28 [ -n "$NETMASK" ] || NETMASK=255.255.255.0
pascal@2 29 [ -n "$GATEWAY" ] || GATEWAY=192.168.0.1
pascal@2 30 [ -n "$DNS_SERVER" ] || DNS_SERVER='192.168.0.1 192.168.0.2'
pascal@2 31 [ -n "$FSTAB" ] || FSTAB='/dev/hda1 /mnt ext3 defaults 0 2'
pascal@2 32 [ -n "$RC_LOCAL" ] || RC_LOCAL='[ -x /mnt/boot/init ] && /mnt/boot/init'
pascal@2 33 cat <<EOT
pascal@2 34 <table>
pascal@2 35 <tr>
pascal@92 36 <td>Root password (empty=disable)</td>
pascal@2 37 <td><input type="text" name="PASSWORD" value="$PASSWORD" /></td>
pascal@2 38 </tr>
pascal@2 39 <tr>
pascal@83 40 <td>Host name</td>
pascal@83 41 <td><input type="text" name="HOSTNAME" value="$HOSTNAME" /></td>
pascal@83 42 </tr>
pascal@83 43 <tr>
pascal@2 44 <td>Interface</td>
pascal@2 45 <td><input type="text" name="INTERFACE" value="$INTERFACE" /></td>
pascal@2 46 </tr>
pascal@2 47 <tr>
pascal@2 48 <td>Network configuration</td>
pascal@2 49 <td><select name="MODE">
pascal@2 50 <option value="STATIC">STATIC</option>
pascal@2 51 <option value="DHCP"$([ "$MODE" == "DHCP" ] && echo ' selected="selected"')>DHCP</option>
pascal@54 52 <option value="DISABLE">DISABLE</option>
pascal@2 53 </select></td>
pascal@2 54 </tr>
pascal@2 55 <tr>
pascal@2 56 <td>Internet address</td>
pascal@2 57 <td><input type="text" name="IP" value="$IP" /></td>
pascal@2 58 </tr>
pascal@2 59 <tr>
pascal@2 60 <td>Netmask</td>
pascal@2 61 <td><input type="text" name="NETMASK" value="$NETMASK" /></td>
pascal@2 62 </tr>
pascal@2 63 <tr>
pascal@2 64 <td>Gateway</td>
pascal@2 65 <td><input type="text" name="GATEWAY" value="$GATEWAY" /></td>
pascal@2 66 </tr>
pascal@2 67 <tr>
pascal@2 68 <td>DNS server(s)</td>
pascal@2 69 <td><input type="text" name="DNS_SERVER" value="$DNS_SERVER" /></td>
pascal@2 70 </tr>
pascal@2 71 <tr>
pascal@2 72 <td>Filesystems</td>
pascal@2 73 <td><textarea name="FSTAB" cols="60" wrap="off">
pascal@2 74 $FSTAB
pascal@2 75 </textarea></td>
pascal@2 76 </tr>
pascal@2 77 <tr>
pascal@37 78 <td>Additional boot commands</td>
pascal@2 79 <td><textarea name="RC_LOCAL" cols="60" wrap="off">
pascal@2 80 $RC_LOCAL
pascal@2 81 </textarea></td>
pascal@2 82 </tr>
pascal@2 83 </table>
pascal@96 84 <input type="checkbox" name="KEEP_MODULES" />
pascal@96 85 Do not remove the modules files after loading modules.
pascal@2 86 EOT
pascal@2 87 }
pascal@2 88
pascal@2 89 post_install()
pascal@2 90 {
pascal@2 91 DHCP="no"
pascal@2 92 STATIC="yes"
pascal@2 93 case "$MODE" in
pascal@2 94 "") return 1;;
pascal@54 95 DISABLE)
pascal@54 96 STATIC="no" ;;
pascal@2 97 DHCP) DHCP="yes"
pascal@2 98 STATIC="no"
pascal@2 99 esac
pascal@96 100 sed -i "s/^KEEP_MODULES=.*/KEEP_MODULES=\"$KEEP_MODULES\"/" \
pascal@96 101 $1/etc/rcS.conf
pascal@96 102 sed -i -e "s/^DNS_SERVER=.*/DNS_SERVER=\"$DNS_SERVER\"/" \
pascal@96 103 -e "s/^INTERFACE=.*/INTERFACE=\"$INTERFACE\"/" \
pascal@96 104 -e "s/^NETMASK=.*/NETMASK=\"$NETMASK\"/" \
pascal@96 105 -e "s/^GATEWAY=.*/GATEWAY=\"$GATEWAY\"/" \
pascal@96 106 -e "s/^STATIC=.*/STATIC=\"$STATIC\"/" \
pascal@96 107 -e "s/^DHCP=.*/DHCP=\"$DHCP\"/" \
pascal@96 108 -e "s/^IP=.*/IP=\"$IP\"/" $1/etc/network.conf
pascal@2 109 if [ -n "$PASSWORD" ]; then
pascal@92 110 case "$PASSWORD" in
pascal@92 111 \$1\$*)
pascal@92 112 sed -i "s|^root:[^:]*|root:$PASSWORD|" $1/etc/shadow ;;
pascal@92 113 *)
pascal@96 114 mkdir $1/fs
pascal@96 115 ( cd $1/fs ; cpio -idmu ) < dist/rootfs.cpio
pascal@96 116 cp $1/etc/passwd $1/fs/etc/
pascal@96 117 echo "root:$PASSWORD" | chroot $1/fs/ busybox chpasswd -m
pascal@96 118 cp $1/fs/etc/passwd $1/etc/
pascal@96 119 rm -rf $1/fs
pascal@92 120 esac
pascal@2 121 else
pascal@2 122 sed -i 's/^root:[^:]*:/root::/' $1/etc/passwd
pascal@74 123 mkdir $1/root 2> /dev/null
pascal@2 124 cat > $1/root/.profile <<EOT
pascal@2 125 grep -qs ^root:: /etc/passwd /etc/shadow && passwd
pascal@2 126 EOT
pascal@2 127 fi
pascal@83 128 [ -n "$HOSTNAME" ] && echo $HOSTNAME > $1/etc/hostname
pascal@9 129 [ -n "$FSTAB" ] && dos2unix >> $1/etc/fstab <<EOT
pascal@2 130 $FSTAB
pascal@2 131 EOT
pascal@9 132 [ -n "$RC_LOCAL" ] && dos2unix >> $1/etc/init.d/local.sh <<EOT
pascal@2 133 $RC_LOCAL
pascal@2 134 EOT
pascal@94 135 [ -s $1/modules ] && for i in $(cat $1/modules ; rm -f $1/modules); do
pascal@94 136 sed -i "s/LOAD_MODULES=./&$i /" $1/etc/rcS.conf
pascal@94 137 done
pascal@2 138 }