#!/bin/sh

set -eu

usage() {
  cat <<EOF
usage: debci-list-packages [OPTIONS]

$@
EOF
}

export debci_base_dir=$(readlink -f $(dirname $(readlink -f $0))/..)
. $debci_base_dir/lib/environment.sh
. $debci_base_dir/lib/functions.sh

_process_whitelist() {
  whitelist="${debci_config_dir}/whitelist"
  if [ -f "${whitelist}" ]; then
    if [ -x "${whitelist}" ]; then
      PATH="$debci_base_dir/lib:$PATH" "${whitelist}"
    else
      sed -e '/^#/d' "${whitelist}"
    fi | sort -u
  else
    list_packages_from_archive
  fi
}

blacklist="${debci_config_dir}/blacklist"
if [ -e "$blacklist" ]; then
  for pkg in $(_process_whitelist); do
    if ! grep -q "^\s*${pkg}\s*$" "$blacklist"; then
      echo "$pkg"
    fi
  done
else
  _process_whitelist
fi
