diff --git a/net-misc/openssh/openssh-5.8p1.bep b/net-misc/openssh/openssh-5.8p1.bep new file mode 100644 index 000000000..c429a702f --- /dev/null +++ b/net-misc/openssh/openssh-5.8p1.bep @@ -0,0 +1,54 @@ +DESCRIPTION="OpenSSH" +HOMEPAGE="http://www.openssh.com/" +SRC_URI="http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-5.8p1.tar.gz + http://obsd.cec.mtu.edu/pub/OpenBSD/OpenSSH/portable/openssh-5.8p1.tar.gz" +REVISION="1" +STATUS_HAIKU="stable" +DEPEND="dev-libs/openssl >= 1.0.0 + dev-libs/libedit >= 20090923" +CHECKSUM_MD5="86f5e1c23b4c4845f23b9b7b493fb53d" +BUILD { + cd openssh-5.8p1 + autoconf + mkdir -p m4 + cp /boot/common/share/aclocal/libtool.m4 m4 + cp /boot/common/share/aclocal/ltoptions.m4 m4 + cp /boot/common/share/aclocal/ltversion.m4 m4 + cp /boot/common/share/aclocal/ltsugar.m4 m4 + cp /boot/common/share/aclocal/lt~obsolete.m4 m4 + echo 'AC_CONFIG_MACRO_DIR([m4])' >> configure.ac + libtoolize --force --copy + aclocal -I m4 + autoconf + ./configure --prefix=`finddir B_COMMON_DIRECTORY` \ + --sbindir=`finddir B_COMMON_BIN_DIRECTORY` \ + --bindir=`finddir B_COMMON_BIN_DIRECTORY` \ + --libexecdir=`finddir B_COMMON_LIB_DIRECTORY` \ + --sysconfdir=`finddir B_USER_SETTINGS_DIRECTORY`/ssh \ + --libdir=`finddir B_COMMON_LIB_DIRECTORY` \ + --includedir=`finddir B_COMMON_DIRECTORY`/include \ + --datadir=`finddir B_COMMON_DATA_DIRECTORY` \ + --mandir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man \ + --docdir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY` \ + --sysconfdir=`finddir B_COMMON_SETTINGS_DIRECTORY`/ssh \ + --with-default-path=${PATH} \ + --with-md5-passwords \ + --disable-utmpx \ + --with-libedit + make +} + +INSTALL { + cd openssh-5.8p1 + make install DESTDIR="${DESTDIR}" + mkdir -p ${DESTDIR}/boot/common/boot/post_install + cp -f $(haikuporter -t)/net-misc/openssh/sshd_keymaker.sh ${DESTDIR}/boot/common/boot/post_install +} + +TEST { + cd openssh-5.8p1 + make tests +} + +LICENSE="OpenSSH" +COPYRIGHT="2005-2011 Tatu Ylonen et al." diff --git a/net-misc/openssh/patches/openssh-5.8p1.patch b/net-misc/openssh/patches/openssh-5.8p1.patch new file mode 100644 index 000000000..cfa13681b --- /dev/null +++ b/net-misc/openssh/patches/openssh-5.8p1.patch @@ -0,0 +1,140 @@ +diff -urN openssh-5.8p1/configure.ac openssh-5.8p1-haiku/configure.ac +--- openssh-5.8p1/configure.ac 2011-01-21 22:37:05.026738688 +0000 ++++ openssh-5.8p1-haiku/configure.ac 2011-01-25 08:26:16.039583744 +0000 +@@ -1347,7 +1347,7 @@ + LIBEDIT=`$PKGCONFIG --libs-only-l libedit` + CPPFLAGS="$CPPFLAGS `$PKGCONFIG --cflags libedit`" + else +- LIBEDIT="-ledit -lcurses" ++ AC_CHECK_LIB(curses, tgetent, [LIBEDIT="-ledit -lcurses"], AC_CHECK_LIB(ncurses, tgetent, [LIBEDIT="-ledit -lncurses"])) + fi + OTHERLIBS=`echo $LIBEDIT | sed 's/-ledit//'` + AC_CHECK_LIB(edit, el_init, +diff -urN openssh-5.8p1/pathnames.h openssh-5.8p1-haiku/pathnames.h +--- openssh-5.8p1/pathnames.h 2010-08-31 12:41:14.035651584 +0000 ++++ openssh-5.8p1-haiku/pathnames.h 2011-01-25 08:26:32.062914560 +0000 +@@ -12,7 +12,15 @@ + * called by a name other than "ssh" or "Secure Shell". + */ + +-#define ETCDIR "/etc" ++#define HAIKU_USER_SETTINGS_DIRECTORY "~/config/settings" ++#define HAIKU_COMMON_SETTINGS_DIRECTORY "/boot/common/settings" ++#define HAIKU_COMMON_BIN_DIRECTORY "/boot/common/bin" ++#define HAIKU_COMMON_VAR_DIRECTORY "/boot/common/var" ++#define HAIKU_COMMON_SERVERS_DIRECTORY "/boot/common/servers" ++#define HAIKU_SYSTEM_BIN_DIRECTORY "/boot/system/bin" ++ ++ ++#define ETCDIR HAIKU_COMMON_SETTINGS_DIRECTORY + + #ifndef SSHDIR + #define SSHDIR ETCDIR "/ssh" +@@ -45,7 +53,7 @@ + #define _PATH_DH_PRIMES SSHDIR "/primes" + + #ifndef _PATH_SSH_PROGRAM +-#define _PATH_SSH_PROGRAM "/usr/bin/ssh" ++#define _PATH_SSH_PROGRAM B_COMMON_BIN_DIRECTORY + #endif + + /* +@@ -58,25 +66,25 @@ + * The directory in user's home directory in which the files reside. The + * directory should be world-readable (though not all files are). + */ +-#define _PATH_SSH_USER_DIR ".ssh" ++#define _PATH_SSH_USER_DIR "config/settings/ssh" + + /* + * Per-user file containing host keys of known hosts. This file need not be + * readable by anyone except the user him/herself, though this does not + * contain anything particularly secret. + */ +-#define _PATH_SSH_USER_HOSTFILE "~/.ssh/known_hosts" ++#define _PATH_SSH_USER_HOSTFILE "/boot/home/config/settings/ssh/known_hosts" + /* backward compat for protocol 2 */ +-#define _PATH_SSH_USER_HOSTFILE2 "~/.ssh/known_hosts2" ++#define _PATH_SSH_USER_HOSTFILE2 "/boot/home/config/settings/ssh/known_hosts2" + + /* + * Name of the default file containing client-side authentication key. This + * file should only be readable by the user him/herself. + */ +-#define _PATH_SSH_CLIENT_IDENTITY ".ssh/identity" +-#define _PATH_SSH_CLIENT_ID_DSA ".ssh/id_dsa" +-#define _PATH_SSH_CLIENT_ID_ECDSA ".ssh/id_ecdsa" +-#define _PATH_SSH_CLIENT_ID_RSA ".ssh/id_rsa" ++#define _PATH_SSH_CLIENT_IDENTITY _PATH_SSH_USER_DIR "/identity" ++#define _PATH_SSH_CLIENT_ID_DSA _PATH_SSH_USER_DIR "/id_dsa" ++#define _PATH_SSH_CLIENT_ID_ECDSA _PATH_SSH_USER_DIR "/id_ecdsa" ++#define _PATH_SSH_CLIENT_ID_RSA _PATH_SSH_USER_DIR "/id_rsa" + + /* + * Configuration file in user's home directory. This file need not be +@@ -84,7 +92,7 @@ + * particularly secret. If the user's home directory resides on an NFS + * volume where root is mapped to nobody, this may need to be world-readable. + */ +-#define _PATH_SSH_USER_CONFFILE ".ssh/config" ++#define _PATH_SSH_USER_CONFFILE _PATH_SSH_USER_DIR "/config" + + /* + * File containing a list of those rsa keys that permit logging in as this +@@ -94,10 +102,10 @@ + * may need to be world-readable. (This file is read by the daemon which is + * running as root.) + */ +-#define _PATH_SSH_USER_PERMITTED_KEYS ".ssh/authorized_keys" ++#define _PATH_SSH_USER_PERMITTED_KEYS _PATH_SSH_USER_DIR "/authorized_keys" + + /* backward compat for protocol v2 */ +-#define _PATH_SSH_USER_PERMITTED_KEYS2 ".ssh/authorized_keys2" ++#define _PATH_SSH_USER_PERMITTED_KEYS2 _PATH_SSH_USER_DIR "/authorized_keys2" + + /* + * Per-user and system-wide ssh "rc" files. These files are executed with +@@ -105,7 +113,7 @@ + * passed "proto cookie" as arguments if X11 forwarding with spoofing is in + * use. xauth will be run if neither of these exists. + */ +-#define _PATH_SSH_USER_RC ".ssh/rc" ++#define _PATH_SSH_USER_RC _PATH_SSH_USER_DIR "/rc" + #define _PATH_SSH_SYSTEM_RC SSHDIR "/sshrc" + + /* +@@ -149,17 +157,16 @@ + + /* for sftp */ + #ifndef _PATH_SFTP_SERVER +-#define _PATH_SFTP_SERVER "/usr/libexec/sftp-server" ++#define _PATH_SFTP_SERVER HAIKU_COMMON_SERVERS_DIRECTORY "/sftp-server" + #endif + + /* chroot directory for unprivileged user when UsePrivilegeSeparation=yes */ + #ifndef _PATH_PRIVSEP_CHROOT_DIR +-#define _PATH_PRIVSEP_CHROOT_DIR "/var/empty" ++#define _PATH_PRIVSEP_CHROOT_DIR HAIKU_COMMON_VAR_DIRECTORY "/empty" + #endif +- + /* for passwd change */ + #ifndef _PATH_PASSWD_PROG +-#define _PATH_PASSWD_PROG "/usr/bin/passwd" ++#define _PATH_PASSWD_PROG HAIKU_SYSTEM_BIN_DIRECTORY "/passwd" + #endif + + #ifndef _PATH_LS +@@ -171,11 +178,11 @@ + # ifdef LOGIN_PROGRAM_FALLBACK + # define LOGIN_PROGRAM LOGIN_PROGRAM_FALLBACK + # else +-# define LOGIN_PROGRAM "/usr/bin/login" ++# define LOGIN_PROGRAM HAIKU_SYSTEM_BIN_DIRECTORY "/login" + # endif + #endif /* LOGIN_PROGRAM */ + + /* Askpass program define */ + #ifndef ASKPASS_PROGRAM +-#define ASKPASS_PROGRAM "/usr/lib/ssh/ssh-askpass" ++#define ASKPASS_PROGRAM HAIKU_COMMON_BIN_DIRECTORY "/ssh/ssh-askpass" + #endif /* ASKPASS_PROGRAM */