automateit 0.71219 → 0.71220

Sign up to get free protection for your applications and to get access to all the features.
data.tar.gz.sig CHANGED
Binary file
@@ -1,8 +1,16 @@
1
+ 0.71220:
2
+ Date: Thu, 20 Dec 2007 23:36:05 -0800
3
+ Desc:
4
+ - (+) Added PackageManager::CPAN for managing Perl packages. Thanks go out to Jesse Hallett for assisting me with research on how to use the CPAN APIs.
5
+ - Fixed PackageManager#install when called with a single Symbol argument.
6
+ - Added PackageManager::DPKG for local installation of .deb packages. Added logic to help it install a hash of package names to file names. Added spec to validate this.
7
+ - Refactored PackageManager::APT to defer to PackageManager::DPKG's logic when possible.
8
+
1
9
  0.71219:
2
10
  Date: Wed, 19 Dec 2007 22:00:59 -0800
3
11
  Desc:
4
12
  - Created a bunch of workarounds needed because of bugs and backwards incompatible changes in new versions of third-party libraries...
5
- - (%) Fixed "gem install automateit". Created workaround for new ActiveSupport bug which doesn't install the Builder gem.
13
+ - (%) Fixed "gem install automateit". Created workaround for new ActiveSupport bug which doesn't install the Builder gem.
6
14
  - (%) Fixed "rake regem" which generates the AutomateIt gem. Created workaround for new RubyGems bug which no longer installs the necessary Gem::Format dependency. Created workaround for new Rake bug which causes FileList to act like a string instead of an array. Created workaround for new Rake/RubyGems bugs that don't load 'rubygems' by default.
7
15
  - Improved PasswdExpect, no longer passing username/password on command-line to improve security.
8
16
 
data/TODO.txt CHANGED
@@ -5,13 +5,15 @@ KEY: Important? Urgent? Easy? 1=yes, 0=no
5
5
  #---[ Quality issues ]--------------------------------------------------
6
6
  !!! ServiceManager -- Create new #stop_and_start, and add new #restart as #tell wrapper
7
7
  111 ServiceManager -- Write tests for start_and_enable and such
8
-
9
8
  !!! AccountManager -- Solaris fails 5% of the time on the last spec.
10
9
  !!! AccountManager -- OpenBSD stalls if it thinks a password's quality sucks.
11
10
  !!! AccountManager -- OpenBSD fails "should add groups to a user" and "should add users to group"
12
11
  111 PackageManager -- Improve PEAR spec by having it check files with and without channel URL
13
12
  111 AccountManager::NSCD -- Uses "ps -ef", needs abstraction
14
13
 
14
+ #---[ Design issues ]---------------------------------------------------
15
+ 111 PackageManager -- What's a reasonable way to leave out the ':with' option when using a hash argument to install? E.g., sudo ai -e "package_manager.install({'swiftfox-prescott' => '/tmp/swiftfox_3.0b3pre-1_prescott.deb'}, :with => :dpkg)"
16
+
15
17
  #---[ Development ]-----------------------------------------------------
16
18
  111 Shell -- Write #su(user, *command) as a wrapper around #sh
17
19
  101 Shell -- Expand glob patterns, e.g. chown_R(500, 500, "*")
