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

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