class Buildizer::Os::Ubuntu
Attributes
version[R]
Public Class Methods
new(docker, version, **kwargs)
click to toggle source
Calls superclass method
Buildizer::Os::Base::new
# File lib/buildizer/os/ubuntu.rb, line 6 def initialize(docker, version, **kwargs) @version = version super(docker, **kwargs) end
Public Instance Methods
build_deb_instructions(target)
click to toggle source
# File lib/buildizer/os/ubuntu.rb, line 48 def build_deb_instructions(target) ["DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -b -us -uc -j#{target.builder.build_jobs}", "cp ../*.deb #{target.builder.docker.container_build_path}"] end
build_dep(image, build_dep)
click to toggle source
# File lib/buildizer/os/ubuntu.rb, line 23 def build_dep(image, build_dep) image.instruction :RUN, "apt-get build-dep -y #{build_dep.to_a.join(' ')}" if build_dep.any? end
codename()
click to toggle source
# File lib/buildizer/os/ubuntu.rb, line 15 def codename raise end
fpm_extra_params()
click to toggle source
Calls superclass method
Buildizer::Os::Base#fpm_extra_params
# File lib/buildizer/os/ubuntu.rb, line 31 def fpm_extra_params Array(super).tap do |res| res << '--deb-use-file-permissions' res << '--deb-no-default-config-files' end end
fpm_output_type()
click to toggle source
# File lib/buildizer/os/ubuntu.rb, line 27 def fpm_output_type 'deb' end
install_test_package_instructions(target)
click to toggle source
# File lib/buildizer/os/ubuntu.rb, line 38 def install_test_package_instructions(target) "(dpkg -i #{target.builder.docker.container_build_path.join('*.deb')} || true)" + " && apt-get install -yf" end
name()
click to toggle source
# File lib/buildizer/os/ubuntu.rb, line 11 def name 'ubuntu' end
native_build_instructions(target)
click to toggle source
# File lib/buildizer/os/ubuntu.rb, line 53 def native_build_instructions(target) source_archive_name = "#{target.package_name}_#{target.package_upstream_version}.orig.tar.gz" [["ln -fs #{target.container_package_archive_path} ", "#{target.container_package_path.dirname.join(source_archive_name)}"].join, "cd #{target.container_package_path}", *Array(build_deb_instructions(target))] end
package_cloud_os_version()
click to toggle source
# File lib/buildizer/os/ubuntu.rb, line 19 def package_cloud_os_version codename end
patch_build_instructions(target)
click to toggle source
# File lib/buildizer/os/ubuntu.rb, line 62 def patch_build_instructions(target) ["apt-get source #{target_package_spec(target)}", 'cd $(ls *.orig.tar* | ruby -ne "puts \$_.split(\\".orig.tar\\").first.gsub(\\"_\\", \\"-\\")")', ["DEBFULLNAME=\"#{target.maintainer}\" DEBEMAIL=\"#{target.maintainer_email}\" ", "debchange --newversion ", "$(dpkg-parsechangelog | grep \"Version:\" | cut -d\" \" -f2-)buildizer#{target.patch_version} ", "--distribution #{codename} \"Patch by buildizer\""].join, *target.patch.map {|patch| "cp ../#{patch} debian/patches/"}, *target.patch.map {|patch| "sed -i \"/#{Regexp.escape(patch)}/d\" debian/patches/series"}, *target.patch.map {|patch| "echo #{patch} >> debian/patches/series"}, *Array(build_deb_instructions(target))] end
prepare_test_container_instructions(target)
click to toggle source
# File lib/buildizer/os/ubuntu.rb, line 43 def prepare_test_container_instructions(target) ["apt-get update", "apt-get install -y git"] end
target_package_spec(target)
click to toggle source
# File lib/buildizer/os/ubuntu.rb, line 75 def target_package_spec(target) [target.package_name, target.package_version].compact.join('=') end