wok-tiny annotate busybox-net/receipt @ rev 173

Fix ctorrent-dnh & tfttest
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed Jul 14 09:04:04 2021 +0000 (2021-07-14)
parents c21687abfa6a
children 00ad93bee405
rev   line source
pascal@157 1 # SliTaz package receipt.
pascal@157 2
pascal@157 3 PACKAGE="busybox-net"
pascal@157 4 VERSION="1.28-20170822"
pascal@157 5 GIT_TAG="753c4045e4f287fc4b4788afd94f58738a7f04b4"
pascal@157 6 CATEGORY="base-system"
pascal@157 7 SHORT_DESC="Busybox UNIX utilities with many network commands."
pascal@157 8 MAINTAINER="pascal.bellard@slitaz.org"
pascal@157 9 LICENSE="GPL2"
pascal@157 10 [ -n "$TARGET" ] || TARGET="i486"
pascal@157 11 DEPENDS="busybox"
pascal@173 12 BUILD_DEPENDS="bzip2 uclibc-cross-compiler-$TARGET wget"
pascal@157 13 TARBALL="busybox-$VERSION.tar.bz2"
pascal@157 14 WEB_SITE="http://www.busybox.net/"
pascal@157 15 WGET_URL="https://git.busybox.net/busybox/snapshot/busybox-$GIT_TAG.tar.bz2"
pascal@157 16 CONFIG_FILES="/etc/dnsd.conf /etc/inetd.conf /etc/udhcpd.conf /etc/resolv.conf \
pascal@157 17 /etc/network.conf /etc/inetd.conf"
pascal@157 18
pascal@157 19 apply_bb_patchs()
pascal@157 20 {
pascal@157 21 cd $src
pascal@157 22 while read file; do
pascal@157 23 [ -f done.$file ] && continue
pascal@157 24 echo "Apply $file..."
pascal@157 25 patch -p1 < $stuff/busybox-git-$file || return 1
pascal@157 26 touch done.$file
pascal@157 27 done <<EOT
pascal@157 28 stat.u
pascal@157 29 ris.u
pascal@157 30 zmodules.u
pascal@157 31 cmdline.u
pascal@157 32 fbvnc.u
pascal@157 33 cpio.u
pascal@157 34 scriptreplay.u
pascal@157 35 ash.u
pascal@157 36 EOT
pascal@157 37 [ $(. $WOK/linux/receipt; printf "%d%02d%02d" ${VERSION//./ }) -le 20626 ] &&
pascal@157 38 echo apply 0001-mdev-create-devices-from-sys-dev.patch &&
pascal@157 39 patch -p1 -R < $stuff/0001-mdev-create-devices-from-sys-dev.patch
pascal@157 40 cp $stuff/$PACKAGE-git.config .config
pascal@157 41 var="CONFIG_CROSS_COMPILER_PREFIX"
pascal@157 42 sed -i "s/.*$var.*/$var=\"uclibc-$TARGET-\"/" .config
pascal@157 43 }
pascal@157 44
pascal@157 45 # Rules to configure and make the package.
pascal@157 46 compile_rules()
pascal@157 47 {
pascal@157 48 { apply_bb_patchs &&
pascal@157 49 make oldconfig &&
pascal@157 50 make &&
pascal@157 51 make install
pascal@157 52 } || return 1
pascal@157 53 echo "Chmod 4755 on busybox binary..."
pascal@157 54 chmod 4755 _install/bin/busybox
pascal@157 55 mkdir -p _install/lib
pascal@157 56 LD_LIBRARY_PATH=/usr/share/uclibc-cross-compiler-$TARGET/lib \
pascal@157 57 uclibc-$TARGET-ldd busybox 2> /dev/null | \
pascal@157 58 awk '/=>/ { print $3 }' | while read file ; do
pascal@157 59 cp -a $file _install/lib
pascal@157 60 while [ -L "$file" ]; do
pascal@157 61 dir="$(dirname $file)/"
pascal@157 62 file="$(readlink $file)"
pascal@157 63 case "$file" in
pascal@157 64 /*) ;;
pascal@157 65 *) file="$dir$file";;
pascal@157 66 esac
pascal@157 67 cp -a "$file" _install/lib
pascal@157 68 done
pascal@157 69 done
pascal@157 70 chown 0.0 _install/lib/*
pascal@157 71 }
pascal@157 72
pascal@157 73 # Rules to gen a SliTaz package suitable for Tazpkg.
pascal@157 74 genpkg_rules()
pascal@157 75 {
pascal@173 76 mkdir -p $fs/boot $fs/bin $fs/sbin $fs/etc/init.d
pascal@173 77 sed -e 's| *#.*$||' -e '/^$/d' < $stuff/services > $fs/etc/services
pascal@157 78 cp -a $src/_install/bin/busybox $fs/bin
pascal@161 79 for i in /bin/sh /bin/login /bin/false /sbin/mdev /init ; do
pascal@157 80 ln -f $fs/bin/busybox $fs$i
pascal@157 81 done
pascal@157 82
pascal@157 83 # Busybox config files.
pascal@157 84 touch $fs/etc/resolv.conf
pascal@157 85 cp $stuff/inetd.conf $fs/etc
pascal@173 86 cp $stuff/network.conf $fs/etc
pascal@157 87 cp $stuff/daemon $fs/etc/init.d
pascal@173 88 cp $stuff/network.sh $fs/etc/init.d
pascal@157 89 for i in crond dnsd ftpd httpd inetd klogd ntpd syslogd telnetd tftpd \
pascal@157 90 udhcpd zcip ; do
pascal@157 91 grep -qi config_$i=y $src/.config &&
pascal@157 92 ln -s daemon $fs/etc/init.d/$i
pascal@157 93 done
pascal@157 94 # Udhcpc stuff.
pascal@157 95 mkdir -p $fs/usr/share/udhcpc
pascal@157 96 cp $stuff/udhcp.script $fs/usr/share/udhcpc/default.script
pascal@157 97 chmod +x $fs/usr/share/udhcpc/default.script
pascal@157 98
pascal@173 99 sed -i '2,$s/^#.*//;/^$/d' $fs/etc/init.d/daemon $fs/etc/init.d/*.sh
pascal@173 100 sed -i 's/^#.*//;/^$/d' $fs/etc/*.conf
pascal@161 101 find $fs -exec touch -r $fs {} \;
pascal@161 102 cp $stuff/busybox-net-git.config $fs/boot/config-busybox
pascal@157 103 }
pascal@157 104
pascal@157 105 config_form()
pascal@157 106 {
pascal@157 107 if [ -z "$MODE" ]; then
pascal@157 108 [ -n "$INTERFACE" ] || INTERFACE=eth0
pascal@157 109 [ -n "$IP" ] || IP=192.168.0.6
pascal@157 110 [ -n "$NETMASK" ] || NETMASK=255.255.255.0
pascal@157 111 [ -n "$GATEWAY" ] || GATEWAY=192.168.0.1
pascal@157 112 [ -n "$DNS_SERVER" ] || DNS_SERVER='192.168.0.1 192.168.0.2'
pascal@157 113 fi
pascal@157 114 cat <<EOT
pascal@157 115 <table>
pascal@157 116 <tr>
pascal@157 117 <td>Interface</td>
pascal@157 118 <td><input type="text" name="INTERFACE" value="$INTERFACE" /></td>
pascal@157 119 </tr>
pascal@157 120 <tr>
pascal@157 121 <td>Network configuration</td>
pascal@157 122 <td><select name="MODE">
pascal@157 123 <option value="STATIC">STATIC</option>
pascal@157 124 <option value="DHCP"$([ "$MODE" = "DHCP" ] && echo ' selected="selected"')>DHCP</option>
pascal@157 125 <option value="DISABLE"$([ "$MODE" = "DISABLE" ] && echo ' selected="selected"')>DISABLE</option>
pascal@157 126 </select></td>
pascal@157 127 </tr>
pascal@157 128 <tr>
pascal@157 129 <td>Internet address</td>
pascal@157 130 <td><input type="text" name="IP" value="$IP" /></td>
pascal@157 131 </tr>
pascal@157 132 <tr>
pascal@157 133 <td>Netmask</td>
pascal@157 134 <td><input type="text" name="NETMASK" value="$NETMASK" /></td>
pascal@157 135 </tr>
pascal@157 136 <tr>
pascal@157 137 <td>Gateway</td>
pascal@157 138 <td><input type="text" name="GATEWAY" value="$GATEWAY" /></td>
pascal@157 139 </tr>
pascal@157 140 <tr>
pascal@157 141 <td>DNS server(s)</td>
pascal@157 142 <td><input type="text" name="DNS_SERVER" value="$DNS_SERVER" /></td>
pascal@157 143 </tr>
pascal@157 144 </table>
pascal@157 145 EOT
pascal@157 146 }
pascal@157 147
pascal@173 148 config_note()
pascal@173 149 {
pascal@173 150 cat <<EOT
pascal@173 151 <script type="text/javascript">
pascal@173 152 function update_form()
pascal@173 153 {
pascal@173 154 var hide = true
pascal@173 155 for (var i = 0; i < document.forms.length; i++) {
pascal@173 156 for (var j = 0; j < document.forms[i].elements.length; j++) {
pascal@173 157 var obj = document.forms[i].elements[j]
pascal@173 158 if (obj.name == "MODE" && obj.value == "STATIC")
pascal@173 159 hide = false
pascal@173 160 }
pascal@173 161 }
pascal@173 162 for (var i = 0; i < document.forms.length; i++) {
pascal@173 163 for (var j = 0; j < document.forms[i].elements.length; j++) {
pascal@173 164 var obj = document.forms[i].elements[j]
pascal@173 165 switch (obj.name) {
pascal@173 166 case "IP" :
pascal@173 167 case "NETMASK" :
pascal@173 168 case "GATEWAY" :
pascal@173 169 case "DNS_SERVER" :
pascal@173 170 obj.disabled = hide; break;
pascal@173 171 }
pascal@173 172 }
pascal@173 173 }
pascal@173 174 }
pascal@173 175 update_form()
pascal@173 176 window.onchange = update_form
pascal@173 177 //-->
pascal@173 178 </script>
pascal@173 179 EOT
pascal@173 180 }
pascal@173 181
pascal@157 182 post_install()
pascal@157 183 {
pascal@157 184 sed -i 's|local.sh|network.sh &|' $1/etc/rcS.conf
pascal@157 185 chmod 4755 $1/bin/busybox
pascal@162 186 ln -fs /proc/mounts $1/etc/mtab
pascal@157 187 DHCP="no"
pascal@157 188 STATIC="yes"
pascal@157 189 case "$MODE" in
pascal@157 190 "") return 1;;
pascal@157 191 DISABLE)
pascal@157 192 STATIC="no" ;;
pascal@157 193 DHCP) DHCP="yes"
pascal@157 194 STATIC="no"
pascal@157 195 esac
pascal@157 196 sed -i -e "s/^DNS_SERVER=.*/DNS_SERVER=\"$DNS_SERVER\"/" \
pascal@157 197 -e "s/^INTERFACE=.*/INTERFACE=\"$INTERFACE\"/" \
pascal@157 198 -e "s/^NETMASK=.*/NETMASK=\"$NETMASK\"/" \
pascal@157 199 -e "s/^GATEWAY=.*/GATEWAY=\"$GATEWAY\"/" \
pascal@157 200 -e "s/^STATIC=.*/STATIC=\"$STATIC\"/" \
pascal@157 201 -e "s/^DHCP=.*/DHCP=\"$DHCP\"/" \
pascal@157 202 -e "s/^IP=.*/IP=\"$IP\"/" $1/etc/network.conf
pascal@157 203 [ -n "$HOSTNAME" ] && echo $HOSTNAME > $1/etc/hostname
pascal@157 204 }