apkbuild-gem-resolver: augeas object as class member

This commit is contained in:
Kaarle Ritvanen 2015-07-09 10:46:47 +03:00
parent 3764ff5a51
commit 0689344ce6

View File

@ -13,25 +13,26 @@ class Package
@@packages = {}
def self.initialize testing
Augeas::open(nil, nil, Augeas::NO_MODL_AUTOLOAD) do |aug|
dir = Dir.pwd
aug.transform(:lens => 'Shellvars.lns', :incl => dir + '/*/ruby*/APKBUILD')
aug.load
@@augeas = Augeas::open(nil, nil, Augeas::NO_MODL_AUTOLOAD)
dir = Dir.pwd
@@augeas.transform(
:lens => 'Shellvars.lns', :incl => dir + '/*/ruby*/APKBUILD'
)
@@augeas.load
apath = '/files' + dir
fail if aug.match("/augeas#{apath}//error").length > 0
apath = '/files' + dir
fail if @@augeas.match("/augeas#{apath}//error").length > 0
repos = ['main']
repos << 'testing' if testing
for repo in repos
for pkg in aug.match "#{apath}/#{repo}/*"
Aport.new(aug, pkg) unless pkg.end_with? '/ruby'
end
repos = ['main']
repos << 'testing' if testing
for repo in repos
for pkg in @@augeas.match "#{apath}/#{repo}/*"
Aport.new(pkg) unless pkg.end_with? '/ruby'
end
Subpackage.initialize aug.get("#{apath}/main/ruby/APKBUILD/pkgver")
end
Subpackage.initialize @@augeas.get("#{apath}/main/ruby/APKBUILD/pkgver")
@@packages.each_value do |pkg|
pkg.depends do |dep|
dep.add_user pkg
@ -81,11 +82,11 @@ class Package
end
class Aport < Package
def initialize aug, path
def initialize path
name = path.split('/')[-1]
get = proc{ |param|
res = aug.get(path + '/APKBUILD/' + param)
res = @@augeas.get(path + '/APKBUILD/' + param)
raise param + ' not defined for ' + name unless res
res
}