added core/openssh

This commit is contained in:
Kevin Mihelich 2022-02-25 05:25:43 +00:00
parent 559ceaad18
commit 9c7d74cc5d
7 changed files with 215 additions and 0 deletions

View file

@ -0,0 +1,24 @@
From cbbd348c2d2100354ccc2ba0297e3fd23d2ee6cc Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Thu, 24 Feb 2022 22:02:07 -0700
Subject: [PATCH] disable -fzero-call-used-regs
---
configure.ac | 1 -
1 file changed, 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 17fb1e60..2c06385b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -192,7 +192,6 @@ if test "$GCC" = "yes" || test "$GCC" = "egcs"; then
# actually links. The test program compiled/linked includes a number
# of integer operations that should exercise this.
OSSH_CHECK_CFLAG_LINK([-ftrapv])
- OSSH_CHECK_CFLAG_COMPILE([-fzero-call-used-regs=all])
OSSH_CHECK_CFLAG_COMPILE([-ftrivial-auto-var-init=zero])
fi
AC_MSG_CHECKING([gcc version])
--
2.35.1

123
core/openssh/PKGBUILD Normal file
View file

@ -0,0 +1,123 @@
# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Maintainer: Giancarlo Razzolini <grazzolini@archlinux.org>
# Contributor: Gaetan Bisson <bisson@archlinux.org>
# Contributor: Aaron Griffin <aaron@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - patch out -fzero-call-unused-regs check, fails on 32-bit ARM
pkgname=openssh
pkgver=8.9p1
pkgrel=1
pkgdesc='Premier connectivity tool for remote login with the SSH protocol'
url='https://www.openssh.com/portable.html'
license=('custom:BSD')
arch=('x86_64')
depends=('glibc' 'krb5' 'openssl' 'libedit' 'ldns' 'libxcrypt' 'libcrypt.so' 'zlib' 'pam')
makedepends=('linux-headers' 'libfido2')
optdepends=('xorg-xauth: X11 forwarding'
'x11-ssh-askpass: input passphrase in X'
'libfido2: FIDO/U2F support')
options=('debug')
validpgpkeys=('7168B983815A5EEF59A4ADFD2A3F414E736060BA')
#source=("git://anongit.mindrot.org/openssh.git?signed#tag=V_8_2_P1"
source=("https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/${pkgname}-${pkgver}.tar.gz"{,.asc}
'0001-disable-fzero-call-used-regs.patch'
'sshdgenkeys.service'
'sshd.service'
'sshd.conf'
'sshd.pam')
sha1sums=('205cdf0040a238047e2c49f43460e03d76e5d650'
'SKIP'
'1fd2ab52c7f803720715c0a596a52ad8eba7131e'
'caaa801da59a5d14c0c29c43e9de5fef281ea03e'
'8640ac6593602e74a863263223e92ab5c4711588'
'c9b2e4ce259cd62ddb00364d3ee6f00a8bf2d05f'
'd93dca5ebda4610ff7647187f8928a3de28703f3')
sha256sums=('fd497654b7ab1686dac672fb83dfb4ba4096e8b5ffcdaccd262380ae58bec5e7'
'SKIP'
'b85fbe55b33660bc6a2a533e9913702dc5c0252741fdd89b5a7418d8f0e61e23'
'4031577db6416fcbaacf8a26a024ecd3939e5c10fe6a86ee3f0eea5093d533b7'
'e40f8b7c8e5e2ecf3084b3511a6c36d5b5c9f9e61f2bb13e3726c71dc7d4fbc7'
'4effac1186cc62617f44385415103021f72f674f8b8e26447fc1139c670090f6'
'64576021515c0a98b0aaf0a0ae02e0f5ebe8ee525b1e647ab68f369f81ecd846')
b2sums=('02934da7f7a2954141888e63e81e38fad4fb8558ddd1032de44f69684802c62771fdd7e9e470e0715059635999c8f9d2ab95f6351217e236573ead83a867f59b'
'SKIP'
'2ce8ec031a9be41bcce0e6d278451a2e34646a2355631270500bf16609cdc3273b81cb43919bd728ff46ffe0f68dd1da4138f1991841f8a943c2db48c8f02760'
'62f89107d3648a359b0307497a9f105d7ff1dddddb38a64afe3261000b5db494a5530e4b60a9aa1d7be4413599e54b72e2f53f0de8c1ff263a46a70bc5695c29'
'07ad5c7fb557411a6646ff6830bc9d564c07cbddc4ce819641d31c05dbdf677bfd8a99907cf529a7ee383b8c250936a6423f4b4b97ba0f1c14f627bbd629bd4e'
'27571f728c3c10834a81652f3917188436474b588f8b047462e44b6c7a424f60d06ce8cb74839b691870177d7261592207d7f35d4ae6c79af87d6a7ea156d395'
'557d015bca7008ce824111f235da67b7e0051a693aaab666e97b78e753ed7928b72274af03d7fde12033986b733d5f996faf2a4feb6ecf53f39accae31334930')
backup=('etc/ssh/ssh_config' 'etc/ssh/sshd_config' 'etc/pam.d/sshd')
install=install
prepare() {
cd "${srcdir}/${pkgname}-${pkgver}"
if [[ $CARCH == "armv7h" ]]; then
patch -Np1 -i ../0001-disable-fzero-call-used-regs.patch
autoreconf -fi
fi
}
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure \
--prefix=/usr \
--sbindir=/usr/bin \
--libexecdir=/usr/lib/ssh \
--sysconfdir=/etc/ssh \
--disable-strip \
--with-ldns \
--with-libedit \
--with-security-key-builtin \
--with-ssl-engine \
--with-pam \
--with-privsep-user=nobody \
--with-kerberos5=/usr \
--with-xauth=/usr/bin/xauth \
--with-md5-passwords \
--with-pid-dir=/run \
--with-default-path='/usr/local/sbin:/usr/local/bin:/usr/bin' \
make
}
check() {
cd "${srcdir}/${pkgname}-${pkgver}"
# Tests require openssh to be already installed system-wide,
# also connectivity tests will fail under makechrootpkg since
# it runs as nobody which has /bin/false as login shell.
if [[ -e /usr/bin/scp && ! -e /.arch-chroot ]]; then
make tests
fi
}
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install
ln -sf ssh.1.gz "${pkgdir}"/usr/share/man/man1/slogin.1.gz
install -Dm644 LICENCE "${pkgdir}/usr/share/licenses/${pkgname}/LICENCE"
install -Dm644 ../sshdgenkeys.service "${pkgdir}"/usr/lib/systemd/system/sshdgenkeys.service
install -Dm644 ../sshd.service "${pkgdir}"/usr/lib/systemd/system/sshd.service
install -Dm644 ../sshd.conf "${pkgdir}"/usr/lib/tmpfiles.d/sshd.conf
install -Dm644 ../sshd.pam "${pkgdir}"/etc/pam.d/sshd
install -Dm755 contrib/findssl.sh "${pkgdir}"/usr/bin/findssl.sh
install -Dm755 contrib/ssh-copy-id "${pkgdir}"/usr/bin/ssh-copy-id
install -Dm644 contrib/ssh-copy-id.1 "${pkgdir}"/usr/share/man/man1/ssh-copy-id.1
sed \
-e '/^#KbdInteractiveAuthentication yes$/c KbdInteractiveAuthentication no' \
-e '/^#PrintMotd yes$/c PrintMotd no # pam does that' \
-e '/^#UsePAM no$/c UsePAM yes' \
-i "${pkgdir}"/etc/ssh/sshd_config
}

