diff --git a/net-misc/openssh/openssh-5.6p1.bep b/net-misc/openssh/openssh-5.6p1.bep new file mode 100644 index 000000000..f742f3eff --- /dev/null +++ b/net-misc/openssh/openssh-5.6p1.bep @@ -0,0 +1,47 @@ +DESCRIPTION="OpenSSH" +HOMEPAGE="http://www.openssh.com/" +SRC_URI="http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-5.6p1.tar.gz" +REVISION="1" +STATUS_HAIKU="stable" +DEPEND="dev-libs/openssl >= 1.0.0 + dev-libs/libedit >= 20090923" +CHECKSUM_MD5="e6ee52e47c768bf0ec42a232b5d18fb0" +BUILD { + cd openssh-5.6p1 + 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_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.6p1 + 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 +} +LICENSE="OpenSSH" +COPYRIGHT="2005-2010 Tatu Ylonen et al." diff --git a/net-misc/openssh/patches/openssh-5.6p1.patch b/net-misc/openssh/patches/openssh-5.6p1.patch new file mode 100644 index 000000000..df54e5193 --- /dev/null +++ b/net-misc/openssh/patches/openssh-5.6p1.patch @@ -0,0 +1,138 @@ +diff -urN openssh-5.6p1/configure.ac openssh-5.6p1-haiku/configure.ac +--- openssh-5.6p1/configure.ac 2010-04-10 12:58:01.014942208 +0000 ++++ openssh-5.6p1-haiku/configure.ac 2010-04-30 05:09:08.936378368 +0000 +@@ -1277,7 +1277,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.6p1/pathnames.h openssh-5.6p1-haiku/pathnames.h +--- openssh-5.6p1/pathnames.h 2010-02-24 06:17:58.023592960 +0000 ++++ openssh-5.6p1-haiku/pathnames.h 2010-04-30 04:53:52.000000000 +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" +@@ -44,7 +52,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 + + /* +@@ -57,24 +65,24 @@ + * 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_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_RSA _PATH_SSH_USER_DIR "/id_rsa" + + /* + * Configuration file in user's home directory. This file need not be +@@ -82,7 +90,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 +@@ -92,10 +100,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 +@@ -103,7 +111,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" + + /* +@@ -147,17 +155,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 +@@ -169,11 +176,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 */