@@ -0,0 +1,49 @@
1
+ #!/usr/bin/env perl
2
+
3
+ # Example: ./install.pl Acme::please
4
+
5
+ sub usage {
6
+ my($message) = @_;
7
+ print <<EOB;
8
+ usage: install.pl [--quiet|--help|--dryrun] module [modules...]
9
+ EOB
10
+ if ($message) {
11
+ print "ERROR: $message\n";
12
+ exit 1;
13
+ } else {
14
+ exit 0;
15
+ }
16
+ }
17
+
18
+ use warnings "all";
19
+ use CPAN;
20
+ use Getopt::Long;
21
+
22
+ our $quiet = 0;
23
+ our $dryrun = 0;
24
+ our $help = 0;
25
+ GetOptions(
26
+ 'quiet' => \$quiet,
27
+ 'dryrun' => \$dryrun,
28
+ 'n' => \$dryrun,
29
+ 'help' => \$help
30
+ );
31
+
32
+ if (1 == $help) {
33
+ usage(0);
34
+ }
35
+
36
+ @modules = @ARGV;
37
+ unless ($#modules >= 0) {
38
+ usage "No modules specified";
39
+ }
40
+
41
+ foreach my $module (@modules) {
42
+ if (my $module_ref = CPAN::Shell->expand('Module', $module)) {
43
+ print "* Installing: $module\n" unless $quiet;
44
+ $module_ref->install unless $dryrun;
45
+ } else {
46
+ print "! Can't find CPAN module: $module\n";
47
+ exit 1
48
+ }
49
+ }
@@ -0,0 +1,42 @@
1
+ #!/usr/bin/env perl
2
+
3
+ # Example: ./is_available.pl Acme::please CPAN
4
+
5
+ use warnings "all";
6
+ use CPAN;
7
+
8
+ @modules = @ARGV;
9
+ unless ($#modules >= 0) {
10
+ print "Usage: uninstall.pl mymodule [mymodule]\n";
11
+ exit 1
12
+ }
13
+
14
+ my @available;
15
+ my @unavailable;
16
+ foreach my $module (@modules) {
17
+ if (my $module_ref = CPAN::Shell->expand('Module', $module)) {
18
+ my $path = $module_ref->inst_file;
19
+ if ($path && -e $path) {
20
+ #IK# print $module_ref->inst_file, "\n";
21
+ push(@available, $module);
22
+ } else {
23
+ push(@unavailable, $module);
24
+ }
25
+ } else {
26
+ #IK# die "Can't find module: $module";
27
+ push(@unavailable, $module);
28
+ }
29
+ }
30
+
31
+ sub print_contents {
32
+ my($name, @modules) = @_;
33
+ return if $#modules < 0;
34
+ print "$name:\n";
35
+ foreach my $module (@modules) {
36
+ print " - $module\n";
37
+ }
38
+ }
39
+
40
+ print "--- %YAML:1.0\n";
41
+ print_contents 'available', @available;
42
+ print_contents 'unavailable', @unavailable;
@@ -0,0 +1,63 @@
1
+ #!/usr/bin/env perl
2
+
3
+ # Example: ./uninstall.pl Acme::please
4
+
5
+ sub usage {
6
+ my($message) = @_;
7
+ print <<EOB;
8
+ usage: uninstall.pl [--quiet|--help|--dryrun] module [modules...]
9
+ EOB
10
+ if ($message) {
11
+ print "ERROR: $message\n";
12
+ exit 1;
13
+ } else {
14
+ exit 0;
15
+ }
16
+ }
17
+
18
+ use warnings "all";
19
+ use ExtUtils::Packlist;
20
+ use ExtUtils::Installed;
21
+ use Getopt::Long;
22
+
23
+ our $quiet = 0;
24
+ our $dryrun = 0;
25
+ our $help = 0;
26
+ GetOptions(
27
+ 'quiet' => \$quiet,
28
+ 'dryrun' => \$dryrun,
29
+ 'n' => \$dryrun,
30
+ 'help' => \$help
31
+ );
32
+
33
+ if (1 == $help) {
34
+ usage(0);
35
+ }
36
+
37
+ @modules = @ARGV;
38
+ unless ($#modules >= 0) {
39
+ usage "No modules specified";
40
+ }
41
+
42
+ sub nuke {
43
+ my($target) = @_;
44
+ if ($dryrun == 0) {
45
+ unlink($target) || die "$! -- $target"
46
+ }
47
+ }
48
+
49
+ my $packlists = ExtUtils::Installed->new();
50
+
51
+ foreach my $module (@modules) {
52
+ print "* Uninstalling module: $module\n" unless $quiet;
53
+
54
+ foreach my $item ($packlists->files($module)) {
55
+ print "- File: $item\n" unless $quiet;
56
+ nuke $item;
57
+ }
58
+
59
+ my $packlist = $packlists->packlist($module)->packlist_file();
60
+ print "- List: $packlist\n" unless $quiet;
61
+ # NOTE: Leave packlist alone so it can be uninstalled if something goes catastrophically wrong with this uninstaller.
62
+ #IK# nuke $packlist;
63
+ }
@@ -203,7 +203,7 @@ class AutomateIt::PackageManager::BaseDriver < AutomateIt::Plugin::Driver
203
203
  case packages
