tpkg 2.2.1 → 2.2.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/Rakefile CHANGED
@@ -4,8 +4,8 @@ spec = Gem::Specification.new do |s|
4
4
  s.summary = 'tpkg Application Packaging & Deployment'
5
5
  s.add_dependency('facter')
6
6
  s.add_dependency('net-ssh')
7
- s.add_dependency('ddao-kwalify')
8
- s.version = '2.2.1'
7
+ s.add_dependency('kwalify')
8
+ s.version = '2.2.2'
9
9
  s.authors = ['Darren Dao', 'Jason Heiss']
10
10
  s.email = 'tpkg-users@lists.sourceforge.net'
11
11
  s.homepage = 'http://tpkg.sourceforge.net'
data/bin/cpan2tpkg CHANGED
@@ -1,4 +1,9 @@
1
1
  #!/opt/tpkg/bin/perl
2
+ ##############################################################################
3
+ # tpkg package management system
4
+ # Copyright 2009, 2010, 2011 AT&T Interactive
5
+ # License: MIT (http://www.opensource.org/licenses/mit-license.php)
6
+ ##############################################################################
2
7
 
3
8
  use warnings;
4
9
  use strict;
data/bin/gem2tpkg CHANGED
@@ -1,4 +1,9 @@
1
1
  #!/usr/bin/ruby -w
2
+ ##############################################################################
3
+ # tpkg package management system
4
+ # Copyright 2009, 2010, 2011 AT&T Interactive
5
+ # License: MIT (http://www.opensource.org/licenses/mit-license.php)
6
+ ##############################################################################
2
7
 
3
8
  # Ensure we can find tpkg.rb
4
9
  $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
data/bin/tpkg CHANGED
@@ -1,6 +1,8 @@
1
1
  #!/usr/bin/ruby -w
2
2
  ##############################################################################
3
- # tpkg package management and deployment tool
3
+ # tpkg package management system
4
+ # Copyright 2009, 2010, 2011 AT&T Interactive
5
+ # License: MIT (http://www.opensource.org/licenses/mit-license.php)
4
6
  ##############################################################################
5
7
 
6
8
  # Ensure we can find tpkg.rb
@@ -455,9 +457,9 @@ case @action
455
457
  when :make
456
458
  @other_options[:force] = @force
457
459
  @other_options[:compress] = @compress
458
- pkgfile = Tpkg::make_package(@action_value, passphrase_callback, @other_options)
459
- if pkgfile
460
- puts "Package is #{pkgfile}"
460
+ madepkg = Tpkg::make_package(@action_value, passphrase_callback, @other_options)
461
+ if madepkg
462
+ puts "Package is #{madepkg}"
461
463
  else
462
464
  puts "Package build aborted or failed"
463
465
  end
@@ -506,12 +508,12 @@ when :execute_init
506
508
  ret_val = tpkg.execute_init(@init_options)
507
509
  when :query_installed
508
510
  tpkg = instantiate_tpkg(@tpkg_options)
509
- req = nil
511
+ queryreq = nil
510
512
  matches = []
511
513
  if @action_value
512
514
  @action_value.each do | value |
513
- req = Tpkg::parse_request(value, tpkg.installed_directory)
514
- match = tpkg.installed_packages_that_meet_requirement(req)
515
+ queryreq = Tpkg::parse_request(value, tpkg.installed_directory)
516
+ match = tpkg.installed_packages_that_meet_requirement(queryreq)
515
517
 
516
518
  # If the user requested specific packages and we found no matches
517
519
  # then exit with a non-zero value to indicate failure. This allows
@@ -521,7 +523,7 @@ when :query_installed
521
523
  matches |= match
522
524
  end
523
525
  else
524
- matches = tpkg.installed_packages_that_meet_requirement(req)
526
+ matches = tpkg.installed_packages_that_meet_requirement(queryreq)
525
527
  end
526
528
 
