dgh 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -18,3 +18,6 @@ Cucumber::Rake::Task.new(:features)
18
18
 
19
19
  require 'yard'
20
20
  YARD::Rake::YardocTask.new
21
+
22
+ task :default => [:features, :spec]
23
+
@@ -0,0 +1,8 @@
1
+ TODO
2
+ ====
3
+
4
+ * Invoke apt-cache directly
5
+ * Prettier output
6
+ * Print versions to downgrade to
7
+ * Downgrade directly
8
+
@@ -31,8 +31,10 @@ a PPA that has since been removed from the system.
31
31
  s.require_paths = ["lib"]
32
32
 
33
33
  s.add_runtime_dependency('treetop', [">= 0"])
34
+ s.add_runtime_dependency('slop', ["~> 1.9.1"])
35
+ s.add_runtime_dependency('log_buddy', ["~> 0.6.0"])
34
36
 
35
- s.add_development_dependency('rake', '~> 0.9.0')
37
+ s.add_development_dependency('rake', ["~> 0.9.0"])
36
38
  s.add_development_dependency('rspec', ["~> 2.6.0"])
37
39
  s.add_development_dependency('yard', ["~> 0.6.0"])
38
40
  s.add_development_dependency('cucumber', [">= 0"])
@@ -4,6 +4,11 @@ Feature: report downgrade candidates
4
4
  I want to get a list of packages I need to downgrade
5
5
 
6
6
  Scenario: no downgradable packages
7
- Given that there are no downgradable packages
7
+ Given there are no downgradable packages
8
8
  When I run dgh
9
9
  Then no packages should be reported as downgrade candidates
10
+
11
+ Scenario: some downgradable packages
12
+ Given there are some downgradable packages
13
+ When I run dgh
14
+ Then those packages should be reported as downgrade candidates
@@ -1,11 +1,20 @@
1
- Given /^that there are no downgradable packages$/ do
2
- # pass
1
+ Given /^there are no downgradable packages$/ do
2
+ @policyfile = File.join(File.dirname(__FILE__), '..', 'support', 'policy_no_candidates.out')
3
3
  end
4
4
 
5
5
  When /^I run dgh$/ do
6
- @output = `#{File.join(File.dirname(__FILE__), '..', '..', 'bin', 'dgh')}`
6
+ @output = `#{File.join(File.dirname(__FILE__), '..', '..', 'bin', 'dgh')} #{@policyfile}`
7
7
  end
8
8
 
9
9
  Then /^no packages should be reported as downgrade candidates$/ do
10
- @output.length.should == 0
10
+ @output.should == ""
11
11
  end