204
204
  when Symbol
205
205
  nitpick "LN Sy"
206
- packages = packages.to_s
206
+ packages = [packages.to_s]
207
207
  when String
208
208
  nitpick "LN Ss"
209
209
  packages = packages.grep(LIST_NORMALIZER_RE).join(" ").split
@@ -237,6 +237,7 @@ class AutomateIt::PackageManager::BaseDriver < AutomateIt::Plugin::Driver
237
237
  end
238
238
 
239
239
  # Drivers
240
+ require 'automateit/package_manager/dpkg'
240
241
  require 'automateit/package_manager/apt'
241
242
  require 'automateit/package_manager/yum'
242
243
  require 'automateit/package_manager/gem'
@@ -244,3 +245,4 @@ require 'automateit/package_manager/egg'
244
245
  require 'automateit/package_manager/portage'
245
246
  require 'automateit/package_manager/pear'
246
247
  require 'automateit/package_manager/pecl'
248
+ require 'automateit/package_manager/cpan'
@@ -2,37 +2,9 @@
2
2
  #
3
3
  # The APT driver for the PackageManager provides a way to manage software
4
4
  # packages on Debian-style systems using <tt>apt-get</tt> and <tt>dpkg</tt>.
5
- class AutomateIt::PackageManager::APT < AutomateIt::PackageManager::BaseDriver
5
+ class AutomateIt::PackageManager::APT < AutomateIt::PackageManager::DPKG
6
6
  depends_on :programs => %w(apt-get dpkg)
7
7
 
8
- def suitability(method, *args) # :nodoc:
9
- return available? ? 1 : 0
10
- end
11
-
12
- # See AutomateIt::PackageManager#installed?
13
- def installed?(*packages)
14
- return _installed_helper?(*packages) do |list, opts|
15
- ### data = `dpkg --status nomarch apache2 not_a_real_package 2>&1`
16
- cmd = "dpkg --status "+list.join(" ")+" 2>&1"
17
-
18
- log.debug(PEXEC+cmd)
19
- data = `#{cmd}`
20
- matches = data.scan(/^Package: (.+)$\s*^Status: (.+)$/)
21
- available = matches.inject([]) do |sum, match|
22
- package, status = match
23
- sum << package if status.match(/(?:^|\s)installed\b/)
24
- sum
25
- end
26
-
27
- available
28
- end
29
- end
30
-
31
- # See AutomateIt::PackageManager#not_installed?
32
- def not_installed?(*packages)
33
- return _not_installed_helper?(*packages)
34
- end
35
-
36
8
  # See AutomateIt::PackageManager#install
37
9
  def install(*packages)
38
10
  return _install_helper(*packages) do |list, opts|
@@ -46,18 +18,4 @@ class AutomateIt::PackageManager::APT < AutomateIt::PackageManager::BaseDriver
46
18
  interpreter.sh(cmd)
47
19
  end
48
20
  end
