# $Id: PKGBUILD 137388 2015-07-24 18:02:41Z jsteel $
# Maintainer: Jonathan Steel <jsteel at archlinux.org>
# Contributor: Greg Sutcliffe <puppet-aur (at) emeraldreverie (dot) org>
# Contributor: Hyacinthe Cartiaux <hyacinthe (dot) cartiaux (at) free (dot) fr>
# Contributor: Thomas S Hatch <thatch45 (at) Gmail (dot) com>
# Contributor: Xavion <Xavion (dot) 0 (at) Gmail (dot) com>
# Contributor: Miah Johnson <miah (at) chia-pet dot org>
# Contributor: Dave Simons <miouhpi (at) Gmail (dot) com>
# Contributor: Niels Abspoel <aboe76 (at) Gmail (dot) com>

pkgname=puppet
pkgver=4.2.1
pkgrel=1
pkgdesc="Server automation framework and application"
arch=('any')
url="http://puppetlabs.com/puppet/puppet-open-source"
license=('Apache')
depends=('facter' 'hiera')
optdepends=('ruby-shadow: user password management')
backup=('etc/puppetlabs/puppet/auth.conf'
        'etc/puppetlabs/puppet/fileserver.conf'
        'etc/puppetlabs/puppet/puppet.conf')
install=$pkgname.install
source=(https://downloads.puppetlabs.com/$pkgname/$pkgname-$pkgver.tar.gz
        puppetmaster.service)
md5sums=('ec058dd9ac38dce720a9248fea23a98b'
         '23ef9536a87288402b57b2b500b9385a')

prepare() {
  cd $pkgname-$pkgver

  # FS#45044: fix file location
  sed -i 's_/opt/puppetlabs/puppet_/usr_' ext/systemd/puppet.service
}

package() {
  cd $pkgname-$pkgver

  ruby install.rb --destdir="$pkgdir" --sitelibdir="$( ruby -e \
    'puts RbConfig::CONFIG["vendorlibdir"]' )"

  install -Dm644 "$srcdir"/$pkgname-$pkgver/conf/fileserver.conf \
    "$pkgdir"/etc/puppetlabs/$pkgname/fileserver.conf

  install -d "$pkgdir"/{var/lib/$pkgname,usr/lib/tmpfiles.d}

  echo "d /run/puppetlabs 0755 $pkgname $pkgname -" > \
    "$pkgdir"/usr/lib/tmpfiles.d/$pkgname.conf

  chmod 750 "$pkgdir"/var/log/puppetlabs/puppet

  # systemd
  install -Dm644 "$srcdir"/$pkgname-$pkgver/ext/systemd/$pkgname.service \
    "$pkgdir"/usr/lib/systemd/system/$pkgname.service
  install -Dm644 "$srcdir"/puppetmaster.service \
    "$pkgdir"/usr/lib/systemd/system/${pkgname}master.service

  # vim and emacs
  install -Dm644 "$srcdir"/$pkgname-$pkgver/ext/vim/ftdetect/$pkgname.vim \
    "$pkgdir"/usr/share/vim/vimfiles/ftdetect/$pkgname.vim
  install -Dm644 "$srcdir"/$pkgname-$pkgver/ext/vim/syntax/$pkgname.vim \
    "$pkgdir"/usr/share/vim/vimfiles/syntax/$pkgname.vim
  install -Dm644 "$srcdir"/$pkgname-$pkgver/ext/emacs/$pkgname-mode.el \
    "$pkgdir"/usr/share/emacs/site-lisp/$pkgname-mode.el
  install -Dm644 "$srcdir"/$pkgname-$pkgver/ext/emacs/$pkgname-mode-init.el \
    "$pkgdir"/usr/share/emacs/site-lisp/site-start.d/$pkgname-mode-init.el

  install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE

  rm -r "$pkgdir"/var/run
}