12
+
13
+ Given /^there are some downgradable packages$/ do
14
+ @policyfile = File.join(File.dirname(__FILE__), '..', 'support', 'policy.out')
15
+ end
16
+
17
+ Then /^those packages should be reported as downgrade candidates$/ do
18
+ @output.should match /git-flow\nveracity\npicasa/
19
+ end
20
+
@@ -0,0 +1,193 @@
1
+ firefox:
2
+ Installed: 7.0~b5+build1+nobinonly-0ubuntu0.11.04.1~mfn1
3
+ Candidate: 7.0~b5+build1+nobinonly-0ubuntu0.11.04.1~mfn1
4
+ Version table:
5
+ *** 7.0~b5+build1+nobinonly-0ubuntu0.11.04.1~mfn1 0
6
+ 500 http://ppa.launchpad.net/mozillateam/firefox-next/ubuntu/ natty/main amd64 Packages
7
+ 100 /var/lib/dpkg/status
8
+ 6.0.2+build2+nobinonly-0ubuntu0.11.04.1 0
9
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty-updates/main amd64 Packages
10
+ 500 http://security.ubuntu.com/ubuntu/ natty-security/main amd64 Packages
11
+ 4.0+nobinonly-0ubuntu3 0
12
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
13
+ dpkg:
14
+ Installed: 1.16.0~ubuntu7
15
+ Candidate: 1.16.0~ubuntu7
16
+ Version table:
17
+ *** 1.16.0~ubuntu7 0
18
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
19
+ 100 /var/lib/dpkg/status
20
+ install-info:
21
+ Installed: 4.13a.dfsg.1-6ubuntu3
22
+ Candidate: 4.13a.dfsg.1-6ubuntu3
23
+ Version table:
24
+ *** 4.13a.dfsg.1-6ubuntu3 0
25
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
26
+ 100 /var/lib/dpkg/status
27
+ libc6:
28
+ Installed: 2.13-0ubuntu13
29
+ Candidate: 2.13-0ubuntu13
30
+ Version table:
31
+ *** 2.13-0ubuntu13 0
32
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
33
+ 100 /var/lib/dpkg/status
34
+ libacl1:
35
+ Installed: 2.2.49-4ubuntu2
36
+ Candidate: 2.2.49-4ubuntu2
37
+ Version table:
38
+ *** 2.2.49-4ubuntu2 0
39
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
40
+ 100 /var/lib/dpkg/status
41
+ libattr1:
42
+ Installed: 1:2.4.44-2ubuntu3
43
+ Candidate: 1:2.4.44-2ubuntu3
44
+ Version table:
45
+ *** 1:2.4.44-2ubuntu3 0
46
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
47
+ 100 /var/lib/dpkg/status
48
+ acpi-support:
49
+ Installed: 0.138
50
+ Candidate: 0.138
51
+ Version table:
52
+ *** 0.138 0
53
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
54
+ 100 /var/lib/dpkg/status
55
+ x11-xserver-utils:
56
+ Installed: 7.6+2
57
+ Candidate: 7.6+2
58
+ Version table:
59
+ *** 7.6+2 0
60
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
61
+ 100 /var/lib/dpkg/status
62
+ acpid:
63
+ Installed: 1:2.0.7-1ubuntu2
64
+ Candidate: 1:2.0.7-1ubuntu2
65
+ Version table:
66
+ *** 1:2.0.7-1ubuntu2 0
67
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
68
+ 100 /var/lib/dpkg/status
69
+ hdparm:
70
+ Installed: 9.32-1ubuntu3
71
+ Candidate: 9.32-1ubuntu3
72
+ Version table:
73
+ *** 9.32-1ubuntu3 0
74
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
75
+ 100 /var/lib/dpkg/status
76
+ lsb-base:
77
+ Installed: 4.0-0ubuntu11
78
+ Candidate: 4.0-0ubuntu11
79
+ Version table:
80
+ *** 4.0-0ubuntu11 0
81
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
82
+ 100 /var/lib/dpkg/status
83
+ powermgmt-base:
84
+ Installed: 1.31
85
+ Candidate: 1.31
86
+ Version table:
87
+ *** 1.31 0
88
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
89
+ 100 /var/lib/dpkg/status
90
+ laptop-detect:
91
+ Installed: 0.13.7ubuntu2
92
+ Candidate: 0.13.7ubuntu2
93
+ Version table:
94
+ *** 0.13.7ubuntu2 0
95
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
96
+ 100 /var/lib/dpkg/status
97
+ dmidecode:
98
+ Installed: 2.9-1.2build1
99
+ Candidate: 2.9-1.2build1
100
+ Version table:
101
+ *** 2.9-1.2build1 0
102
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
103
+ 100 /var/lib/dpkg/status
104
+ pm-utils:
105
+ Installed: 1.4.1-7
106
+ Candidate: 1.4.1-7
107
+ Version table:
108
+ *** 1.4.1-7 0
109
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
110
+ 100 /var/lib/dpkg/status
111
+ toshset:
112
+ Installed: 1.75-2
113
+ Candidate: 1.75-2
114
+ Version table:
115
+ *** 1.75-2 0
116
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
117
+ 100 /var/lib/dpkg/status
118
+ radeontool:
119
+ Installed: 1.6.1-1
120
+ Candidate: 1.6.1-1
121
+ Version table:
122
+ *** 1.6.1-1 0
123
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
124
+ 100 /var/lib/dpkg/status
125
+ xinput:
126
+ Installed: 1.5.3-2ubuntu1
127
+ Candidate: 1.5.3-2ubuntu1
128
+ Version table:
129
+ *** 1.5.3-2ubuntu1 0
130
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
131
+ 100 /var/lib/dpkg/status
132
+ wireless-tools:
133
+ Installed: 30~pre9-3ubuntu6
134
+ Candidate: 30~pre9-3ubuntu6
135
+ Version table:
136
+ *** 30~pre9-3ubuntu6 0
137
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
138
+ 100 /var/lib/dpkg/status
139
+ module-init-tools:
140
+ Installed: 3.12-1ubuntu6
141
+ Candidate: 3.12-1ubuntu6
142
+ Version table:
143
+ *** 3.12-1ubuntu6 0
144
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
145
+ 100 /var/lib/dpkg/status
146
+ adduser:
147
+ Installed: 3.112+nmu1ubuntu5
148
+ Candidate: 3.112+nmu1ubuntu5
149
+ Version table:
150
+ *** 3.112+nmu1ubuntu5 0
151
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
152
+ 100 /var/lib/dpkg/status
153
+ perl-base:
154
+ Installed: 5.10.1-17ubuntu4.1
155
+ Candidate: 5.10.1-17ubuntu4.1
156
+ Version table:
157
+ *** 5.10.1-17ubuntu4.1 0
158
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty-updates/main amd64 Packages
159
+ 500 http://security.ubuntu.com/ubuntu/ natty-security/main amd64 Packages
160
+ 100 /var/lib/dpkg/status
161
+ 5.10.1-17ubuntu4 0
162
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
163
+ passwd:
164
+ Installed: 1:4.1.4.2+svn3283-3ubuntu1
165
+ Candidate: 1:4.1.4.2+svn3283-3ubuntu1
166
+ Version table:
167
+ *** 1:4.1.4.2+svn3283-3ubuntu1 0
168
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
169
+ 100 /var/lib/dpkg/status
170
+ git-flow:
171
+ Installed: 0.4.1-0ppa4~1.gbp9917bc
172
+ Candidate: 0.4.1-0ppa4~1.gbp9917bc
173
+ Version table:
174
+ *** 0.4.1-0ppa4~1.gbp9917bc 0
175
+ 100 /var/lib/dpkg/status
176
+ 0.4.1-0ppa3 0
177
+ 500 http://ppa.launchpad.net/ilkka/myppa/ubuntu/ natty/main amd64 Packages
178
+ 0.4.1-0ppa2 0
179
+ 500 http://ppa.launchpad.net/ilkka/snapshot/ubuntu/ natty/main amd64 Packages
180
+ veracity:
181
+ Installed: 1.0.1nightly10535-natty1
182
+ Candidate: 1.0.1nightly10535-natty1
183
+ Version table:
184
+ *** 1.0.1nightly10535-natty1 0
185
+ 100 /var/lib/dpkg/status
186
+ 1.0.0nightly10517-natty1 0
187
+ 500 http://debian.sourcegear.com/ubuntu/ natty/main amd64 Packages
188
+ picasa:
189
+ Installed: 3.0.5744-02
190
+ Candidate: 3.0.5744-02
191
+ Version table:
192
+ *** 3.0.5744-02 0
193
+ 100 /var/lib/dpkg/status
@@ -0,0 +1,169 @@
1
+ firefox:
2
+ Installed: 7.0~b5+build1+nobinonly-0ubuntu0.11.04.1~mfn1
3
+ Candidate: 7.0~b5+build1+nobinonly-0ubuntu0.11.04.1~mfn1
4
+ Version table:
5
+ *** 7.0~b5+build1+nobinonly-0ubuntu0.11.04.1~mfn1 0
6
+ 500 http://ppa.launchpad.net/mozillateam/firefox-next/ubuntu/ natty/main amd64 Packages
7
+ 100 /var/lib/dpkg/status
8
+ 6.0.2+build2+nobinonly-0ubuntu0.11.04.1 0
9
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty-updates/main amd64 Packages
10
+ 500 http://security.ubuntu.com/ubuntu/ natty-security/main amd64 Packages
11
+ 4.0+nobinonly-0ubuntu3 0
12
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
13
+ dpkg:
14
+ Installed: 1.16.0~ubuntu7
15
+ Candidate: 1.16.0~ubuntu7
16
+ Version table:
17
+ *** 1.16.0~ubuntu7 0
18
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
19
+ 100 /var/lib/dpkg/status
20
+ install-info:
21
+ Installed: 4.13a.dfsg.1-6ubuntu3
22
+ Candidate: 4.13a.dfsg.1-6ubuntu3
23
+ Version table:
24
+ *** 4.13a.dfsg.1-6ubuntu3 0
25
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
26
+ 100 /var/lib/dpkg/status
27
+ libc6:
28
+ Installed: 2.13-0ubuntu13
29
+ Candidate: 2.13-0ubuntu13
30
+ Version table:
31
+ *** 2.13-0ubuntu13 0
32
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
33
+ 100 /var/lib/dpkg/status
34
+ libacl1:
35
+ Installed: 2.2.49-4ubuntu2
36
+ Candidate: 2.2.49-4ubuntu2
37
+ Version table:
38
+ *** 2.2.49-4ubuntu2 0
39
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
40
+ 100 /var/lib/dpkg/status
41
+ libattr1:
42
+ Installed: 1:2.4.44-2ubuntu3
43
+ Candidate: 1:2.4.44-2ubuntu3
44
+ Version table:
45
+ *** 1:2.4.44-2ubuntu3 0
46
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
47
+ 100 /var/lib/dpkg/status
48
+ acpi-support:
49
+ Installed: 0.138
50
+ Candidate: 0.138
51
+ Version table:
52
+ *** 0.138 0
53
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
54
+ 100 /var/lib/dpkg/status
55
+ x11-xserver-utils:
56
+ Installed: 7.6+2
57
+ Candidate: 7.6+2
58
+ Version table:
59
+ *** 7.6+2 0
60
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
61
+ 100 /var/lib/dpkg/status
62
+ acpid:
63
+ Installed: 1:2.0.7-1ubuntu2
64
+ Candidate: 1:2.0.7-1ubuntu2
65
+ Version table:
66
+ *** 1:2.0.7-1ubuntu2 0
67
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
68
+ 100 /var/lib/dpkg/status
69
+ hdparm:
70
+ Installed: 9.32-1ubuntu3
71
+ Candidate: 9.32-1ubuntu3
72
+ Version table:
73
+ *** 9.32-1ubuntu3 0
74
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
75
+ 100 /var/lib/dpkg/status
76
+ lsb-base:
77
+ Installed: 4.0-0ubuntu11
78
+ Candidate: 4.0-0ubuntu11
79
+ Version table:
80
+ *** 4.0-0ubuntu11 0
81
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
82
+ 100 /var/lib/dpkg/status
83
+ powermgmt-base:
84
+ Installed: 1.31
85
+ Candidate: 1.31
86
+ Version table:
87
+ *** 1.31 0
88
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
89
+ 100 /var/lib/dpkg/status
90
+ laptop-detect:
91
+ Installed: 0.13.7ubuntu2
92
+ Candidate: 0.13.7ubuntu2
93
+ Version table:
94
+ *** 0.13.7ubuntu2 0
95
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
96
+ 100 /var/lib/dpkg/status
97
+ dmidecode:
98
+ Installed: 2.9-1.2build1
99
+ Candidate: 2.9-1.2build1
100
+ Version table:
101
+ *** 2.9-1.2build1 0
102
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
103
+ 100 /var/lib/dpkg/status
104
+ pm-utils:
105
+ Installed: 1.4.1-7
106
+ Candidate: 1.4.1-7
107
+ Version table:
108
+ *** 1.4.1-7 0
109
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
110
+ 100 /var/lib/dpkg/status
111
+ toshset:
112
+ Installed: 1.75-2
113
+ Candidate: 1.75-2
114
+ Version table:
115
+ *** 1.75-2 0
116
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
117
+ 100 /var/lib/dpkg/status
118
+ radeontool:
119
+ Installed: 1.6.1-1
120
+ Candidate: 1.6.1-1
121
+ Version table:
122
+ *** 1.6.1-1 0
123
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
124
+ 100 /var/lib/dpkg/status
125
+ xinput:
126
+ Installed: 1.5.3-2ubuntu1
127
+ Candidate: 1.5.3-2ubuntu1
128
+ Version table:
129
+ *** 1.5.3-2ubuntu1 0
130
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
131
+ 100 /var/lib/dpkg/status
132
+ wireless-tools:
133
+ Installed: 30~pre9-3ubuntu6
134
+ Candidate: 30~pre9-3ubuntu6
135
+ Version table:
136
+ *** 30~pre9-3ubuntu6 0
137
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
138
+ 100 /var/lib/dpkg/status
139
+ module-init-tools:
140
+ Installed: 3.12-1ubuntu6
141
+ Candidate: 3.12-1ubuntu6
142
+ Version table:
143
+ *** 3.12-1ubuntu6 0
144
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
145
+ 100 /var/lib/dpkg/status
146
+ adduser:
147
+ Installed: 3.112+nmu1ubuntu5
148
+ Candidate: 3.112+nmu1ubuntu5
149
+ Version table:
150
+ *** 3.112+nmu1ubuntu5 0
151
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
152
+ 100 /var/lib/dpkg/status
153
+ perl-base:
154
+ Installed: 5.10.1-17ubuntu4.1
155
+ Candidate: 5.10.1-17ubuntu4.1
156
+ Version table:
157
+ *** 5.10.1-17ubuntu4.1 0
158
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty-updates/main amd64 Packages
159
+ 500 http://security.ubuntu.com/ubuntu/ natty-security/main amd64 Packages
160
+ 100 /var/lib/dpkg/status
161
+ 5.10.1-17ubuntu4 0
162
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
163
+ passwd:
164
+ Installed: 1:4.1.4.2+svn3283-3ubuntu1
165
+ Candidate: 1:4.1.4.2+svn3283-3ubuntu1
166
+ Version table:
167
+ *** 1:4.1.4.2+svn3283-3ubuntu1 0
168
+ 500 http://fi.archive.ubuntu.com/ubuntu/ natty/main amd64 Packages
169
+ 100 /var/lib/dpkg/status
data/lib/dgh.rb CHANGED
@@ -1,5 +1,8 @@
1
1
  require 'treetop'
