# SliTaz package receipt.

PACKED_SIZE="128.0K"
UNPACKED_SIZE="352.0K"
PACKAGE="dropbear"
VERSION="2014.63"
CATEGORY="security"
SHORT_DESC="Light SSH client and server."
MAINTAINER="pascal.bellard@slitaz.org"
LICENSE="MIT"
TARBALL="$PACKAGE-$VERSION.tar.bz2"
WEB_SITE="http://matt.ucc.asn.au/dropbear/dropbear.html"
WGET_URL="http://matt.ucc.asn.au/dropbear/releases/$TARBALL"
CONFIG_FILES="/etc/dropbear"
SUGGESTED="sftp-server"
PROVIDE="ssh"
TAGS="ssh"
HOST_ARCH="i486 arm"

DEPENDS="zlib"
BUILD_DEPENDS="zlib-dev pam pam-dev"

# Handle multiarch compilation.
case "$ARCH" in
	arm)
		BUILD_DEPENDS=""
		CROSS_ARGS="--disable-zlib"
		CROSS_BUGS="Fails to find zlib: -lz... no" ;;
esac

# Rules to configure and make the package.
compile_rules()
{
	local i
	local DROPBEARS
	DROPBEARS="dropbearkey dropbearconvert dbclient scp"
	cd $src
	sed -i  -e 's|/usr/.*/xauth|/usr/bin/xauth|' \
		-e 's|/usr/.*/sftp-server|/usr/sbin/sftp-server|' \
 		-e 's|ENABLE_SVR_PAM_AUTH|ENABLE_SVR_PASSWORD_AUTH|' \
		options.h
	./configure --prefix=/usr --without-pam $CONFIGURE_ARGS $CROSS_ARGS &&
	make PROGRAMS="dropbear $DROPBEARS" MULTI=1 SCPPROGRESS=1 &&
	install -d -m 755 $DESTDIR/usr/sbin &&
	install -m 755 dropbearmulti $DESTDIR/usr/sbin/dropbear &&
	chown 0.0 $DESTDIR/usr/sbin/dropbear || exit 1

	# No pam support in ARM
	case "$ARCH" in
		arm) echo "Skipping Dropbear PAM..." ;;
		i?86)
			sed -i 's|ENABLE_SVR_PASSWORD_AUTH|ENABLE_SVR_PAM_AUTH|' \
				options.h
			./configure --prefix=/usr --enable-pam $CONFIGURE_ARGS &&
			make PROGRAMS="dropbear $DROPBEARS" MULTI=1 SCPPROGRESS=1 &&
			install -m 755 dropbearmulti $DESTDIR/usr/sbin/dropbear-pam &&
			chown 0.0 $DESTDIR/usr/sbin/dropbear-pam || exit 1 ;;
	esac

	install -d -m 755 $DESTDIR/usr/bin &&
	for i in $DROPBEARS ssh; do
		ln -s ../sbin/dropbear $DESTDIR/usr/bin/$i || exit 1
	done
}

# Rules to gen a SliTaz package suitable for Tazpkg.
genpkg_rules()
{
	mkdir -p $fs/usr
	cp -a $install/usr/bin $fs/usr
	cp -a $install/usr/sbin $fs/usr
	rm -f $fs/usr/sbin/dropbear-pam
	# Config file and init script.
	mkdir -p $fs/etc
	cp -a $stuff/dropbear $fs/etc
	cp -a $stuff/init.d $fs/etc
	cp -a $stuff/sshx $fs/usr/bin
	ln -s sshx $fs/usr/bin/pppssh
	touch $fs/etc/dropbear/dropbear_dss_host_key \
		$fs/etc/dropbear/dropbear_rsa_host_key

	# Fix dropbear initscript perms
	chown -R root.root $fs
}

# Post message when installing.
post_install()
{
	[ "$1" ] || while read dropbear openssh ; do
		[ -s $openssh ] || continue
		dropbearconvert openssh dropbear ${root}$openssh ${root}$dropbear
		dropbearkey -y -f ${root}$dropbear | grep Fingerprint
	done <<EOT
/etc/dropbear/dropbear_rsa_host_key	/etc/ssh/ssh_host_rsa_key
/etc/dropbear/dropbear_dss_host_key	/etc/ssh/ssh_host_dsa_key
EOT
	echo -e "\nTo starts $PACKAGE server you can run :\n"
	echo "/etc/init.d/$PACKAGE start"
	echo -e "Or add $PACKAGE to RUN_DAEMONS in /etc/rcS.conf\n"
}