49
-
50
- # See AutomateIt::PackageManager#uninstall
51
- def uninstall(*packages)
52
- return _uninstall_helper(*packages) do |list, opts|
53
- # apt-get options:
54
- # -y : yes to all queries
55
- # -q : no interactive progress bars
56
- cmd = "export DEBIAN_FRONTEND=noninteractive; apt-get remove -y -q "+list.join(" ")+" < /dev/null"
57
- cmd << " > /dev/null" if opts[:quiet]
58
- cmd << " 2>&1"
59
-
60
- interpreter.sh(cmd)
61
- end
62
- end
63
21
  end
@@ -0,0 +1,63 @@
1
+ # == PackageManager::CPAN
2
+ #
3
+ # A PackageManager driver for Perl CPAN (Comprehensive Perl Archive Network)
4
+ # software packages.
5
+ class ::AutomateIt::PackageManager::CPAN < ::AutomateIt::PackageManager::BaseDriver
6
+ CPAN_INSTALL = File.join(::AutomateIt::Constants::HELPERS_DIR, "cpan_install.pl")
7
+ CPAN_UNINSTALL = File.join(::AutomateIt::Constants::HELPERS_DIR, "cpan_uninstall.pl")
8
+ CPAN_IS_INSTALLED = File.join(::AutomateIt::Constants::HELPERS_DIR, "cpan_is_installed.pl")
9
+
10
+ depends_on :programs => %w(perl)
11
+
12
+ def suitability(method, *args) # :nodoc:
13
+ # Never select as default driver
14
+ return 0
15
+ end
16
+
17
+ # See AutomateIt::PackageManager#installed?
18
+ def installed?(*packages)
19
+ return _installed_helper?(*packages) do |list, opts|
20
+ cmd = "#{CPAN_IS_INSTALLED} #{list.join(' ')}"
21
+
22
+ log.debug(PEXEC+cmd)
23
+ output = `#{cmd}`
24
+ output.sub!(/.*---(\s[^\n]+)?\n/m, '')
25
+ struct = ::YAML.load(output)
26
+
27
+ struct["available"] || []
28
+ end
29
+ end
30
+
31
+ # See AutomateIt::PackageManager#not_installed?
32
+ def not_installed?(*packages)
33
+ return _not_installed_helper?(*packages)
34
+ end
35
+
36
+ # *IMPORTANT*: See documentation at the top of this file for how to correctly
37
+ # install packages from a specific channel.
38
+ #
39
+ # Options:
40
+ # * :force -- Force installation, needed when installing unstable packages
41
+ #
42
+ # See AutomateIt::PackageManager#install
43
+ def install(*packages)
44
+ return _install_helper(*packages) do |list, opts|
45
+ cmd = "#{CPAN_INSTALL} #{list.join(' ')}"
46
+ cmd << " > /dev/null" if opts[:quiet]
47
+ cmd << " 2>&1"
48
+
49
+ interpreter.sh(cmd)
50
+ end
51
+ end
52
+
53
+ # See AutomateIt::PackageManager#uninstall
54
+ def uninstall(*packages)
55
+ return _uninstall_helper(*packages) do |list, opts|
56
+ cmd = "#{CPAN_UNINSTALL} #{list.join(' ')} < /dev/null"
57
+ cmd << " > /dev/null" if opts[:quiet]
58
+ cmd << " 2>&1"
59
+
60
+ interpreter.sh(cmd)
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,58 @@
1
+ # == PackageManager::DPKG
2
+ #
3
+ # The DPKG driver for the PackageManager provides a way to manage software
4
+ # packages on Debian-style systems using <tt>dpkg</tt>.
5
+ class AutomateIt::PackageManager::DPKG < AutomateIt::PackageManager::BaseDriver
6
+ depends_on :programs => %w(dpkg)
7
+
8
+ def suitability(method, *args) # :nodoc:
9
+ return available? ? 1 : 0
10
+ end
11
+
12
+ # See AutomateIt::PackageManager#installed?
13
+ def installed?(*packages)
14
+ return _installed_helper?(*packages) do |list, opts|
15
+ ### data = `dpkg --status nomarch apache2 not_a_real_package 2>&1`
16
+ cmd = "dpkg --status "+list.join(" ")+" 2>&1"
17
+
18
+ log.debug(PEXEC+cmd)
19
+ data = `#{cmd}`
20
+ matches = data.scan(/^Package: (.+)$\s*^Status: (.+)$/)
21
+ available = matches.inject([]) do |sum, match|
22
+ package, status = match
23
+ sum << package if status.match(/(?:^|\s)installed\b/)
24
+ sum
25
+ end
26
+
27
+ available
28
+ end
29
+ end
30
+
31
+ # See AutomateIt::PackageManager#not_installed?
32
+ def not_installed?(*packages)
33
+ return _not_installed_helper?(*packages)
34
+ end
35
+
36
+ # See AutomateIt::PackageManager#install
37
+ def install(*packages)
38
+ return _install_helper(*packages) do |list, opts|
39
+ cmd = "export DEBIAN_FRONTEND=noninteractive; dpkg --install --skip-same-version "+list.join(" ")+" < /dev/null"
40
+ cmd << " > /dev/null" if opts[:quiet]
41
+ cmd << " 2>&1"
42
+
43
+ interpreter.sh(cmd)
44
+ end
45
+ end
46
+
47
+ # See AutomateIt::PackageManager#uninstall
48
+ def uninstall(*packages)
49
+ return _uninstall_helper(*packages) do |list, opts|
50
+ cmd = "export DEBIAN_FRONTEND=noninteractive; dpkg --remove "+list.join(" ")+" < /dev/null"
51
+ cmd << " > /dev/null" if opts[:quiet]
52
+ cmd << " 2>&1"
53
+
54
+ interpreter.sh(cmd)
55
+ end
56
+ end
57
+ end
58
+
@@ -1,7 +1,7 @@
1
1
  # See AutomateIt::Interpreter for usage information.