527
529
  if !@quiet
@@ -571,23 +573,23 @@ when :query_list_files
571
573
  tpkg = instantiate_tpkg(@tpkg_options)
572
574
  pkgfiles = nil
573
575
  if File.exist?(@action_value)
574
- fip = Tpkg::files_in_package(@action_value)
575
- tpkg.normalize_paths(fip)
576
+ fipfile = Tpkg::files_in_package(@action_value)
577
+ tpkg.normalize_paths(fipfile)
576
578
  puts "#{@action_value}:"
577
- fip[:normalized].each { |file| puts file }
579
+ fipfile[:normalized].each { |file| puts file }
578
580
  else
579
581
  pkgfiles = []
580
582
  metadatas = []
581
583
  requirements = []
582
584
  packages = {}
583
585
 
584
- req = Tpkg::parse_request(@action_value)
585
- pkgs = tpkg.installed_packages_that_meet_requirement(req)
586
- if pkgs.nil? or pkgs.empty?
586
+ queryreq = Tpkg::parse_request(@action_value)
587
+ instpkgs = tpkg.installed_packages_that_meet_requirement(queryreq)
588
+ if instpkgs.nil? or instpkgs.empty?
587
589
  ret_val = 1
588
590
  puts "Could not find any installed packages that meet the request \"#{@action_value}\""
589
591
  end
590
- pkgs.each do | pkg |
592
+ instpkgs.each do | pkg |
591
593
  pkgfiles << pkg[:metadata][:filename]
592
594
  end
593
595
 
@@ -608,11 +610,11 @@ when :query_who_owns_file
608
610
  end
609
611
  when :query_available
610
612
  tpkg = instantiate_tpkg(@tpkg_options)
611
- req = nil
613
+ queryreq = nil
612
614
  if @action_value
613
- req = Tpkg::parse_request(@action_value)
615
+ queryreq = Tpkg::parse_request(@action_value)
614
616
  end
615
- tpkg.available_packages_that_meet_requirement(req).each do |pkg|
617
+ tpkg.available_packages_that_meet_requirement(queryreq).each do |pkg|
616
618
  next if pkg[:source] == :native_installed
617
619
  next if pkg[:source] == :native_available
618
620
  puts "#{pkg[:metadata][:filename]} (#{pkg[:source]})"
@@ -649,9 +651,9 @@ when :query_requires
649
651
  end
650
652
  when :query_local_depends
651
653
  tpkg = instantiate_tpkg(@tpkg_options)
652
- req = Tpkg::parse_request(@action_value)
653
- pkgs = tpkg.installed_packages_that_meet_requirement(req)
654
- pkgs.each do | pkg |
654
+ queryreq = Tpkg::parse_request(@action_value)
655
+ instpkgs = tpkg.installed_packages_that_meet_requirement(queryreq)
656
+ instpkgs.each do | pkg |
655
657
  puts pkg[:metadata][:filename] + ':'
656
658
  if pkg[:metadata][:dependencies]
657
659
  pkg[:metadata][:dependencies].each do |req|
data/bin/tpkg_xml_to_yml CHANGED
@@ -1,4 +1,9 @@
1
1
  #!/usr/bin/ruby -w
2
+ ##############################################################################
3
+ # tpkg package management system
4
+ # Copyright 2009, 2010, 2011 AT&T Interactive
5
+ # License: MIT (http://www.opensource.org/licenses/mit-license.php)
6
+ ##############################################################################
2
7
 
3
8
  # Ensure we can find tpkg.rb
4
9
  $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
data/lib/tpkg.rb CHANGED
@@ -1,62 +1,46 @@
1
1
  ##############################################################################
2
- # tpkg package management system library
3
- # Copyright 2009, 2010 AT&T Interactive
2
+ # tpkg package management system
3
+ # Copyright 2009, 2010, 2011 AT&T Interactive
4
4
  # License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  ##############################################################################
