Tizen_4.0 base
[platform/upstream/docker-engine.git] / hack / make / clean-apt-repo
1 #!/usr/bin/env bash
2 set -e
3
4 # This script cleans the experimental pool for the apt repo.
5 # This is useful when there are a lot of old experimental debs and you only want to keep the most recent.
6 #
7
8 : ${DOCKER_RELEASE_DIR:=$DEST}
9 APTDIR=$DOCKER_RELEASE_DIR/apt/repo/pool/experimental
10 : ${DOCKER_ARCHIVE_DIR:=$DEST/archive}
11 DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
12
13 latest_versions=$(dpkg-scanpackages "$APTDIR" /dev/null 2>/dev/null | awk -F ': ' '$1 == "Filename" { print $2 }')
14
15 # get the latest version
16 latest_docker_engine_file=$(echo "$latest_versions" | grep docker-engine)
17 latest_docker_engine_version=$(basename ${latest_docker_engine_file%~*})
18
19 echo "latest docker-engine version: $latest_docker_engine_version"
20
21 # remove all the files that are not that version in experimental
22 pool_dir=$(dirname "$latest_docker_engine_file")
23 old_pkgs=( $(ls "$pool_dir" | grep -v "^${latest_docker_engine_version}" | grep "${latest_docker_engine_version%%~git*}") )
24
25 echo "${old_pkgs[@]}"
26
27 mkdir -p "$DOCKER_ARCHIVE_DIR"
28 for old_pkg in "${old_pkgs[@]}"; do
29         echo "moving ${pool_dir}/${old_pkg} to $DOCKER_ARCHIVE_DIR"
30         mv "${pool_dir}/${old_pkg}" "$DOCKER_ARCHIVE_DIR"
31 done
32
33 echo
34 echo "$pool_dir now has contents:"
35 ls "$pool_dir"
36
37 # now regenerate release files for experimental
38 export COMPONENT=experimental
39 source "${DIR}/update-apt-repo"
40
41 echo "You will now want to: "
42 echo "   - re-sign the repo with hack/make/sign-repo"
43 echo "   - re-generate index files with hack/make/generate-index-listing"