class Upackage::Creator

Public Class Methods

check_version() click to toggle source
# File lib/upackage.rb, line 16
def check_version
  begin
    distro = SystemGateway.perform('lsb_release -s -c').strip || 'unknown'
    version = SystemGateway.perform('git describe --tags $(git rev-list --tags --max-count=1)').strip
    version.delete('a-zA-Z<=~()').concat('-').concat(distro)
  rescue
    version = '0.1.0'.concat('-unknown')
  end
end
clear() click to toggle source
# File lib/upackage.rb, line 36
def clear
  puts "deleting temporary files...."
  SystemGateway.perform('git clean -fd')
  SystemGateway.perform('git reset --hard')
end
create() click to toggle source
# File lib/upackage.rb, line 42
def create
  puts "\033[32mShow me what u got!\033[0m\n\n"
  begin
    File.open('debian/changelog', 'a') do |file|
      self.generate_changelog.each do |line|
        file.puts("#{ line }\n")
      end
    end
  rescue
    return 'Can\'t create debian/changelog file...'
  end
  if Requirements.valid?
    if SystemGateway.perform_with_exit_code('dpkg-buildpackage -uc -us -b')
      clear
      begin
        File.open('current_version', 'w'){ |file| file.write(self.check_version) }
      rescue
        puts "\033[31mCan't write version into version file!\033[0m"
      end
      puts "\033[32mYey! We have new package!\033[0m"
    else
      puts "\033[31mError while running 'dpkg-buildpackage'!\033[0m"
      exit 1
    end
  else
    'Requirements are not satisfied :,('
  end
end
generate_changelog() click to toggle source
# File lib/upackage.rb, line 26
def generate_changelog
  comment = SystemGateway.perform('git --no-pager log -1 --oneline')
  date = DateTime.now.strftime("%a, %e %b %Y %T %z")
  project = File.basename(Dir.pwd)
  lines = ["#{ project } (#{ self.check_version }) stable; urgency=medium",
    "  * #{ comment }",
    " -- UNIQ systems <info@uniqsystems.ru>  #{ date }"]
  return lines
end