| #!/bin/sh |
| B=../../out/build |
| |
| if [ ! -d "$B" ]; then |
| echo "$B does not exist; build the software first." >&2 |
| exit 1 |
| fi |
| |
| startswith() { |
| [ "$1" != "${1#"$2"}" ] |
| } |
| |
| all_packages() { |
| local stamp dir pkg |
| ( |
| for stamp in $(cd $B && echo */.stamp_* */.configured); do |
| dir=$(dirname $stamp) |
| [ -L "$B/$dir" ] && continue |
| pkg=${dir%%-[0-9]*} |
| pkg=${pkg%%-HEAD} |
| pkg=${pkg%%-master} |
| pkg=${pkg%%-[svRr][0-9]*} |
| startswith "$pkg" host- && continue |
| echo "$pkg" |
| done |
| |
| # Include all .jar files from SageTV |
| for jar in $(cd $B/google_sageserver-HEAD/build/bruno && find -name '*.jar'); do |
| echo "google_sageserver/$(basename "$jar")" |
| done |
| ) | sort | uniq |
| } |
| |
| all_packages | while read pkg; do |
| found= |
| if [ "$pkg" != "${pkg#*/}" ]; then |
| # contains a slash, it's a particular filename |
| [ -e "licenses/$pkg" ] && found=1 |
| fi |
| |
| # it's probably just a package name, so match any file in that package. |
| for d in licenses/$pkg/*; do |
| [ -e "$d" ] && found=1 && break |
| done |
| [ -n "$found" ] || echo "$pkg" |
| done |