# Maintainer: jc_gargma # Maintainer (Arch): Levente Polyak # Maintainer (Arch): Giancarlo Razzolini # Contributor (Arch): Gaetan Bisson # Contributor (Arch): Aaron Griffin # Contributor (Arch): judd # # I maintain this because: # Artix version lacks additional optimization and hardening flags # Artix version lacks signature checks 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') checkdepends=('inetutils') optdepends=('xorg-xauth: X11 forwarding' 'x11-ssh-askpass: input passphrase in X' 'libfido2: FIDO/U2F support') 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} 'sshd.conf' 'sshd.pam') sha1sums=('205cdf0040a238047e2c49f43460e03d76e5d650' 'SKIP' 'c9b2e4ce259cd62ddb00364d3ee6f00a8bf2d05f' 'd93dca5ebda4610ff7647187f8928a3de28703f3') sha256sums=('fd497654b7ab1686dac672fb83dfb4ba4096e8b5ffcdaccd262380ae58bec5e7' 'SKIP' '4effac1186cc62617f44385415103021f72f674f8b8e26447fc1139c670090f6' '64576021515c0a98b0aaf0a0ae02e0f5ebe8ee525b1e647ab68f369f81ecd846') b2sums=('02934da7f7a2954141888e63e81e38fad4fb8558ddd1032de44f69684802c62771fdd7e9e470e0715059635999c8f9d2ab95f6351217e236573ead83a867f59b' 'SKIP' '27571f728c3c10834a81652f3917188436474b588f8b047462e44b6c7a424f60d06ce8cb74839b691870177d7261592207d7f35d4ae6c79af87d6a7ea156d395' '557d015bca7008ce824111f235da67b7e0051a693aaab666e97b78e753ed7928b72274af03d7fde12033986b733d5f996faf2a4feb6ecf53f39accae31334930') validpgpkeys=(7168B983815A5EEF59A4ADFD2A3F414E736060BA) # https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/RELEASE_KEY.asc backup=('etc/ssh/ssh_config' 'etc/ssh/sshd_config' 'etc/pam.d/sshd') # prepare() { # cd "${srcdir}/${pkgname}-${pkgver}" # patch goes here # autoreconf # } build() { cd "${srcdir}/${pkgname}-${pkgver}" export CFLAGS="$CFLAGS -O3 -fstack-protector-all -flto=auto -fPIE" export CXXFLAGS="$CXXFLAGS -O3 -fstack-protector-all -flto=auto -fPIE" export LDFLAGS="$LDFLAGS,-pie" ./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 ../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 }