Class: Debian::Build::ZipSourceProvider::PackageRetriever

Inherits:
Object
  • Object
show all
Includes:
HelperMethods, FileUtils
Defined in:
lib/debian/build/source_providers.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from HelperMethods

#get, #sudo, #uncompress

Constructor Details

#initialize(url, package) ⇒ PackageRetriever

Returns a new instance of PackageRetriever.



77
78
79
# File 'lib/debian/build/source_providers.rb', line 77

def initialize(url, package)
  @url, @package = url, package
end

Instance Attribute Details

#packageObject (readonly)

Returns the value of attribute package.



75
76
77
# File 'lib/debian/build/source_providers.rb', line 75

def package
  @package
end

Instance Method Details

#orig_tarball_nameObject



108
109
110
# File 'lib/debian/build/source_providers.rb', line 108

def orig_tarball_name
  package.orig_source_tarball_name
end

#prepare_orig_tarballObject



87
88
89
90
91
92
93
94
95
96
97
98
# File 'lib/debian/build/source_providers.rb', line 87

def prepare_orig_tarball
  return if File.exists?(orig_tarball_name)
  Tempfile.open("prepare_orig_tarball") do |temp_directory|
    temp_directory_path = temp_directory.path
    temp_directory.delete
    mkdir_p temp_directory_path

    sh "unzip -o -qq -d #{temp_directory_path} #{tarball_name}"
    sh "tar -czf #{orig_tarball_name} -C #{temp_directory_path} ."
    rm_rf temp_directory_path
  end
end

#retrieveObject



81
82
83
84
85
# File 'lib/debian/build/source_providers.rb', line 81

def retrieve
  get tarball_url
  uncompress tarball_name
  prepare_orig_tarball
end

#tarball_nameObject



104
105
106
# File 'lib/debian/build/source_providers.rb', line 104

def tarball_name
  File.basename URI.parse(tarball_url).path
end

#tarball_urlObject



100
101
102
# File 'lib/debian/build/source_providers.rb', line 100

def tarball_url
  @tarball_url ||= eval( '"' + @url + '"', package.get_binding)
end