Initial commit
This commit is contained in:
43
vendor/github.com/hyperhq/hypercli/hack/make/clean-apt-repo
generated
vendored
Executable file
43
vendor/github.com/hyperhq/hypercli/hack/make/clean-apt-repo
generated
vendored
Executable file
@@ -0,0 +1,43 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# This script cleans the experimental pool for the apt repo.
|
||||
# This is useful when there are a lot of old experimental debs and you only want to keep the most recent.
|
||||
#
|
||||
|
||||
: ${DOCKER_RELEASE_DIR:=$DEST}
|
||||
APTDIR=$DOCKER_RELEASE_DIR/apt/repo/pool/experimental
|
||||
: ${DOCKER_ARCHIVE_DIR:=$DEST/archive}
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
latest_versions=$(dpkg-scanpackages "$APTDIR" /dev/null 2>/dev/null | awk -F ': ' '$1 == "Filename" { print $2 }')
|
||||
|
||||
# get the latest version
|
||||
latest_docker_engine_file=$(echo "$latest_versions" | grep docker-engine)
|
||||
latest_docker_engine_version=$(basename ${latest_docker_engine_file%~*})
|
||||
|
||||
echo "latest docker-engine version: $latest_docker_engine_version"
|
||||
|
||||
# remove all the files that are not that version in experimental
|
||||
pool_dir=$(dirname "$latest_docker_engine_file")
|
||||
old_pkgs=( $(ls "$pool_dir" | grep -v "^${latest_docker_engine_version}" | grep "${latest_docker_engine_version%%~git*}") )
|
||||
|
||||
echo "${old_pkgs[@]}"
|
||||
|
||||
mkdir -p "$DOCKER_ARCHIVE_DIR"
|
||||
for old_pkg in "${old_pkgs[@]}"; do
|
||||
echo "moving ${pool_dir}/${old_pkg} to $DOCKER_ARCHIVE_DIR"
|
||||
mv "${pool_dir}/${old_pkg}" "$DOCKER_ARCHIVE_DIR"
|
||||
done
|
||||
|
||||
echo
|
||||
echo "$pool_dir now has contents:"
|
||||
ls "$pool_dir"
|
||||
|
||||
# now regenerate release files for experimental
|
||||
export COMPONENT=experimental
|
||||
source "${DIR}/update-apt-repo"
|
||||
|
||||
echo "You will now want to: "
|
||||
echo " - re-sign the repo with hack/make/sign-repo"
|
||||
echo " - re-generate index files with hack/make/generate-index-listing"
|
||||
Reference in New Issue
Block a user