2
2
  require 'policy'
3
+ require 'slop'
4
+ require 'logger'
5
+ require 'log_buddy'
3
6
 
4
7
  module Dgh
5
8
  extend self
@@ -26,17 +29,29 @@ module Dgh
26
29
 
27
30
  class << self
28
31
  def run
32
+ opts = Slop.parse do
33
+ banner "Usage: dgh [options] inputfile(s)"
34
+ on :d, :debug, 'Output debug messages'
35
+ on :h, :help, 'Output help message', :tail => true do
36
+ puts help
37
+ exit
38
+ end
39
+ end
40
+
41
+ log = Logger.new(STDOUT)
42
+ log.level = Logger::DEBUG
43
+ LogBuddy.init :default_loggger => log, :disabled => !opts[:debug]
44
+
29
45
  if ARGV.empty? || ARGV.any? {|a| !File.exist? a}
30
- puts "dgh, the Debian/Ubuntu Downgrade Helper"
31
- puts "Usage: dgh <apt-cache policy listing>"
46
+ puts opts.help
32
47
  puts "You can generate a policy listing by running e.g."
33
48
  puts "`dpkg --get-selections|egrep '\\binstall'|awk '{print $1}'|\\"
34
49
  puts " xargs env LANG=C apt-cache policy`"
