flatcar-scripts/get_package_list
David James 359d3e119d Simplify boilerplate common.sh code in src/scripts.
Currently, the scripts in src/scripts have multiple implementations
for handling when common.sh fails to load, some of which are buggy.
To simplify the boilerplate, these scripts now just exit if common.sh
fails to load. The shell itself will print the following message if
common.sh is not found:
  /usr/lib/crosutils/common.sh: No such file or directory

BUG=chromium-os:32442
TEST=Run these scripts with and without common.sh installed.

Change-Id: Ie54420b6c649774f9cb039c14c80f4cf6c6ebc07
Reviewed-on: https://gerrit.chromium.org/gerrit/27058
Reviewed-by: David James <davidjames@chromium.org>
Tested-by: David James <davidjames@chromium.org>
Commit-Ready: David James <davidjames@chromium.org>
2012-07-12 10:55:37 -07:00

35 lines
1006 B
Bash
Executable File

#!/bin/bash
# Copyright (c) 2010 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.
# Lists all package dependencies of a particular package. Useful to find out
# all packages depended on by chromeos and chromeos-dev.
SCRIPT_ROOT=$(dirname $(readlink -f "$0"))
. "${SCRIPT_ROOT}/common.sh" || exit 1
# Script must be run inside the chroot.
assert_inside_chroot
get_default_board
# Flags.
DEFINE_string board "$DEFAULT_BOARD" \
"The board for which the image was built." b
# Parse flags.
FLAGS "$@" || exit 1
eval set -- "${FLAGS_ARGV}"
[[ -z "${FLAGS_board}" ]] && die_notrace "A board must be specified."
if [[ -z "${FLAGS_ARGV}" ]]; then
warn "Usage: ./get_package_list.sh chromeos-base/chromeos > package.list"
die_notrace "Please specify a package."
fi
emerge-$FLAGS_board --emptytree --usepkgonly -p -v --columns \
$1 2> /dev/null | sed -n -E -e 's/^\[binary[^]]*\] ([^ ]*) .*$/\1/p'