minitar 0.8 → 0.12

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1440e1c57cdd811497e6717a6f81791816bfb2ec5dce0981d9208c41bcd6f09d
4
- data.tar.gz: e36cf70bd9acc32d73c95a48c1e67f494853f47603032cac05a84bd366417655
3
+ metadata.gz: 1599b7ba095a509ecf3e4cb540bc364307275322f7794cc57a08cfe338bf410c
4
+ data.tar.gz: e2772f9012f50c7fef8ae5b8c8f30a7ac6e43946ceff776cd53ad9d8f5749eb2
5
5
  SHA512:
6
- metadata.gz: b615673d6e6626606e6e858d453af056870f4b8c88dade5641595b35733491e6dfe2ec32e90d28f7585308a4229f2ace63b47224c0b2877b44c5b028ee3c1031
7
- data.tar.gz: ea2adda3fdcf9314c325cfa69f7ae5bbf6bc02732c8b131acef7406c45c4c53906a5612940fdc6d026d2fcda809b3a095abbe90bcf96a19f4082a653dcf8cbc3
6
+ metadata.gz: 0d2fd6dfbfeb28f40ad1bc0654fc1dc2cb2ca9743006009bd6af0f38f1de164a47043c0f8f45db64c668617d8f62154efe73d1c211227f52fa4a45060b218053
7
+ data.tar.gz: 7227d0e1ee873ca7cea9bef8709b3144f3d218391fc5655c86fba83716dbf78733b3632fac0980d7ce64f258c64004416263d1d2d30f5137bcd11bfe31f28214
data/Contributing.md CHANGED
@@ -4,21 +4,21 @@ I value any contribution to minitar you can provide: a bug report, a feature
4
4
  request, or code contributions. There are a few guidelines for contributing to
5
5
  minitar:
6
6
 
7
- * Code changes *will not* be accepted without tests. The test suite is
8
- written with [Minitest][].
9
- * Match my coding style.
10
- * Use a thoughtfully-named topic branch that contains your change. Rebase
11
- your commits into logical chunks as necessary.
12
- * Use [quality commit messages][].
13
- * Do not change the version number; when your patch is accepted and a release
14
- is made, the version will be updated at that point.
15
- * Submit a GitHub pull request with your changes.
16
- * New or changed behaviours require appropriate documentation.
7
+ - Code changes _will not_ be accepted without tests. The test suite is
8
+ written with [Minitest][].
9
+ - Match my coding style.
10
+ - Use a thoughtfully-named topic branch that contains your change. Rebase
11
+ your commits into logical chunks as necessary.
12
+ - Use [quality commit messages][].
13
+ - Do not change the version number; when your patch is accepted and a release
14
+ is made, the version will be updated at that point.
15
+ - Submit a GitHub pull request with your changes.
16
+ - New or changed behaviours require appropriate documentation.
17
17
 
18
18
  ### Test Dependencies
19
19
 
20
- minitar uses Ryan Davis’s [Hoe][] to manage the release process, and it adds a
21
- number of rake tasks. You will mostly be interested in:
20
+ minitar uses Ryan Davis’s [Hoe][] to manage the release process, and it adds
21
+ a number of rake tasks. You will mostly be interested in:
22
22
 
23
23
  $ rake
24
24
 
@@ -29,14 +29,14 @@ which runs the tests the same way that:
29
29
 
30
30
  will do.
31
31
 
32
- To assist with the installation of the development dependencies for minitar, I
33
- have provided the simplest possible Gemfile pointing to the (generated)
32
+ To assist with the installation of the development dependencies for minitar,
33
+ I have provided the simplest possible Gemfile pointing to the (generated)
34
34
  `minitar.gemspec` file. This will permit you to do:
35
35
 
36
36
  $ bundle install
37
37
 
38
- to get the development dependencies. If you aleady have `hoe` installed, you
39
- can accomplish the same thing with:
38
+ to get the development dependencies. If you aleady have `hoe` installed, you can
39
+ accomplish the same thing with:
40
40
 
41
41
  $ rake newb
42
42
 
@@ -51,40 +51,42 @@ You can run tests with code coverage analysis by running:
51
51
 