35
50
  else
36
51
  ARGV.each do |f|
37
- puts "Parsing #{f}:"
52
+ d "Parsing #{f}"
38
53
  find_downgradable(parse(File.open(f).read).content).each do |pkg|
39
- puts " " + pkg[:name]
54
+ puts pkg[:name]
40
55
  end
41
56
  end
42
57
  end
@@ -2,7 +2,7 @@ module Dgh
2
2
  module Version
3
3
  MAJOR = 0
4
4
  MINOR = 1
5
- PATCH = 2
5
+ PATCH = 3
6
6
  BUILD = nil
7
7
  end
8
8
 
@@ -34,6 +34,7 @@ end
34
34
  watch('^spec/.+_spec\.rb$') { |md| spec md[0] }
35
35
  watch('^lib/.+\.rb$') { |md| spec "spec/#{File.basename(md[0]).gsub(/\..*?$/, '')}_spec.rb" }
36
36
  watch('^features/.+\.feature$') { |md| feature md[0] }
37
+ watch('^features/step_definitions/(.+)_steps\.rb$') { |md| feature "features/#{md[1]}.feature" }
37
38
  watch('^lib/.+\.treetop$') { |md| treetop md[0]; run_suite }
38
39
 
39
40
  # Notify using notify-send.
metadata CHANGED
@@ -1,136 +1,161 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: dgh
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.3
4
5
  prerelease:
