openssh: Enable libedit in sftp
[termux-packages] / packages / openssh / build.sh
CommitLineData
cff3a76b 1TERMUX_PKG_HOMEPAGE=https://www.openssh.com/
59f0d218 2TERMUX_PKG_DESCRIPTION="Secure shell for logging into a remote machine"
cff3a76b 3TERMUX_PKG_VERSION=7.5p1
1ee955a1 4TERMUX_PKG_REVISION=1
a8b61adf 5TERMUX_PKG_SRCURL=http://mirrors.evowise.com/pub/OpenBSD/OpenSSH/portable/openssh-${TERMUX_PKG_VERSION}.tar.gz
cff3a76b 6TERMUX_PKG_SHA256=9846e3c5fab9f0547400b4d2c017992f914222b3fd1f8eee6c7dc6bc5e59f9f0
1ee955a1 7TERMUX_PKG_DEPENDS="libandroid-support, ldns, openssl, libedit, libutil"
59f0d218 8# --disable-strip to prevent host "install" command to use "-s", which won't work for target binaries:
cff3a76b
FF
9TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
10--disable-etc-default-login
11--disable-lastlog
12--disable-libutil
13--disable-pututline
14--disable-pututxline
15--disable-strip
16--disable-utmp
17--disable-utmpx
18--disable-wtmp
19--disable-wtmpx
20--sysconfdir=$TERMUX_PREFIX/etc/ssh
21--with-cflags=-Dfd_mask=int
22--with-ldns
1ee955a1 23--with-libedit
cff3a76b
FF
24--without-ssh1
25--without-stackprotect
26--with-pid-dir=$TERMUX_PREFIX/var/run
27--with-privsep-path=$TERMUX_PREFIX/var/empty
28ac_cv_func_endgrent=yes
29ac_cv_func_fmt_scaled=no
30ac_cv_func_getlastlogxbyname=no
31ac_cv_func_readpassphrase=no
32ac_cv_func_strnvis=no
33ac_cv_header_sys_un_h=yes
34ac_cv_search_getrrsetbyname=no
35"
59f0d218
FF
36TERMUX_PKG_MAKE_INSTALL_TARGET="install-nokeys"
37TERMUX_PKG_RM_AFTER_INSTALL="bin/slogin share/man/man1/slogin.1"
38
7ce56385 39termux_step_pre_configure() {
cff3a76b
FF
40 # We patch configure.ac:
41 cd $TERMUX_PKG_SRCDIR
42 autoreconf
43
7ce56385
FF
44 LD=$CC # Needed to link the binaries
45 LDFLAGS+=" -llog" # liblog for android logging in syslog hack
46}
59f0d218 47
7b1f1bd3 48termux_step_post_configure() {
59f0d218
FF
49 # We need to remove this file before installing, since otherwise the
50 # install leaves it alone which means no updated timestamps.
51 rm -Rf $TERMUX_PREFIX/etc/moduli
52}
53
54termux_step_post_make_install () {
62c37b97 55 # OpenSSH 7.0 disabled ssh-dss by default, keep it for a while in Termux:
b79434aa 56 echo -e "PasswordAuthentication no\nPubkeyAcceptedKeyTypes +ssh-dss\nSubsystem sftp $TERMUX_PREFIX/libexec/sftp-server" > $TERMUX_PREFIX/etc/ssh/sshd_config
62c37b97 57 echo "PubkeyAcceptedKeyTypes +ssh-dss" > $TERMUX_PREFIX/etc/ssh/ssh_config
59f0d218
FF
58 cp $TERMUX_PKG_BUILDER_DIR/source-ssh-agent.sh $TERMUX_PREFIX/bin/source-ssh-agent
59 cp $TERMUX_PKG_BUILDER_DIR/ssh-with-agent.sh $TERMUX_PREFIX/bin/ssha
60
b0c457ae
FF
61 # Install ssh-copy-id:
62 cp $TERMUX_PKG_SRCDIR/contrib/ssh-copy-id.1 $TERMUX_PREFIX/share/man/man1/
63 cp $TERMUX_PKG_SRCDIR/contrib/ssh-copy-id $TERMUX_PREFIX/bin/
64 chmod +x $TERMUX_PREFIX/bin/ssh-copy-id
65
59f0d218
FF
66 mkdir -p $TERMUX_PREFIX/var/run
67 echo "OpenSSH needs this folder to put sshd.pid in" >> $TERMUX_PREFIX/var/run/README.openssh
68
69 mkdir -p $TERMUX_PREFIX/etc/ssh/
70 cp $TERMUX_PKG_SRCDIR/moduli $TERMUX_PREFIX/etc/ssh/moduli
71}
72
73termux_step_create_debscripts () {
74 echo "mkdir -p \$HOME/.ssh" > postinst
75 echo "" >> postinst
76 echo "for a in rsa dsa ecdsa ed25519; do" >> postinst
77 echo " KEYFILE=$TERMUX_PREFIX/etc/ssh/ssh_host_\${a}_key" >> postinst
78 echo " test ! -f \$KEYFILE && ssh-keygen -N '' -t \$a -f \$KEYFILE" >> postinst
79 echo "done" >> postinst
80 echo "exit 0" >> postinst
81 chmod 0755 postinst
82}