slack-utils 0.7.2 → 0.7.3
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/slt +3 -2
- data/lib/slackware/args.rb +5 -0
- data/lib/slackware/changelog.rb +92 -49
- data/lib/slackware/changelog/rss.rb +12 -19
- data/lib/slackware/log.rb +3 -3
- data/lib/slackware/package.rb +4 -1
- data/lib/slackware/repo.rb +15 -10
- data/lib/slackware/system.rb +0 -1
- data/lib/slackware/utils.rb +15 -13
- data/lib/slackware/version.rb +1 -1
- metadata +33 -29
data/bin/slt
CHANGED
@@ -37,7 +37,7 @@ Usage:
|
|
37
37
|
EOS
|
38
38
|
# This is all the flags we want to use, from Slackware::Args
|
39
39
|
option_flags = [:color, :epoch, :case_insensitive, :pkg_name, :pkg_version,
|
40
|
-
:debug, :pkg_arch, :pkg_build, :pkg_tag]
|
40
|
+
:reverse, :debug, :pkg_arch, :pkg_build, :pkg_tag]
|
41
41
|
|
42
42
|
slog = Slackware::Log.instance
|
43
43
|
slog.level = Slackware::Log::WARN
|
@@ -46,6 +46,7 @@ options = Slackware::Args.parse(ARGV, option_flags, option_banner)
|
|
46
46
|
|
47
47
|
# update level if specified
|
48
48
|
slog.level = Slackware::Log::DEBUG if options[:debug]
|
49
|
+
slog.debug($PROGRAM_NAME) { "option_flags: #{option_flags} " }
|
49
50
|
slog.debug($PROGRAM_NAME) {"options: %s" % options}
|
50
51
|
|
51
52
|
# handing through that we are gathering times
|
@@ -56,7 +57,7 @@ if (ARGV.count > 0)
|
|
56
57
|
end
|
57
58
|
|
58
59
|
begin
|
59
|
-
print_packages_times(build_packages(options, ARGV), options[:epoch])
|
60
|
+
print_packages_times(build_packages(options, ARGV), options[:epoch], options[:reverse])
|
60
61
|
rescue Interrupt
|
61
62
|
exit 0
|
62
63
|
rescue Exception => e
|
data/lib/slackware/args.rb
CHANGED
@@ -38,6 +38,11 @@ module Slackware
|
|
38
38
|
options[:color] = o
|
39
39
|
end
|
40
40
|
end
|
41
|
+
if flags.include?(:reverse)
|
42
|
+
opts.on("-r", "--reverse", "Reverse the output") do |o|
|
43
|
+
options[:reverse] = o
|
44
|
+
end
|
45
|
+
end
|
41
46
|
if flags.include?(:epoch)
|
42
47
|
opts.on("-e", "--epoch", "Print the time stamp in seconds since 1970-01-01 00:00:00 UTC ") do |o|
|
43
48
|
options[:epoch] = o
|
data/lib/slackware/changelog.rb
CHANGED
@@ -23,6 +23,7 @@
|
|
23
23
|
require 'slackware/package'
|
24
24
|
require 'date'
|
25
25
|
require 'time'
|
26
|
+
require 'stringio'
|
26
27
|
|
27
28
|
module Slackware
|
28
29
|
# The class for parsing a Slackware standard ChangeLog.txt
|
@@ -36,10 +37,10 @@ module Slackware
|
|
36
37
|
# Compiling a fat regex to find the date entries
|
37
38
|
re_daynames = Regexp.new(ABBR_DAYNAMES.join('|'))
|
38
39
|
re_monthnames = Regexp.new(ABBR_MONTHNAMES.join('|'))
|
39
|
-
RE_DATE =
|
40
|
+
RE_DATE = /^(#{re_daynames}\s+#{re_monthnames}\s+\d+\s+\d{2}:\d{2}:\d{2}\s\w+\s+\d+)$/
|
40
41
|
|
41
42
|
# This break has been the same as long as I can find
|
42
|
-
RE_CHANGELOG_BREAK =
|
43
|
+
RE_CHANGELOG_BREAK = /^\+--------------------------\+$/
|
43
44
|
|
44
45
|
# The regular entry, accounting for usb-and-pxe-installers directory,
|
45
46
|
# and notes after the action
|
@@ -64,14 +65,20 @@ module Slackware
|
|
64
65
|
# regarding the updates
|
65
66
|
class Update
|
66
67
|
# FIXME this class needs more proper value setting
|
67
|
-
def initialize(date = nil,
|
68
|
+
def initialize(date = nil,
|
69
|
+
notes = "",
|
70
|
+
entries = Array.new,
|
71
|
+
changelog = nil )
|
68
72
|
@date = date
|
69
73
|
@notes = notes
|
70
74
|
@entries = entries
|
75
|
+
@changelog = changelog
|
71
76
|
end
|
72
77
|
def date; @date; end
|
73
78
|
def notes; @notes; end
|
74
79
|
def entries; @entries; end
|
80
|
+
def security; @entries.select {|e| e if e.security }; end
|
81
|
+
def security?; @entries.select {|e| e.security }.first; end
|
75
82
|
|
76
83
|
def date=(timestamp)
|
77
84
|
if (timestamp.is_a?(Time))
|
@@ -83,16 +90,23 @@ module Slackware
|
|
83
90
|
end
|
84
91
|
end
|
85
92
|
def notes=(text); @notes = text; end
|
93
|
+
def changelog=(changelog); @changelog = changelog if changelog.is_a?(Slackware::ChangeLog); end
|
86
94
|
end
|
87
95
|
|
88
96
|
# The class for each item in a change set
|
89
97
|
class Entry
|
90
|
-
def initialize(package = nil,
|
98
|
+
def initialize(package = nil,
|
99
|
+
section = nil,
|
100
|
+
action = nil,
|
101
|
+
notes = "",
|
102
|
+
security = false,
|
103
|
+
update = nil)
|
91
104
|
@package = package
|
92
105
|
@section = section
|
93
106
|
@action = action
|
94
|
-
notes.is_a?(String) ?
|
95
|
-
|
107
|
+
@notes = notes.is_a?(String) ? notes : ""
|
108
|
+
@security = security == true
|
109
|
+
@update = update
|
96
110
|
end
|
97
111
|
|
98
112
|
def package; @package; end
|
@@ -100,57 +114,78 @@ module Slackware
|
|
100
114
|
def action; @action; end
|
101
115
|
def notes; @notes; end
|
102
116
|
def security; @security; end
|
117
|
+
def date; @update ? @update.date: nil;end
|
103
118
|
|
104
119
|
def package=(package_name); @package = package_name ; end
|
105
120
|
def section=(section_name); @section = section_name ; end
|
106
121
|
def action=(action_name); @action = action_name ; end
|
122
|
+
def update=(update); @update = update if update.is_a?(Slackware::ChangeLog::Update) ; end
|
107
123
|
def notes=(notes_txt)
|
108
|
-
notes_txt.is_a?(String) ?
|
124
|
+
@notes = notes_txt.is_a?(String) ? notes_txt : ""
|
109
125
|
end
|
110
126
|
def security=(bool)
|
111
|
-
|
127
|
+
@security = bool == true
|
112
128
|
end
|
113
129
|
end
|
114
130
|
|
115
|
-
|
116
|
-
# +opts+ can include
|
117
|
-
# * :arch - basically '64' or '32'
|
118
|
-
# * :version - 13.1, 13.2, current, etc.
|
119
|
-
# * :url - the URL web link to the ChangeLog.txt
|
120
|
-
# * :image_url - the URL for the loge used in the RSS feed
|
121
|
-
def initialize(file = nil, opts = {})
|
131
|
+
def initialize(file = nil)
|
122
132
|
@file = file
|
123
|
-
@
|
133
|
+
@strio = StringIO.new
|
124
134
|
@updates = Array.new
|
125
135
|
end
|
126
136
|
|
127
137
|
def file; @file; end
|
128
|
-
def opts; @opts; end
|
129
138
|
def updates; @updates; end
|
139
|
+
|
140
|
+
# Returns the latest update in the set
|
141
|
+
def latest
|
142
|
+
sort().last
|
143
|
+
end
|
144
|
+
def sort
|
145
|
+
@updates.sort {|x,y| x.date <=> y.date }
|
146
|
+
end
|
147
|
+
|
148
|
+
# All entries in this Slackware::ChangeLog
|
149
|
+
#
|
150
|
+
# Returns an Array of Slackware::ChangeLog::Entry
|
130
151
|
def entries
|
131
|
-
@updates.map {|
|
152
|
+
@updates.map {|u| u.entries.map {|e| e } }.flatten
|
132
153
|
end
|
154
|
+
|
155
|
+
# All security in this Slackware::ChangeLog
|
156
|
+
#
|
157
|
+
# Returns an Array of Slackware::ChangeLog::Entry
|
133
158
|
def security
|
134
|
-
@updates.map {|u| u.entries.
|
159
|
+
@updates.map {|u| u.entries.select {|e| e if e.security } }.flatten
|
135
160
|
end
|
161
|
+
|
162
|
+
# All packages removed in this Slackware::ChangeLog
|
163
|
+
#
|
164
|
+
# Returns an Array of Slackware::ChangeLog::Entry
|
136
165
|
def pkgs_removed
|
137
|
-
@updates.map {|u| u.entries.
|
166
|
+
@updates.map {|u| u.entries.select {|e| e if e.action == "Removed" } }.flatten
|
138
167
|
end
|
168
|
+
|
169
|
+
# All packages added in this Slackware::ChangeLog
|
170
|
+
#
|
171
|
+
# Returns an Array of Slackware::ChangeLog::Entry
|
139
172
|
def pkgs_added
|
140
|
-
@updates.map {|u| u.entries.
|
173
|
+
@updates.map {|u| u.entries.select {|e| e if e.action == "Added" } }.flatten
|
141
174
|
end
|
175
|
+
|
176
|
+
# All packages upgraded in this Slackware::ChangeLog
|
177
|
+
#
|
178
|
+
# Returns an Array of Slackware::ChangeLog::Entry
|
142
179
|
def pkgs_upgraded
|
143
|
-
@updates.map {|u| u.entries.
|
180
|
+
@updates.map {|u| u.entries.select {|e| e if e.action == "Upgraded" } }.flatten
|
144
181
|
end
|
182
|
+
|
183
|
+
# All packages rebuilt in this Slackware::ChangeLog
|
184
|
+
#
|
185
|
+
# Returns an Array of Slackware::ChangeLog::Entry
|
145
186
|
def pkgs_rebuilt
|
146
|
-
@updates.map {|u| u.entries.
|
147
|
-
end
|
148
|
-
def opts=(hash)
|
149
|
-
if hash.is_a?(Hash)
|
150
|
-
@opts = hash
|
151
|
-
end
|
187
|
+
@updates.map {|u| u.entries.select {|e| e if e.action == "Rebuilt" } }.flatten
|
152
188
|
end
|
153
|
-
|
154
189
|
def parse(opts = {:file => nil, :data => nil})
|
155
190
|
if not(opts[:file].nil?)
|
156
191
|
@updates = parse_this_file(opts[:file]).updates
|
@@ -161,19 +196,19 @@ module Slackware
|
|
161
196
|
end
|
162
197
|
|
163
198
|
# Class method
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
199
|
+
class << self
|
200
|
+
def parse(file)
|
201
|
+
cl = ChangeLog.new(file)
|
202
|
+
return cl.parse()
|
203
|
+
end
|
204
|
+
alias_method :open, :parse
|
170
205
|
end
|
171
206
|
|
172
207
|
def inspect
|
173
208
|
"#<%s:0x%x @file=%s, %d @updates, %d @entries>" % [self.class.name, self.object_id.abs, self.file || '""', self.updates.count || 0, self.entries.count || 0]
|
174
209
|
end
|
175
210
|
|
176
|
-
|
211
|
+
protected
|
177
212
|
# Parse order is something like:
|
178
213
|
# * if its' a date match, store the date
|
179
214
|
# * take change notes until
|
@@ -182,7 +217,7 @@ module Slackware
|
|
182
217
|
# * take packge notes until
|
183
218
|
# * next package or entry separator
|
184
219
|
# * separator creates next change entry
|
185
|
-
def
|
220
|
+
def parse_this_file(file)
|
186
221
|
f_handle = ""
|
187
222
|
if file.is_a?(File)
|
188
223
|
f_handle = file
|
@@ -200,7 +235,10 @@ module Slackware
|
|
200
235
|
changelog = ChangeLog.new(f_handle)
|
201
236
|
f_handle.each do |line|
|
202
237
|
if (line =~ RE_DATE)
|
203
|
-
|
238
|
+
update = Update.new(Time.parse($1))
|
239
|
+
|
240
|
+
# Tying this Slackware::ChangeLog::Update to it's Slackware::ChangeLog parent
|
241
|
+
update.changelog = changelog
|
204
242
|
while true
|
205
243
|
if (f_handle.eof?)
|
206
244
|
break
|
@@ -213,11 +251,15 @@ module Slackware
|
|
213
251
|
end
|
214
252
|
|
215
253
|
# the intimate iteration
|
216
|
-
#
|
254
|
+
# Match is more expensive than =~,
|
217
255
|
# but ruby-1.8.x is lossing the matched values down below
|
218
256
|
# so this works on both ...
|
219
257
|
if (match = RE_PACKAGE_ENTRY.match(u_line))
|
220
258
|
u_entry = Entry.new()
|
259
|
+
|
260
|
+
# tying this entry to it's Slackware::ChangeLog::Update parent
|
261
|
+
u_entry.update = update
|
262
|
+
|
221
263
|
# This silly iteration catches the different cases of
|
222
264
|
# which package line, matches which Regexp. WIN
|
223
265
|
if match[1].nil?
|
@@ -245,31 +287,32 @@ module Slackware
|
|
245
287
|
u_entry.action = match[3] unless match[3].nil?
|
246
288
|
|
247
289
|
# Add this entry to the stack
|
248
|
-
|
290
|
+
update.entries << u_entry
|
249
291
|
else
|
250
|
-
# if
|
292
|
+
# if update.entries is empty, then this text is notes
|
251
293
|
# for the upate, else it is notes, for the entry
|
252
|
-
if (
|
253
|
-
|
294
|
+
if (update.entries.empty?)
|
295
|
+
update.notes = update.notes + u_line
|
254
296
|
else
|
255
297
|
# if this line of the entry security fix, toggle the bool
|
256
298
|
if (u_line =~ RE_SECURITY_FIX)
|
257
|
-
|
299
|
+
update.entries[-1].security = true
|
258
300
|
end
|
259
|
-
|
301
|
+
update.entries[-1].notes = update.entries[-1].notes + u_line
|
260
302
|
end
|
261
303
|
end
|
262
304
|
end
|
263
305
|
|
264
306
|
# Add this update to the stack
|
265
|
-
changelog.updates <<
|
307
|
+
changelog.updates << update
|
266
308
|
end
|
267
309
|
end
|
268
310
|
|
269
311
|
# Give them their change set
|
270
312
|
return changelog
|
271
|
-
end
|
313
|
+
end # def self::parse_this_file
|
314
|
+
|
315
|
+
end # class ChangeLog
|
316
|
+
end # module Slackware
|
272
317
|
|
273
|
-
end
|
274
|
-
end
|
275
318
|
# vim : set sw=2 sts=2 et :
|
@@ -27,29 +27,22 @@ module Slackware
|
|
27
27
|
class ChangeLog
|
28
28
|
# or maybe "http://connie.slackware.com/~msimons/slackware/grfx/shared/dobbslack1.jpg"
|
29
29
|
IMAGE_URL = "http://connie.slackware.com/~msimons/slackware/grfx/shared/bluepiSW.jpg"
|
30
|
+
# +opts+ can include
|
31
|
+
# * :arch - basically '64' or '32'
|
32
|
+
# * :version - 13.1, 13.2, current, etc.
|
33
|
+
# * :url - the URL web link to the ChangeLog.txt
|
34
|
+
# * :image_url - the URL for the loge used in the RSS feed
|
30
35
|
def to_rss(opts = {})
|
31
|
-
# this way we can use the opts from super,
|
32
|
-
# or override for this methods
|
33
|
-
opts = @opts.merge(opts)
|
34
|
-
|
35
36
|
version = "2.0" # ["0.9", "1.0", "2.0"]
|
36
37
|
content = RSS::Maker.make(version) do |m|
|
37
38
|
if (opts[:title])
|
38
39
|
m.channel.title = opts[:title]
|
39
40
|
else
|
40
|
-
added_title = ""
|
41
|
-
if opts[:arch]
|
42
|
-
added_title = added_title + "slackware#{opts[:arch]}"
|
43
|
-
end
|
41
|
+
added_title = "slackware#{opts[:arch]}"
|
44
42
|
if opts[:version]
|
45
|
-
added_title
|
46
|
-
end
|
47
|
-
|
48
|
-
if added_title.empty?
|
49
|
-
m.channel.title = "Slackware ChangeLog.txt"
|
50
|
-
else
|
51
|
-
m.channel.title = "#{added_title} ChangeLog.txt"
|
43
|
+
added_title += "-#{opts[:version]}"
|
52
44
|
end
|
45
|
+
m.channel.title = "#{added_title} ChangeLog.txt"
|
53
46
|
end
|
54
47
|
|
55
48
|
if (opts[:url])
|
@@ -89,8 +82,8 @@ module Slackware
|
|
89
82
|
i = m.items.new_item
|
90
83
|
# Add a plug to the title of the update, if it includes a security fix
|
91
84
|
# set this here, so we don't have to .map again down below
|
92
|
-
|
93
|
-
if (
|
85
|
+
security_count = update.security.length
|
86
|
+
if (security_count > 0)
|
94
87
|
i.title = "%s (* Security fix *)" % [update.date.utc.to_s]
|
95
88
|
else
|
96
89
|
i.title = update.date.utc.to_s
|
@@ -104,8 +97,8 @@ module Slackware
|
|
104
97
|
|
105
98
|
i.description = ""
|
106
99
|
if (update.entries.count > 0)
|
107
|
-
if (
|
108
|
-
i.description = i.description + "%d new update(s), %d security update(s)\n\n" % [update.entries.count,
|
100
|
+
if (security_count > 0)
|
101
|
+
i.description = i.description + "%d new update(s), %d security update(s)\n\n" % [update.entries.count, security_count]
|
109
102
|
else
|
110
103
|
i.description = i.description + "%d new update(s)\n\n" % [update.entries.count]
|
111
104
|
end
|
data/lib/slackware/log.rb
CHANGED
@@ -24,7 +24,6 @@ require 'logger'
|
|
24
24
|
require 'singleton'
|
25
25
|
|
26
26
|
module Slackware
|
27
|
-
|
28
27
|
# Log is a subclass of Logger, but is implemented as a singleton,
|
29
28
|
# so it can be used across library in a somewhat unified manner.
|
30
29
|
# Example:
|
@@ -42,10 +41,11 @@ module Slackware
|
|
42
41
|
# It defaults to WARN level and STDERR
|
43
42
|
def initialize(*args)
|
44
43
|
if $logdev
|
45
|
-
|
44
|
+
super($logdev, args)
|
46
45
|
else
|
47
|
-
|
46
|
+
super(STDERR, args)
|
48
47
|
end
|
48
|
+
self.level = Logger::ERROR
|
49
49
|
end
|
50
50
|
end # class Log
|
51
51
|
end # module Slackware
|
data/lib/slackware/package.rb
CHANGED
@@ -24,6 +24,9 @@ require 'time'
|
|
24
24
|
require 'slackware/log'
|
25
25
|
require 'slackware/paths'
|
26
26
|
|
27
|
+
MyTime = RUBY_VERSION < '1.9'? DateTime : Time
|
28
|
+
|
29
|
+
|
27
30
|
module Slackware
|
28
31
|
class Package
|
29
32
|
RE_FILE_LIST = /^FILE LIST:/
|
@@ -47,7 +50,7 @@ module Slackware
|
|
47
50
|
end
|
48
51
|
if (name =~ RE_REMOVED_NAMES)
|
49
52
|
name = $1
|
50
|
-
self.upgrade_time =
|
53
|
+
self.upgrade_time = MyTime.strptime($2 + ' ' + $3, fmt=FMT_UPGRADE_TIME)
|
51
54
|
end
|
52
55
|
arr = name.split('-')
|
53
56
|
build = arr.pop
|
data/lib/slackware/repo.rb
CHANGED
@@ -38,7 +38,7 @@ module Slackware
|
|
38
38
|
RE_COMPRESSED_SIZE = /^PACKAGE SIZE \(compressed\):\s+(.*)$/
|
39
39
|
RE_UNCOMPRESSED_SIZE = /^PACKAGE SIZE \(uncompressed\):\s+(.*)$/
|
40
40
|
|
41
|
-
attr_accessor :proto, :mirror, :path, :version, :arch, :changelog, :packages
|
41
|
+
attr_accessor :proto, :mirror, :path, :version, :arch, :changelog, :packages, :uri
|
42
42
|
|
43
43
|
def initialize(repo = nil)
|
44
44
|
@packages = nil
|
@@ -53,20 +53,25 @@ module Slackware
|
|
53
53
|
end
|
54
54
|
v
|
55
55
|
end
|
56
|
-
self.arch
|
57
|
-
a = RbConfig::CONFIG["arch"]
|
58
|
-
if a =~ /x86_64/
|
59
|
-
a = "64"
|
60
|
-
else
|
61
|
-
a = ""
|
62
|
-
end
|
63
|
-
a
|
64
|
-
end
|
56
|
+
self.arch = RbConfig::CONFIG["arch"] =~ /x86_64/ ? "64" : ""
|
65
57
|
else
|
66
58
|
## TODO do some hot parsing of 'repo'
|
59
|
+
self.uri = URI.parse(repo)
|
67
60
|
end
|
68
61
|
end
|
69
62
|
|
63
|
+
def url
|
64
|
+
"%s%s%sslackware%s-%s/" % [self.proto,
|
65
|
+
self.mirror,
|
66
|
+
self.path,
|
67
|
+
self.arch,
|
68
|
+
self.version]
|
69
|
+
end
|
70
|
+
|
71
|
+
def url=(thisurl)
|
72
|
+
self.uri = URI.parse(thisurl)
|
73
|
+
end
|
74
|
+
|
70
75
|
def fetch(file = nil)
|
71
76
|
#if file.nil?
|
72
77
|
#url = URI.parse(self.proto + self.mirror + self.path)
|
data/lib/slackware/system.rb
CHANGED
data/lib/slackware/utils.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
|
-
# Copyright 2010
|
3
|
+
# Copyright 2009,2010 Vincent Batts, http://hashbangbash.com/
|
4
|
+
# Copyright 2010,2011 Vincent Batts, Vienna, VA, USA
|
5
|
+
# Copyright 2012 Vincent Batts, Raleigh, NC, USA
|
4
6
|
# All rights reserved.
|
5
7
|
#
|
6
8
|
# Redistribution and use of this source, with or without modification, is
|
@@ -22,18 +24,13 @@
|
|
22
24
|
|
23
25
|
# started - Fri Oct 9 15:48:43 CDT 2009
|
24
26
|
# updated for args - Tue Mar 23 14:54:19 CDT 2010
|
25
|
-
# Copyright 2009, 2010 Vincent Batts, http://hashbangbash.com/
|
26
27
|
|
27
28
|
require 'slackware'
|
28
29
|
|
29
30
|
# Variables
|
30
31
|
@st = "\033[31;1m"
|
31
32
|
@en = "\033[0m"
|
32
|
-
|
33
|
-
# Classes
|
34
|
-
|
35
|
-
|
36
|
-
# Functions
|
33
|
+
@slog = Slackware::Log.instance
|
37
34
|
|
38
35
|
# This is base builder of the packe list
|
39
36
|
def build_packages(opts = {}, args = [])
|
@@ -180,12 +177,17 @@ def print_packages(pkgs)
|
|
180
177
|
end
|
181
178
|
end
|
182
179
|
|
183
|
-
def print_packages_times(pkgs, epoch = false)
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
180
|
+
def print_packages_times(pkgs, epoch = false, reverse = false)
|
181
|
+
@slog.debug('print_packages_times') { "epoch: #{epoch} ; reverse: #{reverse}" }
|
182
|
+
begin
|
183
|
+
if reverse
|
184
|
+
pkgs.sort_by {|x| x.time }
|
185
|
+
else
|
186
|
+
pkgs.sort_by {|x| x.time }.reverse
|
187
|
+
end
|
188
|
+
end.each {|pkg|
|
189
|
+
printf("%s : %s\n", pkg.fullname, epoch ? pkg.time.to_i : pkg.time.to_s )
|
190
|
+
}
|
189
191
|
end
|
190
192
|
|
191
193
|
def print_packages_description(pkgs)
|
data/lib/slackware/version.rb
CHANGED
metadata
CHANGED
@@ -1,20 +1,21 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: slack-utils
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
5
|
-
prerelease:
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.7.3
|
6
5
|
platform: ruby
|
7
|
-
authors:
|
6
|
+
authors:
|
8
7
|
- Vincent Batts
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
|
11
|
+
|
12
|
+
date: 2012-03-09 00:00:00 -05:00
|
13
|
+
default_executable:
|
13
14
|
dependencies: []
|
14
|
-
|
15
|
-
the Slackware Linux OS.
|
15
|
+
|
16
|
+
description: slack-utils is a means by which to access package information on the Slackware Linux OS. See the examples/ for more information.
|
16
17
|
email: vbatts@hashbangbash.com
|
17
|
-
executables:
|
18
|
+
executables:
|
18
19
|
- sli
|
19
20
|
- slf
|
20
21
|
- slo
|
@@ -24,9 +25,10 @@ executables:
|
|
24
25
|
- slu
|
25
26
|
- slfindlinked
|
26
27
|
extensions: []
|
27
|
-
|
28
|
+
|
29
|
+
extra_rdoc_files:
|
28
30
|
- README.rdoc
|
29
|
-
files:
|
31
|
+
files:
|
30
32
|
- README.rdoc
|
31
33
|
- bin/slf
|
32
34
|
- bin/slt
|
@@ -52,32 +54,34 @@ files:
|
|
52
54
|
- lib/slackware/repo.rb
|
53
55
|
- lib/slackware/version.rb
|
54
56
|
- lib/slackware/system.rb
|
57
|
+
has_rdoc: true
|
55
58
|
homepage: https://github.com/vbatts/slack-utils/
|
56
|
-
licenses: []
|
57
59
|
post_install_message:
|
58
|
-
rdoc_options:
|
60
|
+
rdoc_options:
|
59
61
|
- --main=README.rdoc
|
60
62
|
- --line-numbers
|
61
63
|
- --inline-source
|
62
|
-
- --title=Slackware utils (slack-utils) 0.7.
|
63
|
-
require_paths:
|
64
|
+
- --title=Slackware utils (slack-utils) 0.7.3 Documentation
|
65
|
+
require_paths:
|
64
66
|
- lib
|
65
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
67
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
68
|
+
requirements:
|
69
|
+
- - ">="
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: "0"
|
72
|
+
version:
|
73
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- - ">="
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: "0"
|
78
|
+
version:
|
77
79
|
requirements: []
|
80
|
+
|
78
81
|
rubyforge_project:
|
79
|
-
rubygems_version: 1.
|
82
|
+
rubygems_version: 1.3.1
|
80
83
|
signing_key:
|
81
|
-
specification_version:
|
84
|
+
specification_version: 2
|
82
85
|
summary: Accessing information for the Slackware Linux distribution
|
83
86
|
test_files: []
|
87
|
+
|