From c057d69f22d83dbb2bcdf54c68d206c807507c31 Mon Sep 17 00:00:00 2001 From: jc_gargma Date: Fri, 5 Mar 2021 18:36:56 -0800 Subject: Initial commit --- PKGBUILD | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 PKGBUILD (limited to 'PKGBUILD') diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 0000000..fb8fe7e --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,108 @@ +# 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.5p1 +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' + 'glibc-2.31.patch') +b2sums=('f4e4bd39e2dd275d4811e06ca994f2239ad27c804b003c74cc26f9dffae28f1b4006fc618580f0dc9c45f0b7361c24728c23688b45f41cb8a15cf6206c3f15c3' + 'SKIP' + '27571f728c3c10834a81652f3917188436474b588f8b047462e44b6c7a424f60d06ce8cb74839b691870177d7261592207d7f35d4ae6c79af87d6a7ea156d395' + '557d015bca7008ce824111f235da67b7e0051a693aaab666e97b78e753ed7928b72274af03d7fde12033986b733d5f996faf2a4feb6ecf53f39accae31334930' + 'a6ff4e82a92e7dba08f0e6c14ad1d280ad2dbc1d5ebdc7dc70eaa1b7963ddd5d5491fdf4c83cde1bec183b335ed20edaf101ac8bdb3c0f480adc72d41251723b') +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 -p1 -i ../glibc-2.31.patch + + 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 '/^#ChallengeResponseAuthentication yes$/c ChallengeResponseAuthentication no' \ + -e '/^#PrintMotd yes$/c PrintMotd no # pam does that' \ + -e '/^#UsePAM no$/c UsePAM yes' \ + -i "${pkgdir}"/etc/ssh/sshd_config +} -- cgit v1.2.1