minitar 0.8 → 0.12

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.
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require 'minitar'
4
- require 'minitest_helper'
3
+ require "minitar"
4
+ require "minitest_helper"
5
5
 
6
6
  class TestTarWriter < Minitest::Test
7
7
  include Archive::Tar::Minitar::ByteSize
@@ -21,15 +21,15 @@ class TestTarWriter < Minitest::Test
21
21
  end
22
22
 
23
23
  def reset
24
- @data = ''
25
- @data.force_encoding('ascii-8bit') if @data.respond_to?(:force_encoding)
24
+ @data = ""
25
+ @data.force_encoding("ascii-8bit") if @data.respond_to?(:force_encoding)
26
26
  end
27
27
  end
28
28
 
29
29
  def setup
30
- @data = 'a' * 10
30
+ @data = "a" * 10
31
31
  @unicode = [0xc3.chr, 0xa5.chr].join * 10
32
- @unicode.force_encoding('utf-8') if @unicode.respond_to?(:force_encoding)
32
+ @unicode.force_encoding("utf-8") if @unicode.respond_to?(:force_encoding)
33
33
  @dummyos = DummyIO.new
34
34
  @os = Minitar::Writer.new(@dummyos)
35
35
  end
@@ -46,63 +46,61 @@ class TestTarWriter < Minitest::Test
46
46
  assert writer.closed?
47
47
  end
48
48
 
49
-
50
49
  def test_add_file_simple
51
50
  @dummyos.reset
52
51
 
53
52
  Minitar::Writer.open(@dummyos) do |os|
54
- os.add_file_simple('lib/foo/bar', :mode => 0o644, :size => 10) do |f|
55
- f.write 'a' * 10
53
+ os.add_file_simple("lib/foo/bar", :mode => 0o644, :size => 10) do |f|
54
+ f.write "a" * 10
56
55
  end
57
- os.add_file_simple('lib/bar/baz', :mode => 0o644, :size => 100) do |f|
58
- f.write 'fillme'
56
+ os.add_file_simple("lib/bar/baz", :mode => 0o644, :size => 100) do |f|
57
+ f.write "fillme"
59
58
  end
60
59
  end
61
60
 
