30 lines
553 B
Crystal
30 lines
553 B
Crystal
require "specparser"
|
|
|
|
class Package::Configuration
|
|
PATH_FROM_ROOT = "/etc/package.cfg"
|
|
|
|
getter file_path : String?
|
|
|
|
getter repositories = Array(Repository).new
|
|
|
|
getter cache_directory = "/var/cache/package"
|
|
|
|
def initialize
|
|
end
|
|
|
|
def initialize(@file_path : String)
|
|
specs = SpecParser.parse File.read @file_path.not_nil!
|
|
|
|
specs.sections.each do |section|
|
|
case section.name
|
|
when "repository"
|
|
@repositories << Repository.new(
|
|
File.read("#{section.options[0]}/repository.spec"),
|
|
section.options[0]
|
|
)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|