| # Copyright 2019 The Chromium OS Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| # Clean local portage caches. This is necessary if there are |
| # cros_workon packages. |
| sudo rm -rf /var/cache/portage/* /build/*/var/cache/portage/* |
| |
| # Clean board packages. |
| for board_root in /build/* ; do |
| board=${board_root##*/} |
| [[ "${board}" == "bin" || "${board}" == "dev" || \ |
| "${board}" == "proc" ]] && continue |
| |
| # Find packages using either protobuf or grpc. |
| PKGS=( $(qdepends-${board} -qCN -Q dev-libs/protobuf && \ |
| qdepends-${board} -qCN -Q net-libs/grpc | sort -u)) |
| if [[ ${#PKGS[@]} -eq 0 ]]; then |
| continue |
| fi |
| |
| echo "Cleaning packages using protobuf or grpc from ${board}" |
| PKGDIR=$(portageq-${board} envvar PKGDIR) |
| cd "${PKGDIR}" |
| # Remove existing binary packages. |
| for pkg in "${PKGS[@]}"; do |
| sudo rm -f "${pkg}"-[0-9]*.tbz2 |
| done |
| # Unmerge all packages using either protobuf or grpc. |
| qmerge-${board} -Uqy "${PKGS[@]}" |
| done |