arr-pm 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of arr-pm might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 21066cda9f121049b636654a435419fe4124cf1e
4
- data.tar.gz: 7deb72b24f10f1a8460904dacfcf5985f3074b41
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ ZTNjMjFhNWE2MmQ0MDhhOWZlNjBhZDYwNzI3MzI5NTM4MTMyZTJlYQ==
5
+ data.tar.gz: !binary |-
6
+ NDllNDRiN2NhODY3ZmRhNDYxNTk5MmU4OTA4Y2FmZTA3NDhkYWZkOQ==
5
7
  SHA512:
6
- metadata.gz: 3b2ef1ec6211fc57cb6b939fd1cb716e442757fae1cf949ecf0569b24d8eef14a9f793813c772a96c6a8a097df9170dd00803a9373c37b2b27097d5123b15f0b
7
- data.tar.gz: 4f81f72cf8af0bfb88a1406593fd7c17701bbf1441c9ed3724a5d67197ccd7cb47f0a269599886d236f5aab03c1c2a2b2bf7e53dc408ba84c05a63783e9b16fd
8
+ metadata.gz: !binary |-
9
+ ZTAwZWViMjNkZWI4MmJmMjFhNjI2MGNiYmIyZmFjNjhkNGI4ZmQwMjU1NDY5
10
+ YWY4YjY5MmE2MGNmMTNkYWI0MDRiMTdmZTg0ODE4YmM5MzU3YWY0M2JjYmNl
11
+ NGM0ZGUzYWIwZmIzODE4ODI4MzVjMzY1NDhhYTJiNjI2NjcyN2U=
12
+ data.tar.gz: !binary |-
13
+ MWNkZWU2ODFlMmMxNzEzOTYzYzllMTIwN2Y3YjBmYTc0ZjE2M2I1YjljYWFk
14
+ NjFhM2VkZmVhYjNmYzIxNzE1YTZjNzFkZjExMmMzMDRjYjA2MzA2MDc3MjI3
15
+ N2VmYWU0YjBhZTlhM2FkZGUxMGYzMmFhMWIwZmM0MWNiMmI1NjE=
@@ -2,7 +2,7 @@ Gem::Specification.new do |spec|
2
2
  files = %x{git ls-files}.split("\n")
3
3
 
4
4
  spec.name = "arr-pm"
5
- spec.version = "0.0.8"
5
+ spec.version = "0.0.9"
6
6
  spec.summary = "RPM reader and writer library"
7
7
  spec.description = "This library allows to you to read and write rpm " \
8
8
  "packages. Written in pure ruby because librpm is not available " \
@@ -2,6 +2,7 @@ require File.join(File.dirname(__FILE__), "namespace")
2
2
  require File.join(File.dirname(__FILE__), "file", "header")
3
3
  require File.join(File.dirname(__FILE__), "file", "lead")
4
4
  require File.join(File.dirname(__FILE__), "file", "tag")
5
+ require "fcntl"
5
6
 
6
7
  # Much of the code here is derived from knowledge gained by reading the rpm
7
8
  # source code, but mostly it started making more sense after reading this site:
@@ -210,16 +211,23 @@ class RPM::File
210
211
  begin
211
212
  output << lister.read_nonblock(16384)
212
213
  rescue Errno::EAGAIN
213
- # do nothing
214
+ # Nothing to read, move on!
214
215
  end
215
216
  end
216
217
  lister.close_write
218
+
217
219
  # Read remaining output
218
220
  begin
219
- output << lister.read
221
+ output << lister.read
220
222
  rescue Errno::EAGAIN
221
- # Do Nothing
223
+ # Because read_nonblock enables NONBLOCK the 'lister' fd,
224
+ # and we may have invoked a read *before* cpio has started
225
+ # writing, let's keep retrying this read until we get an EOF
226
+ retry
227
+ rescue EOFError
228
+ # At EOF, hurray! We're done reading.
222
229
  end
230
+
223
231
  # Split output by newline and strip leading "."
224
232
  @files = output.split("\n").collect { |s| s.gsub(/^\./, "") }
225
233
  return @files
@@ -12,7 +12,6 @@ class RPM::File::Header
12
12
  attr_accessor :data_length # rpmlib calls this field 'dl' unhelpfully
13
13
 
14
14
  HEADER_SIGNED_TYPE = 5
15
- #HEADER_MAGIC = "\x8e\xad\xe8\x01\x00\x00\x00\x00".force_encoding("BINARY")
16
15
 
17
16
  if RUBY_VERSION =~ /^2\./
18
17
  # Ruby 2 forces all strings to be UTF-8, so "\x01" becomes "\u0001"
metadata CHANGED
@@ -1,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arr-pm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jordan Sissel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-03-21 00:00:00.000000000 Z
11
+ date: 2014-02-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cabin
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>'
17
+ - - ! '>'
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>'
24
+ - - ! '>'
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  description: This library allows to you to read and write rpm packages. Written in
@@ -61,18 +61,19 @@ require_paths:
61
61
  - lib
62
62
  required_ruby_version: !ruby/object:Gem::Requirement
63
63
  requirements:
64
- - - '>='
64
+ - - ! '>='
65
65
  - !ruby/object:Gem::Version
66
66
  version: '0'
67
67
  required_rubygems_version: !ruby/object:Gem::Requirement
68
68
  requirements:
69
- - - '>='
69
+ - - ! '>='
70
70
  - !ruby/object:Gem::Version
71
71
  version: '0'
72
72
  requirements: []
73
73
  rubyforge_project:
74
- rubygems_version: 2.0.3
74
+ rubygems_version: 2.1.11
75
75
  signing_key:
76
76
  specification_version: 4
77
77
  summary: RPM reader and writer library
78
78
  test_files: []
79
+ has_rdoc: