#!/bin/bash

########################
# Argumentpruefung
########################

if [ $# -eq 0 ]
then
    echo "Es wurden keine Parameter uebergeben."
    exit 1
fi

if [ $# -gt 1 ]
then
    echo "Es wurden mehr als ein Parameter uebergeben."
    exit 1
fi

if !([ -f "$1" ])
then
    echo "Datei $1 existiert nicht."
    exit 1
fi

########################
# "Globale" Variablen
# (Zum Veraendern!)
########################

# Zusatz beim Speichern der Paketliste
SUFFIX="all"

# Verzeichnis fuer temporaere Dateien
TEMP="/tmp"

########################
# "Lokale" Variablen
########################

# Quelldatei mit den Paketen, die installiert
# werden sollen.
ORIGIN="$1"

########################
# Implementierung
########################

# Temporaere Datei
TEMPFILE="$TEMP/$ORIGIN-tmp"

# Pakete extrahieren
xargs -a "$ORIGIN" apt-cache depends -i | \
  nawk '{ print $NF }' | sort | uniq \
  > "$TEMPFILE" | exit 1

# Kopiere komplette Paketliste
cp "$TEMPFILE" "$ORIGIN-$SUFFIX" | exit 1

echo
echo "Paketliste mit kopiert nach \"$ORIGIN-$SUFFIX\"."