2
2
  module AutomateIt # :nodoc:
3
3
  # AutomateIt version
4
- VERSION=Gem::Version.new("0.71219")
4
+ VERSION=Gem::Version.new("0.71220")
5
5
 
6
6
  # Instantiates a new Interpreter. See documentation for
7
7
  # Interpreter#setup.
@@ -90,7 +90,7 @@ else
90
90
  :egg => "_sre.py", # Slower reimplementation of ancient Python Regexps
91
91
  :pear => "File_DICOM", # Obscure package for DICOM X-rays, abandoned in 2003
92
92
  :pecl => "ecasound", # Obscure package for Ecasound libs, abandoned in 2003
93
- ### :cpan => "Acme::please", # Insane gimmick port of intercal's please statements
93
+ :cpan => "Acme::please", # Insane gimmick port of intercal's please statements
94
94
  }
95
95
 
96
96
  if INTERPRETER.tagged?(:centos)
@@ -0,0 +1,23 @@
1
+ require File.join(File.dirname(File.expand_path(__FILE__)), "/../spec_helper.rb")
2
+
3
+ describe AutomateIt::PackageManager::DPKG do
4
+ before :all do
5
+ @a = AutomateIt.new(:verbosity => Logger::WARN)
6
+ @m = @a.package_manager
7
+ @d = @m.drivers[:dpkg]
8
+ end
9
+
10
+ it "should handle hash arguments" do
11
+ # Given
12
+ @d.should_receive(:installed?).and_return(false, ["foonix"])
13
+ @a.should_receive(:sh).and_return do |cmd|
14
+ if cmd =~ /dpkg.*install.*\bfoonix-1.2.3.deb\b/
15
+ true
16
+ else
17
+ raise "Unknown cmd: #{cmd}"
18
+ end
19
+ end
20
+
21
+ @d.install({:foonix => "foonix-1.2.3.deb"}, :with => :dpkg)
22
+ end
23
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: automateit
3
3
  version: !ruby/object:Gem::Version
