cache-apt-pkgs-action/post_cache_action.sh

41 lines
964 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}"
if [ ! $cache_hit ] || [ $refresh ]; then
./install_and_cache_pkgs.sh ~/cache-apt-pkgs $packages
else
./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
# Remove trailing comma.
manifest=${manifest:0:-1}
manifest_filepath="$cache_dir/manifest.log"
echo $manifest > $manifest_filepath
echo "Manifest written to $manifest_filepath"