dr 1.0.1 → 1.0.2
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/bin/dr +39 -0
- data/{dr.spec → dr.gemspec} +0 -0
- data/lib/dr/pkgversion.rb +141 -33
- data/lib/dr/version.rb +1 -1
- data/spec/pkgversion_spec.rb +180 -0
- metadata +42 -29
- checksums.yaml +0 -7
data/bin/dr
CHANGED
@@ -539,6 +539,45 @@ class RepoCLI < ExtendedThor
|
|
539
539
|
end
|
540
540
|
|
541
541
|
|
542
|
+
desc "suite-diff", "Show the differences between packages in two suites"
|
543
|
+
def suite_diff(first, second)
|
544
|
+
repo = get_repo_handle
|
545
|
+
|
546
|
+
first = repo.codename_to_suite first
|
547
|
+
if !first
|
548
|
+
log :err, "Can't find the #{first.fg 'blue'} suite in this repo"
|
549
|
+
raise "Suite doesn't exist"
|
550
|
+
end
|
551
|
+
|
552
|
+
second = repo.codename_to_suite second
|
553
|
+
if !second
|
554
|
+
log :err, "Can't find the #{second.fg 'blue'} suite in this repo"
|
555
|
+
raise "Suite doesn't exist"
|
556
|
+
end
|
557
|
+
|
558
|
+
log :info, "Showing the differences between #{first.fg 'green'} and #{second.fg 'red'}"
|
559
|
+
repo.list_packages(first).each do |pkg|
|
560
|
+
first_v = repo.get_subpackage_versions(pkg.name)[first].values.max
|
561
|
+
|
562
|
+
if !repo.suite_has_package? second, pkg.name
|
563
|
+
log :info, "#{pkg.name.fg 'orange'} is in #{first.fg 'green'} but not in #{second.fg 'red'}"
|
564
|
+
next
|
565
|
+
end
|
566
|
+
|
567
|
+
second_v = repo.get_subpackage_versions(pkg.name)[second].values.max
|
568
|
+
if Dr::PkgVersion.new(first_v) != Dr::PkgVersion.new(second_v)
|
569
|
+
log :info, "#{pkg.name.fg 'orange'} #{first_v.fg 'green'} != #{second_v.fg 'red'}"
|
570
|
+
end
|
571
|
+
end
|
572
|
+
|
573
|
+
repo.list_packages(second).each do |pkg|
|
574
|
+
if !repo.suite_has_package? first, pkg.name
|
575
|
+
log :info, "#{pkg.name.fg 'orange'} is in #{second.fg 'red'} but not in #{first.fg 'green'}"
|
576
|
+
end
|
577
|
+
end
|
578
|
+
end
|
579
|
+
|
580
|
+
|
542
581
|
desc "force-sync", "Force cloning the sources repository from scratch again"
|
543
582
|
method_option :url, :aliases => "-u", :type => :string,
|
544
583
|
:desc => "The URL to clone from"
|
data/{dr.spec → dr.gemspec}
RENAMED
File without changes
|
data/lib/dr/pkgversion.rb
CHANGED
@@ -1,30 +1,49 @@
|
|
1
|
-
# Copyright (C) 2014 Kano Computing Ltd.
|
2
|
-
# License: http://www.gnu.org/licenses/gpl-2.0.txt GNU
|
1
|
+
# Copyright (C) 2014, 2015 Kano Computing Ltd.
|
2
|
+
# License: http://www.gnu.org/licenses/gpl-2.0.txt GNU GPL v2
|
3
3
|
|
4
4
|
module Dr
|
5
5
|
class PkgVersion
|
6
|
-
attr_accessor :upstream, :debian, :date, :build
|
6
|
+
attr_accessor :epoch, :upstream, :debian, :date, :build
|
7
7
|
|
8
8
|
def initialize(version_string)
|
9
|
-
@
|
10
|
-
@
|
11
|
-
@
|
12
|
-
@
|
9
|
+
@epoch = 0 # integer
|
10
|
+
@upstream = "" # string
|
11
|
+
@debian = "" # string
|
12
|
+
@date = 0 # integer
|
13
|
+
@build = 0 # integer
|
13
14
|
|
14
|
-
v = version_string.split "
|
15
|
-
@upstream = v[0] if v.length > 0
|
15
|
+
v = version_string.split ":"
|
16
16
|
if v.length > 1
|
17
|
-
|
17
|
+
@epoch = v[0].to_i
|
18
|
+
version_string = v[1..-1].join ":"
|
19
|
+
end
|
18
20
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
21
|
+
v = version_string.split "-"
|
22
|
+
if v.length == 1
|
23
|
+
@upstream = version_string
|
24
|
+
else
|
25
|
+
@upstream = v[0...-1].join "-"
|
24
26
|
|
25
|
-
|
26
|
-
|
27
|
-
|
27
|
+
# Check whether the is a build tag in the debian version
|
28
|
+
dv = v[-1].split "."
|
29
|
+
if dv.length == 1
|
30
|
+
@debian = v[-1]
|
31
|
+
else
|
32
|
+
@debian = dv[0]
|
33
|
+
|
34
|
+
build_tag = dv[1..-1].join "."
|
35
|
+
|
36
|
+
if build_tag =~ /^[0-9]{8}/
|
37
|
+
@date = dv[1][0..7].to_i
|
38
|
+
|
39
|
+
match = dv[1].match(/build([0-9]+)$/)
|
40
|
+
if match
|
41
|
+
@build = match.captures[0].to_i
|
42
|
+
end
|
43
|
+
else
|
44
|
+
# The part behind the '.' isn't a valid build tag,
|
45
|
+
# append the string back to debian version.
|
46
|
+
@debian << '.' << build_tag
|
28
47
|
end
|
29
48
|
end
|
30
49
|
end
|
@@ -41,35 +60,40 @@ module Dr
|
|
41
60
|
end
|
42
61
|
|
43
62
|
def <(o)
|
44
|
-
|
63
|
+
compare(o) < 0
|
64
|
+
end
|
65
|
+
|
66
|
+
def >(o)
|
67
|
+
compare(o) > 0
|
45
68
|
end
|
46
69
|
|
47
70
|
def <=(o)
|
48
|
-
|
71
|
+
compare(o) <= 0
|
72
|
+
end
|
73
|
+
|
74
|
+
def >=(o)
|
75
|
+
compare(o) >= 0
|
49
76
|
end
|
50
77
|
|
51
78
|
def ==(o)
|
52
|
-
|
79
|
+
compare(o) == 0
|
53
80
|
end
|
54
81
|
|
55
82
|
def to_s
|
56
83
|
v = @upstream.clone
|
57
|
-
|
84
|
+
|
85
|
+
if @epoch > 0
|
86
|
+
v = "#{@epoch}:{v}"
|
87
|
+
end
|
88
|
+
|
89
|
+
if @debian.length > 0
|
58
90
|
v << "-#{@debian}"
|
59
|
-
else
|
60
|
-
v << "-0"
|
61
91
|
end
|
62
92
|
|
63
|
-
if @date
|
93
|
+
if @date > 0
|
64
94
|
v << ".#{@date}"
|
65
|
-
else
|
66
|
-
v << ".#{today}"
|
67
|
-
end
|
68
95
|
|
69
|
-
|
70
|
-
if @build < 10
|
71
|
-
v << "build0#{@build}"
|
72
|
-
else
|
96
|
+
if @build > 0
|
73
97
|
v << "build#{@build}"
|
74
98
|
end
|
75
99
|
end
|
@@ -79,7 +103,8 @@ module Dr
|
|
79
103
|
|
80
104
|
def source
|
81
105
|
v = "#{upstream}"
|
82
|
-
v
|
106
|
+
v = "#{epoch}:#{v}" if @epoch > 0
|
107
|
+
v << "-#{debian}" if @debian.length > 0
|
83
108
|
v
|
84
109
|
end
|
85
110
|
|
@@ -87,5 +112,88 @@ module Dr
|
|
87
112
|
def today
|
88
113
|
Time.now.strftime "%Y%m%d"
|
89
114
|
end
|
115
|
+
|
116
|
+
def compare(o)
|
117
|
+
return @epoch <=> o.epoch if @epoch != o.epoch
|
118
|
+
|
119
|
+
result = debian_version_string_compare @upstream, o.upstream
|
120
|
+
return result if result != 0
|
121
|
+
|
122
|
+
result = debian_version_string_compare @debian, o.debian
|
123
|
+
return result if result != 0
|
124
|
+
|
125
|
+
result = @date <=> o.date
|
126
|
+
return result if result != 0
|
127
|
+
|
128
|
+
@build <=> o.build
|
129
|
+
end
|
130
|
+
|
131
|
+
# Compare two version strings (either upstream or debian versions)
|
132
|
+
# in the Debian way
|
133
|
+
def debian_version_string_compare(str1, str2)
|
134
|
+
phase = :string
|
135
|
+
while true
|
136
|
+
return 0 if str1.length == 0 && str2.length == 0
|
137
|
+
return -1 if str1.length == 0
|
138
|
+
return 1 if str2.length == 0
|
139
|
+
|
140
|
+
if phase == :digit
|
141
|
+
part1 = str1.match(/^[0-9]*/)[0]
|
142
|
+
str1 = str1.sub(/^[0-9]*/, "")
|
143
|
+
|
144
|
+
part2 = str2.match(/^[0-9]*/)[0]
|
145
|
+
str2 = str2.sub(/^[0-9]*/, "")
|
146
|
+
|
147
|
+
result = part1.to_i <=> part2.to_i
|
148
|
+
return result if result != 0
|
149
|
+
phase = :string
|
150
|
+
else
|
151
|
+
part1 = str1.match(/^[^0-9]*/)[0]
|
152
|
+
str1 = str1.sub(/^[^0-9]*/, "")
|
153
|
+
|
154
|
+
part2 = str2.match(/^[^0-9]*/)[0]
|
155
|
+
str2 = str2.sub(/^[^0-9]*/, "")
|
156
|
+
|
157
|
+
result = debian_string_compare part1, part2
|
158
|
+
return result if result != 0
|
159
|
+
phase = :digit
|
160
|
+
end
|
161
|
+
end
|
162
|
+
end
|
163
|
+
|
164
|
+
# Compare two strings without any digits in the Debian way
|
165
|
+
def debian_string_compare(str1, str2)
|
166
|
+
return 0 if str1.length == 0 && str2.length == 0
|
167
|
+
return -1 if str1.length == 0
|
168
|
+
return 1 if str2.length == 0
|
169
|
+
|
170
|
+
c1 = str1[0]
|
171
|
+
c2 = str2[0]
|
172
|
+
|
173
|
+
# Both characters are letters and are not equal
|
174
|
+
# -> compare them and return the result
|
175
|
+
return c1 <=> c2 if is_letter(c1) && is_letter(c2) && c1 != c2
|
176
|
+
|
177
|
+
# Both characters are non-letters and are not equal
|
178
|
+
# We need to sort out ~ being less than everything
|
179
|
+
if !is_letter(c1) && !is_letter(c2)
|
180
|
+
if c1 != c2
|
181
|
+
return -1 if c1 == '~'
|
182
|
+
return 1 if c2 == '~'
|
183
|
+
return c1 <=> c2
|
184
|
+
end
|
185
|
+
end
|
186
|
+
|
187
|
+
# If one is a letter and one isn't, non-letter is always smaller
|
188
|
+
return -1 if !is_letter(c1) && is_letter(c2)
|
189
|
+
return 1 if is_letter(c1) && !is_letter(c2)
|
190
|
+
|
191
|
+
# The characters are equal, compare the rest of the string
|
192
|
+
return debian_string_compare str1[1..-1], str2[1..-1]
|
193
|
+
end
|
194
|
+
|
195
|
+
def is_letter(str)
|
196
|
+
(str =~ /[a-z]/i) != nil
|
197
|
+
end
|
90
198
|
end
|
91
199
|
end
|
data/lib/dr/version.rb
CHANGED
@@ -0,0 +1,180 @@
|
|
1
|
+
# Tests for the PkgVersion class
|
2
|
+
#
|
3
|
+
# Copyright (C) 2015 Kano Computing Ltd.
|
4
|
+
# License: http://www.gnu.org/licenses/gpl-2.0.txt GNU GPL v2
|
5
|
+
|
6
|
+
require 'dr/pkgversion'
|
7
|
+
|
8
|
+
describe Dr do
|
9
|
+
describe 'PkgVersion' do
|
10
|
+
describe "compare based on epoch" do
|
11
|
+
it "works when smaller" do
|
12
|
+
one = Dr::PkgVersion.new('1:1.5-1')
|
13
|
+
two = Dr::PkgVersion.new('2:1.5-1')
|
14
|
+
|
15
|
+
expect(one < two).to be_true
|
16
|
+
end
|
17
|
+
|
18
|
+
it "works when equal" do
|
19
|
+
one = Dr::PkgVersion.new('1:2.7-2')
|
20
|
+
two = Dr::PkgVersion.new('1:2.7-2')
|
21
|
+
|
22
|
+
expect(one == two).to be_true
|
23
|
+
end
|
24
|
+
|
25
|
+
it "works when smaller" do
|
26
|
+
one = Dr::PkgVersion.new('2:3.6-1')
|
27
|
+
two = Dr::PkgVersion.new('1:3.5')
|
28
|
+
|
29
|
+
expect(one > two).to be_true
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
describe "compare based on upstram version" do
|
34
|
+
it "works when epoch is equal" do
|
35
|
+
one = Dr::PkgVersion.new('1:1.5-1')
|
36
|
+
two = Dr::PkgVersion.new('1:1.6-1')
|
37
|
+
|
38
|
+
expect(one < two).to be_true
|
39
|
+
end
|
40
|
+
|
41
|
+
it "works when smaller" do
|
42
|
+
one = Dr::PkgVersion.new('1-1')
|
43
|
+
two = Dr::PkgVersion.new('2')
|
44
|
+
|
45
|
+
expect(one < two).to be_true
|
46
|
+
end
|
47
|
+
|
48
|
+
it "works when smaller with string inbetween" do
|
49
|
+
one = Dr::PkgVersion.new('1.5')
|
50
|
+
two = Dr::PkgVersion.new('1.16-5')
|
51
|
+
|
52
|
+
expect(one < two).to be_true
|
53
|
+
end
|
54
|
+
|
55
|
+
it "works when equal" do
|
56
|
+
one = Dr::PkgVersion.new('1.5-5')
|
57
|
+
two = Dr::PkgVersion.new('1.5-5')
|
58
|
+
|
59
|
+
expect(one == two).to be_true
|
60
|
+
end
|
61
|
+
|
62
|
+
it "equal with no debian version" do
|
63
|
+
one = Dr::PkgVersion.new('15')
|
64
|
+
two = Dr::PkgVersion.new('15')
|
65
|
+
|
66
|
+
expect(one == two).to be_true
|
67
|
+
end
|
68
|
+
|
69
|
+
it "works when bigger" do
|
70
|
+
one = Dr::PkgVersion.new('6.5')
|
71
|
+
two = Dr::PkgVersion.new('1.16-5')
|
72
|
+
|
73
|
+
expect(one > two).to be_true
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
describe "compare based on debian version" do
|
78
|
+
it "smaller comparison" do
|
79
|
+
one = Dr::PkgVersion.new('1.5-1')
|
80
|
+
two = Dr::PkgVersion.new('1.5-2')
|
81
|
+
|
82
|
+
expect(one < two).to be_true
|
83
|
+
end
|
84
|
+
|
85
|
+
it "equal comparison" do
|
86
|
+
one = Dr::PkgVersion.new('1.5-2')
|
87
|
+
two = Dr::PkgVersion.new('1.5-2')
|
88
|
+
|
89
|
+
expect(one == two).to be_true
|
90
|
+
end
|
91
|
+
|
92
|
+
it "bigger comparison" do
|
93
|
+
one = Dr::PkgVersion.new('1.5-11')
|
94
|
+
two = Dr::PkgVersion.new('1.5-9')
|
95
|
+
|
96
|
+
expect(one > two).to be_true
|
97
|
+
end
|
98
|
+
|
99
|
+
it "substring comparison" do
|
100
|
+
one = Dr::PkgVersion.new('1.5-111')
|
101
|
+
two = Dr::PkgVersion.new('1.5-11')
|
102
|
+
|
103
|
+
expect(one > two).to be_true
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
describe "build tags" do
|
108
|
+
it "build date parsed correctly" do
|
109
|
+
v = Dr::PkgVersion.new('1.5-1.20150323')
|
110
|
+
expect(v.date).to eq 20150323
|
111
|
+
end
|
112
|
+
|
113
|
+
it "build number parsed correctly" do
|
114
|
+
v = Dr::PkgVersion.new('1.5-1.20150323build9')
|
115
|
+
expect(v.build).to eq 9
|
116
|
+
end
|
117
|
+
|
118
|
+
it "debian version parsed correctly with build tag" do
|
119
|
+
v = Dr::PkgVersion.new('1.5-7.20150323build9')
|
120
|
+
expect(v.debian).to eq "7"
|
121
|
+
end
|
122
|
+
|
123
|
+
it "debian version includes malformed build tag" do
|
124
|
+
v = Dr::PkgVersion.new('1.5-7.a20150323build9')
|
125
|
+
expect(v.debian).to eq "7.a20150323build9"
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
describe "comparison with build tags" do
|
130
|
+
it "smaller date" do
|
131
|
+
one = Dr::PkgVersion.new('1.5-7.20150320')
|
132
|
+
two = Dr::PkgVersion.new('1.5-7.20150323')
|
133
|
+
|
134
|
+
expect(one < two).to be_true
|
135
|
+
end
|
136
|
+
|
137
|
+
it "bigger date" do
|
138
|
+
one = Dr::PkgVersion.new('1.5-7.20150328')
|
139
|
+
two = Dr::PkgVersion.new('1.5-7.20150323')
|
140
|
+
|
141
|
+
expect(one > two).to be_true
|
142
|
+
end
|
143
|
+
|
144
|
+
it "equal dates" do
|
145
|
+
one = Dr::PkgVersion.new('1.5-7.20150328')
|
146
|
+
two = Dr::PkgVersion.new('1.5-7.20150328')
|
147
|
+
|
148
|
+
expect(one == two).to be_true
|
149
|
+
end
|
150
|
+
|
151
|
+
it "equal dates with build numbers (smaller)" do
|
152
|
+
one = Dr::PkgVersion.new('1.5-7.20150328build1')
|
153
|
+
two = Dr::PkgVersion.new('1.5-7.20150328build5')
|
154
|
+
|
155
|
+
expect(one < two).to be_true
|
156
|
+
end
|
157
|
+
|
158
|
+
it "equal dates with build numbers (equal)" do
|
159
|
+
one = Dr::PkgVersion.new('1.5-7.20150328build15')
|
160
|
+
two = Dr::PkgVersion.new('1.5-7.20150328build15')
|
161
|
+
|
162
|
+
expect(one == two).to be_true
|
163
|
+
end
|
164
|
+
|
165
|
+
it "equal dates with build numbers (bigger)" do
|
166
|
+
one = Dr::PkgVersion.new('1.5-7.20150328build15')
|
167
|
+
two = Dr::PkgVersion.new('1.5-7.20150328build5')
|
168
|
+
|
169
|
+
expect(one > two).to be_true
|
170
|
+
end
|
171
|
+
|
172
|
+
it "build number substrings" do
|
173
|
+
one = Dr::PkgVersion.new('1.5-7.20150328build11')
|
174
|
+
two = Dr::PkgVersion.new('1.5-7.20150328build111')
|
175
|
+
|
176
|
+
expect(one < two).to be_true
|
177
|
+
end
|
178
|
+
end
|
179
|
+
end
|
180
|
+
end
|
metadata
CHANGED
@@ -1,105 +1,116 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Radek Pazdera
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2015-
|
12
|
+
date: 2015-03-24 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: thor
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
|
-
- -
|
19
|
+
- - ~>
|
18
20
|
- !ruby/object:Gem::Version
|
19
21
|
version: '0.18'
|
20
22
|
type: :runtime
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
|
-
- -
|
27
|
+
- - ~>
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '0.18'
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
31
|
name: tco
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
|
-
- -
|
35
|
+
- - ~>
|
32
36
|
- !ruby/object:Gem::Version
|
33
37
|
version: '0.1'
|
34
38
|
type: :runtime
|
35
39
|
prerelease: false
|
36
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
37
42
|
requirements:
|
38
|
-
- -
|
43
|
+
- - ~>
|
39
44
|
- !ruby/object:Gem::Version
|
40
45
|
version: '0.1'
|
41
46
|
- !ruby/object:Gem::Dependency
|
42
47
|
name: octokit
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
44
50
|
requirements:
|
45
|
-
- -
|
51
|
+
- - ~>
|
46
52
|
- !ruby/object:Gem::Version
|
47
53
|
version: '3.3'
|
48
54
|
type: :runtime
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
51
58
|
requirements:
|
52
|
-
- -
|
59
|
+
- - ~>
|
53
60
|
- !ruby/object:Gem::Version
|
54
61
|
version: '3.3'
|
55
62
|
- !ruby/object:Gem::Dependency
|
56
63
|
name: bundler
|
57
64
|
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
58
66
|
requirements:
|
59
|
-
- -
|
67
|
+
- - ~>
|
60
68
|
- !ruby/object:Gem::Version
|
61
69
|
version: '1.5'
|
62
70
|
type: :development
|
63
71
|
prerelease: false
|
64
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
65
74
|
requirements:
|
66
|
-
- -
|
75
|
+
- - ~>
|
67
76
|
- !ruby/object:Gem::Version
|
68
77
|
version: '1.5'
|
69
78
|
- !ruby/object:Gem::Dependency
|
70
79
|
name: rake
|
71
80
|
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
72
82
|
requirements:
|
73
|
-
- -
|
83
|
+
- - ~>
|
74
84
|
- !ruby/object:Gem::Version
|
75
85
|
version: '10.3'
|
76
86
|
type: :development
|
77
87
|
prerelease: false
|
78
88
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
79
90
|
requirements:
|
80
|
-
- -
|
91
|
+
- - ~>
|
81
92
|
- !ruby/object:Gem::Version
|
82
93
|
version: '10.3'
|
83
94
|
- !ruby/object:Gem::Dependency
|
84
95
|
name: rspec
|
85
96
|
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
86
98
|
requirements:
|
87
|
-
- -
|
99
|
+
- - ~>
|
88
100
|
- !ruby/object:Gem::Version
|
89
101
|
version: '3.1'
|
90
102
|
type: :development
|
91
103
|
prerelease: false
|
92
104
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
93
106
|
requirements:
|
94
|
-
- -
|
107
|
+
- - ~>
|
95
108
|
- !ruby/object:Gem::Version
|
96
109
|
version: '3.1'
|
97
|
-
description:
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
This is a super early release, certainly NOT ready
|
102
|
-
for production.
|
110
|
+
description: ! "dr works with distribution-level packaging\n tools
|
111
|
+
and helps you make and distribute your own\n Debian packages
|
112
|
+
through your own repository.\n This is a super early release,
|
113
|
+
certainly NOT ready\n for production."
|
103
114
|
email:
|
104
115
|
- radek@kano.me
|
105
116
|
executables:
|
@@ -107,14 +118,14 @@ executables:
|
|
107
118
|
extensions: []
|
108
119
|
extra_rdoc_files: []
|
109
120
|
files:
|
110
|
-
-
|
121
|
+
- .gitignore
|
111
122
|
- Gemfile
|
112
123
|
- LICENSE.txt
|
113
124
|
- README.md
|
114
125
|
- Rakefile
|
115
126
|
- bin/dr
|
116
127
|
- dr.conf-example
|
117
|
-
- dr.
|
128
|
+
- dr.gemspec
|
118
129
|
- lib/dr.rb
|
119
130
|
- lib/dr/build_environments.rb
|
120
131
|
- lib/dr/buildroot.rb
|
@@ -129,31 +140,33 @@ files:
|
|
129
140
|
- lib/dr/shellcmd.rb
|
130
141
|
- lib/dr/utils.rb
|
131
142
|
- lib/dr/version.rb
|
143
|
+
- spec/pkgversion_spec.rb
|
132
144
|
homepage: http://github.com/KanoComputing/kano-package-system
|
133
145
|
licenses:
|
134
146
|
- GPLv2
|
135
|
-
metadata: {}
|
136
147
|
post_install_message:
|
137
148
|
rdoc_options: []
|
138
149
|
require_paths:
|
139
150
|
- lib
|
140
151
|
required_ruby_version: !ruby/object:Gem::Requirement
|
152
|
+
none: false
|
141
153
|
requirements:
|
142
|
-
- -
|
154
|
+
- - ! '>='
|
143
155
|
- !ruby/object:Gem::Version
|
144
156
|
version: '0'
|
145
157
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
158
|
+
none: false
|
146
159
|
requirements:
|
147
|
-
- -
|
160
|
+
- - ! '>='
|
148
161
|
- !ruby/object:Gem::Version
|
149
162
|
version: '0'
|
150
163
|
requirements: []
|
151
164
|
rubyforge_project:
|
152
|
-
rubygems_version:
|
165
|
+
rubygems_version: 1.8.23
|
153
166
|
signing_key:
|
154
|
-
specification_version:
|
167
|
+
specification_version: 3
|
155
168
|
summary: dr stands for debian-repository. It is a packaging tool that helps you make,
|
156
169
|
distribute and maintain you own disto packages and repositories. It's in a very
|
157
170
|
early stage, NOT READY for production.
|
158
|
-
test_files:
|
159
|
-
|
171
|
+
test_files:
|
172
|
+
- spec/pkgversion_spec.rb
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: 48dfeab96a546a1ea867447378a4db3d2004a87a
|
4
|
-
data.tar.gz: f9002254094f0d190ce164e74c39118e44a0aaee
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 93d864a9d2c275c1c90bee88d8f2d91c91797659c86648183fb8df996a71ec6563ce801b553775598d3a28e35bd1836ff49270b72c22365e2f0cf21e2d71a244
|
7
|
-
data.tar.gz: 0eaa169652f489a898171edb18758306c276a46bd149260fb425bf7d94fb7683067dad0e6dd16fd91eb074d19992631d08ad9942ac43bdfa18eb707980bcb6fc
|