apkbuild-gem-resolver: get aport version and gem directly from augeas
This commit is contained in:
parent
0689344ce6
commit
4567343ea0
@ -46,10 +46,8 @@ class Package
|
|||||||
pkg
|
pkg
|
||||||
end
|
end
|
||||||
|
|
||||||
def initialize name, gem, version
|
def initialize name
|
||||||
@name = name
|
@name = name
|
||||||
@gem = gem
|
|
||||||
@version = version
|
|
||||||
@depends = []
|
@depends = []
|
||||||
@users = []
|
@users = []
|
||||||
@@packages[name] = self
|
@@packages[name] = self
|
||||||
@ -59,7 +57,7 @@ class Package
|
|||||||
@depends << name
|
@depends << name
|
||||||
end
|
end
|
||||||
|
|
||||||
attr_reader :gem, :name, :version
|
attr_reader :name
|
||||||
|
|
||||||
def depends
|
def depends
|
||||||
for dep in @depends
|
for dep in @depends
|
||||||
@ -83,21 +81,30 @@ end
|
|||||||
|
|
||||||
class Aport < Package
|
class Aport < Package
|
||||||
def initialize path
|
def initialize path
|
||||||
name = path.split('/')[-1]
|
super path.split('/')[-1]
|
||||||
|
@path = path + '/APKBUILD/'
|
||||||
|
|
||||||
get = proc{ |param|
|
for dep in `echo #{get_param 'depends'}`.split
|
||||||
res = @@augeas.get(path + '/APKBUILD/' + param)
|
|
||||||
raise param + ' not defined for ' + name unless res
|
|
||||||
res
|
|
||||||
}
|
|
||||||
|
|
||||||
super name, get.call('_gemname'), get.call('pkgver')
|
|
||||||
|
|
||||||
for dep in `echo #{get.call('depends')}`.split
|
|
||||||
# ruby-gems: workaround for v2.6
|
# ruby-gems: workaround for v2.6
|
||||||
add_dependency dep if dep.start_with?('ruby-') && dep != 'ruby-gems'
|
add_dependency dep if dep.start_with?('ruby-') && dep != 'ruby-gems'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def gem
|
||||||
|
get_param '_gemname'
|
||||||
|
end
|
||||||
|
|
||||||
|
def version
|
||||||
|
get_param 'pkgver'
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def get_param name
|
||||||
|
value = @@augeas.get(@path + name)
|
||||||
|
raise name + ' not defined for ' + @name unless value
|
||||||
|
value
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
class Subpackage < Package
|
class Subpackage < Package
|
||||||
@ -140,12 +147,7 @@ class Subpackage < Package
|
|||||||
|
|
||||||
def self.initialize version
|
def self.initialize version
|
||||||
for name, attrs in RUBY_SUBPACKAGES[version]
|
for name, attrs in RUBY_SUBPACKAGES[version]
|
||||||
gem, version, *deps = attrs
|
new name, attrs
|
||||||
pkg = new name, gem, version
|
|
||||||
for dep in deps
|
|
||||||
pkg.add_dependency dep
|
|
||||||
end
|
|
||||||
@@subpackages << pkg
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -154,6 +156,17 @@ class Subpackage < Package
|
|||||||
yield pkg
|
yield pkg
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def initialize name, attrs
|
||||||
|
super name
|
||||||
|
@gem, @version, *deps = attrs
|
||||||
|
for dep in deps
|
||||||
|
add_dependency dep
|
||||||
|
end
|
||||||
|
@@subpackages << self
|
||||||
|
end
|
||||||
|
|
||||||
|
attr_reader :gem, :version
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user