wok-tiny rev 2

Add base-tiny
author Pascal Bellard <pascal.bellard@slitaz.org>
date Tue Feb 01 23:09:54 2011 +0100 (2011-02-01)
parents 5d8744871068
children a9a8bd9041c8
files base-tiny/receipt
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/base-tiny/receipt	Tue Feb 01 23:09:54 2011 +0100
     1.3 @@ -0,0 +1,133 @@
     1.4 +# SliTaz package receipt.
     1.5 +
     1.6 +PACKAGE="base-tiny"
     1.7 +VERSION="1.0"
     1.8 +CATEGORY="tiny-slitaz"
     1.9 +SHORT_DESC="Tiny SliTaz base configuration files"
    1.10 +MAINTAINER="pascal.bellard@slitaz.org"
    1.11 +WEB_SITE="http://mirror.slitaz.org/pizza/tiny/"
    1.12 +AUTO_SELECTION="always"
    1.13 +CONFIG_FILES="/etc/network.conf /etc/passwd /etc/shadow \
    1.14 +/root/.profile /etc/fstab /etc/init.d/local.sh"
    1.15 +
    1.16 +# Rules to configure and make the package.
    1.17 +compile_rules()
    1.18 +{
    1.19 +	mkdir -p fs/var/lib fs/etc
    1.20 +	echo "none" > fs/var/lib/detected-modules
    1.21 +	echo "LANG=C" > fs/etc/locale.conf
    1.22 +	while read pkg file ; do
    1.23 +		if [ ! -s $pkg*/fs$file ]; then
    1.24 +			tazpkg get $pkg
    1.25 +			tazpkg extract $pkg*.tazpkg
    1.26 +		fi
    1.27 +		mkdir -p fs$(dirname $file)
    1.28 +		mv $pkg*/fs$file fs$(dirname $file) || return 1
    1.29 +	done << EOT
    1.30 +busybox			/etc/udhcpd.conf
    1.31 +busybox			/etc/inetd.conf
    1.32 +slitaz-base-files	/etc/fstab
    1.33 +slitaz-base-files	/etc/group
    1.34 +slitaz-boot-scripts	/etc/inittab
    1.35 +slitaz-boot-scripts	/etc/network.conf
    1.36 +slitaz-boot-scripts	/etc/init.d/local.sh
    1.37 +slitaz-boot-scripts	/etc/rcS.conf
    1.38 +EOT
    1.39 +}
    1.40 +
    1.41 +# Rules to gen a SliTaz package suitable for Tazpkg.
    1.42 +genpkg_rules()
    1.43 +{
    1.44 +	cp -a fs/. $fs
    1.45 +}
    1.46 +
    1.47 +config_form()
    1.48 +{
    1.49 +	[ -n "$PASSWORD"   ] || PASSWORD=root
    1.50 +	[ -n "$INTERFACE"  ] || INTERFACE=eth0
    1.51 +	[ -n "$IP"         ] || IP=192.168.0.6
    1.52 +	[ -n "$NETMASK"    ] || NETMASK=255.255.255.0
    1.53 +	[ -n "$GATEWAY"    ] || GATEWAY=192.168.0.1
    1.54 +	[ -n "$DNS_SERVER" ] || DNS_SERVER='192.168.0.1 192.168.0.2'
    1.55 +	[ -n "$FSTAB"      ] || FSTAB='/dev/hda1       /mnt         ext3    defaults          0       2'
    1.56 +	[ -n "$RC_LOCAL"   ] || RC_LOCAL='[ -x /mnt/boot/init ] && /mnt/boot/init'
    1.57 +	cat <<EOT
    1.58 +<table>
    1.59 +<tr>
    1.60 +<td>Root password</td>
    1.61 +<td><input type="text" name="PASSWORD" value="$PASSWORD" /></td>
    1.62 +</tr>
    1.63 +<tr>
    1.64 +<td>Interface</td>
    1.65 +<td><input type="text" name="INTERFACE" value="$INTERFACE" /></td>
    1.66 +</tr>
    1.67 +<tr>
    1.68 +<td>Network configuration</td>
    1.69 +<td><select name="MODE">
    1.70 +	<option value="STATIC">STATIC</option>
    1.71 +	<option value="DHCP"$([ "$MODE" == "DHCP" ] && echo ' selected="selected"')>DHCP</option>
    1.72 +</select></td>
    1.73 +</tr>
    1.74 +<tr>
    1.75 +<td>Internet address</td>
    1.76 +<td><input type="text" name="IP" value="$IP" /></td>
    1.77 +</tr>
    1.78 +<tr>
    1.79 +<td>Netmask</td>
    1.80 +<td><input type="text" name="NETMASK" value="$NETMASK" /></td>
    1.81 +</tr>
    1.82 +<tr>
    1.83 +<td>Gateway</td>
    1.84 +<td><input type="text" name="GATEWAY" value="$GATEWAY" /></td>
    1.85 +</tr>
    1.86 +<tr>
    1.87 +<td>DNS server(s)</td>
    1.88 +<td><input type="text" name="DNS_SERVER" value="$DNS_SERVER" /></td>
    1.89 +</tr>
    1.90 +<tr>
    1.91 +<td>Filesystems</td>
    1.92 +<td><textarea name="FSTAB" cols="60" wrap="off">
    1.93 +$FSTAB
    1.94 +</textarea></td>
    1.95 +</tr>
    1.96 +<tr>
    1.97 +<td>Additionnal boot commands</td>
    1.98 +<td><textarea name="RC_LOCAL" cols="60" wrap="off">
    1.99 +$RC_LOCAL
   1.100 +</textarea></td>
   1.101 +</tr>
   1.102 +</table>
   1.103 +EOT
   1.104 +}
   1.105 +
   1.106 +post_install()
   1.107 +{
   1.108 +	DHCP="no"
   1.109 +	STATIC="yes"
   1.110 +	case "$MODE" in
   1.111 +	"")	return 1;;
   1.112 +	DHCP)	DHCP="yes"
   1.113 +		STATIC="no"
   1.114 +	esac
   1.115 +	sed -i -e "s/^DNS_SERVER=.*/DNS_SERVER=\"$DNS_SERVER\"/" \
   1.116 +	       -e "s/^INTERFACE=.*/INTERFACE=\"$INTERFACE\"/" \
   1.117 +	       -e "s/^NETMASK=.*/NETMASK=\"$NETMASK\"/" \
   1.118 +	       -e "s/^GATEWAY=.*/GATEWAY=\"$GATEWAY\"/" \
   1.119 +	       -e "s/^STATIC=.*/STATIC=\"$STATIC\"/" \
   1.120 +	       -e "s/^DHCP=.*/DHCP=\"$DHCP\"/" \
   1.121 +	       -e "s/^IP=.*/IP=\"$IP\"/" $1/etc/network.conf
   1.122 +	if [ -n "$PASSWORD" ]; then
   1.123 +		chroot $1/ "echo 'root:$PASSWORD' | chpasswd"
   1.124 +	else
   1.125 +		sed -i 's/^root:[^:]*:/root::/' $1/etc/passwd
   1.126 +		cat > $1/root/.profile <<EOT
   1.127 +grep -qs ^root:: /etc/passwd /etc/shadow && passwd
   1.128 +EOT
   1.129 +	fi
   1.130 +	[ -n "$FSTAB" ] && cat >> $1/etc/fstab <<EOT
   1.131 +$FSTAB
   1.132 +EOT
   1.133 +	[ -n "$RC_LOCAL" ] && cat >> $1/etc/init.d/local.sh <<EOT
   1.134 +$RC_LOCAL
   1.135 +EOT
   1.136 +}