52
52
  Here's the most direct way to get your work merged into the project:
53
53
 
54
- * Fork the project.
55
- * Clone down your fork (`git clone git://github.com/<username>/minitar.git`).
56
- * Create a topic branch to contain your change (`git checkout -b
57
- my_awesome_feature`).
58
- * Hack away, add tests. Not necessarily in that order.
59
- * Make sure everything still passes by running `rake`.
60
- * If necessary, rebase your commits into logical chunks, without errors.
61
- * Push the branch up (`git push origin my_awesome_feature`).
62
- * Create a pull request against halostatue/minitar and describe what your
63
- change does and the why you think it should be merged.
54
+ - Fork the project.
55
+ - Clone down your fork (`git clone git://github.com/<username>/minitar.git`).
56
+ - Create a topic branch to contain your change (`git checkout -b my_awesome_feature`).
57
+ - Hack away, add tests. Not necessarily in that order.
58
+ - Make sure everything still passes by running `rake`.
59
+ - If necessary, rebase your commits into logical chunks, without errors.
60
+ - Push the branch up (`git push origin my_awesome_feature`).
61
+ - Create a pull request against halostatue/minitar and describe what your
62
+ change does and the why you think it should be merged.
64
63
 
65
64
  ### Contributors
66
65
 
67
- * Austin Ziegler created minitar, based on work originally written by
68
- Mauricio Fernández for rpa-base.
66
+ - Austin Ziegler created minitar, based on work originally written by
67
+ Mauricio Fernández for rpa-base.
69
68
 
70
69
  Thanks to everyone who has contributed to minitar:
71
70
 
72
- * Antoine Toulme
73
- * Curtis Sampson
74
- * Daniel J. Berger
75
- * Kazuyoshi Kato
76
- * Matthew Kent
77
- * Michal Suchanek
78
- * Mike Furr
79
- * Pete Fritchman
80
- * Zach Dennis
81
- * ooooooo\_q
82
- * Kazuyoshi Kato
83
- * dearblue
84
- * Kevin McDermott
85
- * inkstak
86
- * Akinori MUSHA (knu)
87
-
88
- [Minitest]: https://github.com/seattlerb/minitest
71
+ - Akinori MUSHA (knu)
72
+ - Antoine Toulme
73
+ - Curtis Sampson
74
+ - Daniel J. Berger
75
+ - dearblue
76
+ - inkstak
77
+ - Jorie Tappa
78
+ - Kazuyoshi Kato
79
+ - Kevin McDermott
80
+ - Matthew Kent
81
+ - Merten Falk
82
+ - Michal Suchanek
83
+ - Mike Furr
84
+ - ooooooo_q
85
+ - Pete Fritchman
86
+ - Vijay (bv-vijay)
87
+ - Yamamoto Kōhei
88
+ - Zach Dennis
89
+
90
+ [minitest]: https://github.com/seattlerb/minitest
89
91
  [quality commit messages]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
