wok-tiny annotate base-tiny/receipt @ rev 83
Add telnet-config
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Fri Jul 20 12:32:58 2012 +0200 (2012-07-20) |
parents | 044813ac0732 |
children | a6d2ddc65590 |
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@9 | 5 CATEGORY="configuration" |
pascal@2 | 6 SHORT_DESC="Tiny SliTaz base configuration files" |
pascal@2 | 7 MAINTAINER="pascal.bellard@slitaz.org" |
pascal@55 | 8 WEB_SITE="http://tiny.slitaz.org/" |
pascal@2 | 9 AUTO_SELECTION="always" |
pascal@2 | 10 CONFIG_FILES="/etc/network.conf /etc/passwd /etc/shadow \ |
pascal@2 | 11 /root/.profile /etc/fstab /etc/init.d/local.sh" |
pascal@2 | 12 |
pascal@2 | 13 # Rules to configure and make the package. |
pascal@2 | 14 compile_rules() |
pascal@2 | 15 { |
pascal@2 | 16 mkdir -p fs/var/lib fs/etc |
pascal@2 | 17 echo "none" > fs/var/lib/detected-modules |
pascal@2 | 18 echo "LANG=C" > fs/etc/locale.conf |
pascal@2 | 19 while read pkg file ; do |
pascal@2 | 20 if [ ! -s $pkg*/fs$file ]; then |
pascal@2 | 21 tazpkg get $pkg |
pascal@2 | 22 tazpkg extract $pkg*.tazpkg |
pascal@2 | 23 fi |
pascal@2 | 24 mkdir -p fs$(dirname $file) |
pascal@2 | 25 mv $pkg*/fs$file fs$(dirname $file) || return 1 |
pascal@2 | 26 done << EOT |
pascal@2 | 27 busybox /etc/udhcpd.conf |
pascal@2 | 28 busybox /etc/inetd.conf |
pascal@2 | 29 slitaz-base-files /etc/fstab |
pascal@2 | 30 slitaz-base-files /etc/group |
pascal@74 | 31 slitaz-base-files /etc/passwd |
pascal@74 | 32 slitaz-base-files /etc/shadow |
pascal@2 | 33 slitaz-boot-scripts /etc/inittab |
pascal@2 | 34 slitaz-boot-scripts /etc/network.conf |
pascal@2 | 35 slitaz-boot-scripts /etc/init.d/local.sh |
pascal@2 | 36 slitaz-boot-scripts /etc/rcS.conf |
pascal@2 | 37 EOT |
pascal@74 | 38 sed -i 's/:x:/:!:/' fs/etc/passwd |
pascal@51 | 39 sed -i 's/UDEV=.*/UDEV="no"/;s/hwconf.sh l/l/' fs/etc/rcS.conf |
pascal@2 | 40 } |
pascal@2 | 41 |
pascal@2 | 42 # Rules to gen a SliTaz package suitable for Tazpkg. |
pascal@2 | 43 genpkg_rules() |
pascal@2 | 44 { |
pascal@2 | 45 cp -a fs/. $fs |
pascal@2 | 46 } |
pascal@2 | 47 |
pascal@2 | 48 config_form() |
pascal@2 | 49 { |
pascal@2 | 50 [ -n "$PASSWORD" ] || PASSWORD=root |
pascal@83 | 51 [ -n "$HOSTNAME" ] || HOSTNAME=slitaz |
pascal@2 | 52 [ -n "$INTERFACE" ] || INTERFACE=eth0 |
pascal@2 | 53 [ -n "$IP" ] || IP=192.168.0.6 |
pascal@2 | 54 [ -n "$NETMASK" ] || NETMASK=255.255.255.0 |
pascal@2 | 55 [ -n "$GATEWAY" ] || GATEWAY=192.168.0.1 |
pascal@2 | 56 [ -n "$DNS_SERVER" ] || DNS_SERVER='192.168.0.1 192.168.0.2' |
pascal@2 | 57 [ -n "$FSTAB" ] || FSTAB='/dev/hda1 /mnt ext3 defaults 0 2' |
pascal@2 | 58 [ -n "$RC_LOCAL" ] || RC_LOCAL='[ -x /mnt/boot/init ] && /mnt/boot/init' |
pascal@2 | 59 cat <<EOT |
pascal@2 | 60 <table> |
pascal@2 | 61 <tr> |
pascal@2 | 62 <td>Root password</td> |
pascal@2 | 63 <td><input type="text" name="PASSWORD" value="$PASSWORD" /></td> |
pascal@2 | 64 </tr> |
pascal@2 | 65 <tr> |
pascal@83 | 66 <td>Host name</td> |
pascal@83 | 67 <td><input type="text" name="HOSTNAME" value="$HOSTNAME" /></td> |
pascal@83 | 68 </tr> |
pascal@83 | 69 <tr> |
pascal@2 | 70 <td>Interface</td> |
pascal@2 | 71 <td><input type="text" name="INTERFACE" value="$INTERFACE" /></td> |
pascal@2 | 72 </tr> |
pascal@2 | 73 <tr> |
pascal@2 | 74 <td>Network configuration</td> |
pascal@2 | 75 <td><select name="MODE"> |
pascal@2 | 76 <option value="STATIC">STATIC</option> |
pascal@2 | 77 <option value="DHCP"$([ "$MODE" == "DHCP" ] && echo ' selected="selected"')>DHCP</option> |
pascal@54 | 78 <option value="DISABLE">DISABLE</option> |
pascal@2 | 79 </select></td> |
pascal@2 | 80 </tr> |
pascal@2 | 81 <tr> |
pascal@2 | 82 <td>Internet address</td> |
pascal@2 | 83 <td><input type="text" name="IP" value="$IP" /></td> |
pascal@2 | 84 </tr> |
pascal@2 | 85 <tr> |
pascal@2 | 86 <td>Netmask</td> |
pascal@2 | 87 <td><input type="text" name="NETMASK" value="$NETMASK" /></td> |
pascal@2 | 88 </tr> |
pascal@2 | 89 <tr> |
pascal@2 | 90 <td>Gateway</td> |
pascal@2 | 91 <td><input type="text" name="GATEWAY" value="$GATEWAY" /></td> |
pascal@2 | 92 </tr> |
pascal@2 | 93 <tr> |
pascal@2 | 94 <td>DNS server(s)</td> |
pascal@2 | 95 <td><input type="text" name="DNS_SERVER" value="$DNS_SERVER" /></td> |
pascal@2 | 96 </tr> |
pascal@2 | 97 <tr> |
pascal@2 | 98 <td>Filesystems</td> |
pascal@2 | 99 <td><textarea name="FSTAB" cols="60" wrap="off"> |
pascal@2 | 100 $FSTAB |
pascal@2 | 101 </textarea></td> |
pascal@2 | 102 </tr> |
pascal@2 | 103 <tr> |
pascal@37 | 104 <td>Additional boot commands</td> |
pascal@2 | 105 <td><textarea name="RC_LOCAL" cols="60" wrap="off"> |
pascal@2 | 106 $RC_LOCAL |
pascal@2 | 107 </textarea></td> |
pascal@2 | 108 </tr> |
pascal@2 | 109 </table> |
pascal@2 | 110 EOT |
pascal@2 | 111 } |
pascal@2 | 112 |
pascal@2 | 113 post_install() |
pascal@2 | 114 { |
pascal@2 | 115 DHCP="no" |
pascal@2 | 116 STATIC="yes" |
pascal@2 | 117 case "$MODE" in |
pascal@2 | 118 "") return 1;; |
pascal@54 | 119 DISABLE) |
pascal@54 | 120 STATIC="no" ;; |
pascal@2 | 121 DHCP) DHCP="yes" |
pascal@2 | 122 STATIC="no" |
pascal@2 | 123 esac |
pascal@2 | 124 sed -i -e "s/^DNS_SERVER=.*/DNS_SERVER=\"$DNS_SERVER\"/" \ |
pascal@2 | 125 -e "s/^INTERFACE=.*/INTERFACE=\"$INTERFACE\"/" \ |
pascal@2 | 126 -e "s/^NETMASK=.*/NETMASK=\"$NETMASK\"/" \ |
pascal@2 | 127 -e "s/^GATEWAY=.*/GATEWAY=\"$GATEWAY\"/" \ |
pascal@2 | 128 -e "s/^STATIC=.*/STATIC=\"$STATIC\"/" \ |
pascal@2 | 129 -e "s/^DHCP=.*/DHCP=\"$DHCP\"/" \ |
pascal@2 | 130 -e "s/^IP=.*/IP=\"$IP\"/" $1/etc/network.conf |
pascal@2 | 131 if [ -n "$PASSWORD" ]; then |
pascal@74 | 132 mkdir $1/lib |
pascal@74 | 133 cp -a /lib/lib[cm][.-]* /lib/ld* $1/lib |
pascal@74 | 134 cp -a /bin/busybox $1/lib/chpasswd |
pascal@74 | 135 echo "root:$PASSWORD" | chroot $1/ /lib/chpasswd -m |
pascal@74 | 136 rm -rf $1/lib |
pascal@2 | 137 else |
pascal@2 | 138 sed -i 's/^root:[^:]*:/root::/' $1/etc/passwd |
pascal@74 | 139 mkdir $1/root 2> /dev/null |
pascal@2 | 140 cat > $1/root/.profile <<EOT |
pascal@2 | 141 grep -qs ^root:: /etc/passwd /etc/shadow && passwd |
pascal@2 | 142 EOT |
pascal@2 | 143 fi |
pascal@83 | 144 [ -n "$HOSTNAME" ] && echo $HOSTNAME > $1/etc/hostname |
pascal@9 | 145 [ -n "$FSTAB" ] && dos2unix >> $1/etc/fstab <<EOT |
pascal@2 | 146 $FSTAB |
pascal@2 | 147 EOT |
pascal@9 | 148 [ -n "$RC_LOCAL" ] && dos2unix >> $1/etc/init.d/local.sh <<EOT |
pascal@2 | 149 $RC_LOCAL |
pascal@2 | 150 EOT |
pascal@2 | 151 } |