#!/usr/bin/bash
# JOBoRun		: Jwm OpenBox Obarun RUNit
# Maintainer	: Joe Bo Run <joborun@disroot.org>
# PkgSource		: url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname"
# Website		: https://pozol.eu
#-----------------------------------------| DESCRIPTION |---------------------------------------

pkgname=openssh
pkgver=9.6p1
pkgrel=01
pkgdesc='SSH protocol implementation for remote login, command execution and file transfer w/o systemd'
url='https://www.openssh.com/portable.html'
depends=(   'glibc'
	'krb5'
	'ldns'
	'libedit'
	'libxcrypt'
	'openssl'
	'pam'
	'zlib')
makedepends=(linux-lts-headers libfido2 autoconf automake)
optdepends=('sh: for ssh-copy-id and findssl.sh'
	'libfido2: FIDO/U2F support'
	'x11-ssh-askpass: input passphrase in X'
	'xorg-xauth: X11 forwarding')
# old source
#source=("git://anongit.mindrot.org/openssh.git?signed#tag=V_8_2_P1"
backup=('etc/ssh/ssh_config' 'etc/ssh/sshd_config' 'etc/pam.d/sshd')

#options=('debug')   ## uncomment this to have the debug pkg produced
source=(https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/$pkgname-$pkgver.tar.gz{,.asc}
#	"$pkgname-9.0p1-sshd_config.patch"
	'99-archlinux.conf'
	'sshd.conf'
	'sshd.pam')


#install=install   ### systemd autostart crap 

prepare() {
  cd $pkgname-$pkgver
  # remove variable (but useless) first line in config (related to upstream VCS)
  sed '/^#.*\$.*\$$/d' -i ssh{,d}_config

  # prepend configuration option to include drop-in configuration files for sshd_config
  printf "# Include drop-in configurations\nInclude /etc/ssh/sshd_config.d/*.conf\n" | cat - sshd_config > sshd_config.tmp
  mv -v sshd_config.tmp sshd_config
  # prepend configuration option to include drop-in configuration files for ssh_config
  printf "# Include drop-in configurations\nInclude /etc/ssh/ssh_config.d/*.conf\n" | cat - ssh_config > ssh_config.tmp
  mv -v ssh_config.tmp ssh_config
}

#prepare() {
#	cd "${srcdir}/${pkgname}-${pkgver}"
#	#  patch goes here
#	patch -p1 -i ../glibc-2.31.patch
#
#	autoreconf
#}

build() {
	cd "${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-pid-dir=/run \
		--with-default-path='/usr/local/sbin:/usr/local/bin:/usr/bin' \
		--without-zlib-version-check \
		--without-systemd
	make
}

check() {
  # NOTE: make t-exec does not work in our build environment
  make file-tests interop-tests unit -C $pkgname-$pkgver
}

package() {
	cd "${pkgname}-${pkgver}"

	make DESTDIR="${pkgdir}" install
	install -vDm 644 ../99-archlinux.conf -t "$pkgdir/etc/ssh/sshd_config.d/"
	install -vdm 755 "$pkgdir/etc/ssh/ssh_config.d"

	ln -sf ssh.1.gz "${pkgdir}"/usr/share/man/man1/slogin.1.gz
	install -Dm644 LICENCE -t "${pkgdir}/usr/share/licenses/${pkgname}/LICENCE"

#	We are including the service files as guid in making runit 66 services, especially the
#	sshdgenkeys service 
#	install -Dm644 ../sshdgenkeys.service -t "${pkgdir}"/usr/lib/systemd/system/sshdgenkeys.service
#	install -Dm644 ../sshd.service -t "${pkgdir}"/usr/lib/systemd/system/sshd.service
	install -Dm644 ../sshd.conf -t "${pkgdir}"/usr/lib/tmpfiles.d/sshd.conf
	install -Dm644 ../sshd.pam "${pkgdir}"/etc/pam.d/sshd

	install -Dm755 contrib/findssl.sh -t "${pkgdir}"/usr/bin/findssl.sh
	install -Dm755 contrib/ssh-copy-id -t "${pkgdir}"/usr/bin/ssh-copy-id
	install -Dm644 contrib/ssh-copy-id.1 -t "${pkgdir}"/usr/share/man/man1/ssh-copy-id.1
}

#---- arch license gpg-key & sha256sums ----

arch=(x86_64)

# license=('custom:BSD')
license=(BSD-2-Clause
  BSD-3-Clause
  ISC
  MIT)

validpgpkeys=('7168B983815A5EEF59A4ADFD2A3F414E736060BA') # "Damien Miller <djm@mindrot.org>"

sha256sums=(910211c07255a8c5ad654391b40ee59800710dd8119dd5362de09385aa7a777c  # openssh-9.6p1.tar.gz
	9b1e931cbc811f02e91f7eacd55f8211cc45dade11975462f4b0dcdad29927aa  # openssh-9.6p1.tar.gz.asc
	78b806c38bc1e246daaa941bfe7880e6eb6f53f093bea5d5868525ae6d223d30  # 99-archlinux.conf
	76635a91526ce44571485e292e3a777ded6a439af78cb93514b999f91fb9b327  # sshd.conf
	64576021515c0a98b0aaf0a0ae02e0f5ebe8ee525b1e647ab68f369f81ecd846) # sshd.pam

##  d8676f03025b98f95396e42ff6b3edbdbe8c7b44455d2e903b70f0a5600f0f7c  openssh-9.6p1-01-x86_64.pkg.tar.lz