6
6
 
7
7
  STDOUT.sync = STDERR.sync = true # All outputs/prompts to the kernel ASAP
8
8
 
9
- # When we build the tpkg packages we put this file in
10
- # /usr/lib/ruby/site_ruby/1.8/ or similar and then the rest of the ruby
11
- # files (versiontype.rb, deployer.rb, etc) into
12
- # /usr/lib/ruby/site_ruby/1.8/tpkg/
13
- # We need to tell Ruby to search that tpkg subdirectory.
14
- # The alternative is to specify the subdirectory in the require
15
- # (require 'tpkg/versiontype' for example), but tpkg is also the name
16
- # of the executable script so we can't create a subdirectory here named
17
- # tpkg. If we put the subdir in the require lines then users couldn't
18
- # run tpkg directly from an svn working copy.
19
- tpkglibdir = File.join(File.dirname(__FILE__), 'tpkg')
20
- if File.directory?(tpkglibdir)
21
- $:.unshift(tpkglibdir)
22
- end
23
-
24
- # We store this gem in our thirdparty directory. So we need to add it
25
- # it to the search path
26
- # This one is for when everything is installed
27
- $:.unshift(File.join(File.dirname(__FILE__), 'thirdparty/kwalify-0.7.1/lib'))
28
- # And this one for when we're in the svn directory structure
29
- $:.unshift(File.join(File.dirname(File.dirname(__FILE__)), 'thirdparty/kwalify-0.7.1/lib'))
30
-
31
- begin
32
- # Try loading facter w/o gems first so that we don't introduce a
33
- # dependency on gems if it is not needed.
34
- require 'facter' # Facter
35
- rescue LoadError
36
- require 'rubygems'
37
- require 'facter'
9
+ # Exclude standard libraries and gems from the warnings induced by
10
+ # running ruby with the -w flag. Several of these have warnings under
11
+ # ruby 1.9 and there's nothing we can do to fix that.
12
+ require 'tpkg/silently'
13
+ Silently.silently do
14
+ begin
15
+ # Try loading facter w/o gems first so that we don't introduce a
16
+ # dependency on gems if it is not needed.
17
+ require 'facter' # Facter
18
+ rescue LoadError
19
+ require 'rubygems'
20
+ require 'facter'
21
+ end
22
+ require 'digest/sha2' # Digest::SHA256#hexdigest, etc.
23
+ require 'uri' # URI
24
+ require 'net/http' # Net::HTTP
25
+ require 'net/https' # Net::HTTP#use_ssl, etc.
26
+ require 'time' # Time#httpdate
27
+ require 'rexml/document' # REXML::Document
28
+ require 'fileutils' # FileUtils.cp, rm, etc.
29
+ require 'tempfile' # Tempfile
30
+ require 'find' # Find
31
+ require 'etc' # Etc.getpwnam, getgrnam
32
+ require 'openssl' # OpenSSL
33
+ require 'open3' # Open3
34
+ require 'set' # Enumerable#to_set
35
+ require 'yaml' # YAML
38
36
  end
39
- require 'digest/sha2' # Digest::SHA256#hexdigest, etc.
40
- require 'uri' # URI
41
- require 'net/http' # Net::HTTP
42
- require 'net/https' # Net::HTTP#use_ssl, etc.
43
- require 'time' # Time#httpdate
44
- require 'rexml/document' # REXML::Document
45
- require 'fileutils' # FileUtils.cp, rm, etc.
46
- require 'tempfile' # Tempfile
47
- require 'find' # Find
48
- require 'etc' # Etc.getpwnam, getgrnam
49
- require 'openssl' # OpenSSL
50
- require 'open3' # Open3
51
- require 'versiontype' # Version
52
- require 'deployer'
53
- require 'set'
54
- require 'metadata'
55
- require 'kwalify' # for validating yaml
37
+ require 'tpkg/versiontype' # Version
38
+ require 'tpkg/deployer'
39
+ require 'tpkg/metadata'
56
40
 