5
- version: 0.1.2
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Ilkka Laukkanen
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-05-23 00:00:00 +03:00
14
- default_executable: dgh
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
12
+ date: 2011-09-18 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
17
15
  name: treetop
16
+ requirement: &9588880 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
18
23
  prerelease: false
19
- requirement: &id001 !ruby/object:Gem::Requirement
24
+ version_requirements: *9588880
25
+ - !ruby/object:Gem::Dependency
26
+ name: slop
27
+ requirement: &9588360 !ruby/object:Gem::Requirement
20
28
  none: false
21
- requirements:
22
- - - ">="
23
- - !ruby/object:Gem::Version
24
- version: "0"
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: 1.9.1
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *9588360
36
+ - !ruby/object:Gem::Dependency
37
+ name: log_buddy
38
+ requirement: &9587880 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ version: 0.6.0
25
44
  type: :runtime
26
- version_requirements: *id001
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
45
  prerelease: false
30
- requirement: &id002 !ruby/object:Gem::Requirement
46
+ version_requirements: *9587880
47
+ - !ruby/object:Gem::Dependency
48
+ name: rake
49
+ requirement: &9587400 !ruby/object:Gem::Requirement
31
50
  none: false
32
- requirements:
51
+ requirements:
33
52
  - - ~>
34
- - !ruby/object:Gem::Version
53
+ - !ruby/object:Gem::Version
35
54
  version: 0.9.0
