#!/bin/sh
#
# mockup dpkg for unit tests of App::LXC::Container:
#
# Author: Thomas Dorner
# Copyright (C) 2023-2023 by Thomas Dorner

Die() { echo "${0##*/}: $*" >&2; exit 2; }

[ $# -gt 0 ]  ||  Die 'missing parameter(s)'

case $1 in
    --listfiles)
	root="${0%/*/*}/tmp"
	# TODO: work in progress
	case $2 in
	    chromium)
		echo "$root/usr/bin/1chromium"
		echo "$root/usr/bin/3link"
		;;
	    coreutils)
		echo "$root/usr/bin/2something"
		;;
	    dash)
		echo "$root/usr/bin"
		echo "$root/usr/bin/missing"
		echo "package diverts others to: $root/bin/sh.distrib"
		;;
	    evince)
		for n in 1 2 3 4 5 6 7 8 9; do
		    echo "$root/usr/lib/some/directory/with/file-$n.txt"
		done
		echo "$root/lib/somelink"
		echo "/lib/ld-linux.so.2"
		;;
	    pulseaudio-utils)
		echo "$root/usr/bin/3link"
		;;
	    mockup-1)
		echo "package diverts others to: $root/usr/bin/1chromium"
		echo "diverted by something-else to: $root/usr/bin/1chromium"
		echo "$root/usr/bin/1chromium"
		echo "diverted by something-else to: $root/usr/bin/missing"
		;;
	    mockup-2)
		echo 'bad entry: fatal mockup'
		;;
	    mockup-3*)
		exit 2
		;;
	    *)
		echo "$root/usr/bin/2something"
	esac
	;;
    --search)
	[ $# -gt 1 ]  ||  Die 'missing parameter(s) for --search'
	echo 'dummy: /something'
	case $2 in
	    /bin/sh)		echo 'dash: /bin/sh';;
	    /bin/ls)		echo 'coreutils: /bin/ls';;
	    /usr/bin/ldd)	echo 'libc-bin: /usr/bin/ldd';;
	    */1chromium)	echo "chromium: $2";;
	    *)			Die 'mocked --search error'
	esac
	;;
    *)
	Die "unknown option '$1'"
esac
