polisher 0.10.2 → 0.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/binary_gem_resolver.rb +2 -2
- data/bin/bundler2yum.rb +51 -0
- data/bin/check_ruby_spec.rb +32 -0
- data/bin/gem_dependency_checker.rb +13 -242
- data/bin/gem_mapper.rb +27 -0
- data/bin/gems2update.rb +27 -0
- data/bin/git_gem_diff.rb +48 -0
- data/bin/git_gem_updater.rb +3 -3
- data/bin/missing_deps.rb +29 -0
- data/bin/polisher-config.rb +17 -0
- data/bin/ruby_rpm_spec_updater.rb +23 -2
- data/lib/polisher.rb +5 -12
- data/lib/polisher/adaptors/checker_loader.rb +78 -0
- data/lib/polisher/{upstream.rb → adaptors/upstream.rb} +1 -0
- data/lib/polisher/adaptors/version_checker.rb +57 -0
- data/lib/polisher/adaptors/version_checker/bodhi.rb +29 -0
- data/lib/polisher/adaptors/version_checker/errata.rb +29 -0
- data/lib/polisher/adaptors/version_checker/fedora.rb +29 -0
- data/lib/polisher/adaptors/version_checker/gem.rb +27 -0
- data/lib/polisher/adaptors/version_checker/git.rb +29 -0
- data/lib/polisher/adaptors/version_checker/koji.rb +29 -0
- data/lib/polisher/adaptors/version_checker/yum.rb +29 -0
- data/lib/polisher/cli/all.rb +22 -0
- data/lib/polisher/cli/bin/gem_dependency_checker.rb +85 -0
- data/lib/polisher/cli/bin/gem_mapper.rb +37 -0
- data/lib/polisher/cli/bin/gems2update.rb +86 -0
- data/lib/polisher/cli/bin/missing_deps.rb +35 -0
- data/lib/polisher/cli/conf.rb +18 -0
- data/lib/polisher/cli/default.rb +25 -0
- data/lib/polisher/cli/format.rb +130 -0
- data/lib/polisher/cli/sources.rb +106 -0
- data/lib/polisher/cli/specifier.rb +30 -0
- data/lib/polisher/cli/status.rb +50 -0
- data/lib/polisher/cli/targets.rb +88 -0
- data/lib/polisher/gem.rb +41 -338
- data/lib/polisher/gem/attributes.rb +20 -0
- data/lib/polisher/gem/dependencies.rb +63 -0
- data/lib/polisher/gem/diff.rb +39 -0
- data/lib/polisher/gem/files.rb +111 -0
- data/lib/polisher/gem/parser.rb +85 -0
- data/lib/polisher/gem/retriever.rb +137 -0
- data/lib/polisher/{gem_state.rb → gem/state.rb} +6 -6
- data/lib/polisher/gem/versions.rb +131 -0
- data/lib/polisher/gemfile.rb +20 -89
- data/lib/polisher/gemfile/attributes.rb +19 -0
- data/lib/polisher/gemfile/deps.rb +43 -0
- data/lib/polisher/gemfile/parser.rb +45 -0
- data/lib/polisher/git/pkg.rb +33 -238
- data/lib/polisher/git/pkg/attributes.rb +60 -0
- data/lib/polisher/git/pkg/builder.rb +47 -0
- data/lib/polisher/git/pkg/repo.rb +82 -0
- data/lib/polisher/git/pkg/updater.rb +53 -0
- data/lib/polisher/git/pkg/versions.rb +40 -0
- data/lib/polisher/git/project.rb +1 -1
- data/lib/polisher/git/repo.rb +79 -76
- data/lib/polisher/{vendor.rb → mixins/vendored_deps.rb} +4 -7
- data/lib/polisher/mixins/versioned_dependencies.rb +86 -0
- data/lib/polisher/record.rb +2 -0
- data/lib/polisher/rpm.rb +23 -0
- data/lib/polisher/rpm/patch.rb +10 -8
- data/lib/polisher/rpm/requirement.rb +33 -189
- data/lib/polisher/rpm/requirement/attributes.rb +43 -0
- data/lib/polisher/rpm/requirement/comparison.rb +97 -0
- data/lib/polisher/rpm/requirement/gem_reference.rb +46 -0
- data/lib/polisher/rpm/requirement/parser.rb +41 -0
- data/lib/polisher/rpm/spec.rb +97 -436
- data/lib/polisher/rpm/spec/check.rb +14 -0
- data/lib/polisher/rpm/spec/comparison.rb +64 -0
- data/lib/polisher/rpm/spec/files.rb +15 -0
- data/lib/polisher/rpm/spec/gem_files.rb +65 -0
- data/lib/polisher/rpm/spec/gem_reference.rb +59 -0
- data/lib/polisher/rpm/spec/gem_requirements.rb +73 -0
- data/lib/polisher/rpm/spec/parser.rb +106 -0
- data/lib/polisher/rpm/spec/requirements.rb +31 -0
- data/lib/polisher/rpm/spec/subpackages.rb +23 -0
- data/lib/polisher/rpm/spec/updater.rb +268 -0
- data/lib/polisher/specifier.rb +13 -0
- data/lib/polisher/targets.rb +36 -0
- data/lib/polisher/{apt.rb → targets/apt.rb} +1 -1
- data/lib/polisher/targets/bodhi.rb +43 -0
- data/lib/polisher/{bugzilla.rb → targets/bugzilla.rb} +1 -1
- data/lib/polisher/targets/errata.rb +55 -0
- data/lib/polisher/targets/errata/build.rb +24 -0
- data/lib/polisher/targets/fedora.rb +47 -0
- data/lib/polisher/targets/koji.rb +39 -0
- data/lib/polisher/targets/koji/builder.rb +38 -0
- data/lib/polisher/targets/koji/diff.rb +39 -0
- data/lib/polisher/targets/koji/rpc.rb +43 -0
- data/lib/polisher/targets/koji/versions.rb +67 -0
- data/lib/polisher/targets/rhn.rb +12 -0
- data/lib/polisher/targets/yum.rb +36 -0
- data/lib/polisher/{component.rb → util/component.rb} +3 -3
- data/lib/polisher/util/conf_helpers.rb +77 -0
- data/lib/polisher/util/config.rb +45 -0
- data/lib/polisher/util/core_ext.rb +59 -0
- data/lib/polisher/{error.rb → util/error.rb} +0 -0
- data/lib/polisher/{gem_cache.rb → util/gem_cache.rb} +1 -1
- data/lib/polisher/{git_cache.rb → util/git_cache.rb} +0 -0
- data/lib/polisher/{logger.rb → util/logger.rb} +2 -0
- data/lib/polisher/{tag_mapper.rb → util/tag_mapper.rb} +1 -1
- data/lib/polisher/version.rb +1 -1
- data/spec/{upstream_spec.rb → adaptors/upstream_spec.rb} +1 -1
- data/spec/{version_checker_spec.rb → adaptors/version_checker_spec.rb} +1 -6
- data/spec/data/activesupport-4.1.4.gem +0 -0
- data/spec/data/rubygem-activesupport-with-doc.spec +247 -0
- data/spec/data/rubygem-activesupport-without-requires.spec +232 -0
- data/spec/data/rubygem-activesupport.spec +0 -122
- data/spec/fixtures/gem_json.rb +49 -0
- data/spec/fixtures/gem_spec.rb +13 -0
- data/spec/fixtures/gemfile.rb +10 -0
- data/spec/fixtures/local_gem.rb +62 -0
- data/spec/fixtures/rpm_spec.rb +91 -0
- data/spec/gem/attributes_spec.rb +17 -0
- data/spec/gem/diff_spec.rb +80 -0
- data/spec/gem/files_spec.rb +171 -0
- data/spec/gem/parser_spec.rb +44 -0
- data/spec/gem/retriever_spec.rb +124 -0
- data/spec/gem/state_spec.rb +79 -0
- data/spec/gem/versions_spec.rb +148 -0
- data/spec/gem_spec.rb +5 -347
- data/spec/gemfile/deps_spec.rb +20 -0
- data/spec/gemfile/parser_spec.rb +26 -0
- data/spec/gemfile_spec.rb +0 -34
- data/spec/git/pkg/attributes_spec.rb +128 -0
- data/spec/git/pkg/builder_spec.rb +63 -0
- data/spec/git/pkg/repo_spec.rb +146 -0
- data/spec/git/pkg/updater_spec.rb +86 -0
- data/spec/git/pkg/versions_spec.rb +42 -0
- data/spec/git/pkg_spec.rb +21 -0
- data/spec/git/project_spec.rb +21 -0
- data/spec/git/repo_spec.rb +160 -0
- data/spec/{vendor_spec.rb → mixins/vendored_deps_spec.rb} +2 -4
- data/spec/mixins/versioned_dependencies_spec.rb +48 -0
- data/spec/rpm/patch_spec.rb +48 -0
- data/spec/rpm/requirement/attributes_spec.rb +34 -0
- data/spec/rpm/requirement/comparison_spec.rb +286 -0
- data/spec/rpm/requirement/gem_spec.rb +49 -0
- data/spec/rpm/requirement/parser_spec.rb +31 -0
- data/spec/rpm/requirement_spec.rb +8 -334
- data/spec/rpm/spec/check_spec.rb +25 -0
- data/spec/rpm/spec/comparison_spec.rb +55 -0
- data/spec/rpm/spec/files_spec.rb +17 -0
- data/spec/rpm/spec/gem_files_spec.rb +112 -0
- data/spec/rpm/spec/gem_reference_spec.rb +99 -0
- data/spec/rpm/spec/gem_requirement_spec.rb +38 -0
- data/spec/rpm/spec/parser_spec.rb +64 -0
- data/spec/rpm/spec/requirements_spec.rb +10 -0
- data/spec/rpm/spec/subpackages_spec.rb +38 -0
- data/spec/rpm/spec/updater_spec.rb +486 -0
- data/spec/rpm/spec_spec.rb +27 -174
- data/spec/spec_helper.rb +7 -107
- data/spec/support/coveralls.rb +10 -0
- data/spec/support/fixtures.rb +8 -0
- data/spec/support/paths.rb +20 -0
- data/spec/support/rspec.rb +20 -0
- data/spec/support/vcr.rb +11 -0
- data/spec/{bodhi_spec.rb → targets/bodhi_spec.rb} +3 -1
- data/spec/{errata_spec.rb → targets/errata_spec.rb} +2 -2
- data/spec/{fedora_spec.rb → targets/fedora_spec.rb} +3 -3
- data/spec/targets/koji/builder_spec.rb +48 -0
- data/spec/targets/koji/diff_spec.rb +36 -0
- data/spec/targets/koji/rpc_spec.rb +28 -0
- data/spec/{koji_spec.rb → targets/koji/versions_spec.rb} +1 -59
- data/spec/targets/koji_spec.rb +11 -0
- data/spec/{yum_spec.rb → targets/yum_spec.rb} +1 -1
- data/spec/{component_spec.rb → util/component_spec.rb} +1 -1
- data/spec/{core_spec.rb → util/core_ext_spec.rb} +2 -3
- metadata +278 -88
- data/lib/polisher/bodhi.rb +0 -23
- data/lib/polisher/config.rb +0 -32
- data/lib/polisher/core.rb +0 -101
- data/lib/polisher/errata.rb +0 -75
- data/lib/polisher/fedora.rb +0 -46
- data/lib/polisher/git.rb +0 -8
- data/lib/polisher/koji.rb +0 -159
- data/lib/polisher/rhn.rb +0 -15
- data/lib/polisher/version_checker.rb +0 -177
- data/lib/polisher/yum.rb +0 -37
- data/spec/git_spec.rb +0 -445
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 78a98e2d3dca5f6b32750ae3522c3c14b3b3fc23
|
|
4
|
+
data.tar.gz: 1ce3acd835e075b7038846f83b75daa282c15dfd
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 87fcc0b3ad168138f46563f40bcd48c57f7655e222ba4dc5d23d9557b016bad2d2802d84f6af08c90eb36d1169a473f42dbd118c5713267105f07b5b1513a1f5
|
|
7
|
+
data.tar.gz: 779e70b2f7c322b11a03823dfd6d2a49b757d0c1eadf6b3d7fea35860f24910eda861742e55e5110e6502b87360c72a5bbe1fa811f5fd84751abe9147c07b7a6
|
data/bin/binary_gem_resolver.rb
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
# Looks up missing binary dependencies required by ruby packages via
|
|
5
5
|
# various backends (currently yum, more to be added)
|
|
6
6
|
#
|
|
7
|
-
# gem install packages as normal. If any fail due to missing requirements,
|
|
7
|
+
# gem install packages as normal. If any fail due to missing requirements,
|
|
8
8
|
# run this script w/ the location of the failed install like so:
|
|
9
9
|
#
|
|
10
10
|
# ./binary_gem_resolver.rb <path-to-gem-install>
|
|
@@ -46,7 +46,7 @@ end
|
|
|
46
46
|
|
|
47
47
|
#############################################################
|
|
48
48
|
|
|
49
|
-
# require/override mkmf methods
|
|
49
|
+
# require/override mkmf methods
|
|
50
50
|
require 'mkmf'
|
|
51
51
|
|
|
52
52
|
alias :_cpp_command :cpp_command
|
data/bin/bundler2yum.rb
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
#!/usr/bin/ruby
|
|
2
|
+
# Tool to convert a bundler Gemfile + various
|
|
3
|
+
# RPM sources to a yum repository
|
|
4
|
+
#
|
|
5
|
+
# Pass -h to command for complete list of command
|
|
6
|
+
# line options
|
|
7
|
+
#
|
|
8
|
+
# Licensed under the MIT License
|
|
9
|
+
# Copyright (C) 2013-2014 Red Hat, Inc.
|
|
10
|
+
|
|
11
|
+
require 'colored'
|
|
12
|
+
require 'optparse'
|
|
13
|
+
|
|
14
|
+
conf = { :gemfile => './Gemfile',
|
|
15
|
+
:sources => [],
|
|
16
|
+
:dest => nil}
|
|
17
|
+
|
|
18
|
+
optparse = OptionParser.new do |opts|
|
|
19
|
+
opts.on('-h', '--help', 'Display this help screen') do
|
|
20
|
+
puts opts
|
|
21
|
+
exit
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
opts.on('--gemfile file', 'Location of the gemfile to parse') do |g|
|
|
25
|
+
conf[:gemfile] = g
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
opts.on('--source source', 'Source which to pull packages from') do |s|
|
|
29
|
+
conf[:sources] << s
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
opts.on('--dest dest', 'Destination which to write repo to') do |s|
|
|
33
|
+
conf[:dest] = nil
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
optparse.parse!
|
|
38
|
+
|
|
39
|
+
if conf[:gemfile].nil? || conf[:dest].nil?
|
|
40
|
+
puts "Valid Gemfile must be specified".bold.red
|
|
41
|
+
exit 1
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
gemfile = Polisher::Gemfile.parse(conf[:gemfile])
|
|
45
|
+
gemfile.dependency_versions do |tgt, dep, versions|
|
|
46
|
+
# TODO:
|
|
47
|
+
# - attempt to retrieve versioned dependency from specified sources
|
|
48
|
+
# - error out if package cannot be retrieved
|
|
49
|
+
# - use createrepo and/or other tool (should be configurable)
|
|
50
|
+
# to create yum (or other) repo
|
|
51
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#!/usr/bin/ruby
|
|
2
|
+
# Check a Ruby RPM spec against an upstream source
|
|
3
|
+
# to validate it is up to date
|
|
4
|
+
#
|
|
5
|
+
# Run with the path to the spec to validate along
|
|
6
|
+
# with optional upstream source
|
|
7
|
+
#
|
|
8
|
+
# Usage:
|
|
9
|
+
# check_ruby_spec.rb <path-to-spec> <optional-source-or-version>
|
|
10
|
+
#
|
|
11
|
+
# Licensed under the MIT License
|
|
12
|
+
# Copyright (C) 2013-2014 Red Hat, Inc.
|
|
13
|
+
|
|
14
|
+
require 'colored'
|
|
15
|
+
require 'polisher'
|
|
16
|
+
|
|
17
|
+
spec_file = ARGV.shift
|
|
18
|
+
source = ARGV.shift
|
|
19
|
+
rpmspec = Polisher::RPM::Spec.parse File.read(spec_file)
|
|
20
|
+
source = source.nil? ?
|
|
21
|
+
Polisher::Gem.retrieve(rpmspec.gem_name) :
|
|
22
|
+
Polisher::Upstream.parse(source)
|
|
23
|
+
|
|
24
|
+
result = rpmspec.compare(source)
|
|
25
|
+
unless result[:diff].keys.empty?
|
|
26
|
+
puts "differences between rpmspec and upstream source detected".red.bold
|
|
27
|
+
result[:diff].each do |dep,versions|
|
|
28
|
+
puts "#{dep} / " \
|
|
29
|
+
"spec (#{versions[:spec]}) / " \
|
|
30
|
+
"upstream #{versions[:upstream]}".bold.red
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -14,257 +14,28 @@
|
|
|
14
14
|
# Copyright (C) 2013-2014 Red Hat, Inc.
|
|
15
15
|
###########################################################
|
|
16
16
|
|
|
17
|
-
require 'optparse'
|
|
18
|
-
require 'colored'
|
|
19
17
|
require 'polisher/gem'
|
|
20
18
|
require 'polisher/gemfile'
|
|
21
|
-
require 'polisher/
|
|
19
|
+
require 'polisher/util/config'
|
|
22
20
|
|
|
23
|
-
|
|
21
|
+
require 'polisher/cli/all'
|
|
22
|
+
require 'polisher/cli/bin/gem_dependency_checker'
|
|
24
23
|
|
|
25
|
-
|
|
26
|
-
:log_level => :info,
|
|
27
|
-
:gemfile => './Gemfile',
|
|
28
|
-
:gemspec => nil,
|
|
29
|
-
:gemname => nil,
|
|
30
|
-
:prefix => nil,
|
|
31
|
-
:groups => [],
|
|
32
|
-
:devel_deps => false,
|
|
33
|
-
:check_fedora => false,
|
|
34
|
-
:check_git => false,
|
|
35
|
-
:check_koji => false,
|
|
36
|
-
:check_rhn => false,
|
|
37
|
-
:check_yum => false,
|
|
38
|
-
:check_bugzilla => false,
|
|
39
|
-
:check_errata => false,
|
|
40
|
-
:check_bodhi => false}
|
|
41
|
-
|
|
42
|
-
optparse = OptionParser.new do |opts|
|
|
43
|
-
opts.on('-h', '--help', 'Display this help screen') do
|
|
44
|
-
puts opts
|
|
45
|
-
exit
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
opts.on("--format val", 'Format which to render output') do |f|
|
|
49
|
-
conf[:format] = f
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
opts.on("--log-level level", "Log verbosity") do |l|
|
|
53
|
-
conf[:log_level] = l.to_sym
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
opts.on('--gemfile file', 'Location of the gemfile to parse') do |g|
|
|
57
|
-
conf[:gemfile] = g
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
opts.on('--group gemfile_groups', 'Gemfile groups (may be specified multiple times)') do |g|
|
|
61
|
-
conf[:groups] << g
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
opts.on('--gemspec file', 'Location of the gemspec to parse') do |g|
|
|
65
|
-
conf[:gemspec] = g
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
opts.on('--gem name', 'Name of the rubygem to check') do |g|
|
|
69
|
-
conf[:gemname] = g
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
opts.on('-p', '--prefix prefix', 'Prefix to append to gem name') do |p|
|
|
73
|
-
conf[:prefix] = p
|
|
74
|
-
end
|
|
75
|
-
|
|
76
|
-
opts.on('--[no-]devel', 'Include development dependencies') do |d|
|
|
77
|
-
conf[:devel_deps] = d
|
|
78
|
-
end
|
|
79
|
-
|
|
80
|
-
opts.on('-f', '--[no-]fedora', 'Check fedora for packages') do |f|
|
|
81
|
-
conf[:check_fedora] = f
|
|
82
|
-
end
|
|
83
|
-
|
|
84
|
-
opts.on('-g', '--git [url]', 'Check git for packages') do |g|
|
|
85
|
-
conf[:check_git] = g || "git://pkgs.fedoraproject.org/"
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
opts.on('-k', '--koji [url]', 'Check koji for packages') do |k|
|
|
89
|
-
conf[:check_koji] = k || true
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
opts.on('-t', '--koji-tag tag', 'Koji tag to query') do |t|
|
|
93
|
-
conf[:koji_tag] = t
|
|
94
|
-
end
|
|
95
|
-
|
|
96
|
-
opts.on('-b', '--bodhi [url]', 'Check Bodhi for packages') do |r|
|
|
97
|
-
conf[:check_bodhi] = r || 'https://admin.fedoraproject.org/updates/'
|
|
98
|
-
end
|
|
99
|
-
|
|
100
|
-
opts.on('--rhn [url]', 'Check RHN for packages') do |r|
|
|
101
|
-
conf[:check_rhn] = r || 'TODO'
|
|
102
|
-
end
|
|
103
|
-
|
|
104
|
-
opts.on('-y', '--yum', 'Check yum for packages') do |y|
|
|
105
|
-
conf[:check_yum] = y
|
|
106
|
-
end
|
|
107
|
-
|
|
108
|
-
opts.on('-b', '--bugzilla', 'Check bugzilla for bugs filed against package') do |b|
|
|
109
|
-
conf[:check_bugzilla] = b
|
|
110
|
-
end
|
|
111
|
-
|
|
112
|
-
opts.on('-e', '--errata [url]', 'Check packages filed in errata') do |e|
|
|
113
|
-
conf[:check_errata] = e || nil
|
|
114
|
-
end
|
|
115
|
-
end
|
|
24
|
+
include Polisher::CLI
|
|
116
25
|
|
|
26
|
+
conf = gem_dependency_checker_conf
|
|
27
|
+
optparse = gem_dependency_checker_option_parser
|
|
117
28
|
optparse.parse!
|
|
118
|
-
|
|
119
|
-
if conf[:gemfile].nil? &&
|
|
120
|
-
conf[:gemspec].nil? &&
|
|
121
|
-
conf[:gemname].nil?
|
|
122
|
-
|
|
123
|
-
if File.exists?('./Gemfile')
|
|
124
|
-
conf[:gemfile] = './Gemfile'
|
|
125
|
-
else
|
|
126
|
-
puts "Valid Gemfile, GemSpec, or Gem must be specified".bold.red
|
|
127
|
-
exit 1
|
|
128
|
-
end
|
|
129
|
-
end
|
|
29
|
+
validate_sources
|
|
130
30
|
|
|
131
31
|
Polisher::Logging.level = conf[:log_level]
|
|
132
32
|
Polisher::Config.set
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
targets << Polisher::VersionChecker::KOJI_TARGET if conf[:check_koji]
|
|
137
|
-
targets << Polisher::VersionChecker::FEDORA_TARGET if conf[:check_fedora]
|
|
138
|
-
targets << Polisher::VersionChecker::GIT_TARGET if conf[:check_git]
|
|
139
|
-
targets << Polisher::VersionChecker::YUM_TARGET if conf[:check_yum]
|
|
140
|
-
targets << Polisher::VersionChecker::BODHI_TARGET if conf[:check_bodhi]
|
|
141
|
-
targets = Polisher::VersionChecker::ALL_TARGETS if targets.empty?
|
|
142
|
-
Polisher::VersionChecker.check targets
|
|
143
|
-
|
|
144
|
-
if conf[:check_koji]
|
|
145
|
-
require 'polisher/koji'
|
|
146
|
-
Polisher::Koji.koji_url conf[:check_koji] if conf[:koji_url].is_a?(String)
|
|
147
|
-
Polisher::Koji.koji_tag conf[:koji_tag] if conf[:koji_tag]
|
|
148
|
-
Polisher::Koji.package_prefix conf[:prefix] if conf[:prefix]
|
|
149
|
-
end
|
|
150
|
-
|
|
151
|
-
@format = conf[:format]
|
|
152
|
-
|
|
153
|
-
def format_dep(dep)
|
|
154
|
-
if @format.nil?
|
|
155
|
-
dep.to_s.blue.bold
|
|
156
|
-
elsif @format == 'xml'
|
|
157
|
-
"<#{dep}>"
|
|
158
|
-
elsif @format == 'json'
|
|
159
|
-
"'#{dep}':{"
|
|
160
|
-
end
|
|
161
|
-
end
|
|
162
|
-
|
|
163
|
-
def format_end_dep(dep)
|
|
164
|
-
if @format.nil?
|
|
165
|
-
"\n"
|
|
166
|
-
elsif @format == 'xml'
|
|
167
|
-
"\n</#{dep}>"
|
|
168
|
-
elsif @format == 'json'
|
|
169
|
-
"\n}"
|
|
170
|
-
end
|
|
171
|
-
end
|
|
172
|
-
|
|
173
|
-
def format_tgt(tgt)
|
|
174
|
-
if @format.nil?
|
|
175
|
-
"#{tgt.to_s.red.bold} "
|
|
176
|
-
elsif @format == 'xml'
|
|
177
|
-
"<#{tgt}/>"
|
|
178
|
-
elsif @format == 'json'
|
|
179
|
-
"'#{tgt}':null,"
|
|
180
|
-
end
|
|
181
|
-
end
|
|
182
|
-
|
|
183
|
-
def format_unknown_tgt(tgt)
|
|
184
|
-
if @format.nil?
|
|
185
|
-
"#{tgt.to_s.red.bold}: " + "unknown".yellow
|
|
186
|
-
else
|
|
187
|
-
format_tgt("#{tgt} (unknown)")
|
|
188
|
-
end
|
|
189
|
-
end
|
|
190
|
-
|
|
191
|
-
def format_tgt_with_versions(tgt, versions)
|
|
192
|
-
if @format.nil?
|
|
193
|
-
"#{tgt.to_s.green.bold}: #{versions.join(', ').yellow} "
|
|
194
|
-
elsif @format == 'xml'
|
|
195
|
-
"<#{tgt}>#{versions.join(', ')}</#{tgt}>"
|
|
196
|
-
elsif @format == 'json'
|
|
197
|
-
"'#{tgt}':['#{versions.join('\', \'')}'],"
|
|
198
|
-
end
|
|
199
|
-
end
|
|
200
|
-
|
|
201
|
-
def print_header
|
|
202
|
-
if @format == 'xml'
|
|
203
|
-
puts '<dependencies>'
|
|
204
|
-
elsif @format == 'json'
|
|
205
|
-
puts '{'
|
|
206
|
-
end
|
|
207
|
-
end
|
|
208
|
-
|
|
209
|
-
def print_footer
|
|
210
|
-
if @format == 'xml'
|
|
211
|
-
puts "</dependencies>"
|
|
212
|
-
elsif @format == 'json'
|
|
213
|
-
puts "}"
|
|
214
|
-
end
|
|
215
|
-
end
|
|
216
|
-
|
|
217
|
-
def print_dep(tgt, dep, versions)
|
|
218
|
-
# XXX little bit hacky but works for now
|
|
219
|
-
@last_dep ||= nil
|
|
220
|
-
if @last_dep != dep
|
|
221
|
-
puts format_end_dep(@last_dep) unless @last_dep.nil?
|
|
222
|
-
puts format_dep(dep)
|
|
223
|
-
@last_dep = dep
|
|
224
|
-
end
|
|
225
|
-
|
|
226
|
-
if versions.blank? || (versions.size == 1 && versions.first.blank?)
|
|
227
|
-
print format_tgt(tgt)
|
|
228
|
-
|
|
229
|
-
elsif versions.size == 1 && versions.first == :unknown
|
|
230
|
-
print format_unknown_tgt(tgt)
|
|
231
|
-
|
|
232
|
-
else
|
|
233
|
-
print format_tgt_with_versions(tgt, versions)
|
|
234
|
-
end
|
|
235
|
-
end
|
|
236
|
-
|
|
33
|
+
set_targets conf
|
|
34
|
+
configure_targets conf
|
|
35
|
+
set_format conf
|
|
237
36
|
print_header
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
gem.versions(:recursive => true,
|
|
242
|
-
:dev_deps => conf[:devel_deps]) do |tgt, dep, versions|
|
|
243
|
-
print_dep(tgt, dep, versions)
|
|
244
|
-
end
|
|
245
|
-
|
|
246
|
-
elsif conf[:gemspec]
|
|
247
|
-
gem = Polisher::Gem.from_gemspec(conf[:gemspec])
|
|
248
|
-
gem.versions(:recursive => true,
|
|
249
|
-
:dev_deps => conf[:devel_deps]) do |tgt, dep, versions|
|
|
250
|
-
print_dep(tgt, dep, versions)
|
|
251
|
-
end
|
|
252
|
-
|
|
253
|
-
elsif conf[:gemfile]
|
|
254
|
-
gemfile = nil
|
|
255
|
-
|
|
256
|
-
begin
|
|
257
|
-
gemfile = Polisher::Gemfile.parse(conf[:gemfile], :groups => conf[:groups])
|
|
258
|
-
rescue => e
|
|
259
|
-
puts "Runtime err #{e}".red
|
|
260
|
-
exit 1
|
|
261
|
-
end
|
|
262
|
-
|
|
263
|
-
gemfile.dependency_versions :recursive => true,
|
|
264
|
-
:dev_deps => conf[:devel_deps] do |tgt, dep, versions|
|
|
265
|
-
print_dep(tgt, dep, versions)
|
|
266
|
-
end
|
|
37
|
+
begin
|
|
38
|
+
print_deps conf
|
|
39
|
+
rescue Exception
|
|
267
40
|
end
|
|
268
|
-
|
|
269
|
-
puts format_end_dep(@last_dep) unless @last_dep.nil? # XXX
|
|
270
41
|
print_footer
|
data/bin/gem_mapper.rb
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
#!/usr/bin/ruby
|
|
2
|
+
# Gem Dependency Mapper
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the MIT license
|
|
5
|
+
# Copyright (C) 2015 Red Hat, Inc.
|
|
6
|
+
###########################################################
|
|
7
|
+
|
|
8
|
+
require 'polisher/gemfile'
|
|
9
|
+
require 'polisher/util/config'
|
|
10
|
+
|
|
11
|
+
require 'polisher/cli/all'
|
|
12
|
+
require 'polisher/cli/bin/gem_mapper'
|
|
13
|
+
|
|
14
|
+
include Polisher::CLI
|
|
15
|
+
|
|
16
|
+
conf = gem_mapper_conf
|
|
17
|
+
optparse = gem_mapper_parser
|
|
18
|
+
optparse.parse!
|
|
19
|
+
|
|
20
|
+
validate_sources
|
|
21
|
+
|
|
22
|
+
Polisher::Logging.level = conf[:log_level]
|
|
23
|
+
Polisher::Config.set
|
|
24
|
+
begin
|
|
25
|
+
print_tree conf
|
|
26
|
+
rescue Exception => e
|
|
27
|
+
end
|
data/bin/gems2update.rb
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
#!/usr/bin/ruby
|
|
2
|
+
# Display consolidated gems needing updating
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the MIT license
|
|
5
|
+
# Copyright (C) 2015 Red Hat, Inc.
|
|
6
|
+
|
|
7
|
+
require 'polisher/util/logger'
|
|
8
|
+
require 'polisher/util/config'
|
|
9
|
+
|
|
10
|
+
require 'polisher/cli/all'
|
|
11
|
+
require 'polisher/cli/bin/gems2update'
|
|
12
|
+
|
|
13
|
+
include Polisher::CLI
|
|
14
|
+
|
|
15
|
+
conf = gems2update_conf
|
|
16
|
+
optparse = gems2update_parser
|
|
17
|
+
optparse.parse!
|
|
18
|
+
|
|
19
|
+
Polisher::Logging.level = conf[:log_level]
|
|
20
|
+
Polisher::Config.set
|
|
21
|
+
set_targets conf
|
|
22
|
+
configure_targets conf
|
|
23
|
+
|
|
24
|
+
begin
|
|
25
|
+
check_gems conf
|
|
26
|
+
rescue Exception => e
|
|
27
|
+
end
|
data/bin/git_gem_diff.rb
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
#!/usr/bin/ruby
|
|
2
|
+
# Diff a Git Gem Against its Rubygems equivalent
|
|
3
|
+
#
|
|
4
|
+
# ./git_gem_diff.rb
|
|
5
|
+
#
|
|
6
|
+
# Licensed under the MIT license
|
|
7
|
+
# Copyright (C) 2014 Red Hat, Inc.
|
|
8
|
+
###########################################################
|
|
9
|
+
|
|
10
|
+
require 'colored'
|
|
11
|
+
require 'polisher/git/pkg'
|
|
12
|
+
require 'polisher/git/repo'
|
|
13
|
+
|
|
14
|
+
conf = { :git => nil}
|
|
15
|
+
|
|
16
|
+
optparse = OptionParser.new do |opts|
|
|
17
|
+
opts.on('-h', '--help', 'Display this help screen') do
|
|
18
|
+
puts opts
|
|
19
|
+
exit
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
opts.on('-g', '--git [url]', 'url') do |url|
|
|
23
|
+
conf[:git] = url
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
optparse.parse!
|
|
28
|
+
|
|
29
|
+
if conf[:git].nil?
|
|
30
|
+
puts "Must specify a git url".bold.red
|
|
31
|
+
exit 1
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
git = Polisher::Git::Repo.new :url => conf[:git]
|
|
35
|
+
git.clone unless git.cloned?
|
|
36
|
+
|
|
37
|
+
name, version = nil
|
|
38
|
+
|
|
39
|
+
git.in_repo do
|
|
40
|
+
gemspec_path = Dir.glob('*.gemspec').first
|
|
41
|
+
gem = Polisher::Gem.from_gemspec gemspec_path
|
|
42
|
+
name = gem.name
|
|
43
|
+
version = gem.version
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
gem = Polisher::Gem.from_rubygems name, version
|
|
47
|
+
diff = gem.diff(git)
|
|
48
|
+
puts diff
|