# $Id: PKGBUILD 145637 2015-11-02 14:01:09Z 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.3
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/puppet.conf')
install=$pkgname.install
source=(https://downloads.puppetlabs.com/$pkgname/$pkgname-$pkgver.tar.gz)
md5sums=('4e58475a5370a91c21397ac54fe427db')

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 -d "$pkgdir"/{var/lib/$pkgname,usr/lib/tmpfiles.d}

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

  # systemd
  install -Dm644 "$srcdir"/$pkgname-$pkgver/ext/systemd/$pkgname.service \
    "$pkgdir"/usr/lib/systemd/system/$pkgname.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
}
