# $Id: PKGBUILD 130872 2015-04-07 09:31:38Z 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=3.7.5
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'
            'logrotate')
backup=('etc/puppet/auth.conf' 'etc/puppet/fileserver.conf'
        'etc/puppet/puppet.conf' 'etc/puppet/tagmail.conf')
install=$pkgname.install
source=($pkgname-$pkgver.tar.gz::http://github.com/puppetlabs/$pkgname/archive/$pkgver.tar.gz)
md5sums=('c32ef680c48b9b884eb067ccff5e6ee9')

prepare() {
  cd $pkgname-$pkgver

  # Ruby 2.2 fixes
  sed -i 's/: "syck"$/: (defined?(Psych) \&\& YAML == Psych ? "psych" : "syck")/' \
    lib/puppet/vendor/safe_yaml/lib/safe_yaml.rb
  sed -i 485,488d lib/puppet/defaults.rb
}

package() {
  cd $pkgname-$pkgver

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

  install -Dm644 "$srcdir"/$pkgname-$pkgver/ext/redhat/$pkgname.conf \
    "$pkgdir"/etc/$pkgname/$pkgname.conf
  install -Dm644 "$srcdir"/$pkgname-$pkgver/ext/redhat/logrotate \
    "$pkgdir"/etc/logrotate.d/$pkgname
  install -Dm644 "$srcdir"/$pkgname-$pkgver/conf/fileserver.conf \
    "$pkgdir"/etc/$pkgname/fileserver.conf
  install -Dm644 "$srcdir"/$pkgname-$pkgver/conf/tagmail.conf \
    "$pkgdir"/etc/$pkgname/tagmail.conf

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

  echo "d /var/run/$pkgname 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
  install -Dm644 "$srcdir"/$pkgname-$pkgver/ext/systemd/${pkgname}master.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
}