62
- assert_headers_equal(tar_file_header('lib/foo/bar', '', 0o644, 10),
61
+ assert_headers_equal(tar_file_header("lib/foo/bar", "", 0o644, 10),
63
62
  @dummyos.data[0, 512])
64
- assert_equal('a' * 10 + "\0" * 502, @dummyos.data[512, 512])
65
- assert_headers_equal(tar_file_header('lib/bar/baz', '', 0o644, 100),
63
+ assert_equal("a" * 10 + "\0" * 502, @dummyos.data[512, 512])
64
+ assert_headers_equal(tar_file_header("lib/bar/baz", "", 0o644, 100),
66
65
  @dummyos.data[512 * 2, 512])
67
- assert_equal('fillme' + "\0" * 506, @dummyos.data[512 * 3, 512])
66
+ assert_equal("fillme" + "\0" * 506, @dummyos.data[512 * 3, 512])
68
67
  assert_equal("\0" * 512, @dummyos.data[512 * 4, 512])
69
68
  assert_equal("\0" * 512, @dummyos.data[512 * 5, 512])
70
69
  end
71
70
 
72
71
  def test_write_operations_fail_after_closed
73
72
  @dummyos.reset
74
- @os.add_file_simple('sadd', :mode => 0o644, :size => 20) { |f| }
73
+ @os.add_file_simple("sadd", :mode => 0o644, :size => 20) { |f| }
75
74
  @os.close
76
75
  assert_raises(Minitar::ClosedStream) { @os.flush }
77
- assert_raises(Minitar::ClosedStream) {
78
- @os.add_file('dfdsf', :mode => 0o644) {}
79
- }
80
- assert_raises(Minitar::ClosedStream) { @os.mkdir 'sdfdsf', :mode => 0o644 }
76
+ assert_raises(Minitar::ClosedStream) { @os.add_file("dfdsf", :mode => 0o644) {} }
77
+ assert_raises(Minitar::ClosedStream) { @os.mkdir "sdfdsf", :mode => 0o644 }
78
+ assert_raises(Minitar::ClosedStream) { @os.symlink "a", "b", :mode => 0o644 }
81
79
  end
82
80
 
83
81
  def test_file_name_is_split_correctly
84
82
  # test insane file lengths, and: a{100}/b{155}, etc
85
83
  @dummyos.reset
86
84
  names = [
87
- "#{'a' * 155}/#{'b' * 100}",
88
- "#{'a' * 151}/#{'qwer/' * 19}bla",
89
- "/#{'a' * 49}/#{'b' * 50}",
90
- "#{'a' * 49}/#{'b' * 50}x",
91
- "#{'a' * 49}x/#{'b' * 50}"
85
+ "#{"a" * 155}/#{"b" * 100}",
86
+ "#{"a" * 151}/#{"qwer/" * 19}bla",
87
+ "/#{"a" * 49}/#{"b" * 50}",
88
+ "#{"a" * 49}/#{"b" * 50}x",
89
+ "#{"a" * 49}x/#{"b" * 50}"
92
90
  ]
93
91
  o_names = [
94
- 'b' * 100,
95
- "#{'qwer/' * 19}bla",
96
- 'b' * 50,
97
- "#{'b' * 50}x",
98
- 'b' * 50
92
+ "b" * 100,
93
+ "#{"qwer/" * 19}bla",
94
+ "b" * 50,
95
+ "#{"b" * 50}x",
96
+ "b" * 50
99
97
  ]
100
98
  o_prefixes = [
101
- 'a' * 155,
102
- 'a' * 151,
103
- "/#{'a' * 49}",
104
- 'a' * 49,
105
- "#{'a' * 49}x"
99
+ "a" * 155,
100
+ "a" * 151,
101
+ "/#{"a" * 49}",
102
+ "a" * 49,
103
+ "#{"a" * 49}x"
106
104
  ]
107
105
  names.each do |name|
108
106
  @os.add_file_simple(name, :mode => 0o644, :size => 10) {}
@@ -118,46 +116,83 @@ class TestTarWriter < Minitest::Test
118
116
  def test_file_name_is_long
119
117
  @dummyos.reset
120
118
 
121
- @os.add_file_simple(File.join('a' * 152, 'b' * 10, 'c' * 92),
122
- :mode => 0o644, :size => 10) {}
123
- @os.add_file_simple(File.join('d' * 162, 'e' * 10),
124
- :mode => 0o644, :size => 10) {}
125
- @os.add_file_simple(File.join('f' * 10, 'g' * 110),
126
- :mode => 0o644, :size => 10) {}
119
+ @os.add_file_simple(File.join("a" * 152, "b" * 10, "c" * 92),
120
+ :mode => 0o644, :size => 10) {}
121
+ @os.add_file_simple(File.join("d" * 162, "e" * 10),
122
+ :mode => 0o644, :size => 10) {}
123
+ @os.add_file_simple(File.join("f" * 10, "g" * 110),
124
+ :mode => 0o644, :size => 10) {}
127
125
  # Issue #6.
128
- @os.add_file_simple('a' * 114, :mode => 0o644, :size => 10) {}
126
+ @os.add_file_simple("a" * 114, :mode => 0o644, :size => 10) {}
129
127
 
130
128
  # "././@LongLink", a file name, its actual header, its data, ...
131
129
  4.times do |i|
132
130
  assert_equal(Minitar::PosixHeader::GNU_EXT_LONG_LINK,
133
- @dummyos.data[4 * i * 512, 32].rstrip)
131
+ @dummyos.data[4 * i * 512, 32].rstrip)
134
132
  end
135
133
  end
136
134
 
135
+ def test_add_file_simple_content_with_long_name
136
+ @dummyos.reset
137
+
138
+ long_name_file_content = "where_is_all_the_content_gone"
139
+
140
+ @os.add_file_simple("a" * 114, :mode => 0o0644, :data => long_name_file_content)
141
+
142
+ assert_equal(long_name_file_content,
143
+ @dummyos.data[3 * 512, long_name_file_content.bytesize])
144
+ end
145
+
146
+ def test_add_file_content_with_long_name
147
+ dummyos = StringIO.new
148
+ def dummyos.method_missing(meth, *a)
149
+ string.send(meth, *a)
150
+ end
151
+
152
+ def dummyos.respond_to_missing?(meth, all)
153
+ string.respond_to?(meth, all)
154
+ end
155
+
156
+ long_name_file_content = "where_is_all_the_content_gone"
157
+
158
+ Minitar::Writer.open(dummyos) do |os|
159
+ os.add_file("a" * 114, :mode => 0o0644) do |f|
160
+ f.write(long_name_file_content)
161
+ end
162
+ end
163
+
164
+ assert_equal(long_name_file_content,
165
+ dummyos[3 * 512, long_name_file_content.bytesize])
166
+ end
167
+
137
168
  def test_add_file
138
169
  dummyos = StringIO.new
139
- def dummyos.method_missing(meth, *a) # rubocop:disable Style/MethodMissing
170
+ def dummyos.method_missing(meth, *a)
140
171
  string.send(meth, *a)
141
172
  end
142
- content1 = ('a'..'z').to_a.join('') # 26
143
- content2 = ('aa'..'zz').to_a.join('') # 1352
173
+
174
+ def dummyos.respond_to_missing?(meth, all)
175
+ string.respond_to?(meth, all)
176
+ end
177
+ content1 = ("a".."z").to_a.join("") # 26
178
+ content2 = ("aa".."zz").to_a.join("") # 1352
144
179
  Minitar::Writer.open(dummyos) do |os|
145
- os.add_file('lib/foo/bar', :mode => 0o644) { |f, _opts| f.write 'a' * 10 }
146
- os.add_file('lib/bar/baz', :mode => 0o644) { |f, _opts| f.write content1 }
147
- os.add_file('lib/bar/baz', :mode => 0o644) { |f, _opts| f.write content2 }
148
- os.add_file('lib/bar/baz', :mode => 0o644) { |_f, _opts| }
180
+ os.add_file("lib/foo/bar", :mode => 0o644) { |f, _opts| f.write "a" * 10 }
181
+ os.add_file("lib/bar/baz", :mode => 0o644) { |f, _opts| f.write content1 }
182
+ os.add_file("lib/bar/baz", :mode => 0o644) { |f, _opts| f.write content2 }
183
+ os.add_file("lib/bar/baz", :mode => 0o644) { |_f, _opts| }
149
184
  end
150
- assert_headers_equal(tar_file_header('lib/foo/bar', '', 0o644, 10),
185
+ assert_headers_equal(tar_file_header("lib/foo/bar", "", 0o644, 10),
151
186
  dummyos[0, 512])
152
- assert_equal(%Q(#{'a' * 10}#{"\0" * 502}), dummyos[512, 512])
187
+ assert_equal(%(#{"a" * 10}#{"\0" * 502}), dummyos[512, 512])
153
188
  offset = 512 * 2
154
- [content1, content2, ''].each do |data|
155
- assert_headers_equal(tar_file_header('lib/bar/baz', '', 0o644,
189
+ [content1, content2, ""].each do |data|
190
+ assert_headers_equal(tar_file_header("lib/bar/baz", "", 0o644,
156
191
  bytesize(data)), dummyos[offset, 512])
157
192
  offset += 512
158
- until !data || data == ''
193
+ until !data || data == ""
159
194
  chunk = data[0, 512]
160
- data[0, 512] = ''
195
+ data[0, 512] = ""
161
196
  assert_equal(chunk + "\0" * (512 - bytesize(chunk)),
162
197
  dummyos[offset, 512])
163
198
  offset += 512
@@ -168,28 +203,28 @@ class TestTarWriter < Minitest::Test
168
203
 
169
204
  def test_add_file_tests_seekability
170
205
  assert_raises(Archive::Tar::Minitar::NonSeekableStream) do
171
- @os.add_file('libdfdsfd', :mode => 0o644) { |f| }
206
+ @os.add_file("libdfdsfd", :mode => 0o644) { |f| }
172
207
  end
173
208
  end
174
209
 
175
210
  def test_write_header
176
211
  @dummyos.reset
177
- @os.add_file_simple('lib/foo/bar', :mode => 0o644, :size => 0) {}
212
+ @os.add_file_simple("lib/foo/bar", :mode => 0o644, :size => 0) {}
178
213
  @os.flush
179
- assert_headers_equal(tar_file_header('lib/foo/bar', '', 0o644, 0),
214
+ assert_headers_equal(tar_file_header("lib/foo/bar", "", 0o644, 0),
180
215
  @dummyos.data[0, 512])
181
216
  @dummyos.reset
182
- @os.mkdir('lib/foo', :mode => 0o644)
183
- assert_headers_equal(tar_dir_header('lib/foo', '', 0o644),
217
+ @os.mkdir("lib/foo", :mode => 0o644)
218
+ assert_headers_equal(tar_dir_header("lib/foo", "", 0o644),
184
219
  @dummyos.data[0, 512])
185
- @os.mkdir('lib/bar', :mode => 0o644)
186
- assert_headers_equal(tar_dir_header('lib/bar', '', 0o644),
220
+ @os.mkdir("lib/bar", :mode => 0o644)
221
+ assert_headers_equal(tar_dir_header("lib/bar", "", 0o644),
187
222
  @dummyos.data[512 * 1, 512])
188
223
  end
189
224
 
190
225
  def test_write_data
191
226
  @dummyos.reset
192
- @os.add_file_simple('lib/foo/bar', :mode => 0o644, :size => 10) do |f|
227
+ @os.add_file_simple("lib/foo/bar", :mode => 0o644, :size => 10) do |f|
193
228
  f.write @data
194
229
  end
195
230
  @os.flush
@@ -203,10 +238,10 @@ class TestTarWriter < Minitest::Test
203
238
  if @unicode.respond_to?(:bytesize)
204
239
  assert_equal 10, @unicode.size
205
240
  assert_equal 20, @unicode.bytesize
206
- @unicode.force_encoding('ascii-8bit')
241
+ @unicode.force_encoding("ascii-8bit")
207
242
  end
208
243
 
209
- file = ['lib/foo/b', 0xc3.chr, 0xa5.chr, 'r'].join
244
+ file = ["lib/foo/b", 0xc3.chr, 0xa5.chr, "r"].join
210
245
 
211
246
  @os.add_file_simple(file, :mode => 0o644, :size => 20) do |f|
212
247
  f.write @unicode
@@ -219,10 +254,25 @@ class TestTarWriter < Minitest::Test
219
254
  def test_file_size_is_checked
220
255
  @dummyos.reset
221
256
  assert_raises(Minitar::Writer::WriteBoundaryOverflow) do
222
- @os.add_file_simple('lib/foo/bar', :mode => 0o644, :size => 10) do |f|
223
- f.write '1' * 100
257
+ @os.add_file_simple("lib/foo/bar", :mode => 0o644, :size => 10) do |f|
258
+ f.write "1" * 100
224
259
  end
225
260
  end
226
- @os.add_file_simple('lib/foo/bar', :mode => 0o644, :size => 10) { |f| }
261
+ @os.add_file_simple("lib/foo/bar", :mode => 0o644, :size => 10) { |f| }
262
+ end
263
+
264
+ def test_symlink
265
+ @dummyos.reset
266
+ @os.symlink("lib/foo/bar", "lib/foo/baz", :mode => 0o644)
267
+ @os.flush
268
+ assert_headers_equal(tar_symlink_header("lib/foo/bar", "", 0o644, "lib/foo/baz"),
269
+ @dummyos.data[0, 512])
270
+ end
271
+
272
+ def test_symlink_target_size_is_checked
273
+ @dummyos.reset
274
+ assert_raises(Minitar::FileNameTooLong) do
275
+ @os.symlink("lib/foo/bar", "x" * 101)
276
+ end
227
277
  end
228
278
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minitar
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.8'
4
+ version: '0.12'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Austin Ziegler
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-01-05 00:00:00.000000000 Z
11
+ date: 2024-08-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
@@ -16,14 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '5.11'
19
+ version: '5.24'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '5.11'
26
+ version: '5.24'
27
+ - !ruby/object:Gem::Dependency
28
+ name: base64
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.2'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.2'
41
+ - !ruby/object:Gem::Dependency
42
+ name: hoe
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '4.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '4.0'
27
55
  - !ruby/object:Gem::Dependency
28
56
  name: hoe-doofus
29
57
  requirement: !ruby/object:Gem::Requirement
@@ -53,19 +81,19 @@ dependencies:
53
81
  - !ruby/object:Gem::Version
54
82
  version: '1.1'
55
83
  - !ruby/object:Gem::Dependency
56
- name: hoe-git
84
+ name: hoe-git2
57
85
  requirement: !ruby/object:Gem::Requirement
58
86
  requirements:
59
87
  - - "~>"
60
88
  - !ruby/object:Gem::Version
61
- version: '1.6'
89
+ version: '1.7'
62
90
  type: :development
63
91
  prerelease: false
64
92
  version_requirements: !ruby/object:Gem::Requirement
65
93
  requirements:
66
94
  - - "~>"
67
95
  - !ruby/object:Gem::Version
68
- version: '1.6'
96
+ version: '1.7'
69
97
  - !ruby/object:Gem::Dependency
70
98
  name: hoe-rubygems
71
99
  requirement: !ruby/object:Gem::Requirement
@@ -81,39 +109,33 @@ dependencies:
81
109
  - !ruby/object:Gem::Version
82
110
  version: '1.0'
83
111
  - !ruby/object:Gem::Dependency
84
- name: hoe-travis
112
+ name: minitest-autotest
85
113
  requirement: !ruby/object:Gem::Requirement
86
114
  requirements:
87
115
  - - "~>"
88
116
  - !ruby/object:Gem::Version
89
- version: '1.2'
117
+ version: '1.0'
90
118
  type: :development
91
119
  prerelease: false
92
120
  version_requirements: !ruby/object:Gem::Requirement
93
121
  requirements:
94
122
  - - "~>"
95
123
  - !ruby/object:Gem::Version
96
- version: '1.2'
124
+ version: '1.0'
97
125
  - !ruby/object:Gem::Dependency
98
- name: minitest-autotest
126
+ name: minitest-focus
99
127
  requirement: !ruby/object:Gem::Requirement
100
128
  requirements:
101
- - - ">="
129
+ - - "~>"
102
130
  - !ruby/object:Gem::Version
103
131
  version: '1.0'
104
- - - "<"
105
- - !ruby/object:Gem::Version
106
- version: '2'
107
132
  type: :development
108
133
  prerelease: false
109
134
  version_requirements: !ruby/object:Gem::Requirement
110
135
  requirements:
111
- - - ">="
136
+ - - "~>"
112
137
  - !ruby/object:Gem::Version
113
138
  version: '1.0'
114
- - - "<"
115
- - !ruby/object:Gem::Version
116
- version: '2'
117
139
  - !ruby/object:Gem::Dependency
118
140
  name: rake
119
141
  requirement: !ruby/object:Gem::Requirement
@@ -123,7 +145,7 @@ dependencies:
123
145
  version: '10.0'
124
146
  - - "<"
125
147
  - !ruby/object:Gem::Version
126
- version: '12'
148
+ version: '14'
127
149
  type: :development
128
150
  prerelease: false
129
151
  version_requirements: !ruby/object:Gem::Requirement
@@ -133,7 +155,7 @@ dependencies:
133
155
  version: '10.0'
134
156
  - - "<"
135
157
  - !ruby/object:Gem::Version
136
- version: '12'
158
+ version: '14'
137
159
  - !ruby/object:Gem::Dependency
138
160
  name: rdoc
139
161
  requirement: !ruby/object:Gem::Requirement
@@ -149,41 +171,38 @@ dependencies:
149
171
  - !ruby/object:Gem::Version
150
172
  version: '0.0'
151
173
  - !ruby/object:Gem::Dependency
152
- name: hoe
174
+ name: standard
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - "~>"
178
+ - !ruby/object:Gem::Version
179
+ version: '1.0'
180
+ type: :development
181
+ prerelease: false
182
+ version_requirements: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - "~>"
185
+ - !ruby/object:Gem::Version
186
+ version: '1.0'
187
+ - !ruby/object:Gem::Dependency
188
+ name: simplecov
153
189
  requirement: !ruby/object:Gem::Requirement
154
190
  requirements:
155
191
  - - "~>"
156
192
  - !ruby/object:Gem::Version
157
- version: '3.17'
193
+ version: '0.21'
158
194
  type: :development
159
195
  prerelease: false
160
196
  version_requirements: !ruby/object:Gem::Requirement
161
197
  requirements:
162
198
  - - "~>"
163
199
  - !ruby/object:Gem::Version
164
- version: '3.17'
200
+ version: '0.21'
165
201
  description: |-
166
202
  The minitar library is a pure-Ruby library that provides the ability to deal
167
203
  with POSIX tar(1) archive files.
168
204
 
169
- This is release 0.7, providing fixes for several issues and clarifying the
170
- Minitar security stance. There are two minor breaking changes in this version
171
- so that exceptions will be thrown if a negative size is provided in a tar
172
- stream header or if the tar stream header is otherwise invalid.
173
-
174
- This release continues the migration and modernization of the code:
175
-
176
- * the licence has been changed to match the modern Ruby licensing scheme
177
- (Ruby and Simplified BSD instead of Ruby and GNU GPL);
178
- * the +minitar+ command-line program has been separated into the
179
- +minitar-cli+ gem; and
180
- * the +archive-tar-minitar+ gem now points to the +minitar+ and +minitar-cli+
181
- gems and discourages its installation.
182
-
183
- Some of these changes may break existing programs that depend on the internal
184
- structure of the minitar library, but every effort has been made to ensure
185
- compatibility; inasmuch as is possible, this compatibility will be maintained
186
- through the release of minitar 1.0 (which will have strong breaking changes).
205
+ This is release 0.12. This is likely the last revision before 1.0.
187
206
 
188
207
  minitar (previously called Archive::Tar::Minitar) is based heavily on code
189
208
  originally written by Mauricio Julio Fernández Pradier for the rpa-base
@@ -219,6 +238,7 @@ files:
219
238
  - lib/archive/tar/minitar/reader.rb
220
239
  - lib/archive/tar/minitar/writer.rb
221
240
  - lib/minitar.rb
241
+ - support/hoe/deprecated_gem.rb
222
242
  - test/minitest_helper.rb
223
243
  - test/support/tar_test_helpers.rb
224
244
  - test/test_tar_header.rb
@@ -230,7 +250,11 @@ homepage: https://github.com/halostatue/minitar/
230
250
  licenses:
231
251
  - Ruby
232
252
  - BSD-2-Clause
233
- metadata: {}
253
+ metadata:
254
+ homepage_uri: https://github.com/halostatue/minitar/
255
+ source_code_uri: https://github.com/halostatue/minitar/
256
+ bug_tracker_uri: https://github.com/halostatue/minitar/issues
257
+ rubygems_mfa_required: 'true'
234
258
  post_install_message: |
235
259
  The `minitar` executable is no longer bundled with `minitar`. If you are
236
260
  expecting this executable, make sure you also install `minitar-cli`.
@@ -250,9 +274,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
250
274
  - !ruby/object:Gem::Version
251
275
  version: '0'
252
276
  requirements: []
253
- rubyforge_project:
254
- rubygems_version: 2.7.7
255
- signing_key:
277
+ rubygems_version: 3.5.17
278
+ signing_key:
256
279
  specification_version: 4
257
280
  summary: The minitar library is a pure-Ruby library that provides the ability to deal
258
281
  with POSIX tar(1) archive files