PKGBUILD 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. # Maintainer: Noah Vogt (noahvogt) <noah@noahvogt.com>
  2. # Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
  3. # Maintainer: Giancarlo Razzolini <grazzolini@archlinux.org>
  4. # Contributor: Gaetan Bisson <bisson@archlinux.org>
  5. # Contributor: Aaron Griffin <aaron@archlinux.org>
  6. # Contributor: judd <jvinet@zeroflux.org>
  7. # binary version of this package (-bin): github.com/noahvogt/openssh-dotconfig-bin-aur
  8. pkgname=openssh-dotconfig
  9. pkgver=9.7p1
  10. pkgrel=2
  11. pkgdesc='Premier connectivity tool for remote login with the SSH protocol - but moved $HOME/.ssh to $HOME/.config/ssh'
  12. arch=('x86_64')
  13. url='https://www.openssh.com/portable.html'
  14. license=(
  15. BSD-2-Clause
  16. BSD-3-Clause
  17. ISC
  18. MIT
  19. )
  20. depends=(
  21. glibc
  22. krb5 libkrb5.so libgssapi_krb5.so
  23. ldns
  24. libedit
  25. libxcrypt libcrypt.so
  26. openssl
  27. pam libpam.so
  28. zlib
  29. )
  30. makedepends=(
  31. libfido2
  32. linux-headers
  33. )
  34. optdepends=(
  35. 'libfido2: FIDO/U2F support'
  36. 'sh: for ssh-copy-id and findssl.sh'
  37. 'x11-ssh-askpass: input passphrase in X'
  38. 'xorg-xauth: X11 forwarding'
  39. )
  40. backup=(
  41. etc/pam.d/sshd
  42. etc/ssh/ssh_config
  43. etc/ssh/sshd_config
  44. )
  45. source=(https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/${pkgname%-*}-${pkgver}.tar.gz{,.asc}
  46. "${pkgname%-*}-9.0p1-sshd_config.patch"
  47. 99-archlinux.conf
  48. sshdgenkeys.service
  49. sshd.service
  50. ssh-agent.service
  51. sshd.conf
  52. sshd.pam)
  53. sha256sums=('490426f766d82a2763fcacd8d83ea3d70798750c7bd2aff2e57dc5660f773ffd'
  54. 'SKIP'
  55. '27e43dfd1506c8a821ec8186bae65f2dc43ca038616d6de59f322bd14aa9d07f'
  56. '78b806c38bc1e246daaa941bfe7880e6eb6f53f093bea5d5868525ae6d223d30'
  57. 'e5305767b2d317183ad1c5022a5f6705bd9014a8b22495a000fd482713738611'
  58. 'e40f8b7c8e5e2ecf3084b3511a6c36d5b5c9f9e61f2bb13e3726c71dc7d4fbc7'
  59. 'b3b1e4f7af169cd5fccdcdf9538ef37fc919c79a9905f797925153a94e723998'
  60. '76635a91526ce44571485e292e3a777ded6a439af78cb93514b999f91fb9b327'
  61. '633e24cbfcb045ba777d3e06d5f85dfaa06d44f4727d38c7fb2187c57498221d')
  62. b2sums=('520859fcbdf678808fc8515b64585ab9a90a8055fa869df6fbba3083cb7f73ddb81ed9ea981e131520736a8aed838f85ae68ca63406a410df61039913c5cb48b'
  63. 'SKIP'
  64. '29e1a1c2744e0234830c6f93a46338ea8dc943370e20a24883d207d611025e54643da678f2826050c073a36be48dfdc7329d4cfb144c2ff90607a5f10f73dc59'
  65. '1ff8cd4ae22efed2b4260f1e518de919c4b290be4e0b5edbc8e2225ffe63788678d1961e6f863b85974c4697428ee827bcbabad371cfc91cc8b36eae9402eb97'
  66. '09fad3648f48f13ee80195b90913feeba21240d121b1178e0ce62f4a17b1f7e58e8edc22c04403e377ab300f5022a804c848f5be132765d5ca26a38aab262e50'
  67. '07ad5c7fb557411a6646ff6830bc9d564c07cbddc4ce819641d31c05dbdf677bfd8a99907cf529a7ee383b8c250936a6423f4b4b97ba0f1c14f627bbd629bd4e'
  68. '046ea6bd6aa00440991e5f7998db33864a7baa353ec6071f96a3ccb5cca5b548cb9e75f9dee56022ca39daa977d18452851d91e6ba36a66028b84b375ded9bc5'
  69. 'a3fd8f00430168f03dcbc4a5768ed788dd43140e365a882b601510f53f69704da04f24660157bb8a43125f5389528993732d99569d77d5f3358074e7ae36d4ca'
  70. '1d24cc029eccf71cee54dda84371cf9aa8d805433e751575ab237df654055dd869024b50facd8b73390717e63100c76bca28b493e0c8be9791c76a2e0d60990a')
  71. validpgpkeys=('7168B983815A5EEF59A4ADFD2A3F414E736060BA') # Damien Miller <djm@mindrot.org>
  72. provides=('openssh')
  73. conflicts=('openssh')
  74. prepare() {
  75. patch -Np1 -d "${pkgname%-*}-$pkgver" -i ../"${pkgname%-*}"-9.0p1-sshd_config.patch
  76. cd "$srcdir/${pkgname%-*}-$pkgver"
  77. grep -rl "\.ssh" * | xargs sed -i 's/\.ssh/.config\/ssh/g'
  78. # remove variable (but useless) first line in config (related to upstream VCS)
  79. sed '/^#.*\$.*\$$/d' -i ssh{,d}_config
  80. # prepend configuration option to include drop-in configuration files for sshd_config
  81. printf "# Include drop-in configurations\nInclude /etc/ssh/sshd_config.d/*.conf\n" | cat - sshd_config > sshd_config.tmp
  82. mv -v sshd_config.tmp sshd_config
  83. # prepend configuration option to include drop-in configuration files for ssh_config
  84. printf "# Include drop-in configurations\nInclude /etc/ssh/ssh_config.d/*.conf\n" | cat - ssh_config > ssh_config.tmp
  85. mv -v ssh_config.tmp ssh_config
  86. }
  87. build() {
  88. local configure_options=(
  89. --prefix=/usr
  90. --sbindir=/usr/bin
  91. --libexecdir=/usr/lib/ssh
  92. --sysconfdir=/etc/ssh
  93. --disable-strip
  94. --with-ldns
  95. --with-libedit
  96. --with-security-key-builtin
  97. --with-ssl-engine
  98. --with-pam
  99. --with-privsep-user=nobody
  100. --with-kerberos5=/usr
  101. --with-xauth=/usr/bin/xauth
  102. --with-pid-dir=/run
  103. --with-default-path='/usr/local/sbin:/usr/local/bin:/usr/bin'
  104. --without-zlib-version-check
  105. )
  106. cd "$srcdir/${pkgname%-*}-$pkgver"
  107. ./configure "${configure_options[@]}"
  108. make
  109. }
  110. check() {
  111. # NOTE: make t-exec does not work in our build environment
  112. make file-tests interop-tests unit -C "${pkgname%-*}-$pkgver"
  113. }
  114. package() {
  115. cd "${srcdir}/${pkgname%-*}-${pkgver}"
  116. make DESTDIR="${pkgdir}" install
  117. install -vDm 644 ../99-archlinux.conf -t "$pkgdir/etc/ssh/sshd_config.d/"
  118. install -vdm 755 "$pkgdir/etc/ssh/ssh_config.d"
  119. ln -sf ssh.1.gz "${pkgdir}"/usr/share/man/man1/slogin.1.gz
  120. install -Dm644 LICENCE -t "${pkgdir}/usr/share/licenses/${pkgname%-*}/"
  121. install -Dm644 ../sshdgenkeys.service -t "${pkgdir}"/usr/lib/systemd/system/
  122. install -Dm644 ../sshd.service -t "${pkgdir}"/usr/lib/systemd/system/
  123. install -Dm644 ../ssh-agent.service -t "$pkgdir"/usr/lib/systemd/user/
  124. install -Dm644 ../sshd.conf -t "${pkgdir}"/usr/lib/tmpfiles.d/
  125. install -Dm644 ../sshd.pam "${pkgdir}"/etc/pam.d/sshd
  126. install -Dm755 contrib/findssl.sh -t "${pkgdir}"/usr/bin/
  127. install -Dm755 contrib/ssh-copy-id -t "${pkgdir}"/usr/bin/
  128. install -Dm644 contrib/ssh-copy-id.1 -t "${pkgdir}"/usr/share/man/man1/
  129. }