wok-tiny annotate dropbear/receipt @ rev 69

Add dropbear-without-zlib
author Pascal Bellard <pascal.bellard@slitaz.org>
date Fri Sep 16 18:15:41 2011 +0200 (2011-09-16)
parents 05be185b867c
children 326cb72ed4ae
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@38 8 TARBALL="$PACKAGE-$VERSION.tar.gz"
pascal@69 9 DEPENDS="libutil zlib"
pascal@38 10 [ -n "$TARGET" ] || TARGET="i486"
pascal@38 11 BUILD_DEPENDS="dropbear uclibc-cross-compiler-$TARGET"
pascal@38 12 SUGGESTED="sftp-server"
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@38 16 PROVIDE="ssh"
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 cd $src
pascal@38 26 sed -i -e 's|/usr/X11R6/bin/xauth|/usr/bin/xauth|' \
pascal@38 27 -e 's|/usr/libexec/sftp-server|/usr/sbin/sftp-server|' \
pascal@38 28 options.h
pascal@38 29 ./configure --prefix=/usr --without-pam --host=$TARGET-pc-linux-gnu \
pascal@69 30 CC=uclibc-$TARGET-cc &&
pascal@38 31 make PROGRAMS="dropbear $DROPBEARS" MULTI=1 &&
pascal@38 32 install -d -m 755 $PWD/_pkg/usr/sbin &&
pascal@38 33 install -m 755 dropbearmulti $PWD/_pkg/usr/sbin/dropbear &&
pascal@38 34 chown root $PWD/_pkg/usr/sbin/dropbear &&
pascal@38 35 chgrp 0 $PWD/_pkg/usr/sbin/dropbear &&
pascal@38 36 install -d -m 755 $PWD/_pkg/usr/bin &&
pascal@38 37 for i in $DROPBEARS ssh; do
pascal@38 38 ln -s ../sbin/dropbear $PWD/_pkg/usr/bin/$i
pascal@38 39 done
pascal@38 40 }
pascal@38 41
pascal@38 42 # Rules to gen a SliTaz package suitable for Tazpkg.
pascal@38 43 genpkg_rules()
pascal@38 44 {
pascal@38 45 mkdir -p $fs/usr $fs/etc/init.d $fs/etc/dropbear
pascal@38 46 cp -a $_pkg/usr/bin $fs/usr
pascal@38 47 cp -a $_pkg/usr/sbin $fs/usr
pascal@38 48 ln -s daemon $fs/etc/init.d/dropbear
pascal@38 49 cat > $fs/etc/dropbear/banner <<EOT
pascal@38 50
pascal@38 51 Secure login on Tiny SliTaz GNU/Linux powered by Dropbear.
pascal@38 52 EOT
pascal@38 53
pascal@38 54 # Fix dropbear initscript perms
pascal@38 55 chown -R root.root $fs
pascal@38 56 }
pascal@38 57
pascal@38 58 # Post message when installing.
pascal@38 59 post_install()
pascal@38 60 {
pascal@67 61 cat >> $1/etc/daemons.conf <<EOT
pascal@67 62
pascal@67 63 # Dropbear SSH server options.
pascal@67 64 DROPBEAR_OPTIONS="$DROPBEAR_OPTS"
pascal@67 65 EOT
pascal@67 66 grep -qs 'dropbear ' $1/etc/rcS.conf ||
pascal@67 67 sed -i 's/^RUN_DAEMONS="/&dropbear /' $1/etc/rcS.conf
pascal@67 68 dos2unix <<EOT | uudecode - > $1/etc/dropbear/dropbear_dss_host_key
pascal@67 69 $DSSKEY
pascal@67 70 EOT
pascal@67 71 dos2unix <<EOT | uudecode - > $1/etc/dropbear/dropbear_rsa_host_key
pascal@67 72 $RSAKEY
pascal@67 73 EOT
pascal@38 74 chmod 600 $1/etc/dropbear/dropbear_*_host_key
pascal@38 75 }
pascal@38 76
pascal@38 77 config_form()
pascal@38 78 {
pascal@38 79 [ -n "$DROPBEAR_OPTS" ] || DROPBEAR_OPTS="-b /etc/dropbear/banner"
pascal@38 80 if [ -z "$DSSKEY" ]; then
pascal@38 81 dropbearkey -t dss -f /tmp/mkssh$$ > /dev/null 2>&1
pascal@38 82 DSSKEY="$(uuencode -m - < /tmp/mkssh$$)"
pascal@38 83 rm -f /tmp/mkssh$$
pascal@38 84 fi
pascal@67 85 uudecode - > /tmp/mkssh$$ <<EOT
pascal@67 86 $DSSKEY
pascal@67 87 EOT
pascal@67 88 DSSPUB="$(dropbearkey -y -f /tmp/mkssh$$ | grep ^ssh)"
pascal@67 89 rm -f /tmp/mkssh$$
pascal@38 90 if [ -z "$RSAKEY" ]; then
pascal@38 91 dropbearkey -t rsa -f /tmp/mkssh$$ > /dev/null 2>&1
pascal@38 92 RSAKEY="$(uuencode -m - < /tmp/mkssh$$)"
pascal@38 93 rm -f /tmp/mkssh$$
pascal@38 94 fi
pascal@67 95 uudecode - > /tmp/mkssh$$ <<EOT
pascal@67 96 $RSAKEY
pascal@67 97 EOT
pascal@67 98 RSAPUB="$(dropbearkey -y -f /tmp/mkssh$$ | grep ^ssh)"
pascal@67 99 rm -f /tmp/mkssh$$
pascal@38 100 cat <<EOT
pascal@38 101 <table>
pascal@38 102 <tr>
pascal@38 103 <td>Server options</td>
pascal@38 104 <td><input type="text" name="DROPBEAR_OPTS" value="$DROPBEAR_OPTS" /></td>
pascal@38 105 </tr>
pascal@38 106 <tr>
pascal@38 107 <td>DSS key</td>
pascal@38 108 <td><textarea name="DSSKEY" cols="60" rows="13" wrap="off">
pascal@38 109 $DSSKEY
pascal@38 110 </textarea></td>
pascal@38 111 </tr>
pascal@38 112 <tr>
pascal@38 113 <td>RSA key</td>
pascal@38 114 <td><textarea name="RSAKEY" cols="60" rows="12" wrap="off">
pascal@38 115 $RSAKEY
pascal@38 116 </textarea></td>
pascal@38 117 </tr>
pascal@38 118 </table>
pascal@38 119 You can set your dropbear key
pascal@38 120 <pre>
pascal@38 121 # uuencode -m - < /etc/dropbear/dropbear_dss_host_key
pascal@38 122 </pre>
pascal@38 123 Or your ssh key
pascal@38 124 <pre>
pascal@38 125 # dropbearconvert openssh dropbear /etc/ssh/id_dsa /dev/stdout | uuencode -m -
pascal@38 126 </pre>
pascal@67 127 Default DSS public key is
pascal@67 128 <pre>
pascal@67 129 $DSSPUB
pascal@67 130 </pre>
pascal@67 131 Default RSA public key is
pascal@67 132 <pre>
pascal@67 133 $RSAPUB
pascal@67 134 </pre>
pascal@38 135 EOT
pascal@38 136 }