163 lines
4.6 KiB
Bash
163 lines
4.6 KiB
Bash
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/"
|
|
COPYRIGHT="2005-2020 Tatu Ylonen et al."
|
|
LICENSE="OpenSSH"
|
|
REVISION="1"
|
|
SOURCE_URI="https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-$portVersion.tar.gz"
|
|
CHECKSUM_SHA256="4590890ea9bb9ace4f71ae331785a3a5823232435161960ed5fc86588f331fe9"
|
|
PATCHES="openssh-$portVersion.patchset"
|
|
ADDITIONAL_FILES="
|
|
sshd_keymaker.sh
|
|
fix_openssh_config_paths.sh
|
|
"
|
|
|
|
ARCHITECTURES="all"
|
|
|
|
GLOBAL_WRITABLE_FILES="
|
|
settings/ssh directory keep-old
|
|
settings/ssh/ssh_config keep-old
|
|
settings/ssh/sshd_config keep-old
|
|
"
|
|
USER_SETTINGS_FILES="
|
|
settings/ssh directory
|
|
settings/ssh/ssh_config template data/openssh/ssh_config.default
|
|
settings/ssh/sshd_config template data/openssh/sshd_config.default
|
|
"
|
|
POST_INSTALL_SCRIPTS="
|
|
$relativePostInstallDir/sshd_keymaker.sh
|
|
$relativePostInstallDir/fix_openssh_config_paths.sh
|
|
"
|
|
sshdUserHomeDir="/packages/$portVersionedName-$REVISION/.self/$relativeDataDir/openssh/empty"
|
|
PACKAGE_USERS="
|
|
sshd real-name \"sshd user\" home \"$sshdUserHomeDir\" shell \"/bin/true\" groups \"sshd\"
|
|
"
|
|
PACKAGE_GROUPS="sshd"
|
|
|
|
PROVIDES="
|
|
openssh = $portVersion compat >= 5
|
|
cmd:scp = $portVersion compat >= 5
|
|
cmd:sftp = $portVersion compat >= 5
|
|
cmd:sftp_server = $portVersion compat >= 5
|
|
cmd:ssh = $portVersion compat >= 5
|
|
cmd:ssh_add = $portVersion compat >= 5
|
|
cmd:ssh_agent = $portVersion compat >= 5
|
|
cmd:ssh_copy_id = $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
|
|
cmd:grep
|
|
cmd:login
|
|
cmd:passwd
|
|
cmd:sed
|
|
lib:libcrypto
|
|
lib:libedit
|
|
lib:libncurses
|
|
lib:libssl
|
|
lib:libz
|
|
"
|
|
|
|
BUILD_REQUIRES="
|
|
haiku_devel
|
|
devel:libcrypto
|
|
devel:libedit
|
|
devel:libncurses
|
|
devel:libssl
|
|
devel:libz
|
|
"
|
|
BUILD_PREREQUIRES="
|
|
cmd:aclocal
|
|
cmd:autoconf
|
|
cmd:automake
|
|
cmd:gcc
|
|
cmd:ld
|
|
cmd:libtoolize
|
|
cmd:make
|
|
cmd:pkg_config
|
|
"
|
|
|
|
PATCH()
|
|
{
|
|
echo 'AC_CONFIG_MACRO_DIR([m4])' >> configure.ac
|
|
}
|
|
|
|
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/system/non-packaged/bin:/boot/system/bin:/bin"
|
|
defaultPath+=":/boot/system/apps:/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 \
|
|
--with-stackprotect=no
|
|
make $jobArgs
|
|
}
|
|
|
|
INSTALL()
|
|
{
|
|
make install-nokeys
|
|
mkdir -p $postInstallDir
|
|
cp -f $portDir/additional-files/sshd_keymaker.sh $postInstallDir
|
|
cp -f $portDir/additional-files/fix_openssh_config_paths.sh $postInstallDir
|
|
|
|
install -m 755 contrib/ssh-copy-id $binDir
|
|
install -m 644 contrib/ssh-copy-id.1 $manDir/man1
|
|
|
|
local USER_SETTINGS_DIR="`finddir B_USER_SETTINGS_DIRECTORY`"
|
|
sed -i \
|
|
-e "s| ~/\.ssh/| $USER_SETTINGS_DIR/ssh/|" \
|
|
$sysconfDir/ssh/ssh_config
|
|
|
|
local SYSTEM_SETTINGS_DIR="`finddir B_SYSTEM_SETTINGS_DIRECTORY`"
|
|
local VAR_DIR="`finddir B_SYSTEM_VAR_DIRECTORY`"
|
|
local LIB_DIR="`finddir B_SYSTEM_LIB_DIRECTORY`"
|
|
sed -i \
|
|
-e "s|$sysconfDir/ssh/|$SYSTEM_SETTINGS_DIR/ssh/|" \
|
|
-e "s|$prefix/var/run/|$VAR_DIR/run/|" \
|
|
-e "s|$libExecDir/openssh/|$LIB_DIR/openssh/|" \
|
|
$sysconfDir/ssh/sshd_config
|
|
|
|
mkdir -p $dataDir/openssh/empty
|
|
cp $sysconfDir/ssh/ssh_config $dataDir/openssh/ssh_config.default
|
|
cp $sysconfDir/ssh/sshd_config $dataDir/openssh/sshd_config.default
|
|
}
|
|
|
|
TEST()
|
|
{
|
|
make tests
|
|
}
|