ruby-debian 0.3.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. data/Makefile +47 -0
  2. data/README +55 -0
  3. data/TODO +29 -0
  4. data/bin/dpkg-checkdeps +163 -0
  5. data/bin/dpkg-ruby +148 -0
  6. data/debian/changelog +310 -0
  7. data/debian/compat +1 -0
  8. data/debian/control +56 -0
  9. data/debian/copyright +26 -0
  10. data/debian/dirs +2 -0
  11. data/debian/manpages +0 -0
  12. data/debian/ruby-debian.docs +3 -0
  13. data/debian/ruby-debian.examples +1 -0
  14. data/debian/ruby-debian.manpages +2 -0
  15. data/debian/rules +15 -0
  16. data/debian/source/format +1 -0
  17. data/examples/ONE_LINER +39 -0
  18. data/examples/dpkg.rb +95 -0
  19. data/examples/list_packages.rb +38 -0
  20. data/examples/unmet_packages.rb +39 -0
  21. data/ext/debian_version/Version.cpp +43 -0
  22. data/ext/debian_version/extconf.rb +7 -0
  23. data/lib/debian.rb +1063 -0
  24. data/lib/debian/ar.rb +159 -0
  25. data/lib/debian/utils.rb +111 -0
  26. data/man/dpkg-checkdeps.1 +102 -0
  27. data/man/dpkg-ruby.1 +99 -0
  28. data/t/d/available +492 -0
  29. data/t/d/non-US_sid_Sources +32 -0
  30. data/t/d/non-US_sid_i386_Packages +50 -0
  31. data/t/d/sid_Sources +287 -0
  32. data/t/d/sid_i386_Packages +456 -0
  33. data/t/d/status +324 -0
  34. data/t/d/w3m-ssl_0.2.1-1.f +24 -0
  35. data/t/d/w3m-ssl_0.2.1-2.dsc +12 -0
  36. data/t/d/w3m-ssl_0.2.1-2.f +24 -0
  37. data/t/d/w3m_0.2.1-1.dsc +12 -0
  38. data/t/d/w3m_0.2.1-1.f +21 -0
  39. data/t/d/w3m_0.2.1-2.dsc +12 -0
  40. data/t/d/w3m_0.2.1-2.f +21 -0
  41. data/t/d/w3m_met_list +83 -0
  42. data/t/testall.rb +50 -0
  43. data/t/testar.rb +59 -0
  44. data/t/testarchives.rb +277 -0
  45. data/t/testdeb.rb +239 -0
  46. data/t/testdep.rb +70 -0
  47. data/t/testdepterm.rb +140 -0
  48. data/t/testdepunmet.rb +71 -0
  49. data/t/testdpkg.rb +197 -0
  50. data/t/testdpkgdeb.rb +83 -0
  51. data/t/testdsc.rb +49 -0
  52. data/t/testfield.rb +155 -0
  53. data/t/testpackages.rb +138 -0
  54. data/t/testsources.rb +44 -0
  55. data/t/teststatus.rb +38 -0
  56. metadata +133 -0