32
core/openssh/install Normal file
View file

@ -0,0 +1,32 @@
pre_upgrade() {
# Remove socket activation. See: https://bugs.archlinux.org/task/62248
if (( $(vercmp $2 8.0p1-3) < 0 )); then
if systemctl is-enabled -q sshd.socket; then
cat <<EOF
==> This package no longer provides sshd.socket and sshd@.service;
==> copies of those files will be placed under /etc/systemd/system
==> but please migrate to sshd.service whenever possible.
EOF
src=/usr/lib/systemd/system
dst=/etc/systemd/system
for i in sshd.socket sshd\@.service; do
if [[ ! -e "$dst/$i" ]]; then
cp -v "$src/$i" "$dst/$i"
fi
done
systemctl reenable sshd.socket
fi
fi
}
post_upgrade() {
if (( $(vercmp $2 8.2p1-3) < 0 )); then
if systemctl is-active sshd.service >/dev/null; then
cat <<EOF
==> After this upgrade, your existing SSH daemon may be unable to accept
==> new connections. To fix this, your SSH daemon will now be restarted.
EOF
systemctl restart sshd.service
fi
fi
}

1
core/openssh/sshd.conf Normal file
View file

@ -0,0 +1 @@
d /var/empty 0755 root root

6
core/openssh/sshd.pam Normal file
View file

@ -0,0 +1,6 @@
#%PAM-1.0
#auth required pam_securetty.so #disable remote root
auth include system-remote-login
account include system-remote-login
password include system-remote-login
session include system-remote-login

14
core/openssh/sshd.service Normal file
View file

@ -0,0 +1,14 @@
[Unit]
Description=OpenSSH Daemon
Wants=sshdgenkeys.service
After=sshdgenkeys.service
After=network.target
[Service]
ExecStart=/usr/bin/sshd -D
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=always
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,15 @@
[Unit]
Description=SSH Key Generation
ConditionPathExists=|!/etc/ssh/ssh_host_dsa_key
ConditionPathExists=|!/etc/ssh/ssh_host_dsa_key.pub
ConditionPathExists=|!/etc/ssh/ssh_host_ecdsa_key
ConditionPathExists=|!/etc/ssh/ssh_host_ecdsa_key.pub
ConditionPathExists=|!/etc/ssh/ssh_host_ed25519_key
ConditionPathExists=|!/etc/ssh/ssh_host_ed25519_key.pub
ConditionPathExists=|!/etc/ssh/ssh_host_rsa_key
ConditionPathExists=|!/etc/ssh/ssh_host_rsa_key.pub
[Service]
ExecStart=/usr/bin/ssh-keygen -A
Type=oneshot
RemainAfterExit=yes