update(scripts): regenerate repos signatures

Signed-off-by: Jason Dellaluce <jasondellaluce@gmail.com>
This commit is contained in:
Jason Dellaluce
2023-01-19 15:53:03 +00:00
committed by poiana
parent 95940d2e16
commit 717dcaf473
2 changed files with 35 additions and 13 deletions

View File

@@ -63,6 +63,27 @@ falco_arch_from_deb_arch() {
esac
}
# Sign the local DEB repository
#
# $1: path of the repository
# $2: suite (eg. "stable")
sign_repo() {
local release_dir=dists/$2
pushd $1 > /dev/null
# release signature - Release.gpg file
gpg --detach-sign --digest-algo SHA256 --armor ${release_dir}/Release
rm -f ${release_dir}/Release.gpg
mv ${release_dir}/Release.asc ${release_dir}/Release.gpg
# release signature - InRelease file
gpg --armor --sign --clearsign --digest-algo SHA256 ${release_dir}/Release
rm -f ${release_dir}/InRelease
mv ${release_dir}/Release.asc ${release_dir}/InRelease
popd > /dev/null
}
# Update the local DEB repository
#
# $1: path of the repository
@@ -97,16 +118,6 @@ update_repo() {
-o APT::FTPArchive::Release::Architectures="$(join_arr , "${architectures[@]}")" \
${release_dir} > ${release_dir}/Release
# release signature - Release.gpg file
gpg --detach-sign --digest-algo SHA256 --armor ${release_dir}/Release
rm -f ${release_dir}/Release.gpg
mv ${release_dir}/Release.asc ${release_dir}/Release.gpg
# release signature - InRelease file
gpg --armor --sign --clearsign --digest-algo SHA256 ${release_dir}/Release
rm -f ${release_dir}/InRelease
mv ${release_dir}/Release.asc ${release_dir}/InRelease
popd > /dev/null
}
@@ -174,6 +185,7 @@ if [ "${sign_all}" ]; then
fi
fi
done
sign_repo ${tmp_repo_path} ${debSuite}
fi
# update the repo by adding new packages
@@ -183,6 +195,7 @@ if ! [ ${#files[@]} -eq 0 ]; then
add_deb ${tmp_repo_path} ${debSuite} ${file}
done
update_repo ${tmp_repo_path} ${debSuite}
sign_repo ${tmp_repo_path} ${debSuite}
# publish
for file in "${files[@]}"; do

View File

@@ -34,18 +34,25 @@ add_rpm() {
sign_rpm $1 $2
}
# Sign the local RPM repository
#
# $1: path of the repository.
sign_repo() {
pushd $1 > /dev/null
rm -f repodata/repomd.xml.asc
gpg --detach-sign --digest-algo SHA256 --armor repodata/repomd.xml
popd > /dev/null
}
# Update the local RPM repository
#
# $1: path of the repository.
update_repo() {
pushd $1 > /dev/null
createrepo --update --no-database .
rm -f repodata/repomd.xml.asc
gpg --detach-sign --digest-algo SHA256 --armor repodata/repomd.xml
popd > /dev/null
}
# parse options
while getopts ":f::r::s" opt; do
case "${opt}" in
@@ -105,6 +112,7 @@ if [ "${sign_all}" ]; then
fi
fi
done
sign_repo ${tmp_repo_path}
fi
# update the repo by adding new packages
@@ -114,6 +122,7 @@ if ! [ ${#files[@]} -eq 0 ]; then
add_rpm ${tmp_repo_path} ${file}
done
update_repo ${tmp_repo_path}
sign_repo ${tmp_repo_path}
# publish
for file in "${files[@]}"; do