57
41
  class Tpkg
58
42
 
59
- VERSION = '2.2.1'
43
+ VERSION = '2.2.2'
60
44
 
61
45
  GENERIC_ERR = 1
62
46
  POSTINSTALL_ERR = 2
@@ -66,6 +50,9 @@ class Tpkg
66
50
  CONNECTION_TIMEOUT = 10
67
51
 
68
52
  DEFAULT_OWNERSHIP_UID = 0
53
+ DEFAULT_OWNERSHIP_GID = 0
54
+ DEFAULT_FILE_PERMS = nil
55
+ DEFAULT_DIR_PERMS = 0755
69
56
 
70
57
  attr_reader :installed_directory
71
58
 
@@ -629,9 +616,9 @@ class Tpkg
629
616
  metadata = metadata_from_directory(directory)
630
617
  # And write that out to metadata.yml
631
618
  metadata_tmpfile = Tempfile.new('metadata.yml', dest)
632
- metadata.each do | metadata |
633
- YAML::dump(metadata.to_hash.recursively{|h| h.stringify_keys }, metadata_tmpfile)
634
- #YAML::dump(metadata.to_hash, metadata_tmpfile)
619
+ metadata.each do | m |
620
+ YAML::dump(m.to_hash.recursively{|h| h.stringify_keys }, metadata_tmpfile)
621
+ #YAML::dump(m.to_hash, metadata_tmpfile)
635
622
  end
636
623
  metadata_tmpfile.close
637
624
  File.chmod(0644, metadata_tmpfile.path)
@@ -1106,7 +1093,7 @@ class Tpkg
1106
1093
  perms = stat.mode
1107
1094
  # This is what we set the ownership to by default
1108
1095
  uid = DEFAULT_OWNERSHIP_UID
1109
- gid = DEFAULT_OWNERSHIP_UID
1096
+ gid = DEFAULT_OWNERSHIP_GID
1110
1097
  end
1111
1098
 
1112
1099
  # get default permission and ownership
@@ -2545,8 +2532,8 @@ class Tpkg
2545
2532
 
2546
2533
  # Handle any default permissions and ownership
2547
2534
  default_uid = DEFAULT_OWNERSHIP_UID
2548
- default_gid = DEFAULT_OWNERSHIP_UID
2549
- default_perms = nil
2535
+ default_gid = DEFAULT_OWNERSHIP_GID
2536
+ default_perms = DEFAULT_FILE_PERMS
2550
2537
 
2551
2538
  if (metadata[:files][:file_defaults][:posix][:owner] rescue nil)
2552
2539
  default_uid = Tpkg::lookup_uid(metadata[:files][:file_defaults][:posix][:owner])
@@ -2561,7 +2548,7 @@ class Tpkg
2561
2548
  # Set default dir uid/gid to be same as for file.
2562
2549
  default_dir_uid = default_uid
2563
2550
  default_dir_gid = default_gid
2564
- default_dir_perms = 0755
2551
+ default_dir_perms = DEFAULT_DIR_PERMS
2565
2552
 
2566
2553
  if (metadata[:files][:dir_defaults][:posix][:owner] rescue nil)
2567
2554
  default_dir_uid = Tpkg::lookup_uid(metadata[:files][:dir_defaults][:posix][:owner])
@@ -2572,15 +2559,16 @@ class Tpkg
2572
2559
  if (metadata[:files][:dir_defaults][:posix][:perms] rescue nil)
2573
2560
  default_dir_perms = metadata[:files][:dir_defaults][:posix][:perms]
2574
2561
  end
2575
-
2562
+
2563
+ # FIXME: attempt lchown/lchmod on symlinks
2576
2564
  root_dir = File.join(workdir, 'tpkg', 'root')
2577
2565
  reloc_dir = File.join(workdir, 'tpkg', 'reloc')
