diff options
| author | Can Eldem <celdem@gitlab.com> | 2020-07-10 16:41:15 +0000 |
|---|---|---|
| committer | Can Eldem <celdem@gitlab.com> | 2020-07-10 16:41:15 +0000 |
| commit | c17546f6cfccf07d27f7984321fe62a7788e8da1 (patch) | |
| tree | 54093c956c0f4dcf4c2ad352847017aee9a88edc /config/software | |
| parent | c7385965b4166fb6ab2db3387c67cd54aef1b8df (diff) | |
| parent | 36cdb0040abda394264455a1fdf3d6782af95ceb (diff) | |
Merge branch '217897-isolated-omnibus-lm' into 'master'v3.17.0
Isolate license_management ruby from project ruby
See merge request gitlab-org/security-products/license-management!181
Diffstat (limited to 'config/software')
| -rw-r--r-- | config/software/license_management.rb | 34 | ||||
| -rw-r--r-- | config/software/ruby.rb | 73 |
2 files changed, 107 insertions, 0 deletions
diff --git a/config/software/license_management.rb b/config/software/license_management.rb new file mode 100644 index 0000000..be19ddb --- /dev/null +++ b/config/software/license_management.rb @@ -0,0 +1,34 @@ +require_relative '../../lib/license/management/version.rb' +name "license_management" + +default_version License::Management::VERSION +source({ + path: Dir.pwd, + options: { + exclude: %w[bin coverage pkg spec tmp vendor .git .gitlab] + } +}) + +dependency "ruby" + +build do + touch "#{install_dir}/bin/.keep" + touch "#{install_dir}/.local/bin/.keep" + + gem "build #{project_dir}/license-management.gemspec -o #{project_dir}/release.gem" + gem "install -f #{project_dir}/release.gem --no-document" + delete "#{project_dir}/release.gem" + command "cp #{install_dir}/embedded/bin/license_management #{install_dir}/bin/license_management" + + command "cp -r #{project_dir}/config/files/. #{install_dir}/" + command "mvn license:license-list" + command "mvn dependency:get -Dartifact=gradle.plugin.com.hierynomus.gradle.plugins:license-gradle-plugin:0.15.0 -DremoteRepositories=https://plugins.gradle.org/m2" + command "mvn dependency:get -Dartifact=org.codehaus.plexus:plexus-utils:2.0.6" + copy "#{Dir.home}/.m2/repository/", "#{install_dir}/.m2/repository/" +end + +build do + delete "#{install_dir}/embedded/lib/ruby/gems/**/cache" + delete "#{install_dir}/embedded/lib/ruby/gems/**/doc" + delete "#{install_dir}/embedded/lib/ruby/gems/**/build_info" +end diff --git a/config/software/ruby.rb b/config/software/ruby.rb new file mode 100644 index 0000000..56a04fc --- /dev/null +++ b/config/software/ruby.rb @@ -0,0 +1,73 @@ +require 'fileutils' + +name "ruby" + +license "BSD-2-Clause" +license_file "BSDL" +license_file "COPYING" +license_file "LEGAL" +skip_transitive_dependency_licensing true + +default_version "2.7.1" + +dependency "libffi" +dependency "libyaml" +dependency "openssl" +dependency "zlib" + +source url: "https://cache.ruby-lang.org/pub/ruby/#{version.match(/^(\d+\.\d+)/)[0]}/ruby-#{version}.tar.gz", sha256: "d418483bdd0000576c1370571121a6eb24582116db0b7bb2005e90e250eae418" + +relative_path "ruby-#{version}" +embedded_dir = "#{install_dir}/embedded" + +build do + env = with_standard_compiler_flags(with_embedded_path) + configure_command = [ + "--disable-debug-env", + "--disable-dtrace", + "--disable-install-capi", + "--disable-install-doc", + "--disable-install-rdoc", + "--disable-jit-support", + "--enable-shared", + "--prefix=#{embedded_dir}", + "--with-out-ext=dbm,readline,rdoc,win32,win32ole,sdbm", + "--without-gdbm", + "--without-gmp", + "--without-jemalloc", + "--without-tk", + "--without-valgrind" + ] + configure(*configure_command, env: env) + make "-j #{workers}", env: env + make "-j #{workers} install", env: env +end + +build do + command "#{embedded_dir}/bin/gem install bundler -v'~> 2.0' --no-document" + command "#{embedded_dir}/bin/gem install bundler -v'~> 1.0' --no-document" +end + +build do + %w[benchmark pstore rss test-unit webrick minitest].each do |gem_name| + delete "#{embedded_dir}/lib/ruby/gems/**/gems/#{gem_name}*" + delete "#{embedded_dir}/lib/ruby/**/#{gem_name}*" + end + + delete "#{embedded_dir}/bin/*rac*" + delete "#{embedded_dir}/bin/erb" + delete "#{embedded_dir}/bin/irb" + delete "#{embedded_dir}/bin/rake" + delete "#{embedded_dir}/bin/rdoc" + delete "#{embedded_dir}/bin/ri" + delete "#{embedded_dir}/bin/thor" + delete "#{embedded_dir}/lib/ruby/gems/**/cache" + delete "#{embedded_dir}/lib/ruby/gems/**/doc" + delete "#{embedded_dir}/lib/ruby/gems/**/gems/**/.github" + delete "#{embedded_dir}/lib/ruby/gems/**/gems/**/.gitignore" + delete "#{embedded_dir}/lib/ruby/gems/**/gems/**/.travis.yml" + delete "#{embedded_dir}/lib/ruby/gems/**/gems/**/bundler/man" + delete "#{embedded_dir}/lib/ruby/gems/**/gems/**/man" + delete "#{embedded_dir}/lib/ruby/gems/**/gems/**/test" + delete "#{embedded_dir}/share" +end |
