# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Jeff Mickey <jeff@archlinux.org>
# Contributor: Jani Talikka <jani.talikka@gmail.com>
# Contributor: Ralf Barth <archlinux.org@haggy.org>

pkgname=smartmontools
pkgver=7.2
pkgrel=1
pkgdesc="Control and monitor S.M.A.R.T. enabled ATA and SCSI Hard Drives"
url="http://smartmontools.sourceforge.net"
license=('GPL')
arch=('x86_64')
depends=('gcc-libs' 'libcap-ng' 'bash' 'systemd-libs')
makedepends=('systemd')
optdepends=('s-nail: to get mail alerts to work')
backup=('etc/smartd.conf'
        'etc/conf.d/smartd')
validpgpkeys=('847AF8F72DF4C7B492382C94BF0B339C64BCAA8B') # Smartmontools Signing Key (through 2020) <smartmontools-support@listi.jpberlin.de>
source=("https://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz"{,.asc}
        'smartd.conf')
sha256sums=('5cd98a27e6393168bc6aaea070d9e1cd551b0f898c52f66b2ff2e5d274118cd6'
            'SKIP'
            'c2c0f2f6b4a3f3d76da1c7706139297aef6e3f2a705eb7fdd800544812427c74')

prepare() {
  cd "${srcdir}/${pkgname}-${pkgver}"

  # make sure to use `uname -n` instead of `hostname`
  sed -i "/^os_hostname/c os_hostname=\"'uname -n'\"" configure.ac

  # smartd.service.in: Remove obsolete 'StandardOutput=syslog'
  # https://github.com/smartmontools/smartmontools/commit/f73303bc2d40adfc71e8bfaae043275e88cf9275
  sed -i '/^StandardOutput=/d' smartd.service.in

  autoreconf -fi
}

build() {
  cd "${srcdir}/${pkgname}-${pkgver}"

  ./configure --prefix=/usr \
    --sbindir=/usr/bin \
    --sysconfdir=/etc \
    --with-drivedbdir \
    --with-libcap-ng=yes \
    --with-libsystemd=yes \
    --with-systemdsystemunitdir=/usr/lib/systemd/system \
    --with-systemdenvfile=/etc/conf.d/smartd \
    --with-smartdscriptdir=/usr/share/smartmontools \
    --with-smartdplugindir=/usr/share/smartmontools/smartd_warning.d

  make
}

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

  sed -i -e "s:sysconfig/smartmontools:conf.d/smartd:g" smartd.service
  sed -i -e "s:smartd_opts:SMARTD_ARGS:g" smartd.service

  make DESTDIR="${pkgdir}" install

  rm -rf "${pkgdir}"/etc/rc.d
  install -Dm644 "${srcdir}"/smartd.conf "${pkgdir}/etc/conf.d/smartd"
}
