Class: Akabei::CLI
- Inherits:
-
Thor
- Object
- Thor
- Akabei::CLI
- Extended by:
- CommonOptions
- Includes:
- BuildHelper
- Defined in:
- lib/akabei/cli.rb
Defined Under Namespace
Modules: CommonOptions
Constant Summary
Constants included from CommonOptions
Instance Method Summary collapse
- #abs_add(package_dir, abs_path) ⇒ Object
- #abs_remove(package_name, abs_path) ⇒ Object
- #build(package_dir) ⇒ Object
- #files_add(package_path, db_path) ⇒ Object
- #files_remove(package_name, db_path) ⇒ Object
- #repo_add(package_path, db_path) ⇒ Object
- #repo_remove(package_name, db_path) ⇒ Object
- #version ⇒ Object
Methods included from CommonOptions
Methods included from BuildHelper
Instance Method Details
#abs_add(package_dir, abs_path) ⇒ Object
110 111 112 113 114 115 |
# File 'lib/akabei/cli.rb', line 110 def abs_add(package_dir, abs_path) builder = Builder.new builder.srcdest = [:srcdest] abs = Abs.new(abs_path, [:repo_name]) abs.add(package_dir, builder) end |
#abs_remove(package_name, abs_path) ⇒ Object
119 120 121 122 |
# File 'lib/akabei/cli.rb', line 119 def abs_remove(package_name, abs_path) abs = Abs.new(abs_path, [:repo_name]) abs.remove(package_name) end |
#build(package_dir) ⇒ Object
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
# File 'lib/akabei/cli.rb', line 82 def build(package_dir) chroot = ChrootTree.new([:chroot_dir], [:arch]) chroot.makepkg_config = [:makepkg_config] chroot.pacman_config = [:pacman_config] repo_path = Pathname.new([:repo_dir]) repo_name = [:repo_name] builder = Builder.new( signer: Signer.get([:package_key]), srcdest: [:srcdest], logdest: [: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([: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) ⇒ Object
145 146 147 148 149 150 151 |
# 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) ⇒ Object
154 155 156 157 158 159 160 |
# 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) ⇒ Object
126 127 128 129 130 131 132 |
# File 'lib/akabei/cli.rb', line 126 def repo_add(package_path, db_path) repo = Repository.new repo.signer = [:repo_key] && Signer.new([:repo_key]) repo.load(db_path) repo.add(Package.new(package_path)) repo.save(db_path) end |
#repo_remove(package_name, db_path) ⇒ Object
136 137 138 139 140 141 142 |
# File 'lib/akabei/cli.rb', line 136 def repo_remove(package_name, db_path) repo = Repository.new repo.signer = [:repo_key] && Signer.new([:repo_key]) repo.load(db_path) repo.remove(package_name) repo.save(db_path) end |