enhancerepo 0.4.1

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.
Files changed (87) hide show
  1. data/CHANGELOG.rdoc +18 -0
  2. data/Manifest.txt +85 -0
  3. data/README +10 -0
  4. data/README.rdoc +15 -0
  5. data/Rakefile +48 -0
  6. data/TODO.rdoc +4 -0
  7. data/bin/enhancerepo +4 -0
  8. data/lib/enhance_repo.rb +36 -0
  9. data/lib/enhance_repo/cli.rb +150 -0
  10. data/lib/enhance_repo/config_opts.rb +98 -0
  11. data/lib/enhance_repo/logger.rb +67 -0
  12. data/lib/enhance_repo/other.rb +80 -0
  13. data/lib/enhance_repo/package_id.rb +81 -0
  14. data/lib/enhance_repo/product_id.rb +30 -0
  15. data/lib/enhance_repo/rpm_md.rb +27 -0
  16. data/lib/enhance_repo/rpm_md/data.rb +55 -0
  17. data/lib/enhance_repo/rpm_md/delta_info.rb +205 -0
  18. data/lib/enhance_repo/rpm_md/extra_primary_data.rb +45 -0
  19. data/lib/enhance_repo/rpm_md/file_lists.rb +81 -0
  20. data/lib/enhance_repo/rpm_md/index.rb +144 -0
  21. data/lib/enhance_repo/rpm_md/other.rb +69 -0
  22. data/lib/enhance_repo/rpm_md/primary.rb +123 -0
  23. data/lib/enhance_repo/rpm_md/products.rb +142 -0
  24. data/lib/enhance_repo/rpm_md/repo.rb +202 -0
  25. data/lib/enhance_repo/rpm_md/resource.rb +44 -0
  26. data/lib/enhance_repo/rpm_md/suse_data.rb +191 -0
  27. data/lib/enhance_repo/rpm_md/suse_info.rb +88 -0
  28. data/lib/enhance_repo/rpm_md/update.rb +141 -0
  29. data/lib/enhance_repo/rpm_md/update_info.rb +244 -0
  30. data/lib/enhance_repo/rpm_md/update_smart_fields.rb +127 -0
  31. data/lib/enhance_repo/xml_comparer.rb +117 -0
  32. data/lib/tempdir.rb +62 -0
  33. data/lib/tempdir/tempfile.rb +21 -0
  34. data/test/all_tests.rb +27 -0
  35. data/test/data/packages/a-1.0.spec +19 -0
  36. data/test/data/packages/a-2.0.spec +24 -0
  37. data/test/data/repodata/update-test-11.1/filelists.xml.gz +0 -0
  38. data/test/data/repodata/update-test-11.1/other.xml.gz +0 -0
  39. data/test/data/repodata/update-test-11.1/primary.xml.gz +0 -0
  40. data/test/data/repodata/update-test-11.1/repomd.xml +21 -0
  41. data/test/data/repomd.xml +21 -0
  42. data/test/data/rpms/repo-1/a-1.0-0.x86_64.rpm +0 -0
  43. data/test/data/rpms/repo-1/a-1.0_2.0-0_0.x86_64.delta.rpm +0 -0
  44. data/test/data/rpms/repo-1/a-2.0-0.x86_64.rpm +0 -0
  45. data/test/data/rpms/repo-1/repodata/deltainfo.xml.gz +0 -0
  46. data/test/data/rpms/repo-1/repodata/deltainfo.xml.gz.gz +0 -0
  47. data/test/data/rpms/repo-1/repodata/filelists.xml.gz +0 -0
  48. data/test/data/rpms/repo-1/repodata/other.xml.gz +0 -0
  49. data/test/data/rpms/repo-1/repodata/primary.xml.gz +0 -0
  50. data/test/data/rpms/repo-1/repodata/repomd.xml +45 -0
  51. data/test/data/rpms/repo-1/repodata/susedata.xml.gz +0 -0
  52. data/test/data/rpms/repo-1/repodata/updateinfo.xml.gz +0 -0
  53. data/test/data/rpms/repo-1/repoparts/update-a-1.xml +22 -0
  54. data/test/data/rpms/repo-with-product/a-1.0-0.x86_64.rpm +0 -0
  55. data/test/data/rpms/repo-with-product/openSUSE-release-11.2-1.6.i586.rpm +0 -0
  56. data/test/data/rpms/repo-with-product/openSUSE-release-dvd-11.2-1.6.i586.rpm +0 -0
  57. data/test/data/rpms/repo-with-product/repodata/filelists.xml.gz +0 -0
  58. data/test/data/rpms/repo-with-product/repodata/other.xml.gz +0 -0
  59. data/test/data/rpms/repo-with-product/repodata/primary.xml.gz +0 -0
  60. data/test/data/rpms/repo-with-product/repodata/products.xml.gz +0 -0
  61. data/test/data/rpms/repo-with-product/repodata/repomd.xml +27 -0
  62. data/test/data/rpms/update-test-11.1/update-test-affects-package-manager.rpm +0 -0
  63. data/test/data/rpms/update-test-11.1/update-test-interactive.rpm +0 -0
  64. data/test/data/rpms/update-test-11.1/update-test-optional.rpm +0 -0
  65. data/test/data/rpms/update-test-11.1/update-test-reboot-needed.rpm +0 -0
  66. data/test/data/rpms/update-test-11.1/update-test-security.rpm +0 -0
  67. data/test/data/rpms/update-test-11.1/update-test-trival.rpm +0 -0
  68. data/test/data/rpms/update-test-factory/update-test-affects-package-manager-0-9999.1.2.noarch.rpm +0 -0
  69. data/test/data/rpms/update-test-factory/update-test-interactive-0-9999.1.2.noarch.rpm +0 -0
  70. data/test/data/rpms/update-test-factory/update-test-optional-0-9999.1.2.noarch.rpm +0 -0
  71. data/test/data/rpms/update-test-factory/update-test-reboot-needed-0-9999.1.2.noarch.rpm +0 -0
  72. data/test/data/rpms/update-test-factory/update-test-relogin-suggested-0-9999.1.2.noarch.rpm +0 -0
  73. data/test/data/rpms/update-test-factory/update-test-security-0-9999.1.2.noarch.rpm +0 -0
  74. data/test/deltainfo_test.rb +50 -0
  75. data/test/extensions_test.rb +31 -0
  76. data/test/index_test.rb +51 -0
  77. data/test/primary_test.rb +51 -0
  78. data/test/products_test.rb +51 -0
  79. data/test/repo_test.rb +72 -0
  80. data/test/repomdindex_test.rb +58 -0
  81. data/test/rpmmd_test.rb +60 -0
  82. data/test/susedata_test.rb +53 -0
  83. data/test/tempdir_test.rb +62 -0
  84. data/test/test_helper.rb +53 -0
  85. data/test/update_test.rb +80 -0
  86. data/test/updateinfo_test.rb +59 -0
  87. metadata +267 -0