2578
2566
  Find.find(*Tpkg::get_package_toplevels(File.join(workdir, 'tpkg'))) do |f|
2579
2567
  begin
2580
- if File.directory?(f)
2581
- File.chown(default_dir_uid, default_dir_gid, f)
2582
- else
2568
+ if File.file?(f) && !File.symlink?(f)
2583
2569
  File.chown(default_uid, default_gid, f)
2570
+ elsif File.directory?(f) && !File.symlink?(f)
2571
+ File.chown(default_dir_uid, default_dir_gid, f)
2584
2572
  end
2585
2573
  rescue Errno::EPERM
2586
2574
  raise if Process.euid == 0
@@ -2628,14 +2616,22 @@ class Tpkg
2628
2616
  gid = Tpkg::lookup_gid(tpkgfile[:posix][:group])
2629
2617
  end
2630
2618
  begin
2631
- File.chown(uid, gid, working_path)
2619
+ if !File.symlink?(working_path)
2620
+ File.chown(uid, gid, working_path)
2621
+ else
2622
+ # FIXME: attempt lchown
2623
+ end
2632
2624
  rescue Errno::EPERM
2633
2625
  raise if Process.euid == 0
2634
2626
  end
2635
2627
  end
2636
2628
  if tpkgfile[:posix][:perms]
2637
2629
  perms = tpkgfile[:posix][:perms]
2638
- File.chmod(perms, working_path)
2630
+ if !File.symlink?(working_path)
2631
+ File.chmod(perms, working_path)
2632
+ else
2633
+ # FIXME: attempt lchmod
2634
+ end
2639
2635
  end
2640
2636
  end
2641
2637
 
data/lib/tpkg/deployer.rb CHANGED
@@ -1,21 +1,30 @@
1
+ ##############################################################################
2
+ # tpkg package management system
3
+ # Copyright 2009, 2010, 2011 AT&T Interactive
4
+ # License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
+ ##############################################################################
6
+
1
7
  # We store these gems in our thirdparty directory. So we need to add it
2
8
  # it to the search path
3
- # This one is for when everything is installed
4
- $:.unshift(File.join(File.dirname(__FILE__), 'thirdparty/net-ssh-2.0.11/lib'))
5
- # And this one for when we're in the svn directory structure
6
- $:.unshift(File.join(File.dirname(File.dirname(__FILE__)), 'thirdparty/net-ssh-2.0.11/lib'))
9
+ $:.unshift(File.join(File.dirname(__FILE__), 'thirdparty/net-ssh-2.1.0/lib'))
7
10
 
8
11
  $debug = true
9
12
 
10
- require 'thread_pool'
11
- begin
12
- # Try loading net-ssh w/o gems first so that we don't introduce a
13
- # dependency on gems if it is not needed.
14
- require 'net/ssh'
15
- rescue LoadError
16
- require 'rubygems'
17
- require 'net/ssh'
13
+ # Exclude standard libraries and gems from the warnings induced by
14
+ # running ruby with the -w flag. If any of these had warnings there's
15
+ # nothing we could do to fix that.
16
+ require 'tpkg/silently'
17
+ Silently.silently do
18
+ begin
19
+ # Try loading net-ssh w/o gems first so that we don't introduce a
20
+ # dependency on gems if it is not needed.
21
+ require 'net/ssh'
22
+ rescue LoadError
23
+ require 'rubygems'
24
+ require 'net/ssh'
25
+ end
18
26
  end
27
+ require 'tpkg/thread_pool'
19
28
 
20
29
  class Deployer
21
30
 
@@ -97,11 +106,11 @@ class Deployer
97
106
  # back and forth if needed. it WILL NOT WORK without this, and it has to
98
107
  # be done before any call to exec.
99
108
 
100
- channel.request_pty do |ch, success|
109
+ channel.request_pty do |ch_pty, success|
101
110
  raise "Could not obtain pty (i.e. an interactive ssh session)" if !success