4
- version: "0.71219"
4
+ version: "0.71220"
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igal Koshevoy
@@ -30,7 +30,7 @@ cert_chain:
30
30
  COR01yWDcVLdM89nNLk=
31
31
  -----END CERTIFICATE-----
32
32
 
33
- date: 2007-12-19 00:00:00 -08:00
33
+ date: 2007-12-21 00:00:00 -08:00
34
34
  default_executable:
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
@@ -74,9 +74,9 @@ email: igal@pragmaticraft.com
74
74
  executables:
75
75
  - aifield
76
76
  - automateit
77
+ - aissh
77
78
  - ai
78
79
  - aitag
79
- - aissh
80
80
  extensions: []
81
81
 
82
82
  extra_rdoc_files:
@@ -98,22 +98,25 @@ files:
98
98
  - TUTORIAL.txt
99
99
  - bin/aifield
100
100
  - bin/automateit
101
+ - bin/aissh
101
102
  - bin/ai
102
103
  - bin/aitag
103
- - bin/aissh
104
- - examples/basic/config/tags.yml
105
- - examples/basic/config/fields.yml
104
+ - examples/basic/Rakefile
106
105
  - examples/basic/config/automateit_env.rb
106
+ - examples/basic/config/fields.yml
107
+ - examples/basic/config/tags.yml
107
108
  - examples/basic/dist/README.txt
108
109
  - examples/basic/dist/myapp_server.erb
110
+ - examples/basic/install.log
109
111
  - examples/basic/lib/README.txt
110
112
  - examples/basic/recipes/README.txt
111
- - examples/basic/recipes/uninstall.rb
112
113
  - examples/basic/recipes/install.rb
113
- - examples/basic/install.log
114
- - examples/basic/Rakefile
114
+ - examples/basic/recipes/uninstall.rb
115
115
  - docs/friendly_errors.txt
116
116
  - docs/previews.txt
117
+ - helpers/cpan_install.pl
118
+ - helpers/cpan_is_installed.pl
119
+ - helpers/cpan_uninstall.pl
117
120
  - helpers/which.cmd
118
121
  - lib/hashcache.rb
119
122
  - lib/automateit.rb
@@ -133,70 +136,72 @@ files:
133
136
  - lib/automateit/plugin.rb
134
137
  - lib/automateit/common.rb
135
138
  - lib/automateit/template_manager.rb
136
- - lib/automateit/package_manager/pear.rb
139
+ - lib/automateit/package_manager/cpan.rb
137
140
  - lib/automateit/package_manager/apt.rb
138
- - lib/automateit/package_manager/pecl.rb
141
+ - lib/automateit/package_manager/dpkg.rb
139
142
  - lib/automateit/package_manager/gem.rb
140
143
  - lib/automateit/package_manager/egg.rb
141
144
  - lib/automateit/package_manager/yum.rb
145
+ - lib/automateit/package_manager/pear.rb
146
+ - lib/automateit/package_manager/pecl.rb
142
147
  - lib/automateit/package_manager/portage.rb
143
148
  - lib/automateit/edit_manager.rb
144
149
  - lib/automateit/constants.rb
150
+ - lib/automateit/error.rb
145
151
  - lib/automateit/service_manager/rc_update.rb
146
152
  - lib/automateit/service_manager/sysv.rb
147
- - lib/automateit/service_manager/chkconfig.rb
148
153
  - lib/automateit/service_manager/update_rcd.rb
149
- - lib/automateit/account_manager/posix.rb
154
+ - lib/automateit/service_manager/chkconfig.rb
150
155
  - lib/automateit/account_manager/nscd.rb
151
156
  - lib/automateit/account_manager/base.rb
157
+ - lib/automateit/account_manager/posix.rb
152
158
  - lib/automateit/account_manager/etc.rb
153
159
  - lib/automateit/account_manager/passwd_expect.rb