@@ -0,0 +1,58 @@
1
+ #--
2
+ #
3
+ # enhancerepo is a rpm-md repository metadata tool.
4
+ # Copyright (C) 2008, 2009 Novell Inc.
5
+ # Author: Duncan Mac-Vicar P. <dmacvicar@suse.de>
6
+ #
7
+ # This program is free software; you can redistribute it and/or modify
8
+ # it under the terms of the GNU General Public License as published by
9
+ # the Free Software Foundation; either version 2 of the License, or
10
+ # (at your option) any later version.
11
+ #
12
+ # This program is distributed in the hope that it will be useful,
13
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ # GNU General Public License for more details.
16
+ #
17
+ # You should have received a copy of the GNU General Public License
18
+ # along with this program; if not, write to the Free Software
19
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
20
+ # MA 02110-1301, USA. A copy of the GNU General Public License is
21
+ # also available at http://www.gnu.org/copyleft/gpl.html.
22
+ #
23
+ #++
24
+ #
25
+ require File.join(File.dirname(__FILE__), 'test_helper')
26
+ require 'enhance_repo'
27
+
28
+ class TC_RepoMdIndex < Test::Unit::TestCase
29
+
30
+ # def assert_not_diff(one, second, message = nil)
31
+ #
32
+ # message = build_message message, '<?> is not false or nil.', boolean
33
+ # assert_block message do
34
+ # not boolean
35
+ # end
36
+ # end
37
+
38
+ def setup
39
+ @index = EnhanceRepo::RpmMd::Index.new
40
+ end
41
+
42
+ # def teardown
43
+ # end
44
+
45
+ def test_read_write
46
+ repomdpath = test_data('repomd.xml')
47
+ index_content = File.new(repomdpath).read
48
+ @index.read_file(File.new(repomdpath))
49
+
50
+ # now that the file is parsed, lets test wether it
51
+ # is parsed correctly
52
+ assert_equal(3, @index.resources.size)
53
+
54
+ dump_content = String.new
55
+ @index.write(dump_content)
56
+ assert_xml_equal(index_content, dump_content)
57
+ end
58
+ end
@@ -0,0 +1,60 @@
1
+ #--
2
+ #
3
+ # enhancerepo is a rpm-md repository metadata tool.
4
+ # Copyright (C) 2008, 2009 Novell Inc.
5
+ # Author: Duncan Mac-Vicar P. <dmacvicar@suse.de>
6
+ #
7
+ # This program is free software; you can redistribute it and/or modify
8
+ # it under the terms of the GNU General Public License as published by
9
+ # the Free Software Foundation; either version 2 of the License, or
10
+ # (at your option) any later version.
11
+ #
12
+ # This program is distributed in the hope that it will be useful,
13
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ # GNU General Public License for more details.
16
+ #
17
+ # You should have received a copy of the GNU General Public License
18
+ # along with this program; if not, write to the Free Software
19
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
20
+ # MA 02110-1301, USA. A copy of the GNU General Public License is
21
+ # also available at http://www.gnu.org/copyleft/gpl.html.
22
+ #
23
+ #++
24
+ #
25
+ require File.join(File.dirname(__FILE__), 'test_helper')
26
+ require 'tmpdir'
27
+ require 'pathname'
28
+ require 'rubygems'
29
+ require 'enhance_repo'
30
+ require 'stringio'
31
+
32
+ class RpmMd_test < Test::Unit::TestCase
33
+
34
+ def setup
35
+ rpms = Pathname.new(File.join(File.dirname(__FILE__), 'data', 'rpms'))
36
+ @rpms1 = rpms + 'update-test-11.1'
37
+ @rpms3 = rpms + 'update-test-factory'
38
+ end
39
+
40
+ # def teardown
41
+ # end
42
+
43
+ def test_disk_info
44
+ config = EnhanceRepo::ConfigOpts.new
45
+ config.outputdir = Pathname.new(File.join(Dir.tmpdir, 'enhancerepo#{Time.now.to_i}'))
46
+ config.dir = @rpms1
47
+ @repo = EnhanceRepo::RpmMd::Repo.new(config)
48
+ @repo.primary.read_packages
49
+ out = StringIO.new
50
+ @repo.primary.write(out)
51
+ #puts out.string
52
+
53
+ end
54
+
55
+ def test_update_info
56
+ #config.generate_update = packages
57
+ end
58
+
59
+
60
+ end
@@ -0,0 +1,53 @@
1
+ #--
2
+ #
3
+ # enhancerepo is a rpm-md repository metadata tool.
4
+ # Copyright (C) 2008, 2009 Novell Inc.
5
+ # Author: Duncan Mac-Vicar P. <dmacvicar@suse.de>
6
+ #
7
+ # This program is free software; you can redistribute it and/or modify
8
+ # it under the terms of the GNU General Public License as published by
9
+ # the Free Software Foundation; either version 2 of the License, or
10
+ # (at your option) any later version.
11
+ #
12
+ # This program is distributed in the hope that it will be useful,
13
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ # GNU General Public License for more details.
16
+ #
17
+ # You should have received a copy of the GNU General Public License
18
+ # along with this program; if not, write to the Free Software
19
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
20
+ # MA 02110-1301, USA. A copy of the GNU General Public License is
21
+ # also available at http://www.gnu.org/copyleft/gpl.html.
22
+ #
23
+ #++
24
+ #
25
+ require File.join(File.dirname(__FILE__), 'test_helper')
26
+ require 'tmpdir'
27
+ require 'enhance_repo'
28
+ require 'stringio'
29
+ require 'zlib'
30
+
31
+ class SuseData_test < Test::Unit::TestCase
32
+
33
+ def setup
34
+ end
35
+
36
+ def test_xml_output
37
+ susedata = EnhanceRepo::RpmMd::SuseData.new(test_data('rpms/repo-1'))
38
+ susedata.add_disk_usage
39
+ susedata.add_keywords
40
+ susedata.add_eulas
41
+
42
+ assert ! susedata.empty?
43
+
44
+ assert_equal 3, susedata.size
45
+
46
+ Zlib::GzipReader.open(test_data('rpms/repo-1/repodata/susedata.xml.gz')) do |expected_susedata|
47
+
48
+ buffer = StringIO.new
49
+ susedata.write(buffer)
50
+ assert_xml_equal(expected_susedata.read, buffer.string)
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,62 @@
1
+ # Author:: Yuichi Tateno <hotchpotch@gmail.com>
2
+ # Copyright:: Copyright (c) 2008 Yuichi Tateno
3
+ # License:: MIT
4
+
5
+ require File.dirname(__FILE__) + '/test_helper.rb'
6
+
7
+ require "test/unit"
8
+ require "tempdir"
9
+ require "tempdir/tempfile"
10
+
11
+ class TempdirTest < Test::Unit::TestCase
12
+ def test_open
13
+ _dir = nil
14
+ Tempdir.open do |dir|
15
+ assert dir.directory?
16
+ assert_equal dir.class, Pathname
17
+ _dir = dir.clone
18
+ end
19
+ assert !_dir.directory?
20
+ end
21
+
22
+ def test_tempdir
23
+ begin
24
+ assert_equal Tempdir.tmpdir.to_s, Dir.tmpdir.to_s
25
+ Tempdir.tmpdir = Dir.tmpdir + '/foobar'
26
+ assert_equal Tempdir.tmpdir.to_s, Pathname.new(Dir.tmpdir + '/foobar').to_s
27
+ ensure
28
+ Tempdir.tmpdir = Dir.tmpdir
29
+ end
30
+ end
31
+
32
+ def test_new
33
+ tmpdir = Tempdir.new
34
+ assert tmpdir.dir.directory?
35
+ _dir = tmpdir.dir.clone
36
+ tmpdir.close
37
+ assert !_dir.directory?
38
+ end
39
+
40
+ def test_open_with_name
41
+ _dir = nil
42
+ Tempdir.open('adfklvucoiae89u893qakj') do |dir|
43
+ assert dir.directory?
44
+ _dir = dir.clone
45
+ end
46
+ assert !_dir.directory?
47
+ end
48
+
49
+ def test_new_with_name
50
+ tmpdir = Tempdir.new('asdfkjvijoaeeeeeegvafkldj12839uy')
51
+ assert tmpdir.dir.directory?
52
+ _dir = tmpdir.dir.clone
53
+ tmpdir.close
54
+ assert !_dir.directory?
55
+ end
56
+
57
+ def test_tempfile
58
+ Tempdir::Tempfile.open {|f|
59
+ assert f
60
+ }
61
+ end
62
+ end
@@ -0,0 +1,53 @@
1
+ #--
2
+ #
3
+ # enhancerepo is a rpm-md repository metadata tool.
4
+ # Copyright (C) 2008, 2009 Novell Inc.
5
+ # Author: Duncan Mac-Vicar P. <dmacvicar@suse.de>
6
+ #
7
+ # This program is free software; you can redistribute it and/or modify
8
+ # it under the terms of the GNU General Public License as published by
9
+ # the Free Software Foundation; either version 2 of the License, or
10
+ # (at your option) any later version.
11
+ #
12
+ # This program is distributed in the hope that it will be useful,
13
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ # GNU General Public License for more details.
16
+ #
17
+ # You should have received a copy of the GNU General Public License
18
+ # along with this program; if not, write to the Free Software
19
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
20
+ # MA 02110-1301, USA. A copy of the GNU General Public License is
21
+ # also available at http://www.gnu.org/copyleft/gpl.html.
22
+ #
23
+ #++
24
+ #
25
+ require 'rubygems'
26
+ require 'test/unit'
27
+ require 'shoulda'
28
+ require 'mocha'
29
+
30
+ $: << File.join(File.dirname(__FILE__), "..", "lib")
31
+ require 'enhance_repo'
32
+ require 'enhance_repo/xml_comparer'
33
+ require 'active_support'
34
+
35
+ EnhanceRepo::enable_logger
36
+
37
+ def test_data(name)
38
+ File.join(File.dirname(__FILE__), "data", name)
39
+ end
40
+
41
+ # compare xml files
42
+ module Test
43
+ module Unit
44
+ module Assertions
45
+ def assert_xml_equal(expected, result)
46
+ comparer = XmlComparer.new(:show_messages => true)
47
+ assert comparer.compare(expected, result)
48
+ end
49
+ end
50
+ end
51
+ end
52
+
53
+
@@ -0,0 +1,80 @@
1
+
2
+ #--
3
+ #
4
+ # enhancerepo is a rpm-md repository metadata tool.
5
+ # Copyright (C) 2008, 2009 Novell Inc.
6
+ # Author: Duncan Mac-Vicar P. <dmacvicar@suse.de>
7
+ #
8
+ # This program is free software; you can redistribute it and/or modify
9
+ # it under the terms of the GNU General Public License as published by
10
+ # the Free Software Foundation; either version 2 of the License, or
11
+ # (at your option) any later version.
12
+ #
13
+ # This program is distributed in the hope that it will be useful,
14
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ # GNU General Public License for more details.
17
+ #
18
+ # You should have received a copy of the GNU General Public License
19
+ # along with this program; if not, write to the Free Software
20
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
21
+ # MA 02110-1301, USA. A copy of the GNU General Public License is
22
+ # also available at http://www.gnu.org/copyleft/gpl.html.
23
+ #
24
+ #++
25
+ #
26
+ require File.join(File.dirname(__FILE__), 'test_helper')
27
+ require 'enhance_repo'
28
+ require 'enhance_repo/rpm_md/update'
29
+
30
+ require 'tempdir'
31
+ require 'stringio'
32
+
33
+ class Update_test < Test::Unit::TestCase
34
+
35
+ def setup
36
+ end
37
+
38
+ def test_smart_fill_blanks
39
+ update = EnhanceRepo::RpmMd::Update.new
40
+
41
+ update.description = "fix crash on exit"
42
+ #assert_equal "recommended", update
43
+
44
+ # simple test
45
+ update.description = "bnc#1245 b.nc-4566 BNC 123 cve-3443-434 CVE-3333 bug 1234"
46
+ refs = []
47
+ update.each_reference_for(:keyword => 'bnc', :href => 'http://novell.com/:id', :title => 'novell bug #:id') do |r|
48
+ refs << r
49
+ end
50
+ refs.each { |r| puts r.inspect }
51
+ assert_equal 3, refs.size, "3 references should be detected"
52
+
53
+ # test for FOO xxxx-yyyy
54
+ refs = []
55
+ update.each_reference_for(:keyword => 'cve', :href => 'http://cve.com/:id', :title => 'cve advisory #:id') do |r|
56
+ refs << r
57
+ end
58
+ refs.each { |r| puts r.inspect }
59
+ assert_equal 2, refs.size, "2 CVE references should be detected"
60
+
61
+ # test for multiple keywords
62
+ refs = []
63
+ update.each_reference_for(:keywords => ['bug', 'bnc'], :href => 'http://novell.com/:id', :title => 'bug #:id') do |r|
64
+ refs << r
65
+ end
66
+ refs.each { |r| puts r.inspect }
67
+ assert_equal 4, refs.size, "4 bugs should be detected"
68
+
69
+ # test the pre-configured reference detectors
70
+ refs = []
71
+ update.each_detected_reference do |r|
72
+ refs << r
73
+ end
74
+ puts
75
+ refs.each { |r| puts r.inspect }
76
+ assert_equal 5, refs.size, "4 bugs should be detected"
77
+
78
+ end
79
+
80
+ end
@@ -0,0 +1,59 @@
1
+
2
+ #--
3
+ #
4
+ # enhancerepo is a rpm-md repository metadata tool.
5
+ # Copyright (C) 2008, 2009 Novell Inc.
6
+ # Author: Duncan Mac-Vicar P. <dmacvicar@suse.de>
7
+ #
8
+ # This program is free software; you can redistribute it and/or modify
9
+ # it under the terms of the GNU General Public License as published by
10
+ # the Free Software Foundation; either version 2 of the License, or
11
+ # (at your option) any later version.
12
+ #
13
+ # This program is distributed in the hope that it will be useful,
14
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ # GNU General Public License for more details.
17
+ #
18
+ # You should have received a copy of the GNU General Public License
19
+ # along with this program; if not, write to the Free Software
20
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
21
+ # MA 02110-1301, USA. A copy of the GNU General Public License is
22
+ # also available at http://www.gnu.org/copyleft/gpl.html.
23
+ #
24
+ #++
25
+ #
26
+ require File.join(File.dirname(__FILE__), 'test_helper')
27
+ require 'enhance_repo'
28
+ require 'tempdir'
29
+ require 'stringio'
30
+
31
+ class UpdateInfo_test < Test::Unit::TestCase
32
+
33
+ def setup
34
+ end
35
+
36
+ def test_xml_output
37
+ config = EnhanceRepo::ConfigOpts.new
38
+ config.dir = test_data('rpms/repo-1')
39
+ updateinfo = EnhanceRepo::RpmMd::UpdateInfo.new(config)
40
+
41
+ Tempdir.open do |dir|
42
+ updateinfo.generate_update(['a', 'b'], File.join(dir, 'repoparts'))
43
+ puts Dir[File.join(dir, '*')]
44
+
45
+ updateinfo.read_repoparts(:repoparts_path => File.join(dir, 'repoparts'))
46
+
47
+ assert ! updateinfo.empty?, "updateinfo can't be empty"
48
+ assert_equal 1, updateinfo.size, "updateinfo contains 1 update"
49
+
50
+ Zlib::GzipReader.open(test_data('rpms/repo-1/repodata/updateinfo.xml.gz')) do |expected_updateinfo|
51
+ buffer = StringIO.new
52
+ updateinfo.write(buffer)
53
+ # assert_xml_equal(expected_updateinfo.read, buffer.string)
54
+ end
55
+
56
+ end
57
+
58
+ end
59
+ end
metadata ADDED
@@ -0,0 +1,267 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: enhancerepo
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.1
5
+ platform: ruby
6
+ authors:
7
+ - Duncan Mac-Vicar P.
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2010-02-17 00:00:00 +01:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: trollop
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.0.5
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: log4r
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 1.0.5
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: nokogiri
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: "1.4"
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: activesupport
47
+ type: :runtime
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: "2.3"
54
+ version:
55
+ - !ruby/object:Gem::Dependency
56
+ name: rubyforge
57
+ type: :development
58
+ version_requirement:
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: 2.0.3
64
+ version:
65
+ - !ruby/object:Gem::Dependency
66
+ name: gemcutter
67
+ type: :development
68
+ version_requirement:
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: 0.3.0
74
+ version:
75
+ - !ruby/object:Gem::Dependency
76
+ name: yard
77
+ type: :development
78
+ version_requirement:
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: 0.5.3
84
+ version:
85
+ - !ruby/object:Gem::Dependency
86
+ name: hoe-yard
87
+ type: :development
88
+ version_requirement:
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ version: 0.1.1
94
+ version:
95
+ - !ruby/object:Gem::Dependency
96
+ name: shoulda
97
+ type: :development
98
+ version_requirement:
99
+ version_requirements: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: "0"
104
+ version:
105
+ - !ruby/object:Gem::Dependency
106
+ name: mocha
107
+ type: :development
108
+ version_requirement:
109
+ version_requirements: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - ">="
112
+ - !ruby/object:Gem::Version
113
+ version: "0"
114
+ version:
115
+ - !ruby/object:Gem::Dependency
116
+ name: yard
117
+ type: :development
118
+ version_requirement:
119
+ version_requirements: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: "0"
124
+ version:
125
+ - !ruby/object:Gem::Dependency
126
+ name: hoe
127
+ type: :development
128
+ version_requirement:
129
+ version_requirements: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ version: 2.5.0
134
+ version:
135
+ description: |-
136
+ enhancerepo adds additional metadata to repommd repositories and
137
+ servers as the testbed for the specification
138
+ email:
139
+ - dmacvicar@suse.de
140
+ executables:
141
+ - enhancerepo
142
+ extensions: []
143
+
144
+ extra_rdoc_files:
145
+ - Manifest.txt
146
+ - README.rdoc
147
+ - CHANGELOG.rdoc
148
+ - TODO.rdoc
149
+ files:
150
+ - lib/enhance_repo.rb
151
+ - lib/tempdir/tempfile.rb
152
+ - lib/enhance_repo/xml_comparer.rb
153
+ - lib/enhance_repo/rpm_md.rb
154
+ - lib/enhance_repo/package_id.rb
155
+ - lib/enhance_repo/rpm_md/update.rb
156
+ - lib/enhance_repo/rpm_md/suse_data.rb
157
+ - lib/enhance_repo/rpm_md/primary.rb
158
+ - lib/enhance_repo/rpm_md/resource.rb
159
+ - lib/enhance_repo/rpm_md/data.rb
160
+ - lib/enhance_repo/rpm_md/delta_info.rb
161
+ - lib/enhance_repo/rpm_md/suse_info.rb
162
+ - lib/enhance_repo/rpm_md/other.rb
163
+ - lib/enhance_repo/rpm_md/index.rb
164
+ - lib/enhance_repo/rpm_md/update_smart_fields.rb
165
+ - lib/enhance_repo/rpm_md/update_info.rb
166
+ - lib/enhance_repo/rpm_md/file_lists.rb
167
+ - lib/enhance_repo/rpm_md/repo.rb
168
+ - lib/enhance_repo/rpm_md/products.rb
169
+ - lib/enhance_repo/rpm_md/extra_primary_data.rb
170
+ - lib/enhance_repo/other.rb
171
+ - lib/enhance_repo/cli.rb
172
+ - lib/enhance_repo/product_id.rb
173
+ - lib/enhance_repo/logger.rb
174
+ - lib/enhance_repo/config_opts.rb
175
+ - lib/tempdir.rb
176
+ - test/repo_test.rb
177
+ - test/susedata_test.rb
178
+ - test/updateinfo_test.rb
179
+ - test/tempdir_test.rb
180
+ - test/products_test.rb
181
+ - test/primary_test.rb
182
+ - test/rpmmd_test.rb
183
+ - test/test_helper.rb
184
+ - test/repomdindex_test.rb
185
+ - test/all_tests.rb
186
+ - test/index_test.rb
187
+ - test/deltainfo_test.rb
188
+ - test/extensions_test.rb
189
+ - test/update_test.rb
190
+ - test/data/rpms/repo-1/repodata/susedata.xml.gz
191
+ - test/data/rpms/repo-1/repodata/filelists.xml.gz
192
+ - test/data/rpms/repo-1/repodata/deltainfo.xml.gz.gz
193
+ - test/data/rpms/repo-1/repodata/deltainfo.xml.gz
194
+ - test/data/rpms/repo-1/repodata/other.xml.gz
195
+ - test/data/rpms/repo-1/repodata/updateinfo.xml.gz
196
+ - test/data/rpms/repo-1/repodata/repomd.xml
197
+ - test/data/rpms/repo-1/repodata/primary.xml.gz
198
+ - test/data/rpms/repo-1/a-1.0-0.x86_64.rpm
199
+ - test/data/rpms/repo-1/a-2.0-0.x86_64.rpm
200
+ - test/data/rpms/repo-1/a-1.0_2.0-0_0.x86_64.delta.rpm
201
+ - test/data/rpms/repo-1/repoparts/update-a-1.xml
202
+ - test/data/rpms/repo-with-product/repodata/filelists.xml.gz
203
+ - test/data/rpms/repo-with-product/repodata/products.xml.gz
204
+ - test/data/rpms/repo-with-product/repodata/other.xml.gz
205
+ - test/data/rpms/repo-with-product/repodata/repomd.xml
206
+ - test/data/rpms/repo-with-product/repodata/primary.xml.gz
207
+ - test/data/rpms/repo-with-product/a-1.0-0.x86_64.rpm
208
+ - test/data/rpms/repo-with-product/openSUSE-release-11.2-1.6.i586.rpm
209
+ - test/data/rpms/repo-with-product/openSUSE-release-dvd-11.2-1.6.i586.rpm
210
+ - test/data/rpms/update-test-factory/update-test-reboot-needed-0-9999.1.2.noarch.rpm
211
+ - test/data/rpms/update-test-factory/update-test-security-0-9999.1.2.noarch.rpm
212
+ - test/data/rpms/update-test-factory/update-test-affects-package-manager-0-9999.1.2.noarch.rpm
213
+ - test/data/rpms/update-test-factory/update-test-interactive-0-9999.1.2.noarch.rpm
214
+ - test/data/rpms/update-test-factory/update-test-relogin-suggested-0-9999.1.2.noarch.rpm
215
+ - test/data/rpms/update-test-factory/update-test-optional-0-9999.1.2.noarch.rpm
216
+ - test/data/rpms/update-test-11.1/update-test-trival.rpm
217
+ - test/data/rpms/update-test-11.1/update-test-optional.rpm
218
+ - test/data/rpms/update-test-11.1/update-test-security.rpm
219
+ - test/data/rpms/update-test-11.1/update-test-reboot-needed.rpm
220
+ - test/data/rpms/update-test-11.1/update-test-affects-package-manager.rpm
221
+ - test/data/rpms/update-test-11.1/update-test-interactive.rpm
222
+ - test/data/repodata/update-test-11.1/filelists.xml.gz
223
+ - test/data/repodata/update-test-11.1/other.xml.gz
224
+ - test/data/repodata/update-test-11.1/repomd.xml
225
+ - test/data/repodata/update-test-11.1/primary.xml.gz
226
+ - test/data/packages/a-2.0.spec
227
+ - test/data/packages/a-1.0.spec
228
+ - test/data/repomd.xml
229
+ - Rakefile
230
+ - README
231
+ - README.rdoc
232
+ - CHANGELOG.rdoc
233
+ - bin/enhancerepo
234
+ - Manifest.txt
235
+ - TODO.rdoc
236
+ has_rdoc: yard
237
+ homepage: http://en.opensuse.org/Enhancerepo
238
+ licenses: []
239
+
240
+ post_install_message:
241
+ rdoc_options:
242
+ - --title
243
+ - Enhancerepo Documentation
244
+ - --quiet
245
+ require_paths:
246
+ - lib
247
+ required_ruby_version: !ruby/object:Gem::Requirement
248
+ requirements:
249
+ - - ">="
250
+ - !ruby/object:Gem::Version
251
+ version: "0"
252
+ version:
253
+ required_rubygems_version: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - ">="
256
+ - !ruby/object:Gem::Version
257
+ version: "0"
258
+ version:
259
+ requirements: []
260
+
261
+ rubyforge_project: enhancerepo
262
+ rubygems_version: 1.3.5
263
+ signing_key:
264
+ specification_version: 3
265
+ summary: Adds additional information to repomd repositories
266
+ test_files:
267
+ - test/test_helper.rb