# $Id: PKGBUILD 291134 2017-03-20 21:48:15Z bisson $ # Maintainer (Arch): Gaetan Bisson <bisson@archlinux.org> # Contributor (Arch): Aaron Griffin <aaron@archlinux.org> # Contributor (Arch): judd <jvinet@zeroflux.org> # Maintainer: André Silva <emulatorman@hyperbola.info> # Contributor: Márcio Silva <coadde@hyperbola.info> # Contributor: Julian Kirsch <kirschju@sec.in.tum.de> # Contributor: Benoît <benoit@neviani.fr> _pkgname=openssh pkgname=openssh-knock pkgver=7.5p1 _knockpatchver=7.5p1 pkgrel=3 pkgdesc='Free version of the SSH connectivity tools, with support for stealth TCP sockets' url='https://www.openssh.com/portable.html' license=('custom:BSD4') arch=('i686' 'x86_64' 'armv7h') conflicts=(${_pkgname}) provides=(${_pkgname}) makedepends=('linux-libre-headers') depends=('krb5' 'openssl' 'libedit' 'ldns') optdepends=('xorg-xauth: X11 forwarding' 'x11-ssh-askpass: input passphrase in X') validpgpkeys=('59C2118ED206D927E667EBE3D3E5F56B6D920D30' 'C92BAA713B8D53D3CAE63FC9E6974752F9704456') source=("https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/${_pkgname}-${pkgver}.tar.gz"{,.asc} #"http://gnunet.org/sites/default/files/${_pkgname}-linux-knock-patch_0.diff" "https://repo.parabola.nu/other/knock/patches/openssh/${_pkgname}-${_knockpatchver}-linux-knock-patch.diff"{,.sig} 'openssl-1.1.0.patch' 'sshdgenkeys.service' 'sshd@.service' 'sshd.service' 'sshd.socket' 'sshd.conf' 'sshd.pam') sha256sums=('9846e3c5fab9f0547400b4d2c017992f914222b3fd1f8eee6c7dc6bc5e59f9f0' 'SKIP' '3d74bb413309e2254620628073bb23a918a8f3189705fbfd68feaa7cf3b212b8' 'SKIP' 'b895b5f8e9f7d3a60286bf0a5b313d0b2ae2891ee1358e4862f1a0f1ad0ddc7d' '4031577db6416fcbaacf8a26a024ecd3939e5c10fe6a86ee3f0eea5093d533b7' '69cc2abaaae0aa8071b8eac338b2df725f60ce73381843179b74eaac78ba7f1d' 'c5ed9fa629f8f8dbf3bae4edbad4441c36df535088553fe82695c52d7bde30aa' 'de14363e9d4ed92848e524036d9e6b57b2d35cc77d377b7247c38111d2a3defd' '4effac1186cc62617f44385415103021f72f674f8b8e26447fc1139c670090f6' '64576021515c0a98b0aaf0a0ae02e0f5ebe8ee525b1e647ab68f369f81ecd846') backup=('etc/ssh/ssh_config' 'etc/ssh/sshd_config' 'etc/pam.d/sshd') prepare() { cd "${srcdir}/${_pkgname}-${pkgver}" patch -Np1 -i ../${_pkgname}-${_knockpatchver}-linux-knock-patch.diff # OpenSSL 1.1.0 patch from http://vega.pgw.jp/~kabe/vsd/patch/openssh-7.4p1-openssl-1.1.0c.patch.html patch -Np1 -i ../openssl-1.1.0.patch } build() { cd "${srcdir}/${_pkgname}-${pkgver}" export CFLAGS="$CFLAGS -DTCP_STEALTH=25" ./configure \ --prefix=/usr \ --sbindir=/usr/bin \ --libexecdir=/usr/lib/ssh \ --sysconfdir=/etc/ssh \ --with-ldns \ --with-libedit \ --with-ssl-engine \ --with-pam \ --with-privsep-user=nobody \ --with-kerberos5=/usr \ --with-xauth=/usr/bin/xauth \ --with-md5-passwords \ --with-pid-dir=/run \ 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.service "${pkgdir}"/usr/lib/systemd/system/sshd.service install -Dm644 ../sshd.socket "${pkgdir}"/usr/lib/systemd/system/sshd.socket 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 }