154
160
  - lib/automateit/account_manager/passwd_pty.rb
155
- - lib/automateit/platform_manager/debian.rb
161
+ - lib/automateit/platform_manager/darwin.rb
156
162
  - lib/automateit/platform_manager/struct.rb
157
- - lib/automateit/platform_manager/windows.rb
163
+ - lib/automateit/platform_manager/debian.rb
158
164
  - lib/automateit/platform_manager/uname.rb
159
165
  - lib/automateit/platform_manager/lsb.rb
160
- - lib/automateit/platform_manager/openbsd.rb
161
- - lib/automateit/platform_manager/gentoo.rb
162
- - lib/automateit/platform_manager/darwin.rb
163
166
  - lib/automateit/platform_manager/freebsd.rb
167
+ - lib/automateit/platform_manager/gentoo.rb
168
+ - lib/automateit/platform_manager/openbsd.rb
164
169
  - lib/automateit/platform_manager/sunos.rb
170
+ - lib/automateit/platform_manager/windows.rb
165
171
  - lib/automateit/root.rb
166
- - lib/automateit/address_manager/bsd.rb
172
+ - lib/automateit/address_manager/base.rb
167
173
  - lib/automateit/address_manager/portable.rb
168
- - lib/automateit/address_manager/sunos.rb
174
+ - lib/automateit/address_manager/bsd.rb
169
175
  - lib/automateit/address_manager/linux.rb
170
- - lib/automateit/address_manager/base.rb
176
+ - lib/automateit/address_manager/sunos.rb
171
177
  - lib/automateit/address_manager/freebsd.rb
172
178
  - lib/automateit/address_manager/openbsd.rb
173
179
  - lib/automateit/project.rb
174
180
  - lib/automateit/shell_manager/portable.rb
175
- - lib/automateit/shell_manager/symlink.rb
176
- - lib/automateit/shell_manager/link.rb
177
181
  - lib/automateit/shell_manager/base_link.rb
178
- - lib/automateit/shell_manager/which_windows.rb
179
- - lib/automateit/shell_manager/which_unix.rb
182
+ - lib/automateit/shell_manager/link.rb
183
+ - lib/automateit/shell_manager/symlink.rb
180
184
  - lib/automateit/shell_manager/which_base.rb
185
+ - lib/automateit/shell_manager/which_unix.rb
186
+ - lib/automateit/shell_manager/which_windows.rb
181
187
  - lib/automateit/tag_manager/struct.rb
182
188
  - lib/automateit/tag_manager/yaml.rb
183
189
  - lib/automateit/tag_manager/tag_parser.rb
184
- - lib/automateit/template_manager/erb.rb
185
- - lib/automateit/template_manager/base.rb
186
- - lib/automateit/error.rb
187
190
  - lib/automateit/download_manager.rb
191
+ - lib/automateit/template_manager/base.rb
192
+ - lib/automateit/template_manager/erb.rb
188
193
  - lib/tempster.rb
189
194
  - lib/ext/metaclass.rb
190
195
  - lib/ext/object.rb
191
196
  - lib/ext/shell_escape.rb
197
+ - lib/helpful_erb.rb
192
198
  - lib/nitpick.rb
193
199
  - lib/queued_logger.rb
194
- - lib/helpful_erb.rb
195
200
  - lib/nested_error.rb
196
201
  - misc/index_gem_repository.rb
197
- - misc/setup_rubygems.sh
198
202
  - misc/setup_egg.rb
199
203
  - misc/setup_gem_dependencies.sh
204
+ - misc/setup_rubygems.sh
200
205
  - misc/setup_ruby-dbi.rb
201
206
  - spec/spec_helper.rb
202
207
  - spec/unit/plugins_spec.rb
@@ -208,24 +213,25 @@ files:
208
213
  - spec/unit/platform_manager_spec.rb
209
214
  - spec/unit/address_manager_spec.rb
