apkbuild-gem-resolver: augeas object as class member
This commit is contained in:
parent
3764ff5a51
commit
0689344ce6
@ -13,25 +13,26 @@ class Package
|
|||||||
@@packages = {}
|
@@packages = {}
|
||||||
|
|
||||||
def self.initialize testing
|
def self.initialize testing
|
||||||
Augeas::open(nil, nil, Augeas::NO_MODL_AUTOLOAD) do |aug|
|
@@augeas = Augeas::open(nil, nil, Augeas::NO_MODL_AUTOLOAD)
|
||||||
dir = Dir.pwd
|
dir = Dir.pwd
|
||||||
aug.transform(:lens => 'Shellvars.lns', :incl => dir + '/*/ruby*/APKBUILD')
|
@@augeas.transform(
|
||||||
aug.load
|
:lens => 'Shellvars.lns', :incl => dir + '/*/ruby*/APKBUILD'
|
||||||
|
)
|
||||||
|
@@augeas.load
|
||||||
|
|
||||||
apath = '/files' + dir
|
apath = '/files' + dir
|
||||||
fail if aug.match("/augeas#{apath}//error").length > 0
|
fail if @@augeas.match("/augeas#{apath}//error").length > 0
|
||||||
|
|
||||||
repos = ['main']
|
repos = ['main']
|
||||||
repos << 'testing' if testing
|
repos << 'testing' if testing
|
||||||
for repo in repos
|
for repo in repos
|
||||||
for pkg in aug.match "#{apath}/#{repo}/*"
|
for pkg in @@augeas.match "#{apath}/#{repo}/*"
|
||||||
Aport.new(aug, pkg) unless pkg.end_with? '/ruby'
|
Aport.new(pkg) unless pkg.end_with? '/ruby'
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
Subpackage.initialize aug.get("#{apath}/main/ruby/APKBUILD/pkgver")
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Subpackage.initialize @@augeas.get("#{apath}/main/ruby/APKBUILD/pkgver")
|
||||||
|
|
||||||
@@packages.each_value do |pkg|
|
@@packages.each_value do |pkg|
|
||||||
pkg.depends do |dep|
|
pkg.depends do |dep|
|
||||||
dep.add_user pkg
|
dep.add_user pkg
|
||||||
@ -81,11 +82,11 @@ class Package
|
|||||||
end
|
end
|
||||||
|
|
||||||
class Aport < Package
|
class Aport < Package
|
||||||
def initialize aug, path
|
def initialize path
|
||||||
name = path.split('/')[-1]
|
name = path.split('/')[-1]
|
||||||
|
|
||||||
get = proc{ |param|
|
get = proc{ |param|
|
||||||
res = aug.get(path + '/APKBUILD/' + param)
|
res = @@augeas.get(path + '/APKBUILD/' + param)
|
||||||
raise param + ' not defined for ' + name unless res
|
raise param + ' not defined for ' + name unless res
|
||||||
res
|
res
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user