Skip to content

Commit

Permalink
Merge pull request #176 from bedroge/ingest_mv_old_compat_layer
Browse files Browse the repository at this point in the history
Let ingestion script move existing compat layers instead of removing them
  • Loading branch information
boegel authored Feb 6, 2024
2 parents a538f10 + bc2a3aa commit 50f8503
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions scripts/ingest-tarball.sh
Original file line number Diff line number Diff line change
Expand Up @@ -189,15 +189,19 @@ function ingest_compat_tarball() {
# Handle the ingestion of tarballs containing a compatibility layer
check_arch
check_os
compat_layer_path="/cvmfs/${repo}/${basedir}/${version}/compat/${os}/${arch}"
# Assume that we already had a compat layer in place if there is a startprefix script in the corresponding CVMFS directory
if [ -f "/cvmfs/${repo}/${basedir}/${version}/compat/${os}/${arch}/startprefix" ];
if [ -f "${compat_layer_path}/startprefix" ];
then
echo_yellow "Compatibility layer for version ${version}, OS ${os}, and architecture ${arch} already exists!"
echo_yellow "Removing the existing layer, and adding the new one from the tarball..."
${cvmfs_server} transaction "${repo}"
rm -rf "/cvmfs/${repo}/${basedir}/${version}/compat/${os}/${arch}/"
last_suffix=$((ls -1d ${compat_layer_path}-* | tail -n 1 | xargs basename | cut -d- -f2) 2> /dev/null)
new_suffix=$(printf '%03d\n' $((${last_suffix:-0} + 1)))
old_layer_suffixed_path="${compat_layer_path}-${new_suffix}"
echo_yellow "Moving the existing compat layer from ${compat_layer_path} to ${old_layer_suffixed_path}..."
mv ${compat_layer_path} ${old_layer_suffixed_path}
tar -C "/cvmfs/${repo}/${basedir}/" -xzf "${tar_file}"
${cvmfs_server} publish -m "update compat layer for ${version}, ${os}, ${arch}" "${repo}"
${cvmfs_server} publish -m "updated compat layer for ${version}, ${os}, ${arch}" "${repo}"
ec=$?
if [ $ec -eq 0 ]
then
Expand Down

0 comments on commit 50f8503

Please sign in to comment.