Class: Slackware::PackageBundle
- Defined in:
- lib/slackware/package_bundle.rb
Constant Summary
Constants inherited from Package
Slackware::Package::FMT_UPGRADE_TIME, Slackware::Package::RE_COMPRESSED_PACKAGE_SIZE, Slackware::Package::RE_FILE_LIST, Slackware::Package::RE_PACKAGE_DESCRIPTION, Slackware::Package::RE_PACKAGE_LOCATION, Slackware::Package::RE_UNCOMPRESSED_PACKAGE_SIZE
Instance Attribute Summary collapse
-
#archive ⇒ Object
Returns the value of attribute archive.
Attributes inherited from Package
#arch, #build, #file, #name, #owned_files, #path, #tag, #tag_sep, #time, #upgrade_time, #version
Instance Method Summary collapse
- #get_file_list ⇒ Object
-
#initialize(name = nil) ⇒ PackageBundle
constructor
A new instance of PackageBundle.
- #inspect ⇒ Object
- #parse(name) ⇒ Object
- #read_file(file) ⇒ Object
Methods inherited from Package
#compressed_size, #compressed_size=, #fullname, #get_owned_files, #get_path, #get_time, #package_description, #package_description=, #package_location, #package_location=, parse, #set_owned_files, #uncompressed_size, #uncompressed_size=
Constructor Details
#initialize(name = nil) ⇒ PackageBundle
Returns a new instance of PackageBundle.
27 28 29 |
# File 'lib/slackware/package_bundle.rb', line 27 def initialize(name = nil) super end |
Instance Attribute Details
#archive ⇒ Object
Returns the value of attribute archive.
25 26 27 |
# File 'lib/slackware/package_bundle.rb', line 25 def archive @archive end |
Instance Method Details
#get_file_list ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/slackware/package_bundle.rb', line 42 def get_file_list pkg = "%s/%s.%s" % [self.path, self.fullname, self.archive] return nil unless File.exist?(pkg) e_flag = "" if pkg =~ /txz$/ e_flag = "J" elsif pkg =~ /tgz$/ e_flag = "z" elsif pkg =~ /tbz$/ e_flag = "j" end IO.popen("tar #{e_flag}wtf #{pkg}") {|f| f.readlines.map {|l| l.chomp } } end |
#inspect ⇒ Object
74 75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/slackware/package_bundle.rb', line 74 def inspect "#<%s:0x%x name=%s version=%s arch=%s build=%s tag=%s archive=%s>" % [ self.class.name, self.object_id, self.name.inspect, self.version.inspect, self.arch.inspect, self.build, self.tag.inspect, self.archive.inspect ] end |
#parse(name) ⇒ Object
31 32 33 34 35 36 37 38 39 40 |
# File 'lib/slackware/package_bundle.rb', line 31 def parse(name) super(name) if self.build =~ /^(\d+.*)\.(t[gx]z)$/ self.build = $1 self.archive = $2 elsif self.tag =~ /^(.*)\.(t[gx]z)$/ self.tag = $1 self.archive = $2 end end |
#read_file(file) ⇒ Object
59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/slackware/package_bundle.rb', line 59 def read_file(file) pkg = "%s/%s.%s" % [self.path, self.fullname, self.archive] return nil unless File.exist?(pkg) e_flag = "" if pkg =~ /txz$/ e_flag = "J" elsif pkg =~ /tgz$/ e_flag = "z" elsif pkg =~ /tbz$/ e_flag = "j" end IO.popen("tar #{e_flag}xOf #{pkg} #{file}") {|f| f.read } end |