rspec-pgp_matchers 0.1.1 → 0.1.2
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/.gitignore +1 -0
- data/.gitmodules +3 -0
- data/.rubocop.yml +2 -4
- data/.travis.yml +4 -5
- data/README.adoc +7 -0
- data/lib/rspec/pgp_matchers/gpg_runner.rb +15 -3
- data/lib/rspec/pgp_matchers/version.rb +1 -1
- data/rspec-pgp_matchers.gemspec +1 -1
- metadata +5 -8
- data/.rubocop.ribose.yml +0 -65
- data/.rubocop.tb.yml +0 -650
- data/ci/install_gpg_all.sh +0 -137
- data/ci/install_gpg_component.sh +0 -301
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c1ede8d3cd2fbc6cea19ba3d0c1dbce8cf0b390239869beec38fe4f6da3e607b
|
4
|
+
data.tar.gz: 6b090779819012e1697e460e78a41cc85d4eaa1687e24441a136f268ebc29c61
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f30291f6f0f4eb68a1e3d42e5bdab7208722f4998a0d8e0c17edae16e903fb031864c94005c816aca76b8b52ad6b22b8b240c23708302f94f17220a34517f9be
|
7
|
+
data.tar.gz: 9e49089ab7d42085d1ac94d6807a83408010ba4c17665cb70040b12febb41f301f43cdd4d630f1c463450fdf7028bc7663064d2a78ad351c6bb0a052ee92d3db
|
data/.gitignore
CHANGED
data/.gitmodules
ADDED
data/.rubocop.yml
CHANGED
@@ -3,10 +3,8 @@
|
|
3
3
|
# All project-specific additions and overrides should be specified in this file.
|
4
4
|
|
5
5
|
inherit_from:
|
6
|
-
|
7
|
-
|
8
|
-
# Overrides from Ribose
|
9
|
-
- ".rubocop.ribose.yml"
|
6
|
+
- https://raw.githubusercontent.com/riboseinc/oss-guides/master/ci/rubocop.yml
|
7
|
+
|
10
8
|
AllCops:
|
11
9
|
DisplayCopNames: false
|
12
10
|
StyleGuideCopsOnly: false
|
data/.travis.yml
CHANGED
@@ -6,6 +6,7 @@ rvm:
|
|
6
6
|
- "2.3"
|
7
7
|
- "2.4"
|
8
8
|
- "2.5"
|
9
|
+
- "2.6"
|
9
10
|
- "ruby-head"
|
10
11
|
|
11
12
|
env:
|
@@ -13,7 +14,6 @@ env:
|
|
13
14
|
- GPG_VERSION="2.2"
|
14
15
|
|
15
16
|
global:
|
16
|
-
- DEPS_BUILD_DIR="${TRAVIS_BUILD_DIR}/build"
|
17
17
|
- DEPS_PREFIX="${TRAVIS_BUILD_DIR}/opt"
|
18
18
|
- GPG_PREFIX="${DEPS_PREFIX}/gpg"
|
19
19
|
|
@@ -44,15 +44,14 @@ cache:
|
|
44
44
|
|
45
45
|
before_install:
|
46
46
|
- mkdir -p ${DEPS_PREFIX}
|
47
|
-
- pushd ci
|
47
|
+
- pushd ci/gpg
|
48
48
|
- >
|
49
49
|
[ -d "${GPG_PREFIX}" ] ||
|
50
|
-
./install_gpg_all.sh
|
51
|
-
--
|
50
|
+
./install_gpg_all.sh
|
51
|
+
--suite-version "${GPG_VERSION}"
|
52
52
|
--configure-opts "${GPG_CONFIGURE_OPTS}"
|
53
53
|
--folding-style travis
|
54
54
|
- popd
|
55
|
-
- gem install bundler -v "~> 1.16"
|
56
55
|
|
57
56
|
install:
|
58
57
|
- bundle install --jobs=3 --retry=3 --path=${BUNDLE_PATH:-vendor/bundle}
|
data/README.adoc
CHANGED
@@ -123,6 +123,13 @@ number in `version.rb`, and then run `bundle exec rake release`, which
|
|
123
123
|
will create a git tag for the version, push git commits and tags, and
|
124
124
|
push the `.gem` file to https://rubygems.org[rubygems.org].
|
125
125
|
|
126
|
+
=== Submodules
|
127
|
+
|
128
|
+
GnuPG is installed via scripts maintained in a sister repository
|
129
|
+
https://github.com/riboseinc/gpg-build-scripts[riboseinc/gpg-build-scripts],
|
130
|
+
and included here as a Git submodule. Learn more about submodules from
|
131
|
+
https://blog.github.com/2016-02-01-working-with-submodules/[The GitHub Blog].
|
132
|
+
|
126
133
|
== Contributing
|
127
134
|
|
128
135
|
Bug reports and pull requests are welcome on GitHub at
|
@@ -25,6 +25,8 @@ module RSpec
|
|
25
25
|
enc_file = make_tempfile_containing(encrypted_string)
|
26
26
|
cmd = gpg_decrypt_command(enc_file)
|
27
27
|
run_command(cmd)
|
28
|
+
ensure
|
29
|
+
File.unlink(enc_file.path)
|
28
30
|
end
|
29
31
|
|
30
32
|
def run_verify(cleartext, signature_string)
|
@@ -32,14 +34,24 @@ module RSpec
|
|
32
34
|
data_file = make_tempfile_containing(cleartext)
|
33
35
|
cmd = gpg_verify_command(sig_file, data_file)
|
34
36
|
run_command(cmd)
|
37
|
+
ensure
|
38
|
+
File.unlink(sig_file.path, data_file.path)
|
35
39
|
end
|
36
40
|
|
37
41
|
private
|
38
42
|
|
39
43
|
def make_tempfile_containing(file_content)
|
40
|
-
|
41
|
-
|
42
|
-
|
44
|
+
# Tempfile.new instantiates Tempfile objects, and handles file
|
45
|
+
# deletion in various situations (i.e. object's finalizer), whereas
|
46
|
+
# Tempfile.create instantiates File objects, and leaves file deletion
|
47
|
+
# up to programmer.
|
48
|
+
#
|
49
|
+
# Tempfile's surprise file removals were among causes of race
|
50
|
+
# conditions, so let's go with the create method.
|
51
|
+
file = Tempfile.create("rspec-gpg-runner")
|
52
|
+
file.write(file_content)
|
53
|
+
file.close
|
54
|
+
file
|
43
55
|
end
|
44
56
|
|
45
57
|
def gpg_decrypt_command(enc_file)
|
data/rspec-pgp_matchers.gemspec
CHANGED
@@ -29,7 +29,7 @@ Gem::Specification.new do |spec|
|
|
29
29
|
|
30
30
|
spec.add_runtime_dependency "rspec-expectations", "~> 3.4"
|
31
31
|
|
32
|
-
spec.add_development_dependency "bundler", "
|
32
|
+
spec.add_development_dependency "bundler", ">= 1.16"
|
33
33
|
spec.add_development_dependency "gpgme"
|
34
34
|
spec.add_development_dependency "pry", ">= 0.10.3", "< 0.12"
|
35
35
|
spec.add_development_dependency "rake", "~> 12.0"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-pgp_matchers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-01-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec-expectations
|
@@ -28,14 +28,14 @@ dependencies:
|
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '1.16'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.16'
|
41
41
|
- !ruby/object:Gem::Dependency
|
@@ -109,10 +109,9 @@ extra_rdoc_files: []
|
|
109
109
|
files:
|
110
110
|
- ".editorconfig"
|
111
111
|
- ".gitignore"
|
112
|
+
- ".gitmodules"
|
112
113
|
- ".hound.yml"
|
113
114
|
- ".rspec"
|
114
|
-
- ".rubocop.ribose.yml"
|
115
|
-
- ".rubocop.tb.yml"
|
116
115
|
- ".rubocop.yml"
|
117
116
|
- ".travis.yml"
|
118
117
|
- Gemfile
|
@@ -129,8 +128,6 @@ files:
|
|
129
128
|
- ci/gemfiles/rspec-3.5.gemfile
|
130
129
|
- ci/gemfiles/rspec-3.6.gemfile
|
131
130
|
- ci/gemfiles/rspec-3.7.gemfile
|
132
|
-
- ci/install_gpg_all.sh
|
133
|
-
- ci/install_gpg_component.sh
|
134
131
|
- lib/rspec/pgp_matchers.rb
|
135
132
|
- lib/rspec/pgp_matchers/be_a_pgp_encrypted_message.rb
|
136
133
|
- lib/rspec/pgp_matchers/be_a_valid_pgp_signature_of.rb
|
data/.rubocop.ribose.yml
DELETED
@@ -1,65 +0,0 @@
|
|
1
|
-
AllCops:
|
2
|
-
Include:
|
3
|
-
- "**/*.rake"
|
4
|
-
- "**/Gemfile"
|
5
|
-
- "**/*.gemfile"
|
6
|
-
- "**/Rakefile"
|
7
|
-
Exclude:
|
8
|
-
- "vendor/**/*"
|
9
|
-
- "db/**/*"
|
10
|
-
- "tmp/**/*"
|
11
|
-
DisplayCopNames: false
|
12
|
-
StyleGuideCopsOnly: false
|
13
|
-
Rails:
|
14
|
-
Enabled: true
|
15
|
-
Metrics/AbcSize:
|
16
|
-
Description: A calculated magnitude based on number of assignments, branches, and
|
17
|
-
conditions.
|
18
|
-
Enabled: true
|
19
|
-
Max: 15
|
20
|
-
Metrics/BlockLength:
|
21
|
-
Exclude:
|
22
|
-
- "spec/**/*"
|
23
|
-
Metrics/BlockNesting:
|
24
|
-
Description: Avoid excessive block nesting
|
25
|
-
StyleGuide: https://github.com/bbatsov/ruby-style-guide#three-is-the-number-thou-shalt-count
|
26
|
-
Enabled: true
|
27
|
-
Max: 3
|
28
|
-
Metrics/ClassLength:
|
29
|
-
Description: Avoid classes longer than 100 lines of code.
|
30
|
-
Enabled: false
|
31
|
-
CountComments: false
|
32
|
-
Max: 100
|
33
|
-
Metrics/CyclomaticComplexity:
|
34
|
-
Description: A complexity metric that is strongly correlated to the number of test
|
35
|
-
cases needed to validate a method.
|
36
|
-
Enabled: true
|
37
|
-
Max: 6
|
38
|
-
Metrics/LineLength:
|
39
|
-
Description: Limit lines to 80 characters.
|
40
|
-
StyleGuide: https://github.com/bbatsov/ruby-style-guide#80-character-limits
|
41
|
-
Enabled: true
|
42
|
-
Max: 80
|
43
|
-
AllowURI: true
|
44
|
-
URISchemes:
|
45
|
-
- http
|
46
|
-
- https
|
47
|
-
Metrics/MethodLength:
|
48
|
-
Description: Avoid methods longer than 10 lines of code.
|
49
|
-
StyleGuide: https://github.com/bbatsov/ruby-style-guide#short-methods
|
50
|
-
Enabled: true
|
51
|
-
CountComments: true
|
52
|
-
Max: 10
|
53
|
-
Exclude:
|
54
|
-
- "spec/**/*"
|
55
|
-
Metrics/ParameterLists:
|
56
|
-
Description: Avoid long parameter lists.
|
57
|
-
StyleGuide: https://github.com/bbatsov/ruby-style-guide#too-many-params
|
58
|
-
Enabled: true
|
59
|
-
Max: 5
|
60
|
-
CountKeywordArgs: true
|
61
|
-
Metrics/PerceivedComplexity:
|
62
|
-
Description: A complexity metric geared towards measuring complexity for a human
|
63
|
-
reader.
|
64
|
-
Enabled: true
|
65
|
-
Max: 7
|
data/.rubocop.tb.yml
DELETED
@@ -1,650 +0,0 @@
|
|
1
|
-
AllCops:
|
2
|
-
Exclude:
|
3
|
-
- db/schema.rb
|
4
|
-
|
5
|
-
Naming/AccessorMethodName:
|
6
|
-
Description: Check the naming of accessor methods for get_/set_.
|
7
|
-
Enabled: false
|
8
|
-
|
9
|
-
Style/Alias:
|
10
|
-
Description: 'Use alias_method instead of alias.'
|
11
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#alias-method'
|
12
|
-
Enabled: false
|
13
|
-
|
14
|
-
Style/ArrayJoin:
|
15
|
-
Description: 'Use Array#join instead of Array#*.'
|
16
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#array-join'
|
17
|
-
Enabled: false
|
18
|
-
|
19
|
-
Style/AsciiComments:
|
20
|
-
Description: 'Use only ascii symbols in comments.'
|
21
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-comments'
|
22
|
-
Enabled: false
|
23
|
-
|
24
|
-
Naming/AsciiIdentifiers:
|
25
|
-
Description: 'Use only ascii symbols in identifiers.'
|
26
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-identifiers'
|
27
|
-
Enabled: false
|
28
|
-
|
29
|
-
Style/Attr:
|
30
|
-
Description: 'Checks for uses of Module#attr.'
|
31
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr'
|
32
|
-
Enabled: false
|
33
|
-
|
34
|
-
Metrics/BlockNesting:
|
35
|
-
Description: 'Avoid excessive block nesting'
|
36
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#three-is-the-number-thou-shalt-count'
|
37
|
-
Enabled: false
|
38
|
-
|
39
|
-
Style/CaseEquality:
|
40
|
-
Description: 'Avoid explicit use of the case equality operator(===).'
|
41
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-case-equality'
|
42
|
-
Enabled: false
|
43
|
-
|
44
|
-
Style/CharacterLiteral:
|
45
|
-
Description: 'Checks for uses of character literals.'
|
46
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-character-literals'
|
47
|
-
Enabled: false
|
48
|
-
|
49
|
-
Style/ClassAndModuleChildren:
|
50
|
-
Description: 'Checks style of children classes and modules.'
|
51
|
-
Enabled: true
|
52
|
-
EnforcedStyle: nested
|
53
|
-
|
54
|
-
Metrics/ClassLength:
|
55
|
-
Description: 'Avoid classes longer than 100 lines of code.'
|
56
|
-
Enabled: false
|
57
|
-
|
58
|
-
Metrics/ModuleLength:
|
59
|
-
Description: 'Avoid modules longer than 100 lines of code.'
|
60
|
-
Enabled: false
|
61
|
-
|
62
|
-
Style/ClassVars:
|
63
|
-
Description: 'Avoid the use of class variables.'
|
64
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-class-vars'
|
65
|
-
Enabled: false
|
66
|
-
|
67
|
-
Style/CollectionMethods:
|
68
|
-
Enabled: true
|
69
|
-
PreferredMethods:
|
70
|
-
find: detect
|
71
|
-
inject: reduce
|
72
|
-
collect: map
|
73
|
-
find_all: select
|
74
|
-
|
75
|
-
Style/ColonMethodCall:
|
76
|
-
Description: 'Do not use :: for method call.'
|
77
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#double-colons'
|
78
|
-
Enabled: false
|
79
|
-
|
80
|
-
Style/CommentAnnotation:
|
81
|
-
Description: >-
|
82
|
-
Checks formatting of special comments
|
83
|
-
(TODO, FIXME, OPTIMIZE, HACK, REVIEW).
|
84
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#annotate-keywords'
|
85
|
-
Enabled: false
|
86
|
-
|
87
|
-
Metrics/AbcSize:
|
88
|
-
Description: >-
|
89
|
-
A calculated magnitude based on number of assignments,
|
90
|
-
branches, and conditions.
|
91
|
-
Enabled: false
|
92
|
-
|
93
|
-
Metrics/BlockLength:
|
94
|
-
CountComments: true # count full line comments?
|
95
|
-
Max: 25
|
96
|
-
ExcludedMethods: []
|
97
|
-
Exclude:
|
98
|
-
- "spec/**/*"
|
99
|
-
|
100
|
-
Metrics/CyclomaticComplexity:
|
101
|
-
Description: >-
|
102
|
-
A complexity metric that is strongly correlated to the number
|
103
|
-
of test cases needed to validate a method.
|
104
|
-
Enabled: false
|
105
|
-
|
106
|
-
Rails/Delegate:
|
107
|
-
Description: 'Prefer delegate method for delegations.'
|
108
|
-
Enabled: false
|
109
|
-
|
110
|
-
Style/PreferredHashMethods:
|
111
|
-
Description: 'Checks use of `has_key?` and `has_value?` Hash methods.'
|
112
|
-
StyleGuide: '#hash-key'
|
113
|
-
Enabled: false
|
114
|
-
|
115
|
-
Style/Documentation:
|
116
|
-
Description: 'Document classes and non-namespace modules.'
|
117
|
-
Enabled: false
|
118
|
-
|
119
|
-
Style/DoubleNegation:
|
120
|
-
Description: 'Checks for uses of double negation (!!).'
|
121
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-bang-bang'
|
122
|
-
Enabled: false
|
123
|
-
|
124
|
-
Style/EachWithObject:
|
125
|
-
Description: 'Prefer `each_with_object` over `inject` or `reduce`.'
|
126
|
-
Enabled: false
|
127
|
-
|
128
|
-
Style/EmptyLiteral:
|
129
|
-
Description: 'Prefer literals to Array.new/Hash.new/String.new.'
|
130
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#literal-array-hash'
|
131
|
-
Enabled: false
|
132
|
-
|
133
|
-
# Checks whether the source file has a utf-8 encoding comment or not
|
134
|
-
# AutoCorrectEncodingComment must match the regex
|
135
|
-
# /#.*coding\s?[:=]\s?(?:UTF|utf)-8/
|
136
|
-
Style/Encoding:
|
137
|
-
Enabled: false
|
138
|
-
|
139
|
-
Style/EvenOdd:
|
140
|
-
Description: 'Favor the use of Fixnum#even? && Fixnum#odd?'
|
141
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
|
142
|
-
Enabled: false
|
143
|
-
|
144
|
-
Naming/FileName:
|
145
|
-
Description: 'Use snake_case for source file names.'
|
146
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-files'
|
147
|
-
Enabled: false
|
148
|
-
|
149
|
-
Style/FrozenStringLiteralComment:
|
150
|
-
Description: >-
|
151
|
-
Add the frozen_string_literal comment to the top of files
|
152
|
-
to help transition from Ruby 2.3.0 to Ruby 3.0.
|
153
|
-
Enabled: false
|
154
|
-
|
155
|
-
Style/FlipFlop:
|
156
|
-
Description: 'Checks for flip flops'
|
157
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-flip-flops'
|
158
|
-
Enabled: false
|
159
|
-
|
160
|
-
Style/FormatString:
|
161
|
-
Description: 'Enforce the use of Kernel#sprintf, Kernel#format or String#%.'
|
162
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#sprintf'
|
163
|
-
Enabled: false
|
164
|
-
|
165
|
-
Style/GlobalVars:
|
166
|
-
Description: 'Do not introduce global variables.'
|
167
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#instance-vars'
|
168
|
-
Reference: 'http://www.zenspider.com/Languages/Ruby/QuickRef.html'
|
169
|
-
Enabled: false
|
170
|
-
|
171
|
-
Style/GuardClause:
|
172
|
-
Description: 'Check for conditionals that can be replaced with guard clauses'
|
173
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
|
174
|
-
Enabled: false
|
175
|
-
|
176
|
-
Style/IfUnlessModifier:
|
177
|
-
Description: >-
|
178
|
-
Favor modifier if/unless usage when you have a
|
179
|
-
single-line body.
|
180
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#if-as-a-modifier'
|
181
|
-
Enabled: false
|
182
|
-
|
183
|
-
Style/IfWithSemicolon:
|
184
|
-
Description: 'Do not use if x; .... Use the ternary operator instead.'
|
185
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-semicolon-ifs'
|
186
|
-
Enabled: false
|
187
|
-
|
188
|
-
Style/InlineComment:
|
189
|
-
Description: 'Avoid inline comments.'
|
190
|
-
Enabled: false
|
191
|
-
|
192
|
-
Style/Lambda:
|
193
|
-
Description: 'Use the new lambda literal syntax for single-line blocks.'
|
194
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#lambda-multi-line'
|
195
|
-
Enabled: false
|
196
|
-
|
197
|
-
Style/LambdaCall:
|
198
|
-
Description: 'Use lambda.call(...) instead of lambda.(...).'
|
199
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc-call'
|
200
|
-
Enabled: false
|
201
|
-
|
202
|
-
Style/LineEndConcatenation:
|
203
|
-
Description: >-
|
204
|
-
Use \ instead of + or << to concatenate two string literals at
|
205
|
-
line end.
|
206
|
-
Enabled: false
|
207
|
-
|
208
|
-
Metrics/LineLength:
|
209
|
-
Description: 'Limit lines to 80 characters.'
|
210
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#80-character-limits'
|
211
|
-
Max: 80
|
212
|
-
|
213
|
-
Metrics/MethodLength:
|
214
|
-
Description: 'Avoid methods longer than 10 lines of code.'
|
215
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#short-methods'
|
216
|
-
Enabled: false
|
217
|
-
|
218
|
-
Style/ModuleFunction:
|
219
|
-
Description: 'Checks for usage of `extend self` in modules.'
|
220
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#module-function'
|
221
|
-
Enabled: false
|
222
|
-
|
223
|
-
Style/MultilineBlockChain:
|
224
|
-
Description: 'Avoid multi-line chains of blocks.'
|
225
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks'
|
226
|
-
Enabled: false
|
227
|
-
|
228
|
-
Style/NegatedIf:
|
229
|
-
Description: >-
|
230
|
-
Favor unless over if for negative conditions
|
231
|
-
(or control flow or).
|
232
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#unless-for-negatives'
|
233
|
-
Enabled: false
|
234
|
-
|
235
|
-
Style/NegatedWhile:
|
236
|
-
Description: 'Favor until over while for negative conditions.'
|
237
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#until-for-negatives'
|
238
|
-
Enabled: false
|
239
|
-
|
240
|
-
Style/Next:
|
241
|
-
Description: 'Use `next` to skip iteration instead of a condition at the end.'
|
242
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
|
243
|
-
Enabled: false
|
244
|
-
|
245
|
-
Style/NilComparison:
|
246
|
-
Description: 'Prefer x.nil? to x == nil.'
|
247
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
|
248
|
-
Enabled: false
|
249
|
-
|
250
|
-
Style/Not:
|
251
|
-
Description: 'Use ! instead of not.'
|
252
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bang-not-not'
|
253
|
-
Enabled: false
|
254
|
-
|
255
|
-
Style/NumericLiterals:
|
256
|
-
Description: >-
|
257
|
-
Add underscores to large numeric literals to improve their
|
258
|
-
readability.
|
259
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscores-in-numerics'
|
260
|
-
Enabled: false
|
261
|
-
|
262
|
-
Style/OneLineConditional:
|
263
|
-
Description: >-
|
264
|
-
Favor the ternary operator(?:) over
|
265
|
-
if/then/else/end constructs.
|
266
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#ternary-operator'
|
267
|
-
Enabled: false
|
268
|
-
|
269
|
-
Naming/BinaryOperatorParameterName:
|
270
|
-
Description: 'When defining binary operators, name the argument other.'
|
271
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#other-arg'
|
272
|
-
Enabled: false
|
273
|
-
|
274
|
-
Metrics/ParameterLists:
|
275
|
-
Description: 'Avoid parameter lists longer than three or four parameters.'
|
276
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#too-many-params'
|
277
|
-
Enabled: false
|
278
|
-
|
279
|
-
Style/PercentLiteralDelimiters:
|
280
|
-
Description: 'Use `%`-literal delimiters consistently'
|
281
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-literal-braces'
|
282
|
-
Enabled: false
|
283
|
-
|
284
|
-
Style/PerlBackrefs:
|
285
|
-
Description: 'Avoid Perl-style regex back references.'
|
286
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers'
|
287
|
-
Enabled: false
|
288
|
-
|
289
|
-
Naming/PredicateName:
|
290
|
-
Description: 'Check the names of predicate methods.'
|
291
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark'
|
292
|
-
NamePrefixBlacklist:
|
293
|
-
- is_
|
294
|
-
Exclude:
|
295
|
-
- spec/**/*
|
296
|
-
|
297
|
-
Style/Proc:
|
298
|
-
Description: 'Use proc instead of Proc.new.'
|
299
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc'
|
300
|
-
Enabled: false
|
301
|
-
|
302
|
-
Style/RaiseArgs:
|
303
|
-
Description: 'Checks the arguments passed to raise/fail.'
|
304
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#exception-class-messages'
|
305
|
-
Enabled: false
|
306
|
-
|
307
|
-
Style/RegexpLiteral:
|
308
|
-
Description: 'Use / or %r around regular expressions.'
|
309
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-r'
|
310
|
-
Enabled: false
|
311
|
-
|
312
|
-
Style/SelfAssignment:
|
313
|
-
Description: >-
|
314
|
-
Checks for places where self-assignment shorthand should have
|
315
|
-
been used.
|
316
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#self-assignment'
|
317
|
-
Enabled: false
|
318
|
-
|
319
|
-
Style/SingleLineBlockParams:
|
320
|
-
Description: 'Enforces the names of some block params.'
|
321
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#reduce-blocks'
|
322
|
-
Enabled: false
|
323
|
-
|
324
|
-
Style/SingleLineMethods:
|
325
|
-
Description: 'Avoid single-line methods.'
|
326
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-single-line-methods'
|
327
|
-
Enabled: false
|
328
|
-
|
329
|
-
Style/SignalException:
|
330
|
-
Description: 'Checks for proper usage of fail and raise.'
|
331
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#fail-method'
|
332
|
-
Enabled: false
|
333
|
-
|
334
|
-
Style/SpecialGlobalVars:
|
335
|
-
Description: 'Avoid Perl-style global variables.'
|
336
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-cryptic-perlisms'
|
337
|
-
Enabled: false
|
338
|
-
|
339
|
-
Style/StringLiterals:
|
340
|
-
Description: 'Checks if uses of quotes match the configured preference.'
|
341
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-string-literals'
|
342
|
-
EnforcedStyle: double_quotes
|
343
|
-
Enabled: true
|
344
|
-
|
345
|
-
Style/TrailingCommaInArguments:
|
346
|
-
Description: 'Checks for trailing comma in argument lists.'
|
347
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
|
348
|
-
EnforcedStyleForMultiline: comma
|
349
|
-
SupportedStylesForMultiline:
|
350
|
-
- comma
|
351
|
-
- consistent_comma
|
352
|
-
- no_comma
|
353
|
-
Enabled: true
|
354
|
-
|
355
|
-
Style/TrailingCommaInArrayLiteral:
|
356
|
-
Description: 'Checks for trailing comma in array literals.'
|
357
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
|
358
|
-
EnforcedStyleForMultiline: comma
|
359
|
-
SupportedStylesForMultiline:
|
360
|
-
- comma
|
361
|
-
- consistent_comma
|
362
|
-
- no_comma
|
363
|
-
Enabled: true
|
364
|
-
|
365
|
-
Style/TrailingCommaInHashLiteral:
|
366
|
-
Description: 'Checks for trailing comma in hash literals.'
|
367
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
|
368
|
-
EnforcedStyleForMultiline: comma
|
369
|
-
SupportedStylesForMultiline:
|
370
|
-
- comma
|
371
|
-
- consistent_comma
|
372
|
-
- no_comma
|
373
|
-
Enabled: true
|
374
|
-
|
375
|
-
Style/TrivialAccessors:
|
376
|
-
Description: 'Prefer attr_* methods to trivial readers/writers.'
|
377
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr_family'
|
378
|
-
Enabled: false
|
379
|
-
|
380
|
-
Style/VariableInterpolation:
|
381
|
-
Description: >-
|
382
|
-
Don't interpolate global, instance and class variables
|
383
|
-
directly in strings.
|
384
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#curlies-interpolate'
|
385
|
-
Enabled: false
|
386
|
-
|
387
|
-
Style/WhenThen:
|
388
|
-
Description: 'Use when x then ... for one-line cases.'
|
389
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#one-line-cases'
|
390
|
-
Enabled: false
|
391
|
-
|
392
|
-
Style/WhileUntilModifier:
|
393
|
-
Description: >-
|
394
|
-
Favor modifier while/until usage when you have a
|
395
|
-
single-line body.
|
396
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#while-as-a-modifier'
|
397
|
-
Enabled: false
|
398
|
-
|
399
|
-
Style/WordArray:
|
400
|
-
Description: 'Use %w or %W for arrays of words.'
|
401
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-w'
|
402
|
-
Enabled: false
|
403
|
-
|
404
|
-
# Layout
|
405
|
-
|
406
|
-
Layout/AlignParameters:
|
407
|
-
Description: 'Here we check if the parameters on a multi-line method call or definition are aligned.'
|
408
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-double-indent'
|
409
|
-
Enabled: false
|
410
|
-
|
411
|
-
Layout/ConditionPosition:
|
412
|
-
Description: >-
|
413
|
-
Checks for condition placed in a confusing position relative to
|
414
|
-
the keyword.
|
415
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#same-line-condition'
|
416
|
-
Enabled: false
|
417
|
-
|
418
|
-
Layout/DotPosition:
|
419
|
-
Description: 'Checks the position of the dot in multi-line method calls.'
|
420
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains'
|
421
|
-
EnforcedStyle: trailing
|
422
|
-
|
423
|
-
Layout/ExtraSpacing:
|
424
|
-
Description: 'Do not use unnecessary spacing.'
|
425
|
-
Enabled: true
|
426
|
-
|
427
|
-
Layout/MultilineOperationIndentation:
|
428
|
-
Description: >-
|
429
|
-
Checks indentation of binary operations that span more than
|
430
|
-
one line.
|
431
|
-
Enabled: true
|
432
|
-
EnforcedStyle: indented
|
433
|
-
|
434
|
-
Layout/MultilineMethodCallIndentation:
|
435
|
-
Description: >-
|
436
|
-
Checks indentation of method calls with the dot operator
|
437
|
-
that span more than one line.
|
438
|
-
Enabled: true
|
439
|
-
EnforcedStyle: indented
|
440
|
-
|
441
|
-
Layout/InitialIndentation:
|
442
|
-
Description: >-
|
443
|
-
Checks the indentation of the first non-blank non-comment line in a file.
|
444
|
-
Enabled: false
|
445
|
-
|
446
|
-
# Lint
|
447
|
-
|
448
|
-
Lint/AmbiguousOperator:
|
449
|
-
Description: >-
|
450
|
-
Checks for ambiguous operators in the first argument of a
|
451
|
-
method invocation without parentheses.
|
452
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-as-args'
|
453
|
-
Enabled: false
|
454
|
-
|
455
|
-
Lint/AmbiguousRegexpLiteral:
|
456
|
-
Description: >-
|
457
|
-
Checks for ambiguous regexp literals in the first argument of
|
458
|
-
a method invocation without parenthesis.
|
459
|
-
Enabled: false
|
460
|
-
|
461
|
-
Lint/AssignmentInCondition:
|
462
|
-
Description: "Don't use assignment in conditions."
|
463
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition'
|
464
|
-
Enabled: false
|
465
|
-
|
466
|
-
Lint/CircularArgumentReference:
|
467
|
-
Description: "Don't refer to the keyword argument in the default value."
|
468
|
-
Enabled: false
|
469
|
-
|
470
|
-
Lint/DeprecatedClassMethods:
|
471
|
-
Description: 'Check for deprecated class method calls.'
|
472
|
-
Enabled: false
|
473
|
-
|
474
|
-
Lint/DuplicatedKey:
|
475
|
-
Description: 'Check for duplicate keys in hash literals.'
|
476
|
-
Enabled: false
|
477
|
-
|
478
|
-
Lint/EachWithObjectArgument:
|
479
|
-
Description: 'Check for immutable argument given to each_with_object.'
|
480
|
-
Enabled: false
|
481
|
-
|
482
|
-
Lint/ElseLayout:
|
483
|
-
Description: 'Check for odd code arrangement in an else block.'
|
484
|
-
Enabled: false
|
485
|
-
|
486
|
-
Lint/FormatParameterMismatch:
|
487
|
-
Description: 'The number of parameters to format/sprint must match the fields.'
|
488
|
-
Enabled: false
|
489
|
-
|
490
|
-
Lint/HandleExceptions:
|
491
|
-
Description: "Don't suppress exception."
|
492
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions'
|
493
|
-
Enabled: false
|
494
|
-
|
495
|
-
Lint/LiteralAsCondition:
|
496
|
-
Description: 'Checks of literals used in conditions.'
|
497
|
-
Enabled: false
|
498
|
-
|
499
|
-
Lint/LiteralInInterpolation:
|
500
|
-
Description: 'Checks for literals used in interpolation.'
|
501
|
-
Enabled: false
|
502
|
-
|
503
|
-
Lint/Loop:
|
504
|
-
Description: >-
|
505
|
-
Use Kernel#loop with break rather than begin/end/until or
|
506
|
-
begin/end/while for post-loop tests.
|
507
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#loop-with-break'
|
508
|
-
Enabled: false
|
509
|
-
|
510
|
-
Lint/NestedMethodDefinition:
|
511
|
-
Description: 'Do not use nested method definitions.'
|
512
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-methods'
|
513
|
-
Enabled: false
|
514
|
-
|
515
|
-
Lint/NonLocalExitFromIterator:
|
516
|
-
Description: 'Do not use return in iterator to cause non-local exit.'
|
517
|
-
Enabled: false
|
518
|
-
|
519
|
-
Lint/ParenthesesAsGroupedExpression:
|
520
|
-
Description: >-
|
521
|
-
Checks for method calls with a space before the opening
|
522
|
-
parenthesis.
|
523
|
-
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-no-spaces'
|
524
|
-
Enabled: false
|
525
|
-
|
526
|
-
Lint/RequireParentheses:
|
527
|
-
Description: >-
|
528
|
-
Use parentheses in the method call to avoid confusion
|
529
|
-
about precedence.
|
530
|
-
Enabled: false
|
531
|
-
|
532
|
-
Lint/UnderscorePrefixedVariableName:
|
533
|
-
Description: 'Do not use prefix `_` for a variable that is used.'
|
534
|
-
Enabled: false
|
535
|
-
|
536
|
-
Lint/UnneededCopDisableDirective:
|
537
|
-
Description: >-
|
538
|
-
Checks for rubocop:disable comments that can be removed.
|
539
|
-
Note: this cop is not disabled when disabling all cops.
|
540
|
-
It must be explicitly disabled.
|
541
|
-
Enabled: false
|
542
|
-
|
543
|
-
Lint/Void:
|
544
|
-
Description: 'Possible use of operator/literal/variable in void context.'
|
545
|
-
Enabled: false
|
546
|
-
|
547
|
-
# Performance
|
548
|
-
|
549
|
-
Performance/CaseWhenSplat:
|
550
|
-
Description: >-
|
551
|
-
Place `when` conditions that use splat at the end
|
552
|
-
of the list of `when` branches.
|
553
|
-
Enabled: false
|
554
|
-
|
555
|
-
Performance/Count:
|
556
|
-
Description: >-
|
557
|
-
Use `count` instead of `select...size`, `reject...size`,
|
558
|
-
`select...count`, `reject...count`, `select...length`,
|
559
|
-
and `reject...length`.
|
560
|
-
Enabled: false
|
561
|
-
|
562
|
-
Performance/Detect:
|
563
|
-
Description: >-
|
564
|
-
Use `detect` instead of `select.first`, `find_all.first`,
|
565
|
-
`select.last`, and `find_all.last`.
|
566
|
-
Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerabledetect-vs-enumerableselectfirst-code'
|
567
|
-
Enabled: false
|
568
|
-
|
569
|
-
Performance/FlatMap:
|
570
|
-
Description: >-
|
571
|
-
Use `Enumerable#flat_map`
|
572
|
-
instead of `Enumerable#map...Array#flatten(1)`
|
573
|
-
or `Enumberable#collect..Array#flatten(1)`
|
574
|
-
Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablemaparrayflatten-vs-enumerableflat_map-code'
|
575
|
-
Enabled: false
|
576
|
-
|
577
|
-
Performance/ReverseEach:
|
578
|
-
Description: 'Use `reverse_each` instead of `reverse.each`.'
|
579
|
-
Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablereverseeach-vs-enumerablereverse_each-code'
|
580
|
-
Enabled: false
|
581
|
-
|
582
|
-
Performance/Sample:
|
583
|
-
Description: >-
|
584
|
-
Use `sample` instead of `shuffle.first`,
|
585
|
-
`shuffle.last`, and `shuffle[Fixnum]`.
|
586
|
-
Reference: 'https://github.com/JuanitoFatas/fast-ruby#arrayshufflefirst-vs-arraysample-code'
|
587
|
-
Enabled: false
|
588
|
-
|
589
|
-
Performance/Size:
|
590
|
-
Description: >-
|
591
|
-
Use `size` instead of `count` for counting
|
592
|
-
the number of elements in `Array` and `Hash`.
|
593
|
-
Reference: 'https://github.com/JuanitoFatas/fast-ruby#arraycount-vs-arraysize-code'
|
594
|
-
Enabled: false
|
595
|
-
|
596
|
-
Performance/StringReplacement:
|
597
|
-
Description: >-
|
598
|
-
Use `tr` instead of `gsub` when you are replacing the same
|
599
|
-
number of characters. Use `delete` instead of `gsub` when
|
600
|
-
you are deleting characters.
|
601
|
-
Reference: 'https://github.com/JuanitoFatas/fast-ruby#stringgsub-vs-stringtr-code'
|
602
|
-
Enabled: false
|
603
|
-
|
604
|
-
# Rails
|
605
|
-
|
606
|
-
Rails/ActionFilter:
|
607
|
-
Description: 'Enforces consistent use of action filter methods.'
|
608
|
-
Enabled: false
|
609
|
-
|
610
|
-
Rails/Date:
|
611
|
-
Description: >-
|
612
|
-
Checks the correct usage of date aware methods,
|
613
|
-
such as Date.today, Date.current etc.
|
614
|
-
Enabled: false
|
615
|
-
|
616
|
-
Rails/FindBy:
|
617
|
-
Description: 'Prefer find_by over where.first.'
|
618
|
-
Enabled: false
|
619
|
-
|
620
|
-
Rails/FindEach:
|
621
|
-
Description: 'Prefer all.find_each over all.find.'
|
622
|
-
Enabled: false
|
623
|
-
|
624
|
-
Rails/HasAndBelongsToMany:
|
625
|
-
Description: 'Prefer has_many :through to has_and_belongs_to_many.'
|
626
|
-
Enabled: false
|
627
|
-
|
628
|
-
Rails/Output:
|
629
|
-
Description: 'Checks for calls to puts, print, etc.'
|
630
|
-
Enabled: false
|
631
|
-
|
632
|
-
Rails/ReadWriteAttribute:
|
633
|
-
Description: >-
|
634
|
-
Checks for read_attribute(:attr) and
|
635
|
-
write_attribute(:attr, val).
|
636
|
-
Enabled: false
|
637
|
-
|
638
|
-
Rails/ScopeArgs:
|
639
|
-
Description: 'Checks the arguments of ActiveRecord scopes.'
|
640
|
-
Enabled: false
|
641
|
-
|
642
|
-
Rails/TimeZone:
|
643
|
-
Description: 'Checks the correct usage of time zone aware methods.'
|
644
|
-
StyleGuide: 'https://github.com/bbatsov/rails-style-guide#time'
|
645
|
-
Reference: 'http://danilenko.org/2012/7/6/rails_timezones'
|
646
|
-
Enabled: false
|
647
|
-
|
648
|
-
Rails/Validation:
|
649
|
-
Description: 'Use validates :attribute, hash of validations.'
|
650
|
-
Enabled: false
|
data/ci/install_gpg_all.sh
DELETED
@@ -1,137 +0,0 @@
|
|
1
|
-
#!/bin/bash
|
2
|
-
|
3
|
-
# Popular combinations of GPG software versions.
|
4
|
-
#
|
5
|
-
# For v2.2: https://gist.github.com/vt0r/a2f8c0bcb1400131ff51
|
6
|
-
# For v2.1: https://gist.github.com/mattrude/3883a3801613b048d45b
|
7
|
-
#
|
8
|
-
# USAGE:
|
9
|
-
# ./install_gpg_all.sh <version> [<options>]
|
10
|
-
#
|
11
|
-
# EXAMPLE
|
12
|
-
# ./install_gpg_all.sh 2.2
|
13
|
-
|
14
|
-
set -e
|
15
|
-
|
16
|
-
readonly __progname=$(basename $0)
|
17
|
-
|
18
|
-
errx() {
|
19
|
-
echo -e "$__progname: $@" >&2
|
20
|
-
exit 1
|
21
|
-
}
|
22
|
-
|
23
|
-
usage() {
|
24
|
-
echo "usage: $__progname [-t <TEMP_BUILD_DIR>] [-i <GPG_VERSION>] [-d]"
|
25
|
-
echo ""
|
26
|
-
echo " Options:"
|
27
|
-
echo " -d for dry run, not building GPG components."
|
28
|
-
echo " -i to select the GPG version to install [major.minor], defaults to `latest`."
|
29
|
-
echo " - `latest`: latest version of GnuPG."
|
30
|
-
echo " - `x.y`: specific version x.y of GnuPG, e.g. `2.2`."
|
31
|
-
echo " - `master`: build from GnuPG git master branch."
|
32
|
-
echo " -h to display this message"
|
33
|
-
echo ""
|
34
|
-
echo " Arguments can also be set via environment variables: "
|
35
|
-
echo " - TEMP_BUILD_DIR"
|
36
|
-
echo " - GPG_VERSION"
|
37
|
-
exit 1
|
38
|
-
}
|
39
|
-
|
40
|
-
prequisites_yum() {
|
41
|
-
yum install -y bzip2 gcc make sudo
|
42
|
-
}
|
43
|
-
|
44
|
-
detect_platform() {
|
45
|
-
# Determine OS platform
|
46
|
-
DISTRO=$(awk -F= '/^NAME/{print $2}' /etc/os-release | tr -d \")
|
47
|
-
echo "$DISTRO"
|
48
|
-
}
|
49
|
-
|
50
|
-
main() {
|
51
|
-
|
52
|
-
while getopts ":t:idh" o; do
|
53
|
-
case "${o}" in
|
54
|
-
t)
|
55
|
-
readonly local TEMP_BUILD_DIR=1
|
56
|
-
;;
|
57
|
-
i)
|
58
|
-
readonly local GPG_VERSION=${OPTARG}
|
59
|
-
;;
|
60
|
-
d)
|
61
|
-
readonly local DRYRUN=1
|
62
|
-
;;
|
63
|
-
h)
|
64
|
-
usage
|
65
|
-
;;
|
66
|
-
*)
|
67
|
-
usage
|
68
|
-
;;
|
69
|
-
esac
|
70
|
-
done
|
71
|
-
|
72
|
-
if [ "x$GPG_VERSION" == "x" ]; then
|
73
|
-
GPG_VERSION="latest"
|
74
|
-
fi
|
75
|
-
|
76
|
-
[[ ! "$TEMP_BUILD_DIR" ]] && \
|
77
|
-
TEMP_BUILD_DIR="$(mktemp -d)"
|
78
|
-
|
79
|
-
DISTRO="$(detect_platform)"
|
80
|
-
|
81
|
-
case $DISTRO in
|
82
|
-
"CentOS Linux")
|
83
|
-
echo "Installing CentOS yum dependencies"
|
84
|
-
prequisites_yum
|
85
|
-
;;
|
86
|
-
esac
|
87
|
-
|
88
|
-
case "$GPG_VERSION" in
|
89
|
-
"2.2")
|
90
|
-
./install_gpg_component.sh --component libgpg-error --version 1.31 --build-dir "$TEMP_BUILD_DIR" "${@:2}"
|
91
|
-
./install_gpg_component.sh --component libgcrypt --version 1.8.2 --build-dir "$TEMP_BUILD_DIR" "${@:2}"
|
92
|
-
./install_gpg_component.sh --component libassuan --version 2.5.1 --build-dir "$TEMP_BUILD_DIR" "${@:2}"
|
93
|
-
./install_gpg_component.sh --component libksba --version 1.3.5 --build-dir "$TEMP_BUILD_DIR" "${@:2}"
|
94
|
-
./install_gpg_component.sh --component npth --version 1.5 --build-dir "$TEMP_BUILD_DIR" "${@:2}"
|
95
|
-
./install_gpg_component.sh --component pinentry --version 1.1.0 --build-dir "$TEMP_BUILD_DIR" "${@:2}"
|
96
|
-
./install_gpg_component.sh --component gnupg --version 2.2.7 --build-dir "$TEMP_BUILD_DIR" "${@:2}"
|
97
|
-
;;
|
98
|
-
"2.1")
|
99
|
-
./install_gpg_component.sh --component libgpg-error --version 1.27 --build-dir "$TEMP_BUILD_DIR" "${@:2}"
|
100
|
-
./install_gpg_component.sh --component libgcrypt --version 1.7.6 --build-dir "$TEMP_BUILD_DIR" "${@:2}"
|
101
|
-
./install_gpg_component.sh --component libassuan --version 2.4.3 --build-dir "$TEMP_BUILD_DIR" "${@:2}"
|
102
|
-
./install_gpg_component.sh --component libksba --version 1.3.5 --build-dir "$TEMP_BUILD_DIR" "${@:2}"
|
103
|
-
./install_gpg_component.sh --component npth --version 1.2 --build-dir "$TEMP_BUILD_DIR" "${@:2}"
|
104
|
-
./install_gpg_component.sh --component pinentry --version 0.9.5 --build-dir "$TEMP_BUILD_DIR" "${@:2}"
|
105
|
-
./install_gpg_component.sh --component gnupg --version 2.1.20 --build-dir "$TEMP_BUILD_DIR" "${@:2}"
|
106
|
-
;;
|
107
|
-
"latest")
|
108
|
-
./install_gpg_component.sh --component libgpg-error --version latest --build-dir "$TEMP_BUILD_DIR" "${@:2}"
|
109
|
-
./install_gpg_component.sh --component libgcrypt --version latest --build-dir "$TEMP_BUILD_DIR" "${@:2}"
|
110
|
-
./install_gpg_component.sh --component libassuan --version latest --build-dir "$TEMP_BUILD_DIR" "${@:2}"
|
111
|
-
./install_gpg_component.sh --component libksba --version latest --build-dir "$TEMP_BUILD_DIR" "${@:2}"
|
112
|
-
./install_gpg_component.sh --component npth --version latest --build-dir "$TEMP_BUILD_DIR" "${@:2}"
|
113
|
-
./install_gpg_component.sh --component pinentry --version latest --build-dir "$TEMP_BUILD_DIR" "${@:2}"
|
114
|
-
./install_gpg_component.sh --component gnupg --version latest --build-dir "$TEMP_BUILD_DIR" "${@:2}"
|
115
|
-
;;
|
116
|
-
"master")
|
117
|
-
./install_gpg_component.sh --component libgpg-error --version master --git --build-dir "$TEMP_BUILD_DIR" "${@:2}"
|
118
|
-
./install_gpg_component.sh --component libgcrypt --version master --git --build-dir "$TEMP_BUILD_DIR" "${@:2}"
|
119
|
-
./install_gpg_component.sh --component libassuan --version master --git --build-dir "$TEMP_BUILD_DIR" "${@:2}"
|
120
|
-
./install_gpg_component.sh --component libksba --version master --git --build-dir "$TEMP_BUILD_DIR" "${@:2}"
|
121
|
-
./install_gpg_component.sh --component npth --version master --git --build-dir "$TEMP_BUILD_DIR" "${@:2}"
|
122
|
-
./install_gpg_component.sh --component pinentry --version master --git --build-dir "$TEMP_BUILD_DIR" "${@:2}"
|
123
|
-
./install_gpg_component.sh --component gnupg --version master --git --build-dir "$TEMP_BUILD_DIR" "${@:2}"
|
124
|
-
;;
|
125
|
-
esac
|
126
|
-
|
127
|
-
cat <<DONE
|
128
|
-
+-------------------+
|
129
|
-
| INSTALL COMPLETE! |
|
130
|
-
+-------------------+
|
131
|
-
DONE
|
132
|
-
|
133
|
-
}
|
134
|
-
|
135
|
-
main "$@"
|
136
|
-
|
137
|
-
exit 0
|
data/ci/install_gpg_component.sh
DELETED
@@ -1,301 +0,0 @@
|
|
1
|
-
#!/usr/bin/env bash
|
2
|
-
#
|
3
|
-
|
4
|
-
######################
|
5
|
-
# ARGUMENTS HANDLING #
|
6
|
-
######################
|
7
|
-
|
8
|
-
print_help ()
|
9
|
-
{
|
10
|
-
cat <<HELP
|
11
|
-
USAGE
|
12
|
-
|
13
|
-
install_gpg_component.rb <options>
|
14
|
-
|
15
|
-
EXAMPLES
|
16
|
-
|
17
|
-
# Installing latest version of libgpg-error
|
18
|
-
install_gpg_component.rb --component libgpg-error --version latest
|
19
|
-
|
20
|
-
# Installing latest version of libgpg-error with sudo
|
21
|
-
install_gpg_component.rb --component libgpg-error --version latest --sudo
|
22
|
-
|
23
|
-
# Installing latest git revision of libgpg-error
|
24
|
-
install_gpg_component.rb --component libgpg-error --version master --git
|
25
|
-
|
26
|
-
# Passing options to ./configure script
|
27
|
-
install_gpg_component.rb --component libgpg-error --version latest --configure-opts "--disable-doc --exec-prefix=/my/bin"
|
28
|
-
|
29
|
-
OPTIONS
|
30
|
-
|
31
|
-
--component COMPONENT
|
32
|
-
Component to install
|
33
|
-
|
34
|
-
--version VERSION
|
35
|
-
Component version to install (use "latest" for the latest release),
|
36
|
-
or git ref (branch, tag, commit hash etc.) when used with "--git"
|
37
|
-
option (typically "master").
|
38
|
-
|
39
|
-
--[no-]git
|
40
|
-
Fetch source code from git repository instead of downloading release,
|
41
|
-
pass branch or tag name to --version argument. By default it is off.
|
42
|
-
|
43
|
-
--[no-]sudo
|
44
|
-
Whether to do 'sudo make install', or just 'make install'.
|
45
|
-
Doesn't affect post install steps, which may require sudo. By default
|
46
|
-
it is off.
|
47
|
-
|
48
|
-
--configure-opts OPTS
|
49
|
-
Options to be passed to "./configure" script.
|
50
|
-
|
51
|
-
--build-dir DIR
|
52
|
-
Directory in which the compilation will happen. Content may be
|
53
|
-
overwritten during build. Directory will be created if non-existent.
|
54
|
-
|
55
|
-
--folding-style STYLE
|
56
|
-
If set, enables output folding. STYLE defines the folding notation
|
57
|
-
used. Following STYLE values are recognized:
|
58
|
-
|
59
|
-
"none"
|
60
|
-
Disable folding. This is default.
|
61
|
-
|
62
|
-
"travis"
|
63
|
-
Fold output for Travis CI builds. See this example Travis job:
|
64
|
-
https://api.travis-ci.org/v3/job/15440998/log.txt
|
65
|
-
|
66
|
-
--help, -h
|
67
|
-
Displays this message
|
68
|
-
|
69
|
-
HELP
|
70
|
-
}
|
71
|
-
|
72
|
-
set_default_options()
|
73
|
-
{
|
74
|
-
_arg_build_dir=
|
75
|
-
_arg_configure_opts=
|
76
|
-
_arg_sudo="off"
|
77
|
-
_arg_git="off"
|
78
|
-
_arg_color="off"
|
79
|
-
_arg_folding_style="none"
|
80
|
-
}
|
81
|
-
|
82
|
-
parse_cli_arguments()
|
83
|
-
{
|
84
|
-
while test $# -gt 0
|
85
|
-
do
|
86
|
-
case "$1" in
|
87
|
-
--component)
|
88
|
-
_arg_component="$2"
|
89
|
-
shift
|
90
|
-
shift
|
91
|
-
;;
|
92
|
-
--version)
|
93
|
-
_arg_version="$2"
|
94
|
-
shift
|
95
|
-
shift
|
96
|
-
;;
|
97
|
-
--build-dir)
|
98
|
-
_arg_build_dir="$2"
|
99
|
-
shift
|
100
|
-
shift
|
101
|
-
;;
|
102
|
-
--configure-opts)
|
103
|
-
_arg_configure_opts="$2"
|
104
|
-
shift
|
105
|
-
shift
|
106
|
-
;;
|
107
|
-
--sudo)
|
108
|
-
_arg_sudo="on"
|
109
|
-
shift
|
110
|
-
;;
|
111
|
-
--no-sudo)
|
112
|
-
_arg_sudo="off"
|
113
|
-
shift
|
114
|
-
;;
|
115
|
-
--git)
|
116
|
-
_arg_git="on"
|
117
|
-
shift
|
118
|
-
;;
|
119
|
-
--no-git)
|
120
|
-
_arg_git="off"
|
121
|
-
shift
|
122
|
-
;;
|
123
|
-
--folding-style)
|
124
|
-
_arg_folding_style="$2"
|
125
|
-
shift
|
126
|
-
shift
|
127
|
-
;;
|
128
|
-
-h|--help)
|
129
|
-
print_help
|
130
|
-
exit 0
|
131
|
-
;;
|
132
|
-
*)
|
133
|
-
echo "Unrecognized option: $1, exiting."
|
134
|
-
exit 1
|
135
|
-
esac
|
136
|
-
done
|
137
|
-
}
|
138
|
-
|
139
|
-
######################
|
140
|
-
# BUILDING #
|
141
|
-
######################
|
142
|
-
|
143
|
-
display_config()
|
144
|
-
{
|
145
|
-
cat <<CONFIG
|
146
|
-
component: "${_arg_component}"
|
147
|
-
version: "${_arg_version}"
|
148
|
-
git: "${_arg_git}"
|
149
|
-
sudo: "${_arg_sudo}"
|
150
|
-
build_dir: "${_arg_build_dir}"
|
151
|
-
configure_options: "${_arg_configure_opts}"
|
152
|
-
|
153
|
-
CONFIG
|
154
|
-
}
|
155
|
-
|
156
|
-
# Consults https://versions.gnupg.org/swdb.lst and assigns the most recent
|
157
|
-
# version of component ${_arg_component} to ${_arg_version} variable.
|
158
|
-
determine_latest_version()
|
159
|
-
{
|
160
|
-
fold_start "component.${_arg_component}.detect-latest"
|
161
|
-
local _component_underscored=`echo "${_arg_component}" | tr - _`
|
162
|
-
_arg_version=`curl "https://versions.gnupg.org/swdb.lst" | grep "_ver" | grep -v "w32" | sort --reverse | grep "${_component_underscored}" | head -n 1 | cut -d " " -f 2`
|
163
|
-
echo "The latest version of ${_arg_component} is ${_arg_version}."
|
164
|
-
fold_end "component.${_arg_component}.fetch"
|
165
|
-
}
|
166
|
-
|
167
|
-
fetch_source()
|
168
|
-
{
|
169
|
-
fold_start "component.${_arg_component}.fetch"
|
170
|
-
if [[ "${_arg_git}" = "on" ]]; then
|
171
|
-
fetch_from_git
|
172
|
-
else
|
173
|
-
fetch_release
|
174
|
-
fi
|
175
|
-
fold_end "component.${_arg_component}.fetch"
|
176
|
-
}
|
177
|
-
|
178
|
-
fetch_release()
|
179
|
-
{
|
180
|
-
local _tarball_file_name="${_arg_component}-${_arg_version}.tar.bz2"
|
181
|
-
local _tarball_url="https://gnupg.org/ftp/gcrypt/${_arg_component}/${_tarball_file_name}"
|
182
|
-
curl ${_tarball_url} --remote-name --retry 5
|
183
|
-
tar -xjf ${_tarball_file_name}
|
184
|
-
rm ${_tarball_file_name}
|
185
|
-
set_component_build_dir "${_arg_component}-${_arg_version}"
|
186
|
-
}
|
187
|
-
|
188
|
-
fetch_from_git()
|
189
|
-
{
|
190
|
-
local _git_url="git://git.gnupg.org/${_arg_component}"
|
191
|
-
set_component_build_dir "${_arg_component}-git-${_arg_version}"
|
192
|
-
|
193
|
-
if [ ! -d "${_component_build_dir}" ]; then
|
194
|
-
git clone ${_git_url} "${_component_build_dir}"
|
195
|
-
else
|
196
|
-
pushd "${_component_build_dir}"
|
197
|
-
git fetch # need to fetch prior checkout, ref may be nonexistent locally
|
198
|
-
popd
|
199
|
-
fi
|
200
|
-
|
201
|
-
pushd "${_component_build_dir}"
|
202
|
-
git checkout ${_arg_version}
|
203
|
-
git pull # in case of outdated local branch
|
204
|
-
popd
|
205
|
-
}
|
206
|
-
|
207
|
-
build_and_install()
|
208
|
-
{
|
209
|
-
pushd "${_component_build_dir}"
|
210
|
-
if [ ! -f configure ]; then
|
211
|
-
fold_start "component.${_arg_component}.autogen"
|
212
|
-
./autogen.sh
|
213
|
-
fold_end "component.${_arg_component}.autogen"
|
214
|
-
fi
|
215
|
-
fold_start "component.${_arg_component}.configure"
|
216
|
-
./configure ${_arg_configure_opts}
|
217
|
-
fold_end "component.${_arg_component}.configure"
|
218
|
-
fold_start "component.${_arg_component}.build"
|
219
|
-
make > /dev/null
|
220
|
-
fold_end "component.${_arg_component}.build"
|
221
|
-
fold_start "component.${_arg_component}.install"
|
222
|
-
sudo make install > /dev/null
|
223
|
-
fold_end "component.${_arg_component}.install"
|
224
|
-
popd
|
225
|
-
}
|
226
|
-
|
227
|
-
set_component_build_dir()
|
228
|
-
{
|
229
|
-
_component_build_dir=$1
|
230
|
-
}
|
231
|
-
|
232
|
-
header()
|
233
|
-
{
|
234
|
-
echo ""
|
235
|
-
echo ""
|
236
|
-
echo "=== $1 ==="
|
237
|
-
echo ""
|
238
|
-
echo ""
|
239
|
-
}
|
240
|
-
|
241
|
-
######################
|
242
|
-
# PRETTY OUTPUT #
|
243
|
-
######################
|
244
|
-
|
245
|
-
fold_start()
|
246
|
-
{
|
247
|
-
case "${_arg_folding_style}" in
|
248
|
-
travis)
|
249
|
-
echo "travis_fold:start:$1"
|
250
|
-
;;
|
251
|
-
*)
|
252
|
-
;;
|
253
|
-
esac
|
254
|
-
}
|
255
|
-
|
256
|
-
fold_end()
|
257
|
-
{
|
258
|
-
case "${_arg_folding_style}" in
|
259
|
-
travis)
|
260
|
-
echo "travis_fold:end:$1"
|
261
|
-
;;
|
262
|
-
*)
|
263
|
-
;;
|
264
|
-
esac
|
265
|
-
}
|
266
|
-
|
267
|
-
######################
|
268
|
-
# MAIN #
|
269
|
-
######################
|
270
|
-
|
271
|
-
set -e # Early exit if any command returns non-zero status code
|
272
|
-
|
273
|
-
set_default_options
|
274
|
-
parse_cli_arguments "$@"
|
275
|
-
|
276
|
-
fold_start "component.${_arg_component}"
|
277
|
-
|
278
|
-
header "Installing ${_arg_component} / ${_arg_version}"
|
279
|
-
|
280
|
-
display_config
|
281
|
-
|
282
|
-
# set -x # From now, print every command to STDOUT
|
283
|
-
|
284
|
-
if [[ "${_arg_version}" =~ ^latest ]]; then
|
285
|
-
determine_latest_version
|
286
|
-
fi
|
287
|
-
|
288
|
-
mkdir -p ${_arg_build_dir}
|
289
|
-
pushd ${_arg_build_dir}
|
290
|
-
fetch_source
|
291
|
-
build_and_install
|
292
|
-
popd # _arg_build_dir
|
293
|
-
|
294
|
-
if [[ "${_arg_component}" =~ ^gnupg ]]; then
|
295
|
-
fold_start "component.${_arg_component}.post-install"
|
296
|
-
sudo tee -a /etc/ld.so.conf.d/gpg2.conf <<<"/usr/local/lib"
|
297
|
-
sudo ldconfig -v
|
298
|
-
fold_end "component.${_arg_component}.post-install"
|
299
|
-
fi
|
300
|
-
|
301
|
-
fold_end "component.${_arg_component}"
|