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.
@@ -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: []