summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apkbuild-gem-resolver.in37
1 files changed, 19 insertions, 18 deletions
diff --git a/apkbuild-gem-resolver.in b/apkbuild-gem-resolver.in
index 9e4457c..7262e14 100644
--- a/apkbuild-gem-resolver.in
+++ b/apkbuild-gem-resolver.in
@@ -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
-
- apath = '/files' + dir
- fail if aug.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
+ @@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 @@augeas.match("/augeas#{apath}//error").length > 0
+
+ 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
}