cache-apt-pkgs-action/post_cache_action.sh

44 lines
1,023 B
Bash
Raw Normal View History

#!/bin/bash
# Fail on any error.
set -e
# Directory that holds the cached packages.
cache_dir=$1
# Root directory to untar the cached packages to.
# Typically filesystem root '/' but can be changed for testing.
cache_restore_root=$2
# Indicates that the cache was found.
cache_hit=$3
# Indicates that a refresh of the packages in the cache is required.
refresh=$4
# List of the packages to use.
packages="${@:5}"
2021-10-21 21:22:07 -07:00
script_dir=$(dirname $0)
if [ ! $cache_hit ] || [ $refresh ]; then
2021-10-21 21:22:07 -07:00
$script_dir/install_and_cache_pkgs.sh ~/cache-apt-pkgs $packages
else
2021-10-21 21:22:07 -07:00
$script_dir/restore_pkgs.sh ~/cache-apt-pkgs $cache_restore_root
fi
echo ""
echo "Creating package manifest..."
manifest=
for package in $packages; do
item=$package:$(dpkg -s $package | grep Version | awk '{print $2}')
echo "- $item"
manifest=$manifest$item,
done
2021-10-21 21:22:07 -07:00
echo "done."
manifest_filepath="$cache_dir/manifest.log"
2021-10-21 21:22:07 -07:00
echo -n "Writing manifest to $manifest_filepath..."
# Remove trailing comma.
echo ${manifest:0:-1} > $manifest_filepath
echo "done."