Sign. Part 1

This commit is contained in:
alexey
2025-03-21 00:02:18 +03:00
parent a57d0a0f15
commit c6a89e7be1
12 changed files with 107 additions and 16 deletions

View File

@@ -3,6 +3,7 @@ require_relative "runner"
require "fileutils"
require "logger"
require_relative "repomanage"
require "digest"
BUILD_STRUCTURE = {
:SRC => "src",
@@ -206,12 +207,25 @@ class MockManager
File.open(@repo_lock, File::RDWR | File::CREAT) do |f|
f.flock(File::LOCK_EX)
# выклдака пакетов и пересоздание repodata
packages_uniq = true
prep_rpms.each do |item|
FileUtils.mkdir_p(File.dirname(item[:dst]))
FileUtils.cp_r(item[:src], item[:dst], verbose: true, remove_destination: true)
@db.save_rpm(@build_id, item[:dst], item[:name], @git_id)
@log.info("Копируется пакет #{item[:src]} в репозиторий #{item[:dst]}")
if File.exist?(item[:dst])
packages_uniq = false
break
end
end
if packages_uniq
prep_rpms.each do |item|
@log.info("Копируется пакет #{item[:src]} в репозиторий #{item[:dst]}")
FileUtils.mkdir_p(File.dirname(item[:dst]))
FileUtils.cp_r(item[:src], item[:dst], verbose: true, remove_destination: true)
sha256 = Digest::SHA256.file(item[:dst])
@db.save_rpm(@build_id, item[:dst], item[:name], @git_id, sha256.hexdigest)
end
repo.create_repo
else
@error = true
@log.error("Такие пакеты уже существуют в репозитории. Поднимите версию пакета")
end
end
end