#!/bin/sh

cd ~ftp/debian/
# dists/stable/

zgrep ^usr/share/applications/.*\.desktop dists/stable/Contents-i386.gz | \
    rev | cut -d/ -f1 | rev | sort -u > /tmp/pkgs-with-desktop

for section in main contrib non-free; do
    zgrep ^Filename: dists/stable/$section/binary-i386/Packages.gz
done > /tmp/pkgs-path

for p in $(cat /tmp/pkgs-with-desktop) ; do
    file=$(grep "/${p}_" /tmp/pkgs-path|cut -d: -f2-)
    echo $file
done > /tmp/pkgs-with-desktop-paths

cd ~ftp/debian
for p in $(cat /tmp/pkgs-with-desktop-paths) ; do
    dir=$(mktemp -d)
    desktopentriess=$(dpkg-deb -D --vextract $p $dir | \
	grep ^./usr/share/applications/.*\.desktop)

    pkgname=""
    mime=""
    for desktopentry in $desktopentriess; do
	#echo $desktopentry
	mime="$(grep "^MimeType=" $dir/$desktopentry 2>/dev/null | cut -d= -f2-)"
	if [ "$mime" ] && [ "MimeType=" != "$mime" ] ; then
	    if [ -z "$pkgname" ] ; then
		pkgname="$(echo $p |rev|cut -d/ -f1|rev|cut -d_ -f1)"
		echo
		echo "Package=$pkgname"
	    fi
	    echo "$mime"
	fi
    done
    rm -rf $dir
done