102
111
  end
103
112
 
104
- channel.exec(cmd) do |ch, success|
113
+ channel.exec(cmd) do |ch_exec, success|
105
114
  puts "Executing #{cmd} on #{server}"
106
115
  # 'success' isn't related to bash exit codes or anything, but more
107
116
  # about ssh internals (i think... not bash related anyways).
@@ -113,7 +122,7 @@ class Deployer
113
122
  # in (see below) returns data. This is what we've been doing all this
114
123
  # for; now we can check to see if it's a password prompt, and
115
124
  # interactively return data if so (see request_pty above).
116
- channel.on_data do |ch, data|
125
+ channel.on_data do |ch_data, data|
117
126
  if data =~ /Password:/
118
127
  password = get_sudo_pw unless !password.nil? && password != ""
119
128
  channel.send_data "#{password}\n"
@@ -126,11 +135,11 @@ class Deployer
126
135
  end
127
136
  end
128
137
 
129
- channel.on_extended_data do |ch, type, data|
138
+ channel.on_extended_data do |ch_onextdata, type, data|
130
139
  print "SSH command returned on stderr: #{data}"
131
140
  end
132
141
 
133
- channel.on_request "exit-status" do |ch, data|
142
+ channel.on_request "exit-status" do |ch_onreq, data|
134
143
  exit_status = data.read_long
135
144
  end
136
145
  end
data/lib/tpkg/metadata.rb CHANGED
@@ -1,13 +1,22 @@
1
- require 'yaml'
2
- require 'rexml/document'
1
+ ##############################################################################
2
+ # tpkg package management system
3
+ # Copyright 2009, 2010, 2011 AT&T Interactive
4
+ # License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
+ ##############################################################################
3
6
 
4
7
  # We store this gem in our thirdparty directory. So we need to add it
5
8
  # it to the search path
6
- # This one is for when everything is installed
7
- $:.unshift(File.join(File.dirname(__FILE__), 'thirdparty/kwalify-0.7.1/lib'))
8
- # And this one for when we're in the svn directory structure
9
- $:.unshift(File.join(File.dirname(File.dirname(__FILE__)), 'thirdparty/kwalify-0.7.1/lib'))
10
- require 'kwalify' # for validating yaml
9
+ $:.unshift(File.join(File.dirname(__FILE__), 'thirdparty/kwalify-0.7.2/lib'))
10
+
11
+ # Exclude standard libraries and gems from the warnings induced by
12
+ # running ruby with the -w flag. Several of these have warnings and
13
+ # there's nothing we can do to fix that.
14
+ require 'tpkg/silently'
15
+ Silently.silently do
16
+ require 'yaml' # YAML
17
+ require 'rexml/document' # REXML::Document
18
+ require 'kwalify' # Kwalify, for validating yaml
19
+ end
11
20
 
12
21
  # This class is taken from the ActiveSupport gem.
13
22
  # With yaml, keys are stored as string. But when we convert xml to hash, we store the key as
@@ -229,6 +238,8 @@ class Metadata
229
238
  dirtystring.downcase.gsub(/[^\w]/, '')
230
239
  end
231
240
 
241
+ # Parse a file containing multiple package metadata documents (such as is
242
+ # generated by Tpkg.extract_metadata) into a hash of Metadata objects
232
243
  def self.get_pkgs_metadata_from_yml_doc(yml_doc, metadata=nil, source=nil)
233
244
  metadata ||= {}
234
245
  metadata_lists = yml_doc.split("---")
@@ -242,7 +253,7 @@ class Metadata
242
253
  return metadata
243
254
  end
244
255
 
245
- # Given the directory from which the metadata is saved, returns a Metadata
256
+ # Given the directory of an unpacked package, returns a Metadata
246
257
  # object. The metadata file can be in yml or xml format
