ood_packaging 0.0.1.r2.0
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 +81 -0
- data/lib/ood_packaging/build.rb +329 -0
- data/lib/ood_packaging/build_box/docker-image/Dockerfile.erb +39 -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 +143 -0
- data/lib/ood_packaging/options.rb +8 -0
- data/lib/ood_packaging/package.rb +326 -0
- data/lib/ood_packaging/rake_task.rb +40 -0
- data/lib/ood_packaging/string_ext.rb +20 -0
- data/lib/ood_packaging/tasks.rb +117 -0
- data/lib/ood_packaging/utils.rb +104 -0
- data/lib/ood_packaging/version.rb +37 -0
- data/lib/ood_packaging.rb +11 -0
- metadata +120 -0
@@ -0,0 +1,104 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'erb'
|
4
|
+
|
5
|
+
# Shared utility functions
|
6
|
+
module OodPackaging::Utils
|
7
|
+
def proj_root
|
8
|
+
File.expand_path(File.join(File.dirname(__FILE__), '../..'))
|
9
|
+
end
|
10
|
+
|
11
|
+
def tar
|
12
|
+
@tar ||= begin
|
13
|
+
`which gtar 1>/dev/null 2>&1`
|
14
|
+
$CHILD_STATUS.success? ? 'gtar' : 'tar'
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def sed
|
19
|
+
@sed ||= begin
|
20
|
+
`which gsed 1>/dev/null 2>&1`
|
21
|
+
$CHILD_STATUS.success? ? 'gsed' : 'sed'
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def podman_runtime?
|
26
|
+
@podman_runtime ||= ENV['CONTAINER_RT'] == 'podman' || ENV['container'] == 'podman'
|
27
|
+
end
|
28
|
+
|
29
|
+
def docker_runtime?
|
30
|
+
!podman_runtime?
|
31
|
+
end
|
32
|
+
|
33
|
+
def container_runtime
|
34
|
+
podman_runtime? ? 'podman' : 'docker'
|
35
|
+
end
|
36
|
+
|
37
|
+
def rt_specific_flags
|
38
|
+
if podman_runtime?
|
39
|
+
# SELinux doesn't like it if you're mounting from $HOME
|
40
|
+
[
|
41
|
+
'--security-opt', 'label=disable'
|
42
|
+
]
|
43
|
+
else
|
44
|
+
['--privileged', '--tty']
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def template_file(filename)
|
49
|
+
cwd = File.expand_path(__dir__).to_s
|
50
|
+
src = File.join(cwd, filename)
|
51
|
+
dest = File.join(cwd, filename.gsub('.erb', ''))
|
52
|
+
content = ERB.new(File.read(src), trim_mode: '-').result(binding)
|
53
|
+
File.open(dest, 'w') { |f| f.write(content) }
|
54
|
+
dest
|
55
|
+
end
|
56
|
+
|
57
|
+
def ondemand_repo_version
|
58
|
+
'2.0'
|
59
|
+
end
|
60
|
+
|
61
|
+
def ruby_version
|
62
|
+
'2.7'
|
63
|
+
end
|
64
|
+
|
65
|
+
def scl_ruby
|
66
|
+
"rh-ruby#{ruby_version.tr('.', '')}"
|
67
|
+
end
|
68
|
+
|
69
|
+
def nodejs_version
|
70
|
+
'12'
|
71
|
+
end
|
72
|
+
|
73
|
+
def ctr_scripts_dir
|
74
|
+
'/ondemand-packaging'
|
75
|
+
end
|
76
|
+
|
77
|
+
def ctr_gems_dir
|
78
|
+
File.join(ctr_scripts_dir, 'gems')
|
79
|
+
end
|
80
|
+
|
81
|
+
def gpg_private_key
|
82
|
+
File.join(ctr_scripts_dir, 'ondemand.sec')
|
83
|
+
end
|
84
|
+
|
85
|
+
def gpg_passphrase
|
86
|
+
File.join(ctr_scripts_dir, '.gpgpass')
|
87
|
+
end
|
88
|
+
|
89
|
+
def ctr_user
|
90
|
+
'ood'
|
91
|
+
end
|
92
|
+
|
93
|
+
def ctr_home
|
94
|
+
File.join('/home', ctr_user)
|
95
|
+
end
|
96
|
+
|
97
|
+
def ctr_rpmmacros
|
98
|
+
File.join(ctr_home, '.rpmmacros')
|
99
|
+
end
|
100
|
+
|
101
|
+
def ctr_gpg_dir
|
102
|
+
File.join(ctr_home, '.gnupg')
|
103
|
+
end
|
104
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Version code for OodPackaging
|
4
|
+
module OodPackaging
|
5
|
+
VERSION = '0.0.1.r2.0'
|
6
|
+
PACKAGE_VERSION = {
|
7
|
+
'ondemand-release' => {
|
8
|
+
'(ubuntu|debian)' => '2.0.0',
|
9
|
+
'default' => '2.0'
|
10
|
+
},
|
11
|
+
'ondemand-release-latest' => {
|
12
|
+
'(ubuntu|debian)' => '1',
|
13
|
+
'default' => '1-7'
|
14
|
+
},
|
15
|
+
'ondemand-runtime' => '2.0-2',
|
16
|
+
'passenger' => '6.0.14',
|
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.0',
|
23
|
+
'default' => '2.0'
|
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
|
metadata
ADDED
@@ -0,0 +1,120 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ood_packaging
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1.r2.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Trey Dockendorf
|
8
|
+
- Jeff Ohrstrom
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2022-07-19 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
|
+
homepage: https://github.com/OSC/ondemand-packaging
|
98
|
+
licenses:
|
99
|
+
- MIT
|
100
|
+
metadata: {}
|
101
|
+
post_install_message:
|
102
|
+
rdoc_options: []
|
103
|
+
require_paths:
|
104
|
+
- lib
|
105
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - ">="
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 2.2.0
|
110
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
111
|
+
requirements:
|
112
|
+
- - ">"
|
113
|
+
- !ruby/object:Gem::Version
|
114
|
+
version: 1.3.1
|
115
|
+
requirements: []
|
116
|
+
rubygems_version: 3.2.33
|
117
|
+
signing_key:
|
118
|
+
specification_version: 4
|
119
|
+
summary: Open OnDemand packaging library
|
120
|
+
test_files: []
|