#!/bin/sh
sqlite3 "$REPOCOP_TEST_DBDIR/rpm.db" <<EOSQL
.mode tabs
.output $REPOCOP_TEST_TMPDIR/pre
select a.pkgid,a.filename from rpm_files as a where (a.filename glob '/lib/systemd/system/*.service' or a.filename glob '/usr/lib/systemd/system/*.service') and a.pkgid not in (select c.pkgid from rpm_files as c where c.filename glob '/etc/rc.d/init.d/*' or c.filename glob '/etc/xinetd.d/*');
EOSQL

touch $REPOCOP_TEST_TMPDIR/msg-warn

sed -i -e '/^service-/d;/^systemd-/d' $REPOCOP_TEST_TMPDIR/pre
cat $REPOCOP_TEST_TMPDIR/pre | while read -r pkgid service; do
    servicename=${service##/usr}
    servicename=${servicename##/lib/systemd/system/}
    case $pkgid in
    	 daemontools-*|wpa_supplicant-* ) : nothing
	 ;;
	 *)
	 servicepath=$REPOCOP_STATEDIR/systemd/$pkgid/system/$servicename

	 if [ -e $servicepath ] ; then
	     :
	     #echo $pkgid >> $REPOCOP_TEST_TMPDIR/msg-fail
	     	 if grep -q '^Type=dbus' $servicepath || grep -q '^Alias=display-manager.service' $servicepath; then
	     	  :
	     	  #echo $pkgid >> $REPOCOP_TEST_TMPDIR/msg-info
		 else
		 	 echo $pkgid >> $REPOCOP_TEST_TMPDIR/msg-warn
		 fi
	 fi
	 ;;
    esac
done

#for i in `sort -u $REPOCOP_TEST_TMPDIR/msg-info`; do repocop-test-info -k $i "The package have native systemd file(s) but no  SysV init scripts."; done
for i in `sort -u $REPOCOP_TEST_TMPDIR/msg-warn`; do repocop-test-warn -k $i "The package have native systemd file(s) but no  SysV init scripts."; done
rm $REPOCOP_TEST_TMPDIR/*