210
215
  - spec/unit/edit_manager_spec.rb
211
- - spec/unit/shell_escape_spec.rb
212
- - spec/unit/object_spec.rb
213
216
  - spec/unit/nested_error_spec.rb
217
+ - spec/unit/object_spec.rb
218
+ - spec/unit/package_manager_spec.rb
219
+ - spec/unit/shell_escape_spec.rb
214
220
  - spec/integration/service_manager_sysv_spec.rb
215
- - spec/integration/template_manager_erb_spec.rb
221
+ - spec/integration/account_manager_nscd_spec.rb
216
222
  - spec/integration/package_manager_spec.rb
223
+ - spec/integration/address_manager_portable_spec.rb
217
224
  - spec/integration/platform_manager_spec.rb
218
- - spec/integration/edit_manager_spec.rb
225
+ - spec/integration/cli_spec.rb
219
226
  - spec/integration/shell_manager_spec.rb
220
227
  - spec/integration/account_manager_spec.rb
228
+ - spec/integration/address_manager_spec.rb
229
+ - spec/integration/download_spec.rb
230
+ - spec/integration/edit_manager_spec.rb
221
231
  - spec/integration/examples_spec.rb
222
- - spec/integration/cli_spec.rb
223
- - spec/integration/account_manager_nscd_spec.rb
224
- - spec/integration/address_manager_portable_spec.rb
225
- - spec/integration/tempster_spec.rb
226
232
  - spec/integration/examples_spec_editor.rb
227
- - spec/integration/download_spec.rb
228
- - spec/integration/address_manager_spec.rb
233
+ - spec/integration/template_manager_erb_spec.rb
234
+ - spec/integration/tempster_spec.rb
229
235
  - spec/breaker.rb
230
236
  - spec/extras/scratch.rb
231
237
  - spec/extras/automateit_service_sysv_test
@@ -276,25 +282,26 @@ test_files:
276
282
  - spec/unit/platform_manager_spec.rb
277
283
  - spec/unit/address_manager_spec.rb
278
284
  - spec/unit/edit_manager_spec.rb
279
- - spec/unit/shell_escape_spec.rb
280
- - spec/unit/object_spec.rb
281
285
  - spec/unit/nested_error_spec.rb
286
+ - spec/unit/object_spec.rb
287
+ - spec/unit/package_manager_spec.rb
288
+ - spec/unit/shell_escape_spec.rb
282
289
  - spec/integration
283
290
  - spec/integration/service_manager_sysv_spec.rb
284
- - spec/integration/template_manager_erb_spec.rb
291
+ - spec/integration/account_manager_nscd_spec.rb
285
292
  - spec/integration/package_manager_spec.rb
293
+ - spec/integration/address_manager_portable_spec.rb
286
294
  - spec/integration/platform_manager_spec.rb
287
- - spec/integration/edit_manager_spec.rb
295
+ - spec/integration/cli_spec.rb
288
296
  - spec/integration/shell_manager_spec.rb
289
297
  - spec/integration/account_manager_spec.rb
298
+ - spec/integration/address_manager_spec.rb
299
+ - spec/integration/download_spec.rb
300
+ - spec/integration/edit_manager_spec.rb
290
301
  - spec/integration/examples_spec.rb
291
- - spec/integration/cli_spec.rb
292
- - spec/integration/account_manager_nscd_spec.rb
293
- - spec/integration/address_manager_portable_spec.rb
294
- - spec/integration/tempster_spec.rb
295
302
  - spec/integration/examples_spec_editor.rb
296
- - spec/integration/download_spec.rb
297
- - spec/integration/address_manager_spec.rb
303
+ - spec/integration/template_manager_erb_spec.rb
304
+ - spec/integration/tempster_spec.rb
298
305
  - spec/breaker.rb
299
306
  - spec/extras
300
307
  - spec/extras/scratch.rb
metadata.gz.sig CHANGED
Binary file