diff options
-rw-r--r-- | .SRCINFO | 26 | ||||
-rw-r--r-- | PKGBUILD | 61 | ||||
-rw-r--r-- | mcollective.service | 15 | ||||
-rw-r--r-- | ruby30.patch | 52 |
4 files changed, 154 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..4b507a8e9a04 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,26 @@ +pkgbase = mcollective + pkgdesc = The Marionette Collective, a framework for building server orchestration or parallel job-execution systems. + pkgver = 2.12.5 + pkgrel = 3 + url = https://puppet.com/docs/mcollective/current/index.html + arch = any + license = Apache + depends = ruby + depends = puppet5 + depends = ruby-stomp + optdepends = ruby-nats-pure: NATS backend + optdepends = ruby-net-ping: ping interface supporting various protocols + optdepends = ruby-sys-proctable: interface for providing process table info + backup = etc/puppetlabs/mcollective/server.cfg + backup = etc/puppetlabs/mcollective/client.cfg + source = https://downloads.puppetlabs.com/mcollective/mcollective-2.12.5.tar.gz + source = https://downloads.puppetlabs.com/mcollective/mcollective-2.12.5.tar.gz.asc + source = mcollective.service + source = ruby30.patch + validpgpkeys = 6F6B15509CF8E59E6E469F327F438280EF8D349F + sha512sums = f24c971a816f89196085574416a209ccf5584e61975a6a301aa6c697debf675a3ef49acf5ad3c772b8225d50fd149848afa79e7a5666b471299beb11e213cd57 + sha512sums = SKIP + sha512sums = 132cdf7d4262ed3969ab09d2951bf79a3182e2a795a2778bd6f4d5d66b53b17f170a7b106e4499f73acdd4a0b29b48eb34fb7a1cd5cba36b70570a9775fda9b1 + sha512sums = cd1e76378e3f6c3d759d2d9cb52825484c7f0efc11a577cf317a937dcd1597b1d7f7c5ae2049a2be5fb6f922b731a94851c7c7d10415e63f8b9928383536a614 + +pkgname = mcollective diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..55affe4178ce --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,61 @@ +# Maintainer: Thore Bödecker <foxxx0@archlinux.org + +pkgname=mcollective +pkgver=2.12.5 +pkgrel=3 +pkgdesc="The Marionette Collective, a framework for building server orchestration or parallel job-execution systems." +arch=('any') +url='https://puppet.com/docs/mcollective/current/index.html' +license=('Apache') +backup=('etc/puppetlabs/mcollective/server.cfg' 'etc/puppetlabs/mcollective/client.cfg') +depends=('ruby' 'puppet5' 'ruby-stomp') +optdepends=( + 'ruby-nats-pure: NATS backend' + 'ruby-net-ping: ping interface supporting various protocols' + 'ruby-sys-proctable: interface for providing process table info' +) +source=( + "https://downloads.puppetlabs.com/${pkgname}/${pkgname}-${pkgver}.tar.gz"{,.asc} + 'mcollective.service' + 'ruby30.patch' +) +sha512sums=('f24c971a816f89196085574416a209ccf5584e61975a6a301aa6c697debf675a3ef49acf5ad3c772b8225d50fd149848afa79e7a5666b471299beb11e213cd57' + 'SKIP' + '132cdf7d4262ed3969ab09d2951bf79a3182e2a795a2778bd6f4d5d66b53b17f170a7b106e4499f73acdd4a0b29b48eb34fb7a1cd5cba36b70570a9775fda9b1' + 'cd1e76378e3f6c3d759d2d9cb52825484c7f0efc11a577cf317a937dcd1597b1d7f7c5ae2049a2be5fb6f922b731a94851c7c7d10415e63f8b9928383536a614') +validpgpkeys=( + '6F6B15509CF8E59E6E469F327F438280EF8D349F' # Puppet, Inc. Release Key +) + +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -p1 < ../ruby30.patch +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + ruby install.rb \ + --destdir="${pkgdir}" \ + --rdoc \ + --configs \ + --configdir="/etc/puppetlabs/${pkgname}" \ + --bindir="/usr/bin" \ + --sbindir="/usr/bin" \ + --plugindir="/usr/lib/${pkgname}" \ + --sitelibdir="$(ruby -e 'puts RbConfig::CONFIG["vendorlibdir"]')" \ + --no-batch-files \ + --full + + find "${pkgdir}" -type d -name 'debian' -exec rm -rf {} + + find "${pkgdir}" -type d -name 'redhat' -exec rm -rf {} + + + install -D -m755 -d "${pkgdir}/usr/lib/${pkgname}" + + install -D -m644 "${srcdir}/mcollective.service" "${pkgdir}/usr/lib/systemd/system/mcollective.service" + + sed -i \ + -e "s|/usr/libexec/${pkgname}|/usr/lib/${pkgname}|g" \ + -e "s|/etc/${pkgname}|/etc/puppetlabs/${pkgname}|g" \ + "${pkgdir}/etc/puppetlabs/${pkgname}"/*.cfg +} diff --git a/mcollective.service b/mcollective.service new file mode 100644 index 000000000000..6fcb1684ae6d --- /dev/null +++ b/mcollective.service @@ -0,0 +1,15 @@ +[Unit] +Description=The Marionette Collective Daemon +After=network.target + +[Service] +Type=simple +StandardOutput=syslog +StandardError=syslog +PIDFile=/run/puppetlabs/mcollective.pid +ExecStart=/usr/bin/mcollectived --config=/etc/puppetlabs/mcollective/server.cfg --pidfile=/run/puppetlabs/mcollective.pid +ExecReload=/usr/bin/kill -USR1 $MAINPID +KillMode=process + +[Install] +WantedBy=multi-user.target diff --git a/ruby30.patch b/ruby30.patch new file mode 100644 index 000000000000..f14f76d2bfb8 --- /dev/null +++ b/ruby30.patch @@ -0,0 +1,52 @@ +commit b03686459ad1eca67c8ddb64e90284e0623ae3b1 +Author: Anatol Pomozov <anatol.pomozov@gmail.com> +Date: Fri Mar 19 16:35:03 2021 -0700 + + Port to ruby 3.0 + + Ruby 3.0 removed long deprecated constants + https://bigbinary.com/blog/ruby-2-4-has-depecated-constants-true-false-and-nil + + Use keyword arguments + +diff --git a/install.rb b/install.rb +index 902d5e8..98f5704 100755 +--- a/install.rb ++++ b/install.rb +@@ -46,9 +46,9 @@ rescue LoadError + end + + if (defined?(RbConfig) ? RbConfig : Config)::CONFIG['host_os'] =~ /mswin|win32|dos|mingw|cygwin/i +- WINDOWS = TRUE ++ WINDOWS = true + else +- WINDOWS = FALSE ++ WINDOWS = false + end + + PREREQS = %w{} +@@ -79,8 +79,8 @@ def do_configs(configs, target, strip = 'etc/') + configs.each do |cf| + ocf = File.join(target, cf.gsub(Regexp.new(strip), '')) + oc = File.dirname(ocf) +- makedirs(oc, {:mode => 0755, :verbose => true}) +- install(cf, ocf, {:mode => 0644, :preserve => true, :verbose => true}) ++ makedirs(oc, :mode => 0755, :verbose => true) ++ install(cf, ocf, :mode => 0644, :preserve => true, :verbose => true) + end + end + +@@ -97,10 +97,10 @@ def do_libs(libs, target, strip = 'lib/') + olf = File.join(target, lf.sub(/^#{strip}/, '')) + op = File.dirname(olf) + if File.directory?(lf) +- makedirs(olf, {:mode => 0755, :verbose => true}) ++ makedirs(olf, :mode => 0755, :verbose => true) + else +- makedirs(op, {:mode => 0755, :verbose => true}) +- install(lf, olf, {:mode => 0644, :preserve => true, :verbose => true}) ++ makedirs(op, :mode => 0755, :verbose => true) ++ install(lf, olf, :mode => 0644, :preserve => true, :verbose => true) + end + end + end |