247
258
  def self.instantiate_from_dir(dir)
248
259
  metadata = nil
@@ -258,6 +269,10 @@ class Metadata
258
269
 
259
270
  # metadata_text = text representation of the metadata
260
271
  # format = yml, xml, json, etc.
272
+ # source = Source, in the tpkg sense, of the package described by this
273
+ # metadata. I.e. the filename of an individual package or a directory or
274
+ # URL containing multiple packages and a metadata.yml file. Used by tpkg to
275
+ # report on how many packages are available from various sources.
261
276
  def initialize(metadata_text, format, source=nil)
262
277
  @hash = nil
263
278
  @metadata_text = metadata_text
@@ -0,0 +1,11 @@
1
+ # http://www.caliban.org/ruby/rubyguide.shtml#warnings
2
+ class Silently
3
+ def self.silently(&block)
4
+ warn_level = $VERBOSE
5
+ $VERBOSE = nil
6
+ result = block.call
7
+ $VERBOSE = warn_level
8
+ result
9
+ end
10
+ end
11
+
@@ -1,8 +1,20 @@
1
- require 'thread'
2
- begin
3
- require 'fastthread'
4
- rescue LoadError
5
- # $stderr.puts "Using the ruby-core thread implementation"
1
+ ##############################################################################
2
+ # tpkg package management system
3
+ # Copyright 2009, 2010, 2011 AT&T Interactive
4
+ # License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
+ ##############################################################################
6
+
7
+ # Exclude standard libraries and gems from the warnings induced by
8
+ # running ruby with the -w flag. If any of these had warnings there's
9
+ # nothing we could do to fix that.
10
+ require 'tpkg/silently'
11
+ Silently.silently do
12
+ require 'thread'
13
+ begin
14
+ require 'fastthread'
15
+ rescue LoadError
16
+ # $stderr.puts "Using the ruby-core thread implementation"
17
+ end
6
18
  end
7
19
 
8
20
  class ThreadPool
@@ -1,3 +1,9 @@
1
+ ##############################################################################
2
+ # tpkg package management system
3
+ # Copyright 2009, 2010, 2011 AT&T Interactive
4
+ # License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
+ ##############################################################################
6
+
1
7
  # This class stores numbers with multiple decimal points, a format
2
8
  # commonly used for version numbers. For example '2.5.1'.
3
9
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tpkg
3
3
  version: !ruby/object:Gem::Version
4
- hash: 5
5
- prerelease: false
4
+ hash: 3
5
+ prerelease:
6
6
  segments:
7
7
  - 2
8
8
  - 2
9
- - 1
10
- version: 2.2.1
9
+ - 2
10
+ version: 2.2.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Darren Dao
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2011-02-04 00:00:00 -08:00
19
+ date: 2011-02-14 00:00:00 -08:00
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
@@ -48,7 +48,7 @@ dependencies:
48
48
  type: :runtime
49
49
  version_requirements: *id002
50
50
  - !ruby/object:Gem::Dependency
51
- name: ddao-kwalify
51
+ name: kwalify
52
52
  prerelease: false
53
53
  requirement: &id003 !ruby/object:Gem::Requirement
54
54
  none: false
@@ -79,6 +79,7 @@ files:
79
79
  - bin/tpkg_xml_to_yml
80
80
  - lib/tpkg/deployer.rb
81
81
  - lib/tpkg/metadata.rb
82
+ - lib/tpkg/silently.rb
82
83
  - lib/tpkg/thread_pool.rb
83
84
  - lib/tpkg/versiontype.rb
84
85
  - lib/tpkg.rb
@@ -132,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
132
133
  requirements: []
133
134
 
134
135
  rubyforge_project: tpkg
135
- rubygems_version: 1.3.7
136
+ rubygems_version: 1.5.0
136
137
  signing_key:
137
138
  specification_version: 3
138
139
  summary: tpkg Application Packaging & Deployment