Class: DebianPackageDownloader

Inherits:
Object
  • Object
show all
Defined in:
lib/debian_package_downloader.rb

Constant Summary collapse

VERSION =
'0.6.0'
VALID_DEBIAN_ARCHITECTURES =
%w[alpha amd64 arm armel hppa i386 ia64 mips
mipsel powerpc s390 sparc]

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(packagename = nil, architecture = nil, dir = nil) ⇒ DebianPackageDownloader

Returns a new instance of DebianPackageDownloader.



14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/debian_package_downloader.rb', line 14

def initialize packagename=nil, architecture=nil, dir=nil
  if packagename then
    self.package = packagename
  else
    @package = nil
  end
  
  @architecture = architecture
  @download_dir = dir
  @dependencies = []
  @suggestions = []
  @all_dependencies = []
  @all_suggestions = []
end

Instance Attribute Details

#architectureObject

The name of the base package that will be downloaded



11
12
13
# File 'lib/debian_package_downloader.rb', line 11

def architecture
  @architecture
end

#download_dirObject

The name of the base package that will be downloaded



11
12
13
# File 'lib/debian_package_downloader.rb', line 11

def download_dir
  @download_dir
end

#packageObject

The name of the base package that will be downloaded



11
12
13
# File 'lib/debian_package_downloader.rb', line 11

def package
  @package
end

Class Method Details

.validPackage?(packageName) ⇒ Boolean

Returns true if packageName is a real debian package, and false otherwise

Returns:

  • (Boolean)


30
31
32
33
# File 'lib/debian_package_downloader.rb', line 30

def self.validPackage? packageName
  result = %x[apt-cache pkgnames]
  result.split("\n").include?(packageName)
end

Instance Method Details

#dependsObject



56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/debian_package_downloader.rb', line 56

def depends
  unless @package
    raise StandardError, "Package not set!"
  end

  deps = %x[apt-cache depends #{@package}]
  pp deps
  @dependencies = deps.map{ |x|
    x.sub!("Depends:", '') ? x.strip! : nil
  }
  @dependencies.compact!
end

#setPackageName(packagename) ⇒ Object

Equivelent to package=



44
45
46
# File 'lib/debian_package_downloader.rb', line 44

def setPackageName packagename
  self.package = packagename
end