pax_global_header00006660000000000000000000000064121015667760014525gustar00rootroot0000000000000052 comment=ad3c7316dbdd1f95a1ad18fbfa18fa6e24f088b1 repocop-unittest-rpm-filesystem-0.13/000075500000000000000000000000001210156677600177505ustar00rootroot00000000000000repocop-unittest-rpm-filesystem-0.13/.gear/000075500000000000000000000000001210156677600207445ustar00rootroot00000000000000repocop-unittest-rpm-filesystem-0.13/.gear/rules000064400000000000000000000000071210156677600220160ustar00rootroot00000000000000tar: . repocop-unittest-rpm-filesystem-0.13/repocop-unittest-rpm-filesystem.spec000064400000000000000000000046041210156677600271320ustar00rootroot00000000000000Name: repocop-unittest-rpm-filesystem Version: 0.13 Release: alt1 BuildArch: noarch Packager: Igor Yu. Vlasenko Summary: test for filesystem conflicts in rpm packages. Group: Development/Other License: GPL or Artistic Url: http://repocop.altlinux.org Requires: repocop > 0.59 Requires: perl-RPM-Source-Editor >= 0.70 Requires: repocop-collector-rpm-ext >= 0.07 Source: %name-%version.tar %description integration test for repocop test platform. %prep %setup -q %build %install for i in *.distrotest; do testname=`echo $i | sed -e s,.distrotest\$,,` install -pD -m 755 $testname.distrotest %buildroot%_datadir/repocop/pkgtests/$testname/distrotest done #mkdir -p %buildroot%_datadir/repocop/fixscripts/ #install -m 644 *.pl %buildroot%_datadir/repocop/fixscripts/ %files %_datadir/repocop/pkgtests/* #%_datadir/repocop/fixscripts/* %changelog * Mon Jan 28 2013 Igor Vlasenko 0.13-alt1 - dropped *-debuginfo conflicts (they mirror their main packages) * Mon Jul 09 2012 Igor Vlasenko 0.12-alt1 - introduced distrotests * Thu Jan 14 2010 Igor Vlasenko 0.11-alt1 - increased level of all filesystem conflict tests. * Fri Dec 04 2009 Igor Vlasenko 0.10-alt2 - added url * Wed Sep 30 2009 Igor Vlasenko 0.10-alt1 - posttests migration * Fri Aug 21 2009 Igor Vlasenko 0.09-alt1 - excluded ghost files ftom checking. (thanks to @mithraen for report) * Thu Jan 22 2009 Igor Vlasenko 0.08-alt1 - added check for Obsoletes according to policy * Fri Dec 19 2008 Igor Vlasenko 0.07-alt1 - fixed bug: conflicts was not detected properly (thanks to @mithraen for report) * Tue Dec 16 2008 Igor Vlasenko 0.06-alt1 - use repocop-collector-rpm-ext; stabilized against dups * Sat Dec 13 2008 Igor Vlasenko 0.05-alt1 - now checks not for conflict to name, but to providename. (thanks to mithraen@ for pointing out the problem) * Fri Dec 12 2008 Igor Vlasenko 0.04-alt1 - bugfix in conflict-symlink-file (thanks to mithraen@) * Wed Dec 10 2008 Igor Vlasenko 0.03-alt1 - removed duplicated messages * Wed Dec 10 2008 Igor Vlasenko 0.02-alt1 - fixed message (thanks to mithraen@) * Wed Dec 10 2008 Igor Vlasenko 0.01-alt1 - First build for Sisyphus. repocop-unittest-rpm-filesystem-0.13/rpm-filesystem-conflict-dir-dir.distrotest000064400000000000000000000030701210156677600302050ustar00rootroot00000000000000#!/bin/sh sqlite3 "$REPOCOP_TEST_TMPDIR/tmp.db" <b.pkgid and a.filename=b.filename and a.fileflag & 580 = 0 and b.fileflag & 580 = 0 and a.filemode & 61440 = 16384 and b.filemode & 61440 = 16384 and (a.filemode<>b.filemode OR a.FILEUSERNAME<>b.FILEUSERNAME OR a.FILEGROUPNAME<>b.FILEGROUPNAME) 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], "directory $a[1] is a directory in package $a[2] with different user,group or permissions. You should add explicit conflicts.")' $REPOCOP_TEST_TMPDIR/msg rm $REPOCOP_TEST_TMPDIR/* repocop-unittest-rpm-filesystem-0.13/rpm-filesystem-conflict-dir-file-or-symlink.distrotest000064400000000000000000000032651210156677600324560ustar00rootroot00000000000000#!/bin/sh sqlite3 "$REPOCOP_TEST_TMPDIR/tmp.db" <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/* repocop-unittest-rpm-filesystem-0.13/rpm-filesystem-conflict-file-file.distrotest000064400000000000000000000043111210156677600305060ustar00rootroot00000000000000#!/bin/sh sqlite3 "$REPOCOP_TEST_TMPDIR/tmp.db" <b.pkgid and a.filename=b.filename and a.fileflag & 580 = 0 and b.fileflag & 580 = 0 and a.filemode & 61440 = 32768 and b.filemode & 61440 = 32768 and (a.filemode & 4095 <> b.filemode & 4095 or a.FILEUSERNAME<>b.FILEUSERNAME OR a.FILEGROUPNAME<>b.FILEGROUPNAME or a.FILESIZE <> b.FILESIZE) 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 # delete debuginfo <-> debuginfo confilcts (see https://bugzilla.altlinux.org/show_bug.cgi?id=28467) sed -i -e '/-debuginfo\t.*-debuginfo$/d' $REPOCOP_TEST_TMPDIR/msg1 awk '{print $1 "\t" $2}' $REPOCOP_TEST_TMPDIR/msg1 > $REPOCOP_TEST_TMPDIR/msg #perl -ne 'chomp;@a=split /\t/;system(qw/repocop-test-info -k/,$a[0], "file $a[1] conflicts with the same file in a file in the package $a[2]. Moreover, the packages have no explicit conflicts with each other. You should add explicit conflicts, or, if conflicts are avoidable, consider using alternatives.")' $REPOCOP_TEST_TMPDIR/msg perl -ne 'chomp;@a=split /\t/;system(qw/repocop-test-warn -k/,$a[0], "There are file conflicts with the package $a[1]. Moreover, the packages have no explicit conflicts with each other. You should add explicit conflicts, or, if conflicts are avoidable, consider using alternatives.")' $REPOCOP_TEST_TMPDIR/msg rm $REPOCOP_TEST_TMPDIR/* repocop-unittest-rpm-filesystem-0.13/rpm-filesystem-conflict-symlink-file.distrotest000064400000000000000000000030511210156677600312550ustar00rootroot00000000000000#!/bin/sh sqlite3 "$REPOCOP_TEST_TMPDIR/tmp.db" <b.pkgid and a.filename=b.filename and a.fileflag & 580 = 0 and b.fileflag & 580 = 0 and a.filemode & 61440 = 40960 and b.filemode & 61440 = 32768 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-warn -k/,$a[0], "symlink $a[1] is a file in the package $a[2]. Moreover, the packages have no explicit conflicts with each other. You should add explicit conflicts, or, if conflicts are avoidable, consider using alternatives.")' $REPOCOP_TEST_TMPDIR/msg rm $REPOCOP_TEST_TMPDIR/* repocop-unittest-rpm-filesystem-0.13/rpm-filesystem-conflict-symlink-symlink.distrotest000064400000000000000000000031531210156677600320270ustar00rootroot00000000000000#!/bin/sh sqlite3 "$REPOCOP_TEST_TMPDIR/tmp.db" <b.pkgid and a.filename=b.filename and a.fileflag & 580 = 0 and b.fileflag & 580 = 0 and a.filemode & 61440 = 40960 and b.filemode & 61440 = 40960 AND a.FILELINKTO <> b.FILELINKTO 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-warn -k/,$a[0], "value of symlink $a[1] is different from the same symlink in the package $a[2]. Moreover, the packages have no explicit conflicts with each other. You should add explicit conflicts, or, if conflicts are avoidable, consider using alternatives.")' $REPOCOP_TEST_TMPDIR/msg rm $REPOCOP_TEST_TMPDIR/*