diff options
author | Jarek Prokop <jprokop@redhat.com> | 2022-11-21 08:57:47 +0100 |
---|---|---|
committer | Jarek Prokop <jprokop@redhat.com> | 2022-11-21 08:59:33 +0100 |
commit | d1e88765e10f47ebf1ad9857f328a291bb81b2c1 (patch) | |
tree | ae5f18ee497e0a1bff5bc3873429870534a7181d | |
download | spdx_rubygems-d1e88765e10f47ebf1ad9857f328a291bb81b2c1.tar.gz spdx_rubygems-d1e88765e10f47ebf1ad9857f328a291bb81b2c1.tar.xz spdx_rubygems-d1e88765e10f47ebf1ad9857f328a291bb81b2c1.zip |
Initial commit
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | current_ok_rb.csv | 232 | ||||
-rw-r--r-- | fedora2spdx.rb | 206 | ||||
-rw-r--r-- | gem2rpm.cache | 488 | ||||
-rw-r--r-- | licences.csv | 496 | ||||
-rw-r--r-- | rbgem_license_check_out.csv | 488 | ||||
-rw-r--r-- | template.erb | 2 | ||||
-rw-r--r-- | validate_ruby_files.rb | 73 |
8 files changed, 1987 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7861b23 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +*.spec +rubygem-*/ diff --git a/current_ok_rb.csv b/current_ok_rb.csv new file mode 100644 index 0000000..0ee3758 --- /dev/null +++ b/current_ok_rb.csv @@ -0,0 +1,232 @@ +fedora matches gem2rpm;Inspection required;pkg-config;LGPLv2+;LGPLv2+ +fedora matches gem2rpm;Inspection required;unicode;Ruby;Ruby +fedora matches gem2rpm;TRUE valid MIT;Ascii85;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;abrt;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;actioncable;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;actionmailbox;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;actionmailer;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;actionpack;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;actiontext;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;actionview;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;activejob;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;activemodel-serializers-xml;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;activemodel;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;activeresource;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;activestorage;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;activesupport;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;acts_as_list;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;afm;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;arel;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;asciidoctor-pdf;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;backports;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;base32;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;benchmark-ips;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;bindex;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;bootsnap;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;builder;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;bundler_ext;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;capybara;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;childprocess;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;chronic;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;chunky_png;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;cinch;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;clockwork;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;coffee-script;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;colorator;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;connection_pool;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;coveralls;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;crass;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;cucumber-core;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;cucumber-create-meta;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;cucumber-cucumber-expressions;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;cucumber-gherkin;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;cucumber-messages;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;cucumber-tag-expressions;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;cucumber-wire;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;cucumber;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;daemon_controller;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;dalli;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;deep_merge;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;diffy;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;docile;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;ed25519;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;em-websocket-client;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;em-websocket;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;erubi;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;ethon;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;excon;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;execjs;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;factory_bot;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;fake_ftp;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;fakefs;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;faraday;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;flexmock;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;fog-core;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;fog-json;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;fog-libvirt;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;fog-xml;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;foreigner;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;forwardable-extended;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;generator_spec;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;gist;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;git;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;globalid;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;glu;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;glut;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;guard-compat;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;guard-livereload;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;guard-shell;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;guard;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;hashdiff;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;hashie;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;http-cookie;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;http_parser.rb;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;httparty;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;image_processing;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;importmap-rails;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;ipaddress;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;jbuilder;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;jekyll-email-protect;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;jekyll-feed;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;jekyll-git-authors;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;jekyll-seo-tag;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;jekyll-toc;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;jekyll;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;jquery-rails;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;json_spec;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;linked-list;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;liquid;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;listen;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;loofah;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;lumberjack;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;mail;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;marc;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;mechanize;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;memfs;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;mercenary;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;method_source;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;mimemagic;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;mini_magick;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;mini_mime;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;mini_portile2;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;mini_portile;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;minima;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;minitest-around;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;minitest-profile;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;minitest-stub-const;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;mizuho;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;mongoid;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;more_core_extensions;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;multi_json;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;multi_test;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;multi_xml;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;mustache;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;mustermann;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;mysql2;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;nenv;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;nesty;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;net-scp;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;net-ssh;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;netrc;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;notiffany;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;opengl;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;optimist;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;ox;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;parallel;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;parseconfig;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;pastel;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;pathutil;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;pdf-reader;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;pdfkit;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;plist;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;polyglot;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;powerpack;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;prawn-svg;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;progressbar;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;pry-byebug;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;pundit;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rack-cors;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rack-protection;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rack-test;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rails-controller-testing;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rails-deprecated_sanitizer;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rails-dom-testing;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rails-html-sanitizer;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;railties;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rainbow;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rake-compiler;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rake-contrib;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rake;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rb-inotify;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rbvmomi;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;red-colors;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;redis;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;ref;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;regexp_parser;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;regexp_property_values;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;require_all;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;resolve-hostname;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rest-client;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rmagick;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;ronn-ng;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rr;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rspec-collection_matchers;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rspec-core;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rspec-expectations;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rspec-its;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rspec-mocks;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rspec-pending_for;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rspec-rails;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rspec-support;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rspec;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;ruby-progressbar;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;ruby-vips;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;ruby_dep;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;ruby_engine;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;ruby_version;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rugged;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;safe_yaml;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;sass-rails;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;sass;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;sassc;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;scrub_rb;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;sd_notify;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;semantic;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;shellany;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;shoulda-context;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;shoulda-matchers;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;shoulda;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;simplecov-html;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;simplecov;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;simpleidn;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;sinatra;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;slim;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;spring-watcher-listen;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;spring;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;sprockets-rails;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;sshkey;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;stringex;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;temple;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;terminal-table;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;test_construct;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;test_declarative;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;thor;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;thread_order;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;timecop;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;tomlrb;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;treetop;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;tty-color;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;turbolinks-source;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;turbolinks;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;typhoeus;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;tzinfo;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;unf_ext;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;unicode-display_width;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;web-console;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;webmock;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;zeitwerk;MIT;MIT +fedora matches gem2rpm;Valid SPDX ID, no intervention required.;bson;Apache-2.0;Apache-2.0 +fedora matches gem2rpm;Valid SPDX ID, no intervention required.;puma;BSD-3-Clause;BSD-3-Clause +fedora matches gem2rpm;Valid SPDX ID, no intervention required.;sync;BSD-2-Clause;BSD-2-Clause +fedora matches gem2rpm;Valid SPDX ID, no intervention required.;term-ansicolor;Apache-2.0;Apache-2.0 +fedora matches gem2rpm;Valid SPDX ID, no intervention required.;websocket-extensions;Apache-2.0;Apache-2.0 diff --git a/fedora2spdx.rb b/fedora2spdx.rb new file mode 100644 index 0000000..780ca2d --- /dev/null +++ b/fedora2spdx.rb @@ -0,0 +1,206 @@ +require 'csv' +require 'etc' +require 'open3' +require 'rubygems' +require 'rubygems/package' +require 'tmpdir' +require 'licensee' +# Licences.csv are from validate_ruby_files.rb and it contains what was possible to gather from upstream gemfiles and Fedora specfiles. +# This file exists to validate, that the output from gem2rpm for Fedora is the same. And possibly also validate Licensefiles, cos +# the goddamn MIT and BSD have around 20 possibilities from callaway to spdx... +csv = CSV.parse(File.read('licences.csv'), col_sep: ';', headers: true) + +class ThreadWorker + MAX_THREADS = Etc.nprocessors + + # Expecting an array of items and a block + def initialize(items) + raise ArgumentError, 'Worker queue received no work...' unless items + + raise ArgumentError, 'Provide block to execute in threads with items.' unless block_given? + + @items = items.to_a + + # If we more threads than items, then we can't slice it + slices = if @items.count <= MAX_THREADS + [@items] + else + # + 1 to slice size should prevent spawning more threads + # than we have HW threads (Yes, MRI does not have hw:sw + # mapping, but they spawn subprocesses that do execute on HW + # thread) + @items.each_slice((@items.count / MAX_THREADS) + 1) + end + + @worker_pool = [] + + slices.each do |slice| + @worker_pool << Thread.new do + yield slice + end + end + end + + def gather_pool + @worker_pool.map(&:value).flatten(1) + end + + class << self + def execute(command, pwd: nil) + options = {} + options[:chdir] = pwd if pwd + puts "Executing: #{command}" + stdout, stderr, status = Open3.capture3(command, options) + + raise "Failed command, stderr: #{stderr}, stdout: #{stdout}, cmd: #{command}" unless status.success? + + stdout + end + end +end + +# Fetch the Fedora sources +ThreadWorker.new(csv.to_a[1..]) do |slice| + slice.map do |row| + name = "rubygem-#{row[0]}" + + next if Dir.exist?(name) + + ThreadWorker.execute("fedpkg clone -a #{name}") + end +end.gather_pool + +# Sigh... they have tar as rubygem source... +EXCLUDED_SOURCES = %w[rubygem-morph-cli rubygem-krb5-auth rubygem-asciidoctor rubygem-rgen rubygem-net-irc].freeze + +# Fetch the gem from lookaside cache +ThreadWorker.new(csv.to_a[1..]) do |slice| + slice.map do |row| + name = "rubygem-#{row[0]}" + + dir = Dir["#{name}/*.gem"] + + next unless dir.empty? + + next if EXCLUDED_SOURCES.include? name + + raise "#{dir} ; too much stuff" if dir.size > 1 + + puts "sources for #{name}" + ThreadWorker.execute("fedpkg sources", pwd: name) + end +end.gather_pool + +res = if File.exist?("gem2rpm.cache") + File.read("gem2rpm.cache").split("\n") + else + # Create CSV from the gems, so that we have smth to compare. + gems = Dir['*/*.gem'] + out = ThreadWorker.new(gems) do |slice| + slice.map do |gem_file| + # template: + # <%# gem_name;gem_version;fedora_license;license_file %> + # <%= spec.name %>;<%= spec.version %>;<%= spec.licenses.join(" and ") %>;<%= main_files.filter do |item| item.license? end.join(" ")%> + ThreadWorker.execute("gem2rpm --template ./template.erb #{gem_file} --local") + end + end.gather_pool.map(&:lstrip) + + File.write("gem2rpm.cache", out.join('')) + + out.map(&:rstrip) + end + +res = res.map { |str| str.split(';') } + +def licensee_mit(gem_path, license_file) + # Match the MIT license against this text... let's see if it even helps + curr_dir = Dir.pwd + + license = nil + content = nil + Dir.mktmpdir do |destination| + the_gem = Gem::Package.new(File.join(curr_dir, gem_path)) + the_gem.contents # get the files in the gem + the_gem.extract_files destination # extract the gem into a directory + + content = File.read(File.join(destination, license_file)) + license = Licensee.license(File.join(destination,license_file)) + # In case of an exception, it is needed to debug what went wrong (nonexistant dir, nonexistant file even despite guards...) + rescue => e + require 'irb'; binding.irb + end + +# raise "\n"+license unless license.gsub(/[[:space:]]/, '') =~ regex +# rescue + return "TRUE valid MIT" if license && license.spdx_id == "MIT" + + "FALSE, inspection required" +end + +def licensee_general(gem_path, license_file) + curr_dir = Dir.pwd + + license = nil + content = nil + Dir.mktmpdir do |destination| + the_gem = Gem::Package.new(File.join(curr_dir, gem_path)) + the_gem.contents # get the files in the gem + the_gem.extract_files destination # extract the gem into a directory + + if license_file + content = File.read(File.join(destination, license_file)) + license = Licensee.license(File.join(destination,license_file)) + else + license = Licensee.license(destination) + end + # In case of an exception, it is needed to debug what went wrong (nonexistant dir, nonexistant file even despite guards...) + rescue => e + require 'irb'; binding.irb + end + + if license && license.spdx_id != "other" + "The license might be #{license.spdx_id}" + else + "Inspection required" + end +end + +ret = res.map do |arr| + gem2rpm_name = arr[0] + gem2rpm_ver = arr[1] + gem2rpm_license = arr[2] + gem2rpm_license_file = arr[3] + + fedora_gem = csv.find { |row| row["gem_name"] == gem2rpm_name } + fedora_name = fedora_gem["gem_name"] + fedora_license = fedora_gem["fedora_license"] + fedora_gem_license = fedora_gem["gem_license"] + + raise "The names of gems differ. Leading me to this is gem2rpm: #{gem2rpm_name} fedora: #{fedora_name}" if gem2rpm_name != fedora_name + + str = '' + if fedora_license == fedora_gem_license && fedora_license == gem2rpm_license + str = "fedora matches gem2rpm" + # validate_mit_text(gem_path, license_file_name) + if fedora_license =~ /MIT/ && gem2rpm_license_file && !gem2rpm_license_file.empty? + str += ";" + licensee_mit(Dir["rubygem-#{fedora_name}/#{fedora_name}*.gem"].sort.first, gem2rpm_license_file) + elsif fedora_license =~ /MIT/ + str += ";" + "inspection required, MIT without licensefile detected" + elsif fedora_license == "BSD-2-Clause" || fedora_license == "BSD-3-Clause" || fedora_license == "Apache-2.0" + str += ";" + "Valid SPDX ID, no intervention required." + else + begin + # ThreadWorker.execute("license-validate #{fedora_license}") + str += ';' + licensee_general(Dir["rubygem-#{fedora_name}/#{fedora_name}*.gem"].sort.first, gem2rpm_license_file) + rescue RuntimeError => e + puts e.message + end + end + str + else + str = "Fedora does not match gem2rpm" + ";" + "Inspection needed" + end + str + ";" + fedora_name + ";" + fedora_license.to_s + ";" + gem2rpm_license.to_s +end + +puts ret.sort diff --git a/gem2rpm.cache b/gem2rpm.cache new file mode 100644 index 0000000..044b9a8 --- /dev/null +++ b/gem2rpm.cache @@ -0,0 +1,488 @@ +Ascii85;1.1.0;MIT;LICENSE +POpen4;0.1.4;;LICENSE +Platform;0.4.2;MIT; +RedCloth;4.3.2;MIT;COPYING +ZenTest;4.12.1;MIT; +abrt;0.4.0;MIT;LICENSE.txt +abstract;1.0.0;; +actioncable;7.0.4;MIT;MIT-LICENSE +actionmailbox;7.0.4;MIT;MIT-LICENSE +actionmailer;7.0.4;MIT;MIT-LICENSE +actionpack;7.0.4;MIT;MIT-LICENSE +actiontext;7.0.4;MIT;MIT-LICENSE +actionview;7.0.4;MIT;MIT-LICENSE +activejob;7.0.4;MIT;MIT-LICENSE +activemodel;7.0.4;MIT;MIT-LICENSE +activemodel-serializers-xml;1.0.2;MIT;MIT-LICENSE +activerecord;7.0.4;MIT;MIT-LICENSE +activeresource;6.0.0;MIT;MIT-LICENSE +activestorage;7.0.4;MIT;MIT-LICENSE +activesupport;7.0.4;MIT;MIT-LICENSE +acts_as_list;1.0.4;MIT;MIT-LICENSE +addressable;2.8.0;Apache-2.0;LICENSE.txt +afm;0.2.2;MIT;LICENSE +algorithms;0.6.1;MIT; +allison;2.0.3;;LICENSE +ammeter;1.1.5;;LICENSE.txt +ansi;1.5.0;BSD-2-Clause;LICENSE.txt +apipie-rails;0.8.1;;APACHE-LICENSE-2.0 MIT-LICENSE +appraisal;0.5.2;;MIT-LICENSE +archive-tar-minitar;0.5.2;; +arel;9.0.0;MIT;MIT-LICENSE.txt +aruba;2.1.0;MIT;LICENSE +asciidoctor-pdf;2.3.4;MIT;LICENSE +async_sinatra;1.3.0;MIT; +atk;4.0.3;LGPL-2.1+;COPYING.LIB +atomic;1.1.101;Apache-2.0;LICENSE +awesome_print;1.0.2;;LICENSE +aws-sigv4;1.0.2;Apache-2.0; +backports;3.23.0;MIT;LICENSE.txt +bacon;1.2.0;;COPYING +bacon-colored_output;1.1.1;;LICENSE.txt +base32;0.3.4;MIT;LICENSE +bcrypt;3.1.17;MIT;COPYING +bcrypt_pbkdf;1.1.0;MIT;COPYING +benchmark-ips;2.10.0;MIT;LICENSE +between_meals;0.0.12;Apache-2.0;LICENSE +bindex;0.8.1;MIT;LICENSE.txt +bootsnap;1.4.7;MIT;LICENSE.txt +boxgrinder-build;0.10.4;;LICENSE +boxgrinder-core;0.3.14;;LICENSE +bson;4.15.0;Apache-2.0;LICENSE +builder;3.2.4;MIT;MIT-LICENSE +bundler;2.3.25;MIT;LICENSE.md +bundler_ext;0.4.2;MIT;MIT-LICENSE +byebug;11.1.3;BSD-2-Clause;LICENSE +cairo;1.17.8;Ruby and GPL-2.0-or-later;COPYING +cairo-gobject;4.0.3;LGPL-2.1+;COPYING.LIB +capybara;3.37.1;MIT;License.txt +chake;0.21.2;MIT;LICENSE.txt +childprocess;4.1.0;MIT;LICENSE +chronic;0.10.2;MIT;LICENSE +chunky_png;1.4.0;MIT;LICENSE +cinch;2.2.4;MIT;LICENSE +clockwork;2.0.4;MIT;LICENSE +clutter;4.0.3;LGPL-2.1+;COPYING.LIB +clutter-gdk;4.0.3;LGPL-2.1+;COPYING.LIB +clutter-gstreamer;4.0.3;LGPL-2.1+;COPYING.LIB +clutter-gtk;4.0.3;LGPL-2.1+;COPYING.LIB +codeclimate-test-reporter;1.0.8;MIT;LICENSE.txt +coderay;1.1.3;MIT;MIT-LICENSE +coffee-script;2.4.1;MIT;LICENSE +coffee-script-source;1.10.0;MIT; +color;1.8;MIT;Licence.rdoc +colorator;1.1.0;MIT;LICENSE +colorize;0.8.1;GPL-2.0;LICENSE +comp_tree;1.1.3;; +concurrent-ruby;1.1.9;MIT;LICENSE.txt +connection_pool;2.2.5;MIT;LICENSE +contracts;0.17;BSD-2-Clause;LICENSE +cookiejar;0.3.3;;LICENSE +coveralls;0.8.13;MIT;LICENSE +crack;0.4.5;MIT; +crass;1.0.4;MIT;LICENSE +creole;0.5.0;; +css_parser;1.12.0;MIT;MIT-LICENSE +cucumber;7.1.0;MIT;LICENSE +cucumber-core;10.1.0;MIT;LICENSE +cucumber-create-meta;6.0.1;MIT;LICENSE +cucumber-cucumber-expressions;14.0.0;MIT;LICENSE +cucumber-gherkin;22.0.0;MIT;LICENSE +cucumber-messages;17.1.0;MIT;LICENSE +cucumber-tag-expressions;4.0.2;MIT;LICENSE +cucumber-wire;6.2.0;MIT;LICENSE +curb;1.0.1;MIT;LICENSE +daemon_controller;1.2.0;MIT;LICENSE.txt +daemons;1.1.9;;LICENSE +dalli;3.2.0;MIT;LICENSE +declarative_authorization;0.5.7;;MIT-LICENSE +deep_merge;1.2.2;MIT;LICENSE +delorean;2.1.0;;MIT-LICENSE +diff-lcs;1.5.0;MIT and Artistic-2.0 and GPL-2.0+;License.md +diffy;3.2.1;MIT;LICENSE +dnsruby;1.61.7;Apache License, Version 2.0;LICENSE +docile;1.1.5;MIT;LICENSE +domain_name;0.5.20190701;BSD-2-Clause and BSD-3-Clause and MPL-2.0;LICENSE.txt +drake;0.9.2.0.3.1;;MIT-LICENSE +ed25519;1.3.0;MIT;LICENSE +ejs;1.1.1;;LICENSE +elasticsearch-transport;5.0.4;Apache 2;LICENSE.txt +em-http-request;1.1.7;MIT; +em-socksify;0.3.0;; +em-spec;0.2.7;;LICENSE +em-websocket;0.5.2;MIT;LICENCE +em-websocket-client;0.1.2;MIT;LICENSE.txt +ensure_valid_encoding;0.5.3;;LICENSE +erubi;1.10.0;MIT;MIT-LICENSE +escape;0.0.4;; +ethon;0.15.0;MIT;LICENSE +eventmachine;1.2.7;Ruby and GPL-2.0;LICENSE +excon;0.91.0;MIT;LICENSE.md +execjs;2.8.1;MIT;MIT-LICENSE +facon;0.5.0;; +factory_bot;6.2.1;MIT;LICENSE +fake_ftp;0.3.0;MIT;LICENSE.md +fakefs;1.2.2;MIT;LICENSE +faraday;1.0.1;MIT;LICENSE.md +fattr;2.2.2;same as ruby's;LICENSE +ffi;1.15.5;BSD-3-Clause;COPYING LICENSE LICENSE.SPECS +file-tail;1.2.0;Apache-2.0;COPYING +flexmock;2.3.6;MIT;LICENSE.txt +fog-core;2.2.4;MIT;LICENSE.md +fog-json;1.2.0;MIT;LICENSE.md +fog-libvirt;0.9.0;MIT;LICENSE.md +fog-xml;0.1.4;MIT;LICENSE.md +foreigner;1.7.4;MIT;MIT-LICENSE +formatador;0.2.5;;LICENSE.md +forwardable-extended;2.6.0;MIT;LICENSE +gdk3;4.0.3;LGPL-2.1+;COPYING.LIB +gdk_pixbuf2;4.0.3;LGPL-2.1+;COPYING.LIB +gem-nice-install;0.3.0;MIT;MIT +gem2rpm;1.0.2;GPL-2.0+;LICENSE +generator_spec;0.9.4;MIT;MIT-LICENSE +gettext;3.4.3;Ruby and LGPL-3.0+; +gio2;4.0.3;LGPL-2.1+;COPYING.LIB +gist;6.0.0;MIT;LICENSE.MIT +git;1.12.0;MIT;LICENSE +glib2;4.0.3;LGPL-2.1+;COPYING.LIB +globalid;1.0.0;MIT;MIT-LICENSE +glu;8.3.0;MIT;MIT-LICENSE +glut;8.3.0;MIT;MIT-LICENSE +gobject-introspection;4.0.3;LGPL-2.1+;COPYING.LIB +goocanvas;2.2.0;LGPLv2.1 or later; +gssapi;1.3.1;MIT;COPYING +gstreamer;4.0.3;LGPL-2.1+;COPYING.LIB +gtk2;3.4.3;LGPL-2.1+;COPYING.LIB +gtk3;4.0.3;LGPL-2.1+;COPYING.LIB +gtksourceview2;3.4.3;LGPL-2.1+;COPYING.LIB +gtksourceview3;4.0.3;LGPL-2.1+;COPYING.LIB +guard;2.18.0;MIT;LICENSE +guard-compat;1.2.1;MIT;LICENSE.txt +guard-livereload;2.5.2;MIT;LICENSE.txt +guard-shell;0.7.1;MIT;LICENSE +haml;5.2.2;MIT;MIT-LICENSE +hashdiff;1.0.1;MIT;LICENSE +hashery;2.1.2;BSD-2-Clause;LICENSE.txt +hashicorp-checkpoint;0.1.5;MPL2;LICENSE.txt +hashie;4.1.0;MIT;LICENSE +hashr;2.0.1;;MIT-LICENSE +hiera-vault;0.2.2;Apache-2.0; +highline;2.0.3;Ruby;COPYING LICENSE +hikidoc;0.1.0;MIT;COPYING +hiredis;0.6.3;BSD-3-Clause;COPYING +hitimes;2.0.0;ISC;LICENSE +hocon;1.3.1;Apache License, v2;LICENSE +hoe;3.26.0;MIT; +hpricot;0.8.6;;COPYING +hrx;1.0.0;Apache-2.0;LICENSE +htmlentities;4.3.4;MIT;COPYING.txt +http-accept;2.1.1;MIT; +http-cookie;1.0.5;MIT;LICENSE.txt +http_connection;1.4.4;; +http_parser.rb;0.6.0;MIT;LICENSE-MIT +httparty;0.18.1;MIT;MIT-LICENSE +httpclient;2.8.3;ruby; +i18n;1.8.11;MIT;MIT-LICENSE +i18n_data;0.10.0;MIT; +icaro;1.0.6;; +idn;0.0.2;;LICENSE +image_processing;1.12.2;MIT;LICENSE.txt +image_size;3.2.0;Ruby;LICENSE.txt +imagesize;0.1.1;; +importmap-rails;1.0.3;MIT;MIT-LICENSE +introspection;0.0.4;MIT;COPYING.txt +ipaddress;0.8.3;MIT;LICENSE.txt +isolate;3.5.1;MIT; +jbuilder;2.11.5;MIT;MIT-LICENSE +jekyll;4.3.1;MIT;LICENSE +jekyll-asciidoc;3.0.0;MIT;LICENSE.adoc +jekyll-email-protect;1.1.0;MIT;LICENSE.md +jekyll-feed;0.17.0;MIT;LICENSE.txt +jekyll-git-authors;1.0.0;MIT;LICENSE.txt +jekyll-sass-converter;2.2.0;MIT; +jekyll-seo-tag;2.8.0;MIT;LICENSE.txt +jekyll-toc;0.17.1;MIT;LICENSE.md +jekyll-watch;2.2.1;MIT; +jmespath;1.6.1;Apache-2.0;LICENSE.txt +jquery-rails;4.4.0;MIT;MIT-LICENSE +json;2.6.2;Ruby;LICENSE +json_spec;1.1.5;MIT;LICENSE.txt +kramdown;2.4.0;MIT;COPYING +kramdown-parser-gfm;1.1.0;MIT;COPYING +kramdown-syntax-coderay;1.0.1;MIT;COPYING +launchy;2.4.3;ISC;LICENSE +levenshtein;0.2.2;;LICENSE +linked-list;0.0.16;MIT;LICENSE.txt +liquid;4.0.3;MIT;LICENSE +listen;3.7.1;MIT;LICENSE.txt +little-plugger;1.1.4;; +locale;2.1.3;Ruby and LGPLv3+;COPYING +lockfile;1.4.3;; +log4r;1.1.10;; +logstash-event;1.2.02;Apache License (2.0);LICENSE +loofah;2.18.0;MIT;MIT-LICENSE.txt +lumberjack;1.0.13;MIT;MIT_LICENSE +macaddr;1.7.2;Ruby;LICENSE +mail;2.7.1;MIT;MIT-LICENSE +marc;1.2.0;MIT;LICENSE +marcel;1.0.2;MIT and Apache-2.0;APACHE-LICENSE MIT-LICENSE +mechanize;2.8.5;MIT;LICENSE.txt +memcache-client;1.8.5;;LICENSE.txt +memfs;1.0.0;MIT;LICENSE.txt +mercenary;0.4.0;MIT;LICENSE.txt +metaclass;0.0.4;MIT;COPYING.txt +method_source;1.0.0;MIT;LICENSE +middleware;0.1.0;;LICENSE +mime-types;3.4.1;MIT;Licence.md +mime-types-data;3.2020.1104;MIT;Licence.md +mimemagic;0.3.2;MIT;LICENSE +mini_magick;4.11.0;MIT;MIT-LICENSE +mini_mime;1.1.0;MIT;LICENSE.txt +mini_portile;0.6.2;MIT;LICENSE.txt +mini_portile2;2.8.0;MIT;LICENSE.txt +minima;2.5.1;MIT;LICENSE.txt +minitest;5.16.3;MIT; +minitest-around;0.4.1;MIT;LICENSE +minitest-profile;0.0.2;MIT;LICENSE.txt +minitest-stub-const;0.6;MIT;LICENSE +mixlib-cli;1.7.0;Apache-2.0;LICENSE +mixlib-config;2.2.4;Apache-2.0;LICENSE +mixlib-log;3.0.9;Apache-2.0;LICENSE +mixlib-shellout;2.3.2;;LICENSE +mizuho;0.9.20;MIT;LICENSE.txt +mkrf;0.2.3;;MIT-LICENSE +mocha;1.15.0;MIT and BSD-2-Clause;COPYING.md MIT-LICENSE.md +mongo;2.14.0;Apache-2.0;LICENSE +mongoid;7.3.3;MIT;LICENSE +moped;1.5.3;;LICENSE +more_core_extensions;1.2.0;MIT;LICENSE.txt +msgpack;1.4.4;Apache 2.0;LICENSE +multi_json;1.15.0;MIT;LICENSE.md +multi_test;0.1.2;MIT;LICENSE +multi_xml;0.6.0;MIT;LICENSE.md +multipart-post;2.2.3;MIT; +mustache;1.1.1;MIT;LICENSE +mustermann;1.1.1;MIT;LICENSE +mysql2;0.5.4;MIT;LICENSE +narray;0.6.1.1;Ruby; +native-package-installer;1.1.5;LGPL-3+; +ncursesw;1.4.10;LGPL-2.1;COPYING +nenv;0.3.0;MIT;LICENSE.txt +nesty;1.0.2;MIT;LICENSE.txt +net-http-digest_auth;1.4.1;MIT; +net-http-persistent;4.0.1;MIT; +net-ldap;0.17.1;MIT;License.rdoc +net-scp;3.0.0;MIT;LICENSE.txt +net-sftp;3.0.0;MIT;LICENSE.txt +net-ssh;6.1.0;MIT;LICENSE.txt +netrc;0.11.0;MIT;LICENSE.md +nifti;0.0.2;LGPLv3;LICENSE +nio4r;2.5.8;MIT; +nokogiri;1.13.9;MIT;LICENSE-DEPENDENCIES.md LICENSE.md +notiffany;0.1.3;MIT;LICENSE.txt +open4;1.3.4;Ruby;LICENSE +opengl;0.10.0;MIT;MIT-LICENSE +opennebula;5.12.8;Apache-2.0;LICENSE +openscap;0.4.9;GPL-2.0;COPYING +optimist;3.0.1;MIT;LICENSE.txt +ox;2.14.11;MIT;LICENSE +pango;4.0.3;LGPL-2.1+;COPYING.LIB +parallel;1.12.1;MIT;MIT-LICENSE.txt +parse-cron;0.1.4;;License +parseconfig;1.1.2;MIT;LICENSE +pastel;0.8.0;MIT;LICENSE.txt +pathspec;0.2.1;Apache-2.0;LICENSE +pathutil;0.14.0;MIT;LICENSE +pdf-core;0.9.0;PRAWN and GPL-2.0 and GPL-3.0;COPYING GPLv2 GPLv3 LICENSE +pdf-inspector;1.3.0;PRAWN and GPL-2.0 and GPL-3.0;COPYING GPLv2 GPLv3 LICENSE +pdf-reader;2.4.2;MIT;MIT-LICENSE +pdfkit;0.8.7.2;MIT;LICENSE +pg;1.3.5;BSD-2-Clause;LICENSE +pkg-config;1.4.9;LGPLv2+; +plist;3.4.0;MIT;LICENSE.txt +polyglot;0.3.5;MIT;License.txt +poppler;4.0.3;LGPL-2.1+;COPYING.LIB +posix-spawn;0.3.15;MIT;COPYING +power_assert;2.0.2;BSD-2-Clause and Ruby;COPYING +powerpack;0.1.1;MIT;LICENSE.txt +pr_geohash;1.0.0;; +prawn;2.4.0;PRAWN and GPL-2.0 and GPL-3.0;COPYING GPLv2 GPLv3 LICENSE +prawn-icon;3.1.0;RUBY and GPL-2 and GPL-3;COPYING GPLv2 GPLv3 LICENSE +prawn-svg;0.32.0;MIT;LICENSE +prawn-table;0.2.2;RUBY and GPL-2 and GPL-3;COPYING GPLv2 GPLv3 LICENSE +prawn-templates;0.1.2;Nonstandard and GPL-2.0 and GPL-3.0;COPYING GPLv2 GPLv3 LICENSE +progressbar;1.11.0;MIT;LICENSE.txt +protobuf;3.10.3;MIT;LICENSE.txt +proxifier;1.0.3;;LICENSE +pry;0.14.1;MIT;LICENSE +pry-byebug;3.6.0;MIT;LICENSE +public_suffix;4.0.6;MIT;LICENSE.txt +puma;5.6.5;BSD-3-Clause;LICENSE +pundit;2.1.0;MIT;LICENSE.txt +puppet-lint;2.4.2;;LICENSE +puppet-resource_api;1.8.14;Apache-2.0;LICENSE +rabbit;3.0.1;GPLv2+;COPYING +racc;1.6.0;Ruby and BSD-2-Clause;COPYING +rack;2.2.4;MIT;MIT-LICENSE +rack-accept;0.4.5;; +rack-cache;1.13.0;MIT;MIT-LICENSE +rack-cors;1.1.1;MIT;LICENSE.txt +rack-protection;2.2.0;MIT;License +rack-restful_submit;1.2.2;;LICENSE +rack-test;1.1.0;MIT;MIT-LICENSE.txt +rails;7.0.4;MIT; +rails-controller-testing;1.0.5;MIT;LICENSE +rails-deprecated_sanitizer;1.0.4;MIT;LICENSE +rails-dom-testing;2.0.3;MIT;MIT-LICENSE +rails-html-sanitizer;1.4.3;MIT;MIT-LICENSE +railties;7.0.4;MIT;MIT-LICENSE +rainbow;3.0.0;MIT;LICENSE +rake;13.0.6;MIT;MIT-LICENSE +rake-compiler;1.2.0;MIT;LICENSE.txt +rake-contrib;1.0.0;MIT;LICENSE.txt +rb-inotify;0.10.1;MIT;LICENSE.md +rb-readline;0.5.5;BSD;LICENSE +rbvmomi;3.0.0;MIT;LICENSE +rchardet;1.8.0;LGPL; +rdiscount;2.2.0.2;BSD-3-Clause;COPYING +rdoc;6.4.0;Ruby;LICENSE.rdoc +rdtool;0.6.38;GPL-2+ and Ruby;COPYING.txt LICENSE.txt +red-colors;0.3.0;MIT;LICENSE.txt +redcarpet;3.3.2;MIT;COPYING +redis;4.7.1;MIT;LICENSE +ref;2.0.0;MIT;MIT_LICENSE +regexp_parser;2.5.0;MIT;LICENSE +regexp_property_values;1.0.0;MIT;LICENSE.txt +require_all;3.0.0;MIT;LICENSE +resolve-hostname;0.1.0;MIT;LICENSE.txt +rest-client;2.1.0;MIT;LICENSE +rmagick;5.0.0;MIT;LICENSE +rmail;1.1.4;; +ronn-ng;0.9.1;MIT;LICENSE.txt +rouge;4.0.0;MIT and BSD-2-Clause;LICENSE +rr;1.2.1;MIT;LICENSE +rspec;3.12.0;MIT;LICENSE.md +rspec-collection_matchers;1.2.0;MIT;LICENSE.txt +rspec-core;3.12.0;MIT;LICENSE.md +rspec-expectations;3.12.0;MIT;LICENSE.md +rspec-its;1.3.0;MIT;LICENSE.txt +rspec-mocks;3.12.0;MIT;LICENSE.md +rspec-pending_for;0.1.16;MIT;LICENSE +rspec-rails;5.1.1;MIT;LICENSE.md +rspec-support;3.12.0;MIT;LICENSE.md +rsvg2;4.0.3;LGPL-2.1+;COPYING.LIB +rttool;1.0.3.0;; +rubeyond;0.1;;LICENSE +ruby-dbus;0.16.0;LGPL-2.1;COPYING +ruby-libvirt;0.7.1;LGPLv2;COPYING +ruby-opengl;0.61.0;; +ruby-progressbar;1.11.0;MIT;LICENSE.txt +ruby-rc4;0.1.5;;LICENSE +ruby-shadow;2.5.0;Public Domain License;LICENSE +ruby-vips;2.0.17;MIT;LICENSE.txt +ruby_dep;1.5.0;MIT;LICENSE.txt +ruby_engine;2.0.0;MIT;MIT-LICENSE.txt +ruby_version;1.0.2;MIT;LICENSE.txt +rubygems-mirror;1.3.0;MIT; +rubyzip;2.3.2;BSD 2-Clause; +rugged;1.2.0;MIT;LICENSE +safe_yaml;1.0.4;MIT;LICENSE.txt +sass;3.7.4;MIT;MIT-LICENSE +sass-rails;6.0.0;MIT;MIT-LICENSE +sass-twitter-bootstrap;2.3.0;; +sassc;2.4.0;MIT;LICENSE.txt +sassc-rails;2.1.2;MIT;LICENSE.txt +scanf;1.0.0;BSD-2-Clause; +scrub_rb;1.0.1;MIT;LICENSE.txt +scruffy;0.3.0.beta1;; +sd_notify;0.1.1;MIT;LICENSE +selenium-webdriver;4.1.0;Apache-2.0;LICENSE +semantic;1.6.1;MIT;LICENSE +semantic_puppet;1.0.4;Apache-2.0;LICENSE +sequel;5.58.0;MIT;MIT-LICENSE +serialport;1.3.2;GPL-2;LICENSE +session;3.1.0;;LICENSE +settingslogic;2.0.9;;LICENSE +sexp_processor;4.14.1;MIT; +shellany;0.0.1;MIT;LICENSE.txt +shindo;0.3.10;;LICENSE.md +shoulda;3.6.0;MIT;MIT-LICENSE +shoulda-context;1.2.2;MIT;MIT-LICENSE +shoulda-matchers;5.1.0;MIT;LICENSE +simplecov;0.13.0;MIT;MIT-LICENSE +simplecov-html;0.10.0;MIT;LICENSE +simpleidn;0.2.1;MIT;LICENCE +sinatra;2.2.0;MIT;LICENSE +sinatra-cross_origin;0.4.0;;LICENSE +sinatra-rabbit;1.1.6;;LICENSE +slim;4.1.0;MIT;LICENSE +snmp;1.3.2;MIT; +spring;2.1.1;MIT;LICENSE.txt +spring-watcher-listen;2.0.1;MIT;LICENSE.txt +sprockets;4.0.2;MIT; +sprockets-rails;3.2.2;MIT;MIT-LICENSE +sqlite3;1.4.2;BSD-3-Clause;LICENSE +sshkey;2.0.0;MIT;LICENSE +state_machine;1.2.0;;LICENSE +stomp;1.4.10;Apache-2.0;LICENSE +stringex;2.8.5;MIT;MIT-LICENSE +sugarjar;0.0.11;Apache-2.0;LICENSE +syck;1.4.1;MIT; +sync;0.5.0;BSD-2-Clause;LICENSE.txt +syntax;1.2.0;BSD;LICENSE +sys-uname;1.2.2;Apache-2.0;LICENSE +systemu;2.6.5;Ruby;LICENSE +temple;0.8.2;MIT;LICENSE +term-ansicolor;1.7.1;Apache-2.0;COPYING +terminal-table;3.0.2;MIT;LICENSE.txt +test-unit;3.5.5;Ruby and BSDL and PSFL;COPYING +test-unit-notify;1.0.4;LGPLv2.1 or later; +test-unit-rr;1.0.5;LGPLv2 or later; +test_construct;2.0.2;MIT;LICENSE.txt +test_declarative;0.0.6;MIT;MIT-LICENSE +text;1.3.1;MIT;COPYING.txt +thor;1.2.1;MIT;LICENSE.md +thread_order;1.1.1;MIT;License.txt +thread_safe;0.3.6;Apache-2.0;LICENSE +tilt;2.0.10;MIT;COPYING +timecop;0.9.4;MIT;LICENSE +timers;4.0.1;MIT;LICENSE +tins;1.31.1;MIT;COPYING +tk;0.4.0;BSD-2-Clause;LICENSE.txt +tomlrb;2.0.1;MIT;LICENSE.txt +transaction-simple;1.4.0.2;;Licence.rdoc +treetop;1.6.10;MIT;LICENSE +ttfunk;1.7.0;Nonstandard and GPL-2.0 and GPL-3.0;COPYING GPLv2 GPLv3 LICENSE +tty-color;0.6.0;MIT;LICENSE.txt +turbolinks;5.1.1;MIT;LICENSE +turbolinks-source;5.2.0;MIT;LICENSE +typhoeus;1.4.0;MIT;LICENSE +tzinfo;2.0.5;MIT;LICENSE +uglifier;3.2.0;MIT;LICENSE.txt +unf;0.1.4;2-clause BSDL;LICENSE +unf_ext;0.0.8.2;MIT;LICENSE.txt +unicode;0.4.4.4;Ruby; +unicode-display_width;2.2.0;MIT;MIT-LICENSE.txt +uuid;2.3.7;;MIT-LICENSE +uuidtools;2.2.0;Apache-2.0;LICENSE.txt +vault;0.15.0;MPL-2.0;LICENSE +vcr;2.3.0;;LICENSE +vte;3.4.3;LGPL-2.1+;COPYING.LIB +vte3;4.0.3;LGPL-2.1+;COPYING.LIB +web-console;4.2.0;MIT;MIT-LICENSE +webkit2-gtk;4.0.3;LGPL-2.1+;COPYING.LIB +webmock;3.14.0;MIT;LICENSE +webrick;1.7.0;Ruby and BSD-2-Clause;LICENSE.txt +webrobots;0.1.2;2-clause BSDL;LICENSE.txt +websocket;1.2.9;MIT; +websocket-driver;0.7.5;Apache-2.0;LICENSE.md +websocket-extensions;0.1.5;Apache-2.0;LICENSE.md +whiskey_disk;0.6.24;;MIT-LICENSE +xml-simple;1.1.9;MIT; +xmlparser;0.7.2.1;; +xmlrpc;0.3.2;Ruby and BSD-2-Clause;LICENSE.txt +xpath;3.2.0;MIT; +yaml-lint;0.0.10;MIT; +yard;0.9.28;MIT;LICENSE +zeitwerk;2.5.4;MIT;MIT-LICENSE +zoom;0.5.0;; diff --git a/licences.csv b/licences.csv new file mode 100644 index 0000000..0d8446b --- /dev/null +++ b/licences.csv @@ -0,0 +1,496 @@ +gem_name;gem_version;fedora_license;gem_license +Ascii85;1.1.0;MIT;MIT +POpen4;0.1.4;GPLv2 or Ruby; +Platform;0.4.2;MIT;MIT +RedCloth;4.3.2;MIT;MIT +ZenTest;4.12.1;MIT;MIT +abrt;0.4.0;MIT;MIT +abstract;1.0.0;GPLv2 or Ruby; +actioncable;7.0.4;MIT;MIT +actionmailbox;7.0.4;MIT;MIT +actionmailer;7.0.4;MIT;MIT +actionpack;7.0.4;MIT;MIT +actiontext;7.0.4;MIT;MIT +actionview;7.0.4;MIT;MIT +activejob;7.0.4;MIT;MIT +activemodel-serializers-xml;1.0.2;MIT;MIT +activemodel;7.0.4;MIT;MIT +activerecord;7.0.4;MIT;MIT +activeresource;6.0.0;MIT;MIT +activestorage;7.0.4;MIT;MIT +activesupport;7.0.4;MIT;MIT +acts_as_list;1.0.4;MIT;MIT +addressable;2.8.0;ASL 2.0;Apache-2.0 +afm;0.2.2;MIT;MIT +algorithms;0.6.1;MIT;MIT +allison;2.0.3;AFL; +ammeter;1.1.5;MIT; +ansi;1.5.0;BSD;BSD-2-Clause +apipie-rails;0.8.1;MIT AND Apache-2.0; +appraisal;0.5.2;MIT; +archive-tar-minitar;0.5.2;GPLv2+ or Ruby; +arel;9.0.0;MIT;MIT +aruba;2.1.0;MIT and CC-BY and (MIT or GPLv2) and (MIT or BSD or GPLv2);MIT +asciidoctor-pdf;2.3.4;MIT;MIT +asciidoctor;2.0.18;MIT;MIT +async_sinatra;1.3.0;MIT;MIT +atk;4.0.3;LGPLv2;LGPL-2.1+ +atomic;1.1.101;ASL 2.0;Apache-2.0 +awesome_print;1.0.2;MIT; +aws-sigv4;1.0.2;ASL 2.0;Apache-2.0 +backports;3.23.0;MIT;MIT +bacon-colored_output;1.1.1;MIT; +bacon;1.2.0;MIT; +base32;0.3.4;MIT;MIT +bcrypt;3.1.17;MIT and Public Domain and ISC;MIT +bcrypt_pbkdf;1.1.0;MIT and BSD and ISC;MIT +benchmark-ips;2.10.0;MIT;MIT +between_meals;0.0.12;ASL 2.0;Apache-2.0 +bindex;0.8.1;MIT;MIT +bootsnap;1.4.7;MIT;MIT +boxgrinder-build;0.10.4;LGPLv3+; +boxgrinder-core;0.3.14;LGPLv3+; +bson;4.15.0;Apache-2.0;Apache-2.0 +builder;3.2.4;MIT;MIT +bundler;2.3.25;MIT;MIT +bundler_ext;0.4.2;MIT;MIT +byebug;11.1.3;BSD;BSD-2-Clause +cairo-gobject;4.0.3;LGPLv2+;LGPL-2.1+ +cairo;1.17.8;GPLv2 or Ruby;Ruby +capybara;3.37.1;MIT;MIT +chake;0.21.2;MIT;MIT +childprocess;4.1.0;MIT;MIT +chronic;0.10.2;MIT;MIT +chunky_png;1.4.0;MIT;MIT +cinch;2.2.4;MIT;MIT +clockwork;2.0.4;MIT;MIT +clutter-gdk;4.0.3;LGPLv2+;LGPL-2.1+ +clutter-gstreamer;4.0.3;LGPLv2+;LGPL-2.1+ +clutter-gtk;4.0.3;LGPLv2+;LGPL-2.1+ +clutter;4.0.3;LGPLv2+;LGPL-2.1+ +codeclimate-test-reporter;1.0.8;MIT;MIT +coderay;1.1.3;MIT;MIT +coffee-script-source;1.10.0;MIT;MIT +coffee-script;2.4.1;MIT;MIT +color;1.8;MIT;MIT +colorator;1.1.0;MIT;MIT +colorize;0.8.1;GPLv2;GPL-2.0 +comp_tree;1.1.3;MIT; +concurrent-ruby;1.1.9;MIT;MIT +connection_pool;2.2.5;MIT;MIT +contracts;0.17;BSD;BSD-2-Clause +cookiejar;0.3.3;BSD ; +coveralls;0.8.13;MIT;MIT +crack;0.4.5;MIT;MIT +crass;1.0.4;MIT;MIT +creole;0.5.0;GPLv2 or Ruby; +css_parser;1.12.0;MIT;MIT +cucumber-core;10.1.0;MIT;MIT +cucumber-create-meta;6.0.1;MIT;MIT +cucumber-cucumber-expressions;14.0.0;MIT;MIT +cucumber-gherkin;22.0.0;MIT;MIT +cucumber-messages;17.1.0;MIT;MIT +cucumber-tag-expressions;4.0.2;MIT;MIT +cucumber-wire;6.2.0;MIT;MIT +cucumber;7.1.0;MIT;MIT +curb;1.0.1;Ruby;MIT +daemon_controller;1.2.0;MIT;MIT +daemons;1.1.9;MIT and (GPLv2+ or Ruby); +dalli;3.2.0;MIT;MIT +declarative_authorization;0.5.7;MIT; +deep_merge;1.2.2;MIT;MIT +delorean;2.1.0;MIT; +diff-lcs;1.5.0;MIT OR Artistic-2.0 OR GPL-2.0-or-later;MIT +diffy;3.2.1;MIT;MIT +dnsruby;1.61.7;ASL 2.0;Apache License, Version 2.0 +docile;1.1.5;MIT;MIT +domain_name;0.5.20190701;BSD and (MPLv1.1 or GPLv2+ or LGPLv2+);BSD-2-Clause +drake;0.9.2.0.3.1;MIT; +ed25519;1.3.0;MIT;MIT +ejs;1.1.1;MIT; +elasticsearch-transport;5.0.4;ASL 2.0;Apache 2 +em-http-request;1.1.7;MIT;MIT +em-socksify;0.3.0;MIT; +em-spec;0.2.7;MIT; +em-websocket-client;0.1.2;MIT;MIT +em-websocket;0.5.2;MIT;MIT +ensure_valid_encoding;0.5.3;MIT; +erubi;1.10.0;MIT;MIT +escape;0.0.4;BSD; +ethon;0.15.0;MIT;MIT +eventmachine;1.2.7;GPLv2 or Ruby;Ruby +excon;0.91.0;MIT;MIT +execjs;2.8.1;MIT;MIT +facon;0.5.0;MIT; +factory_bot;6.2.1;MIT;MIT +fake_ftp;0.3.0;MIT;MIT +fakefs;1.2.2;MIT;MIT +faraday;1.0.1;MIT;MIT +fattr;2.2.2;BSD or Ruby;same as ruby's +ffi;1.15.5;BSD;BSD-3-Clause +file-tail;1.2.0;ASL 2.0;Apache-2.0 +flexmock;2.3.6;MIT;MIT +fog-core;2.2.4;MIT;MIT +fog-json;1.2.0;MIT;MIT +fog-libvirt;0.9.0;MIT;MIT +fog-xml;0.1.4;MIT;MIT +foreigner;1.7.4;MIT;MIT +formatador;0.2.5;MIT; +forwardable-extended;2.6.0;MIT;MIT +gdk3;4.0.3;LGPLv2+;LGPL-2.1+ +gdk_pixbuf2;4.0.3;LGPLv2;LGPL-2.1+ +gem-nice-install;0.3.0;MIT;MIT +gem2rpm;1.0.2;GPLv2+;GPL-2.0+ +generator_spec;0.9.4;MIT;MIT +gettext;3.4.3;Ruby;Ruby +gio2;4.0.3;LGPLv2;LGPL-2.1+ +gist;6.0.0;MIT;MIT +git;1.12.0;MIT;MIT +glib2;4.0.3;LGPLv2;LGPL-2.1+ +globalid;1.0.0;MIT;MIT +glu;8.3.0;MIT;MIT +glut;8.3.0;MIT;MIT +gobject-introspection;4.0.3;LGPLv2+;LGPL-2.1+ +goocanvas;2.2.0;LGPLv2;LGPLv2.1 or later +goocanvas;1.2.6;LGPLv2; +gssapi;1.3.1;MIT;MIT +gstreamer;4.0.3;LGPLv2;LGPL-2.1+ +gtk2;3.4.3;LGPLv2;LGPL-2.1+ +gtk3;4.0.3;LGPLv2+;LGPL-2.1+ +gtksourceview2;3.4.3;LGPLv2;LGPL-2.1+ +gtksourceview3;4.0.3;LGPLv2+;LGPL-2.1+ +guard-compat;1.2.1;MIT;MIT +guard-livereload;2.5.2;MIT;MIT +guard-shell;0.7.1;MIT;MIT +guard;2.18.0;MIT;MIT +haml;5.2.2;MIT and WTFPL;MIT +hashdiff;1.0.1;MIT;MIT +hashery;2.1.2;BSD;BSD-2-Clause +hashicorp-checkpoint;0.1.5;MPLv2.0;MPL2 +hashie;4.1.0;MIT;MIT +hashr;2.0.1;MIT; +hiera-vault;0.2.2;ASL 2.0;Apache-2.0 +highline;2.0.3;GPLv2 or Ruby or BSD;Ruby +hikidoc;0.1.0;MIT;MIT +hiredis;0.6.3;BSD;BSD-3-Clause +hitimes;2.0.0;ISC;ISC +hocon;1.3.1;ASL 2.0;Apache License, v2 +hoe;3.26.0;MIT;MIT +hpricot;0.8.6;MIT and ASL 2.0; +hrx;1.0.0;ASL 2.0;Apache-2.0 +htmlentities;4.3.4;MIT;MIT +http-accept;2.1.1;MIT;MIT +http-cookie;1.0.5;MIT;MIT +http_connection;1.4.4;MIT; +http_parser.rb;0.6.0;MIT;MIT +httparty;0.18.1;MIT;MIT +httpclient;2.8.3;(Ruby or BSD) and Public Domain;ruby +i18n;1.8.11;MIT and (BSD or Ruby);MIT +i18n_data;0.10.0;MIT;MIT +icaro;1.0.6;GPLv3; +idn;0.0.2;ASL 2.0 and LGPLv2+; +image_processing;1.12.2;MIT;MIT +image_size;3.2.0;Ruby or GPLv2;Ruby +imagesize;0.1.1;GPLv2 or Ruby; +importmap-rails;1.0.3;MIT;MIT +introspection;0.0.4;MIT;MIT +ipaddress;0.8.3;MIT;MIT +isolate;3.5.1;MIT;MIT +jbuilder;2.11.5;MIT;MIT +jekyll-asciidoc;3.0.0;MIT;MIT +jekyll-email-protect;1.1.0;MIT;MIT +jekyll-feed;0.17.0;MIT;MIT +jekyll-git-authors;1.0.0;MIT;MIT +jekyll-sass-converter;2.2.0;MIT;MIT +jekyll-seo-tag;2.8.0;MIT;MIT +jekyll-toc;0.17.1;MIT;MIT +jekyll-watch;2.2.1;MIT;MIT +jekyll;4.3.1;MIT;MIT +jmespath;1.6.1;ASL 2.0;Apache-2.0 +jquery-rails;4.4.0;MIT;MIT +json;2.6.2;Ruby or BSD;Ruby +json_spec;1.1.5;MIT;MIT +kramdown-parser-gfm;1.1.0;MIT;MIT +kramdown-syntax-coderay;1.0.1;MIT;MIT +kramdown;2.4.0;MIT;MIT +krb5-auth;0.8.3;LGPLv2+; +launchy;2.4.3;ISC;ISC +levenshtein;0.2.2;GPLv2; +linked-list;0.0.16;MIT;MIT +liquid;4.0.3;MIT;MIT +listen;3.7.1;MIT;MIT +little-plugger;1.1.4;MIT; +locale;2.1.3;GPLv2 or Ruby;Ruby +lockfile;1.4.3;GPLv2 or Ruby; +log4r;1.1.10;LGPLv3; +logstash-event;1.2.02;ASL 2.0;Apache License (2.0) +loofah;2.18.0;MIT;MIT +lumberjack;1.0.13;MIT;MIT +macaddr;1.7.2;Ruby or BSD;Ruby +mail;2.7.1;MIT;MIT +marc;1.2.0;MIT;MIT +marcel;1.0.2;MIT and ASL 2.0;MIT +mechanize;2.8.5;MIT;MIT +memcache-client;1.8.5;BSD; +memfs;1.0.0;MIT;MIT +mercenary;0.4.0;MIT;MIT +metaclass;0.0.4;MIT;MIT +method_source;1.0.0;MIT;MIT +middleware;0.1.0;MIT; +mime-types-data;3.2020.1104;MIT;MIT +mime-types;3.4.1;MIT;MIT +mimemagic;0.3.2;MIT;MIT +mini_magick;4.11.0;MIT;MIT +mini_mime;1.1.0;MIT;MIT +mini_portile;0.6.2;MIT;MIT +mini_portile2;2.8.0;MIT;MIT +minima;2.5.1;MIT;MIT +minitest-around;0.4.1;MIT;MIT +minitest-profile;0.0.2;MIT;MIT +minitest-stub-const;0.6;MIT;MIT +minitest;5.16.3;MIT;MIT +minitest;4.7.0;MIT; +mixlib-cli;1.7.0;ASL 2.0;Apache-2.0 +mixlib-config;2.2.4;ASL 2.0;Apache-2.0 +mixlib-log;3.0.9;ASL 2.0;Apache-2.0 +mixlib-shellout;2.3.2;ASL 2.0; +mizuho;0.9.20;MIT;MIT +mkrf;0.2.3;MIT; +mocha;1.15.0;MIT or Ruby or BSD;MIT +mongo;2.14.0;ASL 2.0;Apache-2.0 +mongoid;7.3.3;MIT;MIT +moped;1.5.3;MIT; +more_core_extensions;1.2.0;MIT;MIT +morph-cli;0.2.3;MIT;MIT +msgpack;1.4.4;ASL 2.0;Apache 2.0 +multi_json;1.15.0;MIT;MIT +multi_test;0.1.2;MIT;MIT +multi_xml;0.6.0;MIT;MIT +multipart-post;2.2.3;MIT;MIT +mustache;1.1.1;MIT;MIT +mustermann;1.1.1;MIT;MIT +mysql2;0.5.4;MIT;MIT +narray;0.6.1.1;BSD and Ruby;Ruby +native-package-installer;1.1.5;LGPLv3+;LGPL-3+ +ncursesw;1.4.10;LGPLv2+;LGPL-2.1 +nenv;0.3.0;MIT;MIT +nesty;1.0.2;MIT;MIT +net-http-digest_auth;1.4.1;MIT;MIT +net-http-persistent;4.0.1;MIT;MIT +net-irc;0.0.9;GPLv2 or Ruby ; +net-ldap;0.17.1;MIT;MIT +net-scp;3.0.0;MIT;MIT +net-sftp;3.0.0;MIT or LGPLv2;MIT +net-ssh;6.1.0;MIT;MIT +netrc;0.11.0;MIT;MIT +nifti;0.0.2;LGPLv3+;LGPLv3 +nio4r;2.5.8;MIT and (BSD or GPLv2+);MIT +nokogiri;1.13.9;MIT and ASL 2.0;MIT +notiffany;0.1.3;MIT;MIT +open4;1.3.4;BSD or Ruby;Ruby +opengl;0.10.0;MIT;MIT +opennebula;5.12.8;ASL 2.0;Apache-2.0 +openscap;0.4.9;GPLv2+;GPL-2.0 +optimist;3.0.1;MIT;MIT +ox;2.14.11;MIT;MIT +pango;4.0.3;LGPLv2;LGPL-2.1+ +parallel;1.12.1;MIT;MIT +parse-cron;0.1.4;MIT; +parseconfig;1.1.2;MIT;MIT +pastel;0.8.0;MIT;MIT +pathspec;0.2.1;ASL 2.0;Apache-2.0 +pathutil;0.14.0;MIT;MIT +pdf-core;0.9.0;GPLv2 or GPLv3 or Ruby ;PRAWN +pdf-inspector;1.3.0;GPLv2 or GPLv3 or Ruby;PRAWN +pdf-reader;2.4.2;MIT;MIT +pdfkit;0.8.7.2;MIT;MIT +pg;1.3.5;(BSD or Ruby) and PostgreSQL;BSD-2-Clause +pkg-config;1.4.9;LGPLv2+;LGPLv2+ +plist;3.4.0;MIT;MIT +polyglot;0.3.5;MIT;MIT +poppler;4.0.3;LGPLv2;LGPL-2.1+ +posix-spawn;0.3.15;MIT;MIT +power_assert;2.0.2;Ruby or BSD;BSD-2-Clause +powerpack;0.1.1;MIT;MIT +pr_geohash;1.0.0;MIT; +prawn-icon;3.1.0;Ruby or GPLv2 or GPLv3;RUBY +prawn-svg;0.32.0;MIT;MIT +prawn-table;0.2.2;Ruby or GPLv2 or GPLv3;RUBY +prawn-templates;0.1.2;Ruby or GPLv2 or GPLv3;Nonstandard +prawn;2.4.0;(GPLv2 or GPLv3 or Ruby) and APAFML;PRAWN +progressbar;1.11.0;MIT;MIT +protobuf;3.10.3;MIT and BSD;MIT +proxifier;1.0.3;MIT; +pry-byebug;3.6.0;MIT;MIT +pry;0.14.1;MIT;MIT +public_suffix;4.0.6;MIT and MPLv2.0;MIT +puma;5.6.5;BSD-3-Clause;BSD-3-Clause +pundit;2.1.0;MIT;MIT +puppet-lint;2.4.2;MIT; +puppet-resource_api;1.8.14;ASL 2.0;Apache-2.0 +rabbit;3.0.1;GPLv2+ and CC-BY;GPLv2+ +racc;1.6.0;BSD;Ruby +rack-accept;0.4.5;MIT; +rack-cache;1.13.0;MIT;MIT +rack-cors;1.1.1;MIT;MIT +rack-protection;2.2.0;MIT;MIT +rack-restful_submit;1.2.2;MIT; +rack-test;1.1.0;MIT;MIT +rack;2.2.4;MIT and BSD;MIT +rails-controller-testing;1.0.5;MIT;MIT +rails-deprecated_sanitizer;1.0.4;MIT;MIT +rails-dom-testing;2.0.3;MIT;MIT +rails-html-sanitizer;1.4.3;MIT;MIT +rails;7.0.4;MIT;MIT +railties;7.0.4;MIT;MIT +rainbow;3.0.0;MIT;MIT +rake-compiler;1.2.0;MIT;MIT +rake-contrib;1.0.0;MIT;MIT +rake;13.0.6;MIT;MIT +rb-inotify;0.10.1;MIT;MIT +rb-readline;0.5.5;BSD;BSD +rbvmomi;3.0.0;MIT;MIT +rchardet;1.8.0;LGPLv2;LGPL +rdiscount;2.2.0.2;ASL 1.1;BSD-3-Clause +rdoc;6.4.0;GPL-2.0 AND Ruby AND BSD-3-Clause AND CC-BY-2.5 AND OFL-1.1-RFN;Ruby +rdtool;0.6.38;GPLv2+ or Ruby;GPL-2+ +red-colors;0.3.0;MIT;MIT +redcarpet;3.3.2;MIT and ISC;MIT +redis;4.7.1;MIT;MIT +ref;2.0.0;MIT;MIT +regexp_parser;2.5.0;MIT;MIT +regexp_property_values;1.0.0;MIT;MIT +require_all;3.0.0;MIT;MIT +resolve-hostname;0.1.0;MIT;MIT +rest-client;2.1.0;MIT;MIT +rgen;0.8.4;MIT; +rmagick;5.0.0;MIT;MIT +rmail;1.1.4;BSD; +ronn-ng;0.9.1;MIT;MIT +rouge;4.0.0;MIT and BSD;MIT +rr;1.2.1;MIT;MIT +rspec-collection_matchers;1.2.0;MIT;MIT +rspec-core;3.12.0;MIT;MIT +rspec-expectations;3.12.0;MIT;MIT +rspec-its;1.3.0;MIT;MIT +rspec-mocks;3.12.0;MIT;MIT +rspec-pending_for;0.1.16;MIT;MIT +rspec-rails;5.1.1;MIT;MIT +rspec-support;3.12.0;MIT;MIT +rspec;3.12.0;MIT;MIT +rsvg2;4.0.3;LGPLv2;LGPL-2.1+ +rttool;1.0.3.0;Ruby; +rubeyond;0.1;GPLv3+; +ruby-dbus;0.16.0;LGPLv2+ and MIT;LGPL-2.1 +ruby-libvirt;0.7.1;LGPLv2+;LGPLv2 +ruby-opengl;0.61.0;MIT; +ruby-progressbar;1.11.0;MIT;MIT +ruby-rc4;0.1.5;MIT; +ruby-shadow;2.5.0;Public Domain;Public Domain License +ruby-vips;2.0.17;MIT;MIT +ruby_dep;1.5.0;MIT;MIT +ruby_engine;2.0.0;MIT;MIT +ruby_version;1.0.2;MIT;MIT +rubygems-mirror;1.3.0;MIT;MIT +rubyzip;2.3.2;Ruby or BSD;BSD 2-Clause +rugged;1.2.0;MIT;MIT +safe_yaml;1.0.4;MIT;MIT +sass-rails;6.0.0;MIT;MIT +sass-twitter-bootstrap;2.3.0;ASL 2.0; +sass;3.7.4;MIT;MIT +sassc-rails;2.1.2;MIT and OFL;MIT +sassc;2.4.0;MIT;MIT +scanf;1.0.0;BSD;BSD-2-Clause +scrub_rb;1.0.1;MIT;MIT +scruffy;0.3.0;MIT; +sd_notify;0.1.1;MIT;MIT +selenium-webdriver;4.1.0;ASL 2.0;Apache-2.0 +semantic;1.6.1;MIT;MIT +semantic_puppet;1.0.4;ASL 2.0;Apache-2.0 +sequel;5.58.0;MIT;MIT +serialport;1.3.2;GPLv2;GPL-2 +session;3.1.0;Ruby; +settingslogic;2.0.9;MIT; +sexp_processor;4.14.1;MIT;MIT +shellany;0.0.1;MIT;MIT +shindo;0.3.10;MIT; +shoulda-context;1.2.2;MIT;MIT +shoulda-matchers;5.1.0;MIT;MIT +shoulda;3.6.0;MIT;MIT +simplecov-html;0.10.0;MIT;MIT +simplecov;0.13.0;MIT;MIT +simpleidn;0.2.1;MIT;MIT +sinatra-cross_origin;0.4.0;MIT; +sinatra-rabbit;1.1.6;ASL 2.0; +sinatra;2.2.0;MIT;MIT +slim;4.1.0;MIT;MIT +snmp;1.3.2;MIT;MIT +spring-watcher-listen;2.0.1;MIT;MIT +spring;2.1.1;MIT;MIT +sprockets-rails;3.2.2;MIT;MIT +sprockets;4.0.2;MIT;MIT +sqlite3;1.4.2;BSD;BSD-3-Clause +sshkey;2.0.0;MIT;MIT +state_machine;1.2.0;MIT; +stomp;1.4.10;ASL 2.0;Apache-2.0 +stringex;2.8.5;MIT;MIT +sugarjar;0.0.11;ASL 2.0;Apache-2.0 +syck;1.4.1;MIT;MIT +sync;0.5.0;BSD-2-Clause;BSD-2-Clause +syntax;1.2.0;BSD;BSD +sys-uname;1.2.2;ASL 2.0;Apache-2.0 +systemu;2.6.5;Ruby;Ruby +temple;0.8.2;MIT;MIT +term-ansicolor;1.7.1;Apache-2.0;Apache-2.0 +terminal-table;3.0.2;MIT;MIT +test-unit-notify;1.0.4;LGPLv2+ and (LGPLv2+ or GFDL or CC-BY-SA);LGPLv2.1 or later +test-unit-rr;1.0.5;LGPLv2+;LGPLv2 or later +test-unit;3.5.5;(BSD or Ruby or Python) and (BSD or Ruby);Ruby +test_construct;2.0.2;MIT;MIT +test_declarative;0.0.6;MIT;MIT +text;1.3.1;MIT;MIT +thor;1.2.1;MIT;MIT +thread_order;1.1.1;MIT;MIT +thread_safe;0.3.6;ASL 2.0 and Public Domain;Apache-2.0 +tilt;2.0.10;MIT;MIT +timecop;0.9.4;MIT;MIT +timers;4.0.1;MIT;MIT +tins;1.31.1;MIT;MIT +tk;0.4.0;BSD or Ruby;BSD-2-Clause +tomlrb;2.0.1;MIT;MIT +transaction-simple;1.4.0.2;MIT; +treetop;1.6.10;MIT;MIT +ttfunk;1.7.0;GPLv2 or GPLv3 or Ruby;Nonstandard +tty-color;0.6.0;MIT;MIT +turbolinks-source;5.2.0;MIT;MIT +turbolinks;5.1.1;MIT;MIT +typhoeus;1.4.0;MIT;MIT +tzinfo;2.0.5;MIT;MIT +uglifier;3.2.0;MIT and BSD;MIT +unf;0.1.4;BSD;2-clause BSDL +unf_ext;0.0.8.2;MIT;MIT +unicode-display_width;2.2.0;MIT;MIT +unicode;0.4.4.4;Ruby;Ruby +uuid;2.3.7;MIT or CC-BY-SA; +uuidtools;2.2.0;ASL 2.0;Apache-2.0 +vault;0.15.0;MPLv2.0;MPL-2.0 +vcr;2.3.0;MIT; +vte;3.4.3;LGPLv2;LGPL-2.1+ +vte3;4.0.3;LGPLv2+;LGPL-2.1+ +web-console;4.2.0;MIT;MIT +webkit2-gtk;4.0.3;LGPLv2+;LGPL-2.1+ +webmock;3.14.0;MIT;MIT +webrick;1.7.0;Ruby and BSD-2-Clause;Ruby +webrobots;0.1.2;BSD;2-clause BSDL +websocket-driver;0.7.5;ASL 2.0;Apache-2.0 +websocket-extensions;0.1.5;Apache-2.0;Apache-2.0 +websocket;1.2.9;MIT;MIT +whiskey_disk;0.6.24;MIT; +xml-simple;1.1.9;MIT;MIT +xmlparser;0.7.2.1;GPLv2+ and ( Ruby or GPLv2+ or MIT ) and ( GPLv2+ or Artistic ) ; +xmlrpc;0.3.2;Ruby or BSD;Ruby +xpath;3.2.0;MIT;MIT +yaml-lint;0.0.10;MIT;MIT +yard;0.9.28;MIT and (BSD or Ruby);MIT +zeitwerk;2.5.4;MIT;MIT +zoom;0.5.0;LGPLv2+; diff --git a/rbgem_license_check_out.csv b/rbgem_license_check_out.csv new file mode 100644 index 0000000..d18b865 --- /dev/null +++ b/rbgem_license_check_out.csv @@ -0,0 +1,488 @@ +Fedora does not match gem2rpm;Inspection needed;POpen4;GPLv2 or Ruby; +Fedora does not match gem2rpm;Inspection needed;abstract;GPLv2 or Ruby; +Fedora does not match gem2rpm;Inspection needed;addressable;ASL 2.0;Apache-2.0 +Fedora does not match gem2rpm;Inspection needed;allison;AFL; +Fedora does not match gem2rpm;Inspection needed;ammeter;MIT; +Fedora does not match gem2rpm;Inspection needed;ansi;BSD;BSD-2-Clause +Fedora does not match gem2rpm;Inspection needed;apipie-rails;MIT AND Apache-2.0; +Fedora does not match gem2rpm;Inspection needed;appraisal;MIT; +Fedora does not match gem2rpm;Inspection needed;archive-tar-minitar;GPLv2+ or Ruby; +Fedora does not match gem2rpm;Inspection needed;aruba;MIT and CC-BY and (MIT or GPLv2) and (MIT or BSD or GPLv2);MIT +Fedora does not match gem2rpm;Inspection needed;atk;LGPLv2;LGPL-2.1+ +Fedora does not match gem2rpm;Inspection needed;atomic;ASL 2.0;Apache-2.0 +Fedora does not match gem2rpm;Inspection needed;awesome_print;MIT; +Fedora does not match gem2rpm;Inspection needed;aws-sigv4;ASL 2.0;Apache-2.0 +Fedora does not match gem2rpm;Inspection needed;bacon-colored_output;MIT; +Fedora does not match gem2rpm;Inspection needed;bacon;MIT; +Fedora does not match gem2rpm;Inspection needed;bcrypt;MIT and Public Domain and ISC;MIT +Fedora does not match gem2rpm;Inspection needed;bcrypt_pbkdf;MIT and BSD and ISC;MIT +Fedora does not match gem2rpm;Inspection needed;between_meals;ASL 2.0;Apache-2.0 +Fedora does not match gem2rpm;Inspection needed;boxgrinder-build;LGPLv3+; +Fedora does not match gem2rpm;Inspection needed;boxgrinder-core;LGPLv3+; +Fedora does not match gem2rpm;Inspection needed;byebug;BSD;BSD-2-Clause +Fedora does not match gem2rpm;Inspection needed;cairo-gobject;LGPLv2+;LGPL-2.1+ +Fedora does not match gem2rpm;Inspection needed;cairo;GPLv2 or Ruby;Ruby and GPL-2.0-or-later +Fedora does not match gem2rpm;Inspection needed;clutter-gdk;LGPLv2+;LGPL-2.1+ +Fedora does not match gem2rpm;Inspection needed;clutter-gstreamer;LGPLv2+;LGPL-2.1+ +Fedora does not match gem2rpm;Inspection needed;clutter-gtk;LGPLv2+;LGPL-2.1+ +Fedora does not match gem2rpm;Inspection needed;clutter;LGPLv2+;LGPL-2.1+ +Fedora does not match gem2rpm;Inspection needed;colorize;GPLv2;GPL-2.0 +Fedora does not match gem2rpm;Inspection needed;comp_tree;MIT; +Fedora does not match gem2rpm;Inspection needed;contracts;BSD;BSD-2-Clause +Fedora does not match gem2rpm;Inspection needed;cookiejar;BSD ; +Fedora does not match gem2rpm;Inspection needed;creole;GPLv2 or Ruby; +Fedora does not match gem2rpm;Inspection needed;curb;Ruby;MIT +Fedora does not match gem2rpm;Inspection needed;daemons;MIT and (GPLv2+ or Ruby); +Fedora does not match gem2rpm;Inspection needed;declarative_authorization;MIT; +Fedora does not match gem2rpm;Inspection needed;delorean;MIT; +Fedora does not match gem2rpm;Inspection needed;diff-lcs;MIT OR Artistic-2.0 OR GPL-2.0-or-later;MIT and Artistic-2.0 and GPL-2.0+ +Fedora does not match gem2rpm;Inspection needed;dnsruby;ASL 2.0;Apache License, Version 2.0 +Fedora does not match gem2rpm;Inspection needed;domain_name;BSD and (MPLv1.1 or GPLv2+ or LGPLv2+);BSD-2-Clause and BSD-3-Clause and MPL-2.0 +Fedora does not match gem2rpm;Inspection needed;drake;MIT; +Fedora does not match gem2rpm;Inspection needed;ejs;MIT; +Fedora does not match gem2rpm;Inspection needed;elasticsearch-transport;ASL 2.0;Apache 2 +Fedora does not match gem2rpm;Inspection needed;em-socksify;MIT; +Fedora does not match gem2rpm;Inspection needed;em-spec;MIT; +Fedora does not match gem2rpm;Inspection needed;ensure_valid_encoding;MIT; +Fedora does not match gem2rpm;Inspection needed;escape;BSD; +Fedora does not match gem2rpm;Inspection needed;eventmachine;GPLv2 or Ruby;Ruby and GPL-2.0 +Fedora does not match gem2rpm;Inspection needed;facon;MIT; +Fedora does not match gem2rpm;Inspection needed;fattr;BSD or Ruby;same as ruby's +Fedora does not match gem2rpm;Inspection needed;ffi;BSD;BSD-3-Clause +Fedora does not match gem2rpm;Inspection needed;file-tail;ASL 2.0;Apache-2.0 +Fedora does not match gem2rpm;Inspection needed;formatador;MIT; +Fedora does not match gem2rpm;Inspection needed;gdk3;LGPLv2+;LGPL-2.1+ +Fedora does not match gem2rpm;Inspection needed;gdk_pixbuf2;LGPLv2;LGPL-2.1+ +Fedora does not match gem2rpm;Inspection needed;gem2rpm;GPLv2+;GPL-2.0+ +Fedora does not match gem2rpm;Inspection needed;gettext;Ruby;Ruby and LGPL-3.0+ +Fedora does not match gem2rpm;Inspection needed;gio2;LGPLv2;LGPL-2.1+ +Fedora does not match gem2rpm;Inspection needed;glib2;LGPLv2;LGPL-2.1+ +Fedora does not match gem2rpm;Inspection needed;gobject-introspection;LGPLv2+;LGPL-2.1+ +Fedora does not match gem2rpm;Inspection needed;goocanvas;LGPLv2;LGPLv2.1 or later +Fedora does not match gem2rpm;Inspection needed;gstreamer;LGPLv2;LGPL-2.1+ +Fedora does not match gem2rpm;Inspection needed;gtk2;LGPLv2;LGPL-2.1+ +Fedora does not match gem2rpm;Inspection needed;gtk3;LGPLv2+;LGPL-2.1+ +Fedora does not match gem2rpm;Inspection needed;gtksourceview2;LGPLv2;LGPL-2.1+ +Fedora does not match gem2rpm;Inspection needed;gtksourceview3;LGPLv2+;LGPL-2.1+ +Fedora does not match gem2rpm;Inspection needed;haml;MIT and WTFPL;MIT +Fedora does not match gem2rpm;Inspection needed;hashery;BSD;BSD-2-Clause +Fedora does not match gem2rpm;Inspection needed;hashicorp-checkpoint;MPLv2.0;MPL2 +Fedora does not match gem2rpm;Inspection needed;hashr;MIT; +Fedora does not match gem2rpm;Inspection needed;hiera-vault;ASL 2.0;Apache-2.0 +Fedora does not match gem2rpm;Inspection needed;highline;GPLv2 or Ruby or BSD;Ruby +Fedora does not match gem2rpm;Inspection needed;hiredis;BSD;BSD-3-Clause +Fedora does not match gem2rpm;Inspection needed;hocon;ASL 2.0;Apache License, v2 +Fedora does not match gem2rpm;Inspection needed;hpricot;MIT and ASL 2.0; +Fedora does not match gem2rpm;Inspection needed;hrx;ASL 2.0;Apache-2.0 +Fedora does not match gem2rpm;Inspection needed;http_connection;MIT; +Fedora does not match gem2rpm;Inspection needed;httpclient;(Ruby or BSD) and Public Domain;ruby +Fedora does not match gem2rpm;Inspection needed;i18n;MIT and (BSD or Ruby);MIT +Fedora does not match gem2rpm;Inspection needed;icaro;GPLv3; +Fedora does not match gem2rpm;Inspection needed;idn;ASL 2.0 and LGPLv2+; +Fedora does not match gem2rpm;Inspection needed;image_size;Ruby or GPLv2;Ruby +Fedora does not match gem2rpm;Inspection needed;imagesize;GPLv2 or Ruby; +Fedora does not match gem2rpm;Inspection needed;jmespath;ASL 2.0;Apache-2.0 +Fedora does not match gem2rpm;Inspection needed;json;Ruby or BSD;Ruby +Fedora does not match gem2rpm;Inspection needed;levenshtein;GPLv2; +Fedora does not match gem2rpm;Inspection needed;little-plugger;MIT; +Fedora does not match gem2rpm;Inspection needed;locale;GPLv2 or Ruby;Ruby and LGPLv3+ +Fedora does not match gem2rpm;Inspection needed;lockfile;GPLv2 or Ruby; +Fedora does not match gem2rpm;Inspection needed;log4r;LGPLv3; +Fedora does not match gem2rpm;Inspection needed;logstash-event;ASL 2.0;Apache License (2.0) +Fedora does not match gem2rpm;Inspection needed;macaddr;Ruby or BSD;Ruby +Fedora does not match gem2rpm;Inspection needed;marcel;MIT and ASL 2.0;MIT and Apache-2.0 +Fedora does not match gem2rpm;Inspection needed;memcache-client;BSD; +Fedora does not match gem2rpm;Inspection needed;middleware;MIT; +Fedora does not match gem2rpm;Inspection needed;mixlib-cli;ASL 2.0;Apache-2.0 +Fedora does not match gem2rpm;Inspection needed;mixlib-config;ASL 2.0;Apache-2.0 +Fedora does not match gem2rpm;Inspection needed;mixlib-log;ASL 2.0;Apache-2.0 +Fedora does not match gem2rpm;Inspection needed;mixlib-shellout;ASL 2.0; +Fedora does not match gem2rpm;Inspection needed;mkrf;MIT; +Fedora does not match gem2rpm;Inspection needed;mocha;MIT or Ruby or BSD;MIT and BSD-2-Clause +Fedora does not match gem2rpm;Inspection needed;mongo;ASL 2.0;Apache-2.0 +Fedora does not match gem2rpm;Inspection needed;moped;MIT; +Fedora does not match gem2rpm;Inspection needed;msgpack;ASL 2.0;Apache 2.0 +Fedora does not match gem2rpm;Inspection needed;narray;BSD and Ruby;Ruby +Fedora does not match gem2rpm;Inspection needed;native-package-installer;LGPLv3+;LGPL-3+ +Fedora does not match gem2rpm;Inspection needed;ncursesw;LGPLv2+;LGPL-2.1 +Fedora does not match gem2rpm;Inspection needed;net-sftp;MIT or LGPLv2;MIT +Fedora does not match gem2rpm;Inspection needed;nifti;LGPLv3+;LGPLv3 +Fedora does not match gem2rpm;Inspection needed;nio4r;MIT and (BSD or GPLv2+);MIT +Fedora does not match gem2rpm;Inspection needed;nokogiri;MIT and ASL 2.0;MIT +Fedora does not match gem2rpm;Inspection needed;open4;BSD or Ruby;Ruby +Fedora does not match gem2rpm;Inspection needed;opennebula;ASL 2.0;Apache-2.0 +Fedora does not match gem2rpm;Inspection needed;openscap;GPLv2+;GPL-2.0 +Fedora does not match gem2rpm;Inspection needed;pango;LGPLv2;LGPL-2.1+ +Fedora does not match gem2rpm;Inspection needed;parse-cron;MIT; +Fedora does not match gem2rpm;Inspection needed;pathspec;ASL 2.0;Apache-2.0 +Fedora does not match gem2rpm;Inspection needed;pdf-core;GPLv2 or GPLv3 or Ruby ;PRAWN and GPL-2.0 and GPL-3.0 +Fedora does not match gem2rpm;Inspection needed;pdf-inspector;GPLv2 or GPLv3 or Ruby;PRAWN and GPL-2.0 and GPL-3.0 +Fedora does not match gem2rpm;Inspection needed;pg;(BSD or Ruby) and PostgreSQL;BSD-2-Clause +Fedora does not match gem2rpm;Inspection needed;poppler;LGPLv2;LGPL-2.1+ +Fedora does not match gem2rpm;Inspection needed;power_assert;Ruby or BSD;BSD-2-Clause and Ruby +Fedora does not match gem2rpm;Inspection needed;pr_geohash;MIT; +Fedora does not match gem2rpm;Inspection needed;prawn-icon;Ruby or GPLv2 or GPLv3;RUBY and GPL-2 and GPL-3 +Fedora does not match gem2rpm;Inspection needed;prawn-table;Ruby or GPLv2 or GPLv3;RUBY and GPL-2 and GPL-3 +Fedora does not match gem2rpm;Inspection needed;prawn-templates;Ruby or GPLv2 or GPLv3;Nonstandard and GPL-2.0 and GPL-3.0 +Fedora does not match gem2rpm;Inspection needed;prawn;(GPLv2 or GPLv3 or Ruby) and APAFML;PRAWN and GPL-2.0 and GPL-3.0 +Fedora does not match gem2rpm;Inspection needed;protobuf;MIT and BSD;MIT +Fedora does not match gem2rpm;Inspection needed;proxifier;MIT; +Fedora does not match gem2rpm;Inspection needed;public_suffix;MIT and MPLv2.0;MIT +Fedora does not match gem2rpm;Inspection needed;puppet-lint;MIT; +Fedora does not match gem2rpm;Inspection needed;puppet-resource_api;ASL 2.0;Apache-2.0 +Fedora does not match gem2rpm;Inspection needed;rabbit;GPLv2+ and CC-BY;GPLv2+ +Fedora does not match gem2rpm;Inspection needed;racc;BSD;Ruby and BSD-2-Clause +Fedora does not match gem2rpm;Inspection needed;rack-accept;MIT; +Fedora does not match gem2rpm;Inspection needed;rack-restful_submit;MIT; +Fedora does not match gem2rpm;Inspection needed;rack;MIT and BSD;MIT +Fedora does not match gem2rpm;Inspection needed;rchardet;LGPLv2;LGPL +Fedora does not match gem2rpm;Inspection needed;rdiscount;ASL 1.1;BSD-3-Clause +Fedora does not match gem2rpm;Inspection needed;rdoc;GPL-2.0 AND Ruby AND BSD-3-Clause AND CC-BY-2.5 AND OFL-1.1-RFN;Ruby +Fedora does not match gem2rpm;Inspection needed;rdtool;GPLv2+ or Ruby;GPL-2+ and Ruby +Fedora does not match gem2rpm;Inspection needed;redcarpet;MIT and ISC;MIT +Fedora does not match gem2rpm;Inspection needed;rmail;BSD; +Fedora does not match gem2rpm;Inspection needed;rouge;MIT and BSD;MIT and BSD-2-Clause +Fedora does not match gem2rpm;Inspection needed;rsvg2;LGPLv2;LGPL-2.1+ +Fedora does not match gem2rpm;Inspection needed;rttool;Ruby; +Fedora does not match gem2rpm;Inspection needed;rubeyond;GPLv3+; +Fedora does not match gem2rpm;Inspection needed;ruby-dbus;LGPLv2+ and MIT;LGPL-2.1 +Fedora does not match gem2rpm;Inspection needed;ruby-libvirt;LGPLv2+;LGPLv2 +Fedora does not match gem2rpm;Inspection needed;ruby-opengl;MIT; +Fedora does not match gem2rpm;Inspection needed;ruby-rc4;MIT; +Fedora does not match gem2rpm;Inspection needed;ruby-shadow;Public Domain;Public Domain License +Fedora does not match gem2rpm;Inspection needed;rubyzip;Ruby or BSD;BSD 2-Clause +Fedora does not match gem2rpm;Inspection needed;sass-twitter-bootstrap;ASL 2.0; +Fedora does not match gem2rpm;Inspection needed;sassc-rails;MIT and OFL;MIT +Fedora does not match gem2rpm;Inspection needed;scanf;BSD;BSD-2-Clause +Fedora does not match gem2rpm;Inspection needed;scruffy;MIT; +Fedora does not match gem2rpm;Inspection needed;selenium-webdriver;ASL 2.0;Apache-2.0 +Fedora does not match gem2rpm;Inspection needed;semantic_puppet;ASL 2.0;Apache-2.0 +Fedora does not match gem2rpm;Inspection needed;serialport;GPLv2;GPL-2 +Fedora does not match gem2rpm;Inspection needed;session;Ruby; +Fedora does not match gem2rpm;Inspection needed;settingslogic;MIT; +Fedora does not match gem2rpm;Inspection needed;shindo;MIT; +Fedora does not match gem2rpm;Inspection needed;sinatra-cross_origin;MIT; +Fedora does not match gem2rpm;Inspection needed;sinatra-rabbit;ASL 2.0; +Fedora does not match gem2rpm;Inspection needed;sqlite3;BSD;BSD-3-Clause +Fedora does not match gem2rpm;Inspection needed;state_machine;MIT; +Fedora does not match gem2rpm;Inspection needed;stomp;ASL 2.0;Apache-2.0 +Fedora does not match gem2rpm;Inspection needed;sugarjar;ASL 2.0;Apache-2.0 +Fedora does not match gem2rpm;Inspection needed;sys-uname;ASL 2.0;Apache-2.0 +Fedora does not match gem2rpm;Inspection needed;test-unit-notify;LGPLv2+ and (LGPLv2+ or GFDL or CC-BY-SA);LGPLv2.1 or later +Fedora does not match gem2rpm;Inspection needed;test-unit-rr;LGPLv2+;LGPLv2 or later +Fedora does not match gem2rpm;Inspection needed;test-unit;(BSD or Ruby or Python) and (BSD or Ruby);Ruby and BSDL and PSFL +Fedora does not match gem2rpm;Inspection needed;thread_safe;ASL 2.0 and Public Domain;Apache-2.0 +Fedora does not match gem2rpm;Inspection needed;tk;BSD or Ruby;BSD-2-Clause +Fedora does not match gem2rpm;Inspection needed;transaction-simple;MIT; +Fedora does not match gem2rpm;Inspection needed;ttfunk;GPLv2 or GPLv3 or Ruby;Nonstandard and GPL-2.0 and GPL-3.0 +Fedora does not match gem2rpm;Inspection needed;uglifier;MIT and BSD;MIT +Fedora does not match gem2rpm;Inspection needed;unf;BSD;2-clause BSDL +Fedora does not match gem2rpm;Inspection needed;uuid;MIT or CC-BY-SA; +Fedora does not match gem2rpm;Inspection needed;uuidtools;ASL 2.0;Apache-2.0 +Fedora does not match gem2rpm;Inspection needed;vault;MPLv2.0;MPL-2.0 +Fedora does not match gem2rpm;Inspection needed;vcr;MIT; +Fedora does not match gem2rpm;Inspection needed;vte3;LGPLv2+;LGPL-2.1+ +Fedora does not match gem2rpm;Inspection needed;vte;LGPLv2;LGPL-2.1+ +Fedora does not match gem2rpm;Inspection needed;webkit2-gtk;LGPLv2+;LGPL-2.1+ +Fedora does not match gem2rpm;Inspection needed;webrick;Ruby and BSD-2-Clause;Ruby and BSD-2-Clause +Fedora does not match gem2rpm;Inspection needed;webrobots;BSD;2-clause BSDL +Fedora does not match gem2rpm;Inspection needed;websocket-driver;ASL 2.0;Apache-2.0 +Fedora does not match gem2rpm;Inspection needed;whiskey_disk;MIT; +Fedora does not match gem2rpm;Inspection needed;xmlparser;GPLv2+ and ( Ruby or GPLv2+ or MIT ) and ( GPLv2+ or Artistic ) ; +Fedora does not match gem2rpm;Inspection needed;xmlrpc;Ruby or BSD;Ruby and BSD-2-Clause +Fedora does not match gem2rpm;Inspection needed;yard;MIT and (BSD or Ruby);MIT +Fedora does not match gem2rpm;Inspection needed;zoom;LGPLv2+; +fedora matches gem2rpm;FALSE, inspection required;RedCloth;MIT;MIT +fedora matches gem2rpm;FALSE, inspection required;activerecord;MIT;MIT +fedora matches gem2rpm;FALSE, inspection required;bundler;MIT;MIT +fedora matches gem2rpm;FALSE, inspection required;chake;MIT;MIT +fedora matches gem2rpm;FALSE, inspection required;codeclimate-test-reporter;MIT;MIT +fedora matches gem2rpm;FALSE, inspection required;coderay;MIT;MIT +fedora matches gem2rpm;FALSE, inspection required;color;MIT;MIT +fedora matches gem2rpm;FALSE, inspection required;concurrent-ruby;MIT;MIT +fedora matches gem2rpm;FALSE, inspection required;css_parser;MIT;MIT +fedora matches gem2rpm;FALSE, inspection required;gem-nice-install;MIT;MIT +fedora matches gem2rpm;FALSE, inspection required;gssapi;MIT;MIT +fedora matches gem2rpm;FALSE, inspection required;hikidoc;MIT;MIT +fedora matches gem2rpm;FALSE, inspection required;htmlentities;MIT;MIT +fedora matches gem2rpm;FALSE, inspection required;introspection;MIT;MIT +fedora matches gem2rpm;FALSE, inspection required;jekyll-asciidoc;MIT;MIT +fedora matches gem2rpm;FALSE, inspection required;kramdown-parser-gfm;MIT;MIT +fedora matches gem2rpm;FALSE, inspection required;kramdown-syntax-coderay;MIT;MIT +fedora matches gem2rpm;FALSE, inspection required;kramdown;MIT;MIT +fedora matches gem2rpm;FALSE, inspection required;metaclass;MIT;MIT +fedora matches gem2rpm;FALSE, inspection required;mime-types-data;MIT;MIT +fedora matches gem2rpm;FALSE, inspection required;mime-types;MIT;MIT +fedora matches gem2rpm;FALSE, inspection required;net-ldap;MIT;MIT +fedora matches gem2rpm;FALSE, inspection required;posix-spawn;MIT;MIT +fedora matches gem2rpm;FALSE, inspection required;pry;MIT;MIT +fedora matches gem2rpm;FALSE, inspection required;rack-cache;MIT;MIT +fedora matches gem2rpm;FALSE, inspection required;sequel;MIT;MIT +fedora matches gem2rpm;FALSE, inspection required;text;MIT;MIT +fedora matches gem2rpm;FALSE, inspection required;tilt;MIT;MIT +fedora matches gem2rpm;FALSE, inspection required;timers;MIT;MIT +fedora matches gem2rpm;FALSE, inspection required;tins;MIT;MIT +fedora matches gem2rpm;Inspection required;pkg-config;LGPLv2+;LGPLv2+ +fedora matches gem2rpm;Inspection required;unicode;Ruby;Ruby +fedora matches gem2rpm;TRUE valid MIT;Ascii85;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;abrt;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;actioncable;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;actionmailbox;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;actionmailer;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;actionpack;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;actiontext;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;actionview;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;activejob;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;activemodel-serializers-xml;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;activemodel;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;activeresource;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;activestorage;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;activesupport;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;acts_as_list;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;afm;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;arel;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;asciidoctor-pdf;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;backports;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;base32;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;benchmark-ips;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;bindex;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;bootsnap;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;builder;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;bundler_ext;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;capybara;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;childprocess;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;chronic;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;chunky_png;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;cinch;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;clockwork;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;coffee-script;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;colorator;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;connection_pool;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;coveralls;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;crass;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;cucumber-core;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;cucumber-create-meta;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;cucumber-cucumber-expressions;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;cucumber-gherkin;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;cucumber-messages;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;cucumber-tag-expressions;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;cucumber-wire;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;cucumber;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;daemon_controller;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;dalli;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;deep_merge;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;diffy;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;docile;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;ed25519;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;em-websocket-client;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;em-websocket;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;erubi;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;ethon;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;excon;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;execjs;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;factory_bot;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;fake_ftp;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;fakefs;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;faraday;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;flexmock;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;fog-core;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;fog-json;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;fog-libvirt;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;fog-xml;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;foreigner;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;forwardable-extended;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;generator_spec;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;gist;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;git;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;globalid;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;glu;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;glut;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;guard-compat;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;guard-livereload;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;guard-shell;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;guard;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;hashdiff;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;hashie;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;http-cookie;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;http_parser.rb;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;httparty;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;image_processing;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;importmap-rails;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;ipaddress;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;jbuilder;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;jekyll-email-protect;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;jekyll-feed;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;jekyll-git-authors;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;jekyll-seo-tag;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;jekyll-toc;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;jekyll;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;jquery-rails;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;json_spec;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;linked-list;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;liquid;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;listen;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;loofah;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;lumberjack;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;mail;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;marc;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;mechanize;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;memfs;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;mercenary;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;method_source;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;mimemagic;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;mini_magick;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;mini_mime;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;mini_portile2;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;mini_portile;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;minima;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;minitest-around;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;minitest-profile;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;minitest-stub-const;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;mizuho;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;mongoid;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;more_core_extensions;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;multi_json;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;multi_test;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;multi_xml;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;mustache;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;mustermann;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;mysql2;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;nenv;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;nesty;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;net-scp;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;net-ssh;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;netrc;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;notiffany;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;opengl;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;optimist;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;ox;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;parallel;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;parseconfig;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;pastel;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;pathutil;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;pdf-reader;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;pdfkit;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;plist;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;polyglot;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;powerpack;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;prawn-svg;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;progressbar;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;pry-byebug;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;pundit;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rack-cors;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rack-protection;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rack-test;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rails-controller-testing;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rails-deprecated_sanitizer;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rails-dom-testing;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rails-html-sanitizer;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;railties;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rainbow;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rake-compiler;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rake-contrib;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rake;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rb-inotify;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rbvmomi;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;red-colors;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;redis;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;ref;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;regexp_parser;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;regexp_property_values;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;require_all;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;resolve-hostname;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rest-client;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rmagick;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;ronn-ng;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rr;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rspec-collection_matchers;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rspec-core;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rspec-expectations;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rspec-its;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rspec-mocks;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rspec-pending_for;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rspec-rails;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rspec-support;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rspec;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;ruby-progressbar;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;ruby-vips;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;ruby_dep;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;ruby_engine;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;ruby_version;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;rugged;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;safe_yaml;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;sass-rails;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;sass;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;sassc;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;scrub_rb;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;sd_notify;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;semantic;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;shellany;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;shoulda-context;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;shoulda-matchers;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;shoulda;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;simplecov-html;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;simplecov;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;simpleidn;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;sinatra;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;slim;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;spring-watcher-listen;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;spring;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;sprockets-rails;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;sshkey;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;stringex;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;temple;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;terminal-table;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;test_construct;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;test_declarative;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;thor;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;thread_order;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;timecop;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;tomlrb;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;treetop;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;tty-color;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;turbolinks-source;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;turbolinks;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;typhoeus;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;tzinfo;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;unf_ext;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;unicode-display_width;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;web-console;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;webmock;MIT;MIT +fedora matches gem2rpm;TRUE valid MIT;zeitwerk;MIT;MIT +fedora matches gem2rpm;The license might be BSD-3-Clause;rb-readline;BSD;BSD +fedora matches gem2rpm;The license might be ISC;hitimes;ISC;ISC +fedora matches gem2rpm;The license might be ISC;launchy;ISC;ISC +fedora matches gem2rpm;The license might be NOASSERTION;syntax;BSD;BSD +fedora matches gem2rpm;The license might be NOASSERTION;systemu;Ruby;Ruby +fedora matches gem2rpm;Valid SPDX ID, no intervention required.;bson;Apache-2.0;Apache-2.0 +fedora matches gem2rpm;Valid SPDX ID, no intervention required.;puma;BSD-3-Clause;BSD-3-Clause +fedora matches gem2rpm;Valid SPDX ID, no intervention required.;sync;BSD-2-Clause;BSD-2-Clause +fedora matches gem2rpm;Valid SPDX ID, no intervention required.;term-ansicolor;Apache-2.0;Apache-2.0 +fedora matches gem2rpm;Valid SPDX ID, no intervention required.;websocket-extensions;Apache-2.0;Apache-2.0 +fedora matches gem2rpm;inspection required, MIT without licensefile detected;Platform;MIT;MIT +fedora matches gem2rpm;inspection required, MIT without licensefile detected;ZenTest;MIT;MIT +fedora matches gem2rpm;inspection required, MIT without licensefile detected;algorithms;MIT;MIT +fedora matches gem2rpm;inspection required, MIT without licensefile detected;async_sinatra;MIT;MIT +fedora matches gem2rpm;inspection required, MIT without licensefile detected;coffee-script-source;MIT;MIT +fedora matches gem2rpm;inspection required, MIT without licensefile detected;crack;MIT;MIT +fedora matches gem2rpm;inspection required, MIT without licensefile detected;em-http-request;MIT;MIT +fedora matches gem2rpm;inspection required, MIT without licensefile detected;hoe;MIT;MIT +fedora matches gem2rpm;inspection required, MIT without licensefile detected;http-accept;MIT;MIT +fedora matches gem2rpm;inspection required, MIT without licensefile detected;i18n_data;MIT;MIT +fedora matches gem2rpm;inspection required, MIT without licensefile detected;isolate;MIT;MIT +fedora matches gem2rpm;inspection required, MIT without licensefile detected;jekyll-sass-converter;MIT;MIT +fedora matches gem2rpm;inspection required, MIT without licensefile detected;jekyll-watch;MIT;MIT +fedora matches gem2rpm;inspection required, MIT without licensefile detected;minitest;MIT;MIT +fedora matches gem2rpm;inspection required, MIT without licensefile detected;multipart-post;MIT;MIT +fedora matches gem2rpm;inspection required, MIT without licensefile detected;net-http-digest_auth;MIT;MIT +fedora matches gem2rpm;inspection required, MIT without licensefile detected;net-http-persistent;MIT;MIT +fedora matches gem2rpm;inspection required, MIT without licensefile detected;rails;MIT;MIT +fedora matches gem2rpm;inspection required, MIT without licensefile detected;rubygems-mirror;MIT;MIT +fedora matches gem2rpm;inspection required, MIT without licensefile detected;sexp_processor;MIT;MIT +fedora matches gem2rpm;inspection required, MIT without licensefile detected;snmp;MIT;MIT +fedora matches gem2rpm;inspection required, MIT without licensefile detected;sprockets;MIT;MIT +fedora matches gem2rpm;inspection required, MIT without licensefile detected;syck;MIT;MIT +fedora matches gem2rpm;inspection required, MIT without licensefile detected;websocket;MIT;MIT +fedora matches gem2rpm;inspection required, MIT without licensefile detected;xml-simple;MIT;MIT +fedora matches gem2rpm;inspection required, MIT without licensefile detected;xpath;MIT;MIT +fedora matches gem2rpm;inspection required, MIT without licensefile detected;yaml-lint;MIT;MIT diff --git a/template.erb b/template.erb new file mode 100644 index 0000000..5c0d111 --- /dev/null +++ b/template.erb @@ -0,0 +1,2 @@ +<%# gem_name;gem_version;fedora_license;license_file %> +<%= spec.name %>;<%= spec.version %>;<%= spec.licenses.join(" and ") %>;<%= main_files.filter do |item| item.license? end.join(" ")%> diff --git a/validate_ruby_files.rb b/validate_ruby_files.rb new file mode 100644 index 0000000..0ebfe93 --- /dev/null +++ b/validate_ruby_files.rb @@ -0,0 +1,73 @@ +# frozen_string_literal: true +$LOAD_PATH.unshift('/home/jprokop/bin') +require 'rb_parallel' +require 'httparty' +require 'json' + +class ValidateJob < RubyJobQueue + def initialize(jobs, verbosity, max_parallel = (Etc.nprocessors / 2)) + super jobs, verbosity, max_parallel + end + + def execute(slice) + work(slice[0], slice[1], slice[2]) + end + + private + + def work(gem_name, gem_ver, fedspec_license) + license = gem_license(gem_name, gem_ver) + [gem_name, gem_ver, fedspec_license, license&.first] + end + + def wait_finish + @threads.each(&:join) + end + + def gem_info(gem_name) + JSON.load(HTTParty.get("https://rubygems.org/api/v1/versions/#{gem_name}.json").response.body.to_s) + end + + def gem_for_ver(gem_name, gem_ver) + info = gem_info(gem_name) + info.find do |h| + h["number"] == gem_ver + end || info.sort() { |a, b| Gem::Version.new(a['number']) <=> Gem::Version.new(b['number']) }.first + # ^ Some gems haven't had a proper release in a long time so they are using "Version" with a githash, making it even more confusing. + end + + def gem_license(gem_name, gem_ver) + remote_gem = gem_for_ver(gem_name, gem_ver) + require 'irb'; binding.irb unless remote_gem + remote_gem["licenses"] + end +end + +jobs = [] + +Dir['rubygem-*.spec'].each do |file| + name, spec_license = nil, nil + file = File.read(file) + # puts file.each_line.to_a[0] + # puts file.each_line.to_a[1] + name = file.scan(/%(?:global|define)[[:space:]]+gem_name[[:space:]]+([A-Za-z0-9\-_.]+)/).flatten.first + spec_license = file.scan(/License:[[:space:]]*(.*)/).flatten.first + version = nil + begin + version = Gem::Version.new(file.scan(/Version:[[:space:]]*(.*)/).flatten.first) + rescue ArgumentError + # Why do maintainers do this ?! + possible_variations = %w[majorver mainver version gemver coffee_script_version].join('|') + version = Gem::Version.new(file.scan(/%(?:global|define)[[:space:]]*(?:#{possible_variations})[[:space:]]*(.+)/).flatten.first) if version.nil? || version =~ /(#{possible_variations})/ + end + + raise "spec license empty" if spec_license.empty? + raise "name empty #{name} #{spec_license}" if name.empty? + raise "version empty for #{name}" if version.to_s.empty? + + jobs << [name, version.to_s, spec_license].flatten +end +gem_info = ValidateJob.new(jobs, Logger::DEBUG).collect +puts 'name;version;Fedora License;Gem License' +gem_licenses = gem_info.map() { |arr| arr.join(";") }.join("\n") +File.write("licences.csv", gem_licenses) |