#!/bin/bash

location=${1}

usage() {
	echo "${0##*/} source_location"
	echo "  Returns owners of all X include files used."
	exit 1
}

if [[ $# -ne 1 ]]; then
	usage
fi

get_includes() {
	grep '^#include' -r ${1} | grep X11 | cut -d':' -f2 | cut -d'<' -f2 \
		| cut -d'>' -f1 | grep X11 | sort | uniq
}

echo "Analyzing source ... "
headers="$(get_includes ${1})"

echo "Looking for headers ... "
for header in ${headers}; do
	header="/usr/include/${header}"
	echo -n "  Looking for ${header} ... "
	if [[ -e ${header} ]]; then
		headerpaths="${headerpaths} ${header}"
		echo "OK"
	else
		echo "Not found!"
	fi
done

echo "Tracing headers back to packages ..."
echo
if [[ -x $(which equery 2> /dev/null) ]]; then
	equery -q belongs ${headerpaths} | cut -d'(' -f1
elif [[ -x $(which rpm 2> /dev/null) ]]; then
	rpm -qf ${headerpaths}
else
	echo "Couldn't find package query tool! Printing headerpaths instead."
	echo
	for header in ${headerpaths}; do
		echo ${header}
	done
fi
