Initial patches and recipe for pre-released openssh-6.5

This commit is contained in:
Scott McCreary
2014-01-27 05:04:41 +00:00
parent 7a991925be
commit 72480b0638
3 changed files with 161 additions and 0 deletions

View File

@@ -0,0 +1,135 @@
SUMMARY="Secure Shell Client and Server (Remote Login Program)"
DESCRIPTION="
OpenSSH is a FREE version of the SSH connectivity tools that technical users \
of the Internet rely on. Users of telnet, rlogin, and ftp may not realize that \
their password is transmitted across the Internet unencrypted, but it is. \
OpenSSH encrypts all traffic (including passwords) to effectively eliminate \
eavesdropping, connection hijacking, and other attacks. Additionally, OpenSSH \
provides secure tunneling capabilities and several authentication methods, and \
supports all SSH protocol versions.
The OpenSSH suite replaces rlogin and telnet with the ssh program, rcp with \
scp, and ftp with sftp. Also included is sshd (the server side of the \
package), and the other utilities like ssh-add, ssh-agent, ssh-keysign, \
ssh-keyscan, ssh-keygen and sftp-server.
"
HOMEPAGE="http://www.openssh.com/"
LICENSE="OpenSSH"
COPYRIGHT="2005-2012 Tatu Ylonen et al."
#SRC_URI="http://openbsd.mirrorcatalogs.com/pub/OpenBSD/OpenSSH/portable/openssh-6.0p1.tar.gz"
SRC_URI="http://mindrot.org/openssh_snap/openssh-SNAP-20140127.tar.gz"
CHECKSUM_MD5="30c7abbc69179aea953cfc2d47e402bd"
REVISION="1"
ARCHITECTURES="x86_gcc2 x86 x86_64"
PATCHES="sshd_config.patch
pathnames.patch"
ADDITIONAL_FILES="sshd_keymaker.sh"
PROVIDES="
openssh = $portVersion compat >= 5
cmd:scp = $portVersion compat >= 5
cmd:sftp = $portVersion compat >= 5
cmd:sftp_server = $portVersion compat >= 5
cmd:slogin = $portVersion compat >= 5
cmd:ssh = $portVersion compat >= 5
cmd:ssh_add = $portVersion compat >= 5
cmd:ssh_agent = $portVersion compat >= 5
cmd:ssh_keygen = $portVersion compat >= 5
cmd:ssh_keyscan = $portVersion compat >= 5
cmd:ssh_keysign = $portVersion compat >= 5
cmd:ssh_pkcs11_helper = $portVersion compat >= 5
cmd:sshd = $portVersion compat >= 5
"
REQUIRES="
haiku >= $haikuVersion
cmd:login
cmd:passwd
lib:libcrypto
lib:libedit
lib:libncurses
lib:libssl
lib:libz
"
BUILD_REQUIRES="
devel:libcrypto
devel:libedit
devel:libncurses
devel:libssl
devel:libz
"
BUILD_PREREQUIRES="
haiku_devel >= $haikuVersion
cmd:aclocal
cmd:autoconf
cmd:automake
cmd:gcc
cmd:ld
cmd:libtoolize
cmd:make
cmd:pkg_config
"
GLOBAL_WRITABLE_FILES="
settings/ssh directory keep-old
"
USER_SETTINGS_FILES="
settings/ssh directory
"
POST_INSTALL_SCRIPTS="
$relativePostInstallDir/sshd_keymaker.sh
"
sshdUserHomeDir="/packages/$portVersionedName-$REVISION/.self/$relativeDataDir/openssh/empty"
PACKAGE_USERS="
sshd real-name \"sshd user\" home \"$sshdUserHomeDir\" shell \"/bin/true\"
"
PACKAGE_GROUPS="sshd"
PATCH()
{
echo 'AC_CONFIG_MACRO_DIR([m4])' >> configure.ac
}
SOURCE_DIR="openssh"
BUILD()
{
mkdir -p m4
aclocal --install -I m4
libtoolize --force --copy
aclocal -I m4
autoconf
defaultPath=".:/boot/home/config/non-packaged/bin:/boot/home/config/bin"
defaultPath+=":/boot/common/non-packaged/bin:/boot/common/bin:/bin"
defaultPath+=":/boot/common/apps:/boot/common/preferences:/boot/system/apps"
defaultPath+=":/boot/system/preferences"
# Note: override sysconfdir and libexecdir since ssh doesn't create
# subdirectories as it should.
PATH_PASSWD_PROG=$portPackageLinksDir/cmd~passwd/bin/passwd \
LOGIN_PROGRAM=$portPackageLinksDir/cmd~login/bin/login \
runConfigure ./configure \
--sysconfdir=$sysconfDir/ssh \
--libexecdir=$libExecDir/openssh \
--with-privsep-path=$dataDir/openssh/empty \
--with-pid-dir=$prefix/var/run \
--with-default-path="$defaultPath" \
--with-md5-passwords \
--disable-utmpx \
--with-libedit
make $jobArgs
}
INSTALL()
{
make install-nokeys
mkdir -p $postInstallDir
cp -f $portDir/additional-files/sshd_keymaker.sh $postInstallDir
}
TEST()
{
make tests
}

View File

@@ -0,0 +1,13 @@
diff --git a/pathnames.h b/pathnames.h
index ec89fc6..6ad1b64 100644
--- a/pathnames.h
+++ b/pathnames.h
@@ -59,7 +59,7 @@
* 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

View File

@@ -0,0 +1,13 @@
diff --git a/sshd_config b/sshd_config
index e9045bc..0835873 100644
--- a/sshd_config
+++ b/sshd_config
@@ -51,7 +51,7 @@
# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
# but this is overridden so installations will only check .ssh/authorized_keys
-AuthorizedKeysFile .ssh/authorized_keys
+AuthorizedKeysFile config/settings/ssh/authorized_keys
#AuthorizedPrincipalsFile none