class Akabei::CLI

Public Instance Methods

abs_add(package_dir, abs_path) click to toggle source
# File lib/akabei/cli.rb, line 110
def abs_add(package_dir, abs_path)
  builder = Builder.new
  builder.srcdest = options[:srcdest]
  abs = Abs.new(abs_path, options[:repo_name])
  abs.add(package_dir, builder)
end
abs_remove(package_name, abs_path) click to toggle source
# File lib/akabei/cli.rb, line 119
def abs_remove(package_name, abs_path)
  abs = Abs.new(abs_path, options[:repo_name])
  abs.remove(package_name)
end
build(package_dir) click to toggle source
# File lib/akabei/cli.rb, line 82
def build(package_dir)
  chroot = ChrootTree.new(options[:chroot_dir], options[:arch])
  chroot.makepkg_config = options[:makepkg_config]
  chroot.pacman_config = options[:pacman_config]

  repo_path = Pathname.new(options[:repo_dir])
  repo_name = options[:repo_name]
  builder = Builder.new(
    signer: Signer.get(options[:package_key]),
    srcdest: options[:srcdest],
    logdest: options[:logdest],
    pkgdest: repo_path,
  )

  db_path = repo_path.join("#{repo_name}.db")
  files_path = repo_path.join("#{repo_name}.files")
  repo_db = Repository.load(db_path, signer: Signer.get(options[:repo_key]))
  repo_files = Repository.load(files_path, include_files: true)

  abs = Abs.new(repo_path.join("#{repo_name}.abs.tar.gz"), repo_name)

  build_in_chroot(builder, chroot, repo_db, repo_files, abs, Pathname.new(package_dir))
  repo_db.save(db_path)
  repo_files.save(files_path)
end
files_add(package_path, db_path) click to toggle source
# File lib/akabei/cli.rb, line 145
def files_add(package_path, db_path)
  repo = Repository.new
  repo.include_files = true
  repo.load(db_path)
  repo.add(Package.new(package_path))
  repo.save(db_path)
end
files_remove(package_name, db_path) click to toggle source
# File lib/akabei/cli.rb, line 154
def files_remove(package_name, db_path)
  repo = Repository.new
  repo.include_files = true
  repo.load(db_path)
  repo.remove(package_name)
  repo.save(db_path)
end
repo_add(package_path, db_path) click to toggle source
# File lib/akabei/cli.rb, line 126
def repo_add(package_path, db_path)
  repo = Repository.new
  repo.signer = options[:repo_key] && Signer.new(options[:repo_key])
  repo.load(db_path)
  repo.add(Package.new(package_path))
  repo.save(db_path)
end
repo_remove(package_name, db_path) click to toggle source
# File lib/akabei/cli.rb, line 136
def repo_remove(package_name, db_path)
  repo = Repository.new
  repo.signer = options[:repo_key] && Signer.new(options[:repo_key])
  repo.load(db_path)
  repo.remove(package_name)
  repo.save(db_path)
end
version() click to toggle source
# File lib/akabei/cli.rb, line 166
def version
  if options[:numeric]
    puts VERSION
  else
    puts "akabei #{VERSION} on #{RUBY_DESCRIPTION}"
  end
end