slack-utils 0.6.2 → 0.7
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +9 -20
- data/bin/slf +23 -11
- data/bin/slfindlinked +1 -1
- data/bin/sli +22 -10
- data/bin/sll +22 -9
- data/bin/slo +17 -5
- data/bin/slp +22 -10
- data/bin/slt +21 -11
- data/examples/before_then.rb +1 -0
- data/examples/list_packages.rb +4 -3
- data/examples/repo.rb +1 -0
- data/examples/repo_difference.rb +1 -0
- data/lib/slackware/args.rb +80 -73
- data/lib/slackware/changelog/rss.rb +3 -0
- data/lib/slackware/changelog.rb +15 -12
- data/lib/slackware/log.rb +53 -0
- data/lib/slackware/package.rb +232 -203
- data/lib/slackware/package_bundle.rb +43 -40
- data/lib/slackware/paths.rb +57 -0
- data/lib/slackware/repo.rb +134 -129
- data/lib/slackware/system.rb +179 -153
- data/lib/slackware/utils.rb +247 -244
- data/lib/slackware/version.rb +12 -9
- data/lib/slackware.rb +24 -0
- metadata +5 -3
data/README.rdoc
CHANGED
@@ -32,35 +32,24 @@ by unistalled/upgraded packages
|
|
32
32
|
expects 1 argument passed.
|
33
33
|
|
34
34
|
|
35
|
-
TODO:
|
36
|
-
* 2010-08-20 09:16 <bailey> which is that I need to run a query to show
|
37
|
-
me what packages I'm running are different than the slack-current
|
38
|
-
versions, since I make local ones and forget about it
|
39
|
-
* enable `slf` to a relative path, and it determine the absolute path
|
40
|
-
|
41
35
|
== Installation
|
42
36
|
|
43
37
|
=== From git
|
44
38
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
sudo upgradepkg --install-new pkg/slack-utils-0.6.2-$ARCH-1_vb.tgz
|
39
|
+
>> git clone git://github.com/vbatts/slack-utils.git
|
40
|
+
>> make slackpkg
|
41
|
+
>> sudo upgradepkg --install-new pkg/slack-utils-0.6.2-$ARCH-1_vb.tgz
|
50
42
|
|
51
43
|
=== From tar ball
|
52
44
|
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
ruby setup.rb config --prefix=/usr --mandir=/usr/man
|
58
|
-
|
59
|
-
ruby setup.rb install
|
45
|
+
>> tar xfz slack-utils-0.6.2.tar.gz
|
46
|
+
>> cd slack-utils-0.6.2
|
47
|
+
>> ruby setup.rb config --prefix=/usr --mandir=/usr/man
|
48
|
+
>> ruby setup.rb install
|
60
49
|
|
61
50
|
=== From the gem
|
62
51
|
|
63
|
-
|
52
|
+
>> sudo gem install pkg/slack-utils-0.6.2.gem
|
64
53
|
|
65
54
|
|
66
55
|
== Quick Start
|
@@ -78,7 +67,7 @@ See the system manual page slack-utils(8)
|
|
78
67
|
>> pkg.name = "hello-kitty"
|
79
68
|
>> pkg.version = "1.0"
|
80
69
|
|
81
|
-
|
70
|
+
or
|
82
71
|
>> require 'rubygems'
|
83
72
|
>> require 'slackware'
|
84
73
|
>> tags = Slackware::System.tags_used
|
data/bin/slf
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#! /usr/bin/ruby
|
2
|
-
# Copyright 2010,2011 Vincent Batts, Vienna, VA
|
2
|
+
# Copyright 2010,2011,2012 Vincent Batts, Vienna, VA
|
3
3
|
# All rights reserved.
|
4
4
|
#
|
5
5
|
# Redistribution and use of this source, with or without modification, is
|
@@ -22,34 +22,46 @@
|
|
22
22
|
$PROGRAM_NAME = File.basename(__FILE__)
|
23
23
|
|
24
24
|
require 'rubygems'
|
25
|
+
require 'slackware/log'
|
25
26
|
require 'slackware/utils'
|
26
27
|
require 'slackware/args'
|
27
28
|
|
28
29
|
option_banner = <<-EOS
|
29
30
|
Search for a file within installed Slackware package's FILE LIST.
|
30
31
|
Usage:
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
32
|
+
#{$PROGRAM_NAME} [options] [pkg search flags] <one or more files>
|
33
|
+
|
34
|
+
one or more files must be list
|
35
|
+
if no search flags, only names, then those only those matching entries are listed
|
35
36
|
EOS
|
36
37
|
# This is all the flags we want to use, from Slackware::Args
|
37
38
|
option_flags = [:color, :case_insensitive, :pkg_name, :pkg_version,
|
38
|
-
|
39
|
+
:debug, :pkg_arch, :pkg_build, :pkg_tag]
|
40
|
+
|
41
|
+
slog = Slackware::Log.instance
|
42
|
+
slog.level = Slackware::Log::WARN
|
39
43
|
|
40
44
|
options = Slackware::Args.parse(ARGV, option_flags, option_banner)
|
41
45
|
|
46
|
+
# update level if specified
|
47
|
+
slog.level = Slackware::Log::DEBUG if options[:debug]
|
48
|
+
slog.debug($PROGRAM_NAME) {"options: %s" % options}
|
42
49
|
|
43
50
|
if (ARGV.count > 0)
|
44
|
-
|
51
|
+
options[:all] = true
|
52
|
+
elsif (ARGV.count == 0)
|
53
|
+
slog.warn($PROGRAM_NAME) { "no files provided" }
|
54
|
+
exit 1
|
45
55
|
end
|
46
56
|
|
47
57
|
begin
|
48
|
-
|
58
|
+
print_package_searched_files(build_packages(options, []), ARGV)
|
49
59
|
rescue Interrupt
|
50
|
-
|
60
|
+
exit 0
|
51
61
|
rescue Exception => e
|
52
|
-
|
53
|
-
|
62
|
+
slog.warn($PROGRAM_NAME) { e.message }
|
63
|
+
slog.debug($PROGRAM_NAME) { e.class.to_s + "\n" + e.backtrace.join("\n") }
|
64
|
+
exit 1
|
54
65
|
end
|
55
66
|
|
67
|
+
# vim:sw=2:sts=2:et:
|
data/bin/slfindlinked
CHANGED
data/bin/sli
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#! /usr/bin/ruby
|
2
|
-
# Copyright 2010,2011 Vincent Batts, Vienna, VA
|
2
|
+
# Copyright 2010,2011,2012 Vincent Batts, Vienna, VA
|
3
3
|
# All rights reserved.
|
4
4
|
#
|
5
5
|
# Redistribution and use of this source, with or without modification, is
|
@@ -22,32 +22,44 @@
|
|
22
22
|
$PROGRAM_NAME = File.basename(__FILE__)
|
23
23
|
|
24
24
|
require 'rubygems'
|
25
|
+
require 'slackware/log'
|
25
26
|
require 'slackware/utils'
|
26
27
|
require 'slackware/args'
|
27
28
|
|
28
29
|
option_banner = <<-EOS
|
29
30
|
List installed Slackware package's information.
|
30
31
|
Usage:
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
32
|
+
#{$PROGRAM_NAME} [options] [search flags] [list of names]
|
33
|
+
|
34
|
+
if no flags are used, then all entries are listed
|
35
|
+
if no search flags, only names, then those only those matching entries are listed
|
35
36
|
|
36
37
|
EOS
|
37
38
|
# This is all the flags we want to use, from Slackware::Args
|
38
39
|
option_flags = [:color, :case_insensitive, :pkg_name, :pkg_version,
|
39
|
-
|
40
|
+
:debug, :pkg_arch, :pkg_build, :pkg_tag]
|
41
|
+
|
42
|
+
slog = Slackware::Log.instance
|
43
|
+
slog.level = Slackware::Log::WARN
|
40
44
|
|
41
45
|
options = Slackware::Args.parse(ARGV, option_flags, option_banner)
|
42
46
|
|
47
|
+
# update level if specified
|
48
|
+
slog.level = Slackware::Log::DEBUG if options[:debug]
|
49
|
+
slog.debug($PROGRAM_NAME) {"options: %s" % options}
|
50
|
+
|
43
51
|
if (ARGV.count > 0)
|
44
|
-
|
52
|
+
options[:all] = true
|
45
53
|
end
|
46
54
|
|
47
55
|
begin
|
48
|
-
|
56
|
+
print_packages_description(build_packages(options, ARGV))
|
49
57
|
rescue Interrupt
|
50
|
-
|
58
|
+
exit 0
|
59
|
+
rescue Exception => e
|
60
|
+
slog.warn($PROGRAM_NAME) { e.message }
|
61
|
+
slog.debug($PROGRAM_NAME) { e.class.to_s + "\n" + e.backtrace.join("\n") }
|
62
|
+
exit 1
|
51
63
|
end
|
52
64
|
|
53
|
-
|
65
|
+
# vim:sw=2:sts=2:et:
|
data/bin/sll
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#! /usr/bin/ruby
|
2
|
-
# Copyright 2010,2011 Vincent Batts, Vienna, VA
|
2
|
+
# Copyright 2010,2011,2012 Vincent Batts, Vienna, VA
|
3
3
|
# All rights reserved.
|
4
4
|
#
|
5
5
|
# Redistribution and use of this source, with or without modification, is
|
@@ -22,23 +22,31 @@
|
|
22
22
|
$PROGRAM_NAME = File.basename(__FILE__)
|
23
23
|
|
24
24
|
require 'rubygems'
|
25
|
+
require 'slackware/log'
|
25
26
|
require 'slackware/utils'
|
26
27
|
require 'slackware/args'
|
27
28
|
|
28
29
|
option_banner = <<-EOS
|
29
30
|
List owned for files for a given Slackware package.
|
30
31
|
Usage:
|
31
|
-
|
32
|
-
|
33
|
-
|
32
|
+
#{$PROGRAM_NAME} [search flags] [list of names]
|
33
|
+
|
34
|
+
if no search flags, only names, then those only those matching entries are listed
|
34
35
|
|
35
36
|
EOS
|
36
37
|
# This is all the flags we want to use, from Slackware::Args
|
37
38
|
option_flags = [:force_all, :case_insensitive, :pkg_name, :pkg_version,
|
38
|
-
|
39
|
+
:debug, :pkg_arch, :pkg_build, :pkg_tag]
|
40
|
+
|
41
|
+
slog = Slackware::Log.instance
|
42
|
+
slog.level = Slackware::Log::WARN
|
39
43
|
|
40
44
|
options = Slackware::Args.parse(ARGV, option_flags, option_banner)
|
41
45
|
|
46
|
+
# update level if specified
|
47
|
+
slog.level = Slackware::Log::DEBUG if options[:debug]
|
48
|
+
slog.debug($PROGRAM_NAME) {"options: %s" % options}
|
49
|
+
|
42
50
|
if ((ARGV.count == 0) &&
|
43
51
|
(options[:pkg].nil?) &&
|
44
52
|
(options[:version].nil?) &&
|
@@ -46,8 +54,8 @@ if ((ARGV.count == 0) &&
|
|
46
54
|
(options[:build].nil?) &&
|
47
55
|
(options[:tag].nil?) &&
|
48
56
|
not(options[:force]) )
|
49
|
-
|
50
|
-
|
57
|
+
$stderr.write("WARNING: If you really want to see *ALL* files, use the --force flag\n")
|
58
|
+
exit(2)
|
51
59
|
end
|
52
60
|
|
53
61
|
if (ARGV.count > 0)
|
@@ -55,8 +63,13 @@ if (ARGV.count > 0)
|
|
55
63
|
end
|
56
64
|
|
57
65
|
begin
|
58
|
-
|
66
|
+
print_package_file_list(build_packages(options, ARGV))
|
59
67
|
rescue Interrupt
|
60
|
-
|
68
|
+
exit 0
|
69
|
+
rescue Exception => e
|
70
|
+
slog.warn($PROGRAM_NAME) { e.message }
|
71
|
+
slog.debug($PROGRAM_NAME) { e.class.to_s + "\n" + e.backtrace.join("\n") }
|
72
|
+
exit 1
|
61
73
|
end
|
62
74
|
|
75
|
+
# vim:sw=2:sts=2:et:
|
data/bin/slo
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#! /usr/bin/ruby
|
2
|
-
# Copyright 2010,2011 Vincent Batts, Vienna, VA
|
2
|
+
# Copyright 2010,2011,2012 Vincent Batts, Vienna, VA
|
3
3
|
# All rights reserved.
|
4
4
|
#
|
5
5
|
# Redistribution and use of this source, with or without modification, is
|
@@ -22,15 +22,27 @@
|
|
22
22
|
$PROGRAM_NAME = File.basename(__FILE__)
|
23
23
|
|
24
24
|
require 'rubygems'
|
25
|
+
require 'slackware/log'
|
25
26
|
require 'slackware/utils'
|
26
27
|
|
28
|
+
slog = Slackware::Log.instance
|
29
|
+
slog.level = Slackware::Log::WARN
|
30
|
+
|
31
|
+
options = Slackware::Args.parse(ARGV, [:debug])
|
32
|
+
Slackware::Log.debug("options: %s" % options)
|
33
|
+
|
34
|
+
# update level if specified
|
35
|
+
slog.level = Slackware::Log::DEBUG if options[:debug]
|
36
|
+
slog.debug($PROGRAM_NAME) {"options: %s" % options}
|
27
37
|
|
28
38
|
begin
|
29
|
-
|
39
|
+
print_orphaned_files(find_orphaned_config_files())
|
30
40
|
rescue Interrupt
|
31
|
-
|
41
|
+
exit 0
|
32
42
|
rescue Exception => e
|
33
|
-
|
34
|
-
|
43
|
+
slog.warn($PROGRAM_NAME) { e.message }
|
44
|
+
slog.debug($PROGRAM_NAME) { e.class.to_s + "\n" + e.backtrace.join("\n") }
|
45
|
+
exit 1
|
35
46
|
end
|
36
47
|
|
48
|
+
# vim:sw=2:sts=2:et:
|
data/bin/slp
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#! /usr/bin/ruby
|
2
|
-
# Copyright 2010,2011 Vincent Batts, Vienna, VA
|
2
|
+
# Copyright 2010,2011,2012 Vincent Batts, Vienna, VA
|
3
3
|
# All rights reserved.
|
4
4
|
#
|
5
5
|
# Redistribution and use of this source, with or without modification, is
|
@@ -22,32 +22,44 @@
|
|
22
22
|
$PROGRAM_NAME = File.basename(__FILE__)
|
23
23
|
|
24
24
|
require 'rubygems'
|
25
|
+
require 'slackware/log'
|
25
26
|
require 'slackware/utils'
|
26
27
|
require 'slackware/args'
|
27
28
|
|
28
29
|
option_banner = <<-EOS
|
29
30
|
List installed Slackware packages.
|
30
31
|
Usage:
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
32
|
+
#{$PROGRAM_NAME} [options] [search flags] [list of names]
|
33
|
+
|
34
|
+
if no flags are used, then all entries are listed
|
35
|
+
if no search flags, only names, then those only those matching entries are listed
|
35
36
|
|
36
37
|
EOS
|
37
38
|
# This is all the flags we want to use, from Slackware::Args
|
38
39
|
option_flags = [:color, :case_insensitive, :pkg_name,
|
39
|
-
|
40
|
+
:debug, :pkg_version, :pkg_arch, :pkg_build, :pkg_tag]
|
41
|
+
|
42
|
+
slog = Slackware::Log.instance
|
43
|
+
slog.level = Slackware::Log::WARN
|
40
44
|
|
41
45
|
options = Slackware::Args.parse(ARGV, option_flags, option_banner)
|
42
46
|
|
47
|
+
# update level if specified
|
48
|
+
slog.level = Slackware::Log::DEBUG if options[:debug]
|
49
|
+
slog.debug($PROGRAM_NAME) {"options: %s" % options}
|
50
|
+
|
43
51
|
if (ARGV.count > 0)
|
44
|
-
|
52
|
+
options[:all] = true
|
45
53
|
end
|
46
54
|
|
47
55
|
begin
|
48
|
-
|
56
|
+
print_packages(build_packages(options, ARGV))
|
49
57
|
rescue Interrupt
|
50
|
-
|
58
|
+
exit 0
|
59
|
+
rescue Exception => e
|
60
|
+
slog.warn($PROGRAM_NAME) { e.message }
|
61
|
+
slog.debug($PROGRAM_NAME) { e.class.to_s + "\n" + e.backtrace.join("\n") }
|
62
|
+
exit 1
|
51
63
|
end
|
52
64
|
|
53
|
-
|
65
|
+
# vim:sw=2:sts=2:et:
|
data/bin/slt
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#! /usr/bin/ruby
|
2
|
-
# Copyright 2010,2011 Vincent Batts, Vienna, VA
|
2
|
+
# Copyright 2010,2011,2012 Vincent Batts, Vienna, VA
|
3
3
|
# All rights reserved.
|
4
4
|
#
|
5
5
|
# Redistribution and use of this source, with or without modification, is
|
@@ -22,37 +22,47 @@
|
|
22
22
|
$PROGRAM_NAME = File.basename(__FILE__)
|
23
23
|
|
24
24
|
require 'rubygems'
|
25
|
+
require 'slackware/log'
|
25
26
|
require 'slackware/utils'
|
26
27
|
require 'slackware/args'
|
27
28
|
|
28
29
|
option_banner = <<-EOS
|
29
30
|
List (and search) installed Slackware package's times.
|
30
31
|
Usage:
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
32
|
+
#{$PROGRAM_NAME} [pkg search flags] [list of names]
|
33
|
+
|
34
|
+
if no flags are used, then all entries are listed
|
35
|
+
if no search flags, only names, then those only those matching entries are listed
|
35
36
|
|
36
37
|
EOS
|
37
38
|
# This is all the flags we want to use, from Slackware::Args
|
38
39
|
option_flags = [:color, :epoch, :case_insensitive, :pkg_name, :pkg_version,
|
39
|
-
|
40
|
+
:debug, :pkg_arch, :pkg_build, :pkg_tag]
|
41
|
+
|
42
|
+
slog = Slackware::Log.instance
|
43
|
+
slog.level = Slackware::Log::WARN
|
40
44
|
|
41
45
|
options = Slackware::Args.parse(ARGV, option_flags, option_banner)
|
42
46
|
|
47
|
+
# update level if specified
|
48
|
+
slog.level = Slackware::Log::DEBUG if options[:debug]
|
49
|
+
slog.debug($PROGRAM_NAME) {"options: %s" % options}
|
50
|
+
|
43
51
|
# handing through that we are gathering times
|
44
52
|
options[:time] = true
|
45
53
|
|
46
54
|
if (ARGV.count > 0)
|
47
|
-
|
55
|
+
options[:all] = true
|
48
56
|
end
|
49
57
|
|
50
58
|
begin
|
51
|
-
|
59
|
+
print_packages_times(build_packages(options, ARGV), options[:epoch])
|
52
60
|
rescue Interrupt
|
53
|
-
|
61
|
+
exit 0
|
54
62
|
rescue Exception => e
|
55
|
-
|
56
|
-
|
63
|
+
slog.warn($PROGRAM_NAME) { e.message }
|
64
|
+
slog.debug($PROGRAM_NAME) { e.class.to_s + "\n" + e.backtrace.join("\n") }
|
65
|
+
exit 1
|
57
66
|
end
|
58
67
|
|
68
|
+
# vim:sw=2:sts=2:et:
|
data/examples/before_then.rb
CHANGED
data/examples/list_packages.rb
CHANGED
@@ -9,9 +9,10 @@ puts "tags used are: " + Slackware::System.tags_used.to_s
|
|
9
9
|
|
10
10
|
pkg = "kernel-modules"
|
11
11
|
if (Slackware::System.is_upgraded?(pkg))
|
12
|
-
|
13
|
-
|
12
|
+
puts pkg + " has been upgraded before"
|
13
|
+
Slackware::System.upgrades(pkg).each {|up| printf("%s upgraded from version %s\n", up.upgrade_time, up.version) }
|
14
14
|
else
|
15
|
-
|
15
|
+
puts pkg + " apparently has not ever been upgraded before"
|
16
16
|
end
|
17
17
|
|
18
|
+
# vim : set sw=2 sts=2 et :
|
data/examples/repo.rb
CHANGED