ood_packaging 0.0.1.rc.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/bin/ood_packaging +85 -0
- data/lib/ood_packaging/build.rb +304 -0
- data/lib/ood_packaging/build_box/docker-image/Dockerfile.erb +35 -0
- data/lib/ood_packaging/build_box/docker-image/RPM-GPG-KEY-ondemand +30 -0
- data/lib/ood_packaging/build_box/docker-image/Rakefile +3 -0
- data/lib/ood_packaging/build_box/docker-image/inituidgid.sh.erb +21 -0
- data/lib/ood_packaging/build_box/docker-image/install.sh.erb +88 -0
- data/lib/ood_packaging/build_box/docker-image/setuser.rb +16 -0
- data/lib/ood_packaging/build_box.rb +139 -0
- data/lib/ood_packaging/options.rb +8 -0
- data/lib/ood_packaging/package.rb +290 -0
- data/lib/ood_packaging/rake_task.rb +42 -0
- data/lib/ood_packaging/string_ext.rb +20 -0
- data/lib/ood_packaging/tasks.rb +102 -0
- data/lib/ood_packaging/utils.rb +93 -0
- data/lib/ood_packaging/version.rb +37 -0
- data/lib/ood_packaging.rb +11 -0
- data/lib/tasks/package_utils.rb +197 -0
- data/lib/tasks/packaging.rb +111 -0
- data/lib/tasks/templates/Dockerfile.el.erb +21 -0
- data/lib/tasks/templates/Dockerfile.ubuntu.erb +15 -0
- metadata +124 -0
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Version code for OodPackaging
|
4
|
+
module OodPackaging
|
5
|
+
VERSION = '0.0.1.rc.3'
|
6
|
+
PACKAGE_VERSION = {
|
7
|
+
'ondemand-release' => {
|
8
|
+
'(ubuntu|debian)' => '2.1.0',
|
9
|
+
'default' => '2.1'
|
10
|
+
},
|
11
|
+
'ondemand-release-latest' => {
|
12
|
+
'(ubuntu|debian)' => '1',
|
13
|
+
'default' => '1-6'
|
14
|
+
},
|
15
|
+
'ondemand-runtime' => '2.1',
|
16
|
+
'passenger' => '6.0.11',
|
17
|
+
'cjose' => '0.6.1',
|
18
|
+
'mod_auth_openidc' => '2.4.5',
|
19
|
+
'sqlite' => '3.26.0-4',
|
20
|
+
'ondemand_exporter' => '0.9.0',
|
21
|
+
'ondemand-compute' => {
|
22
|
+
'(ubuntu|debian)' => '2.1.0',
|
23
|
+
'default' => '2.1'
|
24
|
+
},
|
25
|
+
'python-websockify' => '0.8.0',
|
26
|
+
'turbovnc' => '2.2.5'
|
27
|
+
}.freeze
|
28
|
+
|
29
|
+
def self.package_version(package, dist)
|
30
|
+
return PACKAGE_VERSION[package] if PACKAGE_VERSION[package].is_a?(String)
|
31
|
+
|
32
|
+
PACKAGE_VERSION[package].each_pair do |k, v|
|
33
|
+
return v if dist =~ /#{k}/
|
34
|
+
end
|
35
|
+
PACKAGE_VERSION[package]['default']
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OodPackaging
|
4
|
+
require 'ood_packaging/build'
|
5
|
+
require 'ood_packaging/build_box'
|
6
|
+
require 'ood_packaging/options'
|
7
|
+
require 'ood_packaging/package'
|
8
|
+
require 'ood_packaging/string_ext'
|
9
|
+
require 'ood_packaging/utils'
|
10
|
+
require 'ood_packaging/version'
|
11
|
+
end
|
@@ -0,0 +1,197 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'English'
|
4
|
+
require 'erb'
|
5
|
+
require 'tempfile'
|
6
|
+
|
7
|
+
# Package utilities
|
8
|
+
module PackageUtils
|
9
|
+
def version
|
10
|
+
@version ||= if ENV['VERSION']
|
11
|
+
ENV['VERSION'].to_s
|
12
|
+
else
|
13
|
+
tag? ? git_tag : "#{git_tag}-#{git_hash}"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def build_timestamp
|
18
|
+
@build_timestamp ||= Time.now.strftime('%s')
|
19
|
+
end
|
20
|
+
|
21
|
+
def git_hash
|
22
|
+
@git_hash ||= `git rev-parse HEAD`.strip[0..6]
|
23
|
+
end
|
24
|
+
|
25
|
+
def git_tag
|
26
|
+
@git_tag ||= `git describe --tags --abbrev=0`.chomp
|
27
|
+
end
|
28
|
+
|
29
|
+
def numeric_tag
|
30
|
+
@numeric_tag ||= git_tag.delete_prefix('v')
|
31
|
+
end
|
32
|
+
|
33
|
+
def tag?
|
34
|
+
@tag ||= `git describe --exact-match --tags HEAD 2>/dev/null`.to_s != ''
|
35
|
+
end
|
36
|
+
|
37
|
+
def podman_runtime?
|
38
|
+
@podman_runtime ||= ENV['CONTAINER_RT'] == 'podman'
|
39
|
+
end
|
40
|
+
|
41
|
+
def docker_runtime?
|
42
|
+
!podman_runtime?
|
43
|
+
end
|
44
|
+
|
45
|
+
def container_runtime
|
46
|
+
podman_runtime? ? 'podman' : 'docker'
|
47
|
+
end
|
48
|
+
|
49
|
+
def tar
|
50
|
+
@tar ||= begin
|
51
|
+
`which gtar 1>/dev/null 2>&1`
|
52
|
+
$CHILD_STATUS.success? ? 'gtar' : 'tar'
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def src_dir
|
57
|
+
ENV['OOD_SRC_DIR'] || '.'
|
58
|
+
end
|
59
|
+
|
60
|
+
def user
|
61
|
+
@user ||= Etc.getpwnam(Etc.getlogin)
|
62
|
+
end
|
63
|
+
|
64
|
+
def build_dir(args)
|
65
|
+
@build_dir ||= "#{src_dir}/build/#{build_box_image(args).gsub(':', '-')}".tap { |d| sh "mkdir -p #{d}" }
|
66
|
+
end
|
67
|
+
|
68
|
+
# TODO: continue vendor/ convention? Seems as good as any other name.
|
69
|
+
def vendor_src_dir
|
70
|
+
'vendor/ood/src'.tap { |p| sh "mkdir -p #{p}" }
|
71
|
+
end
|
72
|
+
|
73
|
+
def vendor_build_dir
|
74
|
+
'vendor/ood/build'.tap { |p| sh "mkdir -p #{p}" }
|
75
|
+
end
|
76
|
+
|
77
|
+
def dist_dir(args)
|
78
|
+
dist = args[:dist].to_s
|
79
|
+
version = args[:version].to_s
|
80
|
+
"dist/#{dist}#{version}"
|
81
|
+
end
|
82
|
+
|
83
|
+
def known_images
|
84
|
+
{
|
85
|
+
'ubuntu-20.04': '1'
|
86
|
+
}.freeze
|
87
|
+
end
|
88
|
+
|
89
|
+
def build_box_image(args)
|
90
|
+
base_name = "#{args[:dist]}-#{args[:version]}"
|
91
|
+
@version_lookup ||= Hash.new('1').merge(known_images)
|
92
|
+
|
93
|
+
"#{build_box_name}:#{base_name}-#{@version_lookup[base_name.to_sym]}"
|
94
|
+
end
|
95
|
+
|
96
|
+
def build_box_name
|
97
|
+
ENV['OOD_BUILD_BOX'] || 'ood-buildbox'
|
98
|
+
end
|
99
|
+
|
100
|
+
def image_exists?(image_name)
|
101
|
+
`#{container_runtime} inspect --type image --format exists #{image_name} || true`.chomp.eql?('exists')
|
102
|
+
end
|
103
|
+
|
104
|
+
def build_cmd(file, image)
|
105
|
+
args = [container_runtime, 'build', '-t', image, '-f', file]
|
106
|
+
args.concat '.' if docker_runtime?
|
107
|
+
args.join(' ')
|
108
|
+
end
|
109
|
+
|
110
|
+
def template_file(filename)
|
111
|
+
cwd = File.expand_path(__dir__).to_s
|
112
|
+
content = File.read("#{cwd}/templates/#{filename}")
|
113
|
+
content = ERB.new(content, trim_mode: '-').result(binding)
|
114
|
+
|
115
|
+
begin
|
116
|
+
t = Tempfile.new('ood-docker')
|
117
|
+
t.write(content)
|
118
|
+
t.path
|
119
|
+
ensure
|
120
|
+
t.close
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
124
|
+
def ctr_home
|
125
|
+
"/home/#{ctr_user}"
|
126
|
+
end
|
127
|
+
|
128
|
+
def ctr_user
|
129
|
+
'ood'
|
130
|
+
end
|
131
|
+
|
132
|
+
def ctr_run_args
|
133
|
+
[
|
134
|
+
'--rm', '--user', "#{ctr_user}:#{ctr_user}",
|
135
|
+
'-e', 'LC_CTYPE=en_US.UTF-8'
|
136
|
+
].concat(rt_specific_flags)
|
137
|
+
end
|
138
|
+
|
139
|
+
def rt_specific_flags
|
140
|
+
if podman_runtime?
|
141
|
+
# SELinux doesn't like it if you're mounting from $HOME
|
142
|
+
['--security-opt', 'label=disable', '--userns=keep-id']
|
143
|
+
else
|
144
|
+
[]
|
145
|
+
end
|
146
|
+
end
|
147
|
+
|
148
|
+
def arch
|
149
|
+
'x86_64'
|
150
|
+
end
|
151
|
+
|
152
|
+
def spec_location
|
153
|
+
sf = Dir.glob('packaging/rpm/*.spec').first
|
154
|
+
raise StandardError, 'Cannot find spec file in packaging/rpm' if sf.nil?
|
155
|
+
|
156
|
+
sf
|
157
|
+
end
|
158
|
+
|
159
|
+
def spec_file
|
160
|
+
File.basename(spec_location)
|
161
|
+
end
|
162
|
+
|
163
|
+
def rpm_build_args
|
164
|
+
[git_tag_define, version_define, '-ba', '--nodeps', '-vv', spec_file]
|
165
|
+
|
166
|
+
# if git_prerelease_tag.size >= 2
|
167
|
+
# git_prerelease_verison = git_prerelease_tag[0]
|
168
|
+
# git_prerelease_verison = git_prerelease_verison[1..-1] if git_prerelease_verison.start_with?('v')
|
169
|
+
# version_define = "--define 'package_version #{git_prerelease_verison}'"
|
170
|
+
# if git_tag.size >= 2
|
171
|
+
# prerelease = git_prerelease_tag[1].gsub('-', '.')
|
172
|
+
# release_define = "--define 'package_release 0.#{prerelease}'"
|
173
|
+
# else
|
174
|
+
# release_define = "--define 'package_release 0.#{git_prerelease_tag[1]}.1'"
|
175
|
+
# end
|
176
|
+
# else
|
177
|
+
# version_define = "--define 'package_version #{git_tag_version}'"
|
178
|
+
# release_define = if git_tag.size >= 2
|
179
|
+
# "--define 'package_release #{git_tag[1]}'"
|
180
|
+
# else
|
181
|
+
# ''
|
182
|
+
# end
|
183
|
+
# end
|
184
|
+
end
|
185
|
+
|
186
|
+
def version_define
|
187
|
+
git_tag = version.split('-')
|
188
|
+
git_tag_version = git_tag[0]
|
189
|
+
git_tag_version = git_tag_version[1..] if git_tag_version.start_with?('v')
|
190
|
+
|
191
|
+
"--define 'package_version #{git_tag_version}'"
|
192
|
+
end
|
193
|
+
|
194
|
+
def git_tag_define
|
195
|
+
"--define 'git_tag #{version}'"
|
196
|
+
end
|
197
|
+
end
|
@@ -0,0 +1,111 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
desc 'Package OnDemand'
|
4
|
+
namespace :package do
|
5
|
+
require_relative 'package_utils'
|
6
|
+
include PackageUtils
|
7
|
+
|
8
|
+
desc 'Tar and zip OnDemand into packaging dir with version name v#<version>'
|
9
|
+
task :tar, [:output_dir] do |_task, args|
|
10
|
+
version = ENV['VERSION'] || ENV['CI_COMMIT_TAG']
|
11
|
+
version = version.gsub(/^v/, '') unless version.nil?
|
12
|
+
|
13
|
+
chdir src_dir do
|
14
|
+
unless version
|
15
|
+
latest_commit = `git rev-list --tags --max-count=1`.strip[0..6]
|
16
|
+
latest_tag = `git describe --tags #{latest_commit}`.strip[1..]
|
17
|
+
datetime = Time.now.strftime('%Y%m%d-%H%M')
|
18
|
+
version = "#{latest_tag}-#{datetime}-#{latest_commit}"
|
19
|
+
end
|
20
|
+
|
21
|
+
dir = (args[:output_dir] || 'packaging/rpm').to_s.tap { |p| sh "mkdir -p #{p}" }
|
22
|
+
sh "git ls-files | #{tar} -c --transform 's,^,ondemand-#{version}/,' -T - | gzip > #{dir}/v#{version}.tar.gz"
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
# TODO: refactor these 2 tar tasks. Debian and RHEL expect slightly different names and
|
27
|
+
# what's worse is the whole v prefixing mess
|
28
|
+
task :debian_tar, [:output_dir] do |_task, args|
|
29
|
+
dir = (args[:output_dir] || 'packaging').to_s.tap { |p| sh "mkdir -p #{p}" }
|
30
|
+
tar_file = "#{dir}/#{ood_package_tar}"
|
31
|
+
|
32
|
+
sh "rm #{tar_file}" if File.exist?(tar_file)
|
33
|
+
sh "git ls-files | #{tar} -c --transform 's,^,#{versioned_ood_package}/,' -T - | gzip > #{tar_file}"
|
34
|
+
end
|
35
|
+
|
36
|
+
task :version do
|
37
|
+
puts package_version
|
38
|
+
end
|
39
|
+
|
40
|
+
task :deb, [:dist, :version] => [:build_box] do |_task, args|
|
41
|
+
dir = build_dir(args)
|
42
|
+
Rake::Task['package:debian_tar'].invoke(dir)
|
43
|
+
sh "#{tar} -xzf #{dir}/#{ood_package_tar} -C #{dir}"
|
44
|
+
|
45
|
+
work_dir = "/build/#{versioned_ood_package}"
|
46
|
+
|
47
|
+
base_args = ctr_run_args
|
48
|
+
base_args.concat ['-v', "#{dir}:/build", '-w', work_dir.to_s]
|
49
|
+
base_args.concat ['-e', "DEBUILD_DPKG_BUILDPACKAGE_OPTS='-us -uc -I -i'"]
|
50
|
+
base_args.concat ['-e', 'HOME=/home/ood', '-e', 'USER=ood']
|
51
|
+
base_args.concat ['-e', "VERSION=#{ENV['VERSION']}"] unless ENV['VERSION'].nil?
|
52
|
+
base_args.concat [build_box_image(args)]
|
53
|
+
sh "#{container_runtime} run #{base_args.join(' ')} debmake -b':ruby'"
|
54
|
+
|
55
|
+
debuild_args = ['debuild', '--no-lintian']
|
56
|
+
sh "#{container_runtime} run #{base_args.join(' ')} #{debuild_args.join(' ')}"
|
57
|
+
end
|
58
|
+
|
59
|
+
task :bootstrap_rpm, [:dist, :version] => [:verify_args] do |_task, args|
|
60
|
+
chdir src_dir do
|
61
|
+
build_dir(args).tap do |d|
|
62
|
+
src_dir = "#{d}/rpmbuild/SOURCES".tap { |s| sh "mkdir -p #{s}" }
|
63
|
+
dist_dir(args).tap { |dd| sh "mkdir -p #{dd}" }
|
64
|
+
Rake::Task['package:tar'].invoke(src_dir)
|
65
|
+
|
66
|
+
FileUtils.cp Dir.glob('packaging/rpm/*.{fc,te,ico,png,tar.gz}'), src_dir
|
67
|
+
FileUtils.cp spec_location, d
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
desc 'Build an RPM'
|
73
|
+
task :rpm, [:dist, :version] => [:build_box, :bootstrap_rpm] do |_task, args|
|
74
|
+
dir = build_dir(args)
|
75
|
+
image = build_box_image(args)
|
76
|
+
|
77
|
+
base_args = ctr_run_args
|
78
|
+
base_args.concat ['-v', "#{dir}:#{ctr_home}", '-w', "'#{ctr_home}'"]
|
79
|
+
base_args.concat ['-e', "HOME=#{ctr_home}"]
|
80
|
+
|
81
|
+
chdir src_dir do
|
82
|
+
sh "#{container_runtime} run #{base_args.join(' ')} #{image} rpmbuild #{rpm_build_args.join(' ')}"
|
83
|
+
FileUtils.cp Dir.glob("#{dir}/rpmbuild/RPMS/#{arch}/*.rpm"), dist_dir(args)
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
namespace :rpm do
|
88
|
+
desc 'Build nightly RPM'
|
89
|
+
task :nightly, [:dist, :extra_args] do |_task, args|
|
90
|
+
version_major, version_minor = git_tag.gsub(/^v/, '').split('.', 3)
|
91
|
+
date = Time.now.strftime('%Y%m%d')
|
92
|
+
id = ENV['CI_PIPELINE_ID'] || Time.now.strftime('%H%M%S')
|
93
|
+
ENV['VERSION'] = "#{version_major}.#{version_minor}.#{date}-#{id}.#{git_hash}.nightly"
|
94
|
+
Rake::Task['package:rpm'].invoke(args[:dist], args[:extra_args])
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
task :verify_args, [:dist, :version] do |_task, args|
|
99
|
+
raise 'Need to specify :dist and :version' if args[:dist].nil? || args[:version].nil?
|
100
|
+
end
|
101
|
+
|
102
|
+
desc 'Create buildbox for Open OnDemand'
|
103
|
+
task :build_box, [:dist, :version] => [:verify_args] do |_task, args|
|
104
|
+
cmd = build_cmd(
|
105
|
+
template_file("Dockerfile.#{args[:dist]}.erb"),
|
106
|
+
build_box_image(args)
|
107
|
+
)
|
108
|
+
|
109
|
+
sh cmd unless image_exists?(build_box_image(args))
|
110
|
+
end
|
111
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
FROM centos:8
|
2
|
+
|
3
|
+
# install all the dependencies
|
4
|
+
RUN dnf -y update
|
5
|
+
RUN dnf install -y dnf-utils
|
6
|
+
RUN dnf config-manager --set-enabled powertools
|
7
|
+
RUN dnf -y module enable nodejs:12 ruby:2.7
|
8
|
+
RUN dnf install -y \
|
9
|
+
make gcc gcc-c++ git rsync rpm-build redhat-rpm-config
|
10
|
+
RUN dnf install -y libselinux libselinux-devel
|
11
|
+
RUN dnf install -y selinux-policy selinux-policy-devel
|
12
|
+
RUN dnf install -y scl-utils
|
13
|
+
|
14
|
+
RUN dnf install -y https://yum.osc.edu/ondemand/latest/ondemand-release-web-latest-1-6.noarch.rpm
|
15
|
+
RUN dnf install -y \
|
16
|
+
ondemand-runtime ondemand-scldevel ondemand-build ondemand-ruby ondemand-python ondemand-nodejs
|
17
|
+
|
18
|
+
RUN dnf clean all && rm -rf /var/cache/dnf/*
|
19
|
+
|
20
|
+
RUN groupadd <%= ctr_user %> && \
|
21
|
+
useradd --create-home --gid <%= ctr_user %> <%= ctr_user %>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
from ubuntu:20.04
|
2
|
+
|
3
|
+
ENV DEBIAN_FRONTEND=noninteractive
|
4
|
+
|
5
|
+
RUN apt update && \
|
6
|
+
apt install -y \
|
7
|
+
ruby=1:2.7+1 ruby-dev=1:2.7+1 \
|
8
|
+
nodejs npm \
|
9
|
+
make g++ gcc sqlite3 libsqlite3-dev \
|
10
|
+
debmake debhelper
|
11
|
+
|
12
|
+
RUN groupadd <%= ctr_user %> && \
|
13
|
+
useradd --create-home --gid <%= ctr_user %> <%= ctr_user %>
|
14
|
+
|
15
|
+
RUN ln -s /bin/bundle2.7 /bin/bundle
|
metadata
ADDED
@@ -0,0 +1,124 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ood_packaging
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1.rc.3
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Trey Dockendorf
|
8
|
+
- Jeff Ohrstrom
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2021-12-21 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rake
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - "~>"
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: 13.0.1
|
21
|
+
type: :runtime
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - "~>"
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: 13.0.1
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: rspec
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '0'
|
35
|
+
type: :development
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '0'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: rubocop
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - ">="
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '0'
|
49
|
+
type: :development
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: rubocop-rspec
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
description: Open OnDemand packaging library provides Rake tasks like package:rpm
|
71
|
+
and pacakge:deb
|
72
|
+
email:
|
73
|
+
- tdockendorf@osc.edu
|
74
|
+
- johrstrom@osc.edu
|
75
|
+
executables:
|
76
|
+
- ood_packaging
|
77
|
+
extensions: []
|
78
|
+
extra_rdoc_files: []
|
79
|
+
files:
|
80
|
+
- bin/ood_packaging
|
81
|
+
- lib/ood_packaging.rb
|
82
|
+
- lib/ood_packaging/build.rb
|
83
|
+
- lib/ood_packaging/build_box.rb
|
84
|
+
- lib/ood_packaging/build_box/docker-image/Dockerfile.erb
|
85
|
+
- lib/ood_packaging/build_box/docker-image/RPM-GPG-KEY-ondemand
|
86
|
+
- lib/ood_packaging/build_box/docker-image/Rakefile
|
87
|
+
- lib/ood_packaging/build_box/docker-image/inituidgid.sh.erb
|
88
|
+
- lib/ood_packaging/build_box/docker-image/install.sh.erb
|
89
|
+
- lib/ood_packaging/build_box/docker-image/setuser.rb
|
90
|
+
- lib/ood_packaging/options.rb
|
91
|
+
- lib/ood_packaging/package.rb
|
92
|
+
- lib/ood_packaging/rake_task.rb
|
93
|
+
- lib/ood_packaging/string_ext.rb
|
94
|
+
- lib/ood_packaging/tasks.rb
|
95
|
+
- lib/ood_packaging/utils.rb
|
96
|
+
- lib/ood_packaging/version.rb
|
97
|
+
- lib/tasks/package_utils.rb
|
98
|
+
- lib/tasks/packaging.rb
|
99
|
+
- lib/tasks/templates/Dockerfile.el.erb
|
100
|
+
- lib/tasks/templates/Dockerfile.ubuntu.erb
|
101
|
+
homepage: https://github.com/OSC/ondemand-packaging
|
102
|
+
licenses:
|
103
|
+
- MIT
|
104
|
+
metadata: {}
|
105
|
+
post_install_message:
|
106
|
+
rdoc_options: []
|
107
|
+
require_paths:
|
108
|
+
- lib
|
109
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
110
|
+
requirements:
|
111
|
+
- - ">="
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
version: 2.2.0
|
114
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
115
|
+
requirements:
|
116
|
+
- - ">"
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: 1.3.1
|
119
|
+
requirements: []
|
120
|
+
rubygems_version: 3.1.2
|
121
|
+
signing_key:
|
122
|
+
specification_version: 4
|
123
|
+
summary: Open OnDemand packaging library
|
124
|
+
test_files: []
|