summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: fa2dc52df7a427d8b3106b73864d7721cbff687d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# Maintainer: Jonathan Steel <jsteel at archlinux.org>
# Contributor: Niels Abspoel <aboe76 (at) Gmail (dot) com>

pkgname=puppetserver
pkgver=2.1.1
pkgrel=6
pkgdesc="Server automation framework and application"
arch=('any')
url="https://docs.puppetlabs.com/puppetserver/latest/services_master_puppetserver.html"
license=("APACHE")
depends=("ruby" "puppet>=4" "java-environment" "logrotate" "jruby" "facter2")
backup=('etc/default/puppetserver'
        'etc/logrotate.d/puppetserver'
        'etc/puppetlabs/puppetserver/bootstrap.cfg'
        'etc/puppetlabs/puppetserver/conf.d/ca.conf'
        'etc/puppetlabs/puppetserver/conf.d/global.conf'
        'etc/puppetlabs/puppetserver/conf.d/puppetserver.conf'
        'etc/puppetlabs/puppetserver/conf.d/web-routes.conf'
        'etc/puppetlabs/puppetserver/conf.d/webserver.conf'
        'etc/puppetlabs/puppetserver/logback.xml'
        'etc/puppetlabs/puppetserver/request-logging.xml')
install=$pkgname.install
source=(http://pkgbuild.com/~jsteel/arch/puppet/$pkgname-$pkgver.tar.gz)
md5sums=('d88cc2815ae198eaf794af73856e197f')

prepare() {
  cd $pkgname-$pkgver

  sed -i 's:sysconfig:default:' ext/redhat/puppetserver.service
  sed -i "s:/opt/puppetlabs/puppet/lib/ruby/vendor_ruby:$( ruby -e \
    'puts RbConfig::CONFIG["vendorlibdir"]' ):" ext/config/conf.d/$pkgname.conf
}

package() {
  cd $pkgname-$pkgver

_prefix=${_prefix:=/usr}
_unitdir=${_unitdir:=/usr/lib/systemd/system}
_datadir=${_datadir:=${_prefix}/share}
_real_name=${_real_name:=puppetserver}
_proj_datadir=${_proj_datadir:=${_datadir}/${_real_name}}
_confdir=${_confdir:=/etc}
_projconfdir=${_projconfdir:=${confdir}/puppetlabs/${_real_name}}
# Application specific bin directory
_bindir=${_bindir:=/opt/puppetlabs/server/apps/${_real_name}/bin}
# User facing bin directory, expected to be added to interactive shell PATH
_uxbindir=${_uxbindir:=/opt/puppetlabs/bin}
# symlinks of server binaries
_symbindir=${_symbindir:=/opt/puppetlabs/server/bin}
_app_prefix=${_app_prefix:=/opt/puppetlabs/server/apps/${_real_name}}
_app_data=${_app_data:=/opt/puppetlabs/server/data/${_real_name}}
_app_logdir=${_app_logdir:=/var/log/puppetlabs/${_real_name}}
_defaultsdir=/etc/default

    install -d -m 0755 "${pkgdir}${_app_prefix}"
    install -d -m 0755 "${pkgdir}${_app_data}"
    install -m 0644 puppet-server-release.jar "${pkgdir}${_app_prefix}"
    install -m 0774 ext/ezbake-functions.sh "${pkgdir}${_app_prefix}"
    install -m 0644 ext/ezbake.manifest "${pkgdir}${_app_prefix}"
    install -d -m 0755 "${pkgdir}${_projconfdir}/conf.d"
    install -m 0644 ext/config/conf.d/puppetserver.conf "${pkgdir}${_projconfdir}/conf.d/puppetserver.conf"
    install -m 0644 ext/config/conf.d/ca.conf "${pkgdir}${_projconfdir}/conf.d/ca.conf"
    install -m 0644 ext/config/request-logging.xml "${pkgdir}${_projconfdir}/request-logging.xml"
    install -m 0644 ext/config/logback.xml "${pkgdir}${_projconfdir}/logback.xml"
    install -m 0644 ext/config/bootstrap.cfg "${pkgdir}${_projconfdir}/bootstrap.cfg"
    install -m 0644 ext/config/conf.d/global.conf "${pkgdir}${_projconfdir}/conf.d/global.conf"
    install -m 0644 ext/config/conf.d/web-routes.conf "${pkgdir}${_projconfdir}/conf.d/web-routes.conf"
    install -m 0644 ext/config/conf.d/webserver.conf "${pkgdir}${_projconfdir}/conf.d/webserver.conf"
    install -d -m 0755 "${pkgdir}${_app_prefix}/scripts"
    install -d -m 0755 "${pkgdir}${_app_prefix}/cli"
    install -d -m 0755 "${pkgdir}${_app_prefix}/cli/apps"
    install -d -m 0755 "${pkgdir}${_bindir}"
    install -m 0755 "ext/bin/${_real_name}" "${pkgdir}${_bindir}/${_real_name}"
    install -d -m 0755 "${pkgdir}${_symbindir}"
    ln -s "../apps/${_real_name}/bin/${_real_name}" "${pkgdir}${_symbindir}/${_real_name}"
    install -d -m 0755 "${pkgdir}${_uxbindir}"
    ln -s "../server/apps/${_real_name}/bin/${_real_name}" "${pkgdir}${_uxbindir}/${_real_name}"
    install -d -m 0755 "${pkgdir}/usr/bin"
    ln -s "${_symbindir}/${_real_name}" "$pkgdir/usr/bin/${_real_name}"
    install -m 0755 ext/cli/irb "${pkgdir}${_app_prefix}/cli/apps/irb"
    install -m 0755 ext/cli/foreground "${pkgdir}${_app_prefix}/cli/apps/foreground"
    install -m 0755 ext/cli/gem "${pkgdir}${_app_prefix}/cli/apps/gem"
    install -m 0755 ext/cli/ruby "${pkgdir}${_app_prefix}/cli/apps/ruby"
    install -d -m 750 "${pkgdir}${_app_logdir}"
    install -d -m 0755 "${pkgdir}${_defaultsdir}"
    install -m 0644 ext/default "${pkgdir}${_defaultsdir}/puppetserver"
    install -d -m 0755 "${pkgdir}${_unitdir}"
    install -m 0755 ext/redhat/puppetserver.service "${pkgdir}${_unitdir}/puppetserver.service"
    install -d "$pkgdir"/opt/puppetlabs/server/data/puppetserver/jruby-gems
    install -d -m 0755 "${pkgdir}${_confdir}/logrotate.d"
    install ext/puppetserver.logrotate.conf "${pkgdir}${_confdir}/logrotate.d/puppetserver"
}