@@ -0,0 +1,138 @@
1
+ require 'runit/testcase'
2
+ require 'runit/cui/testrunner'
3
+
4
+ $:.unshift("../lib")
5
+ require '../lib/debian.rb'
6
+
7
+ class TestDebian__Packages < RUNIT::TestCase
8
+
9
+ def setup
10
+ @ps = [Debian::Packages.new("d/status"),
11
+ Debian::Packages.new("d/available"),
12
+ Debian::Packages.new("d/sid_i386_Packages"),
13
+ Debian::Packages.new("d/non-US_sid_i386_Packages")]
14
+ end
15
+ def test_AND # '&'
16
+ ps = @ps[0] & @ps[3]
17
+ assert_equals('w3mmee-ssl', ps['w3mmee-ssl'].package)
18
+ assert_nil(ps['dpkg-ruby'])
19
+ assert_equals('dpkg-ruby', @ps[0]['dpkg-ruby'].package)
20
+ assert_nil(@ps[3]['dpkg-ruby'])
21
+ assert_equals(@ps[3].provides.keys.sort, ps.provides.keys.sort)
22
+ end
23
+
24
+ def test_ASET # '[]='
25
+ deb = Debian::Deb.new(IO.readlines("d/w3m_0.2.1-2.f").join(""))
26
+ pr = @ps[3].provides('www-browser').collect {|d| d.package }
27
+ @ps[3]['w3m'] = deb
28
+ assert_equals(deb, @ps[3]['w3m'])
29
+ assert_equals((pr + ['w3m']).sort,
30
+ @ps[3].provides('www-browser').collect {|d| d.package }.sort)
31
+ end
32
+
33
+ def test_LSHIFT # '<<'
34
+ deb = Debian::Deb.new(IO.readlines("d/w3m_0.2.1-2.f").join(""))
35
+ pr = @ps[3].provides('www-browser').collect {|d| d.package }
36
+ assert_nil(@ps[3]['w3m'])
37
+ ps = @ps[3] << nil
38
+ assert_nil(@ps[3]['w3m'])
39
+ ps = @ps[3] << deb
40
+ assert_nil(@ps[3]['w3m'])
41
+ assert_equals(deb, ps['w3m'])
42
+ assert_equals((pr + ['w3m']).sort,
43
+ ps.provides('www-browser').collect {|d| d.package }.sort)
44
+
45
+ end
46
+
47
+ def test_MINUS # '-'
48
+ ps = @ps[1] - @ps[0]
49
+ assert_equals('dpkg-ruby', @ps[1]['dpkg-ruby'].package)
50
+ assert_equals(['donkey', 'fml', 'hex', 'sendmail-wide', 'smtpfeed',
51
+ 'xfonts-marumoji'],
52
+ ps.pkgnames.sort)
53
+ end
54
+
55
+ def test_PLUS # '+'
56
+ ps = @ps[1] + @ps[0]
57
+ ps.each {|pkg, deb|
58
+ assert_equals(deb, @ps[1][pkg])
59
+ }
60
+ assert_equals(ps.provides.keys.sort, @ps[1].provides.keys.sort)
61
+ end
62
+
63
+ def test_RSHIFT # '>>'
64
+ deb = Debian::Deb.new(IO.readlines("d/w3m_0.2.1-2.f").join(""))
65
+ pr = @ps[0].provides('www-browser').collect {|d| d.package }
66
+ assert_equals('w3m', @ps[0]['w3m'].package)
67
+ ps = @ps[0] >> nil
68
+ assert_equals('w3m', ps['w3m'].package)
69
+ ps = @ps[0] >> deb
70
+ assert_equals('w3m', @ps[0]['w3m'].package)
71
+ assert_nil(ps['w3m'])
72
+ assert_equals((pr - ['w3m']).sort,
73
+ ps.provides('www-browser').collect {|d| d.package}.sort)
74
+
75
+ end
76
+
77
+ def test_add
78
+ @ps[0].add(@ps[1])
79
+ assert_equals('donkey', @ps[0]['donkey'].package)
80
+ end
81
+
82
+ def test_delete
83
+ @ps[3].delete('w3mmee-ssl')
84
+ assert_nil(@ps[3]['w3mmee-ssl'])
85
+ @ps[3].delete('w3m-ssl')
86
+ assert_nil(@ps[3]['w3mmee-ssl'])
87
+ assert_equals([], @ps[3].provides('www-browser'))
88
+ end
89
+
90
+ def test_intersect
91
+ p = Debian::Packages.new
92
+ p.intersect(@ps[0], @ps[3])
93
+ assert_equals('w3m-ssl', p['w3m-ssl'].package)
94
+ assert_equals('w3mmee-ssl', p['w3mmee-ssl'].package)
95
+ assert_nil(p['w3m'])
96
+ end
97
+
98
+ def test_provides
99
+ assert_equals(['w3m-ssl', 'w3mmee-ssl'],
100
+ @ps[3].provides('www-browser').collect {|d| d.package }.sort)
101
+ end
102
+
103
+ def test_sub
104
+ @ps[1].sub(@ps[0])
105
+ assert_equals(['donkey', 'fml', 'hex', 'sendmail-wide', 'smtpfeed',
106
+ 'xfonts-marumoji'],
107
+ @ps[1].pkgnames.sort)
108
+ end
109
+
110
+ # def test_s_new
111
+ # assert_fail("untested")
112
+ # end
113
+ #
114
+ # def test_s_parse
115
+ # assert_fail("untested")
116
+ # end
117
+ #
118
+ # def test_s_parseAptLine
119
+ # assert_fail("untested")
120
+ # end
121
+
122
+ # def test_s_parseArchiveFile
123
+ # assert_fail("untested")
124
+ # end
125
+
126
+ end
127
+
128
+ if $0 == __FILE__
129
+ if ARGV.size == 0
130
+ suite = TestDebian__Packages.suite
131
+ else
132
+ suite = RUNIT::TestSuite.new
133
+ ARGV.each do |testmethod|
134
+ suite.add_test(TestDebian__Packages.new(testmethod))
135
+ end
136
+ end
137
+ RUNIT::CUI::TestRunner.run(suite)
138
+ end
@@ -0,0 +1,44 @@
1
+ require 'runit/testcase'
2
+ require 'runit/cui/testrunner'
3
+
4
+ $:.unshift("../lib")
5
+ require '../lib/debian.rb'
6
+
7
+ class TestDebian__Sources < RUNIT::TestCase
8
+
9
+
10
+ def setup
11
+ @ss = [Debian::Sources.new("d/sid_Sources"),
12
+ Debian::Sources.new("d/non-US_sid_Sources")]
13
+ end
14
+
15
+ def test_s_new
16
+ @ss[0].each {|p,s| assert_equals(Debian::Dsc, s.class) }
17
+ @ss[1].each {|p,s| assert_equals(Debian::Dsc, s.class) }
18
+ end
19
+
20
+ # def test_s_parse
21
+ #
22
+ # end
23
+
24
+ # def test_s_parseAptLine
25
+ #
26
+ # end
27
+
28
+ # def test_s_parseArchiveFile
29
+ #
30
+ # end
31
+
32
+ end
33
+
34
+ if $0 == __FILE__
35
+ if ARGV.size == 0
36
+ suite = TestDebian__Sources.suite
37
+ else
38
+ suite = RUNIT::TestSuite.new
39
+ ARGV.each do |testmethod|
40
+ suite.add_test(TestDebian__Sources.new(testmethod))
41
+ end
42
+ end
43
+ RUNIT::CUI::TestRunner.run(suite)
44
+ end
@@ -0,0 +1,38 @@
1
+ require 'runit/testcase'
2
+ require 'runit/cui/testrunner'
3
+
4
+ $:.unshift("../lib")
5
+ require '../lib/debian.rb'
6
+
7
+ class TestDebian__Status < RUNIT::TestCase
8
+
9
+ def test_s_new
10
+ s = Debian::Status.new
11
+ assert((s['dpkg'].data.find {|f| f == "/usr/bin/dpkg" }) != nil)
12
+ end
13
+ #
14
+ # def test_s_parse
15
+ # assert_fail("untested")
16
+ # end
17
+ #
18
+ # def test_s_parseAptLine
19
+ # assert_fail("untested")
20
+ # end
21
+
22
+ # def test_s_parseArchiveFile
23
+ # assert_fail("untested")
24
+ # end
25
+
26
+ end
27
+
28
+ if $0 == __FILE__
29
+ if ARGV.size == 0
30
+ suite = TestDebian__Status.suite
31
+ else
32
+ suite = RUNIT::TestSuite.new
33
+ ARGV.each do |testmethod|
34
+ suite.add_test(TestDebian__Status.new(testmethod))
35
+ end
36
+ end
37
+ RUNIT::CUI::TestRunner.run(suite)
38
+ end
metadata ADDED
@@ -0,0 +1,133 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ruby-debian
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.8
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Fumitoshi UKAI
9
+ - Ryan Niebur
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2012-10-03 00:00:00.000000000 Z
14
+ dependencies: []
15
+ description: Ruby interface modules for dpkg
16
+ email:
17
+ - ukai@debian.or.jp
18
+ - ryan@debian.org
19
+ executables:
20
+ - dpkg-checkdeps
21
+ - dpkg-ruby
22
+ extensions:
23
+ - ext/debian_version/extconf.rb
24
+ extra_rdoc_files: []
25
+ files:
26
+ - Makefile
27
+ - README
28
+ - TODO
29
+ - bin/dpkg-checkdeps
30
+ - bin/dpkg-ruby
31
+ - debian/changelog
32
+ - debian/compat
33
+ - debian/control
34
+ - debian/copyright
35
+ - debian/dirs
36
+ - debian/manpages
37
+ - debian/ruby-debian.docs
38
+ - debian/ruby-debian.examples
39
+ - debian/ruby-debian.manpages
40
+ - debian/rules
41
+ - debian/source/format
42
+ - examples/ONE_LINER
43
+ - examples/dpkg.rb
44
+ - examples/list_packages.rb
45
+ - examples/unmet_packages.rb
46
+ - ext/debian_version/Version.cpp
47
+ - ext/debian_version/extconf.rb
48
+ - lib/debian.rb
49
+ - lib/debian/ar.rb
50
+ - lib/debian/utils.rb
51
+ - man/dpkg-checkdeps.1
52
+ - man/dpkg-ruby.1
53
+ - t/d/available
54
+ - t/d/non-US_sid_Sources
55
+ - t/d/non-US_sid_i386_Packages
56
+ - t/d/sid_Sources
57
+ - t/d/sid_i386_Packages
58
+ - t/d/status
59
+ - t/d/w3m-ssl_0.2.1-1.f
60
+ - t/d/w3m-ssl_0.2.1-2.dsc
61
+ - t/d/w3m-ssl_0.2.1-2.f
62
+ - t/d/w3m_0.2.1-1.dsc
63
+ - t/d/w3m_0.2.1-1.f
64
+ - t/d/w3m_0.2.1-2.dsc
65
+ - t/d/w3m_0.2.1-2.f
66
+ - t/d/w3m_met_list
67
+ - t/testall.rb
68
+ - t/testar.rb
69
+ - t/testarchives.rb
70
+ - t/testdeb.rb
71
+ - t/testdep.rb
72
+ - t/testdepterm.rb
73
+ - t/testdepunmet.rb
74
+ - t/testdpkg.rb
75
+ - t/testdpkgdeb.rb
76
+ - t/testdsc.rb
77
+ - t/testfield.rb
78
+ - t/testpackages.rb
79
+ - t/testsources.rb
80
+ - t/teststatus.rb
81
+ homepage: http://anonscm.debian.org/gitweb/?p=collab-maint/ruby-debian.git;a=summary
82
+ licenses: []
83
+ post_install_message:
84
+ rdoc_options: []
85
+ require_paths:
86
+ - lib
87
+ required_ruby_version: !ruby/object:Gem::Requirement
88
+ none: false
89
+ requirements:
90
+ - - ! '>='
91
+ - !ruby/object:Gem::Version
92
+ version: '0'
93
+ required_rubygems_version: !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ requirements: []
100
+ rubyforge_project:
101
+ rubygems_version: 1.8.23
102
+ signing_key:
103
+ specification_version: 3
104
+ summary: Ruby interface for dpkg
105
+ test_files:
106
+ - t/d/available
107
+ - t/d/non-US_sid_Sources
108
+ - t/d/non-US_sid_i386_Packages
109
+ - t/d/sid_Sources
110
+ - t/d/sid_i386_Packages
111
+ - t/d/status
112
+ - t/d/w3m-ssl_0.2.1-1.f
113
+ - t/d/w3m-ssl_0.2.1-2.dsc
114
+ - t/d/w3m-ssl_0.2.1-2.f
115
+ - t/d/w3m_0.2.1-1.dsc
116
+ - t/d/w3m_0.2.1-1.f
117
+ - t/d/w3m_0.2.1-2.dsc
118
+ - t/d/w3m_0.2.1-2.f
119
+ - t/d/w3m_met_list
120
+ - t/testall.rb
121
+ - t/testar.rb
122
+ - t/testarchives.rb
123
+ - t/testdeb.rb
124
+ - t/testdep.rb
125
+ - t/testdepterm.rb
126
+ - t/testdepunmet.rb
127
+ - t/testdpkg.rb
128
+ - t/testdpkgdeb.rb
129
+ - t/testdsc.rb
130
+ - t/testfield.rb
131
+ - t/testpackages.rb
132
+ - t/testsources.rb
133
+ - t/teststatus.rb