# Copyright 2014 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.

# Since gtk is no longer enabled by default, let's clean it out from
# people's system so we'll notice when something uses it by accident.

packages=(
  dev-python/pygtk
  x11-libs/gtk+
)

for sysroot in /build/* /; do
  (
  if ROOT="${sysroot}" qlist -IC "${packages[@]}" >&/dev/null; then
    info "Cleaning ${packages[*]} from ${sysroot}"
    sudo ROOT="${sysroot}" qmerge -yqU "${packages[@]}"
  fi
  ) &
done
wait