90
- [Hoe]: https://github.com/seattlerb/hoe
92
+ [hoe]: https://github.com/seattlerb/hoe
data/History.md CHANGED
@@ -1,163 +1,201 @@
1
+ # History
2
+
3
+ ## 0.12 / 2024-08-DD
4
+
5
+ - Properly handle very long GNU filenames, resolving [#46][].
6
+ - Handle very long GNU filenames that are 512 or more bytes, resolving [#45][].
7
+ Originally implemented in [#47][] by Vijay, but accidentally closed.
8
+
9
+ ## 0.11 / 2022-12-31
10
+
11
+ - symlink support is complete. Merged as PR [#42][], rebased and built on top of
12
+ PR [#12][] by fetep.
13
+
14
+ - kymmt90 fixed a documentation error on Minitar.pack in PR [#43][].
15
+
16
+ - This version is a soft-deprecation of all versions before Ruby 2.7, as they
17
+ will no longer be tested in CI.
18
+
19
+ ## 0.10 / 2022-03-26
20
+
21
+ - nevesenin fixed an issue with long filename handling. Merged as PR [#40][].
22
+
23
+ ## 0.9 / 2019-09-04
24
+
25
+ - jtappa added the ability to skip fsync with a new option to Minitar.unpack
26
+ and Minitar::Input#extract_entry. Provide `:fsync => false` as the last
27
+ parameter to enable. Merged from a modified version of PR [#37][].
28
+
1
29
  ## 0.8 / 2019-01-05
2
30
 
3
- * inkstak resolved an issue introduced in the fix for [#31][] by allowing
4
- spaces to be considered valid characters in strict octal handling. Octal
5
- conversion ignores leading spaces. Merged from a slightly modified version
6
- of PR [#35][].
31
+ - inkstak resolved an issue introduced in the fix for [#31][] by allowing
32
+ spaces to be considered valid characters in strict octal handling. Octal
33
+ conversion ignores leading spaces. Merged from a slightly modified version
34
+ of PR [#35][].
7
35
 
8
- * dearblue contributed PR [#32][] providing an explicit call to #bytesize for
9
- strings that include multibyte characters. The PR has been modified to be
10
- compatible with older versions of Ruby and extend tests.
36
+ - dearblue contributed PR [#32][] providing an explicit call to #bytesize for
37
+ strings that include multibyte characters. The PR has been modified to be
38
+ compatible with older versions of Ruby and extend tests.
11
39
 
12
- * Akinori MUSHA (knu) contributed PR [#36][] that treats certain badly
13
- encoded regular files (with names ending in `/`) as if they were
14
- directories on decode.
40
+ - Akinori MUSHA (knu) contributed PR [#36][] that treats certain badly
41
+ encoded regular files (with names ending in `/`) as if they were
42
+ directories on decode.
15
43
 
16
44
  ## 0.7 / 2018-02-19
17
45
 
18
- * Fixed issue [#28][] with a modified version of PR [#29][] covering the
19
- security policy and position for Minitar. Thanks so much to ooooooo\_q for
20
- the report and an initial patch. Additional information was added as
21
- [#30][].
46
+ - Fixed issue [#28][] with a modified version of PR [#29][] covering the
47
+ security policy and position for Minitar. Thanks so much to ooooooo_q for
48
+ the report and an initial patch. Additional information was added as
49
+ [#30][].
22
50
 
23
- * dearblue contributed PR [#33][] providing a fix for Minitar::Reader when
24
- the IO-like object does not have a `#pos` method.
51
+ - dearblue contributed PR [#33][] providing a fix for Minitar::Reader when
52
+ the IO-like object does not have a `#pos` method.
25
53
 
26
- * Kevin McDermott contributed PR [#34][] so that an InvalidTarStream is
27
- raised if the tar header is not valid, preventing incorrect streaming of
28
- files from a non-tarfile. This is a minor breaking change, so the version
29
- has been bumped accordingly.
54
+ - Kevin McDermott contributed PR [#34][] so that an InvalidTarStream is
55
+ raised if the tar header is not valid, preventing incorrect streaming of
56
+ files from a non-tarfile. This is a minor breaking change, so the version
57
+ has been bumped accordingly.
30
58
 
31
- * Kazuyoshi Kato contributed PR [#26][] providing support for the GNU tar
32
- long filename extension.
59
+ - Kazuyoshi Kato contributed PR [#26][] providing support for the GNU tar
60
+ long filename extension.
33
61
 
34
- * Addressed a potential DOS with negative size fields in tar headers
35
- ([#31][]). This has been handled in two ways: the size field in a tar
36
- header is interpreted as a strict octal value and the Minitar reader will
37
- raise an InvalidTarStream if the size ends up being negative anyway.
62
+ - Addressed a potential DOS with negative size fields in tar headers
63
+ ([#31][]). This has been handled in two ways: the size field in a tar
64
+ header is interpreted as a strict octal value and the Minitar reader will
65
+ raise an InvalidTarStream if the size ends up being negative anyway.
38
66
 
39
67
  ## 0.6.1 / 2017-02-07
40
68
 
41
- * Fixed issue [#24][] where streams were being improperly closed immediately
42
- on open unless there was a block provided.
69
+ - Fixed issue [#24][] where streams were being improperly closed immediately
70
+ on open unless there was a block provided.
43
71
 
44
- * Hopefully fixes issue [#23][] by releasing archive-tar-minitar after
45
- minitar-cli is available.
72
+ - Hopefully fixes issue [#23][] by releasing archive-tar-minitar after
73
+ minitar-cli is available.
46
74
 
47
75
  ## 0.6 / 2017-02-07
48
76
 
49
- * Breaking Changes:
50
-
51
- * Extracted `bin/minitar` into a new gem, `minitar-cli`. No, I am *not*
52
- going to bump the major version for this. As far as I can tell, few
53
- people use the command-line utility anyway. (Installing
54
- `archive-tar-minitar` will install both `minitar` and `minitar-cli`, at
55
- least until version 1.0.)
56
-
57
- * Minitar extraction before 0.6 traverses directories if the tarball
58
- includes a relative directory reference, as reported in [#16][] by
59
- @ecneladis. This has been disallowed entirely and will throw a
60
- SecureRelativePathError when found. Additionally, if the final
61
- destination of an entry is an already-existing symbolic link, the
62
- existing symbolic link will be removed and the file will be written
63
- correctly (on platforms that support symblic links).
64
-
65
- * Enhancements:
66
-
67
- * Licence change. After speaking with Mauricio Fernández, we have changed
68
- the licensing of this library to Ruby and Simplified BSD and have
69
- dropped the GNU GPL license. This takes effect from the 0.6 release.
70
- * Printing a deprecation warning for including Archive::Tar to put
71
- Minitar in the top-level namespace.
72
- * Printing a deprecation warning for including Archive::Tar::Minitar into
73
- a class (Minitar will be a class for version 1.0).
74
- * Moved Archive::Tar::PosixHeader to Archive::Tar::Minitar::PosixHeader
75
- with a deprecation warning. Do not depend on
76
- Archive::Tar::Minitar::PosixHeader, as it will be moving to
77
- ::Minitar::PosixHeader in a future release.
78
- * Added an alias, ::Minitar, for Archive::Tar::Minitar, opted in with
79
- `require 'minitar'`. In future releases, this alias will be enabled by
80
- default, and the Archive::Tar namespace will be removed entirely for
81
- version 1.0.
82
- * Modified the handling of `mtime` in PosixHeader to do an integer
83
- conversion (#to_i) so that a Time object can be used instead of the
84
- integer value of the time object.
85
- * Writer::RestrictedStream was renamed to Writer::WriteOnlyStream for
86
- clarity. No alias or deprecation warning was provided for this as it is
87
- an internal implementation detail.
88
- * Writer::BoundedStream was renamed to Writer::BoundedWriteStream for
89
- clarity. A deprecation warning is provided on first use because a
90
- BoundedWriteStream may raise a BoundedWriteStream::FileOverflow
91
- exception.
92
- * Writer::BoundedWriteStream::FileOverflow has been renamed to
93
- Writer::WriteBoundaryOverflow and inherits from StandardError instead
94
- of RuntimeError. Note that for Ruby 2.0 or higher, an error will be
95
- raised when specifying Writer::BoundedWriteStream::FileOverflow because
96
- Writer::BoundedWriteStream has been declared a private constant.
97
- * Modified Writer#add_file_simple to accept the data for a
98
- file in `opts[:data]`. When `opts[:data]` is provided, a stream block
99
- must not be provided. Improved the documentation for this method.
100
- * Modified Writer#add_file to accept `opts[:data]` and transparently call
101
- Writer#add_file_simple in this case.
102
- * Methods that require blocks are no longer required, so the
103
- Archive::Tar::Minitar::BlockRequired exception has been removed with a
104
- warning (this may not work on Ruby 1.8).
105
- * Dramatically reduced the number of strings created when creating a
106
- POSIX tarball header.
107
- * Added a helper, Input.each_entry that iterates over each entry in an
108
- opened entry object.
109
-
110
- * Bugs:
111
-
112
- * Fix [#2][] to handle IO streams that are not seekable, such as pipes,
113
- STDIN, or STDOUT.
114
- * Fix [#3][] to make the test timezone resilient.
115
- * Fix [#4][] for supporting the reading of tar files with filenames in
116
- the GNU long filename extension format. Ported from @atoulme’s fork,
117
- originally provided by Curtis Sampson.
118
- * Fix [#6][] by making it raise the correct error for a long filename
119
- with no path components.
120
- * Fix [#13][] provided by @fetep fixes an off-by-one error on filename
121
- splitting.
122
- * Fix [#14][] provided by @kzys should fix Windows detection issues.
123
- * Fix [#16][] as specified above.
124
- * Fix an issue where Minitar.pack would not include Unix hidden files
125
- when creating a tarball.
126
-
127
- * Development:
128
-
129
- * Modernized minitar tooling around Hoe.
130
- * Added travis and coveralls.
77
+ - Breaking Changes:
78
+
79
+ - Extracted `bin/minitar` into a new gem, `minitar-cli`. No, I am _not_
80
+ going to bump the major version for this. As far as I can tell, few
81
+ people use the command-line utility anyway. (Installing
82
+ `archive-tar-minitar` will install both `minitar` and `minitar-cli`, at
83
+ least until version 1.0.)
84
+
85
+ - Minitar extraction before 0.6 traverses directories if the tarball
86
+ includes a relative directory reference, as reported in [#16][] by
87
+ @ecneladis. This has been disallowed entirely and will throw a
88
+ SecureRelativePathError when found. Additionally, if the final
89
+ destination of an entry is an already-existing symbolic link, the
90
+ existing symbolic link will be removed and the file will be written
91
+ correctly (on platforms that support symblic links).
92
+
93
+ - Enhancements:
94
+
95
+ - Licence change. After speaking with Mauricio Fernández, we have changed
96
+ the licensing of this library to Ruby and Simplified BSD and have
97
+ dropped the GNU GPL license. This takes effect from the 0.6 release.
98
+ - Printing a deprecation warning for including Archive::Tar to put
99
+ Minitar in the top-level namespace.
100
+ - Printing a deprecation warning for including Archive::Tar::Minitar into
101
+ a class (Minitar will be a class for version 1.0).
102
+ - Moved Archive::Tar::PosixHeader to Archive::Tar::Minitar::PosixHeader
103
+ with a deprecation warning. Do not depend on
104
+ Archive::Tar::Minitar::PosixHeader, as it will be moving to
105
+ ::Minitar::PosixHeader in a future release.
106
+ - Added an alias, ::Minitar, for Archive::Tar::Minitar, opted in with
107
+ `require 'minitar'`. In future releases, this alias will be enabled by
108
+ default, and the Archive::Tar namespace will be removed entirely for
109
+ version 1.0.
110
+ - Modified the handling of `mtime` in PosixHeader to do an integer
111
+ conversion (#to_i) so that a Time object can be used instead of the
112
+ integer value of the time object.
113
+ - Writer::RestrictedStream was renamed to Writer::WriteOnlyStream for
114
+ clarity. No alias or deprecation warning was provided for this as it is
115
+ an internal implementation detail.
116
+ - Writer::BoundedStream was renamed to Writer::BoundedWriteStream for
117
+ clarity. A deprecation warning is provided on first use because a
118
+ BoundedWriteStream may raise a BoundedWriteStream::FileOverflow
119
+ exception.
120
+ - Writer::BoundedWriteStream::FileOverflow has been renamed to
121
+ Writer::WriteBoundaryOverflow and inherits from StandardError instead
122
+ of RuntimeError. Note that for Ruby 2.0 or higher, an error will be
123
+ raised when specifying Writer::BoundedWriteStream::FileOverflow because
124
+ Writer::BoundedWriteStream has been declared a private constant.
125
+ - Modified Writer#add_file_simple to accept the data for a
126
+ file in `opts[:data]`. When `opts[:data]` is provided, a stream block
127
+ must not be provided. Improved the documentation for this method.
128
+ - Modified Writer#add_file to accept `opts[:data]` and transparently call
129
+ Writer#add_file_simple in this case.
130
+ - Methods that require blocks are no longer required, so the
131
+ Archive::Tar::Minitar::BlockRequired exception has been removed with a
132
+ warning (this may not work on Ruby 1.8).
133
+ - Dramatically reduced the number of strings created when creating a
134
+ POSIX tarball header.
135
+ - Added a helper, Input.each_entry that iterates over each entry in an
136
+ opened entry object.
137
+
138
+ - Bugs:
139
+
140
+ - Fix [#2][] to handle IO streams that are not seekable, such as pipes,
141
+ STDIN, or STDOUT.
142
+ - Fix [#3][] to make the test timezone resilient.
143
+ - Fix [#4][] for supporting the reading of tar files with filenames in
144
+ the GNU long filename extension format. Ported from @atoulme’s fork,
145
+ originally provided by Curtis Sampson.
146
+ - Fix [#6][] by making it raise the correct error for a long filename
147
+ with no path components.
148
+ - Fix [#13][] provided by @fetep fixes an off-by-one error on filename
149
+ splitting.
150
+ - Fix [#14][] provided by @kzys should fix Windows detection issues.
151
+ - Fix [#16][] as specified above.
152
+ - Fix an issue where Minitar.pack would not include Unix hidden files
153
+ when creating a tarball.
154
+
155
+ - Development:
156
+
157
+ - Modernized minitar tooling around Hoe.
158
+ - Added travis and coveralls.
131
159
 
132
160
  ## 0.5.2 / 2008-02-26
133
161
 
134
- * Bugs:
135
- * Fixed a Ruby 1.9 compatibility error.
162
+ - Bugs:
163
+ - Fixed a Ruby 1.9 compatibility error.
136
164
 
137
165
  ## 0.5.1 / 2004-09-27
138
166
 
139
- * Bugs:
140
- * Fixed a variable name error.
167
+ - Bugs:
168
+ - Fixed a variable name error.
141
169
 
142
170
  ## 0.5.0
143
171
 
144
- * Initial release. Does files and directories. Command does create, extract,
172
+ - Initial release. Does files and directories. Command does create, extract,
145
173
  and list.
146
174
 
147
175
  [#2]: https://github.com/halostatue/minitar/issues/2
148
176
  [#3]: https://github.com/halostatue/minitar/issues/3
149
177
  [#4]: https://github.com/halostatue/minitar/issues/4
150
178
  [#6]: https://github.com/halostatue/minitar/issues/6
179
+ [#12]: https://github.com/halostatue/minitar/pull/12
151
180
  [#13]: https://github.com/halostatue/minitar/issues/13
152
181
  [#14]: https://github.com/halostatue/minitar/issues/14
153
182
  [#16]: https://github.com/halostatue/minitar/issues/16
154
183
  [#23]: https://github.com/halostatue/minitar/issues/23
155
184
  [#24]: https://github.com/halostatue/minitar/issues/24
156
- [#26]: https://github.com/halostatue/minitar/issues/26
185
+ [#26]: https://github.com/halostatue/minitar/issues/27
157
186
  [#28]: https://github.com/halostatue/minitar/issues/28
158
- [#29]: https://github.com/halostatue/minitar/issues/29
187
+ [#29]: https://github.com/halostatue/minitar/pull/29
159
188
  [#30]: https://github.com/halostatue/minitar/issues/30
160
- [#32]: https://github.com/halostatue/minitar/issues/32
161
- [#33]: https://github.com/halostatue/minitar/issues/33
162
- [#35]: https://github.com/halostatue/minitar/issues/35
163
- [#36]: https://github.com/halostatue/minitar/issues/36
189
+ [#31]: https://github.com/halostatue/minitar/issues/31
190
+ [#32]: https://github.com/halostatue/minitar/pull/32
191
+ [#33]: https://github.com/halostatue/minitar/pull/33
192
+ [#34]: https://github.com/halostatue/minitar/pull/34
193
+ [#35]: https://github.com/halostatue/minitar/pull/35
194
+ [#36]: https://github.com/halostatue/minitar/pull/36
195
+ [#37]: https://github.com/halostatue/minitar/pull/37
196
+ [#40]: https://github.com/halostatue/minitar/pull/40
197
+ [#42]: https://github.com/halostatue/minitar/pull/42
198
+ [#43]: https://github.com/halostatue/minitar/pull/43
199
+ [#45]: https://github.com/halostatue/minitar/issues/45
200
+ [#46]: https://github.com/halostatue/minitar/issues/46
201
+ [#47]: https://github.com/halostatue/minitar/pull/47
data/Manifest.txt CHANGED
@@ -15,6 +15,7 @@ lib/archive/tar/minitar/posix_header.rb
15
15
  lib/archive/tar/minitar/reader.rb
16
16
  lib/archive/tar/minitar/writer.rb
17
17
  lib/minitar.rb
18
+ support/hoe/deprecated_gem.rb
18
19
  test/minitest_helper.rb
19
20
  test/support/tar_test_helpers.rb
20
21
  test/test_tar_header.rb
data/README.rdoc CHANGED
@@ -5,33 +5,13 @@ code :: https://github.com/halostatue/minitar/
5
5
  bugs :: https://github.com/halostatue/minitar/issues
6
6
  rdoc :: http://rdoc.info/gems/minitar/
7
7
  cli :: https://github.com/halostatue/minitar-cli
8
- travis :: {<img src="https://travis-ci.org/halostatue/minitar.svg" />}[https://travis-ci.org/halostatue/minitar]
9
- appveyor :: {<img src="https://ci.appveyor.com/api/projects/status/bj4gqn3gp3gu45sa?svg=true" />}[https://ci.appveyor.com/project/halostatue/minitar]
10
- coveralls :: {<img src="https://coveralls.io/repos/halostatue/minitar/badge.svg" alt="Coverage Status" />}[https://coveralls.io/r/halostatue/minitar]
11
8
 
12
9
  == Description
13
10
 
14
11
  The minitar library is a pure-Ruby library that provides the ability to deal
15
12
  with POSIX tar(1) archive files.
16
13
 
17
- This is release 0.7, providing fixes for several issues and clarifying the
18
- Minitar security stance. There are two minor breaking changes in this version
19
- so that exceptions will be thrown if a negative size is provided in a tar
20
- stream header or if the tar stream header is otherwise invalid.
21
-
22
- This release continues the migration and modernization of the code:
23
-
24
- * the licence has been changed to match the modern Ruby licensing scheme
25
- (Ruby and Simplified BSD instead of Ruby and GNU GPL);
26
- * the +minitar+ command-line program has been separated into the
27
- +minitar-cli+ gem; and
28
- * the +archive-tar-minitar+ gem now points to the +minitar+ and +minitar-cli+
29
- gems and discourages its installation.
30
-
31
- Some of these changes may break existing programs that depend on the internal
32
- structure of the minitar library, but every effort has been made to ensure
33
- compatibility; inasmuch as is possible, this compatibility will be maintained
34
- through the release of minitar 1.0 (which will have strong breaking changes).
14
+ This is release 0.12. This is likely the last revision before 1.0.
35
15
 
36
16
  minitar (previously called Archive::Tar::Minitar) is based heavily on code
37
17
  originally written by Mauricio Julio Fernández Pradier for the rpa-base
data/Rakefile CHANGED
@@ -1,52 +1,72 @@
1
1
  # -*- ruby encoding: utf-8 -*-
2
2
 
3
- require 'rubygems'
4
- require 'hoe'
5
- require 'rake/clean'
3
+ require "rubygems"
4
+ require "hoe"
5
+ require "rake/clean"
6
6
 
7
- $LOAD_PATH.unshift('support')
7
+ $LOAD_PATH.unshift("support")
8
8
 
9
9
  Hoe.plugin :doofus
10
10
  Hoe.plugin :gemspec2
11
- Hoe.plugin :git
11
+ Hoe.plugin :git2
12
12
  Hoe.plugin :minitest
13
- Hoe.plugin :travis
13
+ Hoe.plugin :rubygems
14
14
  Hoe.plugin :deprecated_gem
15
- Hoe.plugin :email unless ENV['CI'] or ENV['TRAVIS']
15
+ Hoe.plugin :cov
16
16
 
17
- spec = Hoe.spec 'minitar' do
18
- developer('Austin Ziegler', 'halostatue@gmail.com')
17
+ Hoe.spec "minitar" do
18
+ developer("Austin Ziegler", "halostatue@gmail.com")
19
19
 
20
- require_ruby_version '>= 1.8'
20
+ self.history_file = "History.md"
21
+ self.readme_file = "README.rdoc"
21
22
 
22
- self.history_file = 'History.md'
23
- self.readme_file = 'README.rdoc'
24
- self.licenses = ['Ruby', 'BSD-2-Clause']
23
+ require_ruby_version ">= 1.8"
24
+
25
+ # This is a hack because of an issue with Hoe 3.26, but I'm not sure which
26
+ # hoe version introduced this issue or if it's a JRuby issue. This issue is
27
+ # demonstrable in lib/hoe.rb at line 676, which is (reformatted for space):
28
+ #
29
+ # ```ruby
30
+ # readme =
31
+ # input
32
+ # .lines
33
+ # .chunk { |l| l[/^(?:=+|#+)/] || "" } # # chunk is different somehow
34
+ # .map(&:last) # <-- HERE: "#" does not respond to #last
35
+ # .each_slice(2)
36
+ # .map { |k, v|
37
+ # kp = k.join
38
+ # kp = kp.strip.chomp(":").split.last.downcase if k.size == 1
39
+ # [kp, v.join.strip]
40
+ # }
41
+ # .to_h
42
+ # ```
43
+ #
44
+ # We don't *ship* with JRuby, but use it in CI only, so this is here at least
45
+ # temporarily.
46
+ if RUBY_PLATFORM.match?(/java/)
47
+ self.summary = self.description = "Description for testing"
48
+ self.homepage = "https://github.com/KineticCafe/app-identity/tree/main/ruby/"
49
+ end
50
+
51
+ self.licenses = ["Ruby", "BSD-2-Clause"]
25
52
 
26
53
  self.post_install_message = <<-EOS
27
54
  The `minitar` executable is no longer bundled with `minitar`. If you are
28
55
  expecting this executable, make sure you also install `minitar-cli`.
29
56
  EOS
30
57
 
31
- extra_dev_deps << ['hoe-doofus', '~> 1.0']
32
- extra_dev_deps << ['hoe-gemspec2', '~> 1.1']
33
- extra_dev_deps << ['hoe-git', '~> 1.6']
34
- extra_dev_deps << ['hoe-rubygems', '~> 1.0']
35
- extra_dev_deps << ['hoe-travis', '~> 1.2']
36
- extra_dev_deps << ['minitest', '~> 5.3']
37
- extra_dev_deps << ['minitest-autotest', ['>= 1.0', '<2']]
38
- extra_dev_deps << ['rake', '>= 10.0', '< 12']
39
- extra_dev_deps << ['rdoc', '>= 0.0']
40
- end
41
-
42
- if RUBY_VERSION >= '2.0' && RUBY_ENGINE == 'ruby'
43
- namespace :test do
44
- desc 'Run test coverage'
45
- task :coverage do
46
- spec.test_prelude = 'load ".simplecov-prelude.rb"'
47
- Rake::Task['test'].execute
48
- end
49
- end
58
+ spec_extras[:metadata] = ->(val) { val["rubygems_mfa_required"] = "true" }
50
59
 
51
- Rake::Task['travis'].prerequisites.replace(%w(test:coverage))
60
+ extra_dev_deps << ["base64", "~> 0.2"]
61
+ extra_dev_deps << ["hoe", "~> 4.0"]
62
+ extra_dev_deps << ["hoe-doofus", "~> 1.0"]
63
+ extra_dev_deps << ["hoe-gemspec2", "~> 1.1"]
64
+ extra_dev_deps << ["hoe-git2", "~> 1.7"]
65
+ extra_dev_deps << ["hoe-rubygems", "~> 1.0"]
66
+ extra_dev_deps << ["minitest", "~> 5.16"]
67
+ extra_dev_deps << ["minitest-autotest", "~> 1.0"]
68
+ extra_dev_deps << ["minitest-focus", "~> 1.0"]
69
+ extra_dev_deps << ["rake", ">= 10.0", "< 14"]
70
+ extra_dev_deps << ["rdoc", ">= 0.0"]
71
+ extra_dev_deps << ["standard", "~> 1.0"]
52
72
  end