You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
require_relative "runner"
|
|
|
|
|
|
|
|
class RepoManager
|
|
|
|
attr :path, :error, :last_status, :last_pid
|
|
|
|
|
|
|
|
def initialize(path)
|
|
|
|
@error = nil
|
|
|
|
unless File.exist? (path)
|
|
|
|
Dir.mkdir(path)
|
|
|
|
end
|
|
|
|
@path = path
|
|
|
|
end
|
|
|
|
|
|
|
|
def create_repo
|
|
|
|
repo_path = File.join(@path, "repodata")
|
|
|
|
cmd_args = %Q(/usr/bin/createrepo_c --database --workers 1 "#{@path}")
|
|
|
|
if File.exist?(repo_path)
|
|
|
|
cmd_args = %Q(/usr/bin/createrepo_c --database --workers 1 --update "#{@path}")
|
|
|
|
end
|
|
|
|
cmd = Runner.new(cmd_args)
|
|
|
|
cmd.run
|
|
|
|
@last_status = cmd.exit_status
|
|
|
|
@last_pid = cmd.pid
|
|
|
|
end
|
|
|
|
end
|