wok-tiny view dropbear/receipt @ rev 183

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