36
55
  type: :development
37
- version_requirements: *id002
38
- - !ruby/object:Gem::Dependency
39
- name: rspec
40
56
  prerelease: false
41
- requirement: &id003 !ruby/object:Gem::Requirement
57
+ version_requirements: *9587400
58
+ - !ruby/object:Gem::Dependency
59
+ name: rspec
60
+ requirement: &9586920 !ruby/object:Gem::Requirement
42
61
  none: false
43
- requirements:
62
+ requirements:
44
63
  - - ~>
45
- - !ruby/object:Gem::Version
64
+ - !ruby/object:Gem::Version
46
65
  version: 2.6.0
47
66
  type: :development
48
- version_requirements: *id003
49
- - !ruby/object:Gem::Dependency
50
- name: yard
51
67
  prerelease: false
52
- requirement: &id004 !ruby/object:Gem::Requirement
68
+ version_requirements: *9586920
69
+ - !ruby/object:Gem::Dependency
70
+ name: yard
71
+ requirement: &9586440 !ruby/object:Gem::Requirement
53
72
  none: false
54
- requirements:
73
+ requirements:
55
74
  - - ~>
56
- - !ruby/object:Gem::Version
75
+ - !ruby/object:Gem::Version
57
76
  version: 0.6.0
58
77
  type: :development
59
- version_requirements: *id004
60
- - !ruby/object:Gem::Dependency
61
- name: cucumber
62
78
  prerelease: false
63
- requirement: &id005 !ruby/object:Gem::Requirement
79
+ version_requirements: *9586440
80
+ - !ruby/object:Gem::Dependency
81
+ name: cucumber
82
+ requirement: &9585960 !ruby/object:Gem::Requirement
64
83
  none: false
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: "0"
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
69
88
  type: :development
70
- version_requirements: *id005
71
- - !ruby/object:Gem::Dependency
72
- name: bundler
73
89
  prerelease: false
74
- requirement: &id006 !ruby/object:Gem::Requirement
90
+ version_requirements: *9585960
91
+ - !ruby/object:Gem::Dependency
92
+ name: bundler
93
+ requirement: &9585480 !ruby/object:Gem::Requirement
75
94
  none: false
76
- requirements:
95
+ requirements:
77
96
  - - ~>
78
- - !ruby/object:Gem::Version
97
+ - !ruby/object:Gem::Version
79
98
  version: 1.0.13
80
99
  type: :development
81
- version_requirements: *id006
82
- - !ruby/object:Gem::Dependency
83
- name: jeweler
84
100
  prerelease: false
85
- requirement: &id007 !ruby/object:Gem::Requirement
101
+ version_requirements: *9585480
102
+ - !ruby/object:Gem::Dependency
103
+ name: jeweler
104
+ requirement: &9585000 !ruby/object:Gem::Requirement
86
105
  none: false
87
- requirements:
106
+ requirements:
88
107
  - - ~>
89
- - !ruby/object:Gem::Version
108
+ - !ruby/object:Gem::Version
90
109
  version: 1.5.2
91
110
  type: :development
92
- version_requirements: *id007
93
- - !ruby/object:Gem::Dependency
94
- name: spork
95
111
  prerelease: false
96
- requirement: &id008 !ruby/object:Gem::Requirement
112
+ version_requirements: *9585000
113
+ - !ruby/object:Gem::Dependency
114
+ name: spork
115
+ requirement: &9584520 !ruby/object:Gem::Requirement
97
116
  none: false
98
- requirements:
99
- - - ">="
100
- - !ruby/object:Gem::Version
101
- version: "0"
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
102
121
  type: :development
103
- version_requirements: *id008
104
- - !ruby/object:Gem::Dependency
105
- name: watchr
106
122
  prerelease: false
107
- requirement: &id009 !ruby/object:Gem::Requirement
123
+ version_requirements: *9584520
124
+ - !ruby/object:Gem::Dependency
125
+ name: watchr
126
+ requirement: &9584040 !ruby/object:Gem::Requirement
108
127
  none: false
109
- requirements:
110
- - - ">="
111
- - !ruby/object:Gem::Version
112
- version: "0"
128
+ requirements:
129
+ - - ! '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
113
132
  type: :development
114
- version_requirements: *id009
115
- description: |
116
- Dgh helps when you have to manually downgrade a large amount of packages.
133
+ prerelease: false
134
+ version_requirements: *9584040
135
+ description: ! 'Dgh helps when you have to manually downgrade a large amount of packages.
136
+
117
137
  It requires the user to generate a file with `apt-cache policy` output for all
138
+
118
139
  installed packages, which it then reads. It looks for packages that have a
119
- currently installed version that doesn't exist in any repository, and prints
140
+
141
+ currently installed version that doesn''t exist in any repository, and prints
142
+
120
143
  those. This includes both locally generated packages that never did exist in
144
+
121
145
  any repository, and more crucially, packages that have been upgraded from e.g.
146
+
122
147
  a PPA that has since been removed from the system.
123
148
 
124
- email:
149
+ '
150
+ email:
125
151
  - ilkka.s.laukkanen@gmail.com
126
- executables:
152
+ executables:
127
153
  - dgh
128
154
  extensions: []
129
-
130
- extra_rdoc_files:
155
+ extra_rdoc_files:
131
156
  - LICENSE.txt
132
157
  - README.rdoc
133
- files:
158
+ files:
134
159
  - .document
135
160
  - .gitignore
136
161
  - .rspec
@@ -139,12 +164,15 @@ files:
139
164
  - LICENSE.txt
140
165
  - README.rdoc
141
166
  - Rakefile
167
+ - TODO.txt
142
168
  - bin/dgh
143
169
  - cucumber.yml
144
170
  - dgh.gemspec
145
171
  - features/dgh.feature
146
172
  - features/step_definitions/dgh_steps.rb
147
173
  - features/support/env.rb
174
+ - features/support/policy.out
175
+ - features/support/policy_no_candidates.out
148
176
  - lib/dgh.rb
149
177
  - lib/dgh/version.rb
150
178
  - lib/policy.rb
@@ -152,33 +180,29 @@ files:
152
180
  - spec/dgh_spec.rb
153
181
  - spec/spec_helper.rb
154
182
  - tests.watchr
155
- has_rdoc: true
156
183
  homepage: http://github.com/ilkka/dgh
157
- licenses:
184
+ licenses:
158
185
  - GPLv3
159
186
  post_install_message:
160
187
  rdoc_options: []
161
-
162
- require_paths:
188
+ require_paths:
163
189
  - lib
164
- required_ruby_version: !ruby/object:Gem::Requirement
190
+ required_ruby_version: !ruby/object:Gem::Requirement
165
191
  none: false
166
- requirements:
167
- - - ">="
168
- - !ruby/object:Gem::Version
169
- version: "0"
170
- required_rubygems_version: !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - ! '>='
194
+ - !ruby/object:Gem::Version
195
+ version: '0'
196
+ required_rubygems_version: !ruby/object:Gem::Requirement
171
197
  none: false
172
- requirements:
173
- - - ">="
174
- - !ruby/object:Gem::Version
175
- version: "0"
198
+ requirements:
199
+ - - ! '>='
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
176
202
  requirements: []
177
-
178
203
  rubyforge_project:
179
- rubygems_version: 1.5.2
204
+ rubygems_version: 1.8.6
180
205
  signing_key:
181
206
  specification_version: 3
182
207
  summary: The Debian/Ubuntu Downgrade Helper
183
208
  test_files: []
184
-