Class: Pkgr::Distributions::Debian

Inherits:
Base
  • Object
show all
Defined in:
lib/pkgr/distributions/debian.rb

Overview

Contains the various components required to make a packaged app integrate well with a Debian system.

Direct Known Subclasses

Ubuntu

Instance Method Summary collapse

Methods inherited from Base

#build_dependencies, #buildpacks, #check, #default_buildpack_list, #dependencies, #initialize, #initializers_for, #os, #postinstall_file, #preinstall_file, #slug, #templates

Constructor Details

This class inherits a constructor from Pkgr::Distributions::Base

Instance Method Details

#fpm_args(build_dir, config) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/pkgr/distributions/debian.rb', line 30

def fpm_args(build_dir, config)
  args = []
  args << "-t deb"
  args << "-s dir"
  args << "--verbose"
  args << "--force"
  args << %{-C "#{build_dir}"}
  args << %{-n "#{config.name}"}
  args << %{--version "#{config.version}"}
  args << %{--iteration "#{config.iteration}"}
  args << %{--url "#{config.homepage}"}
  args << %{--provides "#{config.name}"}
  args << %{--deb-user "root"}
  args << %{--deb-group "root"}
  args << %{--license "#{config.license}"} unless config.license.nil?
  args << %{-a "#{config.architecture}"}
  args << %{--description "#{config.description}"}
  args << %{--maintainer "#{config.maintainer}"}
  args << %{--template-scripts}
  args << %{--before-install #{preinstall_file(config)}}
  args << %{--after-install #{postinstall_file(config)}}
  dependencies(config.dependencies).each{|d| args << "-d '#{d}'"}
  args
end

#fpm_command(build_dir, config) ⇒ Object



26
27
28
# File 'lib/pkgr/distributions/debian.rb', line 26

def fpm_command(build_dir, config)
  %{fpm #{fpm_args(build_dir, config).join(" ")} .}
end

#package_install_command(packages) ⇒ Object



22
23
24
# File 'lib/pkgr/distributions/debian.rb', line 22

def package_install_command(packages)
  "sudo apt-get update && sudo apt-get install --force-yes -y #{packages.map{|package| "\"#{package}\""}.join(" ")}"
end

#package_test_command(package) ⇒ Object



18
19
20
# File 'lib/pkgr/distributions/debian.rb', line 18

def package_test_command(package)
  "dpkg -s '#{package}' > /dev/null 2>&1"
end

#releaseObject

Only keep major digits



10
11
12
# File 'lib/pkgr/distributions/debian.rb', line 10

def release
  @release[/^[0-9]+/]
end

#runnerObject



14
15
16
# File 'lib/pkgr/distributions/debian.rb', line 14

def runner
  @runner ||= Runner.new("sysv", "lsb-3.1")
end