1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21#!/usr/bin/ruby
require 'tmpdir'
require 'pycall/import'
include PyCall::Import
pyimport :pyalpm
db_fullpath, package, field = ARGV
db_filename = db_fullpath.split("/")[-1]
db = db_filename.split('.')[0]
Dir.mktmpdir {|d|
Dir.mkdir(d + "/sync")
File.symlink(File.absolute_path(db_fullpath), "#{d}/sync/#{db_filename}")
handle = pyalpm.Handle.new(".", d)
db_handle = handle.register_syncdb(db, 0)
pkg = db_handle.get_pkg package
fail "Package not found in repo." if pkg == nil
puts pkg.send field
}