wok-tiny annotate dropbear/receipt @ rev 176

busybox: fix modules order
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed Jul 14 19:16:39 2021 +0000 (2021-07-14)
parents a28c45a86936
children 1e55ea7da8de
rev   line source
pascal@38 1 # SliTaz package receipt.
pascal@38 2
pascal@38 3 PACKAGE="dropbear"
pascal@38 4 VERSION="0.53"
pascal@38 5 CATEGORY="security"
pascal@38 6 SHORT_DESC="Light SSH client and server."
pascal@38 7 MAINTAINER="pascal.bellard@slitaz.org"
pascal@90 8 LICENSE="MIT"
pascal@38 9 TARBALL="$PACKAGE-$VERSION.tar.gz"
pascal@157 10 DEPENDS="libutil zlib busybox-net"
pascal@38 11 [ -n "$TARGET" ] || TARGET="i486"
pascal@94 12 BUILD_DEPENDS="uclibc-cross-compiler-$TARGET zlib-dev"
pascal@38 13 WEB_SITE="http://matt.ucc.asn.au/dropbear/dropbear.html"
pascal@38 14 WGET_URL="http://matt.ucc.asn.au/dropbear/releases/$TARBALL"
pascal@67 15 CONFIG_FILES="/etc/dropbear /etc/daemons.conf /etc/rcS.conf"
pascal@146 16 PROVIDE="ssh scp dropbear-client"
pascal@38 17 TAGS="ssh"
pascal@38 18
pascal@38 19 # Rules to configure and make the package.
pascal@38 20 compile_rules()
pascal@38 21 {
pascal@38 22 local i
pascal@38 23 local DROPBEARS
pascal@38 24 DROPBEARS="dbclient scp"
pascal@38 25 sed -i -e 's|/usr/X11R6/bin/xauth|/usr/bin/xauth|' \
pascal@163 26 -e 's|.*define NON_INETD_MODE.*|/*&*/|' \
pascal@163 27 -e 's|.*sftp-server.*|/*&*/|' \
pascal@138 28 -e 's|.*MD5_HMAC.*|/*&*/|' \
pascal@138 29 -e 's|.*_AES128.*|/*&*/|' \
pascal@138 30 -e 's|.*TWOFISH128.*|/*&*/|' \
pascal@38 31 options.h
pascal@163 32 echo "#define DISABLE_X11FWD" >> options.h
pascal@94 33 [ -d $WOK/zlib/taz ] || cook zlib
pascal@94 34 ln -s $WOK/zlib/taz/*/fs/usr/lib/* /usr/share/uclibc-cross-compiler-$TARGET/lib/ 2> /dev/null
pascal@94 35 ln -s /usr/include/z*.h /usr/share/uclibc-cross-compiler-$TARGET/include/ 2> /dev/null
pascal@38 36 ./configure --prefix=/usr --without-pam --host=$TARGET-pc-linux-gnu \
pascal@69 37 CC=uclibc-$TARGET-cc &&
pascal@38 38 make PROGRAMS="dropbear $DROPBEARS" MULTI=1 &&
pascal@94 39 install -d -m 755 $DESTDIR/usr/sbin &&
pascal@94 40 install -m 755 dropbearmulti $DESTDIR/usr/sbin/dropbear &&
pascal@94 41 chown root $DESTDIR/usr/sbin/dropbear &&
pascal@94 42 chgrp 0 $DESTDIR/usr/sbin/dropbear &&
pascal@94 43 install -d -m 755 $DESTDIR/usr/bin &&
pascal@38 44 for i in $DROPBEARS ssh; do
pascal@103 45 ln $DESTDIR/usr/sbin/dropbear $DESTDIR/usr/bin/$i
pascal@38 46 done
pascal@38 47 }
pascal@38 48
pascal@38 49 # Rules to gen a SliTaz package suitable for Tazpkg.
pascal@38 50 genpkg_rules()
pascal@38 51 {
pascal@112 52 mkdir -p $fs/usr/sbin $fs/etc/init.d $fs/etc/dropbear
pascal@94 53 cp -a $install/usr/bin $fs/usr
pascal@112 54 ln $fs/usr/bin/dbclient $fs/usr/sbin/dropbear
pascal@38 55 ln -s daemon $fs/etc/init.d/dropbear
pascal@38 56 cat > $fs/etc/dropbear/banner <<EOT
pascal@38 57
pascal@38 58 Secure login on Tiny SliTaz GNU/Linux powered by Dropbear.
pascal@38 59 EOT
pascal@38 60
pascal@38 61 # Fix dropbear initscript perms
pascal@38 62 chown -R root.root $fs
pascal@38 63 }
pascal@38 64
pascal@38 65 # Post message when installing.
pascal@38 66 post_install()
pascal@38 67 {
pascal@87 68 if [ "$STARTDAEMON" = "ON" ]; then
pascal@87 69 grep -q inetd $1/etc/rcS.conf ||
pascal@87 70 sed -i 's/^RUN_DAEMONS="/&inetd /' $1/etc/rcS.conf
pascal@87 71 grep -q dropbear $1/etc/inetd.conf || cat >> $1/etc/inetd.conf <<EOT
pascal@86 72 ssh stream tcp nowait root /usr/sbin/dropbear /usr/sbin/dropbear -i $DROPBEAR_OPTS
pascal@67 73 EOT
pascal@87 74 fi
pascal@67 75 dos2unix <<EOT | uudecode - > $1/etc/dropbear/dropbear_dss_host_key
pascal@67 76 $DSSKEY
pascal@67 77 EOT
pascal@67 78 dos2unix <<EOT | uudecode - > $1/etc/dropbear/dropbear_rsa_host_key
pascal@67 79 $RSAKEY
pascal@67 80 EOT
pascal@38 81 chmod 600 $1/etc/dropbear/dropbear_*_host_key
pascal@38 82 }
pascal@38 83
pascal@38 84 config_form()
pascal@38 85 {
pascal@38 86 [ -n "$DROPBEAR_OPTS" ] || DROPBEAR_OPTS="-b /etc/dropbear/banner"
pascal@38 87 if [ -z "$DSSKEY" ]; then
pascal@38 88 dropbearkey -t dss -f /tmp/mkssh$$ > /dev/null 2>&1
pascal@38 89 DSSKEY="$(uuencode -m - < /tmp/mkssh$$)"
pascal@38 90 rm -f /tmp/mkssh$$
pascal@38 91 fi
pascal@67 92 uudecode - > /tmp/mkssh$$ <<EOT
pascal@67 93 $DSSKEY
pascal@67 94 EOT
pascal@67 95 DSSPUB="$(dropbearkey -y -f /tmp/mkssh$$ | grep ^ssh)"
pascal@67 96 rm -f /tmp/mkssh$$
pascal@38 97 if [ -z "$RSAKEY" ]; then
pascal@38 98 dropbearkey -t rsa -f /tmp/mkssh$$ > /dev/null 2>&1
pascal@38 99 RSAKEY="$(uuencode -m - < /tmp/mkssh$$)"
pascal@38 100 rm -f /tmp/mkssh$$
pascal@38 101 fi
pascal@67 102 uudecode - > /tmp/mkssh$$ <<EOT
pascal@67 103 $RSAKEY
pascal@67 104 EOT
pascal@67 105 RSAPUB="$(dropbearkey -y -f /tmp/mkssh$$ | grep ^ssh)"
pascal@67 106 rm -f /tmp/mkssh$$
pascal@38 107 cat <<EOT
pascal@126 108 <input type="checkbox" name="STARTDAEMON" value="ON" ${STARTDAEMON:+checked="checked" }/>
pascal@87 109 Start server during boot<br>
pascal@38 110 <table>
pascal@38 111 <tr>
pascal@38 112 <td>Server options</td>
pascal@38 113 <td><input type="text" name="DROPBEAR_OPTS" value="$DROPBEAR_OPTS" /></td>
pascal@38 114 </tr>
pascal@38 115 <tr>
pascal@38 116 <td>DSS key</td>
pascal@38 117 <td><textarea name="DSSKEY" cols="60" rows="13" wrap="off">
pascal@38 118 $DSSKEY
pascal@38 119 </textarea></td>
pascal@38 120 </tr>
pascal@38 121 <tr>
pascal@38 122 <td>RSA key</td>
pascal@38 123 <td><textarea name="RSAKEY" cols="60" rows="12" wrap="off">
pascal@38 124 $RSAKEY
pascal@38 125 </textarea></td>
pascal@38 126 </tr>
pascal@38 127 </table>
pascal@38 128 You can set your dropbear key
pascal@38 129 <pre>
pascal@38 130 # uuencode -m - < /etc/dropbear/dropbear_dss_host_key
pascal@38 131 </pre>
pascal@38 132 Or your ssh key
pascal@38 133 <pre>
pascal@38 134 # dropbearconvert openssh dropbear /etc/ssh/id_dsa /dev/stdout | uuencode -m -
pascal@38 135 </pre>
pascal@67 136 Default DSS public key is
pascal@67 137 <pre>
pascal@67 138 $DSSPUB
pascal@67 139 </pre>
pascal@67 140 Default RSA public key is
pascal@67 141 <pre>
pascal@67 142 $RSAPUB
pascal@67 143 </pre>
pascal@38 144 EOT
pascal@38 145 }