dgh 0.1.2 → 0.1.3

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.
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
-