#!/bin/sh
sqlite3 "$REPOCOP_TEST_TMPDIR/tmp.db" <<EOSQL
attach database '$REPOCOP_DISTROTEST_DBDIR/rpm.db' as rpm;
attach database '$REPOCOP_DISTROTEST_DBDIR/rpm-ext.db' as rpmext;
.mode tabs
.output $REPOCOP_TEST_TMPDIR/msg
-- filedir conflict
-- http://refspecs.freestandards.org/LSB_3.1.0/LSB-Core-generic/LSB-Core-generic/pkgformat.html
-- note: 580 is RPMFILE_DONOTUSE (1 << 2) + RPMFILE_GHOST (1 << 6) + RPMFILE_EXCLUDE (1 << 9)
select a.pkgid, a.FILENAME, b.pkgid FROM rpm_files as a LEFT JOIN rpm as c ON a.pkgid=c.pkgid, rpm_files as b  LEFT JOIN rpm as d ON b.pkgid=d.pkgid WHERE a.pkgid<>b.pkgid and a.filename=b.filename and a.fileflag & 580 = 0 and b.fileflag & 580 = 0 and a.filemode & 16384 = 0 and b.filemode & 61440 = 16384 AND   c.name <> d.name AND a.pkgid NOT IN (select conflictee FROM explicit_conflict WHERE conflicter=b.pkgid) AND b.pkgid NOT IN (select conflictee FROM explicit_conflict WHERE conflicter=a.pkgid) AND a.pkgid NOT IN (select obsoletee FROM explicit_obsolete WHERE obsoleter=b.pkgid) AND b.pkgid NOT IN (select obsoletee FROM explicit_obsolete WHERE obsoleter=a.pkgid);
EOSQL
#for i in `sort -u $REPOCOP_TEST_TMPDIR/msg*`; do repocop-test-warn -k $i update_wms call in post/postun is deprecated; done
perl -ne 'chomp;@a=split /\t/;system(qw/repocop-test-fail -k/,$a[0], "file or symlink $a[1] is a directory in package $a[2]. Moreover, the packages have no explicit conflicts on each other. It is very bad, because simultaneous installaion of those packages, if not prevented by file conflicts, can produce uninspected results. You should add explicit conflicts, or, if conflicts are avoidable, consider using alternatives.")' $REPOCOP_TEST_TMPDIR/msg
rm $REPOCOP_TEST_TMPDIR/*
