#!/bin/bash
# Copyright 2020 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

#### CATEGORY=Software delivery
### lists package contents

## usage: fx show-package [package name]
##
## show-package displays the contents of a fuchsia package.
##
## Note that you may need to ensure your build is up to date to get correct
## results (fx build).

set -euo pipefail

source "$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"/../lib/vars.sh
source "$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"/../lib/updates.sh
fx-config-read

function main {
  if [ -z "${1:-}" ]; then
    fx-command-help
    exit 1
  fi
  local merkle
  local amber_repo
  readonly amber_repo="$FUCHSIA_BUILD_DIR"/amber-files/repository
  merkle=$(fx-command-run jq -r ".signed.targets.\"$1/0\".custom.merkle" "$amber_repo"/targets.json)
  if [ "$merkle" = "null" ]; then
    echo "Failed to find package '$1'"
    exit 1
  fi
  fx-command-run far list --archive="$amber_repo/blobs/$merkle"
  fx-command-run far cat --archive="$amber_repo/blobs/$merkle" --file=meta/contents
}

main "$@"
