summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorbiao716.wang <biao716.wang@samsung.com>2021-01-05 14:51:28 +0900
committerbiao716.wang <biao716.wang@samsung.com>2021-01-05 14:51:28 +0900
commit9de33a8a7cd9eae05c3c1df4b2c0e1e4cd2bd40a (patch)
tree03067d36d530c3eeb623e601b0c12a98f744376d /tests
parent287097d4d8079b4485870c08cf5675b0bdd37ed9 (diff)
downloadrpm-9de33a8a7cd9eae05c3c1df4b2c0e1e4cd2bd40a.tar.gz
rpm-9de33a8a7cd9eae05c3c1df4b2c0e1e4cd2bd40a.tar.bz2
rpm-9de33a8a7cd9eae05c3c1df4b2c0e1e4cd2bd40a.zip
Change-Id: Iab5438d6e4d45c937b191c03e9ef5dd3fad165c8 Signed-off-by: biao716.wang <biao716.wang@samsung.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.am51
-rw-r--r--tests/atlocal.in25
-rw-r--r--tests/data/RPMS/hello-2.0-1.i686.rpmbin4447 -> 9984 bytes
-rw-r--r--tests/data/RPMS/hello-2.0-1.x86_64-signed.rpmbin0 -> 9915 bytes
-rw-r--r--tests/data/RPMS/hello-2.0-1.x86_64.rpmbin4446 -> 9915 bytes
-rw-r--r--tests/data/SOURCES/hello.c8
-rw-r--r--tests/data/SOURCES/poltest-1.0.tar.bz2bin409 -> 0 bytes
-rw-r--r--tests/data/SOURCES/poltest-policy-1.0.tar.bz2bin553 -> 0 bytes
-rw-r--r--tests/data/SPECS/attrtest.spec6
-rw-r--r--tests/data/SPECS/configtest.spec3
-rw-r--r--tests/data/SPECS/conflicttest.spec3
-rw-r--r--tests/data/SPECS/deptest.spec11
-rw-r--r--tests/data/SPECS/filedep.spec49
-rw-r--r--tests/data/SPECS/filetriggers.spec95
-rw-r--r--tests/data/SPECS/flangtest.spec5
-rw-r--r--tests/data/SPECS/hello-attr-buildid.spec27
-rw-r--r--tests/data/SPECS/hello-cd.spec29
-rw-r--r--tests/data/SPECS/hello-config-buildid.spec30
-rw-r--r--tests/data/SPECS/hello-r2.spec58
-rw-r--r--tests/data/SPECS/hello-script.spec2
-rw-r--r--tests/data/SPECS/hello2-suid.spec67
-rw-r--r--tests/data/SPECS/hello2.spec62
-rw-r--r--tests/data/SPECS/hello2cp.spec64
-rw-r--r--tests/data/SPECS/hello2ln.spec63
-rw-r--r--tests/data/SPECS/hlinktest.spec16
-rw-r--r--tests/data/SPECS/parallel.spec50
-rw-r--r--tests/data/SPECS/poltest.spec52
-rw-r--r--tests/data/SPECS/prefixtest.spec42
-rw-r--r--tests/data/SPECS/replacetest.spec4
-rw-r--r--tests/data/SPECS/scripts.spec4
-rw-r--r--tests/data/SPECS/sigpipe.spec47
-rw-r--r--tests/data/SPECS/test-subpackages-exclude.spec42
-rw-r--r--tests/data/SPECS/test-subpackages-pathpostfixes.spec39
-rw-r--r--tests/data/SPECS/test-subpackages.spec47
-rw-r--r--tests/data/SPECS/testdoc.spec32
-rw-r--r--tests/data/SPECS/triggers.spec26
-rw-r--r--tests/data/SPECS/vattrtest.spec29
-rw-r--r--tests/data/keys/rpm.org-rsa-2048-test.pub30
-rw-r--r--tests/data/keys/rpm.org-rsa-2048-test.secret57
-rw-r--r--tests/package.m46
-rw-r--r--tests/rpmbuild.at1176
-rw-r--r--tests/rpmbuildid.at1312
-rw-r--r--tests/rpmconfig.at156
-rw-r--r--tests/rpmconfig2.at133
-rw-r--r--tests/rpmconfig3.at40
-rw-r--r--tests/rpmconflict.at40
-rw-r--r--tests/rpmdb.at92
-rw-r--r--tests/rpmdeps.at731
-rw-r--r--tests/rpmgeneral.at59
-rw-r--r--tests/rpmi.at249
-rw-r--r--tests/rpmio.at50
-rw-r--r--tests/rpmmacro.at293
-rw-r--r--tests/rpmorder.at45
-rw-r--r--tests/rpmpython.at138
-rw-r--r--tests/rpmquery.at417
-rw-r--r--tests/rpmreplace.at114
-rw-r--r--tests/rpmscript.at225
-rw-r--r--tests/rpmsigdig.at443
-rwxr-xr-xtests/rpmtests30451
-rw-r--r--tests/rpmtests.at4
-rw-r--r--tests/rpmverify.at412
61 files changed, 37432 insertions, 329 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 61c18afcb..f2bdb7bae 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,13 +1,11 @@
## Process this file with automake to produce Makefile.in.
include $(top_srcdir)/rpm.am
+AM_CFLAGS = @RPMCFLAGS@
EXTRA_DIST =
CLEANFILES =
-# HACK: This should not be here.
-rpmbindir = `echo $(bindir) | sed -e s,usr/bin,bin,`
-
##
TESTSUITE = $(srcdir)/rpmtests
EXTRA_DIST += local.at $(TESTSUITE)
@@ -19,6 +17,7 @@ TESTSUITE_AT += rpmquery.at
TESTSUITE_AT += rpmverify.at
TESTSUITE_AT += rpmdb.at
TESTSUITE_AT += rpmbuild.at
+TESTSUITE_AT += rpmbuildid.at
TESTSUITE_AT += rpmi.at
TESTSUITE_AT += rpmvercmp.at
TESTSUITE_AT += rpmdeps.at
@@ -31,17 +30,26 @@ TESTSUITE_AT += rpmmacro.at
TESTSUITE_AT += rpmpython.at
TESTSUITE_AT += rpmdepmatch.at
TESTSUITE_AT += rpmscript.at
+TESTSUITE_AT += rpmsigdig.at
+TESTSUITE_AT += rpmio.at
+TESTSUITE_AT += rpmorder.at
EXTRA_DIST += $(TESTSUITE_AT)
## testsuite data
EXTRA_DIST += data/SPECS/attrtest.spec
EXTRA_DIST += data/SPECS/hello.spec
+EXTRA_DIST += data/SPECS/hello-r2.spec
EXTRA_DIST += data/SPECS/hello-script.spec
+EXTRA_DIST += data/SPECS/hello2.spec
+EXTRA_DIST += data/SPECS/hello2cp.spec
+EXTRA_DIST += data/SPECS/hello2ln.spec
+EXTRA_DIST += data/SPECS/hello2-suid.spec
EXTRA_DIST += data/SPECS/foo.spec
EXTRA_DIST += data/SPECS/globtest.spec
EXTRA_DIST += data/SPECS/versiontest.spec
EXTRA_DIST += data/SPECS/conflicttest.spec
EXTRA_DIST += data/SPECS/configtest.spec
+EXTRA_DIST += data/SPECS/filedep.spec
EXTRA_DIST += data/SPECS/flangtest.spec
EXTRA_DIST += data/SPECS/hlinktest.spec
EXTRA_DIST += data/SPECS/symlinktest.spec
@@ -51,6 +59,16 @@ EXTRA_DIST += data/SPECS/fakeshell.spec
EXTRA_DIST += data/SPECS/scripts.spec
EXTRA_DIST += data/SPECS/selfconflict.spec
EXTRA_DIST += data/SPECS/replacetest.spec
+EXTRA_DIST += data/SPECS/triggers.spec
+EXTRA_DIST += data/SPECS/filetriggers.spec
+EXTRA_DIST += data/SPECS/parallel.spec
+EXTRA_DIST += data/SPECS/prefixtest.spec
+EXTRA_DIST += data/SPECS/testdoc.spec
+EXTRA_DIST += data/SPECS/sigpipe.spec
+EXTRA_DIST += data/SPECS/test-subpackages.spec
+EXTRA_DIST += data/SPECS/test-subpackages-exclude.spec
+EXTRA_DIST += data/SPECS/test-subpackages-pathpostfixes.spec
+EXTRA_DIST += data/SPECS/vattrtest.spec
EXTRA_DIST += data/SOURCES/hello-1.0-modernize.patch
EXTRA_DIST += data/SOURCES/hello-1.0.tar.gz
EXTRA_DIST += data/SOURCES/hello-2.0.tar.gz
@@ -59,8 +77,15 @@ EXTRA_DIST += data/RPMS/hello-1.0-1.i386.rpm
EXTRA_DIST += data/RPMS/hello-1.0-1.ppc64.rpm
EXTRA_DIST += data/RPMS/hello-2.0-1.i686.rpm
EXTRA_DIST += data/RPMS/hello-2.0-1.x86_64.rpm
+EXTRA_DIST += data/RPMS/hello-2.0-1.x86_64-signed.rpm
EXTRA_DIST += data/SRPMS/foo-1.0-1.src.rpm
EXTRA_DIST += data/SRPMS/hello-1.0-1.src.rpm
+EXTRA_DIST += data/SOURCES/hello.c
+EXTRA_DIST += data/SPECS/hello-attr-buildid.spec
+EXTRA_DIST += data/SPECS/hello-config-buildid.spec
+EXTRA_DIST += data/SPECS/hello-cd.spec
+EXTRA_DIST += data/keys/rpm.org-rsa-2048-test.pub
+EXTRA_DIST += data/keys/rpm.org-rsa-2048-test.secret
# testsuite voodoo
AUTOTEST = $(AUTOM4TE) --language=autotest
@@ -86,35 +111,41 @@ CLEANFILES += atconfig
atlocal: atlocal.in Makefile
@sed \
- -e "s,[@]rpmbindir[@],$(rpmbindir)," \
-e "s,[@]usrbindir[@],$(bindir)," \
-e "s,[@]usrlibdir[@],$(libdir)," \
+ -e "s,[@]execprefix[@],$(exec_prefix)," \
-e "s,[@]RPMCONFIGDIR[@],$(rpmconfigdir)," \
< $(srcdir)/atlocal.in > atlocal
DISTCLEANFILES = atlocal
EXTRA_DIST += atlocal.in
# Hack: Abusing testing$(bindir)/rpmbuild as stamp file
+# The chmod is needed when copying from read-only sources (eg in distcheck)
testing$(bindir)/rpmbuild: ../rpmbuild
+ HOME=$(abs_builddir)/testing gpg-connect-agent --no-autostart killagent bye ||:
rm -rf testing
mkdir -p testing/$(bindir)
ln -s ./$(bindir) testing/bin
+ mkdir -p testing/usr
+ ln -s ../bin testing/usr/bin
(cd ${top_builddir} && \
$(MAKE) DESTDIR=`pwd`/${subdir}/testing install)
- cp -r data/ testing/
- mkdir testing/{dev,etc,magic,tmp}
- for node in stdin stderr stdout null; do ln -s /dev/$${node} testing/dev/$${node}; done
- for cf in hosts resolv.conf passwd shadow group gshadow mtab fstab; do [ -f /etc/$${cf} ] && ln -s /etc/$${cf} testing/etc/$${cf}; done
- for prog in gzip cat patch tar sh ln chmod rm mkdir uname grep sed find file mktemp cut sort diff; do p=`which $${prog}`; ln -s $${p} testing/$${p}; done
+ cp -r ${srcdir}/data/ testing/
+ chmod -R u+w testing/data/
+ for d in dev etc magic tmp var; do if [ ! -d testing/$${d} ]; then mkdir testing/$${d}; fi; done
+ for node in urandom stdin stderr stdout null; do ln -s /dev/$${node} testing/dev/$${node}; done
+ for cf in hosts resolv.conf passwd shadow group gshadow mtab ; do [ -f /etc/$${cf} ] && ln -s /etc/$${cf} testing/etc/$${cf}; done
+ for prog in gzip cat patch tar sh ln chmod rm mkdir uname grep sed find file ionice mktemp nice cut sort diff touch install wc; do p=`which $${prog}`; ln -s $${p} testing/$(bindir)/; done
for d in /proc /sys /selinux /etc/selinux; do if [ -d $${d} ]; then ln -s $${d} testing/$${d}; fi; done
(cd testing/magic && file -C)
+ HOME=$(abs_builddir)/testing gpg2 --import ${abs_srcdir}/data/keys/*.secret || HOME=$(abs_builddir)/testing gpg --import ${abs_srcdir}/data/keys/*.secret
check_DATA = atconfig atlocal $(TESTSUITE)
check_DATA += testing$(bindir)/rpmbuild
if HAVE_FAKECHROOT
check-local: $(check_DATA)
- $(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS) ||:
+ $(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS)
else
check-local:
echo "you need to have fakechroot installed"
diff --git a/tests/atlocal.in b/tests/atlocal.in
index 5ce6f4f93..d7d837f45 100644
--- a/tests/atlocal.in
+++ b/tests/atlocal.in
@@ -3,7 +3,7 @@ export LD_LIBRARY_PATH
PATH="${abs_builddir}/testing@rpmbindir@:${abs_builddir}/testing@usrbindir@:$PATH"
export PATH
-PYLIBDIR=`python -c "from distutils.sysconfig import get_python_lib; import sys; sys.stdout.write(get_python_lib(1))"`
+PYLIBDIR=`python -c "from distutils.sysconfig import get_python_lib; import sys; sys.stdout.write(get_python_lib(1,0,'@execprefix@'))"`
PYTHONPATH="${abs_builddir}/testing${PYLIBDIR}"
export PYTHONPATH
@@ -18,18 +18,35 @@ export RPM_CONFIGDIR RPM_POPTEXEC_PATH
HOME="${RPMTEST}"
export HOME
+TZ=UTC
+export TZ
+
TOPDIR="${RPMTEST}/build"
RPM_XFAIL=${RPM_XFAIL-1}
function run()
{
- "$@" --define "_topdir ${TOPDIR}" --dbpath="${RPMTEST}/var/lib/rpm/"
+ "$@" --define "_tmppath ${RPMTEST}/tmp" --define "_topdir ${TOPDIR}" --dbpath="${RPMTEST}/var/lib/rpm/"
+}
+
+function rundebug()
+{
+ cp ${top_srcdir}/macros.debug ${RPM_CONFIGDIR}/macros.d/
+ "$@" --define "_tmppath ${RPMTEST}/tmp" --define "_topdir ${TOPDIR}" --dbpath="${RPMTEST}/var/lib/rpm/"
+ rm -f ${RPM_CONFIGDIR}/macros.d/macros.debug
}
function runroot()
{
- (cd ${RPMTEST} && \
- MAGIC="/magic/magic" FAKECHROOT_BASE="${RPMTEST}" fakechroot "$@" --define "_topdir /build"
+ (unset RPM_CONFIGDIR RPM_POPTEXEC_PATH; cd ${RPMTEST} && \
+ MAGIC="/magic/magic" FAKECHROOT_BASE="${RPMTEST}" fakechroot "$@" --define "_topdir /build" --noplugins
+ )
+}
+
+function runroot_other()
+{
+ (unset RPM_CONFIGDIR RPM_POPTEXEC_PATH; cd ${RPMTEST} && \
+ FAKECHROOT_BASE="${RPMTEST}" fakechroot "$@"
)
}
diff --git a/tests/data/RPMS/hello-2.0-1.i686.rpm b/tests/data/RPMS/hello-2.0-1.i686.rpm
index 46c60b1f9..ecb7c96d7 100644
--- a/tests/data/RPMS/hello-2.0-1.i686.rpm
+++ b/tests/data/RPMS/hello-2.0-1.i686.rpm
Binary files differ
diff --git a/tests/data/RPMS/hello-2.0-1.x86_64-signed.rpm b/tests/data/RPMS/hello-2.0-1.x86_64-signed.rpm
new file mode 100644
index 000000000..be627a782
--- /dev/null
+++ b/tests/data/RPMS/hello-2.0-1.x86_64-signed.rpm
Binary files differ
diff --git a/tests/data/RPMS/hello-2.0-1.x86_64.rpm b/tests/data/RPMS/hello-2.0-1.x86_64.rpm
index 50e39ddd9..003e93093 100644
--- a/tests/data/RPMS/hello-2.0-1.x86_64.rpm
+++ b/tests/data/RPMS/hello-2.0-1.x86_64.rpm
Binary files differ
diff --git a/tests/data/SOURCES/hello.c b/tests/data/SOURCES/hello.c
new file mode 100644
index 000000000..020484eed
--- /dev/null
+++ b/tests/data/SOURCES/hello.c
@@ -0,0 +1,8 @@
+#include <stdio.h>
+
+int
+main (void)
+{
+ printf ("Hello, world!\n");
+ return 0;
+}
diff --git a/tests/data/SOURCES/poltest-1.0.tar.bz2 b/tests/data/SOURCES/poltest-1.0.tar.bz2
deleted file mode 100644
index 37dcc2356..000000000
--- a/tests/data/SOURCES/poltest-1.0.tar.bz2
+++ /dev/null
Binary files differ
diff --git a/tests/data/SOURCES/poltest-policy-1.0.tar.bz2 b/tests/data/SOURCES/poltest-policy-1.0.tar.bz2
deleted file mode 100644
index 76f4e14f8..000000000
--- a/tests/data/SOURCES/poltest-policy-1.0.tar.bz2
+++ /dev/null
Binary files differ
diff --git a/tests/data/SPECS/attrtest.spec b/tests/data/SPECS/attrtest.spec
index 6f787b19e..1d7e4bfe2 100644
--- a/tests/data/SPECS/attrtest.spec
+++ b/tests/data/SPECS/attrtest.spec
@@ -20,7 +20,7 @@ for x in a b c d e f g h i j; do
chmod 400 $RPM_BUILD_ROOT/${x}/file
done
-%files
+%files -n %{name}
/a/dir
/a/file
@@ -56,3 +56,7 @@ done
%defattr(640,zoot,zoot,750)
%attr(777,-,-) /j/dir
%attr(222,-,-) /j/file
+
+%changelog
+* Tue Jun 28 2011 Panu Matilainen <pmatilai@redhat.com>
+- Initial package
diff --git a/tests/data/SPECS/configtest.spec b/tests/data/SPECS/configtest.spec
index 5f15c349f..17dd7c901 100644
--- a/tests/data/SPECS/configtest.spec
+++ b/tests/data/SPECS/configtest.spec
@@ -1,3 +1,6 @@
+# avoid depending on rpm configuration
+%define _sysconfdir /etc
+
%{!?filetype: %global filetype file}
Name: configtest%{?sub:-%{sub}}
diff --git a/tests/data/SPECS/conflicttest.spec b/tests/data/SPECS/conflicttest.spec
index bd1dd1c5f..46fbb29a1 100644
--- a/tests/data/SPECS/conflicttest.spec
+++ b/tests/data/SPECS/conflicttest.spec
@@ -1,3 +1,6 @@
+# avoid depending on rpm configuration
+%define _datadir /usr/share
+
Name: conflict%{pkg}
Version: 1.0
Release: 1
diff --git a/tests/data/SPECS/deptest.spec b/tests/data/SPECS/deptest.spec
index 7f2228f11..68b0fcbcc 100644
--- a/tests/data/SPECS/deptest.spec
+++ b/tests/data/SPECS/deptest.spec
@@ -10,9 +10,20 @@ BuildArch: noarch
%{?provs:Provides: %{provs}}
%{?cfls:Conflicts: %{cfls}}
%{?obs:Obsoletes: %{obs}}
+%{?recs:Recommends: %{recs}}
+%{?sugs:Suggests: %{sugs}}
+%{?sups:Supplements: %{sups}}
+%{?ens:Enhances: %{ens}}
+%{?buildreqs:BuildRequires: %{buildreqs}}
+%{?buildcfls:BuildConflicts: %{buildcfls}}
%description
%{summary}
+%install
+mkdir -p %{buildroot}/opt/
+echo FOO > %{buildroot}/opt/bar
+
%files
%defattr(-,root,root,-)
+/opt/bar
diff --git a/tests/data/SPECS/filedep.spec b/tests/data/SPECS/filedep.spec
new file mode 100644
index 000000000..d40305881
--- /dev/null
+++ b/tests/data/SPECS/filedep.spec
@@ -0,0 +1,49 @@
+Name: filedep
+Version: 1.0
+Release: 1
+Summary: Testing file dependencies
+License: GPL
+BuildArch: noarch
+
+%description
+%{summary}
+
+%prep
+%setup -q -T -c %{name}-%{version}
+
+
+%build
+cat << EOF >> foo
+#!/bin/sh
+cat /etc/foo.conf
+EOF
+
+cat << EOF >> bar
+#!/bin/f00f
+echo BUG
+EOF
+
+cat << EOF >> foo.conf
+hello there
+EOF
+
+cat << EOF >> README
+Some stuff, huh?
+EOF
+
+%install
+mkdir -p %{buildroot}/etc
+mkdir -p %{buildroot}/usr/bin
+mkdir -p %{buildroot}/usr/share/doc/filedep
+install -D -m 644 foo.conf %{buildroot}/etc
+install -D -m 755 foo bar %{buildroot}/usr/bin/
+install -D -m 644 README %{buildroot}/usr/share/doc/filedep
+
+%files
+/etc/*
+/usr/bin/*
+/usr/share/doc/filedep/
+
+
+%changelog
+
diff --git a/tests/data/SPECS/filetriggers.spec b/tests/data/SPECS/filetriggers.spec
new file mode 100644
index 000000000..b1dc3d5d9
--- /dev/null
+++ b/tests/data/SPECS/filetriggers.spec
@@ -0,0 +1,95 @@
+Name: filetriggers
+Version: 1.0
+Release: 1
+Summary: Testing file triggers
+
+Group: testing
+License: GPL
+BuildArch: noarch
+
+
+%description
+%{summary}
+
+
+%filetriggerin -- /usr/bin
+echo "filetriggerin(/usr/bin*):"
+cat
+echo
+
+%filetriggerun -- /usr/bin
+echo "filetriggerun(/usr/bin*):"
+cat
+echo
+
+%filetriggerpostun -- /usr/bin
+echo "filetriggerpostun(/usr/bin*):"
+cat
+echo
+
+%transfiletriggerin -- /usr/bin
+echo "transfiletriggerin(/usr/bin*):"
+cat
+echo
+
+%transfiletriggerun -- /usr/bin
+echo "transfiletriggerun(/usr/bin*):"
+cat
+echo
+
+%transfiletriggerpostun -- /usr/bin
+echo "transfiletriggerpostun(/usr/bin*):"
+cat
+echo
+
+%filetriggerin -p <lua> -- /usr/bin
+print("filetriggerin(/usr/bin*)<lua>:")
+a = rpm.next_file()
+while a do
+ print(a)
+ a = rpm.next_file()
+end
+print("")
+io.flush()
+
+%filetriggerin -- /foo
+echo "filetriggerin(/foo*):"
+cat
+echo
+
+%filetriggerun -- /foo
+echo "filetriggerun(/foo*):"
+cat
+echo
+
+%filetriggerpostun -- /foo
+echo "filetriggerpostun(/foo*):"
+cat
+echo
+
+%transfiletriggerin -- /foo
+echo "transfiletriggerin(/foo*):"
+cat
+echo
+
+%transfiletriggerun -- /foo
+echo "transfiletriggerun(/foo*):"
+cat
+echo
+
+%transfiletriggerpostun -- /foo
+echo "transfiletriggerpostun(/foo*):"
+cat
+echo
+
+%filetriggerin -p <lua> -- /foo
+print("filetriggerin(/foo*)<lua>:")
+a = rpm.next_file()
+while a do
+ print(a)
+ a = rpm.next_file()
+end
+print("")
+io.flush()
+
+%files
diff --git a/tests/data/SPECS/flangtest.spec b/tests/data/SPECS/flangtest.spec
index 3f3679588..a361bcdc9 100644
--- a/tests/data/SPECS/flangtest.spec
+++ b/tests/data/SPECS/flangtest.spec
@@ -1,3 +1,6 @@
+# avoid depending on rpm configuration
+%define _datadir /usr/share
+
Name: flangtest
Version: 1.0
Release: 1
@@ -16,6 +19,7 @@ mkdir -p $RPM_BUILD_ROOT/%{_datadir}/%{name}
for f in fi de en pl none; do
echo "This is $f language" > $RPM_BUILD_ROOT/%{_datadir}/%{name}/$f.txt
done
+touch $RPM_BUILD_ROOT/%{_datadir}/%{name}/empty.txt
%clean
rm -rf $RPM_BUILD_ROOT
@@ -27,3 +31,4 @@ rm -rf $RPM_BUILD_ROOT
%lang(en) %{_datadir}/%{name}/en.txt
%lang(pl) %{_datadir}/%{name}/pl.txt
%{_datadir}/%{name}/none.txt
+%{_datadir}/%{name}/empty.txt
diff --git a/tests/data/SPECS/hello-attr-buildid.spec b/tests/data/SPECS/hello-attr-buildid.spec
new file mode 100644
index 000000000..cdab95fff
--- /dev/null
+++ b/tests/data/SPECS/hello-attr-buildid.spec
@@ -0,0 +1,27 @@
+Name: test
+Version: 1.0
+Release: 1
+Summary: Test
+
+License: Public Domain
+URL: https://fedoraproject.org
+Source: hello.c
+
+%description
+%{summary}.
+
+%prep
+%autosetup -c -D -T
+cp -a %{S:0} .
+
+%build
+gcc -g hello.c -o hello
+
+%install
+mkdir -p %{buildroot}%{_bindir}
+install -D -p -m 0755 -t %{buildroot}%{_bindir} hello
+
+%files
+%attr(644,root,root) %{_bindir}/hello
+
+%changelog
diff --git a/tests/data/SPECS/hello-cd.spec b/tests/data/SPECS/hello-cd.spec
new file mode 100644
index 000000000..ab1e3008b
--- /dev/null
+++ b/tests/data/SPECS/hello-cd.spec
@@ -0,0 +1,29 @@
+Name: test
+Version: 1.0
+Release: 1
+Summary: Test
+
+License: Public Domain
+URL: https://fedoraproject.org
+Source: hello.c
+
+%description
+%{summary}.
+
+%prep
+%autosetup -c -D -T
+cp -a %{S:0} .
+
+%build
+gcc -g hello.c -o hello
+
+%install
+mkdir -p %{buildroot}/bin
+install -D -p -m 0755 -t %{buildroot}/bin hello
+# Pretend we need to do something in /tmp
+cd /tmp
+
+%files
+%attr(644,root,root) /bin/hello
+
+%changelog
diff --git a/tests/data/SPECS/hello-config-buildid.spec b/tests/data/SPECS/hello-config-buildid.spec
new file mode 100644
index 000000000..ca2d30db3
--- /dev/null
+++ b/tests/data/SPECS/hello-config-buildid.spec
@@ -0,0 +1,30 @@
+Name: test
+Version: 1.0
+Release: 1
+Summary: Test
+
+License: Public Domain
+URL: https://fedoraproject.org
+Source: hello.c
+
+%description
+%{summary}.
+
+%prep
+%autosetup -c -D -T
+cp -a %{S:0} .
+
+%build
+gcc -g hello.c -o hello
+
+%install
+mkdir -p %{buildroot}/bin
+install -D -p -m 0755 -t %{buildroot}/bin hello
+mkdir -p %{buildroot}/etc
+echo "settings" > %{buildroot}/etc/config.file
+
+%files
+%attr(644,root,root) /bin/hello
+%config(noreplace) /etc/config.file
+
+%changelog
diff --git a/tests/data/SPECS/hello-r2.spec b/tests/data/SPECS/hello-r2.spec
new file mode 100644
index 000000000..ca5091d10
--- /dev/null
+++ b/tests/data/SPECS/hello-r2.spec
@@ -0,0 +1,58 @@
+Summary: hello -- hello, world rpm
+Name: hello
+Version: 1.0
+Release: 2
+Group: Utilities
+License: GPL
+Distribution: RPM test suite.
+Vendor: Red Hat Software
+Packager: Red Hat Software <bugs@redhat.com>
+URL: http://www.redhat.com
+Source0: hello-1.0.tar.gz
+Patch0: hello-1.0-modernize.patch
+Excludearch: lsi
+Excludeos: cpm
+Provides: hi
+Conflicts: goodbye
+Obsoletes: howdy
+Prefix: /usr
+
+%description
+Simple rpm demonstration.
+
+%prep
+%setup -q
+%patch0 -p1 -b .modernize
+
+%build
+make
+
+%install
+rm -rf $RPM_BUILD_ROOT
+mkdir -p $RPM_BUILD_ROOT/usr/local/bin
+make DESTDIR=$RPM_BUILD_ROOT install
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%pre
+
+%post
+
+%preun
+
+%postun
+
+%files
+%defattr(-,root,root)
+%doc FAQ
+#%readme README
+#%license COPYING
+%attr(0751,root,root) /usr/local/bin/hello
+
+%changelog
+* Wed Jun 8 2016 Mark Wielaard <mjw@redhat.com>
+- Update release for unique build-id generation tests.
+
+* Tue Oct 20 1998 Jeff Johnson <jbj@redhat.com>
+- create.
diff --git a/tests/data/SPECS/hello-script.spec b/tests/data/SPECS/hello-script.spec
index 567519e33..a28c446f6 100644
--- a/tests/data/SPECS/hello-script.spec
+++ b/tests/data/SPECS/hello-script.spec
@@ -13,6 +13,7 @@ BuildArch: noarch
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/usr/bin
+mkdir -p $RPM_BUILD_ROOT/zoot
cat << EOF > $RPM_BUILD_ROOT/usr/bin/hello
echo "Hello world!"
EOF
@@ -20,3 +21,4 @@ EOF
%files
%defattr(-,root,root,-)
/usr/bin/hello
+/zoot
diff --git a/tests/data/SPECS/hello2-suid.spec b/tests/data/SPECS/hello2-suid.spec
new file mode 100644
index 000000000..32bdce1f9
--- /dev/null
+++ b/tests/data/SPECS/hello2-suid.spec
@@ -0,0 +1,67 @@
+Summary: hello2 -- double hello, world rpm
+Name: hello2
+Version: 1.0
+Release: 1
+Group: Utilities
+License: GPL
+Distribution: RPM test suite.
+Vendor: Red Hat Software
+Packager: Red Hat Software <bugs@redhat.com>
+URL: http://www.redhat.com
+Source0: hello-1.0.tar.gz
+Patch0: hello-1.0-modernize.patch
+Excludearch: lsi
+Excludeos: cpm
+Provides: hi
+Conflicts: goodbye
+Obsoletes: howdy
+Prefix: /usr
+
+%description
+Simple rpm demonstration.
+
+%prep
+%setup -q -n hello-1.0
+%patch0 -p1 -b .modernize
+
+%build
+make CFLAGS="-g -O1"
+mv hello hello2
+make CFLAGS="-g -O2 -D_FORTIFY_SOURCE=2"
+
+%install
+rm -rf $RPM_BUILD_ROOT
+mkdir -p $RPM_BUILD_ROOT/usr/local/bin
+# Note explicit install hello as suid
+install -m 4755 hello $RPM_BUILD_ROOT/usr/local/bin
+install -m 755 hello2 $RPM_BUILD_ROOT/usr/local/bin
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%pre
+
+%post
+
+%preun
+
+%postun
+
+%files
+# Note we don't set any attrs. We expect the suid flag to have been picked up.
+/usr/local/bin/hello
+/usr/local/bin/hello2
+%defattr(-,root,root)
+%doc FAQ
+#%readme README
+#%license COPYING
+
+%changelog
+* Tue Jun 14 2016 Mark Wielaard <mjw@redhat.com>
+- Make hello (implicit) suid
+
+* Wed May 18 2016 Mark Wielaard <mjw@redhat.com>
+- Add hello2 for dwz testing support.
+
+* Tue Oct 20 1998 Jeff Johnson <jbj@redhat.com>
+- create.
diff --git a/tests/data/SPECS/hello2.spec b/tests/data/SPECS/hello2.spec
new file mode 100644
index 000000000..01777af5b
--- /dev/null
+++ b/tests/data/SPECS/hello2.spec
@@ -0,0 +1,62 @@
+Summary: hello2 -- double hello, world rpm
+Name: hello2
+Version: 1.0
+Release: 1
+Group: Utilities
+License: GPL
+Distribution: RPM test suite.
+Vendor: Red Hat Software
+Packager: Red Hat Software <bugs@redhat.com>
+URL: http://www.redhat.com
+Source0: hello-1.0.tar.gz
+Patch0: hello-1.0-modernize.patch
+Excludearch: lsi
+Excludeos: cpm
+Provides: hi
+Conflicts: goodbye
+Obsoletes: howdy
+Prefix: /usr
+
+%description
+Simple rpm demonstration.
+
+%prep
+%setup -q -n hello-1.0
+%patch0 -p1 -b .modernize
+
+%build
+make CFLAGS="-g -O1"
+mv hello hello2
+make CFLAGS="-g -O2 -D_FORTIFY_SOURCE=2"
+
+%install
+rm -rf $RPM_BUILD_ROOT
+mkdir -p $RPM_BUILD_ROOT/usr/local/bin
+make DESTDIR=$RPM_BUILD_ROOT install
+cp hello2 $RPM_BUILD_ROOT/usr/local/bin/
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%pre
+
+%post
+
+%preun
+
+%postun
+
+%files
+%defattr(-,root,root)
+%doc FAQ
+#%readme README
+#%license COPYING
+%attr(0751,root,root) /usr/local/bin/hello
+%attr(0751,root,root) /usr/local/bin/hello2
+
+%changelog
+* Wed May 18 2016 Mark Wielaard <mjw@redhat.com>
+- Add hello2 for dwz testing support.
+
+* Tue Oct 20 1998 Jeff Johnson <jbj@redhat.com>
+- create.
diff --git a/tests/data/SPECS/hello2cp.spec b/tests/data/SPECS/hello2cp.spec
new file mode 100644
index 000000000..33d8dc260
--- /dev/null
+++ b/tests/data/SPECS/hello2cp.spec
@@ -0,0 +1,64 @@
+Summary: hello2 -- double hello, world rpm
+Name: hello2
+Version: 1.0
+Release: 1
+Group: Utilities
+License: GPL
+Distribution: RPM test suite.
+Vendor: Red Hat Software
+Packager: Red Hat Software <bugs@redhat.com>
+URL: http://www.redhat.com
+Source0: hello-1.0.tar.gz
+Patch0: hello-1.0-modernize.patch
+Excludearch: lsi
+Excludeos: cpm
+Provides: hi
+Conflicts: goodbye
+Obsoletes: howdy
+Prefix: /usr
+
+%description
+Simple rpm demonstration.
+
+%prep
+%setup -q -n hello-1.0
+%patch0 -p1 -b .modernize
+
+%build
+make CFLAGS="-g -O1"
+cp hello hello2
+
+%install
+rm -rf $RPM_BUILD_ROOT
+mkdir -p $RPM_BUILD_ROOT/usr/local/bin
+make DESTDIR=$RPM_BUILD_ROOT install
+cp hello2 $RPM_BUILD_ROOT/usr/local/bin/
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%pre
+
+%post
+
+%preun
+
+%postun
+
+%files
+%defattr(-,root,root)
+%doc FAQ
+#%readme README
+#%license COPYING
+%attr(0751,root,root) /usr/local/bin/hello
+%attr(0751,root,root) /usr/local/bin/hello2
+
+%changelog
+* Mon Jun 6 2016 Mark Wielaard <mjw@redhat.com>
+- Copy hello to hello2 for duplicate build-id testing.
+
+* Wed May 18 2016 Mark Wielaard <mjw@redhat.com>
+- Add hello2 for dwz testing support.
+
+* Tue Oct 20 1998 Jeff Johnson <jbj@redhat.com>
+- create.
diff --git a/tests/data/SPECS/hello2ln.spec b/tests/data/SPECS/hello2ln.spec
new file mode 100644
index 000000000..2c40dcc32
--- /dev/null
+++ b/tests/data/SPECS/hello2ln.spec
@@ -0,0 +1,63 @@
+Summary: hello2 -- double hello, world rpm
+Name: hello2
+Version: 1.0
+Release: 1
+Group: Utilities
+License: GPL
+Distribution: RPM test suite.
+Vendor: Red Hat Software
+Packager: Red Hat Software <bugs@redhat.com>
+URL: http://www.redhat.com
+Source0: hello-1.0.tar.gz
+Patch0: hello-1.0-modernize.patch
+Excludearch: lsi
+Excludeos: cpm
+Provides: hi
+Conflicts: goodbye
+Obsoletes: howdy
+Prefix: /usr
+
+%description
+Simple rpm demonstration.
+
+%prep
+%setup -q -n hello-1.0
+%patch0 -p1 -b .modernize
+
+%build
+make CFLAGS="-g -O1"
+
+%install
+rm -rf $RPM_BUILD_ROOT
+mkdir -p $RPM_BUILD_ROOT/usr/local/bin
+make DESTDIR=$RPM_BUILD_ROOT install
+ln $RPM_BUILD_ROOT/usr/local/bin/hello $RPM_BUILD_ROOT/usr/local/bin/hello2
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%pre
+
+%post
+
+%preun
+
+%postun
+
+%files
+%defattr(-,root,root)
+%doc FAQ
+#%readme README
+#%license COPYING
+%attr(0751,root,root) /usr/local/bin/hello
+%attr(0751,root,root) /usr/local/bin/hello2
+
+%changelog
+* Mon Jun 6 2016 Mark Wielaard <mjw@redhat.com>
+- Hard link hello to hello2 for duplicate build-id testing.
+
+* Wed May 18 2016 Mark Wielaard <mjw@redhat.com>
+- Add hello2 for dwz testing support.
+
+* Tue Oct 20 1998 Jeff Johnson <jbj@redhat.com>
+- create.
diff --git a/tests/data/SPECS/hlinktest.spec b/tests/data/SPECS/hlinktest.spec
index 7c22d29ae..b3b8866fc 100644
--- a/tests/data/SPECS/hlinktest.spec
+++ b/tests/data/SPECS/hlinktest.spec
@@ -1,3 +1,6 @@
+%bcond_with unpackaged_dirs
+%bcond_with unpackaged_files
+
Summary: Testing hard link behavior
Name: hlinktest
Version: 1.0
@@ -5,6 +8,7 @@ Release: 1
License: Testing
Group: Testing
BuildArch: noarch
+Provides: /bin/sh
%description
%install
@@ -12,16 +16,26 @@ rm -rf %{buildroot}
mkdir -p $RPM_BUILD_ROOT/foo
cat << EOF >> $RPM_BUILD_ROOT/foo/hello
#!/bin/sh
-echo $0
+echo %{name}-%{version}
EOF
cd $RPM_BUILD_ROOT/foo
cat hello > copyllo
+cat hello > aaaa
+ln aaaa zzzz
chmod a+x hello copyllo
for f in foo bar world; do
ln hello hello-${f}
done
+%if %{with unpackaged_dirs}
+mkdir -p $RPM_BUILD_ROOT/zoo/
+%endif
+
+%if %{with unpackaged_files}
+touch $RPM_BUILD_ROOT/toot
+%endif
+
%files
%defattr(-,root,root)
/foo/*
diff --git a/tests/data/SPECS/parallel.spec b/tests/data/SPECS/parallel.spec
new file mode 100644
index 000000000..41896726e
--- /dev/null
+++ b/tests/data/SPECS/parallel.spec
@@ -0,0 +1,50 @@
+Name: parallel
+Version: %{ver}
+Release: 1%{?dist}
+Summary: Testing parallel install behavior
+BuildArch: noarch
+License: GPL
+
+%description
+%{summary}
+
+%package trigger
+Summary: %{summary}
+
+%description trigger
+%{summary}
+
+%transfiletriggerin trigger -- /opt/parallel
+echo %transfiletriggerin: $*
+cat | wc -l
+
+%transfiletriggerun trigger -- /opt/parallel
+echo %transfiletriggerun: $*
+cat | wc -l
+
+%transfiletriggerpostun trigger -- /opt/parallel
+echo %transfiletriggerpostun: $*
+cat | wc -l
+
+%filetriggerin trigger -- /opt/parallel
+echo %filetriggerin: $*
+cat | wc -l
+
+%filetriggerpostun trigger -- /opt/parallel
+echo %filetriggerpostun: $*
+cat | wc -l
+
+
+%install
+for d in mydir yourdir; do
+ datadir=%{buildroot}/opt/parallel/%{version}/${d}
+ mkdir -p ${datadir}
+ for f in 1 2 3 4; do
+ echo ${f} > ${datadir}/${f}
+ done
+done
+
+%files
+/opt/%{name}
+
+%files trigger
diff --git a/tests/data/SPECS/poltest.spec b/tests/data/SPECS/poltest.spec
deleted file mode 100644
index 233c33bc3..000000000
--- a/tests/data/SPECS/poltest.spec
+++ /dev/null
@@ -1,52 +0,0 @@
-%define debug_package %{nil}
-
-Summary: Policy in rpm example
-Name: poltest
-Version: 1.0
-Release: 2
-Group: Utilities
-License: GPL
-Requires: poltest-policy
-Source0: poltest-%{version}.tar.bz2
-Source1: poltest-policy-%{version}.tar.bz2
-Buildroot: %{_tmppath}/%{name}-%{version}-root
-%description
-Example for installing policy included in a package header
-
-%prep
-%setup -q
-%setup -q -T -D -a 1
-
-%build
-make CFLAGS="$RPM_OPT_FLAGS"
-make -f /usr/share/selinux/devel/Makefile -C poltest-policy-%{version}
-
-%install
-rm -rf $RPM_BUILD_ROOT
-make DESTDIR=%{buildroot} prefix=%{_prefix} install
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-%files
-%defattr(-,root,root)
-%{_bindir}/foo
-%{_bindir}/bar
-
-
-%package policy
-Summary: Policy for the poltest package
-Group: System/Policy
-Collections: sepolicy
-%description policy
-Policy for the poltest package
-
-%sepolicy policy
-%semodule -n foo -t default poltest-policy-%{version}/foo.pp
-%semodule -n bar -t mls,targeted poltest-policy-%{version}/bar.pp
-
-%files policy
-
-%changelog
-* Wed Jul 1 2009 Steve Lawrence <slawrence@tresys.com>
-- create
diff --git a/tests/data/SPECS/prefixtest.spec b/tests/data/SPECS/prefixtest.spec
new file mode 100644
index 000000000..004e353f7
--- /dev/null
+++ b/tests/data/SPECS/prefixtest.spec
@@ -0,0 +1,42 @@
+Name: prefixtest
+Version: 1.0
+Release: 1
+Summary: Testing file glob behavior
+Group: Testing
+License: GPL
+BuildArch: noarch
+RemovePathPostfixes: g:f
+
+%description
+%{summary}
+
+%define testdir /opt/%{name}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+mkdir -p $RPM_BUILD_ROOT/%{testdir}
+echo "foo" > $RPM_BUILD_ROOT/%{testdir}/weird%%name
+for f in bif baf zab zeb zib; do
+ echo "$f" > $RPM_BUILD_ROOT/%{testdir}/$f
+done
+for f in bing bang bong; do
+ mkdir -p $RPM_BUILD_ROOT/%{testdir}/$f
+done
+mkdir -p $RPM_BUILD_ROOT/%{testdir}/foo
+for f in one two three; do
+ echo "$f" > $RPM_BUILD_ROOT/%{testdir}/foo/$f
+done
+
+ln -s %{testdir}/zab $RPM_BUILD_ROOT/%{testdir}/linkgood
+ln -s %{testdir}/zub $RPM_BUILD_ROOT/%{testdir}/linkbad
+
+%files
+%defattr(-,root,root,-)
+%{testdir}/b??
+%{testdir}/weird?name
+%{testdir}/z*
+%{testdir}/l*
+%{testdir}/b*g/
+%dir %{testdir}/foo
+%{testdir}/foo/*
diff --git a/tests/data/SPECS/replacetest.spec b/tests/data/SPECS/replacetest.spec
index e8a64e803..54974567b 100644
--- a/tests/data/SPECS/replacetest.spec
+++ b/tests/data/SPECS/replacetest.spec
@@ -1,5 +1,7 @@
%{!?filetype: %global filetype file}
%{?fixit: %global havepretrans 1}
+%{!?user: %global user root}
+%{!?grp: %global grp root}
Name: replacetest%{?sub:-%{sub}}
Version: %{ver}
@@ -43,5 +45,5 @@ rm -rf $RPM_BUILD_ROOT
%endif
%files
-%defattr(-,root,root,-)
+%defattr(-,%{user},%{grp},-)
/opt/*
diff --git a/tests/data/SPECS/scripts.spec b/tests/data/SPECS/scripts.spec
index fbb9bc989..581a56f5c 100644
--- a/tests/data/SPECS/scripts.spec
+++ b/tests/data/SPECS/scripts.spec
@@ -29,3 +29,7 @@ echo %{name}-%{version}-%{release} POSTUN $*
%posttrans
echo %{name}-%{version}-%{release} POSTTRANS $*
+
+%verifyscript
+echo %{name}-%{version}-%{release} VERIFY $*
+
diff --git a/tests/data/SPECS/sigpipe.spec b/tests/data/SPECS/sigpipe.spec
new file mode 100644
index 000000000..c9db67934
--- /dev/null
+++ b/tests/data/SPECS/sigpipe.spec
@@ -0,0 +1,47 @@
+%bcond_with buildpipe
+%bcond_with manyfiles
+
+Name: sigpipe
+Version: 1.0
+Release: 1%{?dist}
+Summary: Testing SIGPIPE behavior
+
+Group: Testing
+License: GPLv2
+BuildArch: noarch
+
+%description
+%{summary}
+%end
+
+%define datadir /opt/%{name}/data
+
+# Reproducer for https://bugzilla.redhat.com/show_bug.cgi?id=651463
+%if %{with buildpipe}
+%prep
+bash -c 's=$SECONDS
+set -o pipefail
+for ((i=0; i < 30; i++))
+do printf hello 2>/dev/null
+ sleep .1
+done | /bin/sleep 1
+(( (SECONDS-s) < 2 )) || exit 1'
+%endif
+
+%install
+mkdir -p %{buildroot}/%{datadir}
+%if %{with manyfiles}
+for i in {1..32}; do
+ mkdir %{buildroot}/%{datadir}/${i}
+ for j in {a..z}; do
+ touch %{buildroot}/%{datadir}/${i}/${j}
+ done
+done
+%endif
+
+# For simulating https://bugzilla.redhat.com/show_bug.cgi?id=1264198
+%post
+kill -PIPE ${PPID}
+
+%files
+%{datadir}
diff --git a/tests/data/SPECS/test-subpackages-exclude.spec b/tests/data/SPECS/test-subpackages-exclude.spec
new file mode 100644
index 000000000..e93b10b70
--- /dev/null
+++ b/tests/data/SPECS/test-subpackages-exclude.spec
@@ -0,0 +1,42 @@
+Name: test
+Version: 1.0
+Release: 1
+Summary: Test
+
+License: Public Domain
+URL: https://fedoraproject.org
+Source: hello.c
+
+%description
+%{summary}.
+
+%package test2
+Summary: Test2.
+%description test2
+
+%prep
+%autosetup -c -D -T
+cp -a %{S:0} .
+
+%build
+gcc -g hello.c -o hello
+cp hello.c hello2.c
+gcc -g hello2.c -o hello2
+cp hello.c hello3.c
+gcc -g hello3.c -o hello3
+
+%install
+mkdir -p %{buildroot}/bin
+install -D -p -m 0755 -t %{buildroot}/bin hello
+install -D -p -m 0755 -t %{buildroot}/bin hello2
+# Install it, but then exclude it...
+install -D -p -m 0755 -t %{buildroot}/bin hello3
+
+%files
+/bin/hello
+
+%files test2
+/bin/hello2
+%exclude /bin/hello3
+
+%changelog
diff --git a/tests/data/SPECS/test-subpackages-pathpostfixes.spec b/tests/data/SPECS/test-subpackages-pathpostfixes.spec
new file mode 100644
index 000000000..19b3b9e97
--- /dev/null
+++ b/tests/data/SPECS/test-subpackages-pathpostfixes.spec
@@ -0,0 +1,39 @@
+Name: test
+Version: 1.0
+Release: 1
+Summary: Test
+
+License: Public Domain
+URL: https://fedoraproject.org
+Source: hello.c
+
+%description
+%{summary}.
+
+%package test2
+RemovePathPostfixes: .foobar
+Summary: Test2.
+%description test2
+
+%prep
+%autosetup -c -D -T
+cp -a %{S:0} .
+
+%build
+gcc -g hello.c -o hello
+cp hello.c hello2.c
+gcc -g hello2.c -o hello.foobar
+
+%install
+mkdir -p %{buildroot}/bin
+install -D -p -m 0755 -t %{buildroot}/bin hello
+# Install as hello.foobar, but we want the postfix removed in the package...
+install -D -p -m 0755 -t %{buildroot}/bin hello.foobar
+
+%files
+/bin/hello
+
+%files test2
+/bin/hello.foobar
+
+%changelog
diff --git a/tests/data/SPECS/test-subpackages.spec b/tests/data/SPECS/test-subpackages.spec
new file mode 100644
index 000000000..830660082
--- /dev/null
+++ b/tests/data/SPECS/test-subpackages.spec
@@ -0,0 +1,47 @@
+Name: test
+Version: 1.0
+Release: 1
+Summary: Test
+
+License: Public Domain
+URL: https://fedoraproject.org
+Source: hello.c
+
+%description
+%{summary}.
+
+%package test2
+Summary: Test2.
+%description test2
+
+%package test3
+Summary: Test3.
+%description test3
+
+%prep
+%autosetup -c -D -T
+cp -a %{S:0} .
+
+%build
+gcc -g hello.c -o hello
+cp hello.c hello2.c
+gcc -g hello2.c -o hello2
+cp hello.c hello3.c
+gcc -g hello3.c -o hello3
+
+%install
+mkdir -p %{buildroot}/bin
+install -D -p -m 0755 -t %{buildroot}/bin hello
+install -D -p -m 0755 -t %{buildroot}/bin hello2
+install -D -p -m 0755 -t %{buildroot}/bin hello3
+
+%files
+/bin/hello
+
+%files test2
+/bin/hello2
+
+%files test3
+/bin/hello3
+
+%changelog
diff --git a/tests/data/SPECS/testdoc.spec b/tests/data/SPECS/testdoc.spec
new file mode 100644
index 000000000..7cdfb7433
--- /dev/null
+++ b/tests/data/SPECS/testdoc.spec
@@ -0,0 +1,32 @@
+Summary: testdoc
+Name: testdoc
+Version: 1.0
+Release: 1
+Group: Utilities
+License: GPLv2+
+Distribution: RPM test suite.
+BuildArch: noarch
+
+%description
+Package for testing rpm install option "--excludedocs".
+
+%install
+mkdir -p %{buildroot}%{_datadir}/testdoc
+echo "nodoc" > %{buildroot}%{_datadir}/testdoc/nodoc
+
+mkdir -p %{buildroot}%{_docdir}/testdoc
+echo "doc1" > %{buildroot}%{_docdir}/testdoc/documentation1
+echo "doc2" > %{buildroot}%{_docdir}/testdoc/documentation2
+
+mkdir -p %{buildroot}%{_docdir}/testdoc/examples
+echo "example1" > %{buildroot}%{_docdir}/testdoc/examples/example1
+echo "example2" > %{buildroot}%{_docdir}/testdoc/examples/example2
+
+%files
+%{_datadir}/testdoc/nodoc
+%dir %{_docdir}/testdoc
+%doc %{_docdir}/testdoc/documentation1
+%doc %{_docdir}/testdoc/documentation2
+%dir %{_docdir}/testdoc/examples
+%doc %{_docdir}/testdoc/examples/example1
+%doc %{_docdir}/testdoc/examples/example2
diff --git a/tests/data/SPECS/triggers.spec b/tests/data/SPECS/triggers.spec
new file mode 100644
index 000000000..ae447b60b
--- /dev/null
+++ b/tests/data/SPECS/triggers.spec
@@ -0,0 +1,26 @@
+Name: triggers
+Version: 1.0
+Release: %{rel}
+Summary: Testing trigger behavior
+Group: Testing
+License: GPL
+BuildArch: noarch
+
+%description
+%{summary}
+
+%files
+%defattr(-,root,root,-)
+
+%triggerprein -- %{trigpkg}
+echo %{name}-%{version}-%{release} TRIGGERPREIN $*
+
+%triggerin -- %{trigpkg}
+echo %{name}-%{version}-%{release} TRIGGERIN $*
+
+%triggerun -- %{trigpkg}
+echo %{name}-%{version}-%{release} TRIGGERUN $*
+
+%triggerpostun -- %{trigpkg}
+echo %{name}-%{version}-%{release} TRIGGERPOSTUN $*
+
diff --git a/tests/data/SPECS/vattrtest.spec b/tests/data/SPECS/vattrtest.spec
new file mode 100644
index 000000000..130f0407d
--- /dev/null
+++ b/tests/data/SPECS/vattrtest.spec
@@ -0,0 +1,29 @@
+Name: vattrtest
+Version: 1.0
+Release: 1
+Summary: Testing virtual file attribute behavior
+Group: Testing
+License: GPL
+BuildArch: noarch
+
+%description
+%{summary}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+mkdir -p $RPM_BUILD_ROOT/opt/%{name}
+for x in a c cn d g l m r; do
+ echo ${x} > $RPM_BUILD_ROOT/opt/%{name}/${x}
+done
+
+%files
+%dir /opt/%{name}
+%artifact /opt/%{name}/a
+%config /opt/%{name}/c
+%config(noreplace) /opt/%{name}/cn
+%doc /opt/%{name}/d
+%ghost /opt/%{name}/g
+%license /opt/%{name}/l
+%missingok /opt/%{name}/m
+%readme /opt/%{name}/r
diff --git a/tests/data/keys/rpm.org-rsa-2048-test.pub b/tests/data/keys/rpm.org-rsa-2048-test.pub
new file mode 100644
index 000000000..6e38a5dbb
--- /dev/null
+++ b/tests/data/keys/rpm.org-rsa-2048-test.pub
@@ -0,0 +1,30 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v2
+
+mQENBFjmORgBCAC7TMEk6wnjSs8Dr4yqSScWdU2pjcqrkTxuzdWvowcIUPZI0w/g
+HkRqGd4apjvY2V15kjL10gk3QhFP3pZ/9p7zh8o8NHX7aGdSGDK7NOq1eFaErPRY
+91LW9RiZ0lbOjXEzIL0KHxUiTQEmdXJT43DJMFPyW9fkCWg0OltiX618FUdWWfI8
+eySdLur1utnqBvdEbCUvWK2RX3vQZQdvEBODnNk2pxqTyV0w6VPQ96W++lF/5Aas
+7rUv3HIyIXxIggc8FRrnH+y9XvvHDonhTIlGnYZN4ubm9i4y3gOkrZlGTrEw7elQ
+1QeMyG2QQEbze8YjpTm4iLABCBrRfPRaQpwrABEBAAG0IXJwbS5vcmcgUlNBIHRl
+c3RrZXkgPHJzYUBycG0ub3JnPokBNwQTAQgAIQUCWOY5GAIbAwULCQgHAgYVCAkK
+CwIEFgIDAQIeAQIXgAAKCRBDRFkeGWTF/MxxCACnjqFL+MmPh9W9JQKT2DcLbBzf
+Cqo6wcEBoCOcwgRSk8dSikhARoteoa55JRJhuMyeKhhEAogE9HRmCPFdjezFTwgB
+BDVBpO2dZ023mLXDVCYX3S8pShOgCP6Tn4wqCnYeAdLcGg106N4xcmgtcssJE+Pr
+XzTZksbZsrTVEmL/Ym+R5w5jBfFnGk7Yw7ndwfQsfNXQb5AZynClFxnX546lcyZX
+fEx3/e6ezw57WNOUK6WT+8b+EGovPkbetK/rGxNXuWaP6X4A/QUm8O98nCuHYFQq
++mvNdsCBqGf7mhaRGtpHk/JgCn5rFvArMDqLVrR9hX0LdCSsH7EGE+bR3r7wuQEN
+BFjmORgBCACk+vDZrIXQuFXEYToZVwb2attzbbJJCqD71vmZTLsW0QxuPKRgbcYY
+zp4K4lVBnHhFrF8MOUOxJ7kQWIJZMZFt+BDcptCYurbD2H4W2xvnWViiC+LzCMzz
+iMJT6165uefL4JHTDPxC2fFiM9yrc72LmylJNkM/vepT128J5Qv0gRUaQbHiQuS6
+Dm/+WRnUfx3i89SV4mnBxb/Ta93GVqoOciWwzWSnwEnWYAvOb95JL4U7c5J5f/+c
+KnQDHsW7sIiIdscsWzvgf6qs2Ra1Zrt7Fdk4+ZS2f/adagLhDO1C24sXf5XfMk5m
+L0OGwZSr9m5s17VXxfspgU5ugc8kBJfzABEBAAGJAR8EGAEIAAkFAljmORgCGwwA
+CgkQQ0RZHhlkxfzwDQf/Y5on5o+s/xD3tDyRYa6SErfT44lEArdCD7Yi+cygJFox
+3jyM8ovtJAkwRegwyxcaLN7zeG1p1Sk9ZAYWQEJT6qSU4Ppu+CVGHgxgnTcfUiu6
+EZZQE6srvua53IMY1lT50M7vx0T5VicHFRWBFV2C/Mc32p7cEE6nn45nEZgUXQNl
+ySEyvoRlsAJq6gFsfqucVz2vMJDTMVczUtq1CjvUqFbif8JVL36EoZCf1SeRw6d6
+s1Kp3AA33Rjd+Uw87HJ4EIB75zMFQX2H0ggAVdYTQcqGXHP5MZK1jJrHfxJyMi3d
+UNW2iqnN3BA7guhOv6OMiROF1+I7Q5nWT63mQC7IgQ==
+=Z6nu
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/tests/data/keys/rpm.org-rsa-2048-test.secret b/tests/data/keys/rpm.org-rsa-2048-test.secret
new file mode 100644
index 000000000..1d2890e9a
--- /dev/null
+++ b/tests/data/keys/rpm.org-rsa-2048-test.secret
@@ -0,0 +1,57 @@
+-----BEGIN PGP PRIVATE KEY BLOCK-----
+Version: GnuPG v2
+
+lQOYBFjmORgBCAC7TMEk6wnjSs8Dr4yqSScWdU2pjcqrkTxuzdWvowcIUPZI0w/g
+HkRqGd4apjvY2V15kjL10gk3QhFP3pZ/9p7zh8o8NHX7aGdSGDK7NOq1eFaErPRY
+91LW9RiZ0lbOjXEzIL0KHxUiTQEmdXJT43DJMFPyW9fkCWg0OltiX618FUdWWfI8
+eySdLur1utnqBvdEbCUvWK2RX3vQZQdvEBODnNk2pxqTyV0w6VPQ96W++lF/5Aas
+7rUv3HIyIXxIggc8FRrnH+y9XvvHDonhTIlGnYZN4ubm9i4y3gOkrZlGTrEw7elQ
+1QeMyG2QQEbze8YjpTm4iLABCBrRfPRaQpwrABEBAAEAB/wMHvWkNHuxfwlc6ohB
+YDY3MK8uc6kefOnQHTegw/2erv1JODN0+bB2vKbQIFrgzSxMmPFS/DKG0MU7Cc4W
+iONqIisBxhQD3uf00EZphrf7t3EYk/LE1niWGvVqcEoYLYoaWMTdufuNpTXCWI5m
+BGLWT5oseyoXrU4rjG1BNVeOSdvkizW4g3r9HeylbKrmffhJ6121B/Rmbt3d//2Y
+M+B7dWFAfzpzkiyJr6Hyw3yllIDlh3J1jgZP+OFG/9Fey+G5v8/36a9COWLElqwg
+0kYyOcL6K79/lu73+YAkAcpFPzgoAwXzAEUmKpl42+TyMi5h8mHHA3MsK2YE/sxh
+pWVdBADYaV18rl113k9zEvR9d94MjYNrf8fX4tjccrF1h7bU420YVHkxPlixnzXS
+6XvusOCngwi9q4lM18SJazOPkUOQHq7DZH2qM9qmZM5cp0GheVZVLJoRG459LWlp
+8bbTFu9flKrsIuhkMpa85ol3zdmovRzXQUnhzebkoSr3R5p0dQQA3ZATIPnrDML7
+kgqNw2v7DlBbXOW9ZSfs5+MwEX6iblIWikZHXd9OerScDioqah8K4IWNjSHr5jyY
+9zNU4Lecb4L0VmFJC+LSbkYqms/iTT+IkgsUChjNPCDSJHz0kHY0z3+4Zy50Uetg
+ez8GRAe3ggtaGDK+Bk7SKvz5bTn8Oh8EAMp6FBRhdd9rtXNszkPfWQ+YC25pVJFm
+dWtezTyotonh/qyV1mM3uVbkF1nf24Uy5mpb9ysN2ux81j3Fvmb05Isdx3UpZgku
+YOKwLGvjYAMJhCC0wVwINE2Hf1AgqLGYqjGLLe+x3QwvrZh0mu6z7D5MHOOzobBT
+PPGl3K5O/4xfRxC0IXJwbS5vcmcgUlNBIHRlc3RrZXkgPHJzYUBycG0ub3JnPokB
+NwQTAQgAIQUCWOY5GAIbAwULCQgHAgYVCAkKCwIEFgIDAQIeAQIXgAAKCRBDRFke
+GWTF/MxxCACnjqFL+MmPh9W9JQKT2DcLbBzfCqo6wcEBoCOcwgRSk8dSikhARote
+oa55JRJhuMyeKhhEAogE9HRmCPFdjezFTwgBBDVBpO2dZ023mLXDVCYX3S8pShOg
+CP6Tn4wqCnYeAdLcGg106N4xcmgtcssJE+PrXzTZksbZsrTVEmL/Ym+R5w5jBfFn
+Gk7Yw7ndwfQsfNXQb5AZynClFxnX546lcyZXfEx3/e6ezw57WNOUK6WT+8b+EGov
+PkbetK/rGxNXuWaP6X4A/QUm8O98nCuHYFQq+mvNdsCBqGf7mhaRGtpHk/JgCn5r
+FvArMDqLVrR9hX0LdCSsH7EGE+bR3r7wnQOYBFjmORgBCACk+vDZrIXQuFXEYToZ
+Vwb2attzbbJJCqD71vmZTLsW0QxuPKRgbcYYzp4K4lVBnHhFrF8MOUOxJ7kQWIJZ
+MZFt+BDcptCYurbD2H4W2xvnWViiC+LzCMzziMJT6165uefL4JHTDPxC2fFiM9yr
+c72LmylJNkM/vepT128J5Qv0gRUaQbHiQuS6Dm/+WRnUfx3i89SV4mnBxb/Ta93G
+VqoOciWwzWSnwEnWYAvOb95JL4U7c5J5f/+cKnQDHsW7sIiIdscsWzvgf6qs2Ra1
+Zrt7Fdk4+ZS2f/adagLhDO1C24sXf5XfMk5mL0OGwZSr9m5s17VXxfspgU5ugc8k
+BJfzABEBAAEAB/4w+VcO3uJYS6gWJCCJjiaAdscPNFSUzyVrrOyqH7d39fWBMdo/
+z8Za7dbHd1mEoQyo7hrG96bLC3YpzoRfMtIveVCUF6bbd62yZG1FnqRhYEnpzKqB
+p66jaoj5PWkArBmNkWvoYTXvKGA53RhYAwMU0qoGVCfRX7CUU+Lf5pDOcxrWQI0J
+8qdNludySOYgQB9OvKUGltkf2HFuYGZNXazg1txWN5hgfTSfWuaru9/ltDwd7cx1
+kZ38Wp44Vx3ogpt++rolDYEhsVCeiENVSA2EX/XHkF56QWwNedkSsS1OtFwmwu7J
+o+svs1V1BrGb4+649zByzp6p+VwAleuH2nDRBADB1Muwz2tVewnM3/oQcpzWoa/R
+Iba3mk0ASkjr9brKdXpMY/KMCFeeMW+PAXvvw9en2xDUWzERPbQ1VZsSYp5KXr+x
+1n7f4LfflKIaS2wEIsUjMwhGFx34UJRWjzjfh5GknIyR6fRMq/a0LpnO+CEuIjMj
+VR1L4wnucdDpcOoewwQA2eU7ODI/89RlNA/A9AlhYSWek4OzKgDDi96edwTeqjLP
++Zq0MM5WyupnrIoSdWsb9GBJww4CkAvbAGq94SH31uJU7D42VmrLxRHfrauk0UaL
+YnNewXwtbREMaC6qGLHMhH2orh1oNauvyL7QBuJPSr23+xqj4B6xdWx1DIw2bxED
+/iutL4RSkEagJgut+oM8xLoCBP2T4avue9chzo/S6GL308HpesBDeITBMndPg/Tw
+6z2Rn0rA7e9xuOmeUpvnqmAUNOMgiuGFoCfHZCHAZ0jIpjBx8sjyPKGZ/V6Qa1UA
+UNso1LQgageYiyksmuJjyI0yP2E9P9Hd2SBRTLoFB3b4SSmJAR8EGAEIAAkFAljm
+ORgCGwwACgkQQ0RZHhlkxfzwDQf/Y5on5o+s/xD3tDyRYa6SErfT44lEArdCD7Yi
++cygJFox3jyM8ovtJAkwRegwyxcaLN7zeG1p1Sk9ZAYWQEJT6qSU4Ppu+CVGHgxg
+nTcfUiu6EZZQE6srvua53IMY1lT50M7vx0T5VicHFRWBFV2C/Mc32p7cEE6nn45n
+EZgUXQNlySEyvoRlsAJq6gFsfqucVz2vMJDTMVczUtq1CjvUqFbif8JVL36EoZCf
+1SeRw6d6s1Kp3AA33Rjd+Uw87HJ4EIB75zMFQX2H0ggAVdYTQcqGXHP5MZK1jJrH
+fxJyMi3dUNW2iqnN3BA7guhOv6OMiROF1+I7Q5nWT63mQC7IgQ==
+=phzS
+-----END PGP PRIVATE KEY BLOCK-----
diff --git a/tests/package.m4 b/tests/package.m4
new file mode 100644
index 000000000..6862204f8
--- /dev/null
+++ b/tests/package.m4
@@ -0,0 +1,6 @@
+# Signature of the current package.
+m4_define([AT_PACKAGE_NAME], [rpm])
+m4_define([AT_PACKAGE_TARNAME], [rpm])
+m4_define([AT_PACKAGE_VERSION], [4.14.1])
+m4_define([AT_PACKAGE_STRING], [rpm 4.14.1])
+m4_define([AT_PACKAGE_BUGREPORT], [rpm-maint@lists.rpm.org])
diff --git a/tests/rpmbuild.at b/tests/rpmbuild.at
index 7661e35f5..5e0b0d492 100644
--- a/tests/rpmbuild.at
+++ b/tests/rpmbuild.at
@@ -51,6 +51,22 @@ run rpmbuild \
[ignore])
AT_CLEANUP
+AT_SETUP([rpmbuild --short-circuit -bl])
+AT_KEYWORDS([build])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+run rpmbuild -bi "${abs_srcdir}"/data/SPECS/hello.spec &> /dev/null
+run rpmbuild --quiet -bl --short-circuit "${abs_srcdir}"/data/SPECS/hello.spec
+],
+[0],
+[],
+[])
+AT_CLEANUP
+
# ------------------------------
# Check if tar unpacking works
AT_SETUP([rpmbuild -tb <tar with bad spec>])
@@ -95,7 +111,7 @@ runroot rpmbuild \
runroot rpm -qp --qf \
"\n[%{filemodes:perms} %-8{fileusername} %-8{filegroupname} %{filenames}\n]"\
- "${TOPDIR}"/RPMS/noarch/attrtest-1.0-1.noarch.rpm
+ /build/RPMS/noarch/attrtest-1.0-1.noarch.rpm
]],
[0],
[
@@ -135,7 +151,7 @@ rm -rf ${TOPDIR}
runroot rpmbuild \
-bb --quiet /data/SPECS/hlinktest.spec
-runroot rpm -i "${TOPDIR}"/RPMS/noarch/hlinktest-1.0-1.noarch.rpm
+runroot rpm -i /build/RPMS/noarch/hlinktest-1.0-1.noarch.rpm
runroot rpm -q --qf "[[%{filenlinks} %{filenames}\n]]%{longsize}\n" hlinktest
runroot rpm -V --nouser --nogroup hlinktest
@@ -143,17 +159,59 @@ ls -i "${RPMTEST}"/foo/hello* | awk {'print $1'} | sort -u | wc -l
],
[0],
-[1 /foo/copyllo
+[2 /foo/aaaa
+1 /foo/copyllo
4 /foo/hello
4 /foo/hello-bar
4 /foo/hello-foo
4 /foo/hello-world
-78
+2 /foo/zzzz
+87
1
],
[])
AT_CLEANUP
+AT_SETUP([rpmbuild unpackaged files])
+AT_KEYWORDS([build])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf ${TOPDIR}
+
+runroot rpmbuild \
+ -bb --quiet --with unpackaged_files /data/SPECS/hlinktest.spec
+],
+[1],
+[],
+[error: Installed (but unpackaged) file(s) found:
+ /toot
+ Installed (but unpackaged) file(s) found:
+ /toot
+])
+AT_CLEANUP
+
+# rpm doesn't detect unpackaged directories but should, really
+AT_SETUP([rpmbuild unpackaged directories])
+AT_KEYWORDS([build])
+AT_XFAIL_IF([test $RPM_XFAIL -ne 0])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf ${TOPDIR}
+
+runroot rpmbuild \
+ -bb --quiet --with unpackaged_dirs /data/SPECS/hlinktest.spec
+],
+[1],
+[],
+[error: Installed (but unpackaged) file(s) found:
+ /zoo
+ Installed (but unpackaged) file(s) found:
+ /zoo
+])
+AT_CLEANUP
+
AT_SETUP([rpmbuild glob])
AT_KEYWORDS([build])
AT_CHECK([
@@ -164,7 +222,7 @@ rm -rf ${TOPDIR}
runroot rpmbuild -bb --quiet /data/SPECS/globtest.spec
runroot rpm -qp \
--qf "[[%{filemodes:perms} %{filenames}\n]]" \
- "${TOPDIR}"/RPMS/noarch/globtest-1.0-1.noarch.rpm
+ /build/RPMS/noarch/globtest-1.0-1.noarch.rpm
],
[0],
[-rw-r--r-- /opt/globtest/baf
@@ -185,3 +243,1111 @@ lrwxrwxrwx /opt/globtest/linkgood
],
[])
AT_CLEANUP
+
+AT_SETUP([rpmbuild prefixpostfix])
+AT_KEYWORDS([build])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf ${TOPDIR}
+
+runroot rpmbuild -bb --quiet \
+ /data/SPECS/prefixtest.spec
+runroot rpm -qp \
+ --qf "[[%{filemodes:perms} %{filenames}\n]]" \
+ /build/RPMS/noarch/prefixtest-1.0-1.noarch.rpm
+],
+[0],
+[-rw-r--r-- /opt/prefixtest/ba
+drwxr-xr-x /opt/prefixtest/ban
+-rw-r--r-- /opt/prefixtest/bi
+drwxr-xr-x /opt/prefixtest/bin
+drwxr-xr-x /opt/prefixtest/bon
+drwxr-xr-x /opt/prefixtest/foo
+-rw-r--r-- /opt/prefixtest/foo/one
+-rw-r--r-- /opt/prefixtest/foo/three
+-rw-r--r-- /opt/prefixtest/foo/two
+lrwxrwxrwx /opt/prefixtest/linkbad
+lrwxrwxrwx /opt/prefixtest/linkgood
+-rw-r--r-- /opt/prefixtest/weird%name
+-rw-r--r-- /opt/prefixtest/zab
+-rw-r--r-- /opt/prefixtest/zeb
+-rw-r--r-- /opt/prefixtest/zib
+],
+[])
+AT_CLEANUP
+
+# ------------------------------
+# Check if weak and reverse requires can be built
+AT_SETUP([Weak and reverse requires])
+AT_KEYWORDS([build])
+AT_CHECK([
+
+runroot rpmbuild -bb --quiet \
+ --define "pkg weakdeps" \
+ --define "recs foo > 1.2.3" \
+ --define "sugs bar >= 0.1.2" \
+ --define "sups baz" \
+ --define "ens zap = 3" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -qp --recommends /build/RPMS/noarch/deptest-weakdeps-1.0-1.noarch.rpm
+runroot rpm -qp --suggests /build/RPMS/noarch/deptest-weakdeps-1.0-1.noarch.rpm
+runroot rpm -qp --supplements /build/RPMS/noarch/deptest-weakdeps-1.0-1.noarch.rpm
+runroot rpm -qp --enhances /build/RPMS/noarch/deptest-weakdeps-1.0-1.noarch.rpm
+],
+[0],
+[foo > 1.2.3
+bar >= 0.1.2
+baz
+zap = 3
+],
+[ignore])
+AT_CLEANUP
+
+# ------------------------------
+# Test BuildRequire functionality
+AT_SETUP([Build requires])
+AT_KEYWORDS([build])
+AT_CHECK([
+
+runroot rpmbuild -bb --quiet \
+ --define "pkg buildreq" \
+ --define "buildreqs foo > 1.2.3" \
+ /data/SPECS/deptest.spec
+],
+[1],
+[],
+[error: Failed build dependencies:
+ foo > 1.2.3 is needed by deptest-buildreq-1.0-1.noarch
+])
+AT_CLEANUP
+
+AT_SETUP([Dependency generation])
+AT_KEYWORDS([build])
+AT_CHECK([
+
+runroot rpmbuild -bb --quiet \
+ /data/SPECS/filedep.spec
+echo Requires:
+runroot rpm -qp --requires /build/RPMS/noarch/filedep-1.0-1.noarch.rpm
+echo Provides:
+runroot rpm -qp --provides /build/RPMS/noarch/filedep-1.0-1.noarch.rpm
+echo Filerequires:
+runroot rpm -qp --qf '[["%{FILENAMES}\t%{FILEREQUIRE}"\n]]' /build/RPMS/noarch/filedep-1.0-1.noarch.rpm
+echo Fileprovides:
+runroot rpm -qp --qf '[["%{FILENAMES}\t%{FILEPROVIDE}"\n]]' /build/RPMS/noarch/filedep-1.0-1.noarch.rpm
+],
+[0],
+[Requires:
+/bin/f00f
+/bin/sh
+rpmlib(CompressedFileNames) <= 3.0.4-1
+rpmlib(FileDigests) <= 4.6.0-1
+rpmlib(PayloadFilesHavePrefix) <= 4.0-1
+Provides:
+filedep = 1.0-1
+Filerequires:
+"/etc/foo.conf "
+"/usr/bin/bar /bin/f00f"
+"/usr/bin/foo /bin/sh"
+"/usr/share/doc/filedep "
+"/usr/share/doc/filedep/README "
+Fileprovides:
+"/etc/foo.conf "
+"/usr/bin/bar "
+"/usr/bin/foo "
+"/usr/share/doc/filedep "
+"/usr/share/doc/filedep/README "
+],
+[])
+AT_CLEANUP
+
+
+# ------------------------------
+# Test spec query functionality
+AT_SETUP([rpmspec query 1])
+AT_KEYWORDS([build])
+AT_CHECK([
+
+runroot rpmspec -q \
+ --define "pkg dep" \
+ --define "reqs foo > 1.2.3 bar <= 2.3" \
+ --requires \
+ /data/SPECS/deptest.spec
+],
+[0],
+[bar <= 2.3
+foo > 1.2.3
+],
+[])
+
+AT_CLEANUP
+
+# ------------------------------
+# archive sanity check
+AT_SETUP([rpmbuild archive sanity])
+AT_KEYWORDS([build])
+AT_CHECK([
+rm -rf ${TOPDIR}
+
+runroot rpmbuild \
+ -bb --quiet /data/SPECS/attrtest.spec
+
+runroot rpm2cpio \
+ /build/RPMS/noarch/attrtest-1.0-1.noarch.rpm > /tmp/attrtest.cpio
+],
+[0],
+[],
+[])
+AT_CLEANUP
+
+# ------------------------------
+# Check if rpmbuild creates the minisymtab section in the main hello binary
+AT_SETUP([rpmbuild debuginfo minisymtab])
+AT_KEYWORDS([build] [debuginfo])
+AT_CHECK([
+rm -rf ${TOPDIR}
+
+# Use macros.debug to generate a debuginfo package.
+export CFLAGS="-g"
+rundebug rpmbuild --quiet \
+ --rebuild "${abs_srcdir}"/data/SRPMS/hello-1.0-1.src.rpm
+
+# Extract the main package and inspect the hello binary
+# It should contain .gnu_debugdata, but not the full .symtab
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm | cpio -diu
+test -f ./usr/local/bin/hello || exit 1
+readelf -S ./usr/local/bin/hello |\
+ grep -q .gnu_debugdata; test $? == 0 || exit 1
+readelf -S ./usr/local/bin/hello \
+ | grep -q .symtab; test $? == 1 || exit 1
+
+# And the opposite for the debuginfo package
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-debuginfo-1.0-1.*.rpm \
+ | cpio -diu
+test -f ./usr/lib/debug/usr/local/bin/hello*.debug || exit 1
+readelf -S ./usr/lib/debug/usr/local/bin/hello*.debug \
+ | grep -q .gnu_debugdata; test $? == 1 || exit 1
+readelf -S ./usr/lib/debug/usr/local/bin/hello*.debug \
+ | grep -q .symtab; test $? == 0 || exit 1
+],
+[0],
+[],
+[ignore])
+AT_CLEANUP
+
+# ------------------------------
+# Check if rpmbuild doesn't create the minisymtab section if we keep symtab
+# Some package might want to use strip -g to keep the symbol table and only
+# but the debug symbols/info in the debuginfo package.
+AT_SETUP([rpmbuild debuginfo minisymtab strip -g])
+AT_KEYWORDS([build] [debuginfo])
+AT_CHECK([
+rm -rf ${TOPDIR}
+
+# Use macros.debug to generate a debuginfo package.
+export CFLAGS="-g"
+rundebug rpmbuild --quiet \
+ --define="_find_debuginfo_opts -g" \
+ --rebuild "${abs_srcdir}"/data/SRPMS/hello-1.0-1.src.rpm
+
+# Extract the main package and inspect the hello binary
+# It should contain .symtab (because of strip -g), so doesn't .gnu_debugdata.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm | cpio -diu
+test -f ./usr/local/bin/hello || exit 1
+readelf -S ./usr/local/bin/hello \
+ | grep -q .gnu_debugdata; test $? == 1 || exit 1
+readelf -S ./usr/local/bin/hello \
+ | grep -q .symtab; test $? == 0 || exit 1
+
+# The debuginfo package should contain neither. The .symtab is NOBITS.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-debuginfo-1.0-1.*.rpm \
+ | cpio -diu
+test -f ./usr/lib/debug/usr/local/bin/hello*.debug || exit 1
+readelf -S ./usr/lib/debug/usr/local/bin/hello*.debug \
+ | grep -q .gnu_debugdata; test $? == 1 || exit 1
+readelf -S ./usr/lib/debug/usr/local/bin/hello*.debug \
+ | grep .symtab | grep -q NOBITS; test $? == 0 || exit 1
+],
+[0],
+[],
+[ignore])
+AT_CLEANUP
+
+# ------------------------------
+# Check if rpmbuild runs dwz and generates a multi file that with shared
+# debuginfo. This is simply the hello example with one binary build twice
+# so dwz has enough slightly similar debug data.
+# Test the case without unique debug file names.
+AT_SETUP([rpmbuild debuginfo dwz])
+AT_KEYWORDS([build] [debuginfo] [dwz])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \
+ --undefine "_unique_debug_names" \
+ --undefine "_unique_debug_srcs" \
+ -ba "${abs_srcdir}"/data/SPECS/hello2.spec
+
+# The debuginfo package should contain a .debug file for each binary
+# and a dwz multi file that contains the shared debuginfo between them.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu
+
+hello_file_debug=./usr/lib/debug/usr/local/bin/hello.debug
+hello2_file_debug=./usr/lib/debug/usr/local/bin/hello2.debug
+hello_multi_file=./usr/lib/debug/.dwz/hello2-1.0-1.*
+test -f $hello_file_debug || echo "no hello debug file: $hello_file_debug"
+test -f $hello2_file_debug || echo "no hello2 debug file: $hello2_file_debug"
+test -f $hello_multi_file || echo "no dwz multi file: $hello_multi_file"
+
+# Make sure the main package binaries contain the correct build-ids
+# linking them to the debug packages.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \
+ | cpio -diu
+hello_file=./usr/local/bin/hello
+hello2_file=./usr/local/bin/hello2
+test -f $hello_file || echo "no hello file: $hello_file"
+test -f $hello2_file || echo "no hello2 file: $hello2_file"
+
+id1=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+id2=$(file $hello2_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+id1debug=$(file $hello_file_debug | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+id2debug=$(file $hello2_file_debug | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+idmulti=$(file $hello_multi_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+
+test "$id1" = "$id1debug" || echo "id1: $id1 != id1debug: $id1debug"
+test "$id2" = "$id2debug" || echo "id2: $id2 != id2debug: $id2debug"
+
+# The build-id files should link to the .debug files.
+id1file="./usr/lib/debug/.build-id/${id1:0:2}/${id1:2}"
+canonid1file=$(readlink -f ${id1file})
+canonfile1=$(readlink -f $hello_file)
+canonid1debug=$(readlink -f ${id1file}.debug)
+canondebug1=$(readlink -f $hello_file_debug)
+
+test "$canonid1file" = "$canonfile1" \
+ || echo "canonid1file: $canonid1file != $canonfile1"
+test "$canonid1debug" = "$canondebug1" \
+ || echo "canonid1debug: $canonid1debug != $canondebug1"
+
+id2file="./usr/lib/debug/.build-id/${id2:0:2}/${id2:2}"
+canonid2file=$(readlink -f ${id2file})
+canonfile2=$(readlink -f $hello2_file)
+canonid2debug=$(readlink -f ${id2file}.debug)
+canondebug2=$(readlink -f $hello2_file_debug)
+
+test "$canonid2file" = "$canonfile2" \
+ || echo "canonid2: $canonid2file != $canonfile2"
+test "$canonid2debug" = "$canondebug2" \
+ || echo "canonid2debug: $canonid2debug" != "$canondebug2"
+
+# Both .debug files should point to the dwz multi file.
+# It would be nice to also test that they contain the correct dwz build-id
+# but that is a bit hard to grep out of the section data.
+multiref1=$(readelf --string-dump=.gnu_debugaltlink $hello_file_debug \
+ | grep '[ 0]' | cut -c13-)
+multiref2=$(readelf --string-dump=.gnu_debugaltlink $hello2_file_debug \
+ | grep '[ 0]' | cut -c13-)
+
+test "$multiref1" = "$multiref2" || echo "multiref: $multiref1 != $multiref2"
+
+canonmultiref=$(readlink -f $(dirname $canondebug1)/$multiref1)
+canonmultifile=$(readlink -f $hello_multi_file)
+
+test "$canonmultiref" = "$canonmultifile" \
+ || echo "canonmultiref: $canonmultiref" != "$canonmultifile"
+],
+[0],
+[],
+[ignore])
+AT_CLEANUP
+
+# ------------------------------
+# Check if rpmbuild runs dwz and generates a multi file that with shared
+# debuginfo. This is simply the hello example with one binary build twice
+# so dwz has enough slightly similar debug data.
+# Test with unique debug file names.
+AT_SETUP([rpmbuild debuginfo dwz unique debug names])
+AT_KEYWORDS([build] [debuginfo] [dwz])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \
+ --define "_unique_debug_names 1" \
+ -ba "${abs_srcdir}"/data/SPECS/hello2.spec
+
+# The debuginfo package should contain a .debug file for each binary
+# and a dwz multi file that contains the shared debuginfo between them.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu
+
+hello_file_debug=./usr/lib/debug/usr/local/bin/hello-*.debug
+hello2_file_debug=./usr/lib/debug/usr/local/bin/hello2-*.debug
+hello_multi_file=./usr/lib/debug/.dwz/hello2-1.0-1.*
+test -f $hello_file_debug || echo "no hello debug file: $hello_file_debug"
+test -f $hello2_file_debug || echo "no hello2 debug file: $hello2_file_debug"
+test -f $hello_multi_file || echo "no dwz multi file: $hello_multi_file"
+
+# Make sure the main package binaries contain the correct build-ids
+# linking them to the debug packages.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \
+ | cpio -diu
+hello_file=./usr/local/bin/hello
+hello2_file=./usr/local/bin/hello2
+test -f $hello_file || echo "no hello file: $hello_file"
+test -f $hello2_file || echo "no hello2 file: $hello2_file"
+
+id1=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+id2=$(file $hello2_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+id1debug=$(file $hello_file_debug | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+id2debug=$(file $hello2_file_debug | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+idmulti=$(file $hello_multi_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+
+test "$id1" = "$id1debug" || echo "id1: $id1 != id1debug: $id1debug"
+test "$id2" = "$id2debug" || echo "id2: $id2 != id2debug: $id2debug"
+
+# The build-id files should link to the .debug files.
+id1file="./usr/lib/debug/.build-id/${id1:0:2}/${id1:2}"
+canonid1file=$(readlink -f ${id1file})
+canonfile1=$(readlink -f $hello_file)
+canonid1debug=$(readlink -f ${id1file}.debug)
+canondebug1=$(readlink -f $hello_file_debug)
+
+test "$canonid1file" = "$canonfile1" \
+ || echo "canonid1file: $canonid1file != $canonfile1"
+test "$canonid1debug" = "$canondebug1" \
+ || echo "canonid1debug: $canonid1debug != $canondebug1"
+
+id2file="./usr/lib/debug/.build-id/${id2:0:2}/${id2:2}"
+canonid2file=$(readlink -f ${id2file})
+canonfile2=$(readlink -f $hello2_file)
+canonid2debug=$(readlink -f ${id2file}.debug)
+canondebug2=$(readlink -f $hello2_file_debug)
+
+test "$canonid2file" = "$canonfile2" \
+ || echo "canonid2: $canonid2file != $canonfile2"
+test "$canonid2debug" = "$canondebug2" \
+ || echo "canonid2debug: $canonid2debug" != "$canondebug2"
+
+# Both .debug files should point to the dwz multi file.
+# It would be nice to also test that they contain the correct dwz build-id
+# but that is a bit hard to grep out of the section data.
+multiref1=$(readelf --string-dump=.gnu_debugaltlink $hello_file_debug \
+ | grep '[ 0]' | cut -c13-)
+multiref2=$(readelf --string-dump=.gnu_debugaltlink $hello2_file_debug \
+ | grep '[ 0]' | cut -c13-)
+
+test "$multiref1" = "$multiref2" || echo "multiref: $multiref1 != $multiref2"
+
+canonmultiref=$(readlink -f $(dirname $canondebug1)/$multiref1)
+canonmultifile=$(readlink -f $hello_multi_file)
+
+test "$canonmultiref" = "$canonmultifile" \
+ || echo "canonmultiref: $canonmultiref" != "$canonmultifile"
+],
+[0],
+[],
+[ignore])
+AT_CLEANUP
+
+# ------------------------------
+# Check that old style gnu_debuglink CRC checksums are correct even after
+# using dwz to compress the debuginfo files.
+AT_SETUP([rpmbuild debuginfo dwz gnu_debuglink crc])
+AT_KEYWORDS([build] [debuginfo])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+# Build a package that
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \
+ -ba "${abs_srcdir}"/data/SPECS/hello2.spec
+
+# Unpack the main and debuginfo rpms so we can check binaries and .debug files.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \
+ | cpio -diu
+
+# Check that dwz has ran and a multi file has been produced
+test -f ./usr/lib/debug/.dwz/hello2-1.0-1.* || exit 1
+
+# Run sepdbugcrcfix on the binaries, both should have correct CRC already.
+${abs_top_builddir}/sepdebugcrcfix ./usr/lib/debug \
+ ./usr/local/bin/hello ./usr/local/bin/hello2 | grep CRC32 | cut -f2 -d:
+],
+[0],
+[ Updated 0 CRC32s, 2 CRC32s did match.
+],
+[ignore])
+AT_CLEANUP
+
+# ------------------------------
+# Check that an implicit suid binary get included with the suid bit set.
+# We explicitly build with all debug.macros to test those helpers.
+AT_SETUP([rpmbuild implicit suid binary])
+AT_KEYWORDS([build] [debuginfo] [dwz] [suid])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+# Build a package that has some debuginfo
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \
+ -ba "${abs_srcdir}"/data/SPECS/hello2-suid.spec
+
+# Unpack rpm so we can check the included binaries.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+# List all binaries with suid bit set (should be one, hello).
+echo "suid:"
+find usr -executable -type f -perm /4000
+# List all binaries without suid bit set (should also be one, hello2).
+echo "no-suid:"
+find usr -executable -type f \! -perm /4000
+],
+[0],
+[suid:
+usr/local/bin/hello
+no-suid:
+usr/local/bin/hello2
+],
+[ignore])
+AT_CLEANUP
+
+# ------------------------------
+# Check that a GDB index is included when requested.
+AT_SETUP([rpmbuild debuginfo gdb index included])
+AT_KEYWORDS([build] [debuginfo] [gdb])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+# Build a package that has some debuginfo
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \
+ --define "_include_gdb_index 1" \
+ -ba "${abs_srcdir}"/data/SPECS/hello2.spec
+
+# Unpack the debuginfo rpms so we can check the .debug files.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+# Check that gdb-add-index has ran and a .gdb_index section has been added
+readelf -S ./usr/lib/debug/usr/local/bin/hello2*.debug \
+ | grep gdb_index | cut -c8-17
+],
+[0],
+[.gdb_index
+],
+[ignore])
+AT_CLEANUP
+
+# ------------------------------
+# Check that a GDB index is NOT included when not requested.
+AT_SETUP([rpmbuild debuginfo no gdb index included])
+AT_KEYWORDS([build] [debuginfo] [gdb])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+# Build a package that has some debuginfo
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \
+ --undefine "_include_gdb_index" \
+ -ba "${abs_srcdir}"/data/SPECS/hello2.spec
+
+# Unpack the debuginfo rpms so we can check the .debug files.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+# Check that gdb-add-index has not ran and no .gdb_index section has been added
+readelf -S ./usr/lib/debug/usr/local/bin/hello2*.debug \
+ | grep gdb_index | cut -c8-17
+],
+[0],
+[],
+[ignore])
+AT_CLEANUP
+
+# ------------------------------
+# Check that a debug source is in a "unique" directory when requested.
+AT_SETUP([rpmbuild debuginfo unique debug src dir])
+AT_KEYWORDS([build] [debuginfo])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+# Build a package that has some debuginfo
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# Note that the spec defines hello2 as name, but the source is hello-1.0.
+# Disable dwz to make debuginfo path rewrite checking easier.
+rundebug rpmbuild --quiet \
+ --undefine "_find_debuginfo_dwz_opts" \
+ --define "_unique_debug_srcs 1" \
+ -ba "${abs_srcdir}"/data/SPECS/hello2.spec
+
+# Unpack the debuginfo rpms so we can check the .debug files.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+# Check that the source path is "unique"
+# Drop the final arch prefix to make the test arch-independent.
+ls ./usr/src/debug/ | cut -f1,2 -d\.
+
+# Check that the source path has been rewritten in the .debug file.
+# Drop the final arch prefix to make the test arch-independent.
+readelf --debug-dump=info ./usr/lib/debug/usr/local/bin/hello2*.debug \
+ | grep comp_dir | sed -e 's/\t$//' | cut -f5- -d/ | cut -f1,2 -d\.
+],
+[0],
+[hello2-1.0-1
+hello2-1.0-1
+],
+[ignore])
+AT_CLEANUP
+
+# ------------------------------
+# Check that a debug source is NOT in a "unique" directory when not requested.
+# It will be in the "build directory" name under /usr/src/debug.
+AT_SETUP([rpmbuild debuginfo no unique debug src dir])
+AT_KEYWORDS([build] [debuginfo])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+# Build a package that has some debuginfo
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# Note that the spec defines hello2 as name, but the source is hello-1.0.
+# Disable dwz to make debuginfo path rewrite checking easier.
+rundebug rpmbuild --quiet \
+ --undefine "_find_debuginfo_dwz_opts" \
+ --undefine "_unique_debug_srcs" \
+ -ba "${abs_srcdir}"/data/SPECS/hello2.spec
+
+# Unpack the debuginfo rpms so we can check the .debug files.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+# Check that the source path is "unique"
+ls ./usr/src/debug/
+
+# Check that the source path has been rewritten in the .debug file.
+readelf --debug-dump=info ./usr/lib/debug/usr/local/bin/hello2*.debug \
+ | grep comp_dir | sed -e 's/\t$//' | cut -f5- -d/
+],
+[0],
+[hello-1.0
+hello-1.0
+],
+[ignore])
+AT_CLEANUP
+
+# ------------------------------
+# Check that defining _debugsource_packages creates -debugsource package
+AT_SETUP([rpmbuild debugsource])
+AT_KEYWORDS([build] [debuginfo] [debugsource])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+# Build a package that has some debuginfo
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \
+ --define "_debugsource_packages 1" \
+ -ba "${abs_srcdir}"/data/SPECS/hello2.spec
+
+# Unpack the debugsource rpm so we can check the sources are there.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-debugsource-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+# Check that hello.c is there.
+ls ./usr/src/debug/hello2-1.0*/
+
+# The debuginfo package should recommend the debugsource package (ignore arch).
+echo -n "Recommends: "
+run rpm -qp --recommends ${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm | sed -E 's/([[-.a-z0-9]]+)\(.*\) = ([[-.0-9]]+)/\1\(ignore-arch\) = \2/'
+],
+[0],
+[hello.c
+Recommends: hello2-debugsource(ignore-arch) = 1.0-1
+],
+[ignore])
+AT_CLEANUP
+
+# ------------------------------
+# Check that defining _debugsource_packages creates -debugsource package
+# even if %install changes the working directory (debugsources.list
+# should be in expected build dir).
+AT_SETUP([rpmbuild debugsource debugsources.list path])
+AT_KEYWORDS([build] [debuginfo] [debugsource])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello.c ${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \
+ --define "_debugsource_packages 1" \
+ -ba "${abs_srcdir}"/data/SPECS/hello-cd.spec
+
+# Unpack the debuginfo rpms so we can check the sources are there.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-debugsource-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+# Check that hello.c is there.
+ls ./usr/src/debug/test-1.0*/
+],
+[0],
+[hello.c
+],
+[ignore])
+AT_CLEANUP
+
+# ------------------------------
+# Check that undefining _debuginfo_subpackages creates one single -debuginfo.
+AT_SETUP([rpmbuild debuginfo subpackages single])
+AT_KEYWORDS([build] [debuginfo] [debugsubpackage])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello.c ${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \
+ --undefine "_unique_debug_names" \
+ --undefine "_unique_debug_srcs" \
+ --undefine "_debugsource_packages" \
+ --undefine "_debuginfo_subpackages" \
+ -ba "${abs_srcdir}"/data/SPECS/test-subpackages.spec
+
+# Check that there is just one debuginfo package.
+ls ${abs_builddir}/testing/build/RPMS/*/*debuginfo*rpm | wc --lines
+
+# Which contains hello.debug
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-1.0-1.*.rpm \
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=$(readelf -p .gnu_debuglink ./bin/hello | grep hello | cut -c13-)
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/$debug_name; then
+ echo "hello debug exists"
+else
+ echo "No hello: $debug_name"
+fi
+],
+[0],
+[1
+hello debug exists
+],
+[ignore])
+AT_CLEANUP
+
+# ------------------------------
+# Check that defining _debuginfo_subpackages creates multiple -debuginfos.
+AT_SETUP([rpmbuild debuginfo subpackages multiple])
+AT_KEYWORDS([build] [debuginfo] [debugsubpackage])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello.c ${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \
+ --undefine "_unique_debug_names" \
+ --undefine "_unique_debug_srcs" \
+ --undefine "_debugsource_packages" \
+ --define "_debuginfo_subpackages 1" \
+ -ba "${abs_srcdir}"/data/SPECS/test-subpackages.spec
+
+# Check that there are 3 debuginfo packages.
+ls ${abs_builddir}/testing/build/RPMS/*/*debuginfo*rpm | wc --lines
+
+# First contains hello.debug
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-1.0-1.*.rpm \
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=$(readelf -p .gnu_debuglink ./bin/hello | grep hello | cut -c13-)
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/$debug_name; then
+ echo "hello debug exists"
+else
+ echo "No hello: $debug_name"
+fi
+
+# Second contains hello2.debug
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test2-1.0-1.*.rpm \
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=$(readelf -p .gnu_debuglink ./bin/hello2 | grep hello | cut -c13-)
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/$debug_name; then
+ echo "hello2 debug exists"
+else
+ echo "No hello2: $debug_name"
+fi
+
+# No debugsource package, so sources are in the main debuginfo package.
+# Make sure it is recommended.
+echo -n "Recommends: "
+run rpm -qp --recommends ${abs_builddir}/testing/build/RPMS/*/test-test2-debuginfo-1.0-1.*.rpm | sed -E 's/([[-.a-z0-9]]+)\(.*\) = ([[-.0-9]]+)/\1\(ignore-arch\) = \2/'
+
+# Third contains hello3.debug
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test3-1.0-1.*.rpm \
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=$(readelf -p .gnu_debuglink ./bin/hello3 | grep hello | cut -c13-)
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test3-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/$debug_name; then
+ echo "hello3 debug exists"
+else
+ echo "No hello3: $debug_name"
+fi
+
+# No debugsource package, so sources are in the main debuginfo package.
+# Make sure it is recommended.
+echo -n "Recommends: "
+run rpm -qp --recommends ${abs_builddir}/testing/build/RPMS/*/test-test3-debuginfo-1.0-1.*.rpm | sed -E 's/([[-.a-z0-9]]+)\(.*\) = ([[-.0-9]]+)/\1\(ignore-arch\) = \2/'
+],
+[0],
+[3
+hello debug exists
+hello2 debug exists
+Recommends: test-debuginfo(ignore-arch) = 1.0-1
+hello3 debug exists
+Recommends: test-debuginfo(ignore-arch) = 1.0-1
+],
+[ignore])
+AT_CLEANUP
+# ------------------------------
+# Check that defining _debuginfo_subpackages creates multiple -debuginfos.
+# With unique debug and source names
+AT_SETUP([rpmbuild debuginfo subpackages multiple unique])
+AT_KEYWORDS([build] [debuginfo] [debugsubpackage])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello.c ${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \
+ --define "_unique_debug_names 1" \
+ --define "_unique_debug_srcs 1" \
+ --undefine "_debugsource_packages" \
+ --define "_debuginfo_subpackages 1" \
+ -ba "${abs_srcdir}"/data/SPECS/test-subpackages.spec
+
+# Check that there are 3 debuginfo packages.
+ls ${abs_builddir}/testing/build/RPMS/*/*debuginfo*rpm | wc --lines
+
+# First contains hello.debug
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-1.0-1.*.rpm \
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=$(readelf -p .gnu_debuglink ./bin/hello | grep hello | cut -c13-)
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/$debug_name; then
+ echo "hello debug exists"
+else
+ echo "No hello: $debug_name"
+fi
+
+# Second contains hello2.debug
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test2-1.0-1.*.rpm \
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=$(readelf -p .gnu_debuglink ./bin/hello2 | grep hello | cut -c13-)
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/$debug_name; then
+ echo "hello2 debug exists"
+else
+ echo "No hello2: $debug_name"
+fi
+
+# No debugsource package, so sources are in the main debuginfo package.
+# Make sure it is recommended.
+echo -n "Recommends: "
+run rpm -qp --recommends ${abs_builddir}/testing/build/RPMS/*/test-test2-debuginfo-1.0-1.*.rpm | sed -E 's/([[-.a-z0-9]]+)\(.*\) = ([[-.0-9]]+)/\1\(ignore-arch\) = \2/'
+
+# Third contains hello3.debug
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test3-1.0-1.*.rpm \
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=$(readelf -p .gnu_debuglink ./bin/hello3 | grep hello | cut -c13-)
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test3-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/$debug_name; then
+ echo "hello3 debug exists"
+else
+ echo "No hello3: $debug_name"
+fi
+
+# No debugsource package, so sources are in the main debuginfo package.
+# Make sure it is recommended.
+echo -n "Recommends: "
+run rpm -qp --recommends ${abs_builddir}/testing/build/RPMS/*/test-test3-debuginfo-1.0-1.*.rpm | sed -E 's/([[-.a-z0-9]]+)\(.*\) = ([[-.0-9]]+)/\1\(ignore-arch\) = \2/'
+],
+[0],
+[3
+hello debug exists
+hello2 debug exists
+Recommends: test-debuginfo(ignore-arch) = 1.0-1
+hello3 debug exists
+Recommends: test-debuginfo(ignore-arch) = 1.0-1
+],
+[ignore])
+AT_CLEANUP
+# ------------------------------
+# Check that defining _debuginfo_subpackages creates multiple -debuginfos.
+# Unique with debugsources.
+AT_SETUP([rpmbuild debuginfo subpackages multiple unique debugsource])
+AT_KEYWORDS([build] [debuginfo] [debugsubpackage] [debugsource])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello.c ${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \
+ --define "_unique_debug_names 1" \
+ --define "_unique_debug_srcs 1" \
+ --define "_debugsource_packages 1" \
+ --define "_debuginfo_subpackages 1" \
+ -ba "${abs_srcdir}"/data/SPECS/test-subpackages.spec
+
+# Check that there are 3 debuginfo packages.
+ls ${abs_builddir}/testing/build/RPMS/*/*debuginfo*rpm | wc --lines
+
+# First contains hello.debug
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-1.0-1.*.rpm \
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=$(readelf -p .gnu_debuglink ./bin/hello | grep hello | cut -c13-)
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/$debug_name; then
+ echo "hello debug exists"
+else
+ echo "No hello: $debug_name"
+fi
+
+# Sources are in debugsource package. Make sure it is recommended.
+echo -n "Recommends: "
+run rpm -qp --recommends ${abs_builddir}/testing/build/RPMS/*/test-debuginfo-1.0-1.*.rpm | sed -E 's/([[-.a-z0-9]]+)\(.*\) = ([[-.0-9]]+)/\1\(ignore-arch\) = \2/'
+
+# Second contains hello2.debug
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test2-1.0-1.*.rpm \
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=$(readelf -p .gnu_debuglink ./bin/hello2 | grep hello | cut -c13-)
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/$debug_name; then
+ echo "hello2 debug exists"
+else
+ echo "No hello2: $debug_name"
+fi
+
+# Sources are in debugsource package. Make sure it is recommended.
+echo -n "Recommends: "
+run rpm -qp --recommends ${abs_builddir}/testing/build/RPMS/*/test-test2-debuginfo-1.0-1.*.rpm | sed -E 's/([[-.a-z0-9]]+)\(.*\) = ([[-.0-9]]+)/\1\(ignore-arch\) = \2/'
+
+# Third contains hello3.debug
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test3-1.0-1.*.rpm \
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=$(readelf -p .gnu_debuglink ./bin/hello3 | grep hello | cut -c13-)
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test3-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/$debug_name; then
+ echo "hello3 debug exists"
+else
+ echo "No hello3: $debug_name"
+fi
+
+# Sources are in debugsource package. Make sure it is recommended.
+echo -n "Recommends: "
+run rpm -qp --recommends ${abs_builddir}/testing/build/RPMS/*/test-test3-debuginfo-1.0-1.*.rpm | sed -E 's/([[-.a-z0-9]]+)\(.*\) = ([[-.0-9]]+)/\1\(ignore-arch\) = \2/'
+],
+[0],
+[3
+hello debug exists
+Recommends: test-debugsource(ignore-arch) = 1.0-1
+hello2 debug exists
+Recommends: test-debugsource(ignore-arch) = 1.0-1
+hello3 debug exists
+Recommends: test-debugsource(ignore-arch) = 1.0-1
+],
+[ignore])
+AT_CLEANUP
+
+# ------------------------------
+# Check that defining _debuginfo_subpackages works with excluded files.
+AT_SETUP([rpmbuild debuginfo subpackages multiple excluded])
+AT_KEYWORDS([build] [debuginfo] [debugsubpackage] [debugsource])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello.c ${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \
+ --define "_unique_debug_names 1" \
+ --define "_unique_debug_srcs 1" \
+ --define "_debugsource_packages 1" \
+ --define "_debuginfo_subpackages 1" \
+ -ba "${abs_srcdir}"/data/SPECS/test-subpackages-exclude.spec
+
+# Check that there are 2 debuginfo packages.
+ls ${abs_builddir}/testing/build/RPMS/*/*debuginfo*rpm | wc --lines
+
+# First contains hello.debug
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-1.0-1.*.rpm \
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=$(readelf -p .gnu_debuglink ./bin/hello | grep hello | cut -c13-)
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/$debug_name; then
+ echo "hello debug exists"
+else
+ echo "No hello: $debug_name"
+fi
+
+# Second contains hello2.debug but NOT hello3.debug
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test2-1.0-1.*.rpm \
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=$(readelf -p .gnu_debuglink ./bin/hello2 | grep hello | cut -c13-)
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/$debug_name; then
+ echo "hello2 debug exists"
+else
+ echo "No hello2: $debug_name"
+fi
+
+if test -f ./usr/lib/debug/bin/hello3*; then
+ echo "hello3 debug exists"
+else
+ echo "No hello3 debug"
+fi
+],
+[0],
+[2
+hello debug exists
+hello2 debug exists
+No hello3 debug
+],
+[ignore])
+AT_CLEANUP
+
+# ------------------------------
+# Check that defining _debuginfo_subpackages works with RemovePathPostfixes.
+AT_SETUP([rpmbuild debuginfo subpackages multiple excluded])
+AT_KEYWORDS([build] [debuginfo] [debugsubpackage] [debugsource])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello.c ${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \
+ --define "_unique_debug_names 1" \
+ --define "_unique_debug_srcs 1" \
+ --define "_debugsource_packages 1" \
+ --define "_debuginfo_subpackages 1" \
+ -ba "${abs_srcdir}"/data/SPECS/test-subpackages-pathpostfixes.spec
+
+# Check that there are 2 debuginfo packages.
+ls ${abs_builddir}/testing/build/RPMS/*/*debuginfo*rpm | wc --lines
+
+# First contains hello.debug
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-1.0-1.*.rpm \
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=$(readelf -p .gnu_debuglink ./bin/hello | grep hello | cut -c13-)
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/$debug_name; then
+ echo "hello debug exists"
+else
+ echo "No hello: $debug_name"
+fi
+
+# remove it, we are going to check the other debuginfo package.
+rm ./bin/hello
+rm ./usr/lib/debug/bin/$debug_name
+orig_debugname=$debugname
+
+# Second contains hello.foobar.debug but NOT hello.debug
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test2-1.0-1.*.rpm \
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=$(readelf -p .gnu_debuglink ./bin/hello | grep hello | cut -c13-)
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/$debug_name; then
+ echo "hello.foobar debug exists"
+else
+ echo "No hello2: $debug_name"
+fi
+
+if test -f ./usr/lib/debug/bin/$orig_debugname; then
+ echo "$orig_debugname exists"
+else
+ echo "No hello.debug"
+fi
+],
+[0],
+[2
+hello debug exists
+hello.foobar debug exists
+No hello.debug
+],
+[ignore])
+AT_CLEANUP
diff --git a/tests/rpmbuildid.at b/tests/rpmbuildid.at
new file mode 100644
index 000000000..5ecefb2b2
--- /dev/null
+++ b/tests/rpmbuildid.at
@@ -0,0 +1,1312 @@
+# rpmbuildid.at: test rpmbuild buildid symlink support
+#
+# This file is part of RPM, the RPM Package Manager.
+# Copyright (C) 2016 Mark J. Wielaard <mjw@redhat.com>
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# RPM is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+AT_BANNER([RPM buildid tests])
+
+# ------------------------------
+# Check if rpmbuild "none" doesn't generates buildid symlinks for hello program
+AT_SETUP([rpmbuild buildid none])
+AT_KEYWORDS([build] [debuginfo] [buildid])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# Build, contains one ELF which should have a buildid.
+rundebug rpmbuild \
+ --define="_build_id_links none" \
+ --quiet -ba "${abs_srcdir}"/data/SPECS/hello.spec
+
+# There should be zero build-id files in both the main and debuginfo package
+echo -n "hello build-id files: "
+run rpm -ql -p "${TOPDIR}"/RPMS/*/hello-1.0-1.*.rpm \
+ | grep /.build-id/ | wc --lines
+
+echo -n "hello debuginfo build-id files: "
+run rpm -ql -p "${TOPDIR}"/RPMS/*/hello-debuginfo-1.0-1.*.rpm \
+ | grep /.build-id/ | wc --lines
+
+],
+[0],
+[hello build-id files: 0
+hello debuginfo build-id files: 0
+],
+[ignore])
+AT_CLEANUP
+
+# ------------------------------
+# Check if rpmbuild "alldebug" generates debuginfo buildid symlinks.
+# Without unique debug file names.
+AT_SETUP([rpmbuild buildid alldebug])
+AT_KEYWORDS([build] [debuginfo] [buildid])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# Build, contains one ELF which should have a buildid.
+rundebug rpmbuild \
+ --define="_build_id_links alldebug" \
+ --undefine "_unique_debug_names" \
+ --undefine "_unique_debug_srcs" \
+ --quiet -ba "${abs_srcdir}"/data/SPECS/hello.spec
+
+# There should be zero build-id files in the main package
+# Main and debug should be in the debuginfo package,
+# plus the .build-id/xx subdir, 3 in total.
+echo -n "hello build-id files: "
+run rpm -ql -p "${TOPDIR}"/RPMS/*/hello-1.0-1.*.rpm \
+ | grep /.build-id/ | wc --lines
+
+echo -n "hello debuginfo build-id files: "
+run rpm -ql -p "${TOPDIR}"/RPMS/*/hello-debuginfo-1.0-1.*.rpm \
+ | grep /.build-id/ | wc --lines
+
+# Extract the both packages to check the build-id files link to the
+# main and .debug files.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm \
+ | cpio -diu
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-debuginfo-1.0-1.*.rpm \
+ | cpio -diu
+
+# Check there is a build-id symlink for the main file.
+main_file=./usr/local/bin/hello
+test -f "${main_file}" || echo "No main file ${main_file}"
+
+# Extract the build-id from the main file
+id_main=$(file $main_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+
+id_main_file="./usr/lib/debug/.build-id/${id_main:0:2}/${id_main:2}"
+test -L "$id_main_file" || echo "No build-id file $id_main_file"
+
+canon_main_file=$(readlink -f ${main_file})
+
+test -f "$canon_main_file" \
+ || echo "Cannot resolve main file ${main_file} -> ${canon_main_file}"
+
+canon_main_id_file=$(readlink -f ${id_main_file})
+
+test -f "$canon_main_id_file" \
+ || echo "Cannot resolve main build-id file ${id_main_file} -> ${canon_main_id_file}"
+
+test "$canon_main_file" = "$canon_main_id_file" \
+ || echo "main and build-id file not linked"
+
+# And check the same for the debug file.
+debug_file=./usr/lib/debug/usr/local/bin/hello.debug
+test -f ${debug_file} || echo "No debug file ${debug_file}"
+
+# Extract the build-id from the .debug file
+id_debug=$(file $debug_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+
+test ${id_main} = ${id_debug} || echo "unequal main and debug id"
+
+id_debug_file="./usr/lib/debug/.build-id/${id_debug:0:2}/${id_debug:2}.debug"
+test -L "$id_debug_file" || echo "No build-id file $id_debug_file"
+
+canon_debug_file=$(readlink -f ${debug_file})
+
+test -f "$canon_debug_file" \
+ || echo "Cannot resolve debug file ${debug_file} -> ${canon_debug_file}"
+
+canon_debug_id_file=$(readlink -f ${id_debug_file})
+
+test -f "$canon_debug_id_file" \
+ || echo "Cannot resolve debug build-id file ${id_debug_file} -> ${canon_debug_id_file}"
+
+test "$canon_debug_file" = "$canon_debug_id_file" \
+ || echo "debug and build-id not linked"
+],
+[0],
+[hello build-id files: 0
+hello debuginfo build-id files: 3
+],
+[ignore])
+AT_CLEANUP
+
+# ------------------------------
+# Check if rpmbuild "alldebug" generates debuginfo buildid symlinks.
+# With unique debug file names.
+AT_SETUP([rpmbuild buildid alldebug unique debug names])
+AT_KEYWORDS([build] [debuginfo] [buildid])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# Build, contains one ELF which should have a buildid.
+rundebug rpmbuild \
+ --define="_build_id_links alldebug" \
+ --define="_unique_debug_names 1" \
+ --quiet -ba "${abs_srcdir}"/data/SPECS/hello.spec
+
+# There should be zero build-id files in the main package
+# Main and debug should be in the debuginfo package,
+# plus the .build-id/xx subdir, 3 in total.
+echo -n "hello build-id files: "
+run rpm -ql -p "${TOPDIR}"/RPMS/*/hello-1.0-1.*.rpm \
+ | grep /.build-id/ | wc --lines
+
+echo -n "hello debuginfo build-id files: "
+run rpm -ql -p "${TOPDIR}"/RPMS/*/hello-debuginfo-1.0-1.*.rpm \
+ | grep /.build-id/ | wc --lines
+
+# Extract the both packages to check the build-id files link to the
+# main and .debug files.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm \
+ | cpio -diu
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-debuginfo-1.0-1.*.rpm \
+ | cpio -diu
+
+# Check there is a build-id symlink for the main file.
+main_file=./usr/local/bin/hello
+test -f "${main_file}" || echo "No main file ${main_file}"
+
+# Extract the build-id from the main file
+id_main=$(file $main_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+
+id_main_file="./usr/lib/debug/.build-id/${id_main:0:2}/${id_main:2}"
+test -L "$id_main_file" || echo "No build-id file $id_main_file"
+
+canon_main_file=$(readlink -f ${main_file})
+
+test -f "$canon_main_file" \
+ || echo "Cannot resolve main file ${main_file} -> ${canon_main_file}"
+
+canon_main_id_file=$(readlink -f ${id_main_file})
+
+test -f "$canon_main_id_file" \
+ || echo "Cannot resolve main build-id file ${id_main_file} -> ${canon_main_id_file}"
+
+test "$canon_main_file" = "$canon_main_id_file" \
+ || echo "main and build-id file not linked"
+
+# And check the same for the debug file.
+debug_file=./usr/lib/debug/usr/local/bin/hello-*.debug
+test -f ${debug_file} || echo "No debug file ${debug_file}"
+
+# Extract the build-id from the .debug file
+id_debug=$(file $debug_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+
+test ${id_main} = ${id_debug} || echo "unequal main and debug id"
+
+id_debug_file="./usr/lib/debug/.build-id/${id_debug:0:2}/${id_debug:2}.debug"
+test -L "$id_debug_file" || echo "No build-id file $id_debug_file"
+
+canon_debug_file=$(readlink -f ${debug_file})
+
+test -f "$canon_debug_file" \
+ || echo "Cannot resolve debug file ${debug_file} -> ${canon_debug_file}"
+
+canon_debug_id_file=$(readlink -f ${id_debug_file})
+
+test -f "$canon_debug_id_file" \
+ || echo "Cannot resolve debug build-id file ${id_debug_file} -> ${canon_debug_id_file}"
+
+test "$canon_debug_file" = "$canon_debug_id_file" \
+ || echo "debug and build-id not linked"
+],
+[0],
+[hello build-id files: 0
+hello debuginfo build-id files: 3
+],
+[ignore])
+AT_CLEANUP
+
+# ------------------------------
+# Check if rpmbuild "separate" generates main and debuginfo buildid symlinks
+# Without unique debug file names
+AT_SETUP([rpmbuild buildid separate])
+AT_KEYWORDS([build] [debuginfo] [buildid])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# Build, contains one ELF which should have a buildid.
+rundebug rpmbuild \
+ --define="_build_id_links separate" \
+ --undefine "_unique_debug_names" \
+ --undefine "_unique_debug_srcs" \
+ --quiet -ba "${abs_srcdir}"/data/SPECS/hello.spec
+
+# There should be one build-id files in the main and debuginfo package
+# plus the .build-id/xx subdir, 2 in total.
+echo -n "hello build-id files: "
+run rpm -ql -p "${TOPDIR}"/RPMS/*/hello-1.0-1.*.rpm \
+ | grep /.build-id/ | wc --lines
+
+echo -n "hello debuginfo build-id files: "
+run rpm -ql -p "${TOPDIR}"/RPMS/*/hello-debuginfo-1.0-1.*.rpm \
+ | grep /.build-id/ | wc --lines
+
+# Extract the both packages to check the build-id files link to the
+# main and .debug files.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm \
+ | cpio -diu
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-debuginfo-1.0-1.*.rpm \
+ | cpio -diu
+
+# Check there is a build-id symlink for the main file.
+main_file=./usr/local/bin/hello
+test -f "${main_file}" || echo "No main file ${main_file}"
+
+# Extract the build-id from the main file
+id_main=$(file $main_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+
+id_main_file="./usr/lib/.build-id/${id_main:0:2}/${id_main:2}"
+test -L "$id_main_file" || echo "No build-id file $id_main_file"
+
+canon_main_file=$(readlink -f ${main_file})
+
+test -f "$canon_main_file" \
+ || echo "Cannot resolve main file ${main_file} -> ${canon_main_file}"
+
+canon_main_id_file=$(readlink -f ${id_main_file})
+
+test -f "$canon_main_id_file" \
+ || echo "Cannot resolve main build-id file ${id_main_file} -> ${canon_main_id_file}"
+
+test "$canon_main_file" = "$canon_main_id_file" \
+ || echo "main and build-id file not linked"
+
+# And check the same for the debug file.
+debug_file=./usr/lib/debug/usr/local/bin/hello.debug
+test -f ${debug_file} || echo "No debug file ${debug_file}"
+
+# Extract the build-id from the .debug file
+id_debug=$(file $debug_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+
+test ${id_main} = ${id_debug} || echo "unequal main and debug id"
+
+id_debug_file="./usr/lib/debug/.build-id/${id_debug:0:2}/${id_debug:2}.debug"
+test -L "$id_debug_file" || echo "No build-id file $id_debug_file"
+
+canon_debug_file=$(readlink -f ${debug_file})
+
+test -f "$canon_debug_file" \
+ || echo "Cannot resolve debug file ${debug_file} -> ${canon_debug_file}"
+
+canon_debug_id_file=$(readlink -f ${id_debug_file})
+
+test -f "$canon_debug_id_file" \
+ || echo "Cannot resolve debug build-id file ${id_debug_file} -> ${canon_debug_id_file}"
+
+test "$canon_debug_file" = "$canon_debug_id_file" \
+ || echo "debug and build-id not linked"
+],
+[0],
+[hello build-id files: 2
+hello debuginfo build-id files: 2
+],
+[ignore])
+AT_CLEANUP
+
+# ------------------------------
+# Check if rpmbuild "separate" generates main and debuginfo buildid symlinks
+# With unique debug file names
+AT_SETUP([rpmbuild buildid separate unique debug names])
+AT_KEYWORDS([build] [debuginfo] [buildid])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# Build, contains one ELF which should have a buildid.
+rundebug rpmbuild \
+ --define="_build_id_links separate" \
+ --define="_unique_debug_names 1" \
+ --quiet -ba "${abs_srcdir}"/data/SPECS/hello.spec
+
+# There should be one build-id files in the main and debuginfo package
+# plus the .build-id/xx subdir, 2 in total.
+echo -n "hello build-id files: "
+run rpm -ql -p "${TOPDIR}"/RPMS/*/hello-1.0-1.*.rpm \
+ | grep /.build-id/ | wc --lines
+
+echo -n "hello debuginfo build-id files: "
+run rpm -ql -p "${TOPDIR}"/RPMS/*/hello-debuginfo-1.0-1.*.rpm \
+ | grep /.build-id/ | wc --lines
+
+# Extract the both packages to check the build-id files link to the
+# main and .debug files.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm \
+ | cpio -diu
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-debuginfo-1.0-1.*.rpm \
+ | cpio -diu
+
+# Check there is a build-id symlink for the main file.
+main_file=./usr/local/bin/hello
+test -f "${main_file}" || echo "No main file ${main_file}"
+
+# Extract the build-id from the main file
+id_main=$(file $main_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+
+id_main_file="./usr/lib/.build-id/${id_main:0:2}/${id_main:2}"
+test -L "$id_main_file" || echo "No build-id file $id_main_file"
+
+canon_main_file=$(readlink -f ${main_file})
+
+test -f "$canon_main_file" \
+ || echo "Cannot resolve main file ${main_file} -> ${canon_main_file}"
+
+canon_main_id_file=$(readlink -f ${id_main_file})
+
+test -f "$canon_main_id_file" \
+ || echo "Cannot resolve main build-id file ${id_main_file} -> ${canon_main_id_file}"
+
+test "$canon_main_file" = "$canon_main_id_file" \
+ || echo "main and build-id file not linked"
+
+# And check the same for the debug file.
+debug_file=./usr/lib/debug/usr/local/bin/hello-*.debug
+test -f ${debug_file} || echo "No debug file ${debug_file}"
+
+# Extract the build-id from the .debug file
+id_debug=$(file $debug_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+
+test ${id_main} = ${id_debug} || echo "unequal main and debug id"
+
+id_debug_file="./usr/lib/debug/.build-id/${id_debug:0:2}/${id_debug:2}.debug"
+test -L "$id_debug_file" || echo "No build-id file $id_debug_file"
+
+canon_debug_file=$(readlink -f ${debug_file})
+
+test -f "$canon_debug_file" \
+ || echo "Cannot resolve debug file ${debug_file} -> ${canon_debug_file}"
+
+canon_debug_id_file=$(readlink -f ${id_debug_file})
+
+test -f "$canon_debug_id_file" \
+ || echo "Cannot resolve debug build-id file ${id_debug_file} -> ${canon_debug_id_file}"
+
+test "$canon_debug_file" = "$canon_debug_id_file" \
+ || echo "debug and build-id not linked"
+],
+[0],
+[hello build-id files: 2
+hello debuginfo build-id files: 2
+],
+[ignore])
+AT_CLEANUP
+
+# ------------------------------
+# Check if rpmbuild "compat" generates main and debuginfo buildid symlinks
+# Without unique debug file names
+AT_SETUP([rpmbuild buildid compat])
+AT_KEYWORDS([build] [debuginfo] [buildid])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# Build, contains one ELF which should have a buildid.
+rundebug rpmbuild \
+ --define="_build_id_links compat" \
+ --undefine "_unique_debug_names" \
+ --undefine "_unique_debug_srcs" \
+ --quiet -ba "${abs_srcdir}"/data/SPECS/hello.spec
+
+# There should be one build-id files in the main and debuginfo package.
+# the debuginfo package has one extra main build-id compat symlink
+# plus the .build-id/xx subdir, 2 in total in main, 3 in total in debug
+echo -n "hello build-id files: "
+run rpm -ql -p "${TOPDIR}"/RPMS/*/hello-1.0-1.*.rpm \
+ | grep /.build-id/ | wc --lines
+
+echo -n "hello debuginfo build-id files: "
+run rpm -ql -p "${TOPDIR}"/RPMS/*/hello-debuginfo-1.0-1.*.rpm \
+ | grep /.build-id/ | wc --lines
+
+# Extract the both packages to check the build-id files link to the
+# main and .debug files.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm \
+ | cpio -diu
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-debuginfo-1.0-1.*.rpm \
+ | cpio -diu
+
+# Check there is a build-id symlink for the main file.
+main_file=./usr/local/bin/hello
+test -f "${main_file}" || echo "No main file ${main_file}"
+
+# Extract the build-id from the main file
+id_main=$(file $main_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+
+id_main_file="./usr/lib/.build-id/${id_main:0:2}/${id_main:2}"
+test -L "$id_main_file" || echo "No build-id file $id_main_file"
+
+canon_main_file=$(readlink -f ${main_file})
+
+test -f "$canon_main_file" \
+ || echo "Cannot resolve main file ${main_file} -> ${canon_main_file}"
+
+canon_main_id_file=$(readlink -f ${id_main_file})
+
+test -f "$canon_main_id_file" \
+ || echo "Cannot resolve main build-id file ${id_main_file} -> ${canon_main_id_file}"
+
+test "$canon_main_file" = "$canon_main_id_file" \
+ || echo "main and build-id file not linked"
+
+# And check the same for the debug file.
+debug_file=./usr/lib/debug/usr/local/bin/hello.debug
+test -f ${debug_file} || echo "No debug file ${debug_file}"
+
+# Extract the build-id from the .debug file
+id_debug=$(file $debug_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+
+test ${id_main} = ${id_debug} || echo "unequal main and debug id"
+
+id_debug_file="./usr/lib/debug/.build-id/${id_debug:0:2}/${id_debug:2}.debug"
+test -L "$id_debug_file" || echo "No build-id file $id_debug_file"
+
+canon_debug_file=$(readlink -f ${debug_file})
+
+test -f "$canon_debug_file" \
+ || echo "Cannot resolve debug file ${debug_file} -> ${canon_debug_file}"
+
+canon_debug_id_file=$(readlink -f ${id_debug_file})
+
+test -f "$canon_debug_id_file" \
+ || echo "Cannot resolve debug build-id file ${id_debug_file} -> ${canon_debug_id_file}"
+
+test "$canon_debug_file" = "$canon_debug_id_file" \
+ || echo "debug and build-id not linked"
+
+# The compat link should also point to the same (indirectly).
+id_compat_file="./usr/lib/debug/.build-id/${id_main:0:2}/${id_main:2}"
+test -L "$id_compat_file" || echo "No build-id compat file $id_compat_file"
+
+canon_compat_file=$(readlink -f ${id_compat_file})
+
+test -f "$canon_compat_file" \
+ || echo "Cannot resolve compat file ${id_compat_file} -> ${canon_compat_file}"
+
+test "$canon_compat_file" = "$canon_main_file" \
+ || echo "compat and build-id not linked"
+],
+[0],
+[hello build-id files: 2
+hello debuginfo build-id files: 3
+],
+[ignore])
+AT_CLEANUP
+
+# ------------------------------
+# Check if rpmbuild "compat" generates main and debuginfo buildid symlinks
+# With unique debug file names
+AT_SETUP([rpmbuild buildid compat unique debug names])
+AT_KEYWORDS([build] [debuginfo] [buildid])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# Build, contains one ELF which should have a buildid.
+rundebug rpmbuild \
+ --define="_build_id_links compat" \
+ --define="_unique_debug_names 1" \
+ --quiet -ba "${abs_srcdir}"/data/SPECS/hello.spec
+
+# There should be one build-id files in the main and debuginfo package.
+# the debuginfo package has one extra main build-id compat symlink
+# plus the .build-id/xx subdir, 2 in total in main, 3 in total in debug
+echo -n "hello build-id files: "
+run rpm -ql -p "${TOPDIR}"/RPMS/*/hello-1.0-1.*.rpm \
+ | grep /.build-id/ | wc --lines
+
+echo -n "hello debuginfo build-id files: "
+run rpm -ql -p "${TOPDIR}"/RPMS/*/hello-debuginfo-1.0-1.*.rpm \
+ | grep /.build-id/ | wc --lines
+
+# Extract the both packages to check the build-id files link to the
+# main and .debug files.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm \
+ | cpio -diu
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-debuginfo-1.0-1.*.rpm \
+ | cpio -diu
+
+# Check there is a build-id symlink for the main file.
+main_file=./usr/local/bin/hello
+test -f "${main_file}" || echo "No main file ${main_file}"
+
+# Extract the build-id from the main file
+id_main=$(file $main_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+
+id_main_file="./usr/lib/.build-id/${id_main:0:2}/${id_main:2}"
+test -L "$id_main_file" || echo "No build-id file $id_main_file"
+
+canon_main_file=$(readlink -f ${main_file})
+
+test -f "$canon_main_file" \
+ || echo "Cannot resolve main file ${main_file} -> ${canon_main_file}"
+
+canon_main_id_file=$(readlink -f ${id_main_file})
+
+test -f "$canon_main_id_file" \
+ || echo "Cannot resolve main build-id file ${id_main_file} -> ${canon_main_id_file}"
+
+test "$canon_main_file" = "$canon_main_id_file" \
+ || echo "main and build-id file not linked"
+
+# And check the same for the debug file.
+debug_file=./usr/lib/debug/usr/local/bin/hello-*debug
+test -f ${debug_file} || echo "No debug file ${debug_file}"
+
+# Extract the build-id from the .debug file
+id_debug=$(file $debug_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+
+test ${id_main} = ${id_debug} || echo "unequal main and debug id"
+
+id_debug_file="./usr/lib/debug/.build-id/${id_debug:0:2}/${id_debug:2}.debug"
+test -L "$id_debug_file" || echo "No build-id file $id_debug_file"
+
+canon_debug_file=$(readlink -f ${debug_file})
+
+test -f "$canon_debug_file" \
+ || echo "Cannot resolve debug file ${debug_file} -> ${canon_debug_file}"
+
+canon_debug_id_file=$(readlink -f ${id_debug_file})
+
+test -f "$canon_debug_id_file" \
+ || echo "Cannot resolve debug build-id file ${id_debug_file} -> ${canon_debug_id_file}"
+
+test "$canon_debug_file" = "$canon_debug_id_file" \
+ || echo "debug and build-id not linked"
+
+# The compat link should also point to the same (indirectly).
+id_compat_file="./usr/lib/debug/.build-id/${id_main:0:2}/${id_main:2}"
+test -L "$id_compat_file" || echo "No build-id compat file $id_compat_file"
+
+canon_compat_file=$(readlink -f ${id_compat_file})
+
+test -f "$canon_compat_file" \
+ || echo "Cannot resolve compat file ${id_compat_file} -> ${canon_compat_file}"
+
+test "$canon_compat_file" = "$canon_main_file" \
+ || echo "compat and build-id not linked"
+],
+[0],
+[hello build-id files: 2
+hello debuginfo build-id files: 3
+],
+[ignore])
+AT_CLEANUP
+
+# ------------------------------
+# Check that (copied) files with duplicate build-ids are handled correctly.
+# This should create "numbered" build-id files.
+# This is simply the hello example with one binary copied.
+AT_SETUP([rpmbuild buildid duplicate alldebug])
+AT_KEYWORDS([build] [debuginfo] [buildid])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# Should create two warnings
+rundebug rpmbuild --quiet \
+ --define="_build_id_links alldebug" \
+ -ba "${abs_srcdir}"/data/SPECS/hello2cp.spec 2>&1 | grep "^warning: " \
+ | cut -f1-3 -d' '
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+hello_file=./usr/local/bin/hello
+
+# Extract the build-id from the main file
+id=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+
+# alldebug not here...
+id_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}"
+test -L "$id_file" && echo "main id in main package"
+id_dup_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.1"
+test -L "$id_dup_file" && echo "main dup id in main package"
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+# alldebug, so they are all here
+test -L "$id_file" && echo "main id in debug package"
+test -L "$id_dup_file" && echo "main dup id in debug package"
+
+debug_id_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.debug"
+test -L "$debug_id_file" && echo "debug id in debug package"
+debug_dup_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.1.debug"
+test -L "$debug_dup_file" && echo "debug dup id in debug package"
+
+# We don't know which points to which, but we do know they point
+# to different files.
+canon_id_file=$(readlink -f ${id_file})
+canon_dup_file=$(readlink -f ${id_dup_file})
+test "$canon_id_file" != "$canon_dup_file" \
+ || echo "id and dup same"
+
+canon_debug_id_file=$(readlink -f ${debug_id_file})
+canon_debug_dup_file=$(readlink -f ${debug_dup_file})
+test "$canon_debug_id_file" != "$canon_debug_dup_file" \
+ || echo "debug id and dup same"
+],
+[0],
+[warning: Duplicate build-ids
+warning: Duplicate build-ids
+main id in debug package
+main dup id in debug package
+debug id in debug package
+debug dup id in debug package
+],
+[])
+AT_CLEANUP
+
+# ------------------------------
+# Check that hard linked files are handled correctly.
+# Since the hard linked files have duplicate build-ids,
+# it should create "numbered" build-id files.
+# This is simply the hello example with one binary hard linked.
+AT_SETUP([rpmbuild buildid hardlink alldebug])
+AT_KEYWORDS([build] [debuginfo] [buildid])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# No warnings for hard links
+rundebug rpmbuild --quiet \
+ --define="_build_id_links alldebug" \
+ -ba "${abs_srcdir}"/data/SPECS/hello2ln.spec 2>&1 | grep "^warning: " \
+ | cut -f1-3 -d' '
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+hello_file=./usr/local/bin/hello
+
+# Extract the build-id from the main file
+id=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+
+# alldebug not here...
+id_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}"
+test -L "$id_file" && echo "main id in main package"
+id_dup_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.1"
+test -L "$id_dup_file" && echo "main dup id in main package"
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+# alldebug, so they are all here
+test -L "$id_file" && echo "main id in debug package"
+test -L "$id_dup_file" && echo "main dup id in debug package"
+
+debug_id_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.debug"
+test -L "$debug_id_file" && echo "debug id in debug package"
+debug_dup_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.1.debug"
+test -L "$debug_dup_file" && echo "debug dup id in debug package"
+
+# We don't know which points to which, but we do know they point
+# to different files.
+canon_id_file=$(readlink -f ${id_file})
+canon_dup_file=$(readlink -f ${id_dup_file})
+test "$canon_id_file" != "$canon_dup_file" \
+ || echo "id and dup same"
+
+canon_debug_id_file=$(readlink -f ${debug_id_file})
+canon_debug_dup_file=$(readlink -f ${debug_dup_file})
+test "$canon_debug_id_file" != "$canon_debug_dup_file" \
+ || echo "debug id and dup same"
+],
+[0],
+[main id in debug package
+main dup id in debug package
+debug id in debug package
+debug dup id in debug package
+],
+[])
+AT_CLEANUP
+
+# ------------------------------
+# Check that (copied) files with duplicate build-ids are handled correctly.
+# This should create "numbered" build-id files.
+# This is simply the hello example with one binary copied.
+AT_SETUP([rpmbuild buildid duplicate separate])
+AT_KEYWORDS([build] [debuginfo] [buildid])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# Should create two warnings
+rundebug rpmbuild --quiet \
+ --define="_build_id_links separate" \
+ -ba "${abs_srcdir}"/data/SPECS/hello2cp.spec 2>&1 | grep "^warning: " \
+ | cut -f1-3 -d' '
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+hello_file=./usr/local/bin/hello
+
+# Extract the build-id from the main file
+id=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+
+# separate build-ids split...
+id_file="./usr/lib/.build-id/${id:0:2}/${id:2}"
+test -L "$id_file" && echo "main id in main package"
+id_dup_file="./usr/lib/.build-id/${id:0:2}/${id:2}.1"
+test -L "$id_dup_file" && echo "main dup id in main package"
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+# separate, so debug ids are here
+debug_id_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.debug"
+test -L "$debug_id_file" && echo "debug id in debug package"
+debug_dup_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.1.debug"
+test -L "$debug_dup_file" && echo "debug dup id in debug package"
+
+# We don't know which points to which, but we do know they point
+# to different files.
+canon_id_file=$(readlink -f ${id_file})
+canon_dup_file=$(readlink -f ${id_dup_file})
+test "$canon_id_file" != "$canon_dup_file" \
+ || echo "id and dup same"
+
+canon_debug_id_file=$(readlink -f ${debug_id_file})
+canon_debug_dup_file=$(readlink -f ${debug_dup_file})
+test "$canon_debug_id_file" != "$canon_debug_dup_file" \
+ || echo "debug id and dup same"
+],
+[0],
+[warning: Duplicate build-ids
+warning: Duplicate build-ids
+main id in main package
+main dup id in main package
+debug id in debug package
+debug dup id in debug package
+],
+[])
+AT_CLEANUP
+
+# ------------------------------
+# Check that hard linked files are handled correctly.
+# Since the hard linked files have duplicate build-ids,
+# it should create "numbered" build-id files.
+# This is simply the hello example with one binary hard linked.
+AT_SETUP([rpmbuild buildid hardlink separate])
+AT_KEYWORDS([build] [debuginfo] [buildid])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# No warnings for hard links
+rundebug rpmbuild --quiet \
+ --define="_build_id_links separate" \
+ -ba "${abs_srcdir}"/data/SPECS/hello2ln.spec 2>&1 | grep "^warning: " \
+ | cut -f1-3 -d' '
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+hello_file=./usr/local/bin/hello
+
+# Extract the build-id from the main file
+id=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+
+# separate build-ids split...
+id_file="./usr/lib/.build-id/${id:0:2}/${id:2}"
+test -L "$id_file" && echo "main id in main package"
+id_dup_file="./usr/lib/.build-id/${id:0:2}/${id:2}.1"
+test -L "$id_dup_file" && echo "main dup id in main package"
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+# separate, so debug ids are here
+debug_id_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.debug"
+test -L "$debug_id_file" && echo "debug id in debug package"
+debug_dup_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.1.debug"
+test -L "$debug_dup_file" && echo "debug dup id in debug package"
+
+# We don't know which points to which, but we do know they point
+# to different files.
+canon_id_file=$(readlink -f ${id_file})
+canon_dup_file=$(readlink -f ${id_dup_file})
+test "$canon_id_file" != "$canon_dup_file" \
+ || echo "id and dup same"
+
+canon_debug_id_file=$(readlink -f ${debug_id_file})
+canon_debug_dup_file=$(readlink -f ${debug_dup_file})
+test "$canon_debug_id_file" != "$canon_debug_dup_file" \
+ || echo "debug id and dup same"
+],
+[0],
+[main id in main package
+main dup id in main package
+debug id in debug package
+debug dup id in debug package
+],
+[])
+AT_CLEANUP
+
+# ------------------------------
+# Check that (copied) files with duplicate build-ids are handled correctly.
+# This should create "numbered" build-id files.
+# This is simply the hello example with one binary copied.
+AT_SETUP([rpmbuild buildid duplicate compat])
+AT_KEYWORDS([build] [debuginfo] [buildid])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# Should create two warnings
+rundebug rpmbuild --quiet \
+ --define="_build_id_links compat" \
+ -ba "${abs_srcdir}"/data/SPECS/hello2cp.spec 2>&1 | grep "^warning: " \
+ | cut -f1-3 -d' '
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+hello_file=./usr/local/bin/hello
+
+# Extract the build-id from the main file
+id=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+
+# compat build-ids split...
+id_file="./usr/lib/.build-id/${id:0:2}/${id:2}"
+test -L "$id_file" && echo "main id in main package"
+id_dup_file="./usr/lib/.build-id/${id:0:2}/${id:2}.1"
+test -L "$id_dup_file" && echo "main dup id in main package"
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+# compat, so main (and debug) ids are (also) here
+compat_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}"
+test -L "$compat_file" && echo "compat id in debug package"
+compat_dup_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.1"
+test -L "$compat_dup_file" && echo "compat dup id in debug package"
+
+debug_id_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.debug"
+test -L "$debug_id_file" && echo "debug id in debug package"
+debug_dup_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.1.debug"
+test -L "$debug_dup_file" && echo "debug dup id in debug package"
+
+# We don't know which points to which, but we do know they point
+# to different files.
+canon_id_file=$(readlink -f ${id_file})
+canon_dup_file=$(readlink -f ${id_dup_file})
+test "$canon_id_file" != "$canon_dup_file" \
+ || echo "id and dup same"
+
+canon_debug_id_file=$(readlink -f ${debug_id_file})
+canon_debug_dup_file=$(readlink -f ${debug_dup_file})
+test "$canon_debug_id_file" != "$canon_debug_dup_file" \
+ || echo "debug id and dup same"
+
+canon_compat_file=$(readlink -f ${compat_file})
+canon_compat_dup_file=$(readlink -f ${compat_dup_file})
+test "$canon_compat_file" != "$canon_compat_dup_file" \
+ || echo "compat id and dup same"
+],
+[0],
+[warning: Duplicate build-ids
+warning: Duplicate build-ids
+main id in main package
+main dup id in main package
+compat id in debug package
+compat dup id in debug package
+debug id in debug package
+debug dup id in debug package
+],
+[])
+AT_CLEANUP
+
+# ------------------------------
+# Check that hard linked files are handled correctly.
+# Since the hard linked files have duplicate build-ids,
+# it should create "numbered" build-id files.
+# This is simply the hello example with one binary hard linked.
+AT_SETUP([rpmbuild buildid hardlink compat])
+AT_KEYWORDS([build] [debuginfo] [buildid])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# No warnings for hard links
+rundebug rpmbuild --quiet \
+ --define="_build_id_links compat" \
+ -ba "${abs_srcdir}"/data/SPECS/hello2ln.spec 2>&1 | grep "^warning: " \
+ | cut -f1-3 -d' '
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+hello_file=./usr/local/bin/hello
+
+# Extract the build-id from the main file
+id=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+
+# compat build-ids split...
+id_file="./usr/lib/.build-id/${id:0:2}/${id:2}"
+test -L "$id_file" && echo "main id in main package"
+id_dup_file="./usr/lib/.build-id/${id:0:2}/${id:2}.1"
+test -L "$id_dup_file" && echo "main dup id in main package"
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+# compat, so main (and debug) ids are (also) here
+compat_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}"
+test -L "$compat_file" && echo "compat id in debug package"
+compat_dup_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.1"
+test -L "$compat_dup_file" && echo "compat dup id in debug package"
+
+debug_id_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.debug"
+test -L "$debug_id_file" && echo "debug id in debug package"
+debug_dup_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.1.debug"
+test -L "$debug_dup_file" && echo "debug dup id in debug package"
+
+# We don't know which points to which, but we do know they point
+# to different files.
+canon_id_file=$(readlink -f ${id_file})
+canon_dup_file=$(readlink -f ${id_dup_file})
+test "$canon_id_file" != "$canon_dup_file" \
+ || echo "id and dup same"
+
+canon_debug_id_file=$(readlink -f ${debug_id_file})
+canon_debug_dup_file=$(readlink -f ${debug_dup_file})
+test "$canon_debug_id_file" != "$canon_debug_dup_file" \
+ || echo "debug id and dup same"
+
+canon_compat_file=$(readlink -f ${compat_file})
+canon_compat_dup_file=$(readlink -f ${compat_dup_file})
+test "$canon_compat_file" != "$canon_compat_dup_file" \
+ || echo "compat id and dup same"
+],
+[0],
+[main id in main package
+main dup id in main package
+compat id in debug package
+compat dup id in debug package
+debug id in debug package
+debug dup id in debug package
+],
+[])
+AT_CLEANUP
+
+# ------------------------------
+# Check build-ids are recomputed with unique_build_ids,
+# but not with _no_recompute_build_ids
+AT_SETUP([rpmbuild buildid recompute])
+AT_KEYWORDS([build] [debuginfo] [buildid])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# Make sure we get debuginfo
+export CFLAGS="-g"
+
+# Unique 1
+rundebug rpmbuild --quiet \
+ --define="_unique_build_ids 1" \
+ --undefine="_no_recompute_build_ids" \
+ -ba "${abs_srcdir}"/data/SPECS/hello.spec
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+hello_file=./usr/local/bin/hello
+
+# Extract the build-id from the main file
+test -f $hello_file || echo "No $hello_file"
+id1=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+
+# Make sure we generate a new one
+rm $hello_file
+
+# Unique 2
+# Build the "next" release, which has no changes except for the release update.
+rundebug rpmbuild --quiet \
+ --define="_unique_build_ids 1" \
+ --undefine="_no_recompute_build_ids" \
+ -ba "${abs_srcdir}"/data/SPECS/hello-r2.spec
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-2.*.rpm \
+ | cpio -diu --quiet
+
+# Extract the build-id from the main file
+test -f $hello_file || echo "No $hello_file"
+id2=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+
+# Two unique builds should not be equal
+if test "$id1" == "$id2"; then
+ echo "uniques equal";
+else
+ echo "uniques unequal";
+fi
+
+# Make sure we generate a new one
+rm $hello_file
+
+# no-recompute 1
+rundebug rpmbuild --quiet \
+ --undefine="_unique_build_ids" \
+ --undefine="_unique_debug_names" \
+ --undefine="_unique_debug_srcs" \
+ --define="_no_recompute_build_ids 1" \
+ -ba "${abs_srcdir}"/data/SPECS/hello.spec
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+hello_file=./usr/local/bin/hello
+
+# Extract the build-id from the main file
+test -f $hello_file || echo "No $hello_file"
+id3=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+
+# An unique and no-recompute build should be unequal
+if test "$id2" == "$id3"; then
+ echo "no-recompute unique equal";
+else
+ echo "no-recompute unique unequal";
+fi
+
+# Make sure we generate a new one
+rm $hello_file
+
+# no-recompute 2
+# Build the "next" release, which has no changes except for the release update.
+rundebug rpmbuild --quiet \
+ --undefine="_unique_build_ids" \
+ --undefine="_unique_debug_names" \
+ --undefine="_unique_debug_srcs" \
+ --define="_no_recompute_build_ids 1" \
+ -ba "${abs_srcdir}"/data/SPECS/hello-r2.spec
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-2.*.rpm \
+ | cpio -diu --quiet
+
+# Extract the build-id from the main file
+test -f $hello_file || echo "No $hello_file"
+id4=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+
+# Two no-recompute builds should be equal. Even for different "releases".
+if test "$id3" == "$id4"; then
+ echo "no-recomputes equal";
+else
+ echo "no-recomputes unequal";
+fi
+],
+[0],
+[uniques unequal
+no-recompute unique unequal
+no-recomputes equal
+],
+[ignore])
+AT_CLEANUP
+
+# ------------------------------
+# Check build-ids are unique between versions/releases
+# with _unique_build_ids defined.
+AT_SETUP([rpmbuild buildid unique r1 r2])
+AT_KEYWORDS([build] [debuginfo] [buildid])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# No warnings for hard links
+rundebug rpmbuild --quiet \
+ --define="_unique_build_ids 1" \
+ -ba "${abs_srcdir}"/data/SPECS/hello.spec
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+hello_file=./usr/local/bin/hello
+
+# Extract the build-id from the main file
+test -f $hello_file || echo "No $hello_file"
+id1=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+
+# Make sure we generate a new one
+rm $hello_file
+
+# Build the "next" release, which has no changes except for the release update.
+rundebug rpmbuild --quiet \
+ --define="_unique_build_ids 1" \
+ -ba "${abs_srcdir}"/data/SPECS/hello-r2.spec
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-2.*.rpm \
+ | cpio -diu --quiet
+
+# Extract the build-id from the main file
+test -f $hello_file || echo "No $hello_file"
+id2=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+
+if test "$id1" == "$id2"; then echo "equal $id1"; else echo "unequal"; fi
+],
+[0],
+[unequal
+],
+[ignore])
+AT_CLEANUP
+
+# ------------------------------
+# Check build-ids are non-unique between versions/releases
+# with _unique_build_ids undefined (and exact same sources).
+AT_SETUP([rpmbuild buildid non-unique r1 r2])
+AT_KEYWORDS([build] [debuginfo] [buildid])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# No warnings for hard links
+rundebug rpmbuild --quiet \
+ --undefine="_unique_build_ids" \
+ --undefine="_unique_debug_names" \
+ --undefine="_unique_debug_srcs" \
+ -ba "${abs_srcdir}"/data/SPECS/hello.spec
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+hello_file=./usr/local/bin/hello
+
+# Extract the build-id from the main file
+test -f $hello_file || echo "No $hello_file"
+id1=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+
+# Make sure we generate a new one
+rm $hello_file
+
+# Build the "next" release, which has no changes except for the release update.
+rundebug rpmbuild --quiet \
+ --undefine="_unique_build_ids" \
+ --undefine="_unique_debug_names" \
+ --undefine="_unique_debug_srcs" \
+ -ba "${abs_srcdir}"/data/SPECS/hello-r2.spec
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-2.*.rpm \
+ | cpio -diu --quiet
+
+# Extract the build-id from the main file
+test -f $hello_file || echo "No $hello_file"
+id2=$(file $hello_file | sed 's/.*, BuildID\[[.*\]]=\([[0-9a-f]]*\),.*/\1/')
+
+if test "$id1" == "$id2"; then echo "equal"; else echo "unequal $id1 $id2"; fi
+],
+[0],
+[equal
+],
+[ignore])
+AT_CLEANUP
+
+# ------------------------------
+# Check that build-id directories are created with the right permissions
+# even if the spec file sets attrs explicitly.
+AT_SETUP([rpmbuild buildid attrs])
+AT_KEYWORDS([build] [debuginfo] [buildid])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello.c ${TOPDIR}/SOURCES
+
+# Build, contains one ELF which should have a buildid.
+rundebug rpmbuild \
+ --define="_build_id_links compat" \
+ --define "_unique_debug_names 1" \
+ --define "_unique_debug_srcs 1" \
+ --quiet -ba "${abs_srcdir}"/data/SPECS/hello-attr-buildid.spec
+
+run rpm -qp --qf "[[%{filenames} %{filemodes:perms}\n]]" \
+ ${abs_builddir}/testing/build/RPMS/*/test-1.0-1*rpm \
+ | grep "build-id d"
+
+run rpm -qp --qf "[[%{filenames} %{filemodes:perms}\n]]" \
+ ${abs_builddir}/testing/build/RPMS/*/test-debuginfo-1.0-1*rpm \
+ | grep "build-id d"
+],
+[0],
+[/usr/lib/.build-id drwxr-xr-x
+/usr/lib/debug/.build-id drwxr-xr-x
+],
+[ignore])
+AT_CLEANUP
+
+# ------------------------------
+# Check that build-id directories are created with the right attributes
+# even if the spec file sets config explicitly.
+AT_SETUP([rpmbuild buildid config attrs])
+AT_KEYWORDS([build] [debuginfo] [buildid])
+AT_CHECK([
+rm -rf ${TOPDIR}
+AS_MKDIR_P(${TOPDIR}/SOURCES)
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello.c ${TOPDIR}/SOURCES
+
+# Build, contains one ELF which should have a buildid.
+rundebug rpmbuild \
+ --define="_build_id_links compat" \
+ --define "_unique_debug_names 1" \
+ --define "_unique_debug_srcs 1" \
+ --quiet -ba "${abs_srcdir}"/data/SPECS/hello-config-buildid.spec
+
+# Should contain one config file.
+run rpm -c -qp ${abs_builddir}/testing/build/RPMS/*/test-1.0-1*rpm
+# Should not contain config files.
+run rpm -c -qp ${abs_builddir}/testing/build/RPMS/*/test-debuginfo-1.0-1*rpm
+],
+[0],
+[/etc/config.file
+],
+[ignore])
+AT_CLEANUP
diff --git a/tests/rpmconfig.at b/tests/rpmconfig.at
index 91c03ba57..87e9310dd 100644
--- a/tests/rpmconfig.at
+++ b/tests/rpmconfig.at
@@ -18,7 +18,7 @@ runroot rpmbuild --quiet -bb \
/data/SPECS/configtest.spec
echo "otherstuff" > "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
cat "${cf}"
runroot rpm -e configtest
cat "${cf}.rpmorig"
@@ -32,7 +32,7 @@ otherstuff
AT_CLEANUP
# Install over existing config file
-AT_SETUP([install config(noreplace) on existiting file])
+AT_SETUP([install config(noreplace) on existing file])
AT_KEYWORDS([install])
AT_CHECK([
RPMDB_CLEAR
@@ -44,19 +44,25 @@ rm -rf "${TOPDIR}"
runroot rpmbuild --quiet -bb \
--define "ver 1.0" \
--define "filedata foo" \
+ --define "noreplace 1" \
/data/SPECS/configtest.spec
echo "otherstuff" > "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
cat "${cf}"
+cat "${cf}.rpmnew"
runroot rpm -e configtest
-cat "${cf}.rpmorig"
+cat "${cf}.rpmsave"
+cat "${cf}.rpmnew"
],
[0],
-[foo
+[otherstuff
+foo
otherstuff
+foo
],
-[warning: /etc/my.conf saved as /etc/my.conf.rpmorig]
+[warning: /etc/my.conf created as /etc/my.conf.rpmnew
+warning: /etc/my.conf saved as /etc/my.conf.rpmsave]
)
AT_CLEANUP
@@ -76,7 +82,7 @@ runroot rpmbuild --quiet -bb \
/data/SPECS/configtest.spec
echo "foo" > "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
cat "${cf}"
runroot rpm -e configtest
test ! -f "${cf}"
@@ -102,7 +108,7 @@ runroot rpmbuild --quiet -bb \
--define "filedata foo" \
/data/SPECS/configtest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
cat "${cf}"
runroot rpm -e configtest
test ! -f "${cf}"
@@ -128,7 +134,7 @@ runroot rpmbuild --quiet -bb \
--define "filedata foo" \
/data/SPECS/configtest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
cat "${cf}"
echo "otherstuff" > "${cf}"
runroot rpm -e configtest
@@ -159,7 +165,7 @@ runroot rpmbuild --quiet -bb \
--define "noreplace 1" \
/data/SPECS/configtest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
cat "${cf}"
echo "otherstuff" > "${cf}"
runroot rpm -e configtest
@@ -192,9 +198,9 @@ for v in "1.0" "2.0"; do
/data/SPECS/configtest.spec
done
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
cat "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
cat "${cf}"
],
[0],
@@ -203,6 +209,34 @@ foo
],
[])
AT_CLEANUP
+
+# ------------------------------
+# (Build and) upgrade package with config file, no backup here
+AT_SETUP([upgrade unchanged config - touching test])
+AT_KEYWORDS([install])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filedata foo" \
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -Uvv --fsmdebug /build/RPMS/noarch/configtest-2.0-1.noarch.rpm > output.txt 2>&1
+grep -c "touch" output.txt
+],
+[0],
+[1
+],
+[])
+AT_CLEANUP
#
# ------------------------------
# Upgrade package with locally modified config file, unchanged in pkg
@@ -222,11 +256,11 @@ for v in "1.0" "2.0"; do
/data/SPECS/configtest.spec
done
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
cat "${cf}"
echo "otherstuff" > "${cf}"
cat "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
cat "${cf}"
],
[0],
@@ -255,9 +289,9 @@ for v in "1.0" "2.0"; do
/data/SPECS/configtest.spec
done
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
cat "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
cat "${cf}"
],
[0],
@@ -285,11 +319,11 @@ for v in "1.0" "2.0"; do
/data/SPECS/configtest.spec
done
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
cat "${cf}"
echo "otherstuff" > "${RPMTEST}"/etc/my.conf
cat "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
cat "${cf}"
cat "${cf}.rpmsave"
],
@@ -321,11 +355,11 @@ for v in "1.0" "2.0"; do
/data/SPECS/configtest.spec
done
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
cat "${cf}"
echo "foo-2.0" > "${RPMTEST}"/etc/my.conf
cat "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
cat "${cf}"
],
[0],
@@ -357,9 +391,9 @@ for v in "1.0" "2.0"; do
/data/SPECS/configtest.spec
done
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
cat "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
cat "${cf}"
],
[0],
@@ -389,11 +423,11 @@ for v in "1.0" "2.0"; do
/data/SPECS/configtest.spec
done
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
cat "${cf}"
echo "otherstuff" > "${cf}"
cat "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
cat "${cf}"
],
[0],
@@ -423,9 +457,9 @@ for v in "1.0" "2.0"; do
/data/SPECS/configtest.spec
done
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
cat "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
cat "${cf}"
],
[0],
@@ -454,11 +488,11 @@ for v in "1.0" "2.0"; do
/data/SPECS/configtest.spec
done
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
cat "${cf}"
echo "otherstuff" > "${RPMTEST}"/etc/my.conf
cat "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
cat "${cf}"
cat "${cf}.rpmnew"
],
@@ -491,11 +525,11 @@ for v in "1.0" "2.0"; do
/data/SPECS/configtest.spec
done
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
cat "${cf}"
echo "foo-2.0" > "${RPMTEST}"/etc/my.conf
cat "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
cat "${cf}"
],
[0],
@@ -529,12 +563,12 @@ for s in "A" "B"; do
done
runroot rpm -U \
- "${TOPDIR}"/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
cat "${cf}"
runroot rpm -U \
- "${TOPDIR}"/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
cat "${cf}"
],
[0],
@@ -567,14 +601,14 @@ for s in "A" "B"; do
done
runroot rpm -U \
- "${TOPDIR}"/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
cat "${cf}"
echo "otherstuff" > "${cf}"
cat "${cf}"
runroot rpm -U \
- "${TOPDIR}"/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
cat "${cf}"
],
[0],
@@ -607,12 +641,12 @@ for s in "A" "B"; do
done
runroot rpm -U \
- "${TOPDIR}"/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
cat "${cf}"
runroot rpm -U \
- "${TOPDIR}"/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
cat "${cf}"
],
[0],
@@ -644,14 +678,14 @@ for s in "A" "B"; do
done
runroot rpm -U \
- "${TOPDIR}"/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
cat "${cf}"
echo "otherstuff" > "${RPMTEST}"/etc/my.conf
cat "${cf}"
runroot rpm -U \
- "${TOPDIR}"/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
cat "${cf}"
cat "${cf}.rpmsave"
],
@@ -687,14 +721,14 @@ for s in "A" "B"; do
done
runroot rpm -U \
- "${TOPDIR}"/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
cat "${cf}"
echo "foo-2.0" > "${RPMTEST}"/etc/my.conf
cat "${cf}"
runroot rpm -U \
- "${TOPDIR}"/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
cat "${cf}"
],
[0],
@@ -729,14 +763,14 @@ for s in "A" "B"; do
done
runroot rpm -U \
- "${TOPDIR}"/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
cat "${cf}"
echo "otherstuff" > "${RPMTEST}"/etc/my.conf
cat "${cf}"
runroot rpm -U \
- "${TOPDIR}"/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
cat "${cf}"
cat "${cf}.rpmnew"
],
@@ -773,14 +807,14 @@ for s in "A" "B"; do
done
runroot rpm -U \
- "${TOPDIR}"/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
cat "${cf}"
echo "foo-2.0" > "${RPMTEST}"/etc/my.conf
cat "${cf}"
runroot rpm -U \
- "${TOPDIR}"/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
cat "${cf}"
],
[0],
@@ -815,18 +849,18 @@ done
test ! -f "${cf}" && echo OK1
echo "keaton" > "${cf}"
cat "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
cat "${cf}"
runroot rpm -e configtest
cat "${cf}"
rm -f "${cf}"
# post-install config, upgrade, erase
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
test ! -f "${cf}" && echo OK2
echo "buster" > "${cf}"
cat "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
cat "${cf}"
runroot rpm -e configtest
cat "${cf}"
diff --git a/tests/rpmconfig2.at b/tests/rpmconfig2.at
index 04053a1af..5974cb932 100644
--- a/tests/rpmconfig2.at
+++ b/tests/rpmconfig2.at
@@ -19,7 +19,7 @@ runroot rpmbuild --quiet -bb \
/data/SPECS/configtest.spec
ln -s "otherstuff" "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
readlink "${cf}"
runroot rpm -e configtest
readlink "${cf}.rpmorig"
@@ -50,7 +50,7 @@ runroot rpmbuild --quiet -bb \
ln -s "foo" "${cf}"
readlink "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
readlink "${cf}"
runroot rpm -e configtest
test ! -L "${cf}"
@@ -78,7 +78,7 @@ runroot rpmbuild --quiet -bb \
--define "filetype link" \
/data/SPECS/configtest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
readlink "${cf}"
runroot rpm -e configtest
test ! -L "${cf}"
@@ -105,7 +105,7 @@ runroot rpmbuild --quiet -bb \
--define "filetype link" \
/data/SPECS/configtest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
readlink "${cf}"
ln -sf "otherstuff" "${cf}"
runroot rpm -e configtest
@@ -138,9 +138,9 @@ for v in "1.0" "2.0"; do
/data/SPECS/configtest.spec
done
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
readlink "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
readlink "${cf}"
],
[0],
@@ -151,6 +151,35 @@ foo
AT_CLEANUP
#
+# (Build and) upgrade package with config link, no backup here
+AT_SETUP([upgrade unchanged config link - touching test])
+AT_KEYWORDS([install])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filedata foo" \
+ --define "filetype link" \
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -Uvv --fsmdebug /build/RPMS/noarch/configtest-2.0-1.noarch.rpm > output.txt 2>&1
+grep -c "touch" output.txt
+],
+[0],
+[1
+],
+[])
+AT_CLEANUP
+
+#
# ------------------------------
# Upgrade package with modified config link, unchanged in pkg. No backup.
AT_SETUP([upgrade modified config link])
@@ -170,11 +199,11 @@ for v in "1.0" "2.0"; do
/data/SPECS/configtest.spec
done
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
readlink "${cf}"
ln -sf "otherstuff" "${cf}"
readlink "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
readlink "${cf}"
],
[0],
@@ -204,9 +233,9 @@ for v in "1.0" "2.0"; do
/data/SPECS/configtest.spec
done
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
readlink "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
readlink "${cf}"
],
[0],
@@ -235,11 +264,11 @@ for v in "1.0" "2.0"; do
/data/SPECS/configtest.spec
done
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
readlink "${cf}"
ln -sf "otherstuff" "${cf}"
readlink "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
readlink "${cf}"
readlink "${cf}.rpmsave"
],
@@ -272,11 +301,11 @@ for v in "1.0" "2.0"; do
/data/SPECS/configtest.spec
done
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
readlink "${cf}"
ln -sf "foo-2.0" "${cf}"
readlink "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
readlink "${cf}"
],
[0],
@@ -309,9 +338,9 @@ for v in "1.0" "2.0"; do
/data/SPECS/configtest.spec
done
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
readlink "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
readlink "${cf}"
],
[0],
@@ -342,11 +371,11 @@ for v in "1.0" "2.0"; do
/data/SPECS/configtest.spec
done
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
readlink "${cf}"
ln -sf "otherstuff" "${cf}"
readlink "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
readlink "${cf}"
],
[0],
@@ -377,9 +406,9 @@ for v in "1.0" "2.0"; do
/data/SPECS/configtest.spec
done
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
readlink "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
readlink "${cf}"
],
[0],
@@ -409,11 +438,11 @@ for v in "1.0" "2.0"; do
/data/SPECS/configtest.spec
done
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
readlink "${cf}"
ln -sf "otherstuff" "${cf}"
readlink "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
readlink "${cf}"
readlink "${cf}.rpmnew"
],
@@ -447,11 +476,11 @@ for v in "1.0" "2.0"; do
/data/SPECS/configtest.spec
done
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
readlink "${cf}"
ln -sf "foo-2.0" "${cf}"
readlink "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
readlink "${cf}"
test ! -L "${cf}.rpmnew"
],
@@ -487,12 +516,12 @@ for s in "A" "B"; do
done
runroot rpm -U \
- "${TOPDIR}"/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
readlink "${cf}"
runroot rpm -U \
- "${TOPDIR}"/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
readlink "${cf}"
],
[0],
@@ -526,14 +555,14 @@ for s in "A" "B"; do
done
runroot rpm -U \
- "${TOPDIR}"/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
readlink "${cf}"
ln -sf "otherstuff" "${cf}"
readlink "${cf}"
runroot rpm -U \
- "${TOPDIR}"/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
readlink "${cf}"
],
[0],
@@ -567,12 +596,12 @@ for s in "A" "B"; do
done
runroot rpm -U \
- "${TOPDIR}"/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
readlink "${cf}"
runroot rpm -U \
- "${TOPDIR}"/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
readlink "${cf}"
],
[0],
@@ -605,14 +634,14 @@ for s in "A" "B"; do
done
runroot rpm -U \
- "${TOPDIR}"/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
readlink "${cf}"
ln -sf "otherstuff" "${cf}"
readlink "${cf}"
runroot rpm -U \
- "${TOPDIR}"/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
readlink "${cf}"
readlink "${cf}.rpmsave"
],
@@ -649,14 +678,14 @@ for s in "A" "B"; do
done
runroot rpm -U \
- "${TOPDIR}"/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
readlink "${cf}"
ln -sf "foo-2.0" "${cf}"
readlink "${cf}"
runroot rpm -U \
- "${TOPDIR}"/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
readlink "${cf}"
],
[0],
@@ -692,14 +721,14 @@ for s in "A" "B"; do
done
runroot rpm -U \
- "${TOPDIR}"/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
readlink "${cf}"
ln -sf "otherstuff" "${cf}"
readlink "${cf}"
runroot rpm -U \
- "${TOPDIR}"/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
readlink "${cf}"
readlink "${cf}.rpmnew"
],
@@ -737,14 +766,14 @@ for s in "A" "B"; do
done
runroot rpm -U \
- "${TOPDIR}"/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
readlink "${cf}"
ln -sf "foo-2.0" "${cf}"
readlink "${cf}"
runroot rpm -U \
- "${TOPDIR}"/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
readlink "${cf}"
test ! -L "${cf}.rpmnew"
],
diff --git a/tests/rpmconfig3.at b/tests/rpmconfig3.at
index 5a32c0c34..db2e44e17 100644
--- a/tests/rpmconfig3.at
+++ b/tests/rpmconfig3.at
@@ -25,11 +25,11 @@ runroot rpmbuild --quiet -bb \
--define "noconfig 1" \
/data/SPECS/configtest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
cat "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
cat "${cf}"
-runroot rpm -U --oldpackage "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U --oldpackage /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
cat "${cf}"
],
[0],
@@ -63,14 +63,14 @@ runroot rpmbuild --quiet -bb \
--define "noconfig 1" \
/data/SPECS/configtest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
cat "${cf}"
echo "otherstuff" > "${cf}"
cat "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
cat "${cf}"
cat "${cf}.rpmsave"
-runroot rpm -U --oldpackage "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U --oldpackage /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
cat "${cf}"
],
[0],
@@ -107,13 +107,13 @@ runroot rpmbuild --quiet -bb \
--define "noconfig 1" \
/data/SPECS/configtest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
cat "${cf}"
echo "bar" > "${cf}"
cat "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
cat "${cf}"
-runroot rpm -U --oldpackage "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U --oldpackage /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
cat "${cf}"
],
[0],
@@ -147,11 +147,11 @@ runroot rpmbuild --quiet -bb \
--define "filedata bar" \
/data/SPECS/configtest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
cat "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
readlink "${cf}"
-runroot rpm -U --oldpackage "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U --oldpackage /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
cat "${cf}"
],
[0],
@@ -184,11 +184,11 @@ runroot rpmbuild --quiet -bb \
--define "filedata bar" \
/data/SPECS/configtest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
cat "${cf}"
echo "otherstuff" > "${cf}"
cat "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
readlink "${cf}"
cat "${cf}.rpmsave"
],
@@ -224,11 +224,11 @@ runroot rpmbuild --quiet -bb \
--define "filedata bar" \
/data/SPECS/configtest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
readlink "${cf}"
ln -sf "otherstuff" "${cf}"
readlink "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
cat "${cf}"
readlink "${cf}.rpmsave"
],
@@ -263,9 +263,9 @@ runroot rpmbuild --quiet -bb \
--define "filetype dir" \
/data/SPECS/configtest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
cat "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
test -d "${cf}"
],
[0],
@@ -295,11 +295,11 @@ runroot rpmbuild --quiet -bb \
--define "filetype dir" \
/data/SPECS/configtest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
cat "${cf}"
echo "otherstuff" > "${cf}"
cat "${cf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
test -d "${cf}"
cat "${cf}.rpmsave"
],
diff --git a/tests/rpmconflict.at b/tests/rpmconflict.at
index 90d077d61..ba6b41aab 100644
--- a/tests/rpmconflict.at
+++ b/tests/rpmconflict.at
@@ -1,6 +1,6 @@
# rpmconflict.at: rpm file conflict tests
-AT_BANNER([RPM file conflicts])
+AT_BANNER([RPM implicit file conflicts])
# ------------------------------
# (Build and) install conflicting package (should fail)
@@ -18,8 +18,8 @@ for p in "one" "two"; do
/data/SPECS/conflicttest.spec
done
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/conflictone-1.0-1.noarch.rpm
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/conflicttwo-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/conflictone-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/conflicttwo-1.0-1.noarch.rpm
],
[1],
[ignore],
@@ -35,8 +35,8 @@ RPMDB_CLEAR
RPMDB_INIT
runroot rpm -U \
- "${TOPDIR}"/RPMS/noarch/conflictone-1.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/conflicttwo-1.0-1.noarch.rpm
+ /build/RPMS/noarch/conflictone-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/conflicttwo-1.0-1.noarch.rpm
],
[2],
[ignore],
@@ -59,8 +59,8 @@ for p in "one" "two"; do
/data/SPECS/conflicttest.spec
done
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/conflictone-1.0-1.noarch.rpm
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/conflicttwo-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/conflictone-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/conflicttwo-1.0-1.noarch.rpm
],
[0],
[ignore],
@@ -76,8 +76,8 @@ RPMDB_CLEAR
RPMDB_INIT
runroot rpm -U \
- "${TOPDIR}"/RPMS/noarch/conflictone-1.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/conflicttwo-1.0-1.noarch.rpm
+ /build/RPMS/noarch/conflictone-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/conflicttwo-1.0-1.noarch.rpm
],
[0],
[ignore],
@@ -95,7 +95,7 @@ rm -rf "${TOPDIR}"
runroot rpmbuild --quiet -bb /data/SPECS/selfconflict.spec
rm -rf "${RPMTEST}"/opt/mydir
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/selfconflict-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/selfconflict-1.0-1.noarch.rpm
],
[0],
[],
@@ -115,7 +115,7 @@ runroot rpmbuild --quiet -bb /data/SPECS/selfconflict.spec
rm -rf "${RPMTEST}"/opt/mydir
mkdir -p "${RPMTEST}"/opt/mydir/one
ln -s one "${RPMTEST}"/opt/mydir/two
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/selfconflict-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/selfconflict-1.0-1.noarch.rpm
],
[1],
[],
@@ -288,7 +288,7 @@ runroot rpm -U --ignoreos --ignorearch --nodeps \
--define "_transaction_color 3" \
--define "_prefer_color 2" \
/data/RPMS/hello-2.0-1.x86_64.rpm \
- "${TOPDIR}"/RPMS/noarch/hello-script-1.0-1.noarch.rpm
+ /build/RPMS/noarch/hello-script-1.0-1.noarch.rpm
],
[2],
[],
@@ -313,7 +313,7 @@ runroot rpm -U --ignoreos --ignorearch --nodeps \
runroot rpm -U --ignoreos --ignorearch --nodeps \
--define "_transaction_color 3" \
--define "_prefer_color 2" \
- "${TOPDIR}"/RPMS/noarch/hello-script-1.0-1.noarch.rpm
+ /build/RPMS/noarch/hello-script-1.0-1.noarch.rpm
],
[1],
[],
@@ -333,7 +333,7 @@ runroot rpmbuild --quiet -bb /data/SPECS/hello-script.spec
runroot rpm -U --ignoreos --ignorearch --nodeps \
--define "_transaction_color 3" \
--define "_prefer_color 2" \
- "${TOPDIR}"/RPMS/noarch/hello-script-1.0-1.noarch.rpm
+ /build/RPMS/noarch/hello-script-1.0-1.noarch.rpm
runroot rpm -U --ignoreos --ignorearch --nodeps \
--define "_transaction_color 3" \
@@ -361,8 +361,8 @@ runroot rpmbuild --quiet -bb \
runroot rpmbuild --quiet -bb \
--define "rel 2" --with symlink /data/SPECS/symlinktest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/symlinktest-1.0-1.noarch.rpm
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/symlinktest-1.0-2.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/symlinktest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/symlinktest-1.0-2.noarch.rpm
],
[2],
[],
@@ -385,8 +385,8 @@ runroot rpmbuild --quiet -bb \
runroot rpmbuild --quiet -bb \
--define "rel 2" --without symlink /data/SPECS/symlinktest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/symlinktest-1.0-1.noarch.rpm
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/symlinktest-1.0-2.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/symlinktest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/symlinktest-1.0-2.noarch.rpm
],
[2],
[],
@@ -414,8 +414,8 @@ runroot rpmbuild --quiet -bb \
test ! -f "${fn}" && echo OK
runroot rpm -U \
- "${TOPDIR}"/RPMS/noarch/conflictone-1.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/conflicttwo-1.0-1.noarch.rpm
+ /build/RPMS/noarch/conflictone-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/conflicttwo-1.0-1.noarch.rpm
cat "${fn}"
runroot rpm -e conflicttwo
cat "${fn}"
diff --git a/tests/rpmdb.at b/tests/rpmdb.at
index 5b10ac67a..e1893c7cd 100644
--- a/tests/rpmdb.at
+++ b/tests/rpmdb.at
@@ -103,7 +103,7 @@ AT_CLEANUP
# ------------------------------
# reinstall a noarch package (with no files)
-AT_SETUP([rpm -U --replacepkgs])
+AT_SETUP([rpm -U --replacepkgs 1])
AT_KEYWORDS([rpmdb install])
AT_CHECK([
@@ -124,6 +124,49 @@ runroot rpm -i "${tpkg}" &&
AT_CLEANUP
# ------------------------------
+# reinstall a package with different file policies
+AT_SETUP([rpm -U --replacepkgs 2])
+AT_KEYWORDS([rpmdb install])
+
+AT_CHECK([
+AT_XFAIL_IF([test $RPM_XFAIL -ne 0])
+RPMDB_CLEAR
+RPMDB_INIT
+
+tpkg="/data/RPMS/hello-2.0-1.i686.rpm"
+
+runroot rpm -U --nodeps --ignorearch "${tpkg}" &&
+ runroot rpm -U --nodeps --ignorearch --nodocs --replacepkgs "${tpkg}" &&
+ runroot rpm -e hello
+test -d "${RPMTEST}"/usr/share/doc/hello-2.0
+],
+[1],
+[],
+[])
+AT_CLEANUP
+
+# ------------------------------
+# reinstall a package with different file policies
+AT_SETUP([rpm --reinstall 1])
+AT_KEYWORDS([rpmdb install])
+
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+
+tpkg="/data/RPMS/hello-2.0-1.i686.rpm"
+
+runroot rpm -U --nodeps --ignorearch "${tpkg}" &&
+ runroot rpm --reinstall --nodeps --ignorearch --nodocs "${tpkg}" &&
+ runroot rpm -e hello
+test -d "${RPMTEST}"/usr/share/doc/hello-2.0
+],
+[1],
+[],
+[])
+AT_CLEANUP
+
+# ------------------------------
# install a package into a local rpmdb
# * Shall only work with relocation
# * Use --ignorearch because we don't know the arch
@@ -162,6 +205,44 @@ runroot rpm -i \
AT_CLEANUP
+AT_SETUP([rpmdb --rebuilddb])
+AT_KEYWORDS([rpmdb])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+
+runroot rpm -U --noscripts --nodeps --ignorearch \
+ /data/RPMS/hello-1.0-1.i386.rpm
+runroot rpm -qa --qf "%{nevra} %{dbinstance}\n"
+runroot rpm -U --noscripts --nodeps --ignorearch \
+ /data/RPMS/hello-2.0-1.i686.rpm
+runroot rpm -qa --qf "%{nevra} %{dbinstance}\n"
+runroot rpmdb --rebuilddb
+runroot rpm -qa --qf "%{nevra} %{dbinstance}\n"
+],
+[],
+[hello-1.0-1.i386 1
+hello-2.0-1.i686 2
+hello-2.0-1.i686 1
+],
+[])
+AT_CLEANUP
+
+# ------------------------------
+# Attempt to initialize, rebuild and verify a db
+AT_SETUP([rpmdb --rebuilddb and verify empty database])
+AT_KEYWORDS([rpmdb])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+runroot rpmdb --rebuilddb
+runroot rpmdb --verifydb
+],
+[0],
+[],
+[])
+AT_CLEANUP
+
# ------------------------------
# Install and verify status
AT_SETUP([rpm -U and verify status])
@@ -176,7 +257,7 @@ runroot rpmbuild --quiet -bb \
--define "filedata same_stuff" \
/data/SPECS/conflicttest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/conflictstatus-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/conflictstatus-1.0-1.noarch.rpm
runroot rpm -qls conflictstatus
],
[0],
@@ -197,11 +278,12 @@ rm -rf "${TOPDIR}"
runroot rpmbuild --quiet -bb \
/data/SPECS/flangtest.spec
-runroot rpm -U --define "_install_langs de:fi" "${TOPDIR}"/RPMS/noarch/flangtest-1.0-1.noarch.rpm
+runroot rpm -U --define "_install_langs de:fi" /build/RPMS/noarch/flangtest-1.0-1.noarch.rpm
runroot rpm -qls flangtest
],
[0],
[normal /usr/share/flangtest/de.txt
+normal /usr/share/flangtest/empty.txt
not installed /usr/share/flangtest/en.txt
normal /usr/share/flangtest/fi.txt
normal /usr/share/flangtest/none.txt
@@ -221,7 +303,7 @@ rm -rf "${TOPDIR}"
rm -rf "${RPMTEST}"/opt/*
runroot rpmbuild --quiet -bb /data/SPECS/selfconflict.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/selfconflict-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/selfconflict-1.0-1.noarch.rpm
find "${RPMTEST}"/opt | wc -l
],
[0],
@@ -242,7 +324,7 @@ rm -rf "${TOPDIR}"
rm -rf "${RPMTEST}"/opt/*
runroot rpmbuild --quiet -bb /data/SPECS/selfconflict.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/selfconflict-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/selfconflict-1.0-1.noarch.rpm
runroot rpm -e selfconflict
find "${RPMTEST}"/opt | wc -l
],
diff --git a/tests/rpmdeps.at b/tests/rpmdeps.at
index 5e828c273..c7f3f91f4 100644
--- a/tests/rpmdeps.at
+++ b/tests/rpmdeps.at
@@ -16,7 +16,7 @@ runroot rpmbuild --quiet -bb \
--define "reqs deptest-two" \
/data/SPECS/deptest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
],
[1],
[],
@@ -44,7 +44,7 @@ runroot rpmbuild --quiet -bb \
--define "reqs deptest-one" \
/data/SPECS/deptest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/deptest-one-1.0-1.noarch.rpm "${TOPDIR}"/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
],
[0],
[],
@@ -70,7 +70,7 @@ runroot rpmbuild --quiet -bb \
--define "provs deptest-foo = 1.0" \
/data/SPECS/deptest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/deptest-one-1.0-1.noarch.rpm "${TOPDIR}"/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
],
[2],
[],
@@ -98,7 +98,7 @@ runroot rpmbuild --quiet -bb \
--define "provs deptest-foo = 2.0" \
/data/SPECS/deptest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/deptest-one-1.0-1.noarch.rpm "${TOPDIR}"/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
],
[0],
[],
@@ -123,7 +123,7 @@ runroot rpmbuild --quiet -bb \
--define "pkg two" \
/data/SPECS/deptest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/deptest-one-1.0-1.noarch.rpm "${TOPDIR}"/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
],
[2],
[],
@@ -150,8 +150,8 @@ runroot rpmbuild --quiet -bb \
--define "pkg two" \
/data/SPECS/deptest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
],
[1],
[],
@@ -159,6 +159,66 @@ runroot rpm -U "${TOPDIR}"/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
deptest-two < 2.0 conflicts with (installed) deptest-one-1.0-1.noarch
])
AT_CLEANUP
+
+AT_SETUP([install and verify self-conflicting package])
+AT_KEYWORDS([install])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "provs something" \
+ --define "cfls something" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+runroot rpm -V --nofiles deptest-one
+],
+[0],
+[],
+[])
+AT_CLEANUP
+
+# explicit file conflicts
+AT_SETUP([explicit file conflicts])
+AT_KEYWORDS([install])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "cfls /opt/bar" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U --test \
+ /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+runroot rpm -e deptest-one
+# XXX FIXME: rpm's problem message for this case is higly bogus.
+runroot rpm -U /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+runroot rpm -e deptest-two
+],
+[],
+[],
+[error: Failed dependencies:
+ /opt/bar conflicts with deptest-one-1.0-1.noarch
+error: Failed dependencies:
+ /opt/bar conflicts with (installed) deptest-one-1.0-1.noarch
+error: Failed dependencies:
+ /opt/bar conflicts with deptest-one-1.0-1.noarch
+])
+AT_CLEANUP
# ------------------------------
#
AT_SETUP([erase to break dependencies])
@@ -178,7 +238,7 @@ runroot rpmbuild --quiet -bb \
--define "provs deptest-foo = 2.0" \
/data/SPECS/deptest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/deptest-one-1.0-1.noarch.rpm "${TOPDIR}"/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
runroot rpm -e deptest-two
],
[1],
@@ -206,7 +266,7 @@ runroot rpm -U --ignoreos --ignorearch --nodeps \
--define "_prefer_color 2" \
/data/RPMS/hello-2.0-1.i686.rpm \
/data/RPMS/hello-2.0-1.x86_64.rpm \
- "${TOPDIR}"/RPMS/noarch/deptest-hello-1.0-1.noarch.rpm
+ /build/RPMS/noarch/deptest-hello-1.0-1.noarch.rpm
runroot rpm -e hello.x86_64
],
@@ -235,7 +295,7 @@ runroot rpm -U --ignoreos --ignorearch --nodeps \
--define "_prefer_color 2" \
/data/RPMS/hello-2.0-1.i686.rpm \
/data/RPMS/hello-2.0-1.x86_64.rpm \
- "${TOPDIR}"/RPMS/noarch/deptest-hello-1.0-1.noarch.rpm
+ /build/RPMS/noarch/deptest-hello-1.0-1.noarch.rpm
runroot rpm -e hello.i686
],
@@ -243,3 +303,654 @@ runroot rpm -e hello.i686
[],
[])
AT_CLEANUP
+
+# ------------------------------
+#
+AT_SETUP([unsatisfied WITH require])
+AT_KEYWORDS([install, boolean])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two with flavor = dekstop)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ --define "provs flavor = server" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg three" \
+ --define "provs flavor = desktop" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm
+],
+[3],
+[],
+[error: Failed dependencies:
+ (deptest-two with flavor = dekstop) is needed by deptest-one-1.0-1.noarch
+])
+AT_CLEANUP
+
+AT_SETUP([unsatisfied WITH require (rpmdb)])
+AT_KEYWORDS([install, boolean])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two with flavor = dekstop)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ --define "provs flavor = server" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg three" \
+ --define "provs flavor = desktop" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+],
+[1],
+[],
+[error: Failed dependencies:
+ (deptest-two with flavor = dekstop) is needed by deptest-one-1.0-1.noarch
+])
+AT_CLEANUP
+
+AT_SETUP([satisfied WITH require])
+AT_KEYWORDS([install, boolean])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two with flavor = desktop)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ --define "provs flavor = desktop" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+],
+[0],
+[],
+[])
+AT_CLEANUP
+
+AT_SETUP([satisfied WITH require (rpmdb)])
+AT_KEYWORDS([install, boolean])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two with flavor = desktop)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ --define "provs flavor = desktop" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+],
+[0],
+[],
+[])
+AT_CLEANUP
+
+# ------------------------------
+#
+AT_SETUP([unsatisfied WITHOUT require])
+AT_KEYWORDS([install, boolean])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two without flavor)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ --define "provs flavor = server" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+],
+[2],
+[],
+[error: Failed dependencies:
+ (deptest-two without flavor) is needed by deptest-one-1.0-1.noarch
+])
+AT_CLEANUP
+
+AT_SETUP([unsatisfied WITHOUT require (rpmdb)])
+AT_KEYWORDS([install, boolean])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two without flavor)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ --define "provs flavor = server" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+],
+[1],
+[],
+[error: Failed dependencies:
+ (deptest-two without flavor) is needed by deptest-one-1.0-1.noarch
+])
+AT_CLEANUP
+
+AT_SETUP([satisfied WITHOUT require])
+AT_KEYWORDS([install, boolean])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two without flavor)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+],
+[0],
+[],
+[])
+AT_CLEANUP
+
+AT_SETUP([satisfied WITHOUT require (rpmdb)])
+AT_KEYWORDS([install, boolean])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two without flavor)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+],
+[0],
+[],
+[])
+AT_CLEANUP
+
+# ------------------------------
+#
+AT_SETUP([unsatisfied AND require - all missing])
+AT_KEYWORDS([install, boolean])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two and deptest-three)" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+],
+[1],
+[],
+[error: Failed dependencies:
+ (deptest-two and deptest-three) is needed by deptest-one-1.0-1.noarch
+])
+AT_CLEANUP
+
+AT_SETUP([unsatisfied AND require - first is missing])
+AT_KEYWORDS([install, boolean])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two and deptest-three)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg three" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm
+],
+[2],
+[],
+[error: Failed dependencies:
+ (deptest-two and deptest-three) is needed by deptest-one-1.0-1.noarch
+])
+AT_CLEANUP
+
+AT_SETUP([unsatisfied AND require - second is missing])
+AT_KEYWORDS([install, boolean])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two and deptest-three)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+],
+[2],
+[],
+[error: Failed dependencies:
+ (deptest-two and deptest-three) is needed by deptest-one-1.0-1.noarch
+])
+AT_CLEANUP
+
+AT_SETUP([satisfied AND require])
+AT_KEYWORDS([install, boolean])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two and deptest-three)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg three" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm
+],
+[0],
+[],
+[])
+AT_CLEANUP
+
+# ------------------------------
+#
+AT_SETUP([unsatisfied OR require - all missing])
+AT_KEYWORDS([install, boolean])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two or deptest-three)" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+],
+[1],
+[],
+[error: Failed dependencies:
+ (deptest-two or deptest-three) is needed by deptest-one-1.0-1.noarch
+])
+AT_CLEANUP
+
+AT_SETUP([satisfied OR require - first is missing])
+AT_KEYWORDS([install, boolean])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two or deptest-three)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg three" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm
+],
+[0],
+[],
+[])
+AT_CLEANUP
+
+AT_SETUP([satisfied OR require - second is missing])
+AT_KEYWORDS([install, boolean])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two or deptest-three)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+],
+[0],
+[],
+[])
+AT_CLEANUP
+
+AT_SETUP([satisfied OR require - both present])
+AT_KEYWORDS([install, boolean])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two or deptest-three)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg three" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm
+],
+[0],
+[],
+[])
+AT_CLEANUP
+
+# ------------------------------
+#
+AT_SETUP([unsatisfied IF require])
+AT_KEYWORDS([install, boolean])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two if deptest-three)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg three" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm
+],
+[2],
+[],
+[error: Failed dependencies:
+ (deptest-two if deptest-three) is needed by deptest-one-1.0-1.noarch
+])
+AT_CLEANUP
+
+AT_SETUP([satisfied IF require])
+AT_KEYWORDS([install, boolean])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two if deptest-three)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg three" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+],
+[0],
+[],
+[])
+AT_CLEANUP
+
+AT_SETUP([unsatisfied IF-ELSE require])
+AT_KEYWORDS([install, boolean])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two if deptest-three else deptest-four)" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+],
+[1],
+[],
+[error: Failed dependencies:
+ (deptest-two if deptest-three else deptest-four) is needed by deptest-one-1.0-1.noarch
+])
+AT_CLEANUP
+
+AT_SETUP([satisfied IF-ELSE require - right clause])
+AT_KEYWORDS([install, boolean])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two if deptest-three else deptest-four)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg four" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-four-1.0-1.noarch.rpm
+],
+[0],
+[],
+[])
+AT_CLEANUP
+
+AT_SETUP([satisfied IF-ELSE require - left clause])
+AT_KEYWORDS([install, boolean])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two if deptest-three else deptest-four)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg three" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+],
+[0],
+[],
+[])
+AT_CLEANUP
+
+# ------------------------------
+#
+AT_SETUP([unsatisfied nested AND-OR require])
+AT_KEYWORDS([install, boolean])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two and (deptest-three or deptest-four))" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+],
+[2],
+[],
+[error: Failed dependencies:
+ (deptest-two and (deptest-three or deptest-four)) is needed by deptest-one-1.0-1.noarch
+])
+AT_CLEANUP
+
+AT_SETUP([satisfied nested AND-OR require])
+AT_KEYWORDS([install, boolean])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two and (deptest-three or deptest-four))" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg three" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm
+],
+[0],
+[],
+[])
+AT_CLEANUP
+
+# ------------------------------
+#
+AT_SETUP([satisfied nested AND-IF require - without right clause])
+AT_KEYWORDS([install, boolean])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two and (deptest-three if deptest-four))" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+],
+[0],
+[],
+[])
+AT_CLEANUP
+
+AT_SETUP([satisfied nested AND-IF require - with right clause])
+AT_KEYWORDS([install, boolean])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two and (deptest-three if deptest-four))" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg four" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg three" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-four-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm
+],
+[0],
+[],
+[])
+AT_CLEANUP
diff --git a/tests/rpmgeneral.at b/tests/rpmgeneral.at
index eb0d86dda..509277f2c 100644
--- a/tests/rpmgeneral.at
+++ b/tests/rpmgeneral.at
@@ -62,7 +62,6 @@ CHANGELOGNAME
CHANGELOGTEXT
CHANGELOGTIME
CLASSDICT
-COLLECTIONS
CONFLICTFLAGS
CONFLICTNAME
CONFLICTNEVRS
@@ -79,10 +78,12 @@ DISTTAG
DISTURL
DSAHEADER
E
+ENCODING
+ENHANCEFLAGS
+ENHANCENAME
+ENHANCENEVRS
ENHANCES
-ENHANCESFLAGS
-ENHANCESNAME
-ENHANCESVERSION
+ENHANCEVERSION
EPOCH
EPOCHNUM
EVR
@@ -112,8 +113,20 @@ FILENLINKS
FILEPROVIDE
FILERDEVS
FILEREQUIRE
+FILESIGNATURELENGTH
+FILESIGNATURES
FILESIZES
FILESTATES
+FILETRIGGERCONDS
+FILETRIGGERFLAGS
+FILETRIGGERINDEX
+FILETRIGGERNAME
+FILETRIGGERPRIORITIES
+FILETRIGGERSCRIPTFLAGS
+FILETRIGGERSCRIPTPROG
+FILETRIGGERSCRIPTS
+FILETRIGGERTYPE
+FILETRIGGERVERSION
FILEUSERNAME
FILEVERIFYFLAGS
FSCONTEXTS
@@ -151,7 +164,15 @@ OBSOLETENAME
OBSOLETENEVRS
OBSOLETES
OBSOLETEVERSION
+OLDENHANCES
+OLDENHANCESFLAGS
+OLDENHANCESNAME
+OLDENHANCESVERSION
OLDFILENAMES
+OLDSUGGESTS
+OLDSUGGESTSFLAGS
+OLDSUGGESTSNAME
+OLDSUGGESTSVERSION
OPTFLAGS
ORDERFLAGS
ORDERNAME
@@ -168,6 +189,8 @@ PATCHESFLAGS
PATCHESNAME
PATCHESVERSION
PAYLOADCOMPRESSOR
+PAYLOADDIGEST
+PAYLOADDIGESTALGO
PAYLOADFLAGS
PAYLOADFORMAT
PKGID
@@ -203,6 +226,11 @@ PROVIDES
PROVIDEVERSION
PUBKEYS
R
+RECOMMENDFLAGS
+RECOMMENDNAME
+RECOMMENDNEVRS
+RECOMMENDS
+RECOMMENDVERSION
RECONTEXTS
RELEASE
REMOVETID
@@ -214,6 +242,7 @@ REQUIREVERSION
RPMVERSION
RSAHEADER
SHA1HEADER
+SHA256HEADER
SIGGPG
SIGMD5
SIGPGP
@@ -223,11 +252,27 @@ SOURCE
SOURCEPACKAGE
SOURCEPKGID
SOURCERPM
+SUGGESTFLAGS
+SUGGESTNAME
+SUGGESTNEVRS
SUGGESTS
-SUGGESTSFLAGS
-SUGGESTSNAME
-SUGGESTSVERSION
+SUGGESTVERSION
SUMMARY
+SUPPLEMENTFLAGS
+SUPPLEMENTNAME
+SUPPLEMENTNEVRS
+SUPPLEMENTS
+SUPPLEMENTVERSION
+TRANSFILETRIGGERCONDS
+TRANSFILETRIGGERFLAGS
+TRANSFILETRIGGERINDEX
+TRANSFILETRIGGERNAME
+TRANSFILETRIGGERPRIORITIES
+TRANSFILETRIGGERSCRIPTFLAGS
+TRANSFILETRIGGERSCRIPTPROG
+TRANSFILETRIGGERSCRIPTS
+TRANSFILETRIGGERTYPE
+TRANSFILETRIGGERVERSION
TRIGGERCONDS
TRIGGERFLAGS
TRIGGERINDEX
diff --git a/tests/rpmi.at b/tests/rpmi.at
index 04491c841..8357a8cb3 100644
--- a/tests/rpmi.at
+++ b/tests/rpmi.at
@@ -18,6 +18,180 @@
AT_BANNER([RPM install tests])
+AT_SETUP([rpm -U <manifest>])
+AT_KEYWORDS([install])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+
+echo /data/RPMS/hello-2.0-1.x86_64.rpm > ${RPMTEST}/tmp/test.mft
+runroot rpm -U --ignorearch --ignoreos --nodeps \
+ /tmp/test.mft
+],
+[0],
+[],
+[])
+AT_CLEANUP
+
+AT_SETUP([rpm -U <manifest notfound 1>])
+AT_KEYWORDS([install])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+
+echo /data/RPMS/hello-2.0-1.x86_64.rpm > ${RPMTEST}/tmp/test.mft
+runroot rpm -U --ignorearch --ignoreos --nodeps \
+ /tmp/test-not-there.mft
+],
+[1],
+[],
+[error: open of /tmp/test-not-there.mft failed: No such file or directory
+])
+AT_CLEANUP
+
+AT_SETUP([rpm -U <manifest notfound 2>])
+AT_KEYWORDS([install])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+
+echo /data/RPMS/hello-not-there-2.0-1.x86_64.rpm > ${RPMTEST}/tmp/test.mft
+runroot rpm -U --ignorearch --ignoreos --nodeps \
+ /tmp/test.mft
+],
+[1],
+[],
+[error: open of /data/RPMS/hello-not-there-2.0-1.x86_64.rpm failed: No such file or directory
+])
+AT_CLEANUP
+
+AT_SETUP([rpm -U <notfound>])
+AT_KEYWORDS([install])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+
+runroot rpm -U --ignorearch --ignoreos --nodeps \
+ /data/RPMS/hello-not-there-2.0-1.x86_64.rpm
+],
+[1],
+[],
+[error: open of /data/RPMS/hello-not-there-2.0-1.x86_64.rpm failed: No such file or directory
+])
+AT_CLEANUP
+
+AT_SETUP([rpm -U <unsigned>])
+AT_KEYWORDS([install])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+
+runroot rpm -U --ignorearch --ignoreos --nodeps \
+ /data/RPMS/hello-2.0-1.x86_64.rpm
+],
+[0],
+[],
+[])
+AT_CLEANUP
+
+AT_SETUP([rpm -U <signed nokey>])
+AT_KEYWORDS([install])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+
+runroot rpm -U --ignorearch --ignoreos --nodeps \
+ /data/RPMS/hello-2.0-1.x86_64-signed.rpm
+],
+[0],
+[],
+[warning: /data/RPMS/hello-2.0-1.x86_64-signed.rpm: Header V4 RSA/SHA256 Signature, key ID 1964c5fc: NOKEY
+])
+AT_CLEANUP
+
+AT_SETUP([rpm -U <signed>])
+AT_KEYWORDS([install])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+
+runroot rpmkeys --import /data/keys/rpm.org-rsa-2048-test.pub
+runroot rpm -U --ignorearch --ignoreos --nodeps \
+ /data/RPMS/hello-2.0-1.x86_64-signed.rpm
+],
+[0],
+[],
+[])
+AT_CLEANUP
+
+AT_SETUP([rpm -U <corrupted signed 1>])
+AT_KEYWORDS([install])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+
+pkg="hello-2.0-1.x86_64-signed.rpm"
+cp "${RPMTEST}"/data/RPMS/${pkg} "${RPMTEST}"/tmp/${pkg}
+dd if=/dev/zero of="${RPMTEST}"/tmp/${pkg} \
+ conv=notrunc bs=1 seek=264 count=2 2> /dev/null
+
+runroot rpm -U --ignorearch --ignoreos --nodeps \
+ /tmp/${pkg}
+],
+[1],
+[],
+[error: /tmp/hello-2.0-1.x86_64-signed.rpm: Header signature: BAD (package tag 268: invalid OpenPGP signature)
+error: /tmp/hello-2.0-1.x86_64-signed.rpm cannot be installed
+])
+AT_CLEANUP
+
+AT_SETUP([rpm -U <corrupted signed 2>])
+AT_KEYWORDS([install])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+
+pkg="hello-2.0-1.x86_64-signed.rpm"
+cp "${RPMTEST}"/data/RPMS/${pkg} "${RPMTEST}"/tmp/${pkg}
+dd if=/dev/zero of="${RPMTEST}"/tmp/${pkg} \
+ conv=notrunc bs=1 seek=5555 count=6 2> /dev/null
+
+runroot rpm -U --ignorearch --ignoreos --nodeps \
+ /tmp/${pkg}
+],
+[1],
+[],
+[error: /tmp/hello-2.0-1.x86_64-signed.rpm: Header V4 RSA/SHA256 Signature, key ID 1964c5fc: BAD
+error: /tmp/hello-2.0-1.x86_64-signed.rpm: Header SHA1 digest: BAD (Expected 5cd9874c510b67b44483f9e382a1649ef7743bac != 4261b2c1eb861a4152c2239bce20bfbcaa8971ba)
+error: /tmp/hello-2.0-1.x86_64-signed.rpm: Header SHA256 digest: BAD (Expected ef920781af3bf072ae9888eec3de1c589143101dff9cc0b561468d395fb766d9 != 29fdfe92782fb0470a9a164a6c94af87d3b138c63b39d4c30e0223ca1202ba82)
+error: /tmp/hello-2.0-1.x86_64-signed.rpm cannot be installed
+])
+AT_CLEANUP
+
+# This is more about documenting current behavior than what it *should* do
+# when encountering corrupted payload.
+AT_SETUP([rpm -U <corrupted signed 3>])
+AT_KEYWORDS([install])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+
+pkg="hello-2.0-1.x86_64-signed.rpm"
+cp "${RPMTEST}"/data/RPMS/${pkg} "${RPMTEST}"/tmp/${pkg}
+dd if=/dev/zero of="${RPMTEST}"/tmp/${pkg} \
+ conv=notrunc bs=1 seek=7788 count=6 2> /dev/null
+
+runroot rpm -U --ignorearch --ignoreos --nodeps \
+ /tmp/${pkg}
+],
+[1],
+[],
+[warning: /tmp/hello-2.0-1.x86_64-signed.rpm: Header V4 RSA/SHA256 Signature, key ID 1964c5fc: NOKEY
+error: unpacking of archive failed: cpio: Bad magic
+error: hello-2.0-1.x86_64: install failed
+])
+AT_CLEANUP
+
# ------------------------------
# Check if rpm -U *.src.rpm works
AT_SETUP([rpm -U *.src.rpm])
@@ -111,8 +285,8 @@ for v in "1.0" "2.0"; do
/data/SPECS/versiontest.spec
done
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/versiontest-1.0-1.noarch.rpm
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/versiontest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/versiontest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/versiontest-2.0-1.noarch.rpm
runroot rpm -q versiontest
],
[0],
@@ -127,8 +301,8 @@ AT_CHECK([
RPMDB_CLEAR
RPMDB_INIT
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/versiontest-2.0-1.noarch.rpm
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/versiontest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/versiontest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/versiontest-1.0-1.noarch.rpm
],
[2],
[],
@@ -142,8 +316,8 @@ AT_CHECK([
RPMDB_CLEAR
RPMDB_INIT
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/versiontest-2.0-1.noarch.rpm
-runroot rpm -U --oldpackage "${TOPDIR}"/RPMS/noarch/versiontest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/versiontest-2.0-1.noarch.rpm
+runroot rpm -U --oldpackage /build/RPMS/noarch/versiontest-1.0-1.noarch.rpm
runroot rpm -q versiontest
],
[0],
@@ -159,8 +333,8 @@ RPMDB_CLEAR
RPMDB_INIT
runroot rpm -Uv \
- "${TOPDIR}"/RPMS/noarch/versiontest-1.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/versiontest-2.0-1.noarch.rpm
+ /build/RPMS/noarch/versiontest-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/versiontest-2.0-1.noarch.rpm
runroot rpm -q versiontest
],
[0],
@@ -179,8 +353,8 @@ RPMDB_CLEAR
RPMDB_INIT
runroot rpm -Uv \
- "${TOPDIR}"/RPMS/noarch/versiontest-2.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/versiontest-1.0-1.noarch.rpm
+ /build/RPMS/noarch/versiontest-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/versiontest-1.0-1.noarch.rpm
runroot rpm -q versiontest
],
[0],
@@ -208,8 +382,8 @@ runroot rpmbuild --quiet -bb \
runroot rpm -Uv \
- "${TOPDIR}"/RPMS/noarch/deptest-two-1.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+ /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
runroot rpm -q deptest-one
],
[0],
@@ -237,8 +411,8 @@ runroot rpmbuild --quiet -bb \
runroot rpm -Uv \
- "${TOPDIR}"/RPMS/noarch/deptest-one-1.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+ /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
runroot rpm -q deptest-one
],
[0],
@@ -257,8 +431,8 @@ RPMDB_CLEAR
RPMDB_INIT
runroot rpm -i \
- "${TOPDIR}"/RPMS/noarch/versiontest-1.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/versiontest-2.0-1.noarch.rpm
+ /build/RPMS/noarch/versiontest-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/versiontest-2.0-1.noarch.rpm
runroot rpm -q versiontest
],
[0],
@@ -276,8 +450,8 @@ RPMDB_CLEAR
RPMDB_INIT
runroot rpm -i \
- "${TOPDIR}"/RPMS/noarch/versiontest-1.0-1.noarch.rpm \
- "${TOPDIR}"/RPMS/noarch/versiontest-1.0-1.noarch.rpm
+ /build/RPMS/noarch/versiontest-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/versiontest-1.0-1.noarch.rpm
runroot rpm -q versiontest
],
[0],
@@ -297,7 +471,7 @@ RPMDB_INIT
runroot rpmbuild --quiet -bb /data/SPECS/hello-script.spec
runroot rpm -U --test --ignoreos --relocate /usr=/opt \
- "${TOPDIR}"/RPMS/noarch/hello-script-1.0-1.noarch.rpm
+ /build/RPMS/noarch/hello-script-1.0-1.noarch.rpm
],
[1],
[],
@@ -314,9 +488,44 @@ RPMDB_INIT
runroot rpmbuild --quiet -bb /data/SPECS/hello-script.spec
runroot rpm -U --test --ignoreos --badreloc --relocate /usr=/opt \
- "${TOPDIR}"/RPMS/noarch/hello-script-1.0-1.noarch.rpm
+ /build/RPMS/noarch/hello-script-1.0-1.noarch.rpm
+],
+[0],
+[],
+[])
+AT_CLEANUP
+
+AT_SETUP([rpm -i with/without --excludedocs])
+AT_KEYWORDS([install excludedocs])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+
+runroot rpmbuild --quiet -bb /data/SPECS/testdoc.spec
+
+runroot rpm -i --excludedocs \
+ /build/RPMS/noarch/testdoc-1.0-1.noarch.rpm
+
+RPM_DOCDIR=$(runroot rpm --eval '%_defaultdocdir')
+RPM_DATADIR=$(runroot rpm --eval '%_datadir')
+
+test ! -e ${RPMTEST}${RPM_DOCDIR}/testdoc || exit 1
+test -e ${RPMTEST}${RPM_DATADIR}/testdoc/nodoc || exit 1
+
+runroot rpm -e testdoc
+
+runroot rpm -i \
+ /build/RPMS/noarch/testdoc-1.0-1.noarch.rpm
+test -e ${RPMTEST}${RPM_DOCDIR}/testdoc/documentation1 || exit 1
+test -e ${RPMTEST}${RPM_DOCDIR}/testdoc/documentation2 || exit 1
+test -e ${RPMTEST}${RPM_DOCDIR}/testdoc/examples/example1 || exit 1
+test -e ${RPMTEST}${RPM_DOCDIR}/testdoc/examples/example2 || exit 1
+test -e ${RPMTEST}${RPM_DATADIR}/testdoc/nodoc || exit 1
+
+runroot rpm -e testdoc
],
[0],
[],
[])
AT_CLEANUP
+
diff --git a/tests/rpmio.at b/tests/rpmio.at
new file mode 100644
index 000000000..46d713b4c
--- /dev/null
+++ b/tests/rpmio.at
@@ -0,0 +1,50 @@
+# rpmio.at: Misc (librpm)io tests
+
+AT_BANNER([I/O])
+
+# test too unstable for production
+#AT_SETUP([SIGPIPE from --pipe])
+#AT_KEYWORDS([signals])
+#AT_CHECK([
+#RPMDB_CLEAR
+#RPMDB_INIT
+#
+#runroot rpmbuild --quiet --with manyfiles -bb /data/SPECS/sigpipe.spec
+#runroot rpm -qpl /build/RPMS/noarch/sigpipe-1.0-1.noarch.rpm --pipe "cat" | head -1
+#],
+#[0],
+#[/opt/sigpipe/data
+#],
+#[])
+#AT_CLEANUP
+
+AT_SETUP([SIGPIPE from install scriptlet])
+AT_KEYWORDS([signals])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+
+runroot rpmbuild --quiet -bb /data/SPECS/sigpipe.spec
+runroot rpm -U --nodeps /build/RPMS/noarch/sigpipe-1.0-1.noarch.rpm
+],
+[0],
+[],
+[])
+AT_CLEANUP
+
+# XXX TODO: test for RhBug:471591 too, but needs a simpler reproducer
+
+# test too unstable for production
+#AT_SETUP([SIGPIPE in build scriptlet])
+#AT_KEYWORDS([signals])
+#AT_CHECK([
+#RPMDB_CLEAR
+#RPMDB_INIT
+#
+#run rpmbuild --quiet --with buildpipe -bb "${RPMDATA}/SPECS/sigpipe.spec"
+#],
+#[0],
+#[],
+#[])
+#AT_CLEANUP
+
diff --git a/tests/rpmmacro.at b/tests/rpmmacro.at
index 50545a17a..6352a28bc 100644
--- a/tests/rpmmacro.at
+++ b/tests/rpmmacro.at
@@ -13,6 +13,45 @@ runroot rpm --define "this that" --eval '%{this}'
])
AT_CLEANUP
+# ------------------------------
+AT_SETUP([invalid rpm --eval])
+AT_KEYWORDS([macros])
+AT_CHECK([
+runroot rpm --eval '%define _ that'
+],
+[1],
+[],
+[error: Macro %_ has illegal name (%define)
+])
+AT_CLEANUP
+
+# ------------------------------
+AT_SETUP([invalid rpm --define])
+AT_KEYWORDS([macros])
+AT_CHECK([
+runroot rpm --define "_ that"
+],
+[1],
+[],
+[error: Macro %_ has illegal name (%define)
+])
+AT_CLEANUP
+
+AT_SETUP([rpm --undefine])
+AT_KEYWORDS([macros])
+AT_CHECK([
+runroot rpm --define "this that" --eval '1. %{this}' --undefine 'this' --eval '2. %{this'}
+runroot rpm --eval '1. %{this}' --define "this that" --eval '2. %{this}' --undefine 'this' --eval '3. %{this'}
+],
+[0],
+[1. that
+2. %{this}
+1. %{this}
+2. that
+3. %{this}
+])
+AT_CLEANUP
+
AT_SETUP([simple true conditional rpm --eval])
AT_KEYWORDS([macros])
AT_CHECK([
@@ -33,6 +72,121 @@ runroot rpm --define "this that" --eval '%{?that}'
])
AT_CLEANUP
+AT_SETUP([nested macro in name])
+AT_KEYWORDS([macros])
+AT_CHECK([
+runroot rpm --define "this that" --define "that_that foo" --eval '%{expand:%{%{this}_that}}'
+],
+[0],
+[foo
+])
+AT_CLEANUP
+
+AT_SETUP([parametrized macro 1])
+AT_KEYWORDS([macros])
+AT_CHECK([
+cat << EOF > ${abs_builddir}/testing/mtest
+%bar() bar
+%foo()\\
+%bar\\
+foo 1\\
+%{bar}\\
+foo 2\\
+%bar x\\
+foo 3\\
+%{bar x}\\
+foo 4\\
+%bar \\
+foo 5
+EOF
+
+runroot rpm --eval '%{load:mtest}%{foo}'
+],
+[0],
+[
+bar
+foo 1
+bar
+foo 2
+bar
+foo 3
+bar
+foo 4
+bar
+foo 5
+],
+[])
+AT_CLEANUP
+
+AT_SETUP([parametrized macro 2])
+AT_KEYWORDS([macros])
+AT_CHECK([
+runroot rpm \
+ --define '%bar() "Bar %#: %{?1} %{?2}"' \
+ --define '%foo() "Foo %#: %{?1} %{?2}" %bar a' \
+ --eval '%foo 1 2'
+],
+[0],
+["Foo 2: 1 2" "Bar 1: a "
+])
+AT_CLEANUP
+
+AT_SETUP([parametrized macro 3])
+AT_KEYWORDS([macros])
+AT_CHECK([
+runroot rpm \
+ --define '%foo() 1:%1 2:%2' \
+ --eval '%foo %nil bar'
+],
+[0],
+[1:bar 2:%2
+])
+AT_CLEANUP
+
+AT_SETUP([parametrized macro 4])
+AT_KEYWORDS([macros])
+AT_CHECK([
+runroot rpm \
+ --define '%bar yyy' \
+ --define '%foo() %1' \
+ --eval '%foo %bar' \
+ --eval '%foo %%bar'
+],
+[0],
+[yyy
+%bar
+])
+AT_CLEANUP
+
+AT_SETUP([parametrized macro 5])
+AT_KEYWORDS([macros])
+AT_CHECK([
+runroot rpm \
+ --define '%foo() %#:%{?1:"%1"}%{?2: "%2"}' \
+ --define 'bar zzz' \
+ --eval '%foo 1' \
+ --eval '%foo 2 ' \
+ --eval '%foo 1 2' \
+ --eval '%foo %{nil}' \
+ --eval '%foo %{nil} xx' \
+ --eval '%foo %{bar} xx' \
+ --eval '%foo %{quote: 2 3 5} %{quote:%{nil}}' \
+ --eval '%foo x%{quote:y}z 123' \
+ --eval '%foo x%{quote:%{nil}}z' \
+],
+[0],
+[1:"1"
+1:"2"
+2:"1" "2"
+0:
+1:"xx"
+2:"zzz" "xx"
+2:" 2 3 5" ""
+2:"xyz" "123"
+1:"xz"
+])
+AT_CLEANUP
+
AT_SETUP([uncompress macro])
AT_KEYWORDS([macros])
AT_CHECK([
@@ -56,6 +210,17 @@ runroot rpm \
])
AT_CLEANUP
+AT_SETUP([shrink macro])
+AT_KEYWORDS([macros])
+AT_CHECK([
+runroot rpm \
+ --eval "%{shrink: h e l lo }"
+],
+[0],
+[h e l lo
+])
+AT_CLEANUP
+
AT_SETUP([suffix macro])
AT_KEYWORDS([macros])
AT_CHECK([
@@ -126,9 +291,133 @@ AT_CHECK([
runroot rpm \
--eval '%{lua: os.exit()}))}'
],
+[1],
+[],
+[error: lua script failed: [[string "<lua>"]]:1: exit not permitted in this context]
+)
+AT_CLEANUP
+
+AT_SETUP([%define + %undefine in nested levels 1])
+AT_KEYWORDS([macros define undefine])
+AT_CHECK([
+# basic %define in nested scoping level
+runroot rpm \
+ --define '%foo() %{expand:%define xxx 1} %{echo:%xxx} %{expand:%undefine xxx} %{echo:%xxx}' \
+ --eval .'%foo'.
+],
+[0],
+[1
+%xxx
+. .
+])
+AT_CLEANUP
+
+AT_SETUP([%define + %undefine in nested levels 2])
+AT_KEYWORDS([macros define])
+AT_CHECK([
+# %define macro once in a nested scope
+runroot rpm \
+ --define '%foo() %{expand:%define xxx 1} %{echo:%xxx}' \
+ --eval .'%foo'. \
+ --eval '%xxx'
+],
+[0],
+[1
+. .
+%xxx
+])
+AT_CLEANUP
+
+AT_SETUP([%define + %undefine in nested levels 3])
+AT_KEYWORDS([macros define])
+AT_CHECK([
+AT_XFAIL_IF([test $RPM_XFAIL -ne 0])
+# %define macro twice in a nested scope
+runroot rpm \
+ --define '%foo() %{expand:%define xxx 1} %{echo:%xxx} %{expand: %define xxx 2} %{echo:%xxx}' \
+ --eval .'%foo'. \
+ --eval '%xxx'
+],
+[0],
+[1
+2
+. .
+%xxx
+])
+AT_CLEANUP
+
+AT_SETUP([%define + %undefine in nested levels 4])
+AT_KEYWORDS([macros define global])
+AT_CHECK([
+AT_XFAIL_IF([test $RPM_XFAIL -ne 0])
+# %define in a nested level covered by %global
+runroot rpm \
+ --define '%foo() %{expand:%define xxx 1} %{echo:%xxx} %{expand: %global xxx 2} %{echo:%xxx}' \
+ --eval .'%foo'. \
+ --eval '%xxx' \
+ --eval .'%undefine xxx'. \
+ --eval '%xxx'
+],
+[0],
+[1
+2
+. .
+2
+..
+%xxx
+])
+AT_CLEANUP
+
+AT_SETUP([%define in conditional macro])
+AT_KEYWORDS([macros])
+AT_CHECK([
+runroot rpm \
+ --define 'dofoo() true'\
+ --eval '.%{!?foo: %define foo bar}.'\
+ --eval '%foo' \
+ --eval '%dofoo'\
+ --eval '%foo'
+],
+[0],
+[. .
+bar
+true
+bar
+])
+AT_CLEANUP
+
+AT_SETUP([%verbose negative test])
+AT_KEYWORDS([macros verbose])
+AT_CHECK([
+runroot rpm \
+ --eval '%{verbose:%{echo:is verbose}}' \
+ --eval '%{verbose:is verbose text}'\
+ --eval '%{!verbose:%{echo:is not verbose}}'\
+ --eval '%{!verbose:is not verbose text}'
+],
[0],
[
+
+is not verbose
+
+is not verbose text
+])
+AT_CLEANUP
+
+AT_SETUP([%verbose positive test])
+AT_KEYWORDS([macros verbose])
+AT_CHECK([
+runroot rpm -v \
+ --eval '%{!verbose:%{echo:is not verbose}}' \
+ --eval '%{!verbose:is not verbose text}'\
+ --eval '%{verbose:%{echo:is verbose}}'\
+ --eval '%{verbose:is verbose text}'
],
-[error: lua script failed: [[string "<lua>"]]:1: exit not permitted in this context]
-)
+[0],
+[
+
+is verbose
+
+is verbose text
+])
AT_CLEANUP
diff --git a/tests/rpmorder.at b/tests/rpmorder.at
new file mode 100644
index 000000000..5eadc279f
--- /dev/null
+++ b/tests/rpmorder.at
@@ -0,0 +1,45 @@
+AT_BANNER([RPM install/erase ordering])
+
+AT_SETUP([basic install/erase order 1])
+AT_KEYWORDS([install erase order])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs deptest-two" \
+ /data/SPECS/deptest.spec
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ --define "reqs deptest-three" \
+ /data/SPECS/deptest.spec
+runroot rpmbuild --quiet -bb \
+ --define "pkg three" \
+ /data/SPECS/deptest.spec
+
+echo INSTALL:
+runroot rpm -Uv --justdb \
+ /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+echo ERASE:
+runroot rpm -ev --justdb \
+ deptest-three \
+ deptest-one \
+ deptest-two
+],
+[0],
+[INSTALL:
+Preparing packages...
+deptest-three-1.0-1.noarch
+deptest-two-1.0-1.noarch
+deptest-one-1.0-1.noarch
+ERASE:
+Preparing packages...
+deptest-one-1.0-1.noarch
+deptest-two-1.0-1.noarch
+deptest-three-1.0-1.noarch
+],
+[])
+AT_CLEANUP
diff --git a/tests/rpmpython.at b/tests/rpmpython.at
index 1ccbb7070..3a974eaf8 100644
--- a/tests/rpmpython.at
+++ b/tests/rpmpython.at
@@ -53,8 +53,8 @@ for iot in [ 'fpio', 'fdio', 'ufdio', 'gzdio' ]:
fd = rpm.fd(fn, 'r', iot)
rdata = fd.read()
if rdata != data:
- myprint('%s read fail (got %d bytes)' % (iot, len(rdata), rdata))
- # compressed io types cant seek
+ myprint('%s read fail (got %d bytes)\n%s' % (iot, len(rdata), rdata))
+ # compressed io types can't seek
if iot == 'ufdio':
fd.seek(0)
else:
@@ -134,6 +134,39 @@ myprint(h['arch'])
[ppc64]
)
+RPMPY_TEST([reading a signed package file 1],[
+ts = rpm.ts()
+# avoid rpmlog spew with absolute path to package
+sink = open('/dev/null', 'w')
+rpm.setLogFile(sink)
+try:
+ h = ts.hdrFromFdno('${RPMDATA}/RPMS/hello-2.0-1.x86_64-signed.rpm')
+ myprint(h['arch'])
+except rpm.error, e:
+ myprint(e)
+],
+[public key not available
+],
+)
+
+RPMPY_TEST([reading a signed package file 2],[
+
+keydata = open('${RPMDATA}/keys/rpm.org-rsa-2048-test.pub').read()
+pubkey = rpm.pubkey(keydata)
+keyring = rpm.keyring()
+keyring.addKey(pubkey)
+
+ts = rpm.ts()
+ts.setKeyring(keyring)
+try:
+ h = ts.hdrFromFdno('${RPMDATA}/RPMS/hello-2.0-1.x86_64-signed.rpm')
+ myprint(h['arch'])
+except rpm.error, e:
+ myprint(e)
+],
+[x86_64]
+)
+
RPMPY_TEST([add package to transaction],[
ts = rpm.ts()
ts.addInstall('${RPMDATA}/RPMS/foo-1.0-1.noarch.rpm', 'u')
@@ -197,6 +230,33 @@ runroot rpm -i \
RPMPY_CHECK([
ts = rpm.ts()
+ix = 0
+mi = ts.dbMatch()
+mi.pattern('name', rpm.RPMMIRE_STRCMP, 'hello')
+for h in mi:
+ ix = h['dbinstance']
+ break
+del mi
+for h in ts.dbMatch('packages', ix):
+ myprint(h['nevra'])
+],
+[hello-2.0-1.i686
+],
+[])
+
+RPMPY_CHECK([
+ts = rpm.ts()
+mi = ts.dbMatch()
+mi.pattern('name', rpm.RPMMIRE_DEFAULT, 'f*')
+for h in mi:
+ myprint(h['nevra'])
+],
+[foo-1.0-1.noarch
+],
+[])
+
+RPMPY_CHECK([
+ts = rpm.ts()
for h in ts.dbMatch('name'):
myprint(h['nevra'])
],
@@ -233,7 +293,7 @@ for h in ts.dbMatch('basenames', '/usr/share/doc/hello-2.0/FAQ'):
[])
RPMPY_CHECK([
ts = rpm.ts()
-for di in ts.dbIndex('obsoletes'):
+for di in sorted(ts.dbIndex('obsoletes')):
myprint(di)
],
[howdy
@@ -242,7 +302,7 @@ for di in ts.dbIndex('obsoletes'):
RPMPY_CHECK([
ts = rpm.ts()
-for di in ts.dbIndex('provides'):
+for di in sorted(ts.dbIndex('provides')):
myprint(di)
],
[foo
@@ -297,3 +357,73 @@ for f in fi:
],
[])
+RPMPY_TEST([string pool 1],[
+p = rpm.strpool()
+for s in ['foo', 'bar', 'foo', 'zoo']:
+ p.str2id(s)
+myprint('%s' % len(p))
+for i in range(1, len(p)+1):
+ myprint('%s: %s' % (i, p[i]))
+],
+[3
+1: foo
+2: bar
+3: zoo
+],
+[])
+
+RPMPY_TEST([string pool 2],[
+p = rpm.strpool()
+d1 = rpm.ds(('foo', rpm.RPMSENSE_EQUAL, '2.0'), rpm.RPMTAG_PROVIDES, pool=p)
+d2 = rpm.ds(('bar', rpm.RPMSENSE_EQUAL, '2.0'), rpm.RPMTAG_PROVIDES, pool=p)
+d3 = rpm.ds(('bar', rpm.RPMSENSE_EQUAL, '2.0'), rpm.RPMTAG_PROVIDES, pool=p)
+myprint('%s' % len(p))
+del p
+myprint(d1.DNEVR())
+myprint(d2.DNEVR())
+myprint(d3.DNEVR())
+],
+[3
+P foo = 2.0
+P bar = 2.0
+P bar = 2.0
+],
+[])
+
+RPMPY_TEST([archive 1],[
+import hashlib
+ts = rpm.ts()
+fd = rpm.fd.open('${RPMDATA}/SRPMS/hello-1.0-1.src.rpm')
+h = ts.hdrFromFdno(fd)
+payload = rpm.fd.open(fd, flags=h['payloadcompressor'])
+files = rpm.files(h)
+archive = files.archive(payload)
+for f in archive:
+ if not f.fflags & rpm.RPMFILE_SPECFILE:
+ continue
+ spec = archive.read()
+ hash = hashlib.md5(spec)
+ if f.digest != hash.hexdigest():
+ myprint('%s should be %s' % (hash.hexdigest(), f.digest))
+ break
+],
+[],
+[])
+
+RPMPY_TEST([header unload],[
+ts = rpm.ts()
+h = ts.hdrFromFdno('${RPMDATA}/RPMS/hello-2.0-1.i686.rpm')
+# Add some garbage to header to make it non-sorted
+h['installtime'] = 0
+# RhBug:1061730 causes export of non-sorted header to be larger than it should
+len1 = len(h.unload())
+# Accessing the header before export forces sorting to take place even on
+# buggy versions
+t = h['installtime']
+len2 = len(h.unload())
+myprint(len1 == len2)
+],
+[True
+],
+[])
+
diff --git a/tests/rpmquery.at b/tests/rpmquery.at
index 5a7470f7e..1ca8adf00 100644
--- a/tests/rpmquery.at
+++ b/tests/rpmquery.at
@@ -238,6 +238,19 @@ runroot rpm \
[])
AT_CLEANUP
+AT_SETUP([pgpsig extension query])
+AT_KEYWORDS([query signature])
+AT_CHECK([
+runroot rpm \
+ --queryformat="%{rsaheader:pgpsig}" \
+ -qp /data/RPMS/hello-2.0-1.x86_64-signed.rpm
+],
+[0],
+[RSA/SHA256, Thu Apr 6 13:02:33 2017, Key ID 4344591e1964c5fc],
+[warning: /data/RPMS/hello-2.0-1.x86_64-signed.rpm: Header V4 RSA/SHA256 Signature, key ID 1964c5fc: NOKEY
+])
+AT_CLEANUP
+
# ------------------------------
AT_SETUP([integer array perms format query])
AT_KEYWORDS([query])
@@ -307,11 +320,41 @@ runroot rpm \
AT_CLEANUP
# ------------------------------
-AT_SETUP([different sizes arrays query])
+AT_SETUP([different sizes arrays query 1])
+AT_KEYWORDS([query])
+AT_CHECK([
+runroot rpm \
+ --queryformat="[[%{basenames} %{changelogname}]\n]" \
+ -qp /data/RPMS/hello-1.0-1.i386.rpm
+],
+[0],
+[],
+[error: incorrect format: array iterator used with different sized arrays
+])
+AT_CLEANUP
+
+# ------------------------------
+# This is succeeds because there happens to be exactly one changelog entry
+# so the size matches with name.
+AT_SETUP([different sizes arrays query 2])
+AT_KEYWORDS([query])
+AT_CHECK([
+runroot rpm \
+ --queryformat="[[%{name} %{changelogtime}]\n]" \
+ -qp /data/RPMS/hello-1.0-1.i386.rpm
+],
+[0],
+[hello 908877600
+],
+[])
+AT_CLEANUP
+
+# ------------------------------
+AT_SETUP([different sizes arrays query 3])
AT_KEYWORDS([query])
AT_CHECK([
runroot rpm \
- --queryformat="[[%{basenames} %{changelogname}]]" \
+ --queryformat="[[%{name} %{basenames}]\n]" \
-qp /data/RPMS/hello-1.0-1.i386.rpm
],
[0],
@@ -321,6 +364,22 @@ runroot rpm \
AT_CLEANUP
# ------------------------------
+AT_SETUP([different sizes arrays query 4])
+AT_KEYWORDS([query])
+AT_CHECK([
+runroot rpm \
+ --queryformat="[[%{=name} %{basenames}\n]]" \
+ -qp /data/RPMS/hello-1.0-1.i386.rpm
+],
+[0],
+[hello hello
+hello hello-1.0
+hello FAQ
+],
+[])
+
+AT_CLEANUP
+# ------------------------------
AT_SETUP([non-existent string tag])
AT_KEYWORDS([query])
AT_CHECK([
@@ -369,7 +428,7 @@ runroot rpm \
],
[0],
[],
-[error: incorrect format: unknown tag
+[error: incorrect format: unknown tag: "notag"
])
AT_CLEANUP
@@ -399,3 +458,355 @@ runroot rpm \
[error: incorrect format: invalid field width
])
AT_CLEANUP
+
+AT_SETUP([xml format])
+AT_KEYWORDS([query])
+AT_CHECK([
+runroot rpm -qp --xml data/RPMS/hello-2.0-1.x86_64.rpm
+],
+[0],
+[<rpmHeader>
+ <rpmTag name="Headeri18ntable">
+ <string>C</string>
+ </rpmTag>
+ <rpmTag name="Sigsize">
+ <integer>5411</integer>
+ </rpmTag>
+ <rpmTag name="Sigmd5">
+ <base64>E3yh2LNcygKhhUujAcVDLg==
+</base64>
+ </rpmTag>
+ <rpmTag name="Sha1header">
+ <string>5cd9874c510b67b44483f9e382a1649ef7743bac</string>
+ </rpmTag>
+ <rpmTag name="Sha256header">
+ <string>ef920781af3bf072ae9888eec3de1c589143101dff9cc0b561468d395fb766d9</string>
+ </rpmTag>
+ <rpmTag name="Name">
+ <string>hello</string>
+ </rpmTag>
+ <rpmTag name="Version">
+ <string>2.0</string>
+ </rpmTag>
+ <rpmTag name="Release">
+ <string>1</string>
+ </rpmTag>
+ <rpmTag name="Summary">
+ <string>hello -- hello, world rpm</string>
+ </rpmTag>
+ <rpmTag name="Description">
+ <string>Simple rpm demonstration.</string>
+ </rpmTag>
+ <rpmTag name="Buildtime">
+ <integer>1227355200</integer>
+ </rpmTag>
+ <rpmTag name="Buildhost">
+ <string>localhost</string>
+ </rpmTag>
+ <rpmTag name="Size">
+ <integer>7243</integer>
+ </rpmTag>
+ <rpmTag name="License">
+ <string>GPL</string>
+ </rpmTag>
+ <rpmTag name="Group">
+ <string>Testing</string>
+ </rpmTag>
+ <rpmTag name="Os">
+ <string>linux</string>
+ </rpmTag>
+ <rpmTag name="Arch">
+ <string>x86_64</string>
+ </rpmTag>
+ <rpmTag name="Filesizes">
+ <integer>7120</integer>
+ <integer>4096</integer>
+ <integer>48</integer>
+ <integer>36</integer>
+ <integer>39</integer>
+ </rpmTag>
+ <rpmTag name="Filemodes">
+ <integer>33257</integer>
+ <integer>16877</integer>
+ <integer>33188</integer>
+ <integer>33188</integer>
+ <integer>33188</integer>
+ </rpmTag>
+ <rpmTag name="Filerdevs">
+ <integer>0</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ </rpmTag>
+ <rpmTag name="Filemtimes">
+ <integer>1489670606</integer>
+ <integer>1489670606</integer>
+ <integer>908894882</integer>
+ <integer>908895030</integer>
+ <integer>908884468</integer>
+ </rpmTag>
+ <rpmTag name="Filedigests">
+ <string>c89fa87aeb1143969c0b6be9334b21d932f77f74e8f60120b5de316406369cf0</string>
+ <string/>
+ <string>fac3b28492ecdc16da172a6f1a432ceed356ca4d9248157b2a962b395e37b3b0</string>
+ <string>678b87e217a415f05e43460e2c7b668245b412e2b4f18a75aa7399d9774ed0b4</string>
+ <string>d63fdc6c986106f57230f217d36b2395d83ecf491d2b7187af714dc8db9629e9</string>
+ </rpmTag>
+ <rpmTag name="Filelinktos">
+ <string/>
+ <string/>
+ <string/>
+ <string/>
+ <string/>
+ </rpmTag>
+ <rpmTag name="Fileflags">
+ <integer>0</integer>
+ <integer>0</integer>
+ <integer>2</integer>
+ <integer>2</integer>
+ <integer>2</integer>
+ </rpmTag>
+ <rpmTag name="Fileusername">
+ <string>root</string>
+ <string>root</string>
+ <string>root</string>
+ <string>root</string>
+ <string>root</string>
+ </rpmTag>
+ <rpmTag name="Filegroupname">
+ <string>root</string>
+ <string>root</string>
+ <string>root</string>
+ <string>root</string>
+ <string>root</string>
+ </rpmTag>
+ <rpmTag name="Sourcerpm">
+ <string>hello-2.0-1.src.rpm</string>
+ </rpmTag>
+ <rpmTag name="Fileverifyflags">
+ <integer>4294967295</integer>
+ <integer>0</integer>
+ <integer>4294967295</integer>
+ <integer>4294967295</integer>
+ <integer>4294967295</integer>
+ </rpmTag>
+ <rpmTag name="Archivesize">
+ <integer>8060</integer>
+ </rpmTag>
+ <rpmTag name="Providename">
+ <string>hello</string>
+ <string>hello(x86-64)</string>
+ </rpmTag>
+ <rpmTag name="Requireflags">
+ <integer>16384</integer>
+ <integer>16384</integer>
+ <integer>16777226</integer>
+ <integer>16777226</integer>
+ <integer>16777226</integer>
+ <integer>16384</integer>
+ </rpmTag>
+ <rpmTag name="Requirename">
+ <string>libc.so.6()(64bit)</string>
+ <string>libc.so.6(GLIBC_2.2.5)(64bit)</string>
+ <string>rpmlib(CompressedFileNames)</string>
+ <string>rpmlib(FileDigests)</string>
+ <string>rpmlib(PayloadFilesHavePrefix)</string>
+ <string>rtld(GNU_HASH)</string>
+ </rpmTag>
+ <rpmTag name="Requireversion">
+ <string/>
+ <string/>
+ <string>3.0.4-1</string>
+ <string>4.6.0-1</string>
+ <string>4.0-1</string>
+ <string/>
+ </rpmTag>
+ <rpmTag name="Rpmversion">
+ <string>4.13.90</string>
+ </rpmTag>
+ <rpmTag name="Changelogtime">
+ <integer>1227355200</integer>
+ <integer>908884800</integer>
+ </rpmTag>
+ <rpmTag name="Changelogname">
+ <string>Panu Matilainen &lt;pmatilai@redhat.com&gt;</string>
+ <string>Jeff Johnson &lt;jbj@redhat.com&gt;</string>
+ </rpmTag>
+ <rpmTag name="Changelogtext">
+ <string>- updated version</string>
+ <string>- create.</string>
+ </rpmTag>
+ <rpmTag name="Filedevices">
+ <integer>1</integer>
+ <integer>1</integer>
+ <integer>1</integer>
+ <integer>1</integer>
+ <integer>1</integer>
+ </rpmTag>
+ <rpmTag name="Fileinodes">
+ <integer>1</integer>
+ <integer>2</integer>
+ <integer>3</integer>
+ <integer>4</integer>
+ <integer>5</integer>
+ </rpmTag>
+ <rpmTag name="Filelangs">
+ <string/>
+ <string/>
+ <string/>
+ <string/>
+ <string/>
+ </rpmTag>
+ <rpmTag name="Prefixes">
+ <string>/usr</string>
+ </rpmTag>
+ <rpmTag name="Provideflags">
+ <integer>8</integer>
+ <integer>8</integer>
+ </rpmTag>
+ <rpmTag name="Provideversion">
+ <string>2.0-1</string>
+ <string>2.0-1</string>
+ </rpmTag>
+ <rpmTag name="Dirindexes">
+ <integer>0</integer>
+ <integer>1</integer>
+ <integer>2</integer>
+ <integer>2</integer>
+ <integer>2</integer>
+ </rpmTag>
+ <rpmTag name="Basenames">
+ <string>hello</string>
+ <string>hello-2.0</string>
+ <string>COPYING</string>
+ <string>FAQ</string>
+ <string>README</string>
+ </rpmTag>
+ <rpmTag name="Dirnames">
+ <string>/usr/bin/</string>
+ <string>/usr/share/doc/</string>
+ <string>/usr/share/doc/hello-2.0/</string>
+ </rpmTag>
+ <rpmTag name="Optflags">
+ <string>-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic</string>
+ </rpmTag>
+ <rpmTag name="Payloadformat">
+ <string>cpio</string>
+ </rpmTag>
+ <rpmTag name="Payloadcompressor">
+ <string>gzip</string>
+ </rpmTag>
+ <rpmTag name="Payloadflags">
+ <string>9</string>
+ </rpmTag>
+ <rpmTag name="Platform">
+ <string>x86_64-redhat-linux-gnu</string>
+ </rpmTag>
+ <rpmTag name="Filecolors">
+ <integer>2</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ </rpmTag>
+ <rpmTag name="Fileclass">
+ <integer>0</integer>
+ <integer>1</integer>
+ <integer>2</integer>
+ <integer>2</integer>
+ <integer>2</integer>
+ </rpmTag>
+ <rpmTag name="Classdict">
+ <string>ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[[sha1]]=775fdcb927e4300adbe83cfacec3cfeb1f63fe17, stripped</string>
+ <string>directory</string>
+ <string>ASCII text</string>
+ </rpmTag>
+ <rpmTag name="Filedependsx">
+ <integer>0</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ </rpmTag>
+ <rpmTag name="Filedependsn">
+ <integer>3</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ </rpmTag>
+ <rpmTag name="Dependsdict">
+ <integer>1375731713</integer>
+ <integer>1375731712</integer>
+ <integer>1375731717</integer>
+ </rpmTag>
+ <rpmTag name="Filedigestalgo">
+ <integer>8</integer>
+ </rpmTag>
+ <rpmTag name="Encoding">
+ <string>utf-8</string>
+ </rpmTag>
+ <rpmTag name="Payloaddigest">
+ <string>84a7338287bf19715c4eed0243f5cdb447eeb0ade37b2af718d4060aefca2f7c</string>
+ </rpmTag>
+ <rpmTag name="Payloaddigestalgo">
+ <integer>8</integer>
+ </rpmTag>
+</rpmHeader>
+],
+[])
+AT_CLEANUP
+
+AT_SETUP([query file attribute filtering])
+AT_KEYWORDS([query])
+AT_CHECK([
+runroot rpmbuild -bb --quiet \
+ /data/SPECS/vattrtest.spec
+
+pkg="/build/RPMS/noarch/vattrtest-1.0-1.noarch.rpm"
+cmd="rpm -qpl"
+for filter in --noconfig --noghost --noartifact -A -c -d -L; do
+ echo ${filter}
+ runroot ${cmd} ${filter} ${pkg}
+done
+],
+[0],
+[--noconfig
+/opt/vattrtest
+/opt/vattrtest/a
+/opt/vattrtest/d
+/opt/vattrtest/g
+/opt/vattrtest/l
+/opt/vattrtest/m
+/opt/vattrtest/r
+--noghost
+/opt/vattrtest
+/opt/vattrtest/a
+/opt/vattrtest/c
+/opt/vattrtest/cn
+/opt/vattrtest/d
+/opt/vattrtest/l
+/opt/vattrtest/m
+/opt/vattrtest/r
+--noartifact
+/opt/vattrtest
+/opt/vattrtest/c
+/opt/vattrtest/cn
+/opt/vattrtest/d
+/opt/vattrtest/g
+/opt/vattrtest/l
+/opt/vattrtest/m
+/opt/vattrtest/r
+-A
+/opt/vattrtest/a
+-c
+/opt/vattrtest/c
+/opt/vattrtest/cn
+-d
+/opt/vattrtest/d
+-L
+/opt/vattrtest/l
+],
+[])
+AT_CLEANUP
diff --git a/tests/rpmreplace.at b/tests/rpmreplace.at
index cdc8d03d9..6f0444bb7 100644
--- a/tests/rpmreplace.at
+++ b/tests/rpmreplace.at
@@ -22,11 +22,11 @@ runroot rpmbuild --quiet -bb \
--define "filedata bar" \
/data/SPECS/replacetest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
cat "${tf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
cat "${tf}"
-runroot rpm -U --oldpackage "${TOPDIR}"/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+runroot rpm -U --oldpackage /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
cat "${tf}"
],
[0],
@@ -58,11 +58,11 @@ runroot rpmbuild --quiet -bb \
--define "filedata stuff" \
/data/SPECS/replacetest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
cat "${tf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
readlink "${tf}"
-runroot rpm -U --oldpackage "${TOPDIR}"/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+runroot rpm -U --oldpackage /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
cat "${tf}"
],
[0],
@@ -94,11 +94,11 @@ runroot rpmbuild --quiet -bb \
--define "filedata goo" \
/data/SPECS/replacetest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
cat "${tf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
readlink "${tf}"
-runroot rpm -U --oldpackage "${TOPDIR}"/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+runroot rpm -U --oldpackage /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
cat "${tf}"
],
[0],
@@ -130,9 +130,9 @@ runroot rpmbuild --quiet -bb \
--define "filedata stuff" \
/data/SPECS/replacetest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
readlink "${tf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
readlink "${tf}"
],
[0],
@@ -163,9 +163,9 @@ runroot rpmbuild --quiet -bb \
--define "filedata goo" \
/data/SPECS/replacetest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
readlink "${tf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
readlink "${tf}"
],
[0],
@@ -196,9 +196,9 @@ runroot rpmbuild --quiet -bb \
--define "filedata zoo" \
/data/SPECS/replacetest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
readlink "${tf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
readlink "${tf}"
],
[0],
@@ -228,9 +228,9 @@ runroot rpmbuild --quiet -bb \
--define "filetype dir" \
/data/SPECS/replacetest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
cat "${tf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
test -d "${tf}"
],
[0],
@@ -259,9 +259,9 @@ runroot rpmbuild --quiet -bb \
--define "filetype dir" \
/data/SPECS/replacetest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
readlink "${tf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
test -d "${tf}"
],
[0],
@@ -290,9 +290,9 @@ runroot rpmbuild --quiet -bb \
--define "filetype dir" \
/data/SPECS/replacetest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
readlink "${tf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
test -d "${tf}"
],
[0],
@@ -321,9 +321,9 @@ runroot rpmbuild --quiet -bb \
--define "filetype dir" \
/data/SPECS/replacetest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
readlink "${tf}"
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
],
[2],
[zoo
@@ -351,8 +351,8 @@ runroot rpmbuild --quiet -bb \
--define "filetype dir" \
/data/SPECS/replacetest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-1.0-1.noarch.rpm
-test -d "${tf}" && runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+test -d "${tf}" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
test -d "${tf}"
],
[0],
@@ -380,8 +380,8 @@ runroot rpmbuild --quiet -bb \
--define "filedata woot" \
/data/SPECS/replacetest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-1.0-1.noarch.rpm
-test -d "${tf}" && runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+test -d "${tf}" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
],
[2],
[],
@@ -402,18 +402,22 @@ runroot rpmbuild --quiet -bb \
--define "ver 1.0" \
--define "filetype datadir" \
--define "filedata README1" \
+ --define "user $(id -u -n)" \
+ --define "grp $(id -g -n)" \
/data/SPECS/replacetest.spec
runroot rpmbuild --quiet -bb \
--define "ver 2.0" \
--define "filetype datadir" \
--define "filedata README2" \
+ --define "user $(id -u -n)" \
+ --define "grp $(id -g -n)" \
/data/SPECS/replacetest.spec
mkdir "${RPMTEST}"/opt/f00f
ln -s f00f "${RPMTEST}"/opt/foo
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-1.0-1.noarch.rpm
-test -L "${tf}" && test -d "${tf}" && runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+test -L "${tf}" && test -d "${tf}" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
test -L "${tf}" && test -d "${tf}"
],
[0],
@@ -421,6 +425,38 @@ test -L "${tf}" && test -d "${tf}"
[])
AT_CLEANUP
+AT_SETUP([upgrade invalid locally symlinked directory])
+AT_KEYWORDS([install])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+tf="${RPMTEST}"/opt/foo
+rm -rf "${RPMTEST}"/opt/*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype datadir" \
+ --define "filedata README1" \
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 2.0" \
+ --define "filetype datadir" \
+ --define "filedata README2" \
+ /data/SPECS/replacetest.spec
+
+mkdir "${RPMTEST}"/opt/f00f
+ln -s f00f "${RPMTEST}"/opt/foo
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+test -L "${tf}" && test -d "${tf}" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+test -d "${tf}"
+],
+[0],
+[],
+[])
+AT_CLEANUP
+
AT_SETUP([upgrade empty directory to broken link])
AT_KEYWORDS([install])
AT_CHECK([
@@ -441,8 +477,8 @@ runroot rpmbuild --quiet -bb \
--define "filedata woot" \
/data/SPECS/replacetest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-1.0-1.noarch.rpm
-test -d "${tf}" && runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+test -d "${tf}" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
],
[2],
[],
@@ -470,8 +506,8 @@ runroot rpmbuild --quiet -bb \
--define "filedata woot" \
/data/SPECS/replacetest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-1.0-1.noarch.rpm
-test -d "${tf}" && runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+test -d "${tf}" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
],
[2],
[],
@@ -499,8 +535,8 @@ runroot rpmbuild --quiet -bb \
--define "filedata goo" \
/data/SPECS/replacetest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-1.0-1.noarch.rpm
-test -d "${tf}" && rmdir "${tf}" && runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+test -d "${tf}" && rmdir "${tf}" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
readlink "${tf}"
],
[0],
@@ -529,8 +565,8 @@ runroot rpmbuild --quiet -bb \
--define "filedata goo" \
/data/SPECS/replacetest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-1.0-1.noarch.rpm
-test -d "${tf}" && rmdir "${tf}" && ln -sf goo "${tf}" && runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+test -d "${tf}" && rmdir "${tf}" && ln -sf goo "${tf}" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
readlink "${tf}"
],
[0],
@@ -560,8 +596,8 @@ runroot rpmbuild --quiet -bb \
--define "fixit posix.rmdir('/opt/foo')" \
/data/SPECS/replacetest.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-1.0-1.noarch.rpm
-test -d "${tf}" && runroot rpm -U --test "${TOPDIR}"/RPMS/noarch/replacetest-2.0-1.noarch.rpm && runroot rpm -U "${TOPDIR}"/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+test -d "${tf}" && runroot rpm -U --test /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
readlink "${tf}"
],
[0],
diff --git a/tests/rpmscript.at b/tests/rpmscript.at
index ab4478504..b93fcad02 100644
--- a/tests/rpmscript.at
+++ b/tests/rpmscript.at
@@ -15,25 +15,236 @@ runroot rpmbuild --quiet -bb /data/SPECS/fakeshell.spec
runroot rpmbuild --quiet -bb --define "rel 1" /data/SPECS/scripts.spec
runroot rpmbuild --quiet -bb --define "rel 2" /data/SPECS/scripts.spec
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/fakeshell-1.0-1.noarch.rpm
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/scripts-1.0-1.noarch.rpm
-runroot rpm -U "${TOPDIR}"/RPMS/noarch/scripts-1.0-2.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/fakeshell-1.0-1.noarch.rpm
+runroot rpm -Vvp /build/RPMS/noarch/scripts-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/scripts-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/scripts-1.0-2.noarch.rpm
+runroot rpm -Vv scripts
runroot rpm -e scripts
],
[0],
-[scripts-1.0-1 PRETRANS 0
+[scripts-1.0-1 VERIFY 0
+scripts-1.0-1 PRETRANS 1
scripts-1.0-1 PRE 1
scripts-1.0-1 POST 1
-scripts-1.0-1 POSTTRANS 0
-scripts-1.0-2 PRETRANS 0
+scripts-1.0-1 POSTTRANS 1
+scripts-1.0-2 PRETRANS 2
scripts-1.0-2 PRE 2
scripts-1.0-2 POST 2
scripts-1.0-1 PREUN 1
scripts-1.0-1 POSTUN 1
-scripts-1.0-2 POSTTRANS 0
+scripts-1.0-2 POSTTRANS 1
+scripts-1.0-2 VERIFY 1
scripts-1.0-2 PREUN 0
scripts-1.0-2 POSTUN 0
],
[])
AT_CLEANUP
+AT_SETUP([basic trigger scripts and arguments])
+AT_KEYWORDS([trigger script])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb /data/SPECS/fakeshell.spec
+runroot rpmbuild --quiet -bb --define "rel 1" /data/SPECS/scripts.spec
+runroot rpmbuild --quiet -bb --define "rel 2" /data/SPECS/scripts.spec
+runroot rpmbuild --quiet -bb --define "rel 1" --define "trigpkg scripts" /data/SPECS/triggers.spec
+runroot rpmbuild --quiet -bb --define "rel 2" --define "trigpkg scripts" /data/SPECS/triggers.spec
+
+runroot rpm -U /build/RPMS/noarch/fakeshell-1.0-1.noarch.rpm
+echo TRIGGERS 1
+runroot rpm -U /build/RPMS/noarch/triggers-1.0-1.noarch.rpm
+echo SCRIPTS 1
+runroot rpm -U /build/RPMS/noarch/scripts-1.0-1.noarch.rpm
+echo SCRIPTS 2
+runroot rpm -U /build/RPMS/noarch/scripts-1.0-2.noarch.rpm
+echo TRIGGERS 2
+runroot rpm -U /build/RPMS/noarch/triggers-1.0-2.noarch.rpm
+echo ERASE
+runroot rpm -e scripts
+],
+[0],
+[TRIGGERS 1
+SCRIPTS 1
+scripts-1.0-1 PRETRANS 1
+triggers-1.0-1 TRIGGERPREIN 1 0
+scripts-1.0-1 PRE 1
+scripts-1.0-1 POST 1
+triggers-1.0-1 TRIGGERIN 1 1
+scripts-1.0-1 POSTTRANS 1
+SCRIPTS 2
+scripts-1.0-2 PRETRANS 2
+triggers-1.0-1 TRIGGERPREIN 1 1
+scripts-1.0-2 PRE 2
+scripts-1.0-2 POST 2
+triggers-1.0-1 TRIGGERIN 1 2
+triggers-1.0-1 TRIGGERUN 1 1
+scripts-1.0-1 PREUN 1
+scripts-1.0-1 POSTUN 1
+triggers-1.0-1 TRIGGERPOSTUN 1 1
+scripts-1.0-2 POSTTRANS 1
+TRIGGERS 2
+triggers-1.0-2 TRIGGERPREIN 1 1
+triggers-1.0-2 TRIGGERIN 2 1
+triggers-1.0-1 TRIGGERUN 1 1
+ERASE
+triggers-1.0-2 TRIGGERUN 1 0
+scripts-1.0-2 PREUN 0
+scripts-1.0-2 POSTUN 0
+triggers-1.0-2 TRIGGERPOSTUN 1 0
+],
+[])
+AT_CLEANUP
+
+AT_SETUP([basic file trigger scripts])
+AT_KEYWORDS([file trigger script])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb /data/SPECS/fakeshell.spec
+runroot rpmbuild --quiet -bb /data/SPECS/hello-script.spec
+runroot rpmbuild --quiet -bb /data/SPECS/hlinktest.spec
+runroot rpmbuild --quiet -bb /data/SPECS/filetriggers.spec
+
+runroot rpm -U /build/RPMS/noarch/fakeshell-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/filetriggers-1.0-1.noarch.rpm
+echo INSTALLATION
+runroot rpm -U /build/RPMS/noarch/hello-script-1.0-1.noarch.rpm \
+/build/RPMS/noarch/hlinktest-1.0-1.noarch.rpm
+echo ERASE
+runroot rpm -e hello-script hlinktest
+],
+[0],
+[INSTALLATION
+filetriggerin(/foo*):
+/foo/aaaa
+/foo/copyllo
+/foo/hello
+/foo/hello-bar
+/foo/hello-foo
+/foo/hello-world
+/foo/zzzz
+
+filetriggerin(/foo*)<lua>:
+/foo/aaaa
+/foo/copyllo
+/foo/hello
+/foo/hello-bar
+/foo/hello-foo
+/foo/hello-world
+/foo/zzzz
+
+filetriggerin(/usr/bin*):
+/usr/bin/hello
+
+filetriggerin(/usr/bin*)<lua>:
+/usr/bin/hello
+
+transfiletriggerin(/usr/bin*):
+/usr/bin/hello
+
+transfiletriggerin(/foo*):
+/foo/aaaa
+/foo/copyllo
+/foo/hello
+/foo/hello-bar
+/foo/hello-foo
+/foo/hello-world
+/foo/zzzz
+
+ERASE
+transfiletriggerun(/usr/bin*):
+/usr/bin/hello
+
+transfiletriggerun(/foo*):
+/foo/aaaa
+/foo/copyllo
+/foo/hello
+/foo/hello-bar
+/foo/hello-foo
+/foo/hello-world
+/foo/zzzz
+
+filetriggerun(/foo*):
+/foo/aaaa
+/foo/copyllo
+/foo/hello
+/foo/hello-bar
+/foo/hello-foo
+/foo/hello-world
+/foo/zzzz
+
+filetriggerpostun(/foo*):
+/foo/aaaa
+/foo/copyllo
+/foo/hello
+/foo/hello-bar
+/foo/hello-foo
+/foo/hello-world
+/foo/zzzz
+
+filetriggerun(/usr/bin*):
+/usr/bin/hello
+
+filetriggerpostun(/usr/bin*):
+/usr/bin/hello
+
+transfiletriggerpostun(/usr/bin*):
+
+transfiletriggerpostun(/foo*):
+
+],
+[])
+AT_CLEANUP
+
+AT_SETUP([basic file triggers 2])
+AT_KEYWORDS([filetrigger script])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb /data/SPECS/fakeshell.spec
+for v in 1.0 2.0 3.0; do
+ runroot rpmbuild --quiet -bb --define "ver ${v}" /data/SPECS/parallel.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/fakeshell-1.0-1.noarch.rpm
+runroot rpm -i \
+ /build/RPMS/noarch/parallel-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/parallel-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/parallel-3.0-1.noarch.rpm
+
+echo INSTALL:
+runroot rpm -U /build/RPMS/noarch/parallel-trigger-1.0-1.noarch.rpm
+echo UPGRADE:
+runroot rpm -U /build/RPMS/noarch/parallel-trigger-2.0-1.noarch.rpm
+echo ERASE:
+runroot rpm -e parallel-trigger
+
+],
+[0],
+[INSTALL:
+%filetriggerin: 0 0
+36
+%transfiletriggerin: 0 0
+36
+UPGRADE:
+%transfiletriggerun: 0 0
+36
+%filetriggerin: 0 0
+36
+%transfiletriggerin: 0 0
+36
+ERASE:
+%transfiletriggerun: 0 0
+36
+],
+[])
+AT_CLEANUP
+
diff --git a/tests/rpmsigdig.at b/tests/rpmsigdig.at
new file mode 100644
index 000000000..9df3c5bd8
--- /dev/null
+++ b/tests/rpmsigdig.at
@@ -0,0 +1,443 @@
+# rpmsigdig.at: rpm signature and digest tests
+
+AT_BANNER([RPM signatures and digests])
+
+# ------------------------------
+# Test pre-built package verification
+AT_SETUP([rpmkeys -Kv <unsigned> 1])
+AT_KEYWORDS([rpmkeys digest])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmkeys -Kv /data/RPMS/hello-2.0-1.x86_64.rpm /data/RPMS/hello-1.0-1.i386.rpm
+],
+[0],
+[/data/RPMS/hello-2.0-1.x86_64.rpm:
+ Header SHA1 digest: OK
+ Header SHA256 digest: OK
+ Payload SHA256 digest: OK
+ MD5 digest: OK
+/data/RPMS/hello-1.0-1.i386.rpm:
+ Header SHA1 digest: OK
+ MD5 digest: OK
+],
+[])
+AT_CLEANUP
+
+# ------------------------------
+# Test corrupted package verification (corrupted signature)
+AT_SETUP([rpmkeys -Kv <corrupted unsigned> 1])
+AT_KEYWORDS([rpmkeys digest])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+pkg="hello-2.0-1.x86_64.rpm"
+cp "${RPMTEST}"/data/RPMS/${pkg} "${RPMTEST}"/tmp/${pkg}
+# conv=notrunc bs=1 seek=261 count=6 2> /dev/null
+dd if=/dev/zero of="${RPMTEST}"/tmp/${pkg} \
+ conv=notrunc bs=1 seek=333 count=4 2> /dev/null
+runroot rpmkeys -Kv /tmp/${pkg}
+],
+[1],
+[/tmp/hello-2.0-1.x86_64.rpm:
+ Header SHA1 digest: OK
+ Header SHA256 digest: OK
+ Payload SHA256 digest: OK
+ MD5 digest: BAD (Expected 007ca1d8b35cca02a1854ba301c5432e != 137ca1d8b35cca02a1854ba301c5432e)
+],
+[])
+AT_CLEANUP
+# ------------------------------
+# Test corrupted package verification (corrupted header)
+AT_SETUP([rpmkeys -Kv <corrupted unsigned> 2])
+AT_KEYWORDS([rpmkeys digest])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+pkg="hello-2.0-1.x86_64.rpm"
+cp "${RPMTEST}"/data/RPMS/${pkg} "${RPMTEST}"/tmp/${pkg}
+dd if=/dev/zero of="${RPMTEST}"/tmp/${pkg} \
+ conv=notrunc bs=1 seek=5555 count=6 2> /dev/null
+runroot rpmkeys -Kv /tmp/${pkg}
+],
+[1],
+[/tmp/hello-2.0-1.x86_64.rpm:
+ Header SHA1 digest: BAD (Expected 5cd9874c510b67b44483f9e382a1649ef7743bac != 4261b2c1eb861a4152c2239bce20bfbcaa8971ba)
+ Header SHA256 digest: BAD (Expected ef920781af3bf072ae9888eec3de1c589143101dff9cc0b561468d395fb766d9 != 29fdfe92782fb0470a9a164a6c94af87d3b138c63b39d4c30e0223ca1202ba82)
+ Payload SHA256 digest: OK
+ MD5 digest: BAD (Expected 137ca1d8b35cca02a1854ba301c5432e != de65519eeb4ab52eb076ec054d42e34e)
+],
+[])
+AT_CLEANUP
+
+# ------------------------------
+# Test corrupted package verification (corrupted payload)
+AT_SETUP([rpmkeys -Kv <corrupted unsigned> 3])
+AT_KEYWORDS([rpmkeys digest])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+pkg="hello-2.0-1.x86_64.rpm"
+cp "${RPMTEST}"/data/RPMS/${pkg} "${RPMTEST}"/tmp/${pkg}
+dd if=/dev/zero of="${RPMTEST}"/tmp/${pkg} \
+ conv=notrunc bs=1 seek=7777 count=6 2> /dev/null
+runroot rpmkeys -Kv /tmp/${pkg}
+],
+[1],
+[/tmp/hello-2.0-1.x86_64.rpm:
+ Header SHA1 digest: OK
+ Header SHA256 digest: OK
+ Payload SHA256 digest: BAD (Expected 84a7338287bf19715c4eed0243f5cdb447eeb0ade37b2af718d4060aefca2f7c != bea903609dceac36e1f26a983c493c98064d320fdfeb423034ed63d649b2c8dc)
+ MD5 digest: BAD (Expected 137ca1d8b35cca02a1854ba301c5432e != d662cd0d81601a7107312684ad1ddf38)
+],
+[])
+AT_CLEANUP
+
+# ------------------------------
+# Reproducably build and verify a package
+AT_SETUP([rpmkeys -Kv <unsigned> 2])
+AT_KEYWORDS([rpmkeys digest])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild -bb --quiet \
+ --define "%optflags -O2 -g" \
+ --define "%_target_platform noarch-linux" \
+ --define "%_binary_payload w.ufdio" \
+ --define "%_buildhost localhost" \
+ --define "%source_date_epoch_from_changelog 1" \
+ --define "%clamp_mtime_to_source_date_epoch 1" \
+ /data/SPECS/attrtest.spec
+runroot rpmkeys -Kv /build/RPMS/noarch/attrtest-1.0-1.noarch.rpm
+],
+[0],
+[/build/RPMS/noarch/attrtest-1.0-1.noarch.rpm:
+ Header SHA1 digest: OK
+ Header SHA256 digest: OK
+ Payload SHA256 digest: OK
+ MD5 digest: OK
+],
+[])
+AT_CLEANUP
+
+# ------------------------------
+# Import a public RSA key
+AT_SETUP([rpmkeys --import rsa])
+AT_KEYWORDS([rpmkeys import])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmkeys --import /data/keys/rpm.org-rsa-2048-test.pub
+runroot rpm -qi gpg-pubkey-1964c5fc-58e63918|grep -v Date|grep -v Version:
+],
+[0],
+[Name : gpg-pubkey
+Version : 1964c5fc
+Release : 58e63918
+Architecture: (none)
+Group : Public Keys
+Size : 0
+License : pubkey
+Signature : (none)
+Source RPM : (none)
+Build Host : localhost
+Relocations : (not relocatable)
+Packager : rpm.org RSA testkey <rsa@rpm.org>
+Summary : gpg(rpm.org RSA testkey <rsa@rpm.org>)
+Description :
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQENBFjmORgBCAC7TMEk6wnjSs8Dr4yqSScWdU2pjcqrkTxuzdWvowcIUPZI0w/g
+HkRqGd4apjvY2V15kjL10gk3QhFP3pZ/9p7zh8o8NHX7aGdSGDK7NOq1eFaErPRY
+91LW9RiZ0lbOjXEzIL0KHxUiTQEmdXJT43DJMFPyW9fkCWg0OltiX618FUdWWfI8
+eySdLur1utnqBvdEbCUvWK2RX3vQZQdvEBODnNk2pxqTyV0w6VPQ96W++lF/5Aas
+7rUv3HIyIXxIggc8FRrnH+y9XvvHDonhTIlGnYZN4ubm9i4y3gOkrZlGTrEw7elQ
+1QeMyG2QQEbze8YjpTm4iLABCBrRfPRaQpwrABEBAAG0IXJwbS5vcmcgUlNBIHRl
+c3RrZXkgPHJzYUBycG0ub3JnPokBNwQTAQgAIQUCWOY5GAIbAwULCQgHAgYVCAkK
+CwIEFgIDAQIeAQIXgAAKCRBDRFkeGWTF/MxxCACnjqFL+MmPh9W9JQKT2DcLbBzf
+Cqo6wcEBoCOcwgRSk8dSikhARoteoa55JRJhuMyeKhhEAogE9HRmCPFdjezFTwgB
+BDVBpO2dZ023mLXDVCYX3S8pShOgCP6Tn4wqCnYeAdLcGg106N4xcmgtcssJE+Pr
+XzTZksbZsrTVEmL/Ym+R5w5jBfFnGk7Yw7ndwfQsfNXQb5AZynClFxnX546lcyZX
+fEx3/e6ezw57WNOUK6WT+8b+EGovPkbetK/rGxNXuWaP6X4A/QUm8O98nCuHYFQq
++mvNdsCBqGf7mhaRGtpHk/JgCn5rFvArMDqLVrR9hX0LdCSsH7EGE+bR3r7wuQEN
+BFjmORgBCACk+vDZrIXQuFXEYToZVwb2attzbbJJCqD71vmZTLsW0QxuPKRgbcYY
+zp4K4lVBnHhFrF8MOUOxJ7kQWIJZMZFt+BDcptCYurbD2H4W2xvnWViiC+LzCMzz
+iMJT6165uefL4JHTDPxC2fFiM9yrc72LmylJNkM/vepT128J5Qv0gRUaQbHiQuS6
+Dm/+WRnUfx3i89SV4mnBxb/Ta93GVqoOciWwzWSnwEnWYAvOb95JL4U7c5J5f/+c
+KnQDHsW7sIiIdscsWzvgf6qs2Ra1Zrt7Fdk4+ZS2f/adagLhDO1C24sXf5XfMk5m
+L0OGwZSr9m5s17VXxfspgU5ugc8kBJfzABEBAAGJAR8EGAEIAAkFAljmORgCGwwA
+CgkQQ0RZHhlkxfzwDQf/Y5on5o+s/xD3tDyRYa6SErfT44lEArdCD7Yi+cygJFox
+3jyM8ovtJAkwRegwyxcaLN7zeG1p1Sk9ZAYWQEJT6qSU4Ppu+CVGHgxgnTcfUiu6
+EZZQE6srvua53IMY1lT50M7vx0T5VicHFRWBFV2C/Mc32p7cEE6nn45nEZgUXQNl
+ySEyvoRlsAJq6gFsfqucVz2vMJDTMVczUtq1CjvUqFbif8JVL36EoZCf1SeRw6d6
+s1Kp3AA33Rjd+Uw87HJ4EIB75zMFQX2H0ggAVdYTQcqGXHP5MZK1jJrHfxJyMi3d
+UNW2iqnN3BA7guhOv6OMiROF1+I7Q5nWT63mQC7IgQ==
+=Z6nu
+-----END PGP PUBLIC KEY BLOCK-----
+
+],
+[])
+AT_CLEANUP
+
+# ------------------------------
+# Test pre-built package verification
+AT_SETUP([rpmkeys -K <signed> 1])
+AT_KEYWORDS([rpmkeys digest signature])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmkeys -K /data/RPMS/hello-2.0-1.x86_64-signed.rpm
+runroot rpmkeys --import /data/keys/rpm.org-rsa-2048-test.pub
+runroot rpmkeys -K /data/RPMS/hello-2.0-1.x86_64-signed.rpm
+],
+[0],
+[[/data/RPMS/hello-2.0-1.x86_64-signed.rpm: digests SIGNATURES NOT OK
+/data/RPMS/hello-2.0-1.x86_64-signed.rpm: digests signatures OK
+]],
+[])
+AT_CLEANUP
+
+# ------------------------------
+# Test pre-built package verification
+AT_SETUP([rpmkeys -Kv <signed> 1])
+AT_KEYWORDS([rpmkeys digest signature])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+runroot rpmkeys -Kv /data/RPMS/hello-2.0-1.x86_64-signed.rpm
+runroot rpmkeys --import /data/keys/rpm.org-rsa-2048-test.pub
+runroot rpmkeys -Kv /data/RPMS/hello-2.0-1.x86_64-signed.rpm
+runroot rpmkeys -Kv --nodigest /data/RPMS/hello-2.0-1.x86_64-signed.rpm
+runroot rpmkeys -Kv --nosignature /data/RPMS/hello-2.0-1.x86_64-signed.rpm
+],
+[0],
+[/data/RPMS/hello-2.0-1.x86_64-signed.rpm:
+ Header V4 RSA/SHA256 Signature, key ID 1964c5fc: NOKEY
+ Header SHA1 digest: OK
+ Header SHA256 digest: OK
+ Payload SHA256 digest: OK
+ V4 RSA/SHA256 Signature, key ID 1964c5fc: NOKEY
+ MD5 digest: OK
+/data/RPMS/hello-2.0-1.x86_64-signed.rpm:
+ Header V4 RSA/SHA256 Signature, key ID 1964c5fc: OK
+ Header SHA1 digest: OK
+ Header SHA256 digest: OK
+ Payload SHA256 digest: OK
+ V4 RSA/SHA256 Signature, key ID 1964c5fc: OK
+ MD5 digest: OK
+/data/RPMS/hello-2.0-1.x86_64-signed.rpm:
+ Header V4 RSA/SHA256 Signature, key ID 1964c5fc: OK
+ V4 RSA/SHA256 Signature, key ID 1964c5fc: OK
+/data/RPMS/hello-2.0-1.x86_64-signed.rpm:
+ Header SHA1 digest: OK
+ Header SHA256 digest: OK
+ Payload SHA256 digest: OK
+ MD5 digest: OK
+],
+[])
+AT_CLEANUP
+
+# ------------------------------
+# Test pre-built corrupted package verification (corrupted signature)
+AT_SETUP([rpmkeys -Kv <corrupted signed> 1])
+AT_KEYWORDS([rpmkeys digest signature])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+pkg="hello-2.0-1.x86_64-signed.rpm"
+cp "${RPMTEST}"/data/RPMS/${pkg} "${RPMTEST}"/tmp/${pkg}
+dd if=/dev/zero of="${RPMTEST}"/tmp/${pkg} \
+ conv=notrunc bs=1 seek=264 count=6 2> /dev/null
+
+runroot rpmkeys -Kv /tmp/${pkg}
+runroot rpmkeys --import /data/keys/rpm.org-rsa-2048-test.pub
+runroot rpmkeys -Kv /tmp/${pkg}
+],
+[1],
+[/tmp/hello-2.0-1.x86_64-signed.rpm:
+ Header signature: BAD (package tag 268: invalid OpenPGP signature)
+ Header SHA1 digest: OK
+ Header SHA256 digest: OK
+ Payload SHA256 digest: OK
+ V4 RSA/SHA256 Signature, key ID 1964c5fc: NOKEY
+ MD5 digest: OK
+/tmp/hello-2.0-1.x86_64-signed.rpm:
+ Header signature: BAD (package tag 268: invalid OpenPGP signature)
+ Header SHA1 digest: OK
+ Header SHA256 digest: OK
+ Payload SHA256 digest: OK
+ V4 RSA/SHA256 Signature, key ID 1964c5fc: OK
+ MD5 digest: OK
+],
+[])
+AT_CLEANUP
+# ------------------------------
+# Test pre-built corrupted package verification (corrupted header)
+AT_SETUP([rpmkeys -Kv <corrupted signed> 2])
+AT_KEYWORDS([rpmkeys digest signature])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+pkg="hello-2.0-1.x86_64-signed.rpm"
+cp "${RPMTEST}"/data/RPMS/${pkg} "${RPMTEST}"/tmp/${pkg}
+dd if=/dev/zero of="${RPMTEST}"/tmp/${pkg} \
+ conv=notrunc bs=1 seek=5555 count=6 2> /dev/null
+
+runroot rpmkeys -Kv /tmp/${pkg}
+runroot rpmkeys --import /data/keys/rpm.org-rsa-2048-test.pub
+runroot rpmkeys -Kv /tmp/${pkg}
+],
+[1],
+[/tmp/hello-2.0-1.x86_64-signed.rpm:
+ Header V4 RSA/SHA256 Signature, key ID 1964c5fc: BAD
+ Header SHA1 digest: BAD (Expected 5cd9874c510b67b44483f9e382a1649ef7743bac != 4261b2c1eb861a4152c2239bce20bfbcaa8971ba)
+ Header SHA256 digest: BAD (Expected ef920781af3bf072ae9888eec3de1c589143101dff9cc0b561468d395fb766d9 != 29fdfe92782fb0470a9a164a6c94af87d3b138c63b39d4c30e0223ca1202ba82)
+ Payload SHA256 digest: OK
+ V4 RSA/SHA256 Signature, key ID 1964c5fc: BAD
+ MD5 digest: BAD (Expected 137ca1d8b35cca02a1854ba301c5432e != de65519eeb4ab52eb076ec054d42e34e)
+/tmp/hello-2.0-1.x86_64-signed.rpm:
+ Header V4 RSA/SHA256 Signature, key ID 1964c5fc: BAD
+ Header SHA1 digest: BAD (Expected 5cd9874c510b67b44483f9e382a1649ef7743bac != 4261b2c1eb861a4152c2239bce20bfbcaa8971ba)
+ Header SHA256 digest: BAD (Expected ef920781af3bf072ae9888eec3de1c589143101dff9cc0b561468d395fb766d9 != 29fdfe92782fb0470a9a164a6c94af87d3b138c63b39d4c30e0223ca1202ba82)
+ Payload SHA256 digest: OK
+ V4 RSA/SHA256 Signature, key ID 1964c5fc: BAD
+ MD5 digest: BAD (Expected 137ca1d8b35cca02a1854ba301c5432e != de65519eeb4ab52eb076ec054d42e34e)
+],
+[])
+AT_CLEANUP
+
+# ------------------------------
+# Test pre-built corrupted package verification (corrupted payload)
+AT_SETUP([rpmkeys -Kv <corrupted signed> 3])
+AT_KEYWORDS([rpmkeys digest signature])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+pkg="hello-2.0-1.x86_64-signed.rpm"
+cp "${RPMTEST}"/data/RPMS/${pkg} "${RPMTEST}"/tmp/${pkg}
+dd if=/dev/zero of="${RPMTEST}"/tmp/${pkg} \
+ conv=notrunc bs=1 seek=7777 count=6 2> /dev/null
+
+runroot rpmkeys -Kv /tmp/${pkg}
+runroot rpmkeys --import /data/keys/rpm.org-rsa-2048-test.pub
+runroot rpmkeys -Kv /tmp/${pkg}
+],
+[1],
+[/tmp/hello-2.0-1.x86_64-signed.rpm:
+ Header V4 RSA/SHA256 Signature, key ID 1964c5fc: NOKEY
+ Header SHA1 digest: OK
+ Header SHA256 digest: OK
+ Payload SHA256 digest: BAD (Expected 84a7338287bf19715c4eed0243f5cdb447eeb0ade37b2af718d4060aefca2f7c != bea903609dceac36e1f26a983c493c98064d320fdfeb423034ed63d649b2c8dc)
+ V4 RSA/SHA256 Signature, key ID 1964c5fc: BAD
+ MD5 digest: BAD (Expected 137ca1d8b35cca02a1854ba301c5432e != d662cd0d81601a7107312684ad1ddf38)
+/tmp/hello-2.0-1.x86_64-signed.rpm:
+ Header V4 RSA/SHA256 Signature, key ID 1964c5fc: OK
+ Header SHA1 digest: OK
+ Header SHA256 digest: OK
+ Payload SHA256 digest: BAD (Expected 84a7338287bf19715c4eed0243f5cdb447eeb0ade37b2af718d4060aefca2f7c != bea903609dceac36e1f26a983c493c98064d320fdfeb423034ed63d649b2c8dc)
+ V4 RSA/SHA256 Signature, key ID 1964c5fc: BAD
+ MD5 digest: BAD (Expected 137ca1d8b35cca02a1854ba301c5432e != d662cd0d81601a7107312684ad1ddf38)
+],
+[])
+AT_CLEANUP
+
+# ------------------------------
+# Test --addsign
+AT_SETUP([rpmsign --addsign <unsigned>])
+AT_KEYWORDS([rpmsign signature])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+cp "${RPMTEST}"/data/RPMS/hello-2.0-1.x86_64.rpm "${RPMTEST}"/tmp/
+run rpmsign --key-id 1964C5FC --addsign "${RPMTEST}"/tmp/hello-2.0-1.x86_64.rpm > /dev/null
+echo PRE-IMPORT
+runroot rpmkeys -Kv /tmp/hello-2.0-1.x86_64.rpm|grep -v digest
+echo POST-IMPORT
+runroot rpmkeys --import /data/keys/rpm.org-rsa-2048-test.pub
+runroot rpmkeys -Kv /tmp/hello-2.0-1.x86_64.rpm|grep -v digest
+run rpmsign --delsign "${RPMTEST}"/tmp/hello-2.0-1.x86_64.rpm > /dev/null
+echo POST-DELSIGN
+runroot rpmkeys -Kv /tmp/hello-2.0-1.x86_64.rpm|grep -v digest
+],
+[0],
+[PRE-IMPORT
+/tmp/hello-2.0-1.x86_64.rpm:
+ Header V4 RSA/SHA256 Signature, key ID 1964c5fc: NOKEY
+ V4 RSA/SHA256 Signature, key ID 1964c5fc: NOKEY
+POST-IMPORT
+/tmp/hello-2.0-1.x86_64.rpm:
+ Header V4 RSA/SHA256 Signature, key ID 1964c5fc: OK
+ V4 RSA/SHA256 Signature, key ID 1964c5fc: OK
+POST-DELSIGN
+/tmp/hello-2.0-1.x86_64.rpm:
+],
+[])
+AT_CLEANUP
+
+# ------------------------------
+# Test --delsign
+AT_SETUP([rpmsign --delsign <package>])
+AT_KEYWORDS([rpmsign signature])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+cp "${RPMTEST}"/data/RPMS/hello-2.0-1.x86_64-signed.rpm "${RPMTEST}"/tmp/
+echo PRE-DELSIGN
+runroot rpmkeys -Kv /tmp/hello-2.0-1.x86_64-signed.rpm|grep -v digest
+echo POST-DELSIGN
+run rpmsign --delsign "${RPMTEST}"/tmp/hello-2.0-1.x86_64-signed.rpm > /dev/null
+runroot rpmkeys -Kv /tmp/hello-2.0-1.x86_64-signed.rpm|grep -v digest
+],
+[0],
+[PRE-DELSIGN
+/tmp/hello-2.0-1.x86_64-signed.rpm:
+ Header V4 RSA/SHA256 Signature, key ID 1964c5fc: NOKEY
+ V4 RSA/SHA256 Signature, key ID 1964c5fc: NOKEY
+POST-DELSIGN
+/tmp/hello-2.0-1.x86_64-signed.rpm:
+],
+[])
+AT_CLEANUP
+
+# ------------------------------
+# Test --addsign
+AT_SETUP([rpmsign --addsign <signed>])
+AT_KEYWORDS([rpmsign signature])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+rm -rf "${TOPDIR}"
+
+cp "${RPMTEST}"/data/RPMS/hello-2.0-1.x86_64-signed.rpm "${RPMTEST}"/tmp/
+run rpmsign --key-id 1964C5FC --addsign "${RPMTEST}"/tmp/hello-2.0-1.x86_64-signed.rpm 2>&1 |grep -q "already contains identical signature, skipping"
+],
+[0],
+[],
+[])
+AT_CLEANUP
diff --git a/tests/rpmtests b/tests/rpmtests
new file mode 100755
index 000000000..7a2a9a742
--- /dev/null
+++ b/tests/rpmtests
@@ -0,0 +1,30451 @@
+#! /bin/sh
+# Generated from local.at by GNU Autoconf 2.69.
+#
+# Copyright (C) 2009-2012 Free Software Foundation, Inc.
+#
+# This test suite is free software; the Free Software Foundation gives
+# unlimited permission to copy, distribute and modify it.
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='print -r --'
+ as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in #(
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there. '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test "x$CONFIG_SHELL" = x; then
+ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
+ setopt NO_GLOB_SUBST
+else
+ case \`(set -o) 2>/dev/null\` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+"
+ as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
+else
+ exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
+ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1"
+ if (eval "$as_required") 2>/dev/null; then :
+ as_have_required=yes
+else
+ as_have_required=no
+fi
+ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ as_found=:
+ case $as_dir in #(
+ /*)
+ for as_base in sh bash ksh sh5; do
+ # Try only shells that exist, to save several forks.
+ as_shell=$as_dir/$as_base
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ CONFIG_SHELL=$as_shell as_have_required=yes
+ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ break 2
+fi
+fi
+ done;;
+ esac
+ as_found=false
+done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+ CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
+IFS=$as_save_IFS
+
+
+ if test "x$CONFIG_SHELL" != x; then :
+ export CONFIG_SHELL
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
+fi
+
+ if test x$as_have_required = xno; then :
+ $as_echo "$0: This script requires a shell more modern than all"
+ $as_echo "$0: the shells that I found on your system."
+ if test x${ZSH_VERSION+set} = xset ; then
+ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+ $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+ else
+ $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
+$0: including any error possibly output before this
+$0: message. Then install a modern shell, or manually run
+$0: the script under such a shell if you do have one."
+ fi
+ exit 1
+fi
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else
+ as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else
+ as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ }
+fi # as_fn_arith
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+ $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+} # as_fn_error
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+
+ as_lineno_1=$LINENO as_lineno_1a=$LINENO
+ as_lineno_2=$LINENO as_lineno_2a=$LINENO
+ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+
+ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+ # already done that, so ensure we don't try to do so again and fall
+ # in an infinite loop. This has already happened in practice.
+ _as_can_reexec=no; export _as_can_reexec
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+ case `echo 'xy\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -pR'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -pR'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -pR'
+ fi
+else
+ as_ln_s='cp -pR'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p='mkdir -p "$as_dir"'
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+
+
+
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# How were we run?
+at_cli_args="$@"
+
+
+# Not all shells have the 'times' builtin; the subshell is needed to make
+# sure we discard the 'times: not found' message from the shell.
+at_times_p=false
+(times) >/dev/null 2>&1 && at_times_p=:
+
+# CLI Arguments to pass to the debugging scripts.
+at_debug_args=
+# -e sets to true
+at_errexit_p=false
+# Shall we be verbose? ':' means no, empty means yes.
+at_verbose=:
+at_quiet=
+# Running several jobs in parallel, 0 means as many as test groups.
+at_jobs=1
+at_traceon=:
+at_trace_echo=:
+at_check_filter_trace=:
+
+# Shall we keep the debug scripts? Must be `:' when the suite is
+# run by a debug script, so that the script doesn't remove itself.
+at_debug_p=false
+# Display help message?
+at_help_p=false
+# Display the version message?
+at_version_p=false
+# List test groups?
+at_list_p=false
+# --clean
+at_clean=false
+# Test groups to run
+at_groups=
+# Whether to rerun failed tests.
+at_recheck=
+# Whether a write failure occurred
+at_write_fail=0
+
+# The directory we run the suite in. Default to . if no -C option.
+at_dir=`pwd`
+# An absolute reference to this testsuite script.
+case $as_myself in
+ [\\/]* | ?:[\\/]* ) at_myself=$as_myself ;;
+ * ) at_myself=$at_dir/$as_myself ;;
+esac
+# Whether -C is in effect.
+at_change_dir=false
+
+# Whether to enable colored test results.
+at_color=no
+# List of the tested programs.
+at_tested='rpm
+rpmbuild
+rpmquery'
+# As many question marks as there are digits in the last test group number.
+# Used to normalize the test group numbers so that `ls' lists them in
+# numerical order.
+at_format='???'
+# Description of all the test groups.
+at_help_all="1;rpmgeneral.at:22;rpm --version;basic;
+2;rpmgeneral.at:31;rpmbuild --version;basic;
+3;rpmgeneral.at:40;rpm --showrc;basic;
+4;rpmgeneral.at:50;rpm --querytags;basic;
+5;rpmio.at:21;SIGPIPE from install scriptlet;signals;
+6;rpmquery.at:22;rpm --qf -p *.i386.rpm;query;
+7;rpmquery.at:36;rpm --qf -p *.src.rpm;query;
+8;rpmquery.at:50;rpm -ql -p *.src.rpm;query;
+9;rpmquery.at:65;rpmspec -q;query;
+10;rpmquery.at:77;rpm -ql -p *.i386.rpm;query;
+11;rpmquery.at:94;rpm -qp <manifest>;query;
+12;rpmquery.at:115;rpm -q --scripts -p *.i386.rpm;query;
+13;rpmquery.at:136;rpm -q on installed package;rpmdb install query;
+14;rpmquery.at:180;integer array query;query;
+15;rpmquery.at:196;formatted filesbypkg query;query;
+16;rpmquery.at:212;hex formatted integer array extension query;query;
+17;rpmquery.at:228;base64 extension query;query;
+18;rpmquery.at:241;pgpsig extension query;query signature;
+19;rpmquery.at:255;integer array perms format query;query;
+20;rpmquery.at:271;string array query;query;
+21;rpmquery.at:284;empty string array query;query;
+22;rpmquery.at:297;empty string array extension array format;query;
+23;rpmquery.at:310;empty string array extension query;query;
+24;rpmquery.at:323;different sizes arrays query 1;query;
+25;rpmquery.at:339;different sizes arrays query 2;query;
+26;rpmquery.at:353;different sizes arrays query 3;query;
+27;rpmquery.at:367;different sizes arrays query 4;query;
+28;rpmquery.at:383;non-existent string tag;query;
+29;rpmquery.at:396;non-existent integer tag query;query;
+30;rpmquery.at:409;conditional queryformat;query;
+31;rpmquery.at:422;invalid tag query;query;
+32;rpmquery.at:436;invalid data for format query;query;
+33;rpmquery.at:449;invalid format width query;query;
+34;rpmquery.at:462;xml format;query;
+35;rpmquery.at:761;query file attribute filtering;query;
+36;rpmverify.at:7;dependency problems;verify;
+37;rpmverify.at:32;files with no problems;verify;
+38;rpmverify.at:48;files with no problems in verbose mode;verify;
+39;rpmverify.at:67;directory replaced with a directory symlink;verify;
+40;rpmverify.at:98;directory replaced with an invalid directory symlink;verify;
+41;rpmverify.at:128;verify from db, with problems present;verify;
+42;rpmverify.at:150;verify from package, with problems present;verify;
+43;rpmverify.at:171;verify file attribute filtering;query;
+44;rpmverify.at:220;verifyscript failure;verify;
+45;rpmverify.at:237;verifyscript success;verify;
+46;rpmverify.at:256;shared file timestamp behavior;verify;
+47;rpmverify.at:285;Upgraded verification with min_writes 1 (files);upgrade verify min_writes;
+48;rpmverify.at:357;Upgraded verification with min_writes 2 (files);upgrade verify min_writes;
+49;rpmverify.at:436;Upgraded verification with min_writes 3 (LINKs);upgrade verify min_writes;
+50;rpmverify.at:503;Upgraded verification with min_writes 4 (LINKs);upgrade verify min_writes;
+51;rpmsigdig.at:7;rpmkeys -Kv <unsigned> 1;rpmkeys digest;
+52;rpmsigdig.at:31;rpmkeys -Kv <corrupted unsigned> 1;rpmkeys digest;
+53;rpmsigdig.at:56;rpmkeys -Kv <corrupted unsigned> 2;rpmkeys digest;
+54;rpmsigdig.at:81;rpmkeys -Kv <corrupted unsigned> 3;rpmkeys digest;
+55;rpmsigdig.at:106;rpmkeys -Kv <unsigned> 2;rpmkeys digest;
+56;rpmsigdig.at:135;rpmkeys --import rsa;rpmkeys import;
+57;rpmsigdig.at:196;rpmkeys -K <signed> 1;rpmkeys digest signature;
+58;rpmsigdig.at:216;rpmkeys -Kv <signed> 1;rpmkeys digest signature;
+59;rpmsigdig.at:258;rpmkeys -Kv <corrupted signed> 1;rpmkeys digest signature;
+60;rpmsigdig.at:294;rpmkeys -Kv <corrupted signed> 2;rpmkeys digest signature;
+61;rpmsigdig.at:331;rpmkeys -Kv <corrupted signed> 3;rpmkeys digest signature;
+62;rpmsigdig.at:368;rpmsign --addsign <unsigned>;rpmsign signature;
+63;rpmsigdig.at:403;rpmsign --delsign <package>;rpmsign signature;
+64;rpmsigdig.at:430;rpmsign --addsign <signed>;rpmsign signature;
+65;rpmdb.at:23;rpm --initdb;rpmdb;
+66;rpmdb.at:36;rpm -qa;rpmdb query;
+67;rpmdb.at:49;rpm -q foo;rpmdb query;
+68;rpmdb.at:69;rpm -q foo-;rpmdb query;
+69;rpmdb.at:90;rpm -i *.noarch.rpm;rpmdb install;
+70;rpmdb.at:106;rpm -U --replacepkgs 1;rpmdb install;
+71;rpmdb.at:128;rpm -U --replacepkgs 2;rpmdb install;
+72;rpmdb.at:150;rpm --reinstall 1;rpmdb install;
+73;rpmdb.at:173;rpm -i --relocate=.. *.i386.rpm;rpmdb install;
+74;rpmdb.at:192;rpm -i --relocate=.. *.ppc64.rpm;rpmdb install;
+75;rpmdb.at:208;rpmdb --rebuilddb;rpmdb;
+76;rpmdb.at:233;rpmdb --rebuilddb and verify empty database;rpmdb;
+77;rpmdb.at:248;rpm -U and verify status;install rpmdb query;
+78;rpmdb.at:271;rpm -U with _install_lang and verify status;install rpmdb query;
+79;rpmdb.at:297;rpm -U and verify files on disk;install rpmdb;
+80;rpmdb.at:318;rpm -e and verify files removed;install rpmdb;
+81;rpmi.at:21;rpm -U <manifest>;install;
+82;rpmi.at:36;rpm -U <manifest notfound 1>;install;
+83;rpmi.at:52;rpm -U <manifest notfound 2>;install;
+84;rpmi.at:68;rpm -U <notfound>;install;
+85;rpmi.at:83;rpm -U <unsigned>;install;
+86;rpmi.at:97;rpm -U <signed nokey>;install;
+87;rpmi.at:112;rpm -U <signed>;install;
+88;rpmi.at:127;rpm -U <corrupted signed 1>;install;
+89;rpmi.at:148;rpm -U <corrupted signed 2>;install;
+90;rpmi.at:173;rpm -U <corrupted signed 3>;install;
+91;rpmi.at:197;rpm -U *.src.rpm;install;
+92;rpmi.at:212;rpm -i *.src.rpm;install;
+93;rpmi.at:228;rpm -i <nonexistent file>;install;
+94;rpmi.at:240;rpm -i --nomanifest <garbage text file>;install;
+95;rpmi.at:257;rpm -i <garbage text file;install;
+96;rpmi.at:276;rpm -U upgrade to newer;;
+97;rpmi.at:299;rpm -U upgrade to older;;
+98;rpmi.at:314;rpm -U --oldpackage downgrade;;
+99;rpmi.at:330;rpm -U two versions of same package 1;;
+100;rpmi.at:350;rpm -U two versions of same package 2;;
+101;rpmi.at:370;rpm -U obsoleted package 1;;
+102;rpmi.at:399;rpm -U obsoleted package 2;;
+103;rpmi.at:428;rpm -i two versions of same package;;
+104;rpmi.at:447;rpm -i identical versions of same package;;
+105;rpmi.at:465;rpm -U with invalid --relocate;install relocate;
+106;rpmi.at:482;rpm -U --badreloc with invalid --relocate;install relocate;
+107;rpmi.at:498;rpm -i with/without --excludedocs;install excludedocs;
+108;rpmorder.at:3;basic install/erase order 1;install erase order;
+109;rpmbuild.at:23;rpmbuild -ba *.spec;build;
+110;rpmbuild.at:41;rpmbuild --rebuild;build;
+111;rpmbuild.at:54;rpmbuild --short-circuit -bl;build;
+112;rpmbuild.at:72;rpmbuild -tb <tar with bad spec>;build;
+113;rpmbuild.at:89;rpmbuild -tb;build;
+114;rpmbuild.at:104;rpmbuild %attr and %defattr;build;
+115;rpmbuild.at:144;rpmbuild hardlink;build;
+116;rpmbuild.at:175;rpmbuild unpackaged files;build;
+117;rpmbuild.at:195;rpmbuild unpackaged directories;build;
+118;rpmbuild.at:215;rpmbuild glob;build;
+119;rpmbuild.at:247;rpmbuild prefixpostfix;build;
+120;rpmbuild.at:282;Weak and reverse requires;build;
+121;rpmbuild.at:310;Build requires;build;
+122;rpmbuild.at:326;Dependency generation;build;
+123;rpmbuild.at:369;rpmspec query 1;build;
+124;rpmbuild.at:389;rpmbuild archive sanity;build;
+125;rpmbuild.at:407;rpmbuild debuginfo minisymtab;build debuginfo;
+126;rpmbuild.at:444;rpmbuild debuginfo minisymtab strip -g;build debuginfo;
+127;rpmbuild.at:483;rpmbuild debuginfo dwz;build debuginfo dwz;
+128;rpmbuild.at:575;rpmbuild debuginfo dwz unique debug names;build debuginfo dwz;
+129;rpmbuild.at:664;rpmbuild debuginfo dwz gnu_debuglink crc;build debuginfo;
+130;rpmbuild.at:698;rpmbuild implicit suid binary;build debuginfo dwz suid;
+131;rpmbuild.at:732;rpmbuild debuginfo gdb index included;build debuginfo gdb;
+132;rpmbuild.at:761;rpmbuild debuginfo no gdb index included;build debuginfo gdb;
+133;rpmbuild.at:789;rpmbuild debuginfo unique debug src dir;build debuginfo;
+134;rpmbuild.at:828;rpmbuild debuginfo no unique debug src dir;build debuginfo;
+135;rpmbuild.at:864;rpmbuild debugsource;build debuginfo debugsource;
+136;rpmbuild.at:899;rpmbuild debugsource debugsourcefiles.list path;build debuginfo debugsource;
+137;rpmbuild.at:927;rpmbuild debuginfo subpackages single;build debuginfo debugsubpackage;
+138;rpmbuild.at:969;rpmbuild debuginfo subpackages multiple;build debuginfo debugsubpackage;
+139;rpmbuild.at:1053;rpmbuild debuginfo subpackages multiple unique;build debuginfo debugsubpackage;
+140;rpmbuild.at:1137;rpmbuild debuginfo subpackages multiple unique debugsource;build debuginfo debugsubpackage debugsource;
+141;rpmbuild.at:1224;rpmbuild debuginfo subpackages multiple excluded;build debuginfo debugsubpackage debugsource;
+142;rpmbuild.at:1288;rpmbuild debuginfo subpackages multiple excluded;build debuginfo debugsubpackage debugsource;
+143;rpmbuildid.at:23;rpmbuild buildid none;build debuginfo buildid;
+144;rpmbuildid.at:57;rpmbuild buildid alldebug;build debuginfo buildid;
+145;rpmbuildid.at:149;rpmbuild buildid alldebug unique debug names;build debuginfo buildid;
+146;rpmbuildid.at:240;rpmbuild buildid separate;build debuginfo buildid;
+147;rpmbuildid.at:331;rpmbuild buildid separate unique debug names;build debuginfo buildid;
+148;rpmbuildid.at:421;rpmbuild buildid compat;build debuginfo buildid;
+149;rpmbuildid.at:525;rpmbuild buildid compat unique debug names;build debuginfo buildid;
+150;rpmbuildid.at:629;rpmbuild buildid duplicate alldebug;build debuginfo buildid;
+151;rpmbuildid.at:697;rpmbuild buildid hardlink alldebug;build debuginfo buildid;
+152;rpmbuildid.at:762;rpmbuild buildid duplicate separate;build debuginfo buildid;
+153;rpmbuildid.at:827;rpmbuild buildid hardlink separate;build debuginfo buildid;
+154;rpmbuildid.at:889;rpmbuild buildid duplicate compat;build debuginfo buildid;
+155;rpmbuildid.at:966;rpmbuild buildid hardlink compat;build debuginfo buildid;
+156;rpmbuildid.at:1039;rpmbuild buildid recompute;build debuginfo buildid;
+157;rpmbuildid.at:1153;rpmbuild buildid unique r1 r2;build debuginfo buildid;
+158;rpmbuildid.at:1201;rpmbuild buildid non-unique r1 r2;build debuginfo buildid;
+159;rpmbuildid.at:1253;rpmbuild buildid attrs;build debuginfo buildid;
+160;rpmbuildid.at:1287;rpmbuild buildid config attrs;build debuginfo buildid;
+161;rpmscript.at:7;basic scripts and arguments;verify;
+162;rpmscript.at:44;basic trigger scripts and arguments;trigger script;
+163;rpmscript.at:102;basic file trigger scripts;file trigger script;
+164;rpmscript.at:205;basic file triggers 2;filetrigger script;
+165;rpmvercmp.at:13;rpmvercmp(1.0, 1.0) = 0;vercmp;
+166;rpmvercmp.at:14;rpmvercmp(1.0, 2.0) = -1;vercmp;
+167;rpmvercmp.at:15;rpmvercmp(2.0, 1.0) = 1;vercmp;
+168;rpmvercmp.at:17;rpmvercmp(2.0.1, 2.0.1) = 0;vercmp;
+169;rpmvercmp.at:18;rpmvercmp(2.0, 2.0.1) = -1;vercmp;
+170;rpmvercmp.at:19;rpmvercmp(2.0.1, 2.0) = 1;vercmp;
+171;rpmvercmp.at:21;rpmvercmp(2.0.1a, 2.0.1a) = 0;vercmp;
+172;rpmvercmp.at:22;rpmvercmp(2.0.1a, 2.0.1) = 1;vercmp;
+173;rpmvercmp.at:23;rpmvercmp(2.0.1, 2.0.1a) = -1;vercmp;
+174;rpmvercmp.at:25;rpmvercmp(5.5p1, 5.5p1) = 0;vercmp;
+175;rpmvercmp.at:26;rpmvercmp(5.5p1, 5.5p2) = -1;vercmp;
+176;rpmvercmp.at:27;rpmvercmp(5.5p2, 5.5p1) = 1;vercmp;
+177;rpmvercmp.at:29;rpmvercmp(5.5p10, 5.5p10) = 0;vercmp;
+178;rpmvercmp.at:30;rpmvercmp(5.5p1, 5.5p10) = -1;vercmp;
+179;rpmvercmp.at:31;rpmvercmp(5.5p10, 5.5p1) = 1;vercmp;
+180;rpmvercmp.at:33;rpmvercmp(10xyz, 10.1xyz) = -1;vercmp;
+181;rpmvercmp.at:34;rpmvercmp(10.1xyz, 10xyz) = 1;vercmp;
+182;rpmvercmp.at:36;rpmvercmp(xyz10, xyz10) = 0;vercmp;
+183;rpmvercmp.at:37;rpmvercmp(xyz10, xyz10.1) = -1;vercmp;
+184;rpmvercmp.at:38;rpmvercmp(xyz10.1, xyz10) = 1;vercmp;
+185;rpmvercmp.at:40;rpmvercmp(xyz.4, xyz.4) = 0;vercmp;
+186;rpmvercmp.at:41;rpmvercmp(xyz.4, 8) = -1;vercmp;
+187;rpmvercmp.at:42;rpmvercmp(8, xyz.4) = 1;vercmp;
+188;rpmvercmp.at:43;rpmvercmp(xyz.4, 2) = -1;vercmp;
+189;rpmvercmp.at:44;rpmvercmp(2, xyz.4) = 1;vercmp;
+190;rpmvercmp.at:46;rpmvercmp(5.5p2, 5.6p1) = -1;vercmp;
+191;rpmvercmp.at:47;rpmvercmp(5.6p1, 5.5p2) = 1;vercmp;
+192;rpmvercmp.at:49;rpmvercmp(5.6p1, 6.5p1) = -1;vercmp;
+193;rpmvercmp.at:50;rpmvercmp(6.5p1, 5.6p1) = 1;vercmp;
+194;rpmvercmp.at:52;rpmvercmp(6.0.rc1, 6.0) = 1;vercmp;
+195;rpmvercmp.at:53;rpmvercmp(6.0, 6.0.rc1) = -1;vercmp;
+196;rpmvercmp.at:55;rpmvercmp(10b2, 10a1) = 1;vercmp;
+197;rpmvercmp.at:56;rpmvercmp(10a2, 10b2) = -1;vercmp;
+198;rpmvercmp.at:58;rpmvercmp(1.0aa, 1.0aa) = 0;vercmp;
+199;rpmvercmp.at:59;rpmvercmp(1.0a, 1.0aa) = -1;vercmp;
+200;rpmvercmp.at:60;rpmvercmp(1.0aa, 1.0a) = 1;vercmp;
+201;rpmvercmp.at:62;rpmvercmp(10.0001, 10.0001) = 0;vercmp;
+202;rpmvercmp.at:63;rpmvercmp(10.0001, 10.1) = 0;vercmp;
+203;rpmvercmp.at:64;rpmvercmp(10.1, 10.0001) = 0;vercmp;
+204;rpmvercmp.at:65;rpmvercmp(10.0001, 10.0039) = -1;vercmp;
+205;rpmvercmp.at:66;rpmvercmp(10.0039, 10.0001) = 1;vercmp;
+206;rpmvercmp.at:68;rpmvercmp(4.999.9, 5.0) = -1;vercmp;
+207;rpmvercmp.at:69;rpmvercmp(5.0, 4.999.9) = 1;vercmp;
+208;rpmvercmp.at:71;rpmvercmp(20101121, 20101121) = 0;vercmp;
+209;rpmvercmp.at:72;rpmvercmp(20101121, 20101122) = -1;vercmp;
+210;rpmvercmp.at:73;rpmvercmp(20101122, 20101121) = 1;vercmp;
+211;rpmvercmp.at:75;rpmvercmp(2_0, 2_0) = 0;vercmp;
+212;rpmvercmp.at:76;rpmvercmp(2.0, 2_0) = 0;vercmp;
+213;rpmvercmp.at:77;rpmvercmp(2_0, 2.0) = 0;vercmp;
+214;rpmvercmp.at:80;rpmvercmp(a, a) = 0;vercmp;
+215;rpmvercmp.at:81;rpmvercmp(a+, a+) = 0;vercmp;
+216;rpmvercmp.at:82;rpmvercmp(a+, a_) = 0;vercmp;
+217;rpmvercmp.at:83;rpmvercmp(a_, a+) = 0;vercmp;
+218;rpmvercmp.at:84;rpmvercmp(+a, +a) = 0;vercmp;
+219;rpmvercmp.at:85;rpmvercmp(+a, _a) = 0;vercmp;
+220;rpmvercmp.at:86;rpmvercmp(_a, +a) = 0;vercmp;
+221;rpmvercmp.at:87;rpmvercmp(+_, +_) = 0;vercmp;
+222;rpmvercmp.at:88;rpmvercmp(_+, +_) = 0;vercmp;
+223;rpmvercmp.at:89;rpmvercmp(_+, _+) = 0;vercmp;
+224;rpmvercmp.at:90;rpmvercmp(+, _) = 0;vercmp;
+225;rpmvercmp.at:91;rpmvercmp(_, +) = 0;vercmp;
+226;rpmvercmp.at:94;rpmvercmp(1.0~rc1, 1.0~rc1) = 0;vercmp;
+227;rpmvercmp.at:95;rpmvercmp(1.0~rc1, 1.0) = -1;vercmp;
+228;rpmvercmp.at:96;rpmvercmp(1.0, 1.0~rc1) = 1;vercmp;
+229;rpmvercmp.at:97;rpmvercmp(1.0~rc1, 1.0~rc2) = -1;vercmp;
+230;rpmvercmp.at:98;rpmvercmp(1.0~rc2, 1.0~rc1) = 1;vercmp;
+231;rpmvercmp.at:99;rpmvercmp(1.0~rc1~git123, 1.0~rc1~git123) = 0;vercmp;
+232;rpmvercmp.at:100;rpmvercmp(1.0~rc1~git123, 1.0~rc1) = -1;vercmp;
+233;rpmvercmp.at:101;rpmvercmp(1.0~rc1, 1.0~rc1~git123) = 1;vercmp;
+234;rpmdeps.at:7;missing dependency;install;
+235;rpmdeps.at:30;cross-depending packages;install;
+236;rpmdeps.at:56;unsatisfied versioned require;install;
+237;rpmdeps.at:84;satisfied versioned require;install;
+238;rpmdeps.at:110;versioned conflict in transaction;install;
+239;rpmdeps.at:137;versioned conflict in database;install;
+240;rpmdeps.at:163;install and verify self-conflicting package;install;
+241;rpmdeps.at:185;explicit file conflicts;install;
+242;rpmdeps.at:224;erase to break dependencies;install;
+243;rpmdeps.at:252;erase to break colored file dependency;install;
+244;rpmdeps.at:281;erase on wrong-colored file dependency;install;
+245;rpmdeps.at:309;unsatisfied WITH require;install, boolean;
+246;rpmdeps.at:340;unsatisfied WITH require (rpmdb);install, boolean;
+247;rpmdeps.at:373;satisfied WITH require;install, boolean;
+248;rpmdeps.at:397;satisfied WITH require (rpmdb);install, boolean;
+249;rpmdeps.at:425;unsatisfied WITHOUT require;install, boolean;
+250;rpmdeps.at:451;unsatisfied WITHOUT require (rpmdb);install, boolean;
+251;rpmdeps.at:479;satisfied WITHOUT require;install, boolean;
+252;rpmdeps.at:502;satisfied WITHOUT require (rpmdb);install, boolean;
+253;rpmdeps.at:529;unsatisfied AND require - all missing;install, boolean;
+254;rpmdeps.at:550;unsatisfied AND require - first is missing;install, boolean;
+255;rpmdeps.at:575;unsatisfied AND require - second is missing;install, boolean;
+256;rpmdeps.at:600;satisfied AND require;install, boolean;
+257;rpmdeps.at:629;unsatisfied OR require - all missing;install, boolean;
+258;rpmdeps.at:650;satisfied OR require - first is missing;install, boolean;
+259;rpmdeps.at:673;satisfied OR require - second is missing;install, boolean;
+260;rpmdeps.at:696;satisfied OR require - both present;install, boolean;
+261;rpmdeps.at:725;unsatisfied IF require;install, boolean;
+262;rpmdeps.at:750;satisfied IF require;install, boolean;
+263;rpmdeps.at:777;unsatisfied IF-ELSE require;install, boolean;
+264;rpmdeps.at:798;satisfied IF-ELSE require - right clause;install, boolean;
+265;rpmdeps.at:821;satisfied IF-ELSE require - left clause;install, boolean;
+266;rpmdeps.at:850;unsatisfied nested AND-OR require;install, boolean;
+267;rpmdeps.at:875;satisfied nested AND-OR require;install, boolean;
+268;rpmdeps.at:904;satisfied nested AND-IF require - without right clause;install, boolean;
+269;rpmdeps.at:927;satisfied nested AND-IF require - with right clause;install, boolean;
+270;rpmconflict.at:7;package with file conflict;install;
+271;rpmconflict.at:31;two packages with a conflicting file;install;
+272;rpmconflict.at:48;package with shareable file;install;
+273;rpmconflict.at:72;two packages with shareable file;install;
+274;rpmconflict.at:89;non-conflicting identical basenames;install;
+275;rpmconflict.at:107;conflicting identical basenames;install;
+276;rpmconflict.at:127;multilib elf conflict, prefer 64bit 1;install;
+277;rpmconflict.at:149;multilib elf conflict, prefer 64bit 2;install;
+278;rpmconflict.at:176;multilib elf conflict, prefer 64bit 3;install;
+279;rpmconflict.at:203;multilib elf conflict, prefer 32bit 1;install;
+280;rpmconflict.at:225;multilib elf conflict, prefer 32bit 2;install;
+281;rpmconflict.at:252;multilib elf conflict, prefer 32bit 3;install;
+282;rpmconflict.at:279;multilib elf vs non-elf file conflict 1;install;
+283;rpmconflict.at:300;multilib elf vs non-elf file conflict 2;install;
+284;rpmconflict.at:325;multilib elf vs non-elf file conflict 3;install;
+285;rpmconflict.at:351;replacing directory with symlink;install;
+286;rpmconflict.at:375;replacing symlink with directory;install;
+287;rpmconflict.at:400;real file with shared ghost;install;
+288;rpmreplace.at:4;upgrade to/from regular file;install;
+289;rpmreplace.at:40;upgrade regular file to/from broken link;install;
+290;rpmreplace.at:76;upgrade regular file to/from file link;install;
+291;rpmreplace.at:112;upgrade broken link to broken link;install;
+292;rpmreplace.at:145;upgrade file link to file link;install;
+293;rpmreplace.at:178;upgrade directory link to directory link;install;
+294;rpmreplace.at:211;upgrade regular file to directory;install;
+295;rpmreplace.at:242;upgrade broken link to directory;install;
+296;rpmreplace.at:273;upgrade file link to directory;install;
+297;rpmreplace.at:304;upgrade directory link to directory;install;
+298;rpmreplace.at:335;upgrade empty directory to empty directory;install;
+299;rpmreplace.at:363;upgrade empty directory to regular file;install;
+300;rpmreplace.at:392;upgrade locally symlinked directory;install;
+301;rpmreplace.at:428;upgrade invalid locally symlinked directory;install;
+302;rpmreplace.at:460;upgrade empty directory to broken link;install;
+303;rpmreplace.at:489;upgrade empty directory to file link;install;
+304;rpmreplace.at:518;upgrade removed empty directory to file link;install;
+305;rpmreplace.at:548;upgrade replaced empty directory to file link;install;
+306;rpmreplace.at:578;upgrade empty directory to file link with pretrans;install;
+307;rpmconfig.at:6;install config on existiting file;install;
+308;rpmconfig.at:35;install config(noreplace) on existing file;install;
+309;rpmconfig.at:70;install config on existiting identical file;install;
+310;rpmconfig.at:97;erase unchanged config;install;
+311;rpmconfig.at:123;erase changed config;install;
+312;rpmconfig.at:153;erase changed config(noreplace);install;
+313;rpmconfig.at:185;upgrade unchanged config;install;
+314;rpmconfig.at:215;upgrade unchanged config - touching test;install;
+315;rpmconfig.at:243;upgrade modified config;install;
+316;rpmconfig.at:276;upgrade changing config;install;
+317;rpmconfig.at:306;upgrade changing, modified config 1;install;
+318;rpmconfig.at:342;upgrade changing, modified config 2;install;
+319;rpmconfig.at:377;upgrade unchanged config(noreplace);install;
+320;rpmconfig.at:409;upgrade modified config(noreplace);install;
+321;rpmconfig.at:443;upgrade changing config(noreplace);install;
+322;rpmconfig.at:474;upgrade changing, modified config(noreplace) 1;install;
+323;rpmconfig.at:511;upgrade changing, modified config(noreplace) 2;install;
+324;rpmconfig.at:546;upgrade unchanged shared config;install;
+325;rpmconfig.at:584;upgrade modified shared config;install;
+326;rpmconfig.at:624;upgrade changing shared config;install;
+327;rpmconfig.at:661;upgrade changing, modified shared config 1;install;
+328;rpmconfig.at:704;upgrade changing, modified shared config 2;install;
+329;rpmconfig.at:745;upgrade changing, modified shared config(noreplace) 1;install;
+330;rpmconfig.at:789;upgrade changing, modified shared config(noreplace) 2;install;
+331;rpmconfig.at:830;install/upgrade/erase ghost config;install;
+332;rpmconfig2.at:6;install config on existiting symlink;install;
+333;rpmconfig2.at:36;install config on existiting identical link;install;
+334;rpmconfig2.at:66;erase unchanged config link;install;
+335;rpmconfig2.at:93;erase changed config link;install;
+336;rpmconfig2.at:124;upgrade unchanged config link;install;
+337;rpmconfig2.at:155;upgrade unchanged config link - touching test;install;
+338;rpmconfig2.at:185;upgrade modified config link;install;
+339;rpmconfig2.at:219;upgrade changing config link;install;
+340;rpmconfig2.at:250;upgrade changing, modified config link 1;install;
+341;rpmconfig2.at:287;upgrade changing, modified config link 2;install;
+342;rpmconfig2.at:323;upgrade unchanged config(noreplace) link;install;
+343;rpmconfig2.at:356;upgrade modified config(noreplace) link;install;
+344;rpmconfig2.at:391;upgrade changing config(noreplace) link;install;
+345;rpmconfig2.at:423;upgrade changing, modified config(noreplace) link 1;install;
+346;rpmconfig2.at:461;upgrade changing, modified config(noreplace) link 2;install;
+347;rpmconfig2.at:498;upgrade unchanged shared config link;install;
+348;rpmconfig2.at:537;upgrade modified shared config link;install;
+349;rpmconfig2.at:578;upgrade changing shared config link;install;
+350;rpmconfig2.at:616;upgrade changing, modified shared config link 1;install;
+351;rpmconfig2.at:660;upgrade changing, modified shared config link 2;install;
+352;rpmconfig2.at:702;upgrade changing, modified shared config(noreplace) link 1;install;
+353;rpmconfig2.at:747;upgrade changing, modified shared config(noreplace) link 2;install;
+354;rpmconfig3.at:6;upgrade config to/from non-config;install;
+355;rpmconfig3.at:44;upgrade modified config to/from non-config 1;install;
+356;rpmconfig3.at:88;upgrade modified config to/from non-config 2;install;
+357;rpmconfig3.at:129;upgrade config to/from config link;install;
+358;rpmconfig3.at:166;upgrade modified config to config link;install;
+359;rpmconfig3.at:206;upgrade modified config link to config;install;
+360;rpmconfig3.at:246;upgrade config to directory;install;
+361;rpmconfig3.at:278;upgrade modified config to directory;install;
+362;rpmmacro.at:6;simple rpm --eval;macros;
+363;rpmmacro.at:17;invalid rpm --eval;macros;
+364;rpmmacro.at:29;invalid rpm --define;macros;
+365;rpmmacro.at:40;rpm --undefine;macros;
+366;rpmmacro.at:55;simple true conditional rpm --eval;macros;
+367;rpmmacro.at:65;simple false conditional rpm --eval;macros;
+368;rpmmacro.at:75;nested macro in name;macros;
+369;rpmmacro.at:85;parametrized macro 1;macros;
+370;rpmmacro.at:121;parametrized macro 2;macros;
+371;rpmmacro.at:134;parametrized macro 3;macros;
+372;rpmmacro.at:146;parametrized macro 4;macros;
+373;rpmmacro.at:161;parametrized macro 5;macros;
+374;rpmmacro.at:190;uncompress macro;macros;
+375;rpmmacro.at:202;basename macro;macros;
+376;rpmmacro.at:213;shrink macro;macros;
+377;rpmmacro.at:224;suffix macro;macros;
+378;rpmmacro.at:235;url2path macro;macros;
+379;rpmmacro.at:246;shell expansion;macros;
+380;rpmmacro.at:257;simple lua --eval;macros lua;
+381;rpmmacro.at:267;lua rpm extensions;macros lua;
+382;rpmmacro.at:277;lua posix extensions;macros lua;
+383;rpmmacro.at:288;lua script exit behavior;macros lua;
+384;rpmmacro.at:300;%define + %undefine in nested levels 1;macros define undefine;
+385;rpmmacro.at:315;%define + %undefine in nested levels 2;macros define;
+386;rpmmacro.at:331;%define + %undefine in nested levels 3;macros define;
+387;rpmmacro.at:349;%define + %undefine in nested levels 4;macros define global;
+388;rpmmacro.at:371;%define in conditional macro;macros;
+389;rpmmacro.at:389;%verbose negative test;macros verbose;
+390;rpmmacro.at:407;%verbose positive test;macros verbose;
+391;rpmpython.at:6;module import;python;
+392;rpmpython.at:12;macro manipulation;python;
+393;rpmpython.at:35;basic rpmio;python;
+394;rpmpython.at:70;spec parse;python;
+395;rpmpython.at:85;basic header manipulation;python;
+396;rpmpython.at:110;invalid header data;python;
+397;rpmpython.at:129;reading a package file;python;
+398;rpmpython.at:137;reading a signed package file 1;python;
+399;rpmpython.at:152;reading a signed package file 2;python;
+400;rpmpython.at:170;add package to transaction;python;
+401;rpmpython.at:182;add bogus package to transaction 1;python;
+402;rpmpython.at:196;add bogus package to transaction 2;python;
+403;rpmpython.at:217;database iterators;python rpmdb;
+404;rpmpython.at:316;dependency sets 1;python;
+405;rpmpython.at:333;dependency sets 2;python;
+406;rpmpython.at:343;file info sets 1;python;
+407;rpmpython.at:360;string pool 1;python;
+408;rpmpython.at:375;string pool 2;python;
+409;rpmpython.at:393;archive 1;python;
+410;rpmpython.at:413;header unload;python;
+411;rpmdepmatch.at:4;provide - require pairs;python;
+"
+# List of the all the test groups.
+at_groups_all=`$as_echo "$at_help_all" | sed 's/;.*//'`
+
+# at_fn_validate_ranges NAME...
+# -----------------------------
+# Validate and normalize the test group number contained in each variable
+# NAME. Leading zeroes are treated as decimal.
+at_fn_validate_ranges ()
+{
+ for at_grp
+ do
+ eval at_value=\$$at_grp
+ if test $at_value -lt 1 || test $at_value -gt 411; then
+ $as_echo "invalid test group: $at_value" >&2
+ exit 1
+ fi
+ case $at_value in
+ 0*) # We want to treat leading 0 as decimal, like expr and test, but
+ # AS_VAR_ARITH treats it as octal if it uses $(( )).
+ # With XSI shells, ${at_value#${at_value%%[1-9]*}} avoids the
+ # expr fork, but it is not worth the effort to determine if the
+ # shell supports XSI when the user can just avoid leading 0.
+ eval $at_grp='`expr $at_value + 0`' ;;
+ esac
+ done
+}
+
+at_prev=
+for at_option
+do
+ # If the previous option needs an argument, assign it.
+ if test -n "$at_prev"; then
+ at_option=$at_prev=$at_option
+ at_prev=
+ fi
+
+ case $at_option in
+ *=?*) at_optarg=`expr "X$at_option" : '[^=]*=\(.*\)'` ;;
+ *) at_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $at_option in
+ --help | -h )
+ at_help_p=:
+ ;;
+
+ --list | -l )
+ at_list_p=:
+ ;;
+
+ --version | -V )
+ at_version_p=:
+ ;;
+
+ --clean | -c )
+ at_clean=:
+ ;;
+
+ --color )
+ at_color=always
+ ;;
+ --color=* )
+ case $at_optarg in
+ no | never | none) at_color=never ;;
+ auto | tty | if-tty) at_color=auto ;;
+ always | yes | force) at_color=always ;;
+ *) at_optname=`echo " $at_option" | sed 's/^ //; s/=.*//'`
+ as_fn_error $? "unrecognized argument to $at_optname: $at_optarg" ;;
+ esac
+ ;;
+
+ --debug | -d )
+ at_debug_p=:
+ ;;
+
+ --errexit | -e )
+ at_debug_p=:
+ at_errexit_p=:
+ ;;
+
+ --verbose | -v )
+ at_verbose=; at_quiet=:
+ ;;
+
+ --trace | -x )
+ at_traceon='set -x'
+ at_trace_echo=echo
+ at_check_filter_trace=at_fn_filter_trace
+ ;;
+
+ [0-9] | [0-9][0-9] | [0-9][0-9][0-9] | [0-9][0-9][0-9][0-9])
+ at_fn_validate_ranges at_option
+ as_fn_append at_groups "$at_option$as_nl"
+ ;;
+
+ # Ranges
+ [0-9]- | [0-9][0-9]- | [0-9][0-9][0-9]- | [0-9][0-9][0-9][0-9]-)
+ at_range_start=`echo $at_option |tr -d X-`
+ at_fn_validate_ranges at_range_start
+ at_range=`$as_echo "$at_groups_all" | \
+ sed -ne '/^'$at_range_start'$/,$p'`
+ as_fn_append at_groups "$at_range$as_nl"
+ ;;
+
+ -[0-9] | -[0-9][0-9] | -[0-9][0-9][0-9] | -[0-9][0-9][0-9][0-9])
+ at_range_end=`echo $at_option |tr -d X-`
+ at_fn_validate_ranges at_range_end
+ at_range=`$as_echo "$at_groups_all" | \
+ sed -ne '1,/^'$at_range_end'$/p'`
+ as_fn_append at_groups "$at_range$as_nl"
+ ;;
+
+ [0-9]-[0-9] | [0-9]-[0-9][0-9] | [0-9]-[0-9][0-9][0-9] | \
+ [0-9]-[0-9][0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9] | \
+ [0-9][0-9]-[0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9][0-9][0-9] | \
+ [0-9][0-9][0-9]-[0-9][0-9][0-9] | \
+ [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] | \
+ [0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] )
+ at_range_start=`expr $at_option : '\(.*\)-'`
+ at_range_end=`expr $at_option : '.*-\(.*\)'`
+ if test $at_range_start -gt $at_range_end; then
+ at_tmp=$at_range_end
+ at_range_end=$at_range_start
+ at_range_start=$at_tmp
+ fi
+ at_fn_validate_ranges at_range_start at_range_end
+ at_range=`$as_echo "$at_groups_all" | \
+ sed -ne '/^'$at_range_start'$/,/^'$at_range_end'$/p'`
+ as_fn_append at_groups "$at_range$as_nl"
+ ;;
+
+ # Directory selection.
+ --directory | -C )
+ at_prev=--directory
+ ;;
+ --directory=* )
+ at_change_dir=:
+ at_dir=$at_optarg
+ if test x- = "x$at_dir" ; then
+ at_dir=./-
+ fi
+ ;;
+
+ # Parallel execution.
+ --jobs | -j )
+ at_jobs=0
+ ;;
+ --jobs=* | -j[0-9]* )
+ if test -n "$at_optarg"; then
+ at_jobs=$at_optarg
+ else
+ at_jobs=`expr X$at_option : 'X-j\(.*\)'`
+ fi
+ case $at_jobs in *[!0-9]*)
+ at_optname=`echo " $at_option" | sed 's/^ //; s/[0-9=].*//'`
+ as_fn_error $? "non-numeric argument to $at_optname: $at_jobs" ;;
+ esac
+ ;;
+
+ # Keywords.
+ --keywords | -k )
+ at_prev=--keywords
+ ;;
+ --keywords=* )
+ at_groups_selected=$at_help_all
+ at_save_IFS=$IFS
+ IFS=,
+ set X $at_optarg
+ shift
+ IFS=$at_save_IFS
+ for at_keyword
+ do
+ at_invert=
+ case $at_keyword in
+ '!'*)
+ at_invert="-v"
+ at_keyword=`expr "X$at_keyword" : 'X!\(.*\)'`
+ ;;
+ esac
+ # It is on purpose that we match the test group titles too.
+ at_groups_selected=`$as_echo "$at_groups_selected" |
+ grep -i $at_invert "^[1-9][^;]*;.*[; ]$at_keyword[ ;]"`
+ done
+ # Smash the keywords.
+ at_groups_selected=`$as_echo "$at_groups_selected" | sed 's/;.*//'`
+ as_fn_append at_groups "$at_groups_selected$as_nl"
+ ;;
+ --recheck)
+ at_recheck=:
+ ;;
+
+ *=*)
+ at_envvar=`expr "x$at_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ case $at_envvar in
+ '' | [0-9]* | *[!_$as_cr_alnum]* )
+ as_fn_error $? "invalid variable name: \`$at_envvar'" ;;
+ esac
+ at_value=`$as_echo "$at_optarg" | sed "s/'/'\\\\\\\\''/g"`
+ # Export now, but save eval for later and for debug scripts.
+ export $at_envvar
+ as_fn_append at_debug_args " $at_envvar='$at_value'"
+ ;;
+
+ *) $as_echo "$as_me: invalid option: $at_option" >&2
+ $as_echo "Try \`$0 --help' for more information." >&2
+ exit 1
+ ;;
+ esac
+done
+
+# Verify our last option didn't require an argument
+if test -n "$at_prev"; then :
+ as_fn_error $? "\`$at_prev' requires an argument"
+fi
+
+# The file containing the suite.
+at_suite_log=$at_dir/$as_me.log
+
+# Selected test groups.
+if test -z "$at_groups$at_recheck"; then
+ at_groups=$at_groups_all
+else
+ if test -n "$at_recheck" && test -r "$at_suite_log"; then
+ at_oldfails=`sed -n '
+ /^Failed tests:$/,/^Skipped tests:$/{
+ s/^[ ]*\([1-9][0-9]*\):.*/\1/p
+ }
+ /^Unexpected passes:$/,/^## Detailed failed tests/{
+ s/^[ ]*\([1-9][0-9]*\):.*/\1/p
+ }
+ /^## Detailed failed tests/q
+ ' "$at_suite_log"`
+ as_fn_append at_groups "$at_oldfails$as_nl"
+ fi
+ # Sort the tests, removing duplicates.
+ at_groups=`$as_echo "$at_groups" | sort -nu | sed '/^$/d'`
+fi
+
+if test x"$at_color" = xalways \
+ || { test x"$at_color" = xauto && test -t 1; }; then
+ at_red=`printf '\033[0;31m'`
+ at_grn=`printf '\033[0;32m'`
+ at_lgn=`printf '\033[1;32m'`
+ at_blu=`printf '\033[1;34m'`
+ at_std=`printf '\033[m'`
+else
+ at_red= at_grn= at_lgn= at_blu= at_std=
+fi
+
+# Help message.
+if $at_help_p; then
+ cat <<_ATEOF || at_write_fail=1
+Usage: $0 [OPTION]... [VARIABLE=VALUE]... [TESTS]
+
+Run all the tests, or the selected TESTS, given by numeric ranges, and
+save a detailed log file. Upon failure, create debugging scripts.
+
+Do not change environment variables directly. Instead, set them via
+command line arguments. Set \`AUTOTEST_PATH' to select the executables
+to exercise. Each relative directory is expanded as build and source
+directories relative to the top level of this distribution.
+E.g., from within the build directory /tmp/foo-1.0, invoking this:
+
+ $ $0 AUTOTEST_PATH=bin
+
+is equivalent to the following, assuming the source directory is /src/foo-1.0:
+
+ PATH=/tmp/foo-1.0/bin:/src/foo-1.0/bin:\$PATH $0
+_ATEOF
+cat <<_ATEOF || at_write_fail=1
+
+Operation modes:
+ -h, --help print the help message, then exit
+ -V, --version print version number, then exit
+ -c, --clean remove all the files this test suite might create and exit
+ -l, --list describes all the tests, or the selected TESTS
+_ATEOF
+cat <<_ATEOF || at_write_fail=1
+
+Execution tuning:
+ -C, --directory=DIR
+ change to directory DIR before starting
+ --color[=never|auto|always]
+ enable colored test results on terminal, or always
+ -j, --jobs[=N]
+ Allow N jobs at once; infinite jobs with no arg (default 1)
+ -k, --keywords=KEYWORDS
+ select the tests matching all the comma-separated KEYWORDS
+ multiple \`-k' accumulate; prefixed \`!' negates a KEYWORD
+ --recheck select all tests that failed or passed unexpectedly last time
+ -e, --errexit abort as soon as a test fails; implies --debug
+ -v, --verbose force more detailed output
+ default for debugging scripts
+ -d, --debug inhibit clean up and top-level logging
+ default for debugging scripts
+ -x, --trace enable tests shell tracing
+_ATEOF
+cat <<_ATEOF || at_write_fail=1
+
+Report bugs to <rpm-maint@lists.rpm.org>.
+_ATEOF
+ exit $at_write_fail
+fi
+
+# List of tests.
+if $at_list_p; then
+ cat <<_ATEOF || at_write_fail=1
+rpm 4.14.1 test suite test groups:
+
+ NUM: FILE-NAME:LINE TEST-GROUP-NAME
+ KEYWORDS
+
+_ATEOF
+ # Pass an empty line as separator between selected groups and help.
+ $as_echo "$at_groups$as_nl$as_nl$at_help_all" |
+ awk 'NF == 1 && FS != ";" {
+ selected[$ 1] = 1
+ next
+ }
+ /^$/ { FS = ";" }
+ NF > 0 {
+ if (selected[$ 1]) {
+ printf " %3d: %-18s %s\n", $ 1, $ 2, $ 3
+ if ($ 4) {
+ lmax = 79
+ indent = " "
+ line = indent
+ len = length (line)
+ n = split ($ 4, a, " ")
+ for (i = 1; i <= n; i++) {
+ l = length (a[i]) + 1
+ if (i > 1 && len + l > lmax) {
+ print line
+ line = indent " " a[i]
+ len = length (line)
+ } else {
+ line = line " " a[i]
+ len += l
+ }
+ }
+ if (n)
+ print line
+ }
+ }
+ }' || at_write_fail=1
+ exit $at_write_fail
+fi
+if $at_version_p; then
+ $as_echo "$as_me (rpm 4.14.1)" &&
+ cat <<\_ATEOF || at_write_fail=1
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+This test suite is free software; the Free Software Foundation gives
+unlimited permission to copy, distribute and modify it.
+_ATEOF
+ exit $at_write_fail
+fi
+
+# Should we print banners? Yes if more than one test is run.
+case $at_groups in #(
+ *$as_nl* )
+ at_print_banners=: ;; #(
+ * ) at_print_banners=false ;;
+esac
+# Text for banner N, set to a single space once printed.
+# Banner 1. rpmgeneral.at:19
+# Category starts at test group 1.
+at_banner_text_1="Basic tests"
+# Banner 2. rpmio.at:3
+# Category starts at test group 5.
+at_banner_text_2="I/O"
+# Banner 3. rpmquery.at:19
+# Category starts at test group 6.
+at_banner_text_3="RPM queries"
+# Banner 4. rpmverify.at:3
+# Category starts at test group 36.
+at_banner_text_4="RPM verification"
+# Banner 5. rpmsigdig.at:3
+# Category starts at test group 51.
+at_banner_text_5="RPM signatures and digests"
+# Banner 6. rpmdb.at:19
+# Category starts at test group 65.
+at_banner_text_6="RPM database access"
+# Banner 7. rpmi.at:19
+# Category starts at test group 81.
+at_banner_text_7="RPM install tests"
+# Banner 8. rpmorder.at:1
+# Category starts at test group 108.
+at_banner_text_8="RPM install/erase ordering"
+# Banner 9. rpmbuild.at:19
+# Category starts at test group 109.
+at_banner_text_9="RPM build"
+# Banner 10. rpmbuildid.at:19
+# Category starts at test group 143.
+at_banner_text_10="RPM buildid tests"
+# Banner 11. rpmscript.at:3
+# Category starts at test group 161.
+at_banner_text_11="RPM scriptlets"
+# Banner 12. rpmvercmp.at:11
+# Category starts at test group 165.
+at_banner_text_12="RPM version comparison"
+# Banner 13. rpmdeps.at:3
+# Category starts at test group 234.
+at_banner_text_13="RPM dependencies"
+# Banner 14. rpmconflict.at:3
+# Category starts at test group 270.
+at_banner_text_14="RPM implicit file conflicts"
+# Banner 15. rpmreplace.at:2
+# Category starts at test group 288.
+at_banner_text_15="RPM file replacement"
+# Banner 16. rpmconfig.at:3
+# Category starts at test group 307.
+at_banner_text_16="RPM config file behavior"
+# Banner 17. rpmconfig2.at:3
+# Category starts at test group 332.
+at_banner_text_17="RPM config symlink behavior"
+# Banner 18. rpmconfig3.at:3
+# Category starts at test group 354.
+at_banner_text_18="RPM config filetype changes"
+# Banner 19. rpmmacro.at:3
+# Category starts at test group 362.
+at_banner_text_19="RPM macros"
+# Banner 20. rpmpython.at:4
+# Category starts at test group 391.
+at_banner_text_20="Python bindings"
+# Banner 21. rpmdepmatch.at:2
+# Category starts at test group 411.
+at_banner_text_21="RPM dependency matching"
+
+# Take any -C into account.
+if $at_change_dir ; then
+ test x != "x$at_dir" && cd "$at_dir" \
+ || as_fn_error $? "unable to change directory"
+ at_dir=`pwd`
+fi
+
+# Load the config files for any default variable assignments.
+for at_file in atconfig atlocal
+do
+ test -r $at_file || continue
+ . ./$at_file || as_fn_error $? "invalid content: $at_file"
+done
+
+# Autoconf <=2.59b set at_top_builddir instead of at_top_build_prefix:
+: "${at_top_build_prefix=$at_top_builddir}"
+
+# Perform any assignments requested during argument parsing.
+eval "$at_debug_args"
+
+# atconfig delivers names relative to the directory the test suite is
+# in, but the groups themselves are run in testsuite-dir/group-dir.
+if test -n "$at_top_srcdir"; then
+ builddir=../..
+ for at_dir_var in srcdir top_srcdir top_build_prefix
+ do
+ eval at_val=\$at_$at_dir_var
+ case $at_val in
+ [\\/$]* | ?:[\\/]* ) at_prefix= ;;
+ *) at_prefix=../../ ;;
+ esac
+ eval "$at_dir_var=\$at_prefix\$at_val"
+ done
+fi
+
+## -------------------- ##
+## Directory structure. ##
+## -------------------- ##
+
+# This is the set of directories and files used by this script
+# (non-literals are capitalized):
+#
+# TESTSUITE - the testsuite
+# TESTSUITE.log - summarizes the complete testsuite run
+# TESTSUITE.dir/ - created during a run, remains after -d or failed test
+# + at-groups/ - during a run: status of all groups in run
+# | + NNN/ - during a run: meta-data about test group NNN
+# | | + check-line - location (source file and line) of current AT_CHECK
+# | | + status - exit status of current AT_CHECK
+# | | + stdout - stdout of current AT_CHECK
+# | | + stder1 - stderr, including trace
+# | | + stderr - stderr, with trace filtered out
+# | | + test-source - portion of testsuite that defines group
+# | | + times - timestamps for computing duration
+# | | + pass - created if group passed
+# | | + xpass - created if group xpassed
+# | | + fail - created if group failed
+# | | + xfail - created if group xfailed
+# | | + skip - created if group skipped
+# + at-stop - during a run: end the run if this file exists
+# + at-source-lines - during a run: cache of TESTSUITE line numbers for extraction
+# + 0..NNN/ - created for each group NNN, remains after -d or failed test
+# | + TESTSUITE.log - summarizes the group results
+# | + ... - files created during the group
+
+# The directory the whole suite works in.
+# Should be absolute to let the user `cd' at will.
+at_suite_dir=$at_dir/$as_me.dir
+# The file containing the suite ($at_dir might have changed since earlier).
+at_suite_log=$at_dir/$as_me.log
+# The directory containing helper files per test group.
+at_helper_dir=$at_suite_dir/at-groups
+# Stop file: if it exists, do not start new jobs.
+at_stop_file=$at_suite_dir/at-stop
+# The fifo used for the job dispatcher.
+at_job_fifo=$at_suite_dir/at-job-fifo
+
+if $at_clean; then
+ test -d "$at_suite_dir" &&
+ find "$at_suite_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \;
+ rm -f -r "$at_suite_dir" "$at_suite_log"
+ exit $?
+fi
+
+# Don't take risks: use only absolute directories in PATH.
+#
+# For stand-alone test suites (ie. atconfig was not found),
+# AUTOTEST_PATH is relative to `.'.
+#
+# For embedded test suites, AUTOTEST_PATH is relative to the top level
+# of the package. Then expand it into build/src parts, since users
+# may create executables in both places.
+AUTOTEST_PATH=`$as_echo "$AUTOTEST_PATH" | sed "s|:|$PATH_SEPARATOR|g"`
+at_path=
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $AUTOTEST_PATH $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -n "$at_path" && as_fn_append at_path $PATH_SEPARATOR
+case $as_dir in
+ [\\/]* | ?:[\\/]* )
+ as_fn_append at_path "$as_dir"
+ ;;
+ * )
+ if test -z "$at_top_build_prefix"; then
+ # Stand-alone test suite.
+ as_fn_append at_path "$as_dir"
+ else
+ # Embedded test suite.
+ as_fn_append at_path "$at_top_build_prefix$as_dir$PATH_SEPARATOR"
+ as_fn_append at_path "$at_top_srcdir/$as_dir"
+ fi
+ ;;
+esac
+ done
+IFS=$as_save_IFS
+
+
+# Now build and simplify PATH.
+#
+# There might be directories that don't exist, but don't redirect
+# builtins' (eg., cd) stderr directly: Ultrix's sh hates that.
+at_new_path=
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $at_path
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -d "$as_dir" || continue
+case $as_dir in
+ [\\/]* | ?:[\\/]* ) ;;
+ * ) as_dir=`(cd "$as_dir" && pwd) 2>/dev/null` ;;
+esac
+case $PATH_SEPARATOR$at_new_path$PATH_SEPARATOR in
+ *$PATH_SEPARATOR$as_dir$PATH_SEPARATOR*) ;;
+ $PATH_SEPARATOR$PATH_SEPARATOR) at_new_path=$as_dir ;;
+ *) as_fn_append at_new_path "$PATH_SEPARATOR$as_dir" ;;
+esac
+ done
+IFS=$as_save_IFS
+
+PATH=$at_new_path
+export PATH
+
+# Setting up the FDs.
+
+
+
+# 5 is the log file. Not to be overwritten if `-d'.
+if $at_debug_p; then
+ at_suite_log=/dev/null
+else
+ : >"$at_suite_log"
+fi
+exec 5>>"$at_suite_log"
+
+# Banners and logs.
+$as_echo "## ---------------------- ##
+## rpm 4.14.1 test suite. ##
+## ---------------------- ##"
+{
+ $as_echo "## ---------------------- ##
+## rpm 4.14.1 test suite. ##
+## ---------------------- ##"
+ echo
+
+ $as_echo "$as_me: command line was:"
+ $as_echo " \$ $0 $at_cli_args"
+ echo
+
+ # If ChangeLog exists, list a few lines in case it might help determining
+ # the exact version.
+ if test -n "$at_top_srcdir" && test -f "$at_top_srcdir/ChangeLog"; then
+ $as_echo "## ---------- ##
+## ChangeLog. ##
+## ---------- ##"
+ echo
+ sed 's/^/| /;10q' "$at_top_srcdir/ChangeLog"
+ echo
+ fi
+
+ {
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ $as_echo "PATH: $as_dir"
+ done
+IFS=$as_save_IFS
+
+}
+ echo
+
+ # Contents of the config files.
+ for at_file in atconfig atlocal
+ do
+ test -r $at_file || continue
+ $as_echo "$as_me: $at_file:"
+ sed 's/^/| /' $at_file
+ echo
+ done
+} >&5
+
+
+## ------------------------- ##
+## Autotest shell functions. ##
+## ------------------------- ##
+
+# at_fn_banner NUMBER
+# -------------------
+# Output banner NUMBER, provided the testsuite is running multiple groups and
+# this particular banner has not yet been printed.
+at_fn_banner ()
+{
+ $at_print_banners || return 0
+ eval at_banner_text=\$at_banner_text_$1
+ test "x$at_banner_text" = "x " && return 0
+ eval "at_banner_text_$1=\" \""
+ if test -z "$at_banner_text"; then
+ $at_first || echo
+ else
+ $as_echo "$as_nl$at_banner_text$as_nl"
+ fi
+} # at_fn_banner
+
+# at_fn_check_prepare_notrace REASON LINE
+# ---------------------------------------
+# Perform AT_CHECK preparations for the command at LINE for an untraceable
+# command; REASON is the reason for disabling tracing.
+at_fn_check_prepare_notrace ()
+{
+ $at_trace_echo "Not enabling shell tracing (command contains $1)"
+ $as_echo "$2" >"$at_check_line_file"
+ at_check_trace=: at_check_filter=:
+ : >"$at_stdout"; : >"$at_stderr"
+}
+
+# at_fn_check_prepare_trace LINE
+# ------------------------------
+# Perform AT_CHECK preparations for the command at LINE for a traceable
+# command.
+at_fn_check_prepare_trace ()
+{
+ $as_echo "$1" >"$at_check_line_file"
+ at_check_trace=$at_traceon at_check_filter=$at_check_filter_trace
+ : >"$at_stdout"; : >"$at_stderr"
+}
+
+# at_fn_check_prepare_dynamic COMMAND LINE
+# ----------------------------------------
+# Decide if COMMAND at LINE is traceable at runtime, and call the appropriate
+# preparation function.
+at_fn_check_prepare_dynamic ()
+{
+ case $1 in
+ *$as_nl*)
+ at_fn_check_prepare_notrace 'an embedded newline' "$2" ;;
+ *)
+ at_fn_check_prepare_trace "$2" ;;
+ esac
+}
+
+# at_fn_filter_trace
+# ------------------
+# Remove the lines in the file "$at_stderr" generated by "set -x" and print
+# them to stderr.
+at_fn_filter_trace ()
+{
+ mv "$at_stderr" "$at_stder1"
+ grep '^ *+' "$at_stder1" >&2
+ grep -v '^ *+' "$at_stder1" >"$at_stderr"
+}
+
+# at_fn_log_failure FILE-LIST
+# ---------------------------
+# Copy the files in the list on stdout with a "> " prefix, and exit the shell
+# with a failure exit code.
+at_fn_log_failure ()
+{
+ for file
+ do $as_echo "$file:"; sed 's/^/> /' "$file"; done
+ echo 1 > "$at_status_file"
+ exit 1
+}
+
+# at_fn_check_skip EXIT-CODE LINE
+# -------------------------------
+# Check whether EXIT-CODE is a special exit code (77 or 99), and if so exit
+# the test group subshell with that same exit code. Use LINE in any report
+# about test failure.
+at_fn_check_skip ()
+{
+ case $1 in
+ 99) echo 99 > "$at_status_file"; at_failed=:
+ $as_echo "$2: hard failure"; exit 99;;
+ 77) echo 77 > "$at_status_file"; exit 77;;
+ esac
+}
+
+# at_fn_check_status EXPECTED EXIT-CODE LINE
+# ------------------------------------------
+# Check whether EXIT-CODE is the EXPECTED exit code, and if so do nothing.
+# Otherwise, if it is 77 or 99, exit the test group subshell with that same
+# exit code; if it is anything else print an error message referring to LINE,
+# and fail the test.
+at_fn_check_status ()
+{
+ case $2 in
+ $1 ) ;;
+ 77) echo 77 > "$at_status_file"; exit 77;;
+ 99) echo 99 > "$at_status_file"; at_failed=:
+ $as_echo "$3: hard failure"; exit 99;;
+ *) $as_echo "$3: exit code was $2, expected $1"
+ at_failed=:;;
+ esac
+}
+
+# at_fn_diff_devnull FILE
+# -----------------------
+# Emit a diff between /dev/null and FILE. Uses "test -s" to avoid useless diff
+# invocations.
+at_fn_diff_devnull ()
+{
+ test -s "$1" || return 0
+ $at_diff "$at_devnull" "$1"
+}
+
+# at_fn_test NUMBER
+# -----------------
+# Parse out test NUMBER from the tail of this file.
+at_fn_test ()
+{
+ eval at_sed=\$at_sed$1
+ sed "$at_sed" "$at_myself" > "$at_test_source"
+}
+
+# at_fn_create_debugging_script
+# -----------------------------
+# Create the debugging script $at_group_dir/run which will reproduce the
+# current test group.
+at_fn_create_debugging_script ()
+{
+ {
+ echo "#! /bin/sh" &&
+ echo 'test "${ZSH_VERSION+set}" = set && alias -g '\''${1+"$@"}'\''='\''"$@"'\''' &&
+ $as_echo "cd '$at_dir'" &&
+ $as_echo "exec \${CONFIG_SHELL-$SHELL} \"$at_myself\" -v -d $at_debug_args $at_group \${1+\"\$@\"}" &&
+ echo 'exit 1'
+ } >"$at_group_dir/run" &&
+ chmod +x "$at_group_dir/run"
+}
+
+## -------------------------------- ##
+## End of autotest shell functions. ##
+## -------------------------------- ##
+{
+ $as_echo "## ---------------- ##
+## Tested programs. ##
+## ---------------- ##"
+ echo
+} >&5
+
+# Report what programs are being tested.
+for at_program in : $at_tested
+do
+ test "$at_program" = : && continue
+ case $at_program in
+ [\\/]* | ?:[\\/]* ) $at_program_=$at_program ;;
+ * )
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -f "$as_dir/$at_program" && break
+ done
+IFS=$as_save_IFS
+
+ at_program_=$as_dir/$at_program ;;
+ esac
+ if test -f "$at_program_"; then
+ {
+ $as_echo "$at_srcdir/local.at:36: $at_program_ --version"
+ "$at_program_" --version </dev/null
+ echo
+ } >&5 2>&1
+ else
+ as_fn_error $? "cannot find $at_program" "$LINENO" 5
+ fi
+done
+
+{
+ $as_echo "## ------------------ ##
+## Running the tests. ##
+## ------------------ ##"
+} >&5
+
+at_start_date=`date`
+at_start_time=`date +%s 2>/dev/null`
+$as_echo "$as_me: starting at: $at_start_date" >&5
+
+# Create the master directory if it doesn't already exist.
+as_dir="$at_suite_dir"; as_fn_mkdir_p ||
+ as_fn_error $? "cannot create \`$at_suite_dir'" "$LINENO" 5
+
+# Can we diff with `/dev/null'? DU 5.0 refuses.
+if diff /dev/null /dev/null >/dev/null 2>&1; then
+ at_devnull=/dev/null
+else
+ at_devnull=$at_suite_dir/devnull
+ >"$at_devnull"
+fi
+
+# Use `diff -u' when possible.
+if at_diff=`diff -u "$at_devnull" "$at_devnull" 2>&1` && test -z "$at_diff"
+then
+ at_diff='diff -u'
+else
+ at_diff=diff
+fi
+
+# Get the last needed group.
+for at_group in : $at_groups; do :; done
+
+# Extract the start and end lines of each test group at the tail
+# of this file
+awk '
+BEGIN { FS="" }
+/^#AT_START_/ {
+ start = NR
+}
+/^#AT_STOP_/ {
+ test = substr ($ 0, 10)
+ print "at_sed" test "=\"1," start "d;" (NR-1) "q\""
+ if (test == "'"$at_group"'") exit
+}' "$at_myself" > "$at_suite_dir/at-source-lines" &&
+. "$at_suite_dir/at-source-lines" ||
+ as_fn_error $? "cannot create test line number cache" "$LINENO" 5
+rm -f "$at_suite_dir/at-source-lines"
+
+# Set number of jobs for `-j'; avoid more jobs than test groups.
+set X $at_groups; shift; at_max_jobs=$#
+if test $at_max_jobs -eq 0; then
+ at_jobs=1
+fi
+if test $at_jobs -ne 1 &&
+ { test $at_jobs -eq 0 || test $at_jobs -gt $at_max_jobs; }; then
+ at_jobs=$at_max_jobs
+fi
+
+# If parallel mode, don't output banners, don't split summary lines.
+if test $at_jobs -ne 1; then
+ at_print_banners=false
+ at_quiet=:
+fi
+
+# Set up helper dirs.
+rm -rf "$at_helper_dir" &&
+mkdir "$at_helper_dir" &&
+cd "$at_helper_dir" &&
+{ test -z "$at_groups" || mkdir $at_groups; } ||
+as_fn_error $? "testsuite directory setup failed" "$LINENO" 5
+
+# Functions for running a test group. We leave the actual
+# test group execution outside of a shell function in order
+# to avoid hitting zsh 4.x exit status bugs.
+
+# at_fn_group_prepare
+# -------------------
+# Prepare for running a test group.
+at_fn_group_prepare ()
+{
+ # The directory for additional per-group helper files.
+ at_job_dir=$at_helper_dir/$at_group
+ # The file containing the location of the last AT_CHECK.
+ at_check_line_file=$at_job_dir/check-line
+ # The file containing the exit status of the last command.
+ at_status_file=$at_job_dir/status
+ # The files containing the output of the tested commands.
+ at_stdout=$at_job_dir/stdout
+ at_stder1=$at_job_dir/stder1
+ at_stderr=$at_job_dir/stderr
+ # The file containing the code for a test group.
+ at_test_source=$at_job_dir/test-source
+ # The file containing dates.
+ at_times_file=$at_job_dir/times
+
+ # Be sure to come back to the top test directory.
+ cd "$at_suite_dir"
+
+ # Clearly separate the test groups when verbose.
+ $at_first || $at_verbose echo
+
+ at_group_normalized=$at_group
+
+ eval 'while :; do
+ case $at_group_normalized in #(
+ '"$at_format"'*) break;;
+ esac
+ at_group_normalized=0$at_group_normalized
+ done'
+
+
+ # Create a fresh directory for the next test group, and enter.
+ # If one already exists, the user may have invoked ./run from
+ # within that directory; we remove the contents, but not the
+ # directory itself, so that we aren't pulling the rug out from
+ # under the shell's notion of the current directory.
+ at_group_dir=$at_suite_dir/$at_group_normalized
+ at_group_log=$at_group_dir/$as_me.log
+ if test -d "$at_group_dir"; then
+ find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx {} \;
+ rm -fr "$at_group_dir"/* "$at_group_dir"/.[!.] "$at_group_dir"/.??*
+fi ||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: test directory for $at_group_normalized could not be cleaned" >&5
+$as_echo "$as_me: WARNING: test directory for $at_group_normalized could not be cleaned" >&2;}
+ # Be tolerant if the above `rm' was not able to remove the directory.
+ as_dir="$at_group_dir"; as_fn_mkdir_p
+
+ echo 0 > "$at_status_file"
+
+ # In verbose mode, append to the log file *and* show on
+ # the standard output; in quiet mode only write to the log.
+ if test -z "$at_verbose"; then
+ at_tee_pipe='tee -a "$at_group_log"'
+ else
+ at_tee_pipe='cat >> "$at_group_log"'
+ fi
+}
+
+# at_fn_group_banner ORDINAL LINE DESC PAD [BANNER]
+# -------------------------------------------------
+# Declare the test group ORDINAL, located at LINE with group description DESC,
+# and residing under BANNER. Use PAD to align the status column.
+at_fn_group_banner ()
+{
+ at_setup_line="$2"
+ test -n "$5" && at_fn_banner $5
+ at_desc="$3"
+ case $1 in
+ [0-9]) at_desc_line=" $1: ";;
+ [0-9][0-9]) at_desc_line=" $1: " ;;
+ *) at_desc_line="$1: " ;;
+ esac
+ as_fn_append at_desc_line "$3$4"
+ $at_quiet $as_echo_n "$at_desc_line"
+ echo "# -*- compilation -*-" >> "$at_group_log"
+}
+
+# at_fn_group_postprocess
+# -----------------------
+# Perform cleanup after running a test group.
+at_fn_group_postprocess ()
+{
+ # Be sure to come back to the suite directory, in particular
+ # since below we might `rm' the group directory we are in currently.
+ cd "$at_suite_dir"
+
+ if test ! -f "$at_check_line_file"; then
+ sed "s/^ */$as_me: WARNING: /" <<_ATEOF
+ A failure happened in a test group before any test could be
+ run. This means that test suite is improperly designed. Please
+ report this failure to <rpm-maint@lists.rpm.org>.
+_ATEOF
+ $as_echo "$at_setup_line" >"$at_check_line_file"
+ at_status=99
+ fi
+ $at_verbose $as_echo_n "$at_group. $at_setup_line: "
+ $as_echo_n "$at_group. $at_setup_line: " >> "$at_group_log"
+ case $at_xfail:$at_status in
+ yes:0)
+ at_msg="UNEXPECTED PASS"
+ at_res=xpass
+ at_errexit=$at_errexit_p
+ at_color=$at_red
+ ;;
+ no:0)
+ at_msg="ok"
+ at_res=pass
+ at_errexit=false
+ at_color=$at_grn
+ ;;
+ *:77)
+ at_msg='skipped ('`cat "$at_check_line_file"`')'
+ at_res=skip
+ at_errexit=false
+ at_color=$at_blu
+ ;;
+ no:* | *:99)
+ at_msg='FAILED ('`cat "$at_check_line_file"`')'
+ at_res=fail
+ at_errexit=$at_errexit_p
+ at_color=$at_red
+ ;;
+ yes:*)
+ at_msg='expected failure ('`cat "$at_check_line_file"`')'
+ at_res=xfail
+ at_errexit=false
+ at_color=$at_lgn
+ ;;
+ esac
+ echo "$at_res" > "$at_job_dir/$at_res"
+ # In parallel mode, output the summary line only afterwards.
+ if test $at_jobs -ne 1 && test -n "$at_verbose"; then
+ $as_echo "$at_desc_line $at_color$at_msg$at_std"
+ else
+ # Make sure there is a separator even with long titles.
+ $as_echo " $at_color$at_msg$at_std"
+ fi
+ at_log_msg="$at_group. $at_desc ($at_setup_line): $at_msg"
+ case $at_status in
+ 0|77)
+ # $at_times_file is only available if the group succeeded.
+ # We're not including the group log, so the success message
+ # is written in the global log separately. But we also
+ # write to the group log in case they're using -d.
+ if test -f "$at_times_file"; then
+ at_log_msg="$at_log_msg ("`sed 1d "$at_times_file"`')'
+ rm -f "$at_times_file"
+ fi
+ $as_echo "$at_log_msg" >> "$at_group_log"
+ $as_echo "$at_log_msg" >&5
+
+ # Cleanup the group directory, unless the user wants the files
+ # or the success was unexpected.
+ if $at_debug_p || test $at_res = xpass; then
+ at_fn_create_debugging_script
+ if test $at_res = xpass && $at_errexit; then
+ echo stop > "$at_stop_file"
+ fi
+ else
+ if test -d "$at_group_dir"; then
+ find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \;
+ rm -fr "$at_group_dir"
+ fi
+ rm -f "$at_test_source"
+ fi
+ ;;
+ *)
+ # Upon failure, include the log into the testsuite's global
+ # log. The failure message is written in the group log. It
+ # is later included in the global log.
+ $as_echo "$at_log_msg" >> "$at_group_log"
+
+ # Upon failure, keep the group directory for autopsy, and create
+ # the debugging script. With -e, do not start any further tests.
+ at_fn_create_debugging_script
+ if $at_errexit; then
+ echo stop > "$at_stop_file"
+ fi
+ ;;
+ esac
+}
+
+
+## ------------ ##
+## Driver loop. ##
+## ------------ ##
+
+
+if (set -m && set +m && set +b) >/dev/null 2>&1; then
+ set +b
+ at_job_control_on='set -m' at_job_control_off='set +m' at_job_group=-
+else
+ at_job_control_on=: at_job_control_off=: at_job_group=
+fi
+
+for at_signal in 1 2 15; do
+ trap 'set +x; set +e
+ $at_job_control_off
+ at_signal='"$at_signal"'
+ echo stop > "$at_stop_file"
+ trap "" $at_signal
+ at_pgids=
+ for at_pgid in `jobs -p 2>/dev/null`; do
+ at_pgids="$at_pgids $at_job_group$at_pgid"
+ done
+ test -z "$at_pgids" || kill -$at_signal $at_pgids 2>/dev/null
+ wait
+ if test "$at_jobs" -eq 1 || test -z "$at_verbose"; then
+ echo >&2
+ fi
+ at_signame=`kill -l $at_signal 2>&1 || echo $at_signal`
+ set x $at_signame
+ test 0 -gt 2 && at_signame=$at_signal
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: caught signal $at_signame, bailing out" >&5
+$as_echo "$as_me: WARNING: caught signal $at_signame, bailing out" >&2;}
+ as_fn_arith 128 + $at_signal && exit_status=$as_val
+ as_fn_exit $exit_status' $at_signal
+done
+
+rm -f "$at_stop_file"
+at_first=:
+
+if test $at_jobs -ne 1 &&
+ rm -f "$at_job_fifo" &&
+ test -n "$at_job_group" &&
+ ( mkfifo "$at_job_fifo" && trap 'exit 1' PIPE STOP TSTP ) 2>/dev/null
+then
+ # FIFO job dispatcher.
+
+ trap 'at_pids=
+ for at_pid in `jobs -p`; do
+ at_pids="$at_pids $at_job_group$at_pid"
+ done
+ if test -n "$at_pids"; then
+ at_sig=TSTP
+ test "${TMOUT+set}" = set && at_sig=STOP
+ kill -$at_sig $at_pids 2>/dev/null
+ fi
+ kill -STOP $$
+ test -z "$at_pids" || kill -CONT $at_pids 2>/dev/null' TSTP
+
+ echo
+ # Turn jobs into a list of numbers, starting from 1.
+ at_joblist=`$as_echo "$at_groups" | sed -n 1,${at_jobs}p`
+
+ set X $at_joblist
+ shift
+ for at_group in $at_groups; do
+ $at_job_control_on 2>/dev/null
+ (
+ # Start one test group.
+ $at_job_control_off
+ if $at_first; then
+ exec 7>"$at_job_fifo"
+ else
+ exec 6<&-
+ fi
+ trap 'set +x; set +e
+ trap "" PIPE
+ echo stop > "$at_stop_file"
+ echo >&7
+ as_fn_exit 141' PIPE
+ at_fn_group_prepare
+ if cd "$at_group_dir" &&
+ at_fn_test $at_group &&
+ . "$at_test_source"
+ then :; else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5
+$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;}
+ at_failed=:
+ fi
+ at_fn_group_postprocess
+ echo >&7
+ ) &
+ $at_job_control_off
+ if $at_first; then
+ at_first=false
+ exec 6<"$at_job_fifo" 7>"$at_job_fifo"
+ fi
+ shift # Consume one token.
+ if test $# -gt 0; then :; else
+ read at_token <&6 || break
+ set x $*
+ fi
+ test -f "$at_stop_file" && break
+ done
+ exec 7>&-
+ # Read back the remaining ($at_jobs - 1) tokens.
+ set X $at_joblist
+ shift
+ if test $# -gt 0; then
+ shift
+ for at_job
+ do
+ read at_token
+ done <&6
+ fi
+ exec 6<&-
+ wait
+else
+ # Run serially, avoid forks and other potential surprises.
+ for at_group in $at_groups; do
+ at_fn_group_prepare
+ if cd "$at_group_dir" &&
+ at_fn_test $at_group &&
+ . "$at_test_source"; then :; else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5
+$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;}
+ at_failed=:
+ fi
+ at_fn_group_postprocess
+ test -f "$at_stop_file" && break
+ at_first=false
+ done
+fi
+
+# Wrap up the test suite with summary statistics.
+cd "$at_helper_dir"
+
+# Use ?..???? when the list must remain sorted, the faster * otherwise.
+at_pass_list=`for f in */pass; do echo $f; done | sed '/\*/d; s,/pass,,'`
+at_skip_list=`for f in */skip; do echo $f; done | sed '/\*/d; s,/skip,,'`
+at_xfail_list=`for f in */xfail; do echo $f; done | sed '/\*/d; s,/xfail,,'`
+at_xpass_list=`for f in ?/xpass ??/xpass ???/xpass ????/xpass; do
+ echo $f; done | sed '/?/d; s,/xpass,,'`
+at_fail_list=`for f in ?/fail ??/fail ???/fail ????/fail; do
+ echo $f; done | sed '/?/d; s,/fail,,'`
+
+set X $at_pass_list $at_xpass_list $at_xfail_list $at_fail_list $at_skip_list
+shift; at_group_count=$#
+set X $at_xpass_list; shift; at_xpass_count=$#; at_xpass_list=$*
+set X $at_xfail_list; shift; at_xfail_count=$#
+set X $at_fail_list; shift; at_fail_count=$#; at_fail_list=$*
+set X $at_skip_list; shift; at_skip_count=$#
+
+as_fn_arith $at_group_count - $at_skip_count && at_run_count=$as_val
+as_fn_arith $at_xpass_count + $at_fail_count && at_unexpected_count=$as_val
+as_fn_arith $at_xfail_count + $at_fail_count && at_total_fail_count=$as_val
+
+# Back to the top directory.
+cd "$at_dir"
+rm -rf "$at_helper_dir"
+
+# Compute the duration of the suite.
+at_stop_date=`date`
+at_stop_time=`date +%s 2>/dev/null`
+$as_echo "$as_me: ending at: $at_stop_date" >&5
+case $at_start_time,$at_stop_time in
+ [0-9]*,[0-9]*)
+ as_fn_arith $at_stop_time - $at_start_time && at_duration_s=$as_val
+ as_fn_arith $at_duration_s / 60 && at_duration_m=$as_val
+ as_fn_arith $at_duration_m / 60 && at_duration_h=$as_val
+ as_fn_arith $at_duration_s % 60 && at_duration_s=$as_val
+ as_fn_arith $at_duration_m % 60 && at_duration_m=$as_val
+ at_duration="${at_duration_h}h ${at_duration_m}m ${at_duration_s}s"
+ $as_echo "$as_me: test suite duration: $at_duration" >&5
+ ;;
+esac
+
+echo
+$as_echo "## ------------- ##
+## Test results. ##
+## ------------- ##"
+echo
+{
+ echo
+ $as_echo "## ------------- ##
+## Test results. ##
+## ------------- ##"
+ echo
+} >&5
+
+if test $at_run_count = 1; then
+ at_result="1 test"
+ at_were=was
+else
+ at_result="$at_run_count tests"
+ at_were=were
+fi
+if $at_errexit_p && test $at_unexpected_count != 0; then
+ if test $at_xpass_count = 1; then
+ at_result="$at_result $at_were run, one passed"
+ else
+ at_result="$at_result $at_were run, one failed"
+ fi
+ at_result="$at_result unexpectedly and inhibited subsequent tests."
+ at_color=$at_red
+else
+ # Don't you just love exponential explosion of the number of cases?
+ at_color=$at_red
+ case $at_xpass_count:$at_fail_count:$at_xfail_count in
+ # So far, so good.
+ 0:0:0) at_result="$at_result $at_were successful." at_color=$at_grn ;;
+ 0:0:*) at_result="$at_result behaved as expected." at_color=$at_lgn ;;
+
+ # Some unexpected failures
+ 0:*:0) at_result="$at_result $at_were run,
+$at_fail_count failed unexpectedly." ;;
+
+ # Some failures, both expected and unexpected
+ 0:*:1) at_result="$at_result $at_were run,
+$at_total_fail_count failed ($at_xfail_count expected failure)." ;;
+ 0:*:*) at_result="$at_result $at_were run,
+$at_total_fail_count failed ($at_xfail_count expected failures)." ;;
+
+ # No unexpected failures, but some xpasses
+ *:0:*) at_result="$at_result $at_were run,
+$at_xpass_count passed unexpectedly." ;;
+
+ # No expected failures, but failures and xpasses
+ *:1:0) at_result="$at_result $at_were run,
+$at_unexpected_count did not behave as expected ($at_fail_count unexpected failure)." ;;
+ *:*:0) at_result="$at_result $at_were run,
+$at_unexpected_count did not behave as expected ($at_fail_count unexpected failures)." ;;
+
+ # All of them.
+ *:*:1) at_result="$at_result $at_were run,
+$at_xpass_count passed unexpectedly,
+$at_total_fail_count failed ($at_xfail_count expected failure)." ;;
+ *:*:*) at_result="$at_result $at_were run,
+$at_xpass_count passed unexpectedly,
+$at_total_fail_count failed ($at_xfail_count expected failures)." ;;
+ esac
+
+ if test $at_skip_count = 0 && test $at_run_count -gt 1; then
+ at_result="All $at_result"
+ fi
+fi
+
+# Now put skips in the mix.
+case $at_skip_count in
+ 0) ;;
+ 1) at_result="$at_result
+1 test was skipped." ;;
+ *) at_result="$at_result
+$at_skip_count tests were skipped." ;;
+esac
+
+if test $at_unexpected_count = 0; then
+ echo "$at_color$at_result$at_std"
+ echo "$at_result" >&5
+else
+ echo "${at_color}ERROR: $at_result$at_std" >&2
+ echo "ERROR: $at_result" >&5
+ {
+ echo
+ $as_echo "## ------------------------ ##
+## Summary of the failures. ##
+## ------------------------ ##"
+
+ # Summary of failed and skipped tests.
+ if test $at_fail_count != 0; then
+ echo "Failed tests:"
+ $SHELL "$at_myself" $at_fail_list --list
+ echo
+ fi
+ if test $at_skip_count != 0; then
+ echo "Skipped tests:"
+ $SHELL "$at_myself" $at_skip_list --list
+ echo
+ fi
+ if test $at_xpass_count != 0; then
+ echo "Unexpected passes:"
+ $SHELL "$at_myself" $at_xpass_list --list
+ echo
+ fi
+ if test $at_fail_count != 0; then
+ $as_echo "## ---------------------- ##
+## Detailed failed tests. ##
+## ---------------------- ##"
+ echo
+ for at_group in $at_fail_list
+ do
+ at_group_normalized=$at_group
+
+ eval 'while :; do
+ case $at_group_normalized in #(
+ '"$at_format"'*) break;;
+ esac
+ at_group_normalized=0$at_group_normalized
+ done'
+
+ cat "$at_suite_dir/$at_group_normalized/$as_me.log"
+ echo
+ done
+ echo
+ fi
+ if test -n "$at_top_srcdir"; then
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## ${at_top_build_prefix}config.log ##
+_ASBOX
+ sed 's/^/| /' ${at_top_build_prefix}config.log
+ echo
+ fi
+ } >&5
+
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## $as_me.log was created. ##
+_ASBOX
+
+ echo
+ if $at_debug_p; then
+ at_msg='per-test log files'
+ else
+ at_msg="\`${at_testdir+${at_testdir}/}$as_me.log'"
+ fi
+ $as_echo "Please send $at_msg and all information you think might help:
+
+ To: <rpm-maint@lists.rpm.org>
+ Subject: [rpm 4.14.1] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly}
+
+You may investigate any problem if you feel able to do so, in which
+case the test suite provides a good starting point. Its output may
+be found below \`${at_testdir+${at_testdir}/}$as_me.dir'.
+"
+ exit 1
+fi
+
+exit 0
+
+## ------------- ##
+## Actual tests. ##
+## ------------- ##
+#AT_START_1
+at_fn_group_banner 1 'rpmgeneral.at:22' \
+ "rpm --version" " " 1
+at_xfail=no
+(
+ $as_echo "1. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmgeneral.at:24: runroot rpm --version"
+at_fn_check_prepare_trace "rpmgeneral.at:24"
+( $at_check_trace; runroot rpm --version
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "RPM version 4.14.1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmgeneral.at:24"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_1
+#AT_START_2
+at_fn_group_banner 2 'rpmgeneral.at:31' \
+ "rpmbuild --version" " " 1
+at_xfail=no
+(
+ $as_echo "2. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmgeneral.at:33: runroot rpmbuild --version"
+at_fn_check_prepare_trace "rpmgeneral.at:33"
+( $at_check_trace; runroot rpmbuild --version
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "RPM version 4.14.1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmgeneral.at:33"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_2
+#AT_START_3
+at_fn_group_banner 3 'rpmgeneral.at:40' \
+ "rpm --showrc" " " 1
+at_xfail=no
+(
+ $as_echo "3. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmgeneral.at:42: runroot rpm --showrc"
+at_fn_check_prepare_trace "rpmgeneral.at:42"
+( $at_check_trace; runroot rpm --showrc
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo stdout:; cat "$at_stdout"
+at_fn_check_status 0 $at_status "$at_srcdir/rpmgeneral.at:42"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_3
+#AT_START_4
+at_fn_group_banner 4 'rpmgeneral.at:50' \
+ "rpm --querytags" " " 1
+at_xfail=no
+(
+ $as_echo "4. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmgeneral.at:52: runroot rpm --querytags"
+at_fn_check_prepare_trace "rpmgeneral.at:52"
+( $at_check_trace; runroot rpm --querytags
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "ARCH
+ARCHIVESIZE
+BASENAMES
+BUGURL
+BUILDARCHS
+BUILDHOST
+BUILDTIME
+C
+CHANGELOGNAME
+CHANGELOGTEXT
+CHANGELOGTIME
+CLASSDICT
+CONFLICTFLAGS
+CONFLICTNAME
+CONFLICTNEVRS
+CONFLICTS
+CONFLICTVERSION
+COOKIE
+DBINSTANCE
+DEPENDSDICT
+DESCRIPTION
+DIRINDEXES
+DIRNAMES
+DISTRIBUTION
+DISTTAG
+DISTURL
+DSAHEADER
+E
+ENCODING
+ENHANCEFLAGS
+ENHANCENAME
+ENHANCENEVRS
+ENHANCES
+ENHANCEVERSION
+EPOCH
+EPOCHNUM
+EVR
+EXCLUDEARCH
+EXCLUDEOS
+EXCLUSIVEARCH
+EXCLUSIVEOS
+FILECAPS
+FILECLASS
+FILECOLORS
+FILECONTEXTS
+FILEDEPENDSN
+FILEDEPENDSX
+FILEDEVICES
+FILEDIGESTALGO
+FILEDIGESTS
+FILEFLAGS
+FILEGROUPNAME
+FILEINODES
+FILELANGS
+FILELINKTOS
+FILEMD5S
+FILEMODES
+FILEMTIMES
+FILENAMES
+FILENLINKS
+FILEPROVIDE
+FILERDEVS
+FILEREQUIRE
+FILESIGNATURELENGTH
+FILESIGNATURES
+FILESIZES
+FILESTATES
+FILETRIGGERCONDS
+FILETRIGGERFLAGS
+FILETRIGGERINDEX
+FILETRIGGERNAME
+FILETRIGGERPRIORITIES
+FILETRIGGERSCRIPTFLAGS
+FILETRIGGERSCRIPTPROG
+FILETRIGGERSCRIPTS
+FILETRIGGERTYPE
+FILETRIGGERVERSION
+FILEUSERNAME
+FILEVERIFYFLAGS
+FSCONTEXTS
+GIF
+GROUP
+HDRID
+HEADERCOLOR
+HEADERI18NTABLE
+HEADERIMAGE
+HEADERIMMUTABLE
+HEADERREGIONS
+HEADERSIGNATURES
+ICON
+INSTALLCOLOR
+INSTALLTID
+INSTALLTIME
+INSTFILENAMES
+INSTPREFIXES
+LICENSE
+LONGARCHIVESIZE
+LONGFILESIZES
+LONGSIGSIZE
+LONGSIZE
+N
+NAME
+NEVR
+NEVRA
+NOPATCH
+NOSOURCE
+NVR
+NVRA
+O
+OBSOLETEFLAGS
+OBSOLETENAME
+OBSOLETENEVRS
+OBSOLETES
+OBSOLETEVERSION
+OLDENHANCES
+OLDENHANCESFLAGS
+OLDENHANCESNAME
+OLDENHANCESVERSION
+OLDFILENAMES
+OLDSUGGESTS
+OLDSUGGESTSFLAGS
+OLDSUGGESTSNAME
+OLDSUGGESTSVERSION
+OPTFLAGS
+ORDERFLAGS
+ORDERNAME
+ORDERVERSION
+ORIGBASENAMES
+ORIGDIRINDEXES
+ORIGDIRNAMES
+ORIGFILENAMES
+OS
+P
+PACKAGER
+PATCH
+PATCHESFLAGS
+PATCHESNAME
+PATCHESVERSION
+PAYLOADCOMPRESSOR
+PAYLOADDIGEST
+PAYLOADDIGESTALGO
+PAYLOADFLAGS
+PAYLOADFORMAT
+PKGID
+PLATFORM
+POLICIES
+POLICYFLAGS
+POLICYNAMES
+POLICYTYPES
+POLICYTYPESINDEXES
+POSTIN
+POSTINFLAGS
+POSTINPROG
+POSTTRANS
+POSTTRANSFLAGS
+POSTTRANSPROG
+POSTUN
+POSTUNFLAGS
+POSTUNPROG
+PREFIXES
+PREIN
+PREINFLAGS
+PREINPROG
+PRETRANS
+PRETRANSFLAGS
+PRETRANSPROG
+PREUN
+PREUNFLAGS
+PREUNPROG
+PROVIDEFLAGS
+PROVIDENAME
+PROVIDENEVRS
+PROVIDES
+PROVIDEVERSION
+PUBKEYS
+R
+RECOMMENDFLAGS
+RECOMMENDNAME
+RECOMMENDNEVRS
+RECOMMENDS
+RECOMMENDVERSION
+RECONTEXTS
+RELEASE
+REMOVETID
+REQUIREFLAGS
+REQUIRENAME
+REQUIRENEVRS
+REQUIRES
+REQUIREVERSION
+RPMVERSION
+RSAHEADER
+SHA1HEADER
+SHA256HEADER
+SIGGPG
+SIGMD5
+SIGPGP
+SIGSIZE
+SIZE
+SOURCE
+SOURCEPACKAGE
+SOURCEPKGID
+SOURCERPM
+SUGGESTFLAGS
+SUGGESTNAME
+SUGGESTNEVRS
+SUGGESTS
+SUGGESTVERSION
+SUMMARY
+SUPPLEMENTFLAGS
+SUPPLEMENTNAME
+SUPPLEMENTNEVRS
+SUPPLEMENTS
+SUPPLEMENTVERSION
+TRANSFILETRIGGERCONDS
+TRANSFILETRIGGERFLAGS
+TRANSFILETRIGGERINDEX
+TRANSFILETRIGGERNAME
+TRANSFILETRIGGERPRIORITIES
+TRANSFILETRIGGERSCRIPTFLAGS
+TRANSFILETRIGGERSCRIPTPROG
+TRANSFILETRIGGERSCRIPTS
+TRANSFILETRIGGERTYPE
+TRANSFILETRIGGERVERSION
+TRIGGERCONDS
+TRIGGERFLAGS
+TRIGGERINDEX
+TRIGGERNAME
+TRIGGERSCRIPTFLAGS
+TRIGGERSCRIPTPROG
+TRIGGERSCRIPTS
+TRIGGERTYPE
+TRIGGERVERSION
+URL
+V
+VCS
+VENDOR
+VERBOSE
+VERIFYSCRIPT
+VERIFYSCRIPTFLAGS
+VERIFYSCRIPTPROG
+VERSION
+XPM
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmgeneral.at:52"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_4
+#AT_START_5
+at_fn_group_banner 5 'rpmio.at:21' \
+ "SIGPIPE from install scriptlet" " " 2
+at_xfail=no
+(
+ $as_echo "5. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmio.at:23:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpmbuild --quiet -bb /data/SPECS/sigpipe.spec
+runroot rpm -U --nodeps /build/RPMS/noarch/sigpipe-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmio.at:23"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpmbuild --quiet -bb /data/SPECS/sigpipe.spec
+runroot rpm -U --nodeps /build/RPMS/noarch/sigpipe-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmio.at:23"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_5
+#AT_START_6
+at_fn_group_banner 6 'rpmquery.at:22' \
+ "rpm --qf -p *.i386.rpm" " " 3
+at_xfail=no
+(
+ $as_echo "6. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:24:
+runroot rpm \\
+ -q --qf \"%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\\n\" \\
+ -p /data/RPMS/hello-1.0-1.i386.rpm
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmquery.at:24"
+( $at_check_trace;
+runroot rpm \
+ -q --qf "%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n" \
+ -p /data/RPMS/hello-1.0-1.i386.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "hello-1.0-1.i386
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:24"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_6
+#AT_START_7
+at_fn_group_banner 7 'rpmquery.at:36' \
+ "rpm --qf -p *.src.rpm" " " 3
+at_xfail=no
+(
+ $as_echo "7. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:38:
+runroot rpm \\
+ -q --qf \"%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\\n\" \\
+ -p /data/SRPMS/hello-1.0-1.src.rpm
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmquery.at:38"
+( $at_check_trace;
+runroot rpm \
+ -q --qf "%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n" \
+ -p /data/SRPMS/hello-1.0-1.src.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "hello-1.0-1.i386
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:38"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_7
+#AT_START_8
+at_fn_group_banner 8 'rpmquery.at:50' \
+ "rpm -ql -p *.src.rpm" " " 3
+at_xfail=no
+(
+ $as_echo "8. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:52:
+runroot rpm \\
+ -ql \\
+ -p /data/SRPMS/hello-1.0-1.src.rpm
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmquery.at:52"
+( $at_check_trace;
+runroot rpm \
+ -ql \
+ -p /data/SRPMS/hello-1.0-1.src.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "hello-1.0.tar.gz
+hello.spec
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:52"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_8
+#AT_START_9
+at_fn_group_banner 9 'rpmquery.at:65' \
+ "rpmspec -q" " " 3
+at_xfail=no
+(
+ $as_echo "9. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:67:
+runroot rpmspec \\
+ -q --qf \"%{name}\" /data/SPECS/hello.spec
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmquery.at:67"
+( $at_check_trace;
+runroot rpmspec \
+ -q --qf "%{name}" /data/SPECS/hello.spec
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "hello" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:67"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_9
+#AT_START_10
+at_fn_group_banner 10 'rpmquery.at:77' \
+ "rpm -ql -p *.i386.rpm" " " 3
+at_xfail=no
+(
+ $as_echo "10. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:79:
+runroot rpm \\
+ -ql \\
+ -p /data/RPMS/hello-1.0-1.i386.rpm
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmquery.at:79"
+( $at_check_trace;
+runroot rpm \
+ -ql \
+ -p /data/RPMS/hello-1.0-1.i386.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "/usr/local/bin/hello
+/usr/share/doc/hello-1.0
+/usr/share/doc/hello-1.0/FAQ
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:79"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_10
+#AT_START_11
+at_fn_group_banner 11 'rpmquery.at:94' \
+ "rpm -qp <manifest>" " " 3
+at_xfail=no
+(
+ $as_echo "11. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:96:
+cat << EOF > \${RPMTEST}/query.mft
+/data/RPMS/hello-1.0-1.i386.rpm
+/data/RPMS/hello-1.0-1.ppc64.rpm
+/data/RPMS/foo-1.0-1.noarch.rpm
+EOF
+runroot rpm -qp --qf \"%{nvr}\\n\" /query.mft
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmquery.at:96"
+( $at_check_trace;
+cat << EOF > ${RPMTEST}/query.mft
+/data/RPMS/hello-1.0-1.i386.rpm
+/data/RPMS/hello-1.0-1.ppc64.rpm
+/data/RPMS/foo-1.0-1.noarch.rpm
+EOF
+runroot rpm -qp --qf "%{nvr}\n" /query.mft
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "hello-1.0-1
+hello-1.0-1
+foo-1.0-1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:96"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_11
+#AT_START_12
+at_fn_group_banner 12 'rpmquery.at:115' \
+ "rpm -q --scripts -p *.i386.rpm" " " 3
+at_xfail=no
+(
+ $as_echo "12. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:117:
+runroot rpm \\
+ -q --scripts \\
+ -p /data/RPMS/hello-1.0-1.i386.rpm
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmquery.at:117"
+( $at_check_trace;
+runroot rpm \
+ -q --scripts \
+ -p /data/RPMS/hello-1.0-1.i386.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "preinstall program: /bin/sh
+postinstall program: /bin/sh
+preuninstall program: /bin/sh
+postuninstall program: /bin/sh
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:117"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_12
+#AT_START_13
+at_fn_group_banner 13 'rpmquery.at:136' \
+ "rpm -q on installed package" " " 3
+at_xfail=no
+(
+ $as_echo "13. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:139:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm \\
+ --noscripts --nodeps --ignorearch --relocate=/usr=/check \\
+ -i /data/RPMS/hello-1.0-1.ppc64.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmquery.at:139"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm \
+ --noscripts --nodeps --ignorearch --relocate=/usr=/check \
+ -i /data/RPMS/hello-1.0-1.ppc64.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:139"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+# check common NVRA combinations
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:150:
+runroot rpm \\
+ -q hello hello-1.0 hello-1.0-1 \\
+ hello.ppc64 hello-1.0.ppc64 hello-1.0-1.ppc64
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmquery.at:150"
+( $at_check_trace;
+runroot rpm \
+ -q hello hello-1.0 hello-1.0-1 \
+ hello.ppc64 hello-1.0.ppc64 hello-1.0-1.ppc64
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "hello-1.0-1.ppc64
+hello-1.0-1.ppc64
+hello-1.0-1.ppc64
+hello-1.0-1.ppc64
+hello-1.0-1.ppc64
+hello-1.0-1.ppc64
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:150"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:166:
+runroot rpm \\
+ -ql hello
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmquery.at:166"
+( $at_check_trace;
+runroot rpm \
+ -ql hello
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "/check/local/bin/hello
+/check/share/doc/hello-1.0
+/check/share/doc/hello-1.0/FAQ
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:166"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_13
+#AT_START_14
+at_fn_group_banner 14 'rpmquery.at:180' \
+ "integer array query" " " 3
+at_xfail=no
+(
+ $as_echo "14. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:182:
+runroot rpm \\
+ --queryformat=\"[%{filemodes}\\n]\" \\
+ -qp /data/RPMS/hello-1.0-1.i386.rpm
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmquery.at:182"
+( $at_check_trace;
+runroot rpm \
+ --queryformat="[%{filemodes}\n]" \
+ -qp /data/RPMS/hello-1.0-1.i386.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "33257
+16877
+33188
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:182"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_14
+#AT_START_15
+at_fn_group_banner 15 'rpmquery.at:196' \
+ "formatted filesbypkg query" " " 3
+at_xfail=no
+(
+ $as_echo "15. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:198:
+runroot rpm \\
+ --queryformat=\"[%-10{=NAME} %{FILENAMES}\\n]\" \\
+ -qp /data/RPMS/hello-1.0-1.i386.rpm
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmquery.at:198"
+( $at_check_trace;
+runroot rpm \
+ --queryformat="[%-10{=NAME} %{FILENAMES}\n]" \
+ -qp /data/RPMS/hello-1.0-1.i386.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "hello /usr/local/bin/hello
+hello /usr/share/doc/hello-1.0
+hello /usr/share/doc/hello-1.0/FAQ
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:198"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_15
+#AT_START_16
+at_fn_group_banner 16 'rpmquery.at:212' \
+ "hex formatted integer array extension query" " " 3
+at_xfail=no
+(
+ $as_echo "16. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:214:
+runroot rpm \\
+ --queryformat=\"[%5{longfilesizes:hex}\\n]\" \\
+ -qp /data/RPMS/hello-1.0-1.i386.rpm
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmquery.at:214"
+( $at_check_trace;
+runroot rpm \
+ --queryformat="[%5{longfilesizes:hex}\n]" \
+ -qp /data/RPMS/hello-1.0-1.i386.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo " b40
+ 1000
+ 24
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:214"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_16
+#AT_START_17
+at_fn_group_banner 17 'rpmquery.at:228' \
+ "base64 extension query" " " 3
+at_xfail=no
+(
+ $as_echo "17. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:230:
+runroot rpm \\
+ --queryformat=\"%{pkgid:base64}\" \\
+ -qp /data/RPMS/foo-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmquery.at:230"
+( $at_check_trace;
+runroot rpm \
+ --queryformat="%{pkgid:base64}" \
+ -qp /data/RPMS/foo-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "qt8W635v5FKy1pILrW+0uw==
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:230"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_17
+#AT_START_18
+at_fn_group_banner 18 'rpmquery.at:241' \
+ "pgpsig extension query" " " 3
+at_xfail=no
+(
+ $as_echo "18. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:243:
+runroot rpm \\
+ --queryformat=\"%{rsaheader:pgpsig}\" \\
+ -qp /data/RPMS/hello-2.0-1.x86_64-signed.rpm
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmquery.at:243"
+( $at_check_trace;
+runroot rpm \
+ --queryformat="%{rsaheader:pgpsig}" \
+ -qp /data/RPMS/hello-2.0-1.x86_64-signed.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "warning: /data/RPMS/hello-2.0-1.x86_64-signed.rpm: Header V4 RSA/SHA256 Signature, key ID 1964c5fc: NOKEY
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "RSA/SHA256, Thu Apr 6 13:02:33 2017, Key ID 4344591e1964c5fc" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:243"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_18
+#AT_START_19
+at_fn_group_banner 19 'rpmquery.at:255' \
+ "integer array perms format query" " " 3
+at_xfail=no
+(
+ $as_echo "19. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:257:
+runroot rpm \\
+ --queryformat=\"[%{filemodes:perms}\\n]\" \\
+ -qp /data/RPMS/hello-1.0-1.i386.rpm
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmquery.at:257"
+( $at_check_trace;
+runroot rpm \
+ --queryformat="[%{filemodes:perms}\n]" \
+ -qp /data/RPMS/hello-1.0-1.i386.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "-rwxr-x--x
+drwxr-xr-x
+-rw-r--r--
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:257"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_19
+#AT_START_20
+at_fn_group_banner 20 'rpmquery.at:271' \
+ "string array query" " " 3
+at_xfail=no
+(
+ $as_echo "20. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:273:
+runroot rpm \\
+ --queryformat=\"[%{basenames} ]\" \\
+ -qp /data/RPMS/hello-1.0-1.i386.rpm
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmquery.at:273"
+( $at_check_trace;
+runroot rpm \
+ --queryformat="[%{basenames} ]" \
+ -qp /data/RPMS/hello-1.0-1.i386.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "hello hello-1.0 FAQ " | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:273"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_20
+#AT_START_21
+at_fn_group_banner 21 'rpmquery.at:284' \
+ "empty string array query" " " 3
+at_xfail=no
+(
+ $as_echo "21. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:286:
+runroot rpm \\
+ --queryformat=\"[%{basenames}]\" \\
+ -qp /data/RPMS/foo-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmquery.at:286"
+( $at_check_trace;
+runroot rpm \
+ --queryformat="[%{basenames}]" \
+ -qp /data/RPMS/foo-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:286"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_21
+#AT_START_22
+at_fn_group_banner 22 'rpmquery.at:297' \
+ "empty string array extension array format" " " 3
+at_xfail=no
+(
+ $as_echo "22. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:299:
+runroot rpm \\
+ --queryformat=\"[%{filenames}]\" \\
+ -qp /data/RPMS/foo-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmquery.at:299"
+( $at_check_trace;
+runroot rpm \
+ --queryformat="[%{filenames}]" \
+ -qp /data/RPMS/foo-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:299"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_22
+#AT_START_23
+at_fn_group_banner 23 'rpmquery.at:310' \
+ "empty string array extension query" " " 3
+at_xfail=no
+(
+ $as_echo "23. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:312:
+runroot rpm \\
+ --queryformat=\"%{filenames}\" \\
+ -qp /data/RPMS/foo-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmquery.at:312"
+( $at_check_trace;
+runroot rpm \
+ --queryformat="%{filenames}" \
+ -qp /data/RPMS/foo-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "(none)" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:312"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_23
+#AT_START_24
+at_fn_group_banner 24 'rpmquery.at:323' \
+ "different sizes arrays query 1" " " 3
+at_xfail=no
+(
+ $as_echo "24. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:325:
+runroot rpm \\
+ --queryformat=\"[%{basenames} %{changelogname}]\\n\" \\
+ -qp /data/RPMS/hello-1.0-1.i386.rpm
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmquery.at:325"
+( $at_check_trace;
+runroot rpm \
+ --queryformat="[%{basenames} %{changelogname}]\n" \
+ -qp /data/RPMS/hello-1.0-1.i386.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: incorrect format: array iterator used with different sized arrays
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:325"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_24
+#AT_START_25
+at_fn_group_banner 25 'rpmquery.at:339' \
+ "different sizes arrays query 2" " " 3
+at_xfail=no
+(
+ $as_echo "25. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:341:
+runroot rpm \\
+ --queryformat=\"[%{name} %{changelogtime}]\\n\" \\
+ -qp /data/RPMS/hello-1.0-1.i386.rpm
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmquery.at:341"
+( $at_check_trace;
+runroot rpm \
+ --queryformat="[%{name} %{changelogtime}]\n" \
+ -qp /data/RPMS/hello-1.0-1.i386.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "hello 908877600
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:341"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_25
+#AT_START_26
+at_fn_group_banner 26 'rpmquery.at:353' \
+ "different sizes arrays query 3" " " 3
+at_xfail=no
+(
+ $as_echo "26. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:355:
+runroot rpm \\
+ --queryformat=\"[%{name} %{basenames}]\\n\" \\
+ -qp /data/RPMS/hello-1.0-1.i386.rpm
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmquery.at:355"
+( $at_check_trace;
+runroot rpm \
+ --queryformat="[%{name} %{basenames}]\n" \
+ -qp /data/RPMS/hello-1.0-1.i386.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: incorrect format: array iterator used with different sized arrays
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:355"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_26
+#AT_START_27
+at_fn_group_banner 27 'rpmquery.at:367' \
+ "different sizes arrays query 4" " " 3
+at_xfail=no
+(
+ $as_echo "27. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:369:
+runroot rpm \\
+ --queryformat=\"[%{=name} %{basenames}\\n]\" \\
+ -qp /data/RPMS/hello-1.0-1.i386.rpm
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmquery.at:369"
+( $at_check_trace;
+runroot rpm \
+ --queryformat="[%{=name} %{basenames}\n]" \
+ -qp /data/RPMS/hello-1.0-1.i386.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "hello hello
+hello hello-1.0
+hello FAQ
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:369"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_27
+#AT_START_28
+at_fn_group_banner 28 'rpmquery.at:383' \
+ "non-existent string tag" " " 3
+at_xfail=no
+(
+ $as_echo "28. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:385:
+runroot rpm \\
+ --queryformat=\"%{vendor}\" \\
+ -qp /data/RPMS/foo-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmquery.at:385"
+( $at_check_trace;
+runroot rpm \
+ --queryformat="%{vendor}" \
+ -qp /data/RPMS/foo-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "(none)" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:385"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_28
+#AT_START_29
+at_fn_group_banner 29 'rpmquery.at:396' \
+ "non-existent integer tag query" " " 3
+at_xfail=no
+(
+ $as_echo "29. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:398:
+runroot rpm \\
+ --queryformat=\"%{installcolor}\" \\
+ -qp /data/RPMS/foo-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmquery.at:398"
+( $at_check_trace;
+runroot rpm \
+ --queryformat="%{installcolor}" \
+ -qp /data/RPMS/foo-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "(none)" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:398"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_29
+#AT_START_30
+at_fn_group_banner 30 'rpmquery.at:409' \
+ "conditional queryformat" " " 3
+at_xfail=no
+(
+ $as_echo "30. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:411:
+runroot rpm \\
+ --queryformat=\"%|name?{%{name}}:{no}| %|installtime?{%{installtime}}:{(not installed)}|\" \\
+ -qp /data/RPMS/foo-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmquery.at:411"
+( $at_check_trace;
+runroot rpm \
+ --queryformat="%|name?{%{name}}:{no}| %|installtime?{%{installtime}}:{(not installed)}|" \
+ -qp /data/RPMS/foo-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo (not installed)" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:411"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_30
+#AT_START_31
+at_fn_group_banner 31 'rpmquery.at:422' \
+ "invalid tag query" " " 3
+at_xfail=no
+(
+ $as_echo "31. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:424:
+runroot rpm \\
+ --queryformat=\"%{notag}\" \\
+ -qp /data/RPMS/foo-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmquery.at:424"
+( $at_check_trace;
+runroot rpm \
+ --queryformat="%{notag}" \
+ -qp /data/RPMS/foo-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: incorrect format: unknown tag: \"notag\"
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:424"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_31
+#AT_START_32
+at_fn_group_banner 32 'rpmquery.at:436' \
+ "invalid data for format query" " " 3
+at_xfail=no
+(
+ $as_echo "32. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:438:
+runroot rpm \\
+ --queryformat=\"%{name:depflags}\" \\
+ -qp /data/RPMS/foo-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmquery.at:438"
+( $at_check_trace;
+runroot rpm \
+ --queryformat="%{name:depflags}" \
+ -qp /data/RPMS/foo-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "(not a number)" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:438"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_32
+#AT_START_33
+at_fn_group_banner 33 'rpmquery.at:449' \
+ "invalid format width query" " " 3
+at_xfail=no
+(
+ $as_echo "33. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:451:
+runroot rpm \\
+ --queryformat=\"%ss{size}\" \\
+ -qp /data/RPMS/foo-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmquery.at:451"
+( $at_check_trace;
+runroot rpm \
+ --queryformat="%ss{size}" \
+ -qp /data/RPMS/foo-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: incorrect format: invalid field width
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:451"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_33
+#AT_START_34
+at_fn_group_banner 34 'rpmquery.at:462' \
+ "xml format" " " 3
+at_xfail=no
+(
+ $as_echo "34. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:464:
+runroot rpm -qp --xml data/RPMS/hello-2.0-1.x86_64.rpm
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmquery.at:464"
+( $at_check_trace;
+runroot rpm -qp --xml data/RPMS/hello-2.0-1.x86_64.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "<rpmHeader>
+ <rpmTag name=\"Headeri18ntable\">
+ <string>C</string>
+ </rpmTag>
+ <rpmTag name=\"Sigsize\">
+ <integer>5411</integer>
+ </rpmTag>
+ <rpmTag name=\"Sigmd5\">
+ <base64>E3yh2LNcygKhhUujAcVDLg==
+</base64>
+ </rpmTag>
+ <rpmTag name=\"Sha1header\">
+ <string>5cd9874c510b67b44483f9e382a1649ef7743bac</string>
+ </rpmTag>
+ <rpmTag name=\"Sha256header\">
+ <string>ef920781af3bf072ae9888eec3de1c589143101dff9cc0b561468d395fb766d9</string>
+ </rpmTag>
+ <rpmTag name=\"Name\">
+ <string>hello</string>
+ </rpmTag>
+ <rpmTag name=\"Version\">
+ <string>2.0</string>
+ </rpmTag>
+ <rpmTag name=\"Release\">
+ <string>1</string>
+ </rpmTag>
+ <rpmTag name=\"Summary\">
+ <string>hello -- hello, world rpm</string>
+ </rpmTag>
+ <rpmTag name=\"Description\">
+ <string>Simple rpm demonstration.</string>
+ </rpmTag>
+ <rpmTag name=\"Buildtime\">
+ <integer>1227355200</integer>
+ </rpmTag>
+ <rpmTag name=\"Buildhost\">
+ <string>localhost</string>
+ </rpmTag>
+ <rpmTag name=\"Size\">
+ <integer>7243</integer>
+ </rpmTag>
+ <rpmTag name=\"License\">
+ <string>GPL</string>
+ </rpmTag>
+ <rpmTag name=\"Group\">
+ <string>Testing</string>
+ </rpmTag>
+ <rpmTag name=\"Os\">
+ <string>linux</string>
+ </rpmTag>
+ <rpmTag name=\"Arch\">
+ <string>x86_64</string>
+ </rpmTag>
+ <rpmTag name=\"Filesizes\">
+ <integer>7120</integer>
+ <integer>4096</integer>
+ <integer>48</integer>
+ <integer>36</integer>
+ <integer>39</integer>
+ </rpmTag>
+ <rpmTag name=\"Filemodes\">
+ <integer>33257</integer>
+ <integer>16877</integer>
+ <integer>33188</integer>
+ <integer>33188</integer>
+ <integer>33188</integer>
+ </rpmTag>
+ <rpmTag name=\"Filerdevs\">
+ <integer>0</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ </rpmTag>
+ <rpmTag name=\"Filemtimes\">
+ <integer>1489670606</integer>
+ <integer>1489670606</integer>
+ <integer>908894882</integer>
+ <integer>908895030</integer>
+ <integer>908884468</integer>
+ </rpmTag>
+ <rpmTag name=\"Filedigests\">
+ <string>c89fa87aeb1143969c0b6be9334b21d932f77f74e8f60120b5de316406369cf0</string>
+ <string/>
+ <string>fac3b28492ecdc16da172a6f1a432ceed356ca4d9248157b2a962b395e37b3b0</string>
+ <string>678b87e217a415f05e43460e2c7b668245b412e2b4f18a75aa7399d9774ed0b4</string>
+ <string>d63fdc6c986106f57230f217d36b2395d83ecf491d2b7187af714dc8db9629e9</string>
+ </rpmTag>
+ <rpmTag name=\"Filelinktos\">
+ <string/>
+ <string/>
+ <string/>
+ <string/>
+ <string/>
+ </rpmTag>
+ <rpmTag name=\"Fileflags\">
+ <integer>0</integer>
+ <integer>0</integer>
+ <integer>2</integer>
+ <integer>2</integer>
+ <integer>2</integer>
+ </rpmTag>
+ <rpmTag name=\"Fileusername\">
+ <string>root</string>
+ <string>root</string>
+ <string>root</string>
+ <string>root</string>
+ <string>root</string>
+ </rpmTag>
+ <rpmTag name=\"Filegroupname\">
+ <string>root</string>
+ <string>root</string>
+ <string>root</string>
+ <string>root</string>
+ <string>root</string>
+ </rpmTag>
+ <rpmTag name=\"Sourcerpm\">
+ <string>hello-2.0-1.src.rpm</string>
+ </rpmTag>
+ <rpmTag name=\"Fileverifyflags\">
+ <integer>4294967295</integer>
+ <integer>0</integer>
+ <integer>4294967295</integer>
+ <integer>4294967295</integer>
+ <integer>4294967295</integer>
+ </rpmTag>
+ <rpmTag name=\"Archivesize\">
+ <integer>8060</integer>
+ </rpmTag>
+ <rpmTag name=\"Providename\">
+ <string>hello</string>
+ <string>hello(x86-64)</string>
+ </rpmTag>
+ <rpmTag name=\"Requireflags\">
+ <integer>16384</integer>
+ <integer>16384</integer>
+ <integer>16777226</integer>
+ <integer>16777226</integer>
+ <integer>16777226</integer>
+ <integer>16384</integer>
+ </rpmTag>
+ <rpmTag name=\"Requirename\">
+ <string>libc.so.6()(64bit)</string>
+ <string>libc.so.6(GLIBC_2.2.5)(64bit)</string>
+ <string>rpmlib(CompressedFileNames)</string>
+ <string>rpmlib(FileDigests)</string>
+ <string>rpmlib(PayloadFilesHavePrefix)</string>
+ <string>rtld(GNU_HASH)</string>
+ </rpmTag>
+ <rpmTag name=\"Requireversion\">
+ <string/>
+ <string/>
+ <string>3.0.4-1</string>
+ <string>4.6.0-1</string>
+ <string>4.0-1</string>
+ <string/>
+ </rpmTag>
+ <rpmTag name=\"Rpmversion\">
+ <string>4.13.90</string>
+ </rpmTag>
+ <rpmTag name=\"Changelogtime\">
+ <integer>1227355200</integer>
+ <integer>908884800</integer>
+ </rpmTag>
+ <rpmTag name=\"Changelogname\">
+ <string>Panu Matilainen &lt;pmatilai@redhat.com&gt;</string>
+ <string>Jeff Johnson &lt;jbj@redhat.com&gt;</string>
+ </rpmTag>
+ <rpmTag name=\"Changelogtext\">
+ <string>- updated version</string>
+ <string>- create.</string>
+ </rpmTag>
+ <rpmTag name=\"Filedevices\">
+ <integer>1</integer>
+ <integer>1</integer>
+ <integer>1</integer>
+ <integer>1</integer>
+ <integer>1</integer>
+ </rpmTag>
+ <rpmTag name=\"Fileinodes\">
+ <integer>1</integer>
+ <integer>2</integer>
+ <integer>3</integer>
+ <integer>4</integer>
+ <integer>5</integer>
+ </rpmTag>
+ <rpmTag name=\"Filelangs\">
+ <string/>
+ <string/>
+ <string/>
+ <string/>
+ <string/>
+ </rpmTag>
+ <rpmTag name=\"Prefixes\">
+ <string>/usr</string>
+ </rpmTag>
+ <rpmTag name=\"Provideflags\">
+ <integer>8</integer>
+ <integer>8</integer>
+ </rpmTag>
+ <rpmTag name=\"Provideversion\">
+ <string>2.0-1</string>
+ <string>2.0-1</string>
+ </rpmTag>
+ <rpmTag name=\"Dirindexes\">
+ <integer>0</integer>
+ <integer>1</integer>
+ <integer>2</integer>
+ <integer>2</integer>
+ <integer>2</integer>
+ </rpmTag>
+ <rpmTag name=\"Basenames\">
+ <string>hello</string>
+ <string>hello-2.0</string>
+ <string>COPYING</string>
+ <string>FAQ</string>
+ <string>README</string>
+ </rpmTag>
+ <rpmTag name=\"Dirnames\">
+ <string>/usr/bin/</string>
+ <string>/usr/share/doc/</string>
+ <string>/usr/share/doc/hello-2.0/</string>
+ </rpmTag>
+ <rpmTag name=\"Optflags\">
+ <string>-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic</string>
+ </rpmTag>
+ <rpmTag name=\"Payloadformat\">
+ <string>cpio</string>
+ </rpmTag>
+ <rpmTag name=\"Payloadcompressor\">
+ <string>gzip</string>
+ </rpmTag>
+ <rpmTag name=\"Payloadflags\">
+ <string>9</string>
+ </rpmTag>
+ <rpmTag name=\"Platform\">
+ <string>x86_64-redhat-linux-gnu</string>
+ </rpmTag>
+ <rpmTag name=\"Filecolors\">
+ <integer>2</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ </rpmTag>
+ <rpmTag name=\"Fileclass\">
+ <integer>0</integer>
+ <integer>1</integer>
+ <integer>2</integer>
+ <integer>2</integer>
+ <integer>2</integer>
+ </rpmTag>
+ <rpmTag name=\"Classdict\">
+ <string>ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=775fdcb927e4300adbe83cfacec3cfeb1f63fe17, stripped</string>
+ <string>directory</string>
+ <string>ASCII text</string>
+ </rpmTag>
+ <rpmTag name=\"Filedependsx\">
+ <integer>0</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ </rpmTag>
+ <rpmTag name=\"Filedependsn\">
+ <integer>3</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ <integer>0</integer>
+ </rpmTag>
+ <rpmTag name=\"Dependsdict\">
+ <integer>1375731713</integer>
+ <integer>1375731712</integer>
+ <integer>1375731717</integer>
+ </rpmTag>
+ <rpmTag name=\"Filedigestalgo\">
+ <integer>8</integer>
+ </rpmTag>
+ <rpmTag name=\"Encoding\">
+ <string>utf-8</string>
+ </rpmTag>
+ <rpmTag name=\"Payloaddigest\">
+ <string>84a7338287bf19715c4eed0243f5cdb447eeb0ade37b2af718d4060aefca2f7c</string>
+ </rpmTag>
+ <rpmTag name=\"Payloaddigestalgo\">
+ <integer>8</integer>
+ </rpmTag>
+</rpmHeader>
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:464"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_34
+#AT_START_35
+at_fn_group_banner 35 'rpmquery.at:761' \
+ "query file attribute filtering" " " 3
+at_xfail=no
+(
+ $as_echo "35. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmquery.at:763:
+runroot rpmbuild -bb --quiet \\
+ /data/SPECS/vattrtest.spec
+
+pkg=\"/build/RPMS/noarch/vattrtest-1.0-1.noarch.rpm\"
+cmd=\"rpm -qpl\"
+for filter in --noconfig --noghost --noartifact -A -c -d -L; do
+ echo \${filter}
+ runroot \${cmd} \${filter} \${pkg}
+done
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmquery.at:763"
+( $at_check_trace;
+runroot rpmbuild -bb --quiet \
+ /data/SPECS/vattrtest.spec
+
+pkg="/build/RPMS/noarch/vattrtest-1.0-1.noarch.rpm"
+cmd="rpm -qpl"
+for filter in --noconfig --noghost --noartifact -A -c -d -L; do
+ echo ${filter}
+ runroot ${cmd} ${filter} ${pkg}
+done
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "--noconfig
+/opt/vattrtest
+/opt/vattrtest/a
+/opt/vattrtest/d
+/opt/vattrtest/g
+/opt/vattrtest/l
+/opt/vattrtest/m
+/opt/vattrtest/r
+--noghost
+/opt/vattrtest
+/opt/vattrtest/a
+/opt/vattrtest/c
+/opt/vattrtest/cn
+/opt/vattrtest/d
+/opt/vattrtest/l
+/opt/vattrtest/m
+/opt/vattrtest/r
+--noartifact
+/opt/vattrtest
+/opt/vattrtest/c
+/opt/vattrtest/cn
+/opt/vattrtest/d
+/opt/vattrtest/g
+/opt/vattrtest/l
+/opt/vattrtest/m
+/opt/vattrtest/r
+-A
+/opt/vattrtest/a
+-c
+/opt/vattrtest/c
+/opt/vattrtest/cn
+-d
+/opt/vattrtest/d
+-L
+/opt/vattrtest/l
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmquery.at:763"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_35
+#AT_START_36
+at_fn_group_banner 36 'rpmverify.at:7' \
+ "dependency problems" " " 4
+at_xfail=no
+(
+ $as_echo "36. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmverify.at:9:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs deptest-two\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U --nodeps /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+runroot rpm -Va --nofiles
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmverify.at:9"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs deptest-two" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U --nodeps /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+runroot rpm -Va --nofiles
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "Unsatisfied dependencies for deptest-one-1.0-1.noarch:
+ deptest-two is needed by (installed) deptest-one-1.0-1.noarch
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmverify.at:9"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_36
+#AT_START_37
+at_fn_group_banner 37 'rpmverify.at:32' \
+ "files with no problems" " " 4
+at_xfail=no
+(
+ $as_echo "37. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmverify.at:34:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U --nodeps --noscripts --ignorearch --ignoreos \\
+ /data/RPMS/hello-1.0-1.i386.rpm
+runroot rpm -Va --nodeps --nouser --nogroup
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmverify.at:34"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U --nodeps --noscripts --ignorearch --ignoreos \
+ /data/RPMS/hello-1.0-1.i386.rpm
+runroot rpm -Va --nodeps --nouser --nogroup
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmverify.at:34"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_37
+#AT_START_38
+at_fn_group_banner 38 'rpmverify.at:48' \
+ "files with no problems in verbose mode" " " 4
+at_xfail=no
+(
+ $as_echo "38. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmverify.at:50:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U --nodeps --noscripts --ignorearch --ignoreos \\
+ /data/RPMS/hello-1.0-1.i386.rpm
+runroot rpm -Vva --nodeps --nouser --nogroup
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmverify.at:50"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U --nodeps --noscripts --ignorearch --ignoreos \
+ /data/RPMS/hello-1.0-1.i386.rpm
+runroot rpm -Vva --nodeps --nouser --nogroup
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "......... /usr/local/bin/hello
+......... /usr/share/doc/hello-1.0
+......... d /usr/share/doc/hello-1.0/FAQ
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmverify.at:50"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_38
+#AT_START_39
+at_fn_group_banner 39 'rpmverify.at:67' \
+ "directory replaced with a directory symlink" " " 4
+at_xfail=no
+(
+ $as_echo "39. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmverify.at:69:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+tf=\"\${RPMTEST}\"/opt/foo
+rm -rf \"\${RPMTEST}\"/opt/*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filetype datadir\" \\
+ --define \"filedata README1\" \\
+ --define \"user \$(id -u -n)\" \\
+ --define \"grp \$(id -g -n)\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+mv \"\${RPMTEST}\"/opt/foo \"\${RPMTEST}\"/opt/was
+ln -s was \"\${RPMTEST}\"/opt/foo
+runroot rpm -Vv replacetest
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmverify.at:69"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+tf="${RPMTEST}"/opt/foo
+rm -rf "${RPMTEST}"/opt/*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype datadir" \
+ --define "filedata README1" \
+ --define "user $(id -u -n)" \
+ --define "grp $(id -g -n)" \
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+mv "${RPMTEST}"/opt/foo "${RPMTEST}"/opt/was
+ln -s was "${RPMTEST}"/opt/foo
+runroot rpm -Vv replacetest
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "......... /opt/foo
+......... /opt/foo/README1
+......... /opt/goo
+......... /opt/zoo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmverify.at:69"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_39
+#AT_START_40
+at_fn_group_banner 40 'rpmverify.at:98' \
+ "directory replaced with an invalid directory symlink" "" 4
+at_xfail=no
+(
+ $as_echo "40. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmverify.at:100:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+tf=\"\${RPMTEST}\"/opt/foo
+rm -rf \"\${RPMTEST}\"/opt/*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filetype datadir\" \\
+ --define \"filedata README1\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+mv \"\${RPMTEST}\"/opt/foo \"\${RPMTEST}\"/opt/was
+ln -s was \"\${RPMTEST}\"/opt/foo
+runroot rpm -Vv --nouser --nogroup replacetest
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmverify.at:100"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+tf="${RPMTEST}"/opt/foo
+rm -rf "${RPMTEST}"/opt/*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype datadir" \
+ --define "filedata README1" \
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+mv "${RPMTEST}"/opt/foo "${RPMTEST}"/opt/was
+ln -s was "${RPMTEST}"/opt/foo
+runroot rpm -Vv --nouser --nogroup replacetest
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "....L.... /opt/foo
+......... /opt/foo/README1
+......... /opt/goo
+......... /opt/zoo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmverify.at:100"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_40
+#AT_START_41
+at_fn_group_banner 41 'rpmverify.at:128' \
+ "verify from db, with problems present" " " 4
+at_xfail=no
+(
+ $as_echo "41. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmverify.at:130:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U --nodeps --noscripts --ignorearch --ignoreos \\
+ /data/RPMS/hello-1.0-1.i386.rpm
+rm -f \"\${RPMTEST}\"/usr/share/doc/hello-1.0/FAQ
+chmod u-x \"\${RPMTEST}\"/usr/local/bin/hello
+dd if=/dev/zero of=\"\${RPMTEST}\"/usr/local/bin/hello \\
+ conv=notrunc bs=1 seek=5 count=6 2> /dev/null
+runroot rpm -Va --nodeps --nouser --nogroup
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmverify.at:130"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U --nodeps --noscripts --ignorearch --ignoreos \
+ /data/RPMS/hello-1.0-1.i386.rpm
+rm -f "${RPMTEST}"/usr/share/doc/hello-1.0/FAQ
+chmod u-x "${RPMTEST}"/usr/local/bin/hello
+dd if=/dev/zero of="${RPMTEST}"/usr/local/bin/hello \
+ conv=notrunc bs=1 seek=5 count=6 2> /dev/null
+runroot rpm -Va --nodeps --nouser --nogroup
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo ".M5....T. /usr/local/bin/hello
+missing d /usr/share/doc/hello-1.0/FAQ
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmverify.at:130"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_41
+#AT_START_42
+at_fn_group_banner 42 'rpmverify.at:150' \
+ "verify from package, with problems present" " " 4
+at_xfail=no
+(
+ $as_echo "42. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmverify.at:152:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U --nodeps --noscripts --ignorearch --ignoreos \\
+ /data/RPMS/hello-1.0-1.i386.rpm
+rm -f \"\${RPMTEST}\"/usr/share/doc/hello-1.0/FAQ
+chmod u-x \"\${RPMTEST}\"/usr/local/bin/hello
+dd if=/dev/zero of=\"\${RPMTEST}\"/usr/local/bin/hello \\
+ conv=notrunc bs=1 seek=5 count=6 2> /dev/null
+runroot rpm -Vp --nodeps --nouser --nogroup /data/RPMS/hello-1.0-1.i386.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmverify.at:152"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U --nodeps --noscripts --ignorearch --ignoreos \
+ /data/RPMS/hello-1.0-1.i386.rpm
+rm -f "${RPMTEST}"/usr/share/doc/hello-1.0/FAQ
+chmod u-x "${RPMTEST}"/usr/local/bin/hello
+dd if=/dev/zero of="${RPMTEST}"/usr/local/bin/hello \
+ conv=notrunc bs=1 seek=5 count=6 2> /dev/null
+runroot rpm -Vp --nodeps --nouser --nogroup /data/RPMS/hello-1.0-1.i386.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo ".M5....T. /usr/local/bin/hello
+missing d /usr/share/doc/hello-1.0/FAQ
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmverify.at:152"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_42
+#AT_START_43
+at_fn_group_banner 43 'rpmverify.at:171' \
+ "verify file attribute filtering" " " 4
+at_xfail=no
+(
+ $as_echo "43. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmverify.at:173:
+runroot rpmbuild -bb --quiet \\
+ /data/SPECS/vattrtest.spec
+
+runroot rpm -U /build/RPMS/noarch/vattrtest-1.0-1.noarch.rpm
+runroot_other touch /opt/vattrtest/g
+runroot_other chmod 644 /opt/vattrtest/g
+
+cmd=\"rpm -Vv --nouser --nogroup\"
+for filter in --noconfig --noghost --noartifact; do
+ echo \${filter}
+ runroot \${cmd} \${filter} vattrtest
+done
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmverify.at:173"
+( $at_check_trace;
+runroot rpmbuild -bb --quiet \
+ /data/SPECS/vattrtest.spec
+
+runroot rpm -U /build/RPMS/noarch/vattrtest-1.0-1.noarch.rpm
+runroot_other touch /opt/vattrtest/g
+runroot_other chmod 644 /opt/vattrtest/g
+
+cmd="rpm -Vv --nouser --nogroup"
+for filter in --noconfig --noghost --noartifact; do
+ echo ${filter}
+ runroot ${cmd} ${filter} vattrtest
+done
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "--noconfig
+......... /opt/vattrtest
+......... a /opt/vattrtest/a
+......... d /opt/vattrtest/d
+......... g /opt/vattrtest/g
+......... l /opt/vattrtest/l
+......... m /opt/vattrtest/m
+......... r /opt/vattrtest/r
+--noghost
+......... /opt/vattrtest
+......... a /opt/vattrtest/a
+......... c /opt/vattrtest/c
+......... c /opt/vattrtest/cn
+......... d /opt/vattrtest/d
+......... l /opt/vattrtest/l
+......... m /opt/vattrtest/m
+......... r /opt/vattrtest/r
+--noartifact
+......... /opt/vattrtest
+......... c /opt/vattrtest/c
+......... c /opt/vattrtest/cn
+......... d /opt/vattrtest/d
+......... g /opt/vattrtest/g
+......... l /opt/vattrtest/l
+......... m /opt/vattrtest/m
+......... r /opt/vattrtest/r
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_skip $at_status "$at_srcdir/rpmverify.at:173"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_43
+#AT_START_44
+at_fn_group_banner 44 'rpmverify.at:220' \
+ "verifyscript failure" " " 4
+at_xfail=no
+(
+ $as_echo "44. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmverify.at:222:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+rm -rf \"\${TOPDIR}\"
+runroot rpmbuild --quiet -bb /data/SPECS/verifyscript.spec
+runroot rpm -U --nodeps /build/RPMS/noarch/verifyscript-1.0-1.noarch.rpm
+rm -f \"\${RPMTEST}\"/var/checkme
+runroot rpm -V --nodeps verifyscript
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmverify.at:222"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+rm -rf "${TOPDIR}"
+runroot rpmbuild --quiet -bb /data/SPECS/verifyscript.spec
+runroot rpm -U --nodeps /build/RPMS/noarch/verifyscript-1.0-1.noarch.rpm
+rm -f "${RPMTEST}"/var/checkme
+runroot rpm -V --nodeps verifyscript
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmverify.at:222"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_44
+#AT_START_45
+at_fn_group_banner 45 'rpmverify.at:237' \
+ "verifyscript success" " " 4
+at_xfail=no
+(
+ $as_echo "45. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmverify.at:239:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+rm -rf \"\${TOPDIR}\"
+runroot rpmbuild --quiet -bb /data/SPECS/verifyscript.spec
+runroot rpm -U --nodeps /build/RPMS/noarch/verifyscript-1.0-1.noarch.rpm
+touch \"\${RPMTEST}\"/var/checkme
+runroot rpm -V --nodeps verifyscript
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmverify.at:239"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+rm -rf "${TOPDIR}"
+runroot rpmbuild --quiet -bb /data/SPECS/verifyscript.spec
+runroot rpm -U --nodeps /build/RPMS/noarch/verifyscript-1.0-1.noarch.rpm
+touch "${RPMTEST}"/var/checkme
+runroot rpm -V --nodeps verifyscript
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmverify.at:239"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_45
+#AT_START_46
+at_fn_group_banner 46 'rpmverify.at:256' \
+ "shared file timestamp behavior" " " 4
+at_xfail=no
+(
+ $as_echo "46. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmverify.at:258:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+# create packages sharing a file but with different timestamp
+for p in \"one\" \"two\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"pkg \$p\" \\
+ --define \"filedata same_stuff\" \\
+ /data/SPECS/conflicttest.spec
+ sleep 1
+done
+
+# first instance of a shared file is the one that actually gets created,
+# force the order so we know what to expect as these dont depend on each other
+runroot rpm -U --noorder /build/RPMS/noarch/conflictone-1.0-1.noarch.rpm /build/RPMS/noarch/conflicttwo-1.0-1.noarch.rpm
+runroot rpm -e conflicttwo
+runroot rpm -Va --nouser --nogroup
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmverify.at:258"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+# create packages sharing a file but with different timestamp
+for p in "one" "two"; do
+ runroot rpmbuild --quiet -bb \
+ --define "pkg $p" \
+ --define "filedata same_stuff" \
+ /data/SPECS/conflicttest.spec
+ sleep 1
+done
+
+# first instance of a shared file is the one that actually gets created,
+# force the order so we know what to expect as these dont depend on each other
+runroot rpm -U --noorder /build/RPMS/noarch/conflictone-1.0-1.noarch.rpm /build/RPMS/noarch/conflicttwo-1.0-1.noarch.rpm
+runroot rpm -e conflicttwo
+runroot rpm -Va --nouser --nogroup
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmverify.at:258"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_46
+#AT_START_47
+at_fn_group_banner 47 'rpmverify.at:285' \
+ "Upgraded verification with min_writes 1 (files)" "" 4
+at_xfail=no
+(
+ $as_echo "47. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmverify.at:287:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+tf=\"\${RPMTEST}\"/opt/foo
+rm -rf \"\${tf}\" \"\${tf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \$v\" \\
+ --define \"filetype file\" \\
+ --define \"filedata foo\" \\
+ /data/SPECS/replacetest.spec
+done
+
+for v in \"3.0\" \"4.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \$v\" \\
+ --define \"filetype file\" \\
+ --define \"filedata fox\" \\
+ /data/SPECS/replacetest.spec
+done
+
+runroot rpm -i /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+cat \"\${tf}\"
+touch -t 201703171717 \${tf}
+
+runroot rpm -U \\
+ --define \"_minimize_writes 1\" \\
+ /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+runroot rpm -Va --nouser --nogroup replacetest
+cat \"\${tf}\"
+
+runroot rpm -U \\
+ --define \"_minimize_writes 1\" \\
+ /build/RPMS/noarch/replacetest-3.0-1.noarch.rpm
+runroot rpm -Va --nouser --nogroup replacetest
+cat \"\${tf}\"
+
+echo \"xx\" > \"\${tf}\"
+cat \"\${tf}\"
+
+runroot rpm -U \\
+ --define \"_minimize_writes 1\" \\
+ /build/RPMS/noarch/replacetest-4.0-1.noarch.rpm
+runroot rpm -Va --nouser --nogroup replacetest
+cat \"\${tf}\"
+
+touch -t 201703171717 \${tf}
+
+runroot rpm -U --oldpackage \\
+ --define \"_minimize_writes 1\" \\
+ /build/RPMS/noarch/replacetest-3.0-1.noarch.rpm
+runroot rpm -Va --nouser --nogroup replacetest
+cat \"\${tf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmverify.at:287"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+tf="${RPMTEST}"/opt/foo
+rm -rf "${tf}" "${tf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filetype file" \
+ --define "filedata foo" \
+ /data/SPECS/replacetest.spec
+done
+
+for v in "3.0" "4.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filetype file" \
+ --define "filedata fox" \
+ /data/SPECS/replacetest.spec
+done
+
+runroot rpm -i /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+cat "${tf}"
+touch -t 201703171717 ${tf}
+
+runroot rpm -U \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+runroot rpm -Va --nouser --nogroup replacetest
+cat "${tf}"
+
+runroot rpm -U \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-3.0-1.noarch.rpm
+runroot rpm -Va --nouser --nogroup replacetest
+cat "${tf}"
+
+echo "xx" > "${tf}"
+cat "${tf}"
+
+runroot rpm -U \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-4.0-1.noarch.rpm
+runroot rpm -Va --nouser --nogroup replacetest
+cat "${tf}"
+
+touch -t 201703171717 ${tf}
+
+runroot rpm -U --oldpackage \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-3.0-1.noarch.rpm
+runroot rpm -Va --nouser --nogroup replacetest
+cat "${tf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+foo
+fox
+xx
+fox
+fox
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmverify.at:287"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_47
+#AT_START_48
+at_fn_group_banner 48 'rpmverify.at:357' \
+ "Upgraded verification with min_writes 2 (files)" "" 4
+at_xfail=no
+(
+ $as_echo "48. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmverify.at:359:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+tf=\"\${RPMTEST}\"/opt/foo
+rm -rf \"\${tf}\" \"\${tf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \$v\" \\
+ --define \"filetype file\" \\
+ --define \"filedata foo\" \\
+ /data/SPECS/replacetest.spec
+done
+
+for v in \"3.0\" \"4.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \$v\" \\
+ --define \"filetype file\" \\
+ --define \"filedata fox\" \\
+ /data/SPECS/replacetest.spec
+done
+
+runroot rpm -i /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+cat \"\${tf}\"
+touch -t 201703171717 \${tf}
+
+runroot rpm -Uvv --fsmdebug \\
+ --define \"_minimize_writes 1\" \\
+ /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm > output.txt 2>&1
+runroot rpm -Va --nouser --nogroup replacetest
+grep -c \"touch\" output.txt
+cat \"\${tf}\"
+
+
+runroot rpm -Uvv --fsmdebug \\
+ --define \"_minimize_writes 1\" \\
+ /build/RPMS/noarch/replacetest-3.0-1.noarch.rpm > output.txt 2>&1
+runroot rpm -Va --nouser --nogroup replacetest
+grep -c \"touch\" output.txt
+cat \"\${tf}\"
+echo \"xx\" > \"\${tf}\"
+cat \"\${tf}\"
+
+runroot rpm -Uvv --fsmdebug \\
+ --define \"_minimize_writes 1\" \\
+ /build/RPMS/noarch/replacetest-4.0-1.noarch.rpm > output.txt 2>&1
+runroot rpm -Va --nouser --nogroup replacetest
+grep -c \"touch\" output.txt
+cat \"\${tf}\"
+
+touch -t 201703171717 \${tf}
+
+runroot rpm -U -Uvv --fsmdebug --oldpackage \\
+ --define \"_minimize_writes 1\" \\
+ /build/RPMS/noarch/replacetest-3.0-1.noarch.rpm > output.txt 2>&1
+runroot rpm -Va --nouser --nogroup replacetest
+grep -c \"touch\" output.txt
+cat \"\${tf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmverify.at:359"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+tf="${RPMTEST}"/opt/foo
+rm -rf "${tf}" "${tf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filetype file" \
+ --define "filedata foo" \
+ /data/SPECS/replacetest.spec
+done
+
+for v in "3.0" "4.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filetype file" \
+ --define "filedata fox" \
+ /data/SPECS/replacetest.spec
+done
+
+runroot rpm -i /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+cat "${tf}"
+touch -t 201703171717 ${tf}
+
+runroot rpm -Uvv --fsmdebug \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm > output.txt 2>&1
+runroot rpm -Va --nouser --nogroup replacetest
+grep -c "touch" output.txt
+cat "${tf}"
+
+
+runroot rpm -Uvv --fsmdebug \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-3.0-1.noarch.rpm > output.txt 2>&1
+runroot rpm -Va --nouser --nogroup replacetest
+grep -c "touch" output.txt
+cat "${tf}"
+echo "xx" > "${tf}"
+cat "${tf}"
+
+runroot rpm -Uvv --fsmdebug \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-4.0-1.noarch.rpm > output.txt 2>&1
+runroot rpm -Va --nouser --nogroup replacetest
+grep -c "touch" output.txt
+cat "${tf}"
+
+touch -t 201703171717 ${tf}
+
+runroot rpm -U -Uvv --fsmdebug --oldpackage \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-3.0-1.noarch.rpm > output.txt 2>&1
+runroot rpm -Va --nouser --nogroup replacetest
+grep -c "touch" output.txt
+cat "${tf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+2
+foo
+1
+fox
+xx
+1
+fox
+2
+fox
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmverify.at:359"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_48
+#AT_START_49
+at_fn_group_banner 49 'rpmverify.at:436' \
+ "Upgraded verification with min_writes 3 (LINKs)" "" 4
+at_xfail=no
+(
+ $as_echo "49. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmverify.at:438:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+tf=\"\${RPMTEST}\"/opt/foo
+rm -rf \"\${tf}\" \"\${tf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \$v\" \\
+ --define \"filetype link\" \\
+ --define \"filedata foo\" \\
+ /data/SPECS/replacetest.spec
+done
+
+for v in \"3.0\" \"4.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \$v\" \\
+ --define \"filetype link\" \\
+ --define \"filedata fox\" \\
+ /data/SPECS/replacetest.spec
+done
+
+runroot rpm -i /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+readlink \"\${tf}\"
+
+runroot rpm -U \\
+ --define \"_minimize_writes 1\" \\
+ /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+runroot rpm -Va --nouser --nogroup replacetest
+readlink \"\${tf}\"
+
+runroot rpm -U \\
+ --define \"_minimize_writes 1\" \\
+ /build/RPMS/noarch/replacetest-3.0-1.noarch.rpm
+runroot rpm -Va --nouser --nogroup replacetest
+readlink \"\${tf}\"
+
+ln -sf \"xx\" \"\${tf}\"
+readlink \"\${tf}\"
+
+runroot rpm -U \\
+ --define \"_minimize_writes 1\" \\
+ /build/RPMS/noarch/replacetest-4.0-1.noarch.rpm
+runroot rpm -Va --nouser --nogroup replacetest
+readlink \"\${tf}\"
+
+runroot rpm -U --oldpackage \\
+ --define \"_minimize_writes 1\" \\
+ /build/RPMS/noarch/replacetest-3.0-1.noarch.rpm
+runroot rpm -Va --nouser --nogroup replacetest
+readlink \"\${tf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmverify.at:438"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+tf="${RPMTEST}"/opt/foo
+rm -rf "${tf}" "${tf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filetype link" \
+ --define "filedata foo" \
+ /data/SPECS/replacetest.spec
+done
+
+for v in "3.0" "4.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filetype link" \
+ --define "filedata fox" \
+ /data/SPECS/replacetest.spec
+done
+
+runroot rpm -i /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+readlink "${tf}"
+
+runroot rpm -U \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+runroot rpm -Va --nouser --nogroup replacetest
+readlink "${tf}"
+
+runroot rpm -U \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-3.0-1.noarch.rpm
+runroot rpm -Va --nouser --nogroup replacetest
+readlink "${tf}"
+
+ln -sf "xx" "${tf}"
+readlink "${tf}"
+
+runroot rpm -U \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-4.0-1.noarch.rpm
+runroot rpm -Va --nouser --nogroup replacetest
+readlink "${tf}"
+
+runroot rpm -U --oldpackage \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-3.0-1.noarch.rpm
+runroot rpm -Va --nouser --nogroup replacetest
+readlink "${tf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+foo
+fox
+xx
+fox
+fox
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmverify.at:438"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_49
+#AT_START_50
+at_fn_group_banner 50 'rpmverify.at:503' \
+ "Upgraded verification with min_writes 4 (LINKs)" "" 4
+at_xfail=no
+(
+ $as_echo "50. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmverify.at:505:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+tf=\"\${RPMTEST}\"/opt/foo
+rm -rf \"\${tf}\" \"\${tf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \$v\" \\
+ --define \"filetype link\" \\
+ --define \"filedata foo\" \\
+ /data/SPECS/replacetest.spec
+done
+
+for v in \"3.0\" \"4.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \$v\" \\
+ --define \"filetype link\" \\
+ --define \"filedata fox\" \\
+ /data/SPECS/replacetest.spec
+done
+
+runroot rpm -i /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+readlink \"\${tf}\"
+
+runroot rpm -Uvv --fsmdebug \\
+ --define \"_minimize_writes 1\" \\
+ /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm > output.txt 2>&1
+runroot rpm -Va --nouser --nogroup replacetest
+grep -c \"touch\" output.txt
+readlink \"\${tf}\"
+
+
+runroot rpm -Uvv --fsmdebug \\
+ --define \"_minimize_writes 1\" \\
+ /build/RPMS/noarch/replacetest-3.0-1.noarch.rpm > output.txt 2>&1
+runroot rpm -Va --nouser --nogroup replacetest
+grep -c \"touch\" output.txt
+readlink \"\${tf}\"
+ln -sf \"xx\" \"\${tf}\"
+readlink \"\${tf}\"
+
+runroot rpm -Uvv --fsmdebug \\
+ --define \"_minimize_writes 1\" \\
+ /build/RPMS/noarch/replacetest-4.0-1.noarch.rpm > output.txt 2>&1
+runroot rpm -Va --nouser --nogroup replacetest
+grep -c \"touch\" output.txt
+readlink \"\${tf}\"
+
+runroot rpm -U -Uvv --fsmdebug --oldpackage \\
+ --define \"_minimize_writes 1\" \\
+ /build/RPMS/noarch/replacetest-3.0-1.noarch.rpm > output.txt 2>&1
+runroot rpm -Va --nouser --nogroup replacetest
+grep -c \"touch\" output.txt
+readlink \"\${tf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmverify.at:505"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+tf="${RPMTEST}"/opt/foo
+rm -rf "${tf}" "${tf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filetype link" \
+ --define "filedata foo" \
+ /data/SPECS/replacetest.spec
+done
+
+for v in "3.0" "4.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filetype link" \
+ --define "filedata fox" \
+ /data/SPECS/replacetest.spec
+done
+
+runroot rpm -i /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+readlink "${tf}"
+
+runroot rpm -Uvv --fsmdebug \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm > output.txt 2>&1
+runroot rpm -Va --nouser --nogroup replacetest
+grep -c "touch" output.txt
+readlink "${tf}"
+
+
+runroot rpm -Uvv --fsmdebug \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-3.0-1.noarch.rpm > output.txt 2>&1
+runroot rpm -Va --nouser --nogroup replacetest
+grep -c "touch" output.txt
+readlink "${tf}"
+ln -sf "xx" "${tf}"
+readlink "${tf}"
+
+runroot rpm -Uvv --fsmdebug \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-4.0-1.noarch.rpm > output.txt 2>&1
+runroot rpm -Va --nouser --nogroup replacetest
+grep -c "touch" output.txt
+readlink "${tf}"
+
+runroot rpm -U -Uvv --fsmdebug --oldpackage \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-3.0-1.noarch.rpm > output.txt 2>&1
+runroot rpm -Va --nouser --nogroup replacetest
+grep -c "touch" output.txt
+readlink "${tf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+2
+foo
+1
+fox
+xx
+1
+fox
+2
+fox
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmverify.at:505"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_50
+#AT_START_51
+at_fn_group_banner 51 'rpmsigdig.at:7' \
+ "rpmkeys -Kv <unsigned> 1" " " 5
+at_xfail=no
+(
+ $as_echo "51. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmsigdig.at:9:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmkeys -Kv /data/RPMS/hello-2.0-1.x86_64.rpm /data/RPMS/hello-1.0-1.i386.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmsigdig.at:9"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmkeys -Kv /data/RPMS/hello-2.0-1.x86_64.rpm /data/RPMS/hello-1.0-1.i386.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "/data/RPMS/hello-2.0-1.x86_64.rpm:
+ Header SHA1 digest: OK
+ Header SHA256 digest: OK
+ Payload SHA256 digest: OK
+ MD5 digest: OK
+/data/RPMS/hello-1.0-1.i386.rpm:
+ Header SHA1 digest: OK
+ MD5 digest: OK
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmsigdig.at:9"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_51
+#AT_START_52
+at_fn_group_banner 52 'rpmsigdig.at:31' \
+ "rpmkeys -Kv <corrupted unsigned> 1" " " 5
+at_xfail=no
+(
+ $as_echo "52. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmsigdig.at:33:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+pkg=\"hello-2.0-1.x86_64.rpm\"
+cp \"\${RPMTEST}\"/data/RPMS/\${pkg} \"\${RPMTEST}\"/tmp/\${pkg}
+# conv=notrunc bs=1 seek=261 count=6 2> /dev/null
+dd if=/dev/zero of=\"\${RPMTEST}\"/tmp/\${pkg} \\
+ conv=notrunc bs=1 seek=333 count=4 2> /dev/null
+runroot rpmkeys -Kv /tmp/\${pkg}
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmsigdig.at:33"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+pkg="hello-2.0-1.x86_64.rpm"
+cp "${RPMTEST}"/data/RPMS/${pkg} "${RPMTEST}"/tmp/${pkg}
+# conv=notrunc bs=1 seek=261 count=6 2> /dev/null
+dd if=/dev/zero of="${RPMTEST}"/tmp/${pkg} \
+ conv=notrunc bs=1 seek=333 count=4 2> /dev/null
+runroot rpmkeys -Kv /tmp/${pkg}
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "/tmp/hello-2.0-1.x86_64.rpm:
+ Header SHA1 digest: OK
+ Header SHA256 digest: OK
+ Payload SHA256 digest: OK
+ MD5 digest: BAD (Expected 007ca1d8b35cca02a1854ba301c5432e != 137ca1d8b35cca02a1854ba301c5432e)
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmsigdig.at:33"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_52
+#AT_START_53
+at_fn_group_banner 53 'rpmsigdig.at:56' \
+ "rpmkeys -Kv <corrupted unsigned> 2" " " 5
+at_xfail=no
+(
+ $as_echo "53. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmsigdig.at:58:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+pkg=\"hello-2.0-1.x86_64.rpm\"
+cp \"\${RPMTEST}\"/data/RPMS/\${pkg} \"\${RPMTEST}\"/tmp/\${pkg}
+dd if=/dev/zero of=\"\${RPMTEST}\"/tmp/\${pkg} \\
+ conv=notrunc bs=1 seek=5555 count=6 2> /dev/null
+runroot rpmkeys -Kv /tmp/\${pkg}
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmsigdig.at:58"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+pkg="hello-2.0-1.x86_64.rpm"
+cp "${RPMTEST}"/data/RPMS/${pkg} "${RPMTEST}"/tmp/${pkg}
+dd if=/dev/zero of="${RPMTEST}"/tmp/${pkg} \
+ conv=notrunc bs=1 seek=5555 count=6 2> /dev/null
+runroot rpmkeys -Kv /tmp/${pkg}
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "/tmp/hello-2.0-1.x86_64.rpm:
+ Header SHA1 digest: BAD (Expected 5cd9874c510b67b44483f9e382a1649ef7743bac != 4261b2c1eb861a4152c2239bce20bfbcaa8971ba)
+ Header SHA256 digest: BAD (Expected ef920781af3bf072ae9888eec3de1c589143101dff9cc0b561468d395fb766d9 != 29fdfe92782fb0470a9a164a6c94af87d3b138c63b39d4c30e0223ca1202ba82)
+ Payload SHA256 digest: OK
+ MD5 digest: BAD (Expected 137ca1d8b35cca02a1854ba301c5432e != de65519eeb4ab52eb076ec054d42e34e)
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmsigdig.at:58"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_53
+#AT_START_54
+at_fn_group_banner 54 'rpmsigdig.at:81' \
+ "rpmkeys -Kv <corrupted unsigned> 3" " " 5
+at_xfail=no
+(
+ $as_echo "54. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmsigdig.at:83:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+pkg=\"hello-2.0-1.x86_64.rpm\"
+cp \"\${RPMTEST}\"/data/RPMS/\${pkg} \"\${RPMTEST}\"/tmp/\${pkg}
+dd if=/dev/zero of=\"\${RPMTEST}\"/tmp/\${pkg} \\
+ conv=notrunc bs=1 seek=7777 count=6 2> /dev/null
+runroot rpmkeys -Kv /tmp/\${pkg}
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmsigdig.at:83"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+pkg="hello-2.0-1.x86_64.rpm"
+cp "${RPMTEST}"/data/RPMS/${pkg} "${RPMTEST}"/tmp/${pkg}
+dd if=/dev/zero of="${RPMTEST}"/tmp/${pkg} \
+ conv=notrunc bs=1 seek=7777 count=6 2> /dev/null
+runroot rpmkeys -Kv /tmp/${pkg}
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "/tmp/hello-2.0-1.x86_64.rpm:
+ Header SHA1 digest: OK
+ Header SHA256 digest: OK
+ Payload SHA256 digest: BAD (Expected 84a7338287bf19715c4eed0243f5cdb447eeb0ade37b2af718d4060aefca2f7c != bea903609dceac36e1f26a983c493c98064d320fdfeb423034ed63d649b2c8dc)
+ MD5 digest: BAD (Expected 137ca1d8b35cca02a1854ba301c5432e != d662cd0d81601a7107312684ad1ddf38)
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmsigdig.at:83"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_54
+#AT_START_55
+at_fn_group_banner 55 'rpmsigdig.at:106' \
+ "rpmkeys -Kv <unsigned> 2" " " 5
+at_xfail=no
+(
+ $as_echo "55. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmsigdig.at:108:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild -bb --quiet \\
+ --define \"%optflags -O2 -g\" \\
+ --define \"%_target_platform noarch-linux\" \\
+ --define \"%_binary_payload w.ufdio\" \\
+ --define \"%_buildhost localhost\" \\
+ --define \"%source_date_epoch_from_changelog 1\" \\
+ --define \"%clamp_mtime_to_source_date_epoch 1\" \\
+ /data/SPECS/attrtest.spec
+runroot rpmkeys -Kv /build/RPMS/noarch/attrtest-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmsigdig.at:108"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild -bb --quiet \
+ --define "%optflags -O2 -g" \
+ --define "%_target_platform noarch-linux" \
+ --define "%_binary_payload w.ufdio" \
+ --define "%_buildhost localhost" \
+ --define "%source_date_epoch_from_changelog 1" \
+ --define "%clamp_mtime_to_source_date_epoch 1" \
+ /data/SPECS/attrtest.spec
+runroot rpmkeys -Kv /build/RPMS/noarch/attrtest-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "/build/RPMS/noarch/attrtest-1.0-1.noarch.rpm:
+ Header SHA1 digest: OK
+ Header SHA256 digest: OK
+ Payload SHA256 digest: OK
+ MD5 digest: OK
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmsigdig.at:108"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_55
+#AT_START_56
+at_fn_group_banner 56 'rpmsigdig.at:135' \
+ "rpmkeys --import rsa" " " 5
+at_xfail=no
+(
+ $as_echo "56. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmsigdig.at:137:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmkeys --import /data/keys/rpm.org-rsa-2048-test.pub
+runroot rpm -qi gpg-pubkey-1964c5fc-58e63918|grep -v Date|grep -v Version:
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmsigdig.at:137"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmkeys --import /data/keys/rpm.org-rsa-2048-test.pub
+runroot rpm -qi gpg-pubkey-1964c5fc-58e63918|grep -v Date|grep -v Version:
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "Name : gpg-pubkey
+Version : 1964c5fc
+Release : 58e63918
+Architecture: (none)
+Group : Public Keys
+Size : 0
+License : pubkey
+Signature : (none)
+Source RPM : (none)
+Build Host : localhost
+Relocations : (not relocatable)
+Packager : rpm.org RSA testkey <rsa@rpm.org>
+Summary : gpg(rpm.org RSA testkey <rsa@rpm.org>)
+Description :
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQENBFjmORgBCAC7TMEk6wnjSs8Dr4yqSScWdU2pjcqrkTxuzdWvowcIUPZI0w/g
+HkRqGd4apjvY2V15kjL10gk3QhFP3pZ/9p7zh8o8NHX7aGdSGDK7NOq1eFaErPRY
+91LW9RiZ0lbOjXEzIL0KHxUiTQEmdXJT43DJMFPyW9fkCWg0OltiX618FUdWWfI8
+eySdLur1utnqBvdEbCUvWK2RX3vQZQdvEBODnNk2pxqTyV0w6VPQ96W++lF/5Aas
+7rUv3HIyIXxIggc8FRrnH+y9XvvHDonhTIlGnYZN4ubm9i4y3gOkrZlGTrEw7elQ
+1QeMyG2QQEbze8YjpTm4iLABCBrRfPRaQpwrABEBAAG0IXJwbS5vcmcgUlNBIHRl
+c3RrZXkgPHJzYUBycG0ub3JnPokBNwQTAQgAIQUCWOY5GAIbAwULCQgHAgYVCAkK
+CwIEFgIDAQIeAQIXgAAKCRBDRFkeGWTF/MxxCACnjqFL+MmPh9W9JQKT2DcLbBzf
+Cqo6wcEBoCOcwgRSk8dSikhARoteoa55JRJhuMyeKhhEAogE9HRmCPFdjezFTwgB
+BDVBpO2dZ023mLXDVCYX3S8pShOgCP6Tn4wqCnYeAdLcGg106N4xcmgtcssJE+Pr
+XzTZksbZsrTVEmL/Ym+R5w5jBfFnGk7Yw7ndwfQsfNXQb5AZynClFxnX546lcyZX
+fEx3/e6ezw57WNOUK6WT+8b+EGovPkbetK/rGxNXuWaP6X4A/QUm8O98nCuHYFQq
++mvNdsCBqGf7mhaRGtpHk/JgCn5rFvArMDqLVrR9hX0LdCSsH7EGE+bR3r7wuQEN
+BFjmORgBCACk+vDZrIXQuFXEYToZVwb2attzbbJJCqD71vmZTLsW0QxuPKRgbcYY
+zp4K4lVBnHhFrF8MOUOxJ7kQWIJZMZFt+BDcptCYurbD2H4W2xvnWViiC+LzCMzz
+iMJT6165uefL4JHTDPxC2fFiM9yrc72LmylJNkM/vepT128J5Qv0gRUaQbHiQuS6
+Dm/+WRnUfx3i89SV4mnBxb/Ta93GVqoOciWwzWSnwEnWYAvOb95JL4U7c5J5f/+c
+KnQDHsW7sIiIdscsWzvgf6qs2Ra1Zrt7Fdk4+ZS2f/adagLhDO1C24sXf5XfMk5m
+L0OGwZSr9m5s17VXxfspgU5ugc8kBJfzABEBAAGJAR8EGAEIAAkFAljmORgCGwwA
+CgkQQ0RZHhlkxfzwDQf/Y5on5o+s/xD3tDyRYa6SErfT44lEArdCD7Yi+cygJFox
+3jyM8ovtJAkwRegwyxcaLN7zeG1p1Sk9ZAYWQEJT6qSU4Ppu+CVGHgxgnTcfUiu6
+EZZQE6srvua53IMY1lT50M7vx0T5VicHFRWBFV2C/Mc32p7cEE6nn45nEZgUXQNl
+ySEyvoRlsAJq6gFsfqucVz2vMJDTMVczUtq1CjvUqFbif8JVL36EoZCf1SeRw6d6
+s1Kp3AA33Rjd+Uw87HJ4EIB75zMFQX2H0ggAVdYTQcqGXHP5MZK1jJrHfxJyMi3d
+UNW2iqnN3BA7guhOv6OMiROF1+I7Q5nWT63mQC7IgQ==
+=Z6nu
+-----END PGP PUBLIC KEY BLOCK-----
+
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmsigdig.at:137"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_56
+#AT_START_57
+at_fn_group_banner 57 'rpmsigdig.at:196' \
+ "rpmkeys -K <signed> 1" " " 5
+at_xfail=no
+(
+ $as_echo "57. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmsigdig.at:198:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmkeys -K /data/RPMS/hello-2.0-1.x86_64-signed.rpm
+runroot rpmkeys --import /data/keys/rpm.org-rsa-2048-test.pub
+runroot rpmkeys -K /data/RPMS/hello-2.0-1.x86_64-signed.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmsigdig.at:198"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmkeys -K /data/RPMS/hello-2.0-1.x86_64-signed.rpm
+runroot rpmkeys --import /data/keys/rpm.org-rsa-2048-test.pub
+runroot rpmkeys -K /data/RPMS/hello-2.0-1.x86_64-signed.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "/data/RPMS/hello-2.0-1.x86_64-signed.rpm: digests SIGNATURES NOT OK
+/data/RPMS/hello-2.0-1.x86_64-signed.rpm: digests signatures OK
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmsigdig.at:198"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_57
+#AT_START_58
+at_fn_group_banner 58 'rpmsigdig.at:216' \
+ "rpmkeys -Kv <signed> 1" " " 5
+at_xfail=no
+(
+ $as_echo "58. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmsigdig.at:218:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmkeys -Kv /data/RPMS/hello-2.0-1.x86_64-signed.rpm
+runroot rpmkeys --import /data/keys/rpm.org-rsa-2048-test.pub
+runroot rpmkeys -Kv /data/RPMS/hello-2.0-1.x86_64-signed.rpm
+runroot rpmkeys -Kv --nodigest /data/RPMS/hello-2.0-1.x86_64-signed.rpm
+runroot rpmkeys -Kv --nosignature /data/RPMS/hello-2.0-1.x86_64-signed.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmsigdig.at:218"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmkeys -Kv /data/RPMS/hello-2.0-1.x86_64-signed.rpm
+runroot rpmkeys --import /data/keys/rpm.org-rsa-2048-test.pub
+runroot rpmkeys -Kv /data/RPMS/hello-2.0-1.x86_64-signed.rpm
+runroot rpmkeys -Kv --nodigest /data/RPMS/hello-2.0-1.x86_64-signed.rpm
+runroot rpmkeys -Kv --nosignature /data/RPMS/hello-2.0-1.x86_64-signed.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "/data/RPMS/hello-2.0-1.x86_64-signed.rpm:
+ Header V4 RSA/SHA256 Signature, key ID 1964c5fc: NOKEY
+ Header SHA1 digest: OK
+ Header SHA256 digest: OK
+ Payload SHA256 digest: OK
+ V4 RSA/SHA256 Signature, key ID 1964c5fc: NOKEY
+ MD5 digest: OK
+/data/RPMS/hello-2.0-1.x86_64-signed.rpm:
+ Header V4 RSA/SHA256 Signature, key ID 1964c5fc: OK
+ Header SHA1 digest: OK
+ Header SHA256 digest: OK
+ Payload SHA256 digest: OK
+ V4 RSA/SHA256 Signature, key ID 1964c5fc: OK
+ MD5 digest: OK
+/data/RPMS/hello-2.0-1.x86_64-signed.rpm:
+ Header V4 RSA/SHA256 Signature, key ID 1964c5fc: OK
+ V4 RSA/SHA256 Signature, key ID 1964c5fc: OK
+/data/RPMS/hello-2.0-1.x86_64-signed.rpm:
+ Header SHA1 digest: OK
+ Header SHA256 digest: OK
+ Payload SHA256 digest: OK
+ MD5 digest: OK
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmsigdig.at:218"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_58
+#AT_START_59
+at_fn_group_banner 59 'rpmsigdig.at:258' \
+ "rpmkeys -Kv <corrupted signed> 1" " " 5
+at_xfail=no
+(
+ $as_echo "59. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmsigdig.at:260:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+pkg=\"hello-2.0-1.x86_64-signed.rpm\"
+cp \"\${RPMTEST}\"/data/RPMS/\${pkg} \"\${RPMTEST}\"/tmp/\${pkg}
+dd if=/dev/zero of=\"\${RPMTEST}\"/tmp/\${pkg} \\
+ conv=notrunc bs=1 seek=264 count=6 2> /dev/null
+
+runroot rpmkeys -Kv /tmp/\${pkg}
+runroot rpmkeys --import /data/keys/rpm.org-rsa-2048-test.pub
+runroot rpmkeys -Kv /tmp/\${pkg}
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmsigdig.at:260"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+pkg="hello-2.0-1.x86_64-signed.rpm"
+cp "${RPMTEST}"/data/RPMS/${pkg} "${RPMTEST}"/tmp/${pkg}
+dd if=/dev/zero of="${RPMTEST}"/tmp/${pkg} \
+ conv=notrunc bs=1 seek=264 count=6 2> /dev/null
+
+runroot rpmkeys -Kv /tmp/${pkg}
+runroot rpmkeys --import /data/keys/rpm.org-rsa-2048-test.pub
+runroot rpmkeys -Kv /tmp/${pkg}
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "/tmp/hello-2.0-1.x86_64-signed.rpm:
+ Header signature: BAD (package tag 268: invalid OpenPGP signature)
+ Header SHA1 digest: OK
+ Header SHA256 digest: OK
+ Payload SHA256 digest: OK
+ V4 RSA/SHA256 Signature, key ID 1964c5fc: NOKEY
+ MD5 digest: OK
+/tmp/hello-2.0-1.x86_64-signed.rpm:
+ Header signature: BAD (package tag 268: invalid OpenPGP signature)
+ Header SHA1 digest: OK
+ Header SHA256 digest: OK
+ Payload SHA256 digest: OK
+ V4 RSA/SHA256 Signature, key ID 1964c5fc: OK
+ MD5 digest: OK
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmsigdig.at:260"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_59
+#AT_START_60
+at_fn_group_banner 60 'rpmsigdig.at:294' \
+ "rpmkeys -Kv <corrupted signed> 2" " " 5
+at_xfail=no
+(
+ $as_echo "60. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmsigdig.at:296:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+pkg=\"hello-2.0-1.x86_64-signed.rpm\"
+cp \"\${RPMTEST}\"/data/RPMS/\${pkg} \"\${RPMTEST}\"/tmp/\${pkg}
+dd if=/dev/zero of=\"\${RPMTEST}\"/tmp/\${pkg} \\
+ conv=notrunc bs=1 seek=5555 count=6 2> /dev/null
+
+runroot rpmkeys -Kv /tmp/\${pkg}
+runroot rpmkeys --import /data/keys/rpm.org-rsa-2048-test.pub
+runroot rpmkeys -Kv /tmp/\${pkg}
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmsigdig.at:296"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+pkg="hello-2.0-1.x86_64-signed.rpm"
+cp "${RPMTEST}"/data/RPMS/${pkg} "${RPMTEST}"/tmp/${pkg}
+dd if=/dev/zero of="${RPMTEST}"/tmp/${pkg} \
+ conv=notrunc bs=1 seek=5555 count=6 2> /dev/null
+
+runroot rpmkeys -Kv /tmp/${pkg}
+runroot rpmkeys --import /data/keys/rpm.org-rsa-2048-test.pub
+runroot rpmkeys -Kv /tmp/${pkg}
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "/tmp/hello-2.0-1.x86_64-signed.rpm:
+ Header V4 RSA/SHA256 Signature, key ID 1964c5fc: BAD
+ Header SHA1 digest: BAD (Expected 5cd9874c510b67b44483f9e382a1649ef7743bac != 4261b2c1eb861a4152c2239bce20bfbcaa8971ba)
+ Header SHA256 digest: BAD (Expected ef920781af3bf072ae9888eec3de1c589143101dff9cc0b561468d395fb766d9 != 29fdfe92782fb0470a9a164a6c94af87d3b138c63b39d4c30e0223ca1202ba82)
+ Payload SHA256 digest: OK
+ V4 RSA/SHA256 Signature, key ID 1964c5fc: BAD
+ MD5 digest: BAD (Expected 137ca1d8b35cca02a1854ba301c5432e != de65519eeb4ab52eb076ec054d42e34e)
+/tmp/hello-2.0-1.x86_64-signed.rpm:
+ Header V4 RSA/SHA256 Signature, key ID 1964c5fc: BAD
+ Header SHA1 digest: BAD (Expected 5cd9874c510b67b44483f9e382a1649ef7743bac != 4261b2c1eb861a4152c2239bce20bfbcaa8971ba)
+ Header SHA256 digest: BAD (Expected ef920781af3bf072ae9888eec3de1c589143101dff9cc0b561468d395fb766d9 != 29fdfe92782fb0470a9a164a6c94af87d3b138c63b39d4c30e0223ca1202ba82)
+ Payload SHA256 digest: OK
+ V4 RSA/SHA256 Signature, key ID 1964c5fc: BAD
+ MD5 digest: BAD (Expected 137ca1d8b35cca02a1854ba301c5432e != de65519eeb4ab52eb076ec054d42e34e)
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmsigdig.at:296"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_60
+#AT_START_61
+at_fn_group_banner 61 'rpmsigdig.at:331' \
+ "rpmkeys -Kv <corrupted signed> 3" " " 5
+at_xfail=no
+(
+ $as_echo "61. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmsigdig.at:333:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+pkg=\"hello-2.0-1.x86_64-signed.rpm\"
+cp \"\${RPMTEST}\"/data/RPMS/\${pkg} \"\${RPMTEST}\"/tmp/\${pkg}
+dd if=/dev/zero of=\"\${RPMTEST}\"/tmp/\${pkg} \\
+ conv=notrunc bs=1 seek=7777 count=6 2> /dev/null
+
+runroot rpmkeys -Kv /tmp/\${pkg}
+runroot rpmkeys --import /data/keys/rpm.org-rsa-2048-test.pub
+runroot rpmkeys -Kv /tmp/\${pkg}
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmsigdig.at:333"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+pkg="hello-2.0-1.x86_64-signed.rpm"
+cp "${RPMTEST}"/data/RPMS/${pkg} "${RPMTEST}"/tmp/${pkg}
+dd if=/dev/zero of="${RPMTEST}"/tmp/${pkg} \
+ conv=notrunc bs=1 seek=7777 count=6 2> /dev/null
+
+runroot rpmkeys -Kv /tmp/${pkg}
+runroot rpmkeys --import /data/keys/rpm.org-rsa-2048-test.pub
+runroot rpmkeys -Kv /tmp/${pkg}
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "/tmp/hello-2.0-1.x86_64-signed.rpm:
+ Header V4 RSA/SHA256 Signature, key ID 1964c5fc: NOKEY
+ Header SHA1 digest: OK
+ Header SHA256 digest: OK
+ Payload SHA256 digest: BAD (Expected 84a7338287bf19715c4eed0243f5cdb447eeb0ade37b2af718d4060aefca2f7c != bea903609dceac36e1f26a983c493c98064d320fdfeb423034ed63d649b2c8dc)
+ V4 RSA/SHA256 Signature, key ID 1964c5fc: BAD
+ MD5 digest: BAD (Expected 137ca1d8b35cca02a1854ba301c5432e != d662cd0d81601a7107312684ad1ddf38)
+/tmp/hello-2.0-1.x86_64-signed.rpm:
+ Header V4 RSA/SHA256 Signature, key ID 1964c5fc: OK
+ Header SHA1 digest: OK
+ Header SHA256 digest: OK
+ Payload SHA256 digest: BAD (Expected 84a7338287bf19715c4eed0243f5cdb447eeb0ade37b2af718d4060aefca2f7c != bea903609dceac36e1f26a983c493c98064d320fdfeb423034ed63d649b2c8dc)
+ V4 RSA/SHA256 Signature, key ID 1964c5fc: BAD
+ MD5 digest: BAD (Expected 137ca1d8b35cca02a1854ba301c5432e != d662cd0d81601a7107312684ad1ddf38)
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmsigdig.at:333"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_61
+#AT_START_62
+at_fn_group_banner 62 'rpmsigdig.at:368' \
+ "rpmsign --addsign <unsigned>" " " 5
+at_xfail=no
+(
+ $as_echo "62. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmsigdig.at:370:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+cp \"\${RPMTEST}\"/data/RPMS/hello-2.0-1.x86_64.rpm \"\${RPMTEST}\"/tmp/
+run rpmsign --key-id 1964C5FC --addsign \"\${RPMTEST}\"/tmp/hello-2.0-1.x86_64.rpm > /dev/null
+echo PRE-IMPORT
+runroot rpmkeys -Kv /tmp/hello-2.0-1.x86_64.rpm|grep -v digest
+echo POST-IMPORT
+runroot rpmkeys --import /data/keys/rpm.org-rsa-2048-test.pub
+runroot rpmkeys -Kv /tmp/hello-2.0-1.x86_64.rpm|grep -v digest
+run rpmsign --delsign \"\${RPMTEST}\"/tmp/hello-2.0-1.x86_64.rpm > /dev/null
+echo POST-DELSIGN
+runroot rpmkeys -Kv /tmp/hello-2.0-1.x86_64.rpm|grep -v digest
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmsigdig.at:370"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+cp "${RPMTEST}"/data/RPMS/hello-2.0-1.x86_64.rpm "${RPMTEST}"/tmp/
+run rpmsign --key-id 1964C5FC --addsign "${RPMTEST}"/tmp/hello-2.0-1.x86_64.rpm > /dev/null
+echo PRE-IMPORT
+runroot rpmkeys -Kv /tmp/hello-2.0-1.x86_64.rpm|grep -v digest
+echo POST-IMPORT
+runroot rpmkeys --import /data/keys/rpm.org-rsa-2048-test.pub
+runroot rpmkeys -Kv /tmp/hello-2.0-1.x86_64.rpm|grep -v digest
+run rpmsign --delsign "${RPMTEST}"/tmp/hello-2.0-1.x86_64.rpm > /dev/null
+echo POST-DELSIGN
+runroot rpmkeys -Kv /tmp/hello-2.0-1.x86_64.rpm|grep -v digest
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "PRE-IMPORT
+/tmp/hello-2.0-1.x86_64.rpm:
+ Header V4 RSA/SHA256 Signature, key ID 1964c5fc: NOKEY
+ V4 RSA/SHA256 Signature, key ID 1964c5fc: NOKEY
+POST-IMPORT
+/tmp/hello-2.0-1.x86_64.rpm:
+ Header V4 RSA/SHA256 Signature, key ID 1964c5fc: OK
+ V4 RSA/SHA256 Signature, key ID 1964c5fc: OK
+POST-DELSIGN
+/tmp/hello-2.0-1.x86_64.rpm:
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmsigdig.at:370"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_62
+#AT_START_63
+at_fn_group_banner 63 'rpmsigdig.at:403' \
+ "rpmsign --delsign <package>" " " 5
+at_xfail=no
+(
+ $as_echo "63. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmsigdig.at:405:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+cp \"\${RPMTEST}\"/data/RPMS/hello-2.0-1.x86_64-signed.rpm \"\${RPMTEST}\"/tmp/
+echo PRE-DELSIGN
+runroot rpmkeys -Kv /tmp/hello-2.0-1.x86_64-signed.rpm|grep -v digest
+echo POST-DELSIGN
+run rpmsign --delsign \"\${RPMTEST}\"/tmp/hello-2.0-1.x86_64-signed.rpm > /dev/null
+runroot rpmkeys -Kv /tmp/hello-2.0-1.x86_64-signed.rpm|grep -v digest
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmsigdig.at:405"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+cp "${RPMTEST}"/data/RPMS/hello-2.0-1.x86_64-signed.rpm "${RPMTEST}"/tmp/
+echo PRE-DELSIGN
+runroot rpmkeys -Kv /tmp/hello-2.0-1.x86_64-signed.rpm|grep -v digest
+echo POST-DELSIGN
+run rpmsign --delsign "${RPMTEST}"/tmp/hello-2.0-1.x86_64-signed.rpm > /dev/null
+runroot rpmkeys -Kv /tmp/hello-2.0-1.x86_64-signed.rpm|grep -v digest
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "PRE-DELSIGN
+/tmp/hello-2.0-1.x86_64-signed.rpm:
+ Header V4 RSA/SHA256 Signature, key ID 1964c5fc: NOKEY
+ V4 RSA/SHA256 Signature, key ID 1964c5fc: NOKEY
+POST-DELSIGN
+/tmp/hello-2.0-1.x86_64-signed.rpm:
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmsigdig.at:405"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_63
+#AT_START_64
+at_fn_group_banner 64 'rpmsigdig.at:430' \
+ "rpmsign --addsign <signed>" " " 5
+at_xfail=no
+(
+ $as_echo "64. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmsigdig.at:432:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+cp \"\${RPMTEST}\"/data/RPMS/hello-2.0-1.x86_64-signed.rpm \"\${RPMTEST}\"/tmp/
+run rpmsign --key-id 1964C5FC --addsign \"\${RPMTEST}\"/tmp/hello-2.0-1.x86_64-signed.rpm 2>&1 |grep -q \"already contains identical signature, skipping\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmsigdig.at:432"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+cp "${RPMTEST}"/data/RPMS/hello-2.0-1.x86_64-signed.rpm "${RPMTEST}"/tmp/
+run rpmsign --key-id 1964C5FC --addsign "${RPMTEST}"/tmp/hello-2.0-1.x86_64-signed.rpm 2>&1 |grep -q "already contains identical signature, skipping"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmsigdig.at:432"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_64
+#AT_START_65
+at_fn_group_banner 65 'rpmdb.at:23' \
+ "rpm --initdb" " " 6
+at_xfail=no
+(
+ $as_echo "65. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdb.at:25:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdb.at:25"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo stdout:; cat "$at_stdout"
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdb.at:25"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_65
+#AT_START_66
+at_fn_group_banner 66 'rpmdb.at:36' \
+ "rpm -qa" " " 6
+at_xfail=no
+(
+ $as_echo "66. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdb.at:38:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+runroot rpm \\
+ -qa
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdb.at:38"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+runroot rpm \
+ -qa
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdb.at:38"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_66
+#AT_START_67
+at_fn_group_banner 67 'rpmdb.at:49' \
+ "rpm -q foo" " " 6
+at_xfail=no
+(
+ $as_echo "67. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdb.at:51:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -i \\
+ /data/RPMS/foo-1.0-1.noarch.rpm
+
+runroot rpm -q foo
+
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdb.at:51"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -i \
+ /data/RPMS/foo-1.0-1.noarch.rpm
+
+runroot rpm -q foo
+
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo-1.0-1.noarch
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdb.at:51"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_67
+#AT_START_68
+at_fn_group_banner 68 'rpmdb.at:69' \
+ "rpm -q foo-" " " 6
+at_xfail=no
+(
+ $as_echo "68. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdb.at:71:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -i \\
+ /data/RPMS/foo-1.0-1.noarch.rpm
+
+runroot rpm -q foo-
+
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdb.at:71"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -i \
+ /data/RPMS/foo-1.0-1.noarch.rpm
+
+runroot rpm -q foo-
+
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "package foo- is not installed
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmdb.at:71"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_68
+#AT_START_69
+at_fn_group_banner 69 'rpmdb.at:90' \
+ "rpm -i *.noarch.rpm" " " 6
+at_xfail=no
+(
+ $as_echo "69. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdb.at:93:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -i \\
+ /data/RPMS/foo-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdb.at:93"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -i \
+ /data/RPMS/foo-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdb.at:93"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_69
+#AT_START_70
+at_fn_group_banner 70 'rpmdb.at:106' \
+ "rpm -U --replacepkgs 1" " " 6
+at_xfail=no
+(
+ $as_echo "70. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdb.at:109:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+tpkg=\"/data/RPMS/foo-1.0-1.noarch.rpm\"
+
+runroot rpm -i \"\${tpkg}\" &&
+ runroot rpm -U --replacepkgs \"\${tpkg}\" &&
+ runroot rpm -qa
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdb.at:109"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+tpkg="/data/RPMS/foo-1.0-1.noarch.rpm"
+
+runroot rpm -i "${tpkg}" &&
+ runroot rpm -U --replacepkgs "${tpkg}" &&
+ runroot rpm -qa
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo-1.0-1.noarch
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdb.at:109"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_70
+#AT_START_71
+at_fn_group_banner 71 'rpmdb.at:128' \
+ "rpm -U --replacepkgs 2" " " 6
+at_xfail=no
+ test $RPM_XFAIL -ne 0 && at_xfail=yes
+(
+ $as_echo "71. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdb.at:131:
+
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+tpkg=\"/data/RPMS/hello-2.0-1.i686.rpm\"
+
+runroot rpm -U --nodeps --ignorearch \"\${tpkg}\" &&
+ runroot rpm -U --nodeps --ignorearch --nodocs --replacepkgs \"\${tpkg}\" &&
+ runroot rpm -e hello
+test -d \"\${RPMTEST}\"/usr/share/doc/hello-2.0
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdb.at:131"
+( $at_check_trace;
+
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+tpkg="/data/RPMS/hello-2.0-1.i686.rpm"
+
+runroot rpm -U --nodeps --ignorearch "${tpkg}" &&
+ runroot rpm -U --nodeps --ignorearch --nodocs --replacepkgs "${tpkg}" &&
+ runroot rpm -e hello
+test -d "${RPMTEST}"/usr/share/doc/hello-2.0
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmdb.at:131"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_71
+#AT_START_72
+at_fn_group_banner 72 'rpmdb.at:150' \
+ "rpm --reinstall 1" " " 6
+at_xfail=no
+(
+ $as_echo "72. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdb.at:153:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+tpkg=\"/data/RPMS/hello-2.0-1.i686.rpm\"
+
+runroot rpm -U --nodeps --ignorearch \"\${tpkg}\" &&
+ runroot rpm --reinstall --nodeps --ignorearch --nodocs \"\${tpkg}\" &&
+ runroot rpm -e hello
+test -d \"\${RPMTEST}\"/usr/share/doc/hello-2.0
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdb.at:153"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+tpkg="/data/RPMS/hello-2.0-1.i686.rpm"
+
+runroot rpm -U --nodeps --ignorearch "${tpkg}" &&
+ runroot rpm --reinstall --nodeps --ignorearch --nodocs "${tpkg}" &&
+ runroot rpm -e hello
+test -d "${RPMTEST}"/usr/share/doc/hello-2.0
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmdb.at:153"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_72
+#AT_START_73
+at_fn_group_banner 73 'rpmdb.at:173' \
+ "rpm -i --relocate=.. *.i386.rpm" " " 6
+at_xfail=no
+(
+ $as_echo "73. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdb.at:175:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -i \\
+ --noscripts --nodeps --ignorearch --relocate=/usr=/check \\
+ /data/RPMS/hello-1.0-1.i386.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdb.at:175"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -i \
+ --noscripts --nodeps --ignorearch --relocate=/usr=/check \
+ /data/RPMS/hello-1.0-1.i386.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdb.at:175"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_73
+#AT_START_74
+at_fn_group_banner 74 'rpmdb.at:192' \
+ "rpm -i --relocate=.. *.ppc64.rpm" " " 6
+at_xfail=no
+(
+ $as_echo "74. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdb.at:194:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -i \\
+ --noscripts --nodeps --ignorearch --relocate=/usr=/check \\
+ /data/RPMS/hello-1.0-1.ppc64.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdb.at:194"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -i \
+ --noscripts --nodeps --ignorearch --relocate=/usr=/check \
+ /data/RPMS/hello-1.0-1.ppc64.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo stdout:; cat "$at_stdout"
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdb.at:194"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_74
+#AT_START_75
+at_fn_group_banner 75 'rpmdb.at:208' \
+ "rpmdb --rebuilddb" " " 6
+at_xfail=no
+(
+ $as_echo "75. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdb.at:210:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U --noscripts --nodeps --ignorearch \\
+ /data/RPMS/hello-1.0-1.i386.rpm
+runroot rpm -qa --qf \"%{nevra} %{dbinstance}\\n\"
+runroot rpm -U --noscripts --nodeps --ignorearch \\
+ /data/RPMS/hello-2.0-1.i686.rpm
+runroot rpm -qa --qf \"%{nevra} %{dbinstance}\\n\"
+runroot rpmdb --rebuilddb
+runroot rpm -qa --qf \"%{nevra} %{dbinstance}\\n\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdb.at:210"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U --noscripts --nodeps --ignorearch \
+ /data/RPMS/hello-1.0-1.i386.rpm
+runroot rpm -qa --qf "%{nevra} %{dbinstance}\n"
+runroot rpm -U --noscripts --nodeps --ignorearch \
+ /data/RPMS/hello-2.0-1.i686.rpm
+runroot rpm -qa --qf "%{nevra} %{dbinstance}\n"
+runroot rpmdb --rebuilddb
+runroot rpm -qa --qf "%{nevra} %{dbinstance}\n"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "hello-1.0-1.i386 1
+hello-2.0-1.i686 2
+hello-2.0-1.i686 1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdb.at:210"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_75
+#AT_START_76
+at_fn_group_banner 76 'rpmdb.at:233' \
+ "rpmdb --rebuilddb and verify empty database" " " 6
+at_xfail=no
+(
+ $as_echo "76. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdb.at:235:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+runroot rpmdb --rebuilddb
+runroot rpmdb --verifydb
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdb.at:235"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+runroot rpmdb --rebuilddb
+runroot rpmdb --verifydb
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdb.at:235"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_76
+#AT_START_77
+at_fn_group_banner 77 'rpmdb.at:248' \
+ "rpm -U and verify status" " " 6
+at_xfail=no
+(
+ $as_echo "77. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdb.at:250:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg status\" \\
+ --define \"filedata same_stuff\" \\
+ /data/SPECS/conflicttest.spec
+
+runroot rpm -U /build/RPMS/noarch/conflictstatus-1.0-1.noarch.rpm
+runroot rpm -qls conflictstatus
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdb.at:250"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg status" \
+ --define "filedata same_stuff" \
+ /data/SPECS/conflicttest.spec
+
+runroot rpm -U /build/RPMS/noarch/conflictstatus-1.0-1.noarch.rpm
+runroot rpm -qls conflictstatus
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "normal /usr/share/my.version
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdb.at:250"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_77
+#AT_START_78
+at_fn_group_banner 78 'rpmdb.at:271' \
+ "rpm -U with _install_lang and verify status" " " 6
+at_xfail=no
+(
+ $as_echo "78. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdb.at:273:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ /data/SPECS/flangtest.spec
+
+runroot rpm -U --define \"_install_langs de:fi\" /build/RPMS/noarch/flangtest-1.0-1.noarch.rpm
+runroot rpm -qls flangtest
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdb.at:273"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ /data/SPECS/flangtest.spec
+
+runroot rpm -U --define "_install_langs de:fi" /build/RPMS/noarch/flangtest-1.0-1.noarch.rpm
+runroot rpm -qls flangtest
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "normal /usr/share/flangtest/de.txt
+normal /usr/share/flangtest/empty.txt
+not installed /usr/share/flangtest/en.txt
+normal /usr/share/flangtest/fi.txt
+normal /usr/share/flangtest/none.txt
+not installed /usr/share/flangtest/pl.txt
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdb.at:273"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_78
+#AT_START_79
+at_fn_group_banner 79 'rpmdb.at:297' \
+ "rpm -U and verify files on disk" " " 6
+at_xfail=no
+(
+ $as_echo "79. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdb.at:299:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+rm -rf \"\${RPMTEST}\"/opt/*
+
+runroot rpmbuild --quiet -bb /data/SPECS/selfconflict.spec
+runroot rpm -U /build/RPMS/noarch/selfconflict-1.0-1.noarch.rpm
+find \"\${RPMTEST}\"/opt | wc -l
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdb.at:299"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+rm -rf "${RPMTEST}"/opt/*
+
+runroot rpmbuild --quiet -bb /data/SPECS/selfconflict.spec
+runroot rpm -U /build/RPMS/noarch/selfconflict-1.0-1.noarch.rpm
+find "${RPMTEST}"/opt | wc -l
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "6
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdb.at:299"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_79
+#AT_START_80
+at_fn_group_banner 80 'rpmdb.at:318' \
+ "rpm -e and verify files removed" " " 6
+at_xfail=no
+(
+ $as_echo "80. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdb.at:320:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+rm -rf \"\${RPMTEST}\"/opt/*
+
+runroot rpmbuild --quiet -bb /data/SPECS/selfconflict.spec
+runroot rpm -U /build/RPMS/noarch/selfconflict-1.0-1.noarch.rpm
+runroot rpm -e selfconflict
+find \"\${RPMTEST}\"/opt | wc -l
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdb.at:320"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+rm -rf "${RPMTEST}"/opt/*
+
+runroot rpmbuild --quiet -bb /data/SPECS/selfconflict.spec
+runroot rpm -U /build/RPMS/noarch/selfconflict-1.0-1.noarch.rpm
+runroot rpm -e selfconflict
+find "${RPMTEST}"/opt | wc -l
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdb.at:320"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_80
+#AT_START_81
+at_fn_group_banner 81 'rpmi.at:21' \
+ "rpm -U <manifest>" " " 7
+at_xfail=no
+(
+ $as_echo "81. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmi.at:23:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+echo /data/RPMS/hello-2.0-1.x86_64.rpm > \${RPMTEST}/tmp/test.mft
+runroot rpm -U --ignorearch --ignoreos --nodeps \\
+ /tmp/test.mft
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmi.at:23"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+echo /data/RPMS/hello-2.0-1.x86_64.rpm > ${RPMTEST}/tmp/test.mft
+runroot rpm -U --ignorearch --ignoreos --nodeps \
+ /tmp/test.mft
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmi.at:23"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_81
+#AT_START_82
+at_fn_group_banner 82 'rpmi.at:36' \
+ "rpm -U <manifest notfound 1>" " " 7
+at_xfail=no
+(
+ $as_echo "82. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmi.at:38:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+echo /data/RPMS/hello-2.0-1.x86_64.rpm > \${RPMTEST}/tmp/test.mft
+runroot rpm -U --ignorearch --ignoreos --nodeps \\
+ /tmp/test-not-there.mft
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmi.at:38"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+echo /data/RPMS/hello-2.0-1.x86_64.rpm > ${RPMTEST}/tmp/test.mft
+runroot rpm -U --ignorearch --ignoreos --nodeps \
+ /tmp/test-not-there.mft
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: open of /tmp/test-not-there.mft failed: No such file or directory
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmi.at:38"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_82
+#AT_START_83
+at_fn_group_banner 83 'rpmi.at:52' \
+ "rpm -U <manifest notfound 2>" " " 7
+at_xfail=no
+(
+ $as_echo "83. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmi.at:54:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+echo /data/RPMS/hello-not-there-2.0-1.x86_64.rpm > \${RPMTEST}/tmp/test.mft
+runroot rpm -U --ignorearch --ignoreos --nodeps \\
+ /tmp/test.mft
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmi.at:54"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+echo /data/RPMS/hello-not-there-2.0-1.x86_64.rpm > ${RPMTEST}/tmp/test.mft
+runroot rpm -U --ignorearch --ignoreos --nodeps \
+ /tmp/test.mft
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: open of /data/RPMS/hello-not-there-2.0-1.x86_64.rpm failed: No such file or directory
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmi.at:54"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_83
+#AT_START_84
+at_fn_group_banner 84 'rpmi.at:68' \
+ "rpm -U <notfound>" " " 7
+at_xfail=no
+(
+ $as_echo "84. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmi.at:70:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U --ignorearch --ignoreos --nodeps \\
+ /data/RPMS/hello-not-there-2.0-1.x86_64.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmi.at:70"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U --ignorearch --ignoreos --nodeps \
+ /data/RPMS/hello-not-there-2.0-1.x86_64.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: open of /data/RPMS/hello-not-there-2.0-1.x86_64.rpm failed: No such file or directory
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmi.at:70"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_84
+#AT_START_85
+at_fn_group_banner 85 'rpmi.at:83' \
+ "rpm -U <unsigned>" " " 7
+at_xfail=no
+(
+ $as_echo "85. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmi.at:85:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U --ignorearch --ignoreos --nodeps \\
+ /data/RPMS/hello-2.0-1.x86_64.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmi.at:85"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U --ignorearch --ignoreos --nodeps \
+ /data/RPMS/hello-2.0-1.x86_64.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmi.at:85"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_85
+#AT_START_86
+at_fn_group_banner 86 'rpmi.at:97' \
+ "rpm -U <signed nokey>" " " 7
+at_xfail=no
+(
+ $as_echo "86. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmi.at:99:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U --ignorearch --ignoreos --nodeps \\
+ /data/RPMS/hello-2.0-1.x86_64-signed.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmi.at:99"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U --ignorearch --ignoreos --nodeps \
+ /data/RPMS/hello-2.0-1.x86_64-signed.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "warning: /data/RPMS/hello-2.0-1.x86_64-signed.rpm: Header V4 RSA/SHA256 Signature, key ID 1964c5fc: NOKEY
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmi.at:99"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_86
+#AT_START_87
+at_fn_group_banner 87 'rpmi.at:112' \
+ "rpm -U <signed>" " " 7
+at_xfail=no
+(
+ $as_echo "87. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmi.at:114:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpmkeys --import /data/keys/rpm.org-rsa-2048-test.pub
+runroot rpm -U --ignorearch --ignoreos --nodeps \\
+ /data/RPMS/hello-2.0-1.x86_64-signed.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmi.at:114"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpmkeys --import /data/keys/rpm.org-rsa-2048-test.pub
+runroot rpm -U --ignorearch --ignoreos --nodeps \
+ /data/RPMS/hello-2.0-1.x86_64-signed.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmi.at:114"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_87
+#AT_START_88
+at_fn_group_banner 88 'rpmi.at:127' \
+ "rpm -U <corrupted signed 1>" " " 7
+at_xfail=no
+(
+ $as_echo "88. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmi.at:129:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+pkg=\"hello-2.0-1.x86_64-signed.rpm\"
+cp \"\${RPMTEST}\"/data/RPMS/\${pkg} \"\${RPMTEST}\"/tmp/\${pkg}
+dd if=/dev/zero of=\"\${RPMTEST}\"/tmp/\${pkg} \\
+ conv=notrunc bs=1 seek=264 count=2 2> /dev/null
+
+runroot rpm -U --ignorearch --ignoreos --nodeps \\
+ /tmp/\${pkg}
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmi.at:129"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+pkg="hello-2.0-1.x86_64-signed.rpm"
+cp "${RPMTEST}"/data/RPMS/${pkg} "${RPMTEST}"/tmp/${pkg}
+dd if=/dev/zero of="${RPMTEST}"/tmp/${pkg} \
+ conv=notrunc bs=1 seek=264 count=2 2> /dev/null
+
+runroot rpm -U --ignorearch --ignoreos --nodeps \
+ /tmp/${pkg}
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: /tmp/hello-2.0-1.x86_64-signed.rpm: Header signature: BAD (package tag 268: invalid OpenPGP signature)
+error: /tmp/hello-2.0-1.x86_64-signed.rpm cannot be installed
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmi.at:129"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_88
+#AT_START_89
+at_fn_group_banner 89 'rpmi.at:148' \
+ "rpm -U <corrupted signed 2>" " " 7
+at_xfail=no
+(
+ $as_echo "89. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmi.at:150:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+pkg=\"hello-2.0-1.x86_64-signed.rpm\"
+cp \"\${RPMTEST}\"/data/RPMS/\${pkg} \"\${RPMTEST}\"/tmp/\${pkg}
+dd if=/dev/zero of=\"\${RPMTEST}\"/tmp/\${pkg} \\
+ conv=notrunc bs=1 seek=5555 count=6 2> /dev/null
+
+runroot rpm -U --ignorearch --ignoreos --nodeps \\
+ /tmp/\${pkg}
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmi.at:150"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+pkg="hello-2.0-1.x86_64-signed.rpm"
+cp "${RPMTEST}"/data/RPMS/${pkg} "${RPMTEST}"/tmp/${pkg}
+dd if=/dev/zero of="${RPMTEST}"/tmp/${pkg} \
+ conv=notrunc bs=1 seek=5555 count=6 2> /dev/null
+
+runroot rpm -U --ignorearch --ignoreos --nodeps \
+ /tmp/${pkg}
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: /tmp/hello-2.0-1.x86_64-signed.rpm: Header V4 RSA/SHA256 Signature, key ID 1964c5fc: BAD
+error: /tmp/hello-2.0-1.x86_64-signed.rpm: Header SHA1 digest: BAD (Expected 5cd9874c510b67b44483f9e382a1649ef7743bac != 4261b2c1eb861a4152c2239bce20bfbcaa8971ba)
+error: /tmp/hello-2.0-1.x86_64-signed.rpm: Header SHA256 digest: BAD (Expected ef920781af3bf072ae9888eec3de1c589143101dff9cc0b561468d395fb766d9 != 29fdfe92782fb0470a9a164a6c94af87d3b138c63b39d4c30e0223ca1202ba82)
+error: /tmp/hello-2.0-1.x86_64-signed.rpm cannot be installed
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmi.at:150"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_89
+#AT_START_90
+at_fn_group_banner 90 'rpmi.at:173' \
+ "rpm -U <corrupted signed 3>" " " 7
+at_xfail=no
+(
+ $as_echo "90. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmi.at:175:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+pkg=\"hello-2.0-1.x86_64-signed.rpm\"
+cp \"\${RPMTEST}\"/data/RPMS/\${pkg} \"\${RPMTEST}\"/tmp/\${pkg}
+dd if=/dev/zero of=\"\${RPMTEST}\"/tmp/\${pkg} \\
+ conv=notrunc bs=1 seek=7788 count=6 2> /dev/null
+
+runroot rpm -U --ignorearch --ignoreos --nodeps \\
+ /tmp/\${pkg}
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmi.at:175"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+pkg="hello-2.0-1.x86_64-signed.rpm"
+cp "${RPMTEST}"/data/RPMS/${pkg} "${RPMTEST}"/tmp/${pkg}
+dd if=/dev/zero of="${RPMTEST}"/tmp/${pkg} \
+ conv=notrunc bs=1 seek=7788 count=6 2> /dev/null
+
+runroot rpm -U --ignorearch --ignoreos --nodeps \
+ /tmp/${pkg}
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "warning: /tmp/hello-2.0-1.x86_64-signed.rpm: Header V4 RSA/SHA256 Signature, key ID 1964c5fc: NOKEY
+error: unpacking of archive failed: cpio: Bad magic
+error: hello-2.0-1.x86_64: install failed
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmi.at:175"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_90
+#AT_START_91
+at_fn_group_banner 91 'rpmi.at:197' \
+ "rpm -U *.src.rpm" " " 7
+at_xfail=no
+(
+ $as_echo "91. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmi.at:199:
+rm -rf \${TOPDIR}
+
+runroot rpm \\
+ -U /data/SRPMS/hello-1.0-1.src.rpm
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmi.at:199"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+
+runroot rpm \
+ -U /data/SRPMS/hello-1.0-1.src.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo stdout:; cat "$at_stdout"
+at_fn_check_status 0 $at_status "$at_srcdir/rpmi.at:199"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_91
+#AT_START_92
+at_fn_group_banner 92 'rpmi.at:212' \
+ "rpm -i *.src.rpm" " " 7
+at_xfail=no
+(
+ $as_echo "92. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmi.at:214:
+rm -rf \${TOPDIR}
+
+runroot rpm \\
+ -i /data/SRPMS/hello-1.0-1.src.rpm
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmi.at:214"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+
+runroot rpm \
+ -i /data/SRPMS/hello-1.0-1.src.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo stdout:; cat "$at_stdout"
+at_fn_check_status 0 $at_status "$at_srcdir/rpmi.at:214"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_92
+#AT_START_93
+at_fn_group_banner 93 'rpmi.at:228' \
+ "rpm -i <nonexistent file>" " " 7
+at_xfail=no
+(
+ $as_echo "93. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmi.at:230:
+runroot rpm \\
+ -i no_such_file
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmi.at:230"
+( $at_check_trace;
+runroot rpm \
+ -i no_such_file
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo stdout:; cat "$at_stdout"
+at_fn_check_status 1 $at_status "$at_srcdir/rpmi.at:230"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_93
+#AT_START_94
+at_fn_group_banner 94 'rpmi.at:240' \
+ "rpm -i --nomanifest <garbage text file>" " " 7
+at_xfail=no
+(
+ $as_echo "94. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmi.at:242:
+junk=\"\${RPMTEST}/textfile\"
+cat << EOF > \"\${junk}\"
+no_such.file
+not_an.rpm
+EOF
+
+runroot rpm \\
+ -Uvv --nomanifest /textfile
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmi.at:242"
+( $at_check_trace;
+junk="${RPMTEST}/textfile"
+cat << EOF > "${junk}"
+no_such.file
+not_an.rpm
+EOF
+
+runroot rpm \
+ -Uvv --nomanifest /textfile
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo stdout:; cat "$at_stdout"
+at_fn_check_status 1 $at_status "$at_srcdir/rpmi.at:242"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_94
+#AT_START_95
+at_fn_group_banner 95 'rpmi.at:257' \
+ "rpm -i <garbage text file" " " 7
+at_xfail=no
+(
+ $as_echo "95. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmi.at:259:
+junk=\"\${RPMTEST}/not_an.rpm\"
+cat << EOF > \"\${junk}\"
+no_such.file
+not_pkg.rpm
+EOF
+
+runroot rpm \\
+ -Uvv /not_an.rpm
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmi.at:259"
+( $at_check_trace;
+junk="${RPMTEST}/not_an.rpm"
+cat << EOF > "${junk}"
+no_such.file
+not_pkg.rpm
+EOF
+
+runroot rpm \
+ -Uvv /not_an.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo stdout:; cat "$at_stdout"
+at_fn_check_status 2 $at_status "$at_srcdir/rpmi.at:259"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_95
+#AT_START_96
+at_fn_group_banner 96 'rpmi.at:276' \
+ "rpm -U upgrade to newer" " " 7
+at_xfail=no
+(
+ $as_echo "96. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+{ set +x
+$as_echo "$at_srcdir/rpmi.at:277:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \$v\" \\
+ /data/SPECS/versiontest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/versiontest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/versiontest-2.0-1.noarch.rpm
+runroot rpm -q versiontest
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmi.at:277"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ /data/SPECS/versiontest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/versiontest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/versiontest-2.0-1.noarch.rpm
+runroot rpm -q versiontest
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "versiontest-2.0-1.noarch
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmi.at:277"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_96
+#AT_START_97
+at_fn_group_banner 97 'rpmi.at:299' \
+ "rpm -U upgrade to older" " " 7
+at_xfail=no
+(
+ $as_echo "97. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+{ set +x
+$as_echo "$at_srcdir/rpmi.at:300:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U /build/RPMS/noarch/versiontest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/versiontest-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmi.at:300"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U /build/RPMS/noarch/versiontest-2.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/versiontest-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo " package versiontest-2.0-1.noarch (which is newer than versiontest-1.0-1.noarch) is already installed
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 2 $at_status "$at_srcdir/rpmi.at:300"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_97
+#AT_START_98
+at_fn_group_banner 98 'rpmi.at:314' \
+ "rpm -U --oldpackage downgrade" " " 7
+at_xfail=no
+(
+ $as_echo "98. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+{ set +x
+$as_echo "$at_srcdir/rpmi.at:315:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U /build/RPMS/noarch/versiontest-2.0-1.noarch.rpm
+runroot rpm -U --oldpackage /build/RPMS/noarch/versiontest-1.0-1.noarch.rpm
+runroot rpm -q versiontest
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmi.at:315"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U /build/RPMS/noarch/versiontest-2.0-1.noarch.rpm
+runroot rpm -U --oldpackage /build/RPMS/noarch/versiontest-1.0-1.noarch.rpm
+runroot rpm -q versiontest
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "versiontest-1.0-1.noarch
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmi.at:315"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_98
+#AT_START_99
+at_fn_group_banner 99 'rpmi.at:330' \
+ "rpm -U two versions of same package 1" " " 7
+at_xfail=no
+(
+ $as_echo "99. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+{ set +x
+$as_echo "$at_srcdir/rpmi.at:331:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -Uv \\
+ /build/RPMS/noarch/versiontest-1.0-1.noarch.rpm \\
+ /build/RPMS/noarch/versiontest-2.0-1.noarch.rpm
+runroot rpm -q versiontest
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmi.at:331"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -Uv \
+ /build/RPMS/noarch/versiontest-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/versiontest-2.0-1.noarch.rpm
+runroot rpm -q versiontest
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "warning: package versiontest-1.0-1.noarch was already added, replacing with versiontest-2.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "Preparing packages...
+versiontest-2.0-1.noarch
+versiontest-2.0-1.noarch
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmi.at:331"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_99
+#AT_START_100
+at_fn_group_banner 100 'rpmi.at:350' \
+ "rpm -U two versions of same package 2" " " 7
+at_xfail=no
+(
+ $as_echo "100. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+{ set +x
+$as_echo "$at_srcdir/rpmi.at:351:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -Uv \\
+ /build/RPMS/noarch/versiontest-2.0-1.noarch.rpm \\
+ /build/RPMS/noarch/versiontest-1.0-1.noarch.rpm
+runroot rpm -q versiontest
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmi.at:351"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -Uv \
+ /build/RPMS/noarch/versiontest-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/versiontest-1.0-1.noarch.rpm
+runroot rpm -q versiontest
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "warning: package versiontest-2.0-1.noarch was already added, skipping versiontest-1.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "Preparing packages...
+versiontest-2.0-1.noarch
+versiontest-2.0-1.noarch
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmi.at:351"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_100
+#AT_START_101
+at_fn_group_banner 101 'rpmi.at:370' \
+ "rpm -U obsoleted package 1" " " 7
+at_xfail=no
+(
+ $as_echo "101. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+{ set +x
+$as_echo "$at_srcdir/rpmi.at:371:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"obs deptest-two\" \\
+ /data/SPECS/deptest.spec
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg two\" \\
+ /data/SPECS/deptest.spec
+
+
+runroot rpm -Uv \\
+ /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm \\
+ /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+runroot rpm -q deptest-one
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmi.at:371"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "obs deptest-two" \
+ /data/SPECS/deptest.spec
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ /data/SPECS/deptest.spec
+
+
+runroot rpm -Uv \
+ /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+runroot rpm -q deptest-one
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "warning: package deptest-two-1.0-1.noarch was already added, replacing with deptest-one-1.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "Preparing packages...
+deptest-one-1.0-1.noarch
+deptest-one-1.0-1.noarch
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmi.at:371"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_101
+#AT_START_102
+at_fn_group_banner 102 'rpmi.at:399' \
+ "rpm -U obsoleted package 2" " " 7
+at_xfail=no
+(
+ $as_echo "102. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+{ set +x
+$as_echo "$at_srcdir/rpmi.at:400:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"obs deptest-two\" \\
+ /data/SPECS/deptest.spec
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg two\" \\
+ /data/SPECS/deptest.spec
+
+
+runroot rpm -Uv \\
+ /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm \\
+ /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+runroot rpm -q deptest-one
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmi.at:400"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "obs deptest-two" \
+ /data/SPECS/deptest.spec
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ /data/SPECS/deptest.spec
+
+
+runroot rpm -Uv \
+ /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+runroot rpm -q deptest-one
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "warning: package deptest-one-1.0-1.noarch was already added, skipping deptest-two-1.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "Preparing packages...
+deptest-one-1.0-1.noarch
+deptest-one-1.0-1.noarch
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmi.at:400"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_102
+#AT_START_103
+at_fn_group_banner 103 'rpmi.at:428' \
+ "rpm -i two versions of same package" " " 7
+at_xfail=no
+(
+ $as_echo "103. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+{ set +x
+$as_echo "$at_srcdir/rpmi.at:429:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -i \\
+ /build/RPMS/noarch/versiontest-1.0-1.noarch.rpm \\
+ /build/RPMS/noarch/versiontest-2.0-1.noarch.rpm
+runroot rpm -q versiontest
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmi.at:429"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -i \
+ /build/RPMS/noarch/versiontest-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/versiontest-2.0-1.noarch.rpm
+runroot rpm -q versiontest
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "versiontest-2.0-1.noarch
+versiontest-1.0-1.noarch
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmi.at:429"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_103
+#AT_START_104
+at_fn_group_banner 104 'rpmi.at:447' \
+ "rpm -i identical versions of same package" " " 7
+at_xfail=no
+(
+ $as_echo "104. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+{ set +x
+$as_echo "$at_srcdir/rpmi.at:448:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -i \\
+ /build/RPMS/noarch/versiontest-1.0-1.noarch.rpm \\
+ /build/RPMS/noarch/versiontest-1.0-1.noarch.rpm
+runroot rpm -q versiontest
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmi.at:448"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -i \
+ /build/RPMS/noarch/versiontest-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/versiontest-1.0-1.noarch.rpm
+runroot rpm -q versiontest
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "versiontest-1.0-1.noarch
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmi.at:448"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_104
+#AT_START_105
+at_fn_group_banner 105 'rpmi.at:465' \
+ "rpm -U with invalid --relocate" " " 7
+at_xfail=no
+(
+ $as_echo "105. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmi.at:467:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpmbuild --quiet -bb /data/SPECS/hello-script.spec
+
+runroot rpm -U --test --ignoreos --relocate /usr=/opt \\
+ /build/RPMS/noarch/hello-script-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmi.at:467"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpmbuild --quiet -bb /data/SPECS/hello-script.spec
+
+runroot rpm -U --test --ignoreos --relocate /usr=/opt \
+ /build/RPMS/noarch/hello-script-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo " path /usr in package hello-script-1.0-1.noarch is not relocatable
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmi.at:467"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_105
+#AT_START_106
+at_fn_group_banner 106 'rpmi.at:482' \
+ "rpm -U --badreloc with invalid --relocate" " " 7
+at_xfail=no
+(
+ $as_echo "106. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmi.at:484:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpmbuild --quiet -bb /data/SPECS/hello-script.spec
+
+runroot rpm -U --test --ignoreos --badreloc --relocate /usr=/opt \\
+ /build/RPMS/noarch/hello-script-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmi.at:484"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpmbuild --quiet -bb /data/SPECS/hello-script.spec
+
+runroot rpm -U --test --ignoreos --badreloc --relocate /usr=/opt \
+ /build/RPMS/noarch/hello-script-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmi.at:484"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_106
+#AT_START_107
+at_fn_group_banner 107 'rpmi.at:498' \
+ "rpm -i with/without --excludedocs" " " 7
+at_xfail=no
+(
+ $as_echo "107. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmi.at:500:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpmbuild --quiet -bb /data/SPECS/testdoc.spec
+
+runroot rpm -i --excludedocs \\
+ /build/RPMS/noarch/testdoc-1.0-1.noarch.rpm
+
+RPM_DOCDIR=\$(runroot rpm --eval '%_defaultdocdir')
+RPM_DATADIR=\$(runroot rpm --eval '%_datadir')
+
+test ! -e \${RPMTEST}\${RPM_DOCDIR}/testdoc || exit 1
+test -e \${RPMTEST}\${RPM_DATADIR}/testdoc/nodoc || exit 1
+
+runroot rpm -e testdoc
+
+runroot rpm -i \\
+ /build/RPMS/noarch/testdoc-1.0-1.noarch.rpm
+test -e \${RPMTEST}\${RPM_DOCDIR}/testdoc/documentation1 || exit 1
+test -e \${RPMTEST}\${RPM_DOCDIR}/testdoc/documentation2 || exit 1
+test -e \${RPMTEST}\${RPM_DOCDIR}/testdoc/examples/example1 || exit 1
+test -e \${RPMTEST}\${RPM_DOCDIR}/testdoc/examples/example2 || exit 1
+test -e \${RPMTEST}\${RPM_DATADIR}/testdoc/nodoc || exit 1
+
+runroot rpm -e testdoc
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmi.at:500"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpmbuild --quiet -bb /data/SPECS/testdoc.spec
+
+runroot rpm -i --excludedocs \
+ /build/RPMS/noarch/testdoc-1.0-1.noarch.rpm
+
+RPM_DOCDIR=$(runroot rpm --eval '%_defaultdocdir')
+RPM_DATADIR=$(runroot rpm --eval '%_datadir')
+
+test ! -e ${RPMTEST}${RPM_DOCDIR}/testdoc || exit 1
+test -e ${RPMTEST}${RPM_DATADIR}/testdoc/nodoc || exit 1
+
+runroot rpm -e testdoc
+
+runroot rpm -i \
+ /build/RPMS/noarch/testdoc-1.0-1.noarch.rpm
+test -e ${RPMTEST}${RPM_DOCDIR}/testdoc/documentation1 || exit 1
+test -e ${RPMTEST}${RPM_DOCDIR}/testdoc/documentation2 || exit 1
+test -e ${RPMTEST}${RPM_DOCDIR}/testdoc/examples/example1 || exit 1
+test -e ${RPMTEST}${RPM_DOCDIR}/testdoc/examples/example2 || exit 1
+test -e ${RPMTEST}${RPM_DATADIR}/testdoc/nodoc || exit 1
+
+runroot rpm -e testdoc
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmi.at:500"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_107
+#AT_START_108
+at_fn_group_banner 108 'rpmorder.at:3' \
+ "basic install/erase order 1" " " 8
+at_xfail=no
+(
+ $as_echo "108. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmorder.at:5:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs deptest-two\" \\
+ /data/SPECS/deptest.spec
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg two\" \\
+ --define \"reqs deptest-three\" \\
+ /data/SPECS/deptest.spec
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg three\" \\
+ /data/SPECS/deptest.spec
+
+echo INSTALL:
+runroot rpm -Uv --justdb \\
+ /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm \\
+ /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm \\
+ /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+echo ERASE:
+runroot rpm -ev --justdb \\
+ deptest-three \\
+ deptest-one \\
+ deptest-two
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmorder.at:5"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs deptest-two" \
+ /data/SPECS/deptest.spec
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ --define "reqs deptest-three" \
+ /data/SPECS/deptest.spec
+runroot rpmbuild --quiet -bb \
+ --define "pkg three" \
+ /data/SPECS/deptest.spec
+
+echo INSTALL:
+runroot rpm -Uv --justdb \
+ /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+echo ERASE:
+runroot rpm -ev --justdb \
+ deptest-three \
+ deptest-one \
+ deptest-two
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "INSTALL:
+Preparing packages...
+deptest-three-1.0-1.noarch
+deptest-two-1.0-1.noarch
+deptest-one-1.0-1.noarch
+ERASE:
+Preparing packages...
+deptest-one-1.0-1.noarch
+deptest-two-1.0-1.noarch
+deptest-three-1.0-1.noarch
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmorder.at:5"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_108
+#AT_START_109
+at_fn_group_banner 109 'rpmbuild.at:23' \
+ "rpmbuild -ba *.spec" " " 9
+at_xfail=no
+(
+ $as_echo "109. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:25:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+cp \"\${abs_srcdir}\"/data/SOURCES/hello-1.0.tar.gz \"\${abs_srcdir}\"/data/SOURCES/hello-1.0-modernize.patch \${TOPDIR}/SOURCES
+
+run rpmbuild \\
+ -ba \"\${abs_srcdir}\"/data/SPECS/hello.spec
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmbuild.at:25"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+run rpmbuild \
+ -ba "${abs_srcdir}"/data/SPECS/hello.spec
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo stdout:; cat "$at_stdout"
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuild.at:25"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_109
+#AT_START_110
+at_fn_group_banner 110 'rpmbuild.at:41' \
+ "rpmbuild --rebuild" " " 9
+at_xfail=no
+(
+ $as_echo "110. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:43:
+rm -rf \${TOPDIR}
+
+run rpmbuild \\
+ --rebuild \"\${abs_srcdir}\"/data/SRPMS/hello-1.0-1.src.rpm
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmbuild.at:43"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+
+run rpmbuild \
+ --rebuild "${abs_srcdir}"/data/SRPMS/hello-1.0-1.src.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo stdout:; cat "$at_stdout"
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuild.at:43"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_110
+#AT_START_111
+at_fn_group_banner 111 'rpmbuild.at:54' \
+ "rpmbuild --short-circuit -bl" " " 9
+at_xfail=no
+(
+ $as_echo "111. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:56:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+cp \"\${abs_srcdir}\"/data/SOURCES/hello-1.0.tar.gz \"\${abs_srcdir}\"/data/SOURCES/hello-1.0-modernize.patch \${TOPDIR}/SOURCES
+
+run rpmbuild -bi \"\${abs_srcdir}\"/data/SPECS/hello.spec &> /dev/null
+run rpmbuild --quiet -bl --short-circuit \"\${abs_srcdir}\"/data/SPECS/hello.spec
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmbuild.at:56"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+run rpmbuild -bi "${abs_srcdir}"/data/SPECS/hello.spec &> /dev/null
+run rpmbuild --quiet -bl --short-circuit "${abs_srcdir}"/data/SPECS/hello.spec
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuild.at:56"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_111
+#AT_START_112
+at_fn_group_banner 112 'rpmbuild.at:72' \
+ "rpmbuild -tb <tar with bad spec>" " " 9
+at_xfail=no
+(
+ $as_echo "112. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:74:
+rm -rf \${TOPDIR}
+
+run rpmbuild \\
+ -tb \"\${RPMDATA}/SOURCES/hello-1.0.tar.gz\"
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmbuild.at:74"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+
+run rpmbuild \
+ -tb "${RPMDATA}/SOURCES/hello-1.0.tar.gz"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: line 5: Unknown tag: Serial: 1
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo stdout:; cat "$at_stdout"
+at_fn_check_status 1 $at_status "$at_srcdir/rpmbuild.at:74"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_112
+#AT_START_113
+at_fn_group_banner 113 'rpmbuild.at:89' \
+ "rpmbuild -tb" " " 9
+at_xfail=no
+(
+ $as_echo "113. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:91:
+rm -rf \${TOPDIR}
+
+run rpmbuild \\
+ -ta \"\${RPMDATA}/SOURCES/hello-2.0.tar.gz\"
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmbuild.at:91"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+
+run rpmbuild \
+ -ta "${RPMDATA}/SOURCES/hello-2.0.tar.gz"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo stdout:; cat "$at_stdout"
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuild.at:91"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_113
+#AT_START_114
+at_fn_group_banner 114 'rpmbuild.at:104' \
+ "rpmbuild %attr and %defattr" " " 9
+at_xfail=no
+(
+ $as_echo "114. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:106:
+rm -rf \${TOPDIR}
+
+runroot rpmbuild \\
+ -bb --quiet /data/SPECS/attrtest.spec
+
+runroot rpm -qp --qf \\
+ \"\\n[%{filemodes:perms} %-8{fileusername} %-8{filegroupname} %{filenames}\\n]\"\\
+ /build/RPMS/noarch/attrtest-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmbuild.at:106"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+
+runroot rpmbuild \
+ -bb --quiet /data/SPECS/attrtest.spec
+
+runroot rpm -qp --qf \
+ "\n[%{filemodes:perms} %-8{fileusername} %-8{filegroupname} %{filenames}\n]"\
+ /build/RPMS/noarch/attrtest-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "
+drwx------ root root /a/dir
+-r-------- root root /a/file
+drwx------ daemon adm /b/dir
+-r-------- daemon adm /b/file
+drwxr-x--- root adm /c/dir
+-rw-r----- daemon root /c/file
+drwxr-x--x daemon bin /d/dir
+-rw-r--r-- bin daemon /d/file
+drwx------ foo bar /e/dir
+-r-------- foo bar /e/file
+drwxrwx--- bar foo /f/dir
+-rw-rw---- bar foo /f/file
+drwx------ adm foo /g/dir
+-r-------- bar adm /g/file
+drwxr-xr-x foo bar /h/dir
+-rw-r--r-- foo bar /h/file
+drwxr-x--- adm root /i/dir
+-rwsr-xr-x root adm /i/file
+drwxrwxrwx zoot zoot /j/dir
+--w--w--w- zoot zoot /j/file
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuild.at:106"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_114
+#AT_START_115
+at_fn_group_banner 115 'rpmbuild.at:144' \
+ "rpmbuild hardlink" " " 9
+at_xfail=no
+(
+ $as_echo "115. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:146:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \${TOPDIR}
+
+runroot rpmbuild \\
+ -bb --quiet /data/SPECS/hlinktest.spec
+
+runroot rpm -i /build/RPMS/noarch/hlinktest-1.0-1.noarch.rpm
+
+runroot rpm -q --qf \"[%{filenlinks} %{filenames}\\n]%{longsize}\\n\" hlinktest
+runroot rpm -V --nouser --nogroup hlinktest
+ls -i \"\${RPMTEST}\"/foo/hello* | awk {'print \$1'} | sort -u | wc -l
+
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmbuild.at:146"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf ${TOPDIR}
+
+runroot rpmbuild \
+ -bb --quiet /data/SPECS/hlinktest.spec
+
+runroot rpm -i /build/RPMS/noarch/hlinktest-1.0-1.noarch.rpm
+
+runroot rpm -q --qf "[%{filenlinks} %{filenames}\n]%{longsize}\n" hlinktest
+runroot rpm -V --nouser --nogroup hlinktest
+ls -i "${RPMTEST}"/foo/hello* | awk {'print $1'} | sort -u | wc -l
+
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "2 /foo/aaaa
+1 /foo/copyllo
+4 /foo/hello
+4 /foo/hello-bar
+4 /foo/hello-foo
+4 /foo/hello-world
+2 /foo/zzzz
+87
+1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuild.at:146"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_115
+#AT_START_116
+at_fn_group_banner 116 'rpmbuild.at:175' \
+ "rpmbuild unpackaged files" " " 9
+at_xfail=no
+(
+ $as_echo "116. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:177:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \${TOPDIR}
+
+runroot rpmbuild \\
+ -bb --quiet --with unpackaged_files /data/SPECS/hlinktest.spec
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmbuild.at:177"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf ${TOPDIR}
+
+runroot rpmbuild \
+ -bb --quiet --with unpackaged_files /data/SPECS/hlinktest.spec
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: Installed (but unpackaged) file(s) found:
+ /toot
+ Installed (but unpackaged) file(s) found:
+ /toot
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmbuild.at:177"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_116
+#AT_START_117
+at_fn_group_banner 117 'rpmbuild.at:195' \
+ "rpmbuild unpackaged directories" " " 9
+at_xfail=no
+ test $RPM_XFAIL -ne 0 && at_xfail=yes
+(
+ $as_echo "117. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:198:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \${TOPDIR}
+
+runroot rpmbuild \\
+ -bb --quiet --with unpackaged_dirs /data/SPECS/hlinktest.spec
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmbuild.at:198"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf ${TOPDIR}
+
+runroot rpmbuild \
+ -bb --quiet --with unpackaged_dirs /data/SPECS/hlinktest.spec
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: Installed (but unpackaged) file(s) found:
+ /zoo
+ Installed (but unpackaged) file(s) found:
+ /zoo
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmbuild.at:198"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_117
+#AT_START_118
+at_fn_group_banner 118 'rpmbuild.at:215' \
+ "rpmbuild glob" " " 9
+at_xfail=no
+(
+ $as_echo "118. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:217:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \${TOPDIR}
+
+runroot rpmbuild -bb --quiet /data/SPECS/globtest.spec
+runroot rpm -qp \\
+ --qf \"[%{filemodes:perms} %{filenames}\\n]\" \\
+ /build/RPMS/noarch/globtest-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmbuild.at:217"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf ${TOPDIR}
+
+runroot rpmbuild -bb --quiet /data/SPECS/globtest.spec
+runroot rpm -qp \
+ --qf "[%{filemodes:perms} %{filenames}\n]" \
+ /build/RPMS/noarch/globtest-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "-rw-r--r-- /opt/globtest/baf
+drwxr-xr-x /opt/globtest/bang
+-rw-r--r-- /opt/globtest/bif
+drwxr-xr-x /opt/globtest/bing
+drwxr-xr-x /opt/globtest/bong
+drwxr-xr-x /opt/globtest/foo
+-rw-r--r-- /opt/globtest/foo/one
+-rw-r--r-- /opt/globtest/foo/three
+-rw-r--r-- /opt/globtest/foo/two
+lrwxrwxrwx /opt/globtest/linkbad
+lrwxrwxrwx /opt/globtest/linkgood
+-rw-r--r-- /opt/globtest/weird%name
+-rw-r--r-- /opt/globtest/zab
+-rw-r--r-- /opt/globtest/zeb
+-rw-r--r-- /opt/globtest/zib
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuild.at:217"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_118
+#AT_START_119
+at_fn_group_banner 119 'rpmbuild.at:247' \
+ "rpmbuild prefixpostfix" " " 9
+at_xfail=no
+(
+ $as_echo "119. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:249:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \${TOPDIR}
+
+runroot rpmbuild -bb --quiet \\
+ /data/SPECS/prefixtest.spec
+runroot rpm -qp \\
+ --qf \"[%{filemodes:perms} %{filenames}\\n]\" \\
+ /build/RPMS/noarch/prefixtest-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmbuild.at:249"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf ${TOPDIR}
+
+runroot rpmbuild -bb --quiet \
+ /data/SPECS/prefixtest.spec
+runroot rpm -qp \
+ --qf "[%{filemodes:perms} %{filenames}\n]" \
+ /build/RPMS/noarch/prefixtest-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "-rw-r--r-- /opt/prefixtest/ba
+drwxr-xr-x /opt/prefixtest/ban
+-rw-r--r-- /opt/prefixtest/bi
+drwxr-xr-x /opt/prefixtest/bin
+drwxr-xr-x /opt/prefixtest/bon
+drwxr-xr-x /opt/prefixtest/foo
+-rw-r--r-- /opt/prefixtest/foo/one
+-rw-r--r-- /opt/prefixtest/foo/three
+-rw-r--r-- /opt/prefixtest/foo/two
+lrwxrwxrwx /opt/prefixtest/linkbad
+lrwxrwxrwx /opt/prefixtest/linkgood
+-rw-r--r-- /opt/prefixtest/weird%name
+-rw-r--r-- /opt/prefixtest/zab
+-rw-r--r-- /opt/prefixtest/zeb
+-rw-r--r-- /opt/prefixtest/zib
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuild.at:249"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_119
+#AT_START_120
+at_fn_group_banner 120 'rpmbuild.at:282' \
+ "Weak and reverse requires" " " 9
+at_xfail=no
+(
+ $as_echo "120. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:284:
+
+runroot rpmbuild -bb --quiet \\
+ --define \"pkg weakdeps\" \\
+ --define \"recs foo > 1.2.3\" \\
+ --define \"sugs bar >= 0.1.2\" \\
+ --define \"sups baz\" \\
+ --define \"ens zap = 3\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -qp --recommends /build/RPMS/noarch/deptest-weakdeps-1.0-1.noarch.rpm
+runroot rpm -qp --suggests /build/RPMS/noarch/deptest-weakdeps-1.0-1.noarch.rpm
+runroot rpm -qp --supplements /build/RPMS/noarch/deptest-weakdeps-1.0-1.noarch.rpm
+runroot rpm -qp --enhances /build/RPMS/noarch/deptest-weakdeps-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmbuild.at:284"
+( $at_check_trace;
+
+runroot rpmbuild -bb --quiet \
+ --define "pkg weakdeps" \
+ --define "recs foo > 1.2.3" \
+ --define "sugs bar >= 0.1.2" \
+ --define "sups baz" \
+ --define "ens zap = 3" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -qp --recommends /build/RPMS/noarch/deptest-weakdeps-1.0-1.noarch.rpm
+runroot rpm -qp --suggests /build/RPMS/noarch/deptest-weakdeps-1.0-1.noarch.rpm
+runroot rpm -qp --supplements /build/RPMS/noarch/deptest-weakdeps-1.0-1.noarch.rpm
+runroot rpm -qp --enhances /build/RPMS/noarch/deptest-weakdeps-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "foo > 1.2.3
+bar >= 0.1.2
+baz
+zap = 3
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuild.at:284"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_120
+#AT_START_121
+at_fn_group_banner 121 'rpmbuild.at:310' \
+ "Build requires" " " 9
+at_xfail=no
+(
+ $as_echo "121. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:312:
+
+runroot rpmbuild -bb --quiet \\
+ --define \"pkg buildreq\" \\
+ --define \"buildreqs foo > 1.2.3\" \\
+ /data/SPECS/deptest.spec
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmbuild.at:312"
+( $at_check_trace;
+
+runroot rpmbuild -bb --quiet \
+ --define "pkg buildreq" \
+ --define "buildreqs foo > 1.2.3" \
+ /data/SPECS/deptest.spec
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: Failed build dependencies:
+ foo > 1.2.3 is needed by deptest-buildreq-1.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmbuild.at:312"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_121
+#AT_START_122
+at_fn_group_banner 122 'rpmbuild.at:326' \
+ "Dependency generation" " " 9
+at_xfail=no
+(
+ $as_echo "122. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:328:
+
+runroot rpmbuild -bb --quiet \\
+ /data/SPECS/filedep.spec
+echo Requires:
+runroot rpm -qp --requires /build/RPMS/noarch/filedep-1.0-1.noarch.rpm
+echo Provides:
+runroot rpm -qp --provides /build/RPMS/noarch/filedep-1.0-1.noarch.rpm
+echo Filerequires:
+runroot rpm -qp --qf '[\"%{FILENAMES}\\t%{FILEREQUIRE}\"\\n]' /build/RPMS/noarch/filedep-1.0-1.noarch.rpm
+echo Fileprovides:
+runroot rpm -qp --qf '[\"%{FILENAMES}\\t%{FILEPROVIDE}\"\\n]' /build/RPMS/noarch/filedep-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmbuild.at:328"
+( $at_check_trace;
+
+runroot rpmbuild -bb --quiet \
+ /data/SPECS/filedep.spec
+echo Requires:
+runroot rpm -qp --requires /build/RPMS/noarch/filedep-1.0-1.noarch.rpm
+echo Provides:
+runroot rpm -qp --provides /build/RPMS/noarch/filedep-1.0-1.noarch.rpm
+echo Filerequires:
+runroot rpm -qp --qf '["%{FILENAMES}\t%{FILEREQUIRE}"\n]' /build/RPMS/noarch/filedep-1.0-1.noarch.rpm
+echo Fileprovides:
+runroot rpm -qp --qf '["%{FILENAMES}\t%{FILEPROVIDE}"\n]' /build/RPMS/noarch/filedep-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "Requires:
+/bin/f00f
+/bin/sh
+rpmlib(CompressedFileNames) <= 3.0.4-1
+rpmlib(FileDigests) <= 4.6.0-1
+rpmlib(PayloadFilesHavePrefix) <= 4.0-1
+Provides:
+filedep = 1.0-1
+Filerequires:
+\"/etc/foo.conf \"
+\"/usr/bin/bar /bin/f00f\"
+\"/usr/bin/foo /bin/sh\"
+\"/usr/share/doc/filedep \"
+\"/usr/share/doc/filedep/README \"
+Fileprovides:
+\"/etc/foo.conf \"
+\"/usr/bin/bar \"
+\"/usr/bin/foo \"
+\"/usr/share/doc/filedep \"
+\"/usr/share/doc/filedep/README \"
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuild.at:328"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_122
+#AT_START_123
+at_fn_group_banner 123 'rpmbuild.at:369' \
+ "rpmspec query 1" " " 9
+at_xfail=no
+(
+ $as_echo "123. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:371:
+
+runroot rpmspec -q \\
+ --define \"pkg dep\" \\
+ --define \"reqs foo > 1.2.3 bar <= 2.3\" \\
+ --requires \\
+ /data/SPECS/deptest.spec
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmbuild.at:371"
+( $at_check_trace;
+
+runroot rpmspec -q \
+ --define "pkg dep" \
+ --define "reqs foo > 1.2.3 bar <= 2.3" \
+ --requires \
+ /data/SPECS/deptest.spec
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "bar <= 2.3
+foo > 1.2.3
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuild.at:371"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_123
+#AT_START_124
+at_fn_group_banner 124 'rpmbuild.at:389' \
+ "rpmbuild archive sanity" " " 9
+at_xfail=no
+(
+ $as_echo "124. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:391:
+rm -rf \${TOPDIR}
+
+runroot rpmbuild \\
+ -bb --quiet /data/SPECS/attrtest.spec
+
+runroot rpm2cpio \\
+ /build/RPMS/noarch/attrtest-1.0-1.noarch.rpm > /tmp/attrtest.cpio
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmbuild.at:391"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+
+runroot rpmbuild \
+ -bb --quiet /data/SPECS/attrtest.spec
+
+runroot rpm2cpio \
+ /build/RPMS/noarch/attrtest-1.0-1.noarch.rpm > /tmp/attrtest.cpio
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuild.at:391"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_124
+#AT_START_125
+at_fn_group_banner 125 'rpmbuild.at:407' \
+ "rpmbuild debuginfo minisymtab" " " 9
+at_xfail=no
+(
+ $as_echo "125. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:409:
+rm -rf \${TOPDIR}
+
+# Use macros.debug to generate a debuginfo package.
+export CFLAGS=\"-g\"
+rundebug rpmbuild --quiet \\
+ --rebuild \"\${abs_srcdir}\"/data/SRPMS/hello-1.0-1.src.rpm
+
+# Extract the main package and inspect the hello binary
+# It should contain .gnu_debugdata, but not the full .symtab
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm | cpio -diu
+test -f ./usr/local/bin/hello || exit 1
+readelf -S ./usr/local/bin/hello |\\
+ grep -q .gnu_debugdata; test \$? == 0 || exit 1
+readelf -S ./usr/local/bin/hello \\
+ | grep -q .symtab; test \$? == 1 || exit 1
+
+# And the opposite for the debuginfo package
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu
+test -f ./usr/lib/debug/usr/local/bin/hello*.debug || exit 1
+readelf -S ./usr/lib/debug/usr/local/bin/hello*.debug \\
+ | grep -q .gnu_debugdata; test \$? == 1 || exit 1
+readelf -S ./usr/lib/debug/usr/local/bin/hello*.debug \\
+ | grep -q .symtab; test \$? == 0 || exit 1
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmbuild.at:409"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+
+# Use macros.debug to generate a debuginfo package.
+export CFLAGS="-g"
+rundebug rpmbuild --quiet \
+ --rebuild "${abs_srcdir}"/data/SRPMS/hello-1.0-1.src.rpm
+
+# Extract the main package and inspect the hello binary
+# It should contain .gnu_debugdata, but not the full .symtab
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm | cpio -diu
+test -f ./usr/local/bin/hello || exit 1
+readelf -S ./usr/local/bin/hello |\
+ grep -q .gnu_debugdata; test $? == 0 || exit 1
+readelf -S ./usr/local/bin/hello \
+ | grep -q .symtab; test $? == 1 || exit 1
+
+# And the opposite for the debuginfo package
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-debuginfo-1.0-1.*.rpm \
+ | cpio -diu
+test -f ./usr/lib/debug/usr/local/bin/hello*.debug || exit 1
+readelf -S ./usr/lib/debug/usr/local/bin/hello*.debug \
+ | grep -q .gnu_debugdata; test $? == 1 || exit 1
+readelf -S ./usr/lib/debug/usr/local/bin/hello*.debug \
+ | grep -q .symtab; test $? == 0 || exit 1
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuild.at:409"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_125
+#AT_START_126
+at_fn_group_banner 126 'rpmbuild.at:444' \
+ "rpmbuild debuginfo minisymtab strip -g" " " 9
+at_xfail=no
+(
+ $as_echo "126. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:446:
+rm -rf \${TOPDIR}
+
+# Use macros.debug to generate a debuginfo package.
+export CFLAGS=\"-g\"
+rundebug rpmbuild --quiet \\
+ --define=\"_find_debuginfo_opts -g\" \\
+ --rebuild \"\${abs_srcdir}\"/data/SRPMS/hello-1.0-1.src.rpm
+
+# Extract the main package and inspect the hello binary
+# It should contain .symtab (because of strip -g), so doesn't .gnu_debugdata.
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm | cpio -diu
+test -f ./usr/local/bin/hello || exit 1
+readelf -S ./usr/local/bin/hello \\
+ | grep -q .gnu_debugdata; test \$? == 1 || exit 1
+readelf -S ./usr/local/bin/hello \\
+ | grep -q .symtab; test \$? == 0 || exit 1
+
+# The debuginfo package should contain neither. The .symtab is NOBITS.
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu
+test -f ./usr/lib/debug/usr/local/bin/hello*.debug || exit 1
+readelf -S ./usr/lib/debug/usr/local/bin/hello*.debug \\
+ | grep -q .gnu_debugdata; test \$? == 1 || exit 1
+readelf -S ./usr/lib/debug/usr/local/bin/hello*.debug \\
+ | grep .symtab | grep -q NOBITS; test \$? == 0 || exit 1
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmbuild.at:446"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+
+# Use macros.debug to generate a debuginfo package.
+export CFLAGS="-g"
+rundebug rpmbuild --quiet \
+ --define="_find_debuginfo_opts -g" \
+ --rebuild "${abs_srcdir}"/data/SRPMS/hello-1.0-1.src.rpm
+
+# Extract the main package and inspect the hello binary
+# It should contain .symtab (because of strip -g), so doesn't .gnu_debugdata.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm | cpio -diu
+test -f ./usr/local/bin/hello || exit 1
+readelf -S ./usr/local/bin/hello \
+ | grep -q .gnu_debugdata; test $? == 1 || exit 1
+readelf -S ./usr/local/bin/hello \
+ | grep -q .symtab; test $? == 0 || exit 1
+
+# The debuginfo package should contain neither. The .symtab is NOBITS.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-debuginfo-1.0-1.*.rpm \
+ | cpio -diu
+test -f ./usr/lib/debug/usr/local/bin/hello*.debug || exit 1
+readelf -S ./usr/lib/debug/usr/local/bin/hello*.debug \
+ | grep -q .gnu_debugdata; test $? == 1 || exit 1
+readelf -S ./usr/lib/debug/usr/local/bin/hello*.debug \
+ | grep .symtab | grep -q NOBITS; test $? == 0 || exit 1
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuild.at:446"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_126
+#AT_START_127
+at_fn_group_banner 127 'rpmbuild.at:483' \
+ "rpmbuild debuginfo dwz" " " 9
+at_xfail=no
+(
+ $as_echo "127. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:485:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+cp \"\${abs_srcdir}\"/data/SOURCES/hello-1.0.tar.gz \"\${abs_srcdir}\"/data/SOURCES/hello-1.0-modernize.patch \${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \\
+ --undefine \"_unique_debug_names\" \\
+ --undefine \"_unique_debug_srcs\" \\
+ -ba \"\${abs_srcdir}\"/data/SPECS/hello2.spec
+
+# The debuginfo package should contain a .debug file for each binary
+# and a dwz multi file that contains the shared debuginfo between them.
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu
+
+hello_file_debug=./usr/lib/debug/usr/local/bin/hello.debug
+hello2_file_debug=./usr/lib/debug/usr/local/bin/hello2.debug
+hello_multi_file=./usr/lib/debug/.dwz/hello2-1.0-1.*
+test -f \$hello_file_debug || echo \"no hello debug file: \$hello_file_debug\"
+test -f \$hello2_file_debug || echo \"no hello2 debug file: \$hello2_file_debug\"
+test -f \$hello_multi_file || echo \"no dwz multi file: \$hello_multi_file\"
+
+# Make sure the main package binaries contain the correct build-ids
+# linking them to the debug packages.
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \\
+ | cpio -diu
+hello_file=./usr/local/bin/hello
+hello2_file=./usr/local/bin/hello2
+test -f \$hello_file || echo \"no hello file: \$hello_file\"
+test -f \$hello2_file || echo \"no hello2 file: \$hello2_file\"
+
+id1=\$(file \$hello_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+id2=\$(file \$hello2_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+id1debug=\$(file \$hello_file_debug | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+id2debug=\$(file \$hello2_file_debug | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+idmulti=\$(file \$hello_multi_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+
+test \"\$id1\" = \"\$id1debug\" || echo \"id1: \$id1 != id1debug: \$id1debug\"
+test \"\$id2\" = \"\$id2debug\" || echo \"id2: \$id2 != id2debug: \$id2debug\"
+
+# The build-id files should link to the .debug files.
+id1file=\"./usr/lib/debug/.build-id/\${id1:0:2}/\${id1:2}\"
+canonid1file=\$(readlink -f \${id1file})
+canonfile1=\$(readlink -f \$hello_file)
+canonid1debug=\$(readlink -f \${id1file}.debug)
+canondebug1=\$(readlink -f \$hello_file_debug)
+
+test \"\$canonid1file\" = \"\$canonfile1\" \\
+ || echo \"canonid1file: \$canonid1file != \$canonfile1\"
+test \"\$canonid1debug\" = \"\$canondebug1\" \\
+ || echo \"canonid1debug: \$canonid1debug != \$canondebug1\"
+
+id2file=\"./usr/lib/debug/.build-id/\${id2:0:2}/\${id2:2}\"
+canonid2file=\$(readlink -f \${id2file})
+canonfile2=\$(readlink -f \$hello2_file)
+canonid2debug=\$(readlink -f \${id2file}.debug)
+canondebug2=\$(readlink -f \$hello2_file_debug)
+
+test \"\$canonid2file\" = \"\$canonfile2\" \\
+ || echo \"canonid2: \$canonid2file != \$canonfile2\"
+test \"\$canonid2debug\" = \"\$canondebug2\" \\
+ || echo \"canonid2debug: \$canonid2debug\" != \"\$canondebug2\"
+
+# Both .debug files should point to the dwz multi file.
+# It would be nice to also test that they contain the correct dwz build-id
+# but that is a bit hard to grep out of the section data.
+multiref1=\$(readelf --string-dump=.gnu_debugaltlink \$hello_file_debug \\
+ | grep ' 0' | cut -c13-)
+multiref2=\$(readelf --string-dump=.gnu_debugaltlink \$hello2_file_debug \\
+ | grep ' 0' | cut -c13-)
+
+test \"\$multiref1\" = \"\$multiref2\" || echo \"multiref: \$multiref1 != \$multiref2\"
+
+canonmultiref=\$(readlink -f \$(dirname \$canondebug1)/\$multiref1)
+canonmultifile=\$(readlink -f \$hello_multi_file)
+
+test \"\$canonmultiref\" = \"\$canonmultifile\" \\
+ || echo \"canonmultiref: \$canonmultiref\" != \"\$canonmultifile\"
+"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "rpmbuild.at:485"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \
+ --undefine "_unique_debug_names" \
+ --undefine "_unique_debug_srcs" \
+ -ba "${abs_srcdir}"/data/SPECS/hello2.spec
+
+# The debuginfo package should contain a .debug file for each binary
+# and a dwz multi file that contains the shared debuginfo between them.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu
+
+hello_file_debug=./usr/lib/debug/usr/local/bin/hello.debug
+hello2_file_debug=./usr/lib/debug/usr/local/bin/hello2.debug
+hello_multi_file=./usr/lib/debug/.dwz/hello2-1.0-1.*
+test -f $hello_file_debug || echo "no hello debug file: $hello_file_debug"
+test -f $hello2_file_debug || echo "no hello2 debug file: $hello2_file_debug"
+test -f $hello_multi_file || echo "no dwz multi file: $hello_multi_file"
+
+# Make sure the main package binaries contain the correct build-ids
+# linking them to the debug packages.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \
+ | cpio -diu
+hello_file=./usr/local/bin/hello
+hello2_file=./usr/local/bin/hello2
+test -f $hello_file || echo "no hello file: $hello_file"
+test -f $hello2_file || echo "no hello2 file: $hello2_file"
+
+id1=$(file $hello_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+id2=$(file $hello2_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+id1debug=$(file $hello_file_debug | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+id2debug=$(file $hello2_file_debug | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+idmulti=$(file $hello_multi_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+
+test "$id1" = "$id1debug" || echo "id1: $id1 != id1debug: $id1debug"
+test "$id2" = "$id2debug" || echo "id2: $id2 != id2debug: $id2debug"
+
+# The build-id files should link to the .debug files.
+id1file="./usr/lib/debug/.build-id/${id1:0:2}/${id1:2}"
+canonid1file=$(readlink -f ${id1file})
+canonfile1=$(readlink -f $hello_file)
+canonid1debug=$(readlink -f ${id1file}.debug)
+canondebug1=$(readlink -f $hello_file_debug)
+
+test "$canonid1file" = "$canonfile1" \
+ || echo "canonid1file: $canonid1file != $canonfile1"
+test "$canonid1debug" = "$canondebug1" \
+ || echo "canonid1debug: $canonid1debug != $canondebug1"
+
+id2file="./usr/lib/debug/.build-id/${id2:0:2}/${id2:2}"
+canonid2file=$(readlink -f ${id2file})
+canonfile2=$(readlink -f $hello2_file)
+canonid2debug=$(readlink -f ${id2file}.debug)
+canondebug2=$(readlink -f $hello2_file_debug)
+
+test "$canonid2file" = "$canonfile2" \
+ || echo "canonid2: $canonid2file != $canonfile2"
+test "$canonid2debug" = "$canondebug2" \
+ || echo "canonid2debug: $canonid2debug" != "$canondebug2"
+
+# Both .debug files should point to the dwz multi file.
+# It would be nice to also test that they contain the correct dwz build-id
+# but that is a bit hard to grep out of the section data.
+multiref1=$(readelf --string-dump=.gnu_debugaltlink $hello_file_debug \
+ | grep ' 0' | cut -c13-)
+multiref2=$(readelf --string-dump=.gnu_debugaltlink $hello2_file_debug \
+ | grep ' 0' | cut -c13-)
+
+test "$multiref1" = "$multiref2" || echo "multiref: $multiref1 != $multiref2"
+
+canonmultiref=$(readlink -f $(dirname $canondebug1)/$multiref1)
+canonmultifile=$(readlink -f $hello_multi_file)
+
+test "$canonmultiref" = "$canonmultifile" \
+ || echo "canonmultiref: $canonmultiref" != "$canonmultifile"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuild.at:485"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_127
+#AT_START_128
+at_fn_group_banner 128 'rpmbuild.at:575' \
+ "rpmbuild debuginfo dwz unique debug names" " " 9
+at_xfail=no
+(
+ $as_echo "128. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:577:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+cp \"\${abs_srcdir}\"/data/SOURCES/hello-1.0.tar.gz \"\${abs_srcdir}\"/data/SOURCES/hello-1.0-modernize.patch \${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \\
+ --define \"_unique_debug_names 1\" \\
+ -ba \"\${abs_srcdir}\"/data/SPECS/hello2.spec
+
+# The debuginfo package should contain a .debug file for each binary
+# and a dwz multi file that contains the shared debuginfo between them.
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu
+
+hello_file_debug=./usr/lib/debug/usr/local/bin/hello-*.debug
+hello2_file_debug=./usr/lib/debug/usr/local/bin/hello2-*.debug
+hello_multi_file=./usr/lib/debug/.dwz/hello2-1.0-1.*
+test -f \$hello_file_debug || echo \"no hello debug file: \$hello_file_debug\"
+test -f \$hello2_file_debug || echo \"no hello2 debug file: \$hello2_file_debug\"
+test -f \$hello_multi_file || echo \"no dwz multi file: \$hello_multi_file\"
+
+# Make sure the main package binaries contain the correct build-ids
+# linking them to the debug packages.
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \\
+ | cpio -diu
+hello_file=./usr/local/bin/hello
+hello2_file=./usr/local/bin/hello2
+test -f \$hello_file || echo \"no hello file: \$hello_file\"
+test -f \$hello2_file || echo \"no hello2 file: \$hello2_file\"
+
+id1=\$(file \$hello_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+id2=\$(file \$hello2_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+id1debug=\$(file \$hello_file_debug | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+id2debug=\$(file \$hello2_file_debug | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+idmulti=\$(file \$hello_multi_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+
+test \"\$id1\" = \"\$id1debug\" || echo \"id1: \$id1 != id1debug: \$id1debug\"
+test \"\$id2\" = \"\$id2debug\" || echo \"id2: \$id2 != id2debug: \$id2debug\"
+
+# The build-id files should link to the .debug files.
+id1file=\"./usr/lib/debug/.build-id/\${id1:0:2}/\${id1:2}\"
+canonid1file=\$(readlink -f \${id1file})
+canonfile1=\$(readlink -f \$hello_file)
+canonid1debug=\$(readlink -f \${id1file}.debug)
+canondebug1=\$(readlink -f \$hello_file_debug)
+
+test \"\$canonid1file\" = \"\$canonfile1\" \\
+ || echo \"canonid1file: \$canonid1file != \$canonfile1\"
+test \"\$canonid1debug\" = \"\$canondebug1\" \\
+ || echo \"canonid1debug: \$canonid1debug != \$canondebug1\"
+
+id2file=\"./usr/lib/debug/.build-id/\${id2:0:2}/\${id2:2}\"
+canonid2file=\$(readlink -f \${id2file})
+canonfile2=\$(readlink -f \$hello2_file)
+canonid2debug=\$(readlink -f \${id2file}.debug)
+canondebug2=\$(readlink -f \$hello2_file_debug)
+
+test \"\$canonid2file\" = \"\$canonfile2\" \\
+ || echo \"canonid2: \$canonid2file != \$canonfile2\"
+test \"\$canonid2debug\" = \"\$canondebug2\" \\
+ || echo \"canonid2debug: \$canonid2debug\" != \"\$canondebug2\"
+
+# Both .debug files should point to the dwz multi file.
+# It would be nice to also test that they contain the correct dwz build-id
+# but that is a bit hard to grep out of the section data.
+multiref1=\$(readelf --string-dump=.gnu_debugaltlink \$hello_file_debug \\
+ | grep ' 0' | cut -c13-)
+multiref2=\$(readelf --string-dump=.gnu_debugaltlink \$hello2_file_debug \\
+ | grep ' 0' | cut -c13-)
+
+test \"\$multiref1\" = \"\$multiref2\" || echo \"multiref: \$multiref1 != \$multiref2\"
+
+canonmultiref=\$(readlink -f \$(dirname \$canondebug1)/\$multiref1)
+canonmultifile=\$(readlink -f \$hello_multi_file)
+
+test \"\$canonmultiref\" = \"\$canonmultifile\" \\
+ || echo \"canonmultiref: \$canonmultiref\" != \"\$canonmultifile\"
+"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "rpmbuild.at:577"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \
+ --define "_unique_debug_names 1" \
+ -ba "${abs_srcdir}"/data/SPECS/hello2.spec
+
+# The debuginfo package should contain a .debug file for each binary
+# and a dwz multi file that contains the shared debuginfo between them.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu
+
+hello_file_debug=./usr/lib/debug/usr/local/bin/hello-*.debug
+hello2_file_debug=./usr/lib/debug/usr/local/bin/hello2-*.debug
+hello_multi_file=./usr/lib/debug/.dwz/hello2-1.0-1.*
+test -f $hello_file_debug || echo "no hello debug file: $hello_file_debug"
+test -f $hello2_file_debug || echo "no hello2 debug file: $hello2_file_debug"
+test -f $hello_multi_file || echo "no dwz multi file: $hello_multi_file"
+
+# Make sure the main package binaries contain the correct build-ids
+# linking them to the debug packages.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \
+ | cpio -diu
+hello_file=./usr/local/bin/hello
+hello2_file=./usr/local/bin/hello2
+test -f $hello_file || echo "no hello file: $hello_file"
+test -f $hello2_file || echo "no hello2 file: $hello2_file"
+
+id1=$(file $hello_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+id2=$(file $hello2_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+id1debug=$(file $hello_file_debug | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+id2debug=$(file $hello2_file_debug | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+idmulti=$(file $hello_multi_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+
+test "$id1" = "$id1debug" || echo "id1: $id1 != id1debug: $id1debug"
+test "$id2" = "$id2debug" || echo "id2: $id2 != id2debug: $id2debug"
+
+# The build-id files should link to the .debug files.
+id1file="./usr/lib/debug/.build-id/${id1:0:2}/${id1:2}"
+canonid1file=$(readlink -f ${id1file})
+canonfile1=$(readlink -f $hello_file)
+canonid1debug=$(readlink -f ${id1file}.debug)
+canondebug1=$(readlink -f $hello_file_debug)
+
+test "$canonid1file" = "$canonfile1" \
+ || echo "canonid1file: $canonid1file != $canonfile1"
+test "$canonid1debug" = "$canondebug1" \
+ || echo "canonid1debug: $canonid1debug != $canondebug1"
+
+id2file="./usr/lib/debug/.build-id/${id2:0:2}/${id2:2}"
+canonid2file=$(readlink -f ${id2file})
+canonfile2=$(readlink -f $hello2_file)
+canonid2debug=$(readlink -f ${id2file}.debug)
+canondebug2=$(readlink -f $hello2_file_debug)
+
+test "$canonid2file" = "$canonfile2" \
+ || echo "canonid2: $canonid2file != $canonfile2"
+test "$canonid2debug" = "$canondebug2" \
+ || echo "canonid2debug: $canonid2debug" != "$canondebug2"
+
+# Both .debug files should point to the dwz multi file.
+# It would be nice to also test that they contain the correct dwz build-id
+# but that is a bit hard to grep out of the section data.
+multiref1=$(readelf --string-dump=.gnu_debugaltlink $hello_file_debug \
+ | grep ' 0' | cut -c13-)
+multiref2=$(readelf --string-dump=.gnu_debugaltlink $hello2_file_debug \
+ | grep ' 0' | cut -c13-)
+
+test "$multiref1" = "$multiref2" || echo "multiref: $multiref1 != $multiref2"
+
+canonmultiref=$(readlink -f $(dirname $canondebug1)/$multiref1)
+canonmultifile=$(readlink -f $hello_multi_file)
+
+test "$canonmultiref" = "$canonmultifile" \
+ || echo "canonmultiref: $canonmultiref" != "$canonmultifile"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuild.at:577"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_128
+#AT_START_129
+at_fn_group_banner 129 'rpmbuild.at:664' \
+ "rpmbuild debuginfo dwz gnu_debuglink crc" " " 9
+at_xfail=no
+(
+ $as_echo "129. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:666:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Build a package that
+cp \"\${abs_srcdir}\"/data/SOURCES/hello-1.0.tar.gz \"\${abs_srcdir}\"/data/SOURCES/hello-1.0-modernize.patch \${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \\
+ -ba \"\${abs_srcdir}\"/data/SPECS/hello2.spec
+
+# Unpack the main and debuginfo rpms so we can check binaries and .debug files.
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \\
+ | cpio -diu
+
+# Check that dwz has ran and a multi file has been produced
+test -f ./usr/lib/debug/.dwz/hello2-1.0-1.* || exit 1
+
+# Run sepdbugcrcfix on the binaries, both should have correct CRC already.
+\${abs_top_builddir}/sepdebugcrcfix ./usr/lib/debug \\
+ ./usr/local/bin/hello ./usr/local/bin/hello2 | grep CRC32 | cut -f2 -d:
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmbuild.at:666"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Build a package that
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \
+ -ba "${abs_srcdir}"/data/SPECS/hello2.spec
+
+# Unpack the main and debuginfo rpms so we can check binaries and .debug files.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \
+ | cpio -diu
+
+# Check that dwz has ran and a multi file has been produced
+test -f ./usr/lib/debug/.dwz/hello2-1.0-1.* || exit 1
+
+# Run sepdbugcrcfix on the binaries, both should have correct CRC already.
+${abs_top_builddir}/sepdebugcrcfix ./usr/lib/debug \
+ ./usr/local/bin/hello ./usr/local/bin/hello2 | grep CRC32 | cut -f2 -d:
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo " Updated 0 CRC32s, 2 CRC32s did match.
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuild.at:666"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_129
+#AT_START_130
+at_fn_group_banner 130 'rpmbuild.at:698' \
+ "rpmbuild implicit suid binary" " " 9
+at_xfail=no
+(
+ $as_echo "130. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:700:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Build a package that has some debuginfo
+cp \"\${abs_srcdir}\"/data/SOURCES/hello-1.0.tar.gz \"\${abs_srcdir}\"/data/SOURCES/hello-1.0-modernize.patch \${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \\
+ -ba \"\${abs_srcdir}\"/data/SPECS/hello2-suid.spec
+
+# Unpack rpm so we can check the included binaries.
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+
+# List all binaries with suid bit set (should be one, hello).
+echo \"suid:\"
+find usr -executable -type f -perm /4000
+# List all binaries without suid bit set (should also be one, hello2).
+echo \"no-suid:\"
+find usr -executable -type f \\! -perm /4000
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmbuild.at:700"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Build a package that has some debuginfo
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \
+ -ba "${abs_srcdir}"/data/SPECS/hello2-suid.spec
+
+# Unpack rpm so we can check the included binaries.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+# List all binaries with suid bit set (should be one, hello).
+echo "suid:"
+find usr -executable -type f -perm /4000
+# List all binaries without suid bit set (should also be one, hello2).
+echo "no-suid:"
+find usr -executable -type f \! -perm /4000
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "suid:
+usr/local/bin/hello
+no-suid:
+usr/local/bin/hello2
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuild.at:700"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_130
+#AT_START_131
+at_fn_group_banner 131 'rpmbuild.at:732' \
+ "rpmbuild debuginfo gdb index included" " " 9
+at_xfail=no
+(
+ $as_echo "131. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:734:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Build a package that has some debuginfo
+cp \"\${abs_srcdir}\"/data/SOURCES/hello-1.0.tar.gz \"\${abs_srcdir}\"/data/SOURCES/hello-1.0-modernize.patch \${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \\
+ --define \"_include_gdb_index 1\" \\
+ -ba \"\${abs_srcdir}\"/data/SPECS/hello2.spec
+
+# Unpack the debuginfo rpms so we can check the .debug files.
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+
+# Check that gdb-add-index has ran and a .gdb_index section has been added
+readelf -S ./usr/lib/debug/usr/local/bin/hello2*.debug \\
+ | grep gdb_index | cut -c8-17
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmbuild.at:734"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Build a package that has some debuginfo
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \
+ --define "_include_gdb_index 1" \
+ -ba "${abs_srcdir}"/data/SPECS/hello2.spec
+
+# Unpack the debuginfo rpms so we can check the .debug files.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+# Check that gdb-add-index has ran and a .gdb_index section has been added
+readelf -S ./usr/lib/debug/usr/local/bin/hello2*.debug \
+ | grep gdb_index | cut -c8-17
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo ".gdb_index
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuild.at:734"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_131
+#AT_START_132
+at_fn_group_banner 132 'rpmbuild.at:761' \
+ "rpmbuild debuginfo no gdb index included" " " 9
+at_xfail=no
+(
+ $as_echo "132. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:763:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Build a package that has some debuginfo
+cp \"\${abs_srcdir}\"/data/SOURCES/hello-1.0.tar.gz \"\${abs_srcdir}\"/data/SOURCES/hello-1.0-modernize.patch \${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \\
+ --undefine \"_include_gdb_index\" \\
+ -ba \"\${abs_srcdir}\"/data/SPECS/hello2.spec
+
+# Unpack the debuginfo rpms so we can check the .debug files.
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+
+# Check that gdb-add-index has not ran and no .gdb_index section has been added
+readelf -S ./usr/lib/debug/usr/local/bin/hello2*.debug \\
+ | grep gdb_index | cut -c8-17
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmbuild.at:763"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Build a package that has some debuginfo
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \
+ --undefine "_include_gdb_index" \
+ -ba "${abs_srcdir}"/data/SPECS/hello2.spec
+
+# Unpack the debuginfo rpms so we can check the .debug files.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+# Check that gdb-add-index has not ran and no .gdb_index section has been added
+readelf -S ./usr/lib/debug/usr/local/bin/hello2*.debug \
+ | grep gdb_index | cut -c8-17
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuild.at:763"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_132
+#AT_START_133
+at_fn_group_banner 133 'rpmbuild.at:789' \
+ "rpmbuild debuginfo unique debug src dir" " " 9
+at_xfail=no
+(
+ $as_echo "133. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:791:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Build a package that has some debuginfo
+cp \"\${abs_srcdir}\"/data/SOURCES/hello-1.0.tar.gz \"\${abs_srcdir}\"/data/SOURCES/hello-1.0-modernize.patch \${TOPDIR}/SOURCES
+
+# Note that the spec defines hello2 as name, but the source is hello-1.0.
+# Disable dwz to make debuginfo path rewrite checking easier.
+rundebug rpmbuild --quiet \\
+ --undefine \"_find_debuginfo_dwz_opts\" \\
+ --define \"_unique_debug_srcs 1\" \\
+ -ba \"\${abs_srcdir}\"/data/SPECS/hello2.spec
+
+# Unpack the debuginfo rpms so we can check the .debug files.
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+
+# Check that the source path is \"unique\"
+# Drop the final arch prefix to make the test arch-independent.
+ls ./usr/src/debug/ | cut -f1,2 -d\\.
+
+# Check that the source path has been rewritten in the .debug file.
+# Drop the final arch prefix to make the test arch-independent.
+readelf --debug-dump=info ./usr/lib/debug/usr/local/bin/hello2*.debug \\
+ | grep comp_dir | sed -e 's/\\t\$//' | cut -f5- -d/ | cut -f1,2 -d\\.
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmbuild.at:791"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Build a package that has some debuginfo
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# Note that the spec defines hello2 as name, but the source is hello-1.0.
+# Disable dwz to make debuginfo path rewrite checking easier.
+rundebug rpmbuild --quiet \
+ --undefine "_find_debuginfo_dwz_opts" \
+ --define "_unique_debug_srcs 1" \
+ -ba "${abs_srcdir}"/data/SPECS/hello2.spec
+
+# Unpack the debuginfo rpms so we can check the .debug files.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+# Check that the source path is "unique"
+# Drop the final arch prefix to make the test arch-independent.
+ls ./usr/src/debug/ | cut -f1,2 -d\.
+
+# Check that the source path has been rewritten in the .debug file.
+# Drop the final arch prefix to make the test arch-independent.
+readelf --debug-dump=info ./usr/lib/debug/usr/local/bin/hello2*.debug \
+ | grep comp_dir | sed -e 's/\t$//' | cut -f5- -d/ | cut -f1,2 -d\.
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "hello2-1.0-1
+hello2-1.0-1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuild.at:791"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_133
+#AT_START_134
+at_fn_group_banner 134 'rpmbuild.at:828' \
+ "rpmbuild debuginfo no unique debug src dir" " " 9
+at_xfail=no
+(
+ $as_echo "134. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:830:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Build a package that has some debuginfo
+cp \"\${abs_srcdir}\"/data/SOURCES/hello-1.0.tar.gz \"\${abs_srcdir}\"/data/SOURCES/hello-1.0-modernize.patch \${TOPDIR}/SOURCES
+
+# Note that the spec defines hello2 as name, but the source is hello-1.0.
+# Disable dwz to make debuginfo path rewrite checking easier.
+rundebug rpmbuild --quiet \\
+ --undefine \"_find_debuginfo_dwz_opts\" \\
+ --undefine \"_unique_debug_srcs\" \\
+ -ba \"\${abs_srcdir}\"/data/SPECS/hello2.spec
+
+# Unpack the debuginfo rpms so we can check the .debug files.
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+
+# Check that the source path is \"unique\"
+ls ./usr/src/debug/
+
+# Check that the source path has been rewritten in the .debug file.
+readelf --debug-dump=info ./usr/lib/debug/usr/local/bin/hello2*.debug \\
+ | grep comp_dir | sed -e 's/\\t\$//' | cut -f5- -d/
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmbuild.at:830"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Build a package that has some debuginfo
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# Note that the spec defines hello2 as name, but the source is hello-1.0.
+# Disable dwz to make debuginfo path rewrite checking easier.
+rundebug rpmbuild --quiet \
+ --undefine "_find_debuginfo_dwz_opts" \
+ --undefine "_unique_debug_srcs" \
+ -ba "${abs_srcdir}"/data/SPECS/hello2.spec
+
+# Unpack the debuginfo rpms so we can check the .debug files.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+# Check that the source path is "unique"
+ls ./usr/src/debug/
+
+# Check that the source path has been rewritten in the .debug file.
+readelf --debug-dump=info ./usr/lib/debug/usr/local/bin/hello2*.debug \
+ | grep comp_dir | sed -e 's/\t$//' | cut -f5- -d/
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "hello-1.0
+hello-1.0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuild.at:830"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_134
+#AT_START_135
+at_fn_group_banner 135 'rpmbuild.at:864' \
+ "rpmbuild debugsource" " " 9
+at_xfail=no
+(
+ $as_echo "135. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:866:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Build a package that has some debuginfo
+cp \"\${abs_srcdir}\"/data/SOURCES/hello-1.0.tar.gz \"\${abs_srcdir}\"/data/SOURCES/hello-1.0-modernize.patch \${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \\
+ --define \"_debugsource_packages 1\" \\
+ -ba \"\${abs_srcdir}\"/data/SPECS/hello2.spec
+
+# Unpack the debugsource rpm so we can check the sources are there.
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello2-debugsource-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+
+# Check that hello.c is there.
+ls ./usr/src/debug/hello2-1.0*/
+
+# The debuginfo package should recommend the debugsource package (ignore arch).
+echo -n \"Recommends: \"
+run rpm -qp --recommends \${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm | sed -E 's/([-.a-z0-9]+)\\(.*\\) = ([-.0-9]+)/\\1\\(ignore-arch\\) = \\2/'
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmbuild.at:866"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Build a package that has some debuginfo
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \
+ --define "_debugsource_packages 1" \
+ -ba "${abs_srcdir}"/data/SPECS/hello2.spec
+
+# Unpack the debugsource rpm so we can check the sources are there.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-debugsource-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+# Check that hello.c is there.
+ls ./usr/src/debug/hello2-1.0*/
+
+# The debuginfo package should recommend the debugsource package (ignore arch).
+echo -n "Recommends: "
+run rpm -qp --recommends ${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm | sed -E 's/([-.a-z0-9]+)\(.*\) = ([-.0-9]+)/\1\(ignore-arch\) = \2/'
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "hello.c
+Recommends: hello2-debugsource(ignore-arch) = 1.0-1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuild.at:866"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_135
+#AT_START_136
+at_fn_group_banner 136 'rpmbuild.at:899' \
+ "rpmbuild debugsource debugsourcefiles.list path" "" 9
+at_xfail=no
+(
+ $as_echo "136. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:901:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp \"\${abs_srcdir}\"/data/SOURCES/hello.c \${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \\
+ --define \"_debugsource_packages 1\" \\
+ -ba \"\${abs_srcdir}\"/data/SPECS/hello-cd.spec
+
+# Unpack the debuginfo rpms so we can check the sources are there.
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/test-debugsource-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+
+# Check that hello.c is there.
+ls ./usr/src/debug/test-1.0*/
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmbuild.at:901"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello.c ${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \
+ --define "_debugsource_packages 1" \
+ -ba "${abs_srcdir}"/data/SPECS/hello-cd.spec
+
+# Unpack the debuginfo rpms so we can check the sources are there.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-debugsource-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+# Check that hello.c is there.
+ls ./usr/src/debug/test-1.0*/
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "hello.c
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuild.at:901"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_136
+#AT_START_137
+at_fn_group_banner 137 'rpmbuild.at:927' \
+ "rpmbuild debuginfo subpackages single" " " 9
+at_xfail=no
+(
+ $as_echo "137. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:929:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp \"\${abs_srcdir}\"/data/SOURCES/hello.c \${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \\
+ --undefine \"_unique_debug_names\" \\
+ --undefine \"_unique_debug_srcs\" \\
+ --undefine \"_debugsource_packages\" \\
+ --undefine \"_debuginfo_subpackages\" \\
+ -ba \"\${abs_srcdir}\"/data/SPECS/test-subpackages.spec
+
+# Check that there is just one debuginfo package.
+ls \${abs_builddir}/testing/build/RPMS/*/*debuginfo*rpm | wc --lines
+
+# Which contains hello.debug
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/test-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=\$(readelf -p .gnu_debuglink ./bin/hello | grep hello | cut -c13-)
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/test-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/\$debug_name; then
+ echo \"hello debug exists\"
+else
+ echo \"No hello: \$debug_name\"
+fi
+"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "rpmbuild.at:929"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello.c ${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \
+ --undefine "_unique_debug_names" \
+ --undefine "_unique_debug_srcs" \
+ --undefine "_debugsource_packages" \
+ --undefine "_debuginfo_subpackages" \
+ -ba "${abs_srcdir}"/data/SPECS/test-subpackages.spec
+
+# Check that there is just one debuginfo package.
+ls ${abs_builddir}/testing/build/RPMS/*/*debuginfo*rpm | wc --lines
+
+# Which contains hello.debug
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-1.0-1.*.rpm \
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=$(readelf -p .gnu_debuglink ./bin/hello | grep hello | cut -c13-)
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/$debug_name; then
+ echo "hello debug exists"
+else
+ echo "No hello: $debug_name"
+fi
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "1
+hello debug exists
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuild.at:929"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_137
+#AT_START_138
+at_fn_group_banner 138 'rpmbuild.at:969' \
+ "rpmbuild debuginfo subpackages multiple" " " 9
+at_xfail=no
+(
+ $as_echo "138. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:971:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp \"\${abs_srcdir}\"/data/SOURCES/hello.c \${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \\
+ --undefine \"_unique_debug_names\" \\
+ --undefine \"_unique_debug_srcs\" \\
+ --undefine \"_debugsource_packages\" \\
+ --define \"_debuginfo_subpackages 1\" \\
+ -ba \"\${abs_srcdir}\"/data/SPECS/test-subpackages.spec
+
+# Check that there are 3 debuginfo packages.
+ls \${abs_builddir}/testing/build/RPMS/*/*debuginfo*rpm | wc --lines
+
+# First contains hello.debug
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/test-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=\$(readelf -p .gnu_debuglink ./bin/hello | grep hello | cut -c13-)
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/test-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/\$debug_name; then
+ echo \"hello debug exists\"
+else
+ echo \"No hello: \$debug_name\"
+fi
+
+# Second contains hello2.debug
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/test-test2-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=\$(readelf -p .gnu_debuglink ./bin/hello2 | grep hello | cut -c13-)
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/test-test2-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/\$debug_name; then
+ echo \"hello2 debug exists\"
+else
+ echo \"No hello2: \$debug_name\"
+fi
+
+# No debugsource package, so sources are in the main debuginfo package.
+# Make sure it is recommended.
+echo -n \"Recommends: \"
+run rpm -qp --recommends \${abs_builddir}/testing/build/RPMS/*/test-test2-debuginfo-1.0-1.*.rpm | sed -E 's/([-.a-z0-9]+)\\(.*\\) = ([-.0-9]+)/\\1\\(ignore-arch\\) = \\2/'
+
+# Third contains hello3.debug
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/test-test3-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=\$(readelf -p .gnu_debuglink ./bin/hello3 | grep hello | cut -c13-)
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/test-test3-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/\$debug_name; then
+ echo \"hello3 debug exists\"
+else
+ echo \"No hello3: \$debug_name\"
+fi
+
+# No debugsource package, so sources are in the main debuginfo package.
+# Make sure it is recommended.
+echo -n \"Recommends: \"
+run rpm -qp --recommends \${abs_builddir}/testing/build/RPMS/*/test-test3-debuginfo-1.0-1.*.rpm | sed -E 's/([-.a-z0-9]+)\\(.*\\) = ([-.0-9]+)/\\1\\(ignore-arch\\) = \\2/'
+"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "rpmbuild.at:971"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello.c ${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \
+ --undefine "_unique_debug_names" \
+ --undefine "_unique_debug_srcs" \
+ --undefine "_debugsource_packages" \
+ --define "_debuginfo_subpackages 1" \
+ -ba "${abs_srcdir}"/data/SPECS/test-subpackages.spec
+
+# Check that there are 3 debuginfo packages.
+ls ${abs_builddir}/testing/build/RPMS/*/*debuginfo*rpm | wc --lines
+
+# First contains hello.debug
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-1.0-1.*.rpm \
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=$(readelf -p .gnu_debuglink ./bin/hello | grep hello | cut -c13-)
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/$debug_name; then
+ echo "hello debug exists"
+else
+ echo "No hello: $debug_name"
+fi
+
+# Second contains hello2.debug
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test2-1.0-1.*.rpm \
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=$(readelf -p .gnu_debuglink ./bin/hello2 | grep hello | cut -c13-)
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/$debug_name; then
+ echo "hello2 debug exists"
+else
+ echo "No hello2: $debug_name"
+fi
+
+# No debugsource package, so sources are in the main debuginfo package.
+# Make sure it is recommended.
+echo -n "Recommends: "
+run rpm -qp --recommends ${abs_builddir}/testing/build/RPMS/*/test-test2-debuginfo-1.0-1.*.rpm | sed -E 's/([-.a-z0-9]+)\(.*\) = ([-.0-9]+)/\1\(ignore-arch\) = \2/'
+
+# Third contains hello3.debug
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test3-1.0-1.*.rpm \
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=$(readelf -p .gnu_debuglink ./bin/hello3 | grep hello | cut -c13-)
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test3-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/$debug_name; then
+ echo "hello3 debug exists"
+else
+ echo "No hello3: $debug_name"
+fi
+
+# No debugsource package, so sources are in the main debuginfo package.
+# Make sure it is recommended.
+echo -n "Recommends: "
+run rpm -qp --recommends ${abs_builddir}/testing/build/RPMS/*/test-test3-debuginfo-1.0-1.*.rpm | sed -E 's/([-.a-z0-9]+)\(.*\) = ([-.0-9]+)/\1\(ignore-arch\) = \2/'
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "3
+hello debug exists
+hello2 debug exists
+Recommends: test-debuginfo(ignore-arch) = 1.0-1
+hello3 debug exists
+Recommends: test-debuginfo(ignore-arch) = 1.0-1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuild.at:971"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_138
+#AT_START_139
+at_fn_group_banner 139 'rpmbuild.at:1053' \
+ "rpmbuild debuginfo subpackages multiple unique" " " 9
+at_xfail=no
+(
+ $as_echo "139. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:1055:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp \"\${abs_srcdir}\"/data/SOURCES/hello.c \${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \\
+ --define \"_unique_debug_names 1\" \\
+ --define \"_unique_debug_srcs 1\" \\
+ --undefine \"_debugsource_packages\" \\
+ --define \"_debuginfo_subpackages 1\" \\
+ -ba \"\${abs_srcdir}\"/data/SPECS/test-subpackages.spec
+
+# Check that there are 3 debuginfo packages.
+ls \${abs_builddir}/testing/build/RPMS/*/*debuginfo*rpm | wc --lines
+
+# First contains hello.debug
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/test-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=\$(readelf -p .gnu_debuglink ./bin/hello | grep hello | cut -c13-)
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/test-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/\$debug_name; then
+ echo \"hello debug exists\"
+else
+ echo \"No hello: \$debug_name\"
+fi
+
+# Second contains hello2.debug
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/test-test2-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=\$(readelf -p .gnu_debuglink ./bin/hello2 | grep hello | cut -c13-)
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/test-test2-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/\$debug_name; then
+ echo \"hello2 debug exists\"
+else
+ echo \"No hello2: \$debug_name\"
+fi
+
+# No debugsource package, so sources are in the main debuginfo package.
+# Make sure it is recommended.
+echo -n \"Recommends: \"
+run rpm -qp --recommends \${abs_builddir}/testing/build/RPMS/*/test-test2-debuginfo-1.0-1.*.rpm | sed -E 's/([-.a-z0-9]+)\\(.*\\) = ([-.0-9]+)/\\1\\(ignore-arch\\) = \\2/'
+
+# Third contains hello3.debug
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/test-test3-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=\$(readelf -p .gnu_debuglink ./bin/hello3 | grep hello | cut -c13-)
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/test-test3-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/\$debug_name; then
+ echo \"hello3 debug exists\"
+else
+ echo \"No hello3: \$debug_name\"
+fi
+
+# No debugsource package, so sources are in the main debuginfo package.
+# Make sure it is recommended.
+echo -n \"Recommends: \"
+run rpm -qp --recommends \${abs_builddir}/testing/build/RPMS/*/test-test3-debuginfo-1.0-1.*.rpm | sed -E 's/([-.a-z0-9]+)\\(.*\\) = ([-.0-9]+)/\\1\\(ignore-arch\\) = \\2/'
+"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "rpmbuild.at:1055"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello.c ${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \
+ --define "_unique_debug_names 1" \
+ --define "_unique_debug_srcs 1" \
+ --undefine "_debugsource_packages" \
+ --define "_debuginfo_subpackages 1" \
+ -ba "${abs_srcdir}"/data/SPECS/test-subpackages.spec
+
+# Check that there are 3 debuginfo packages.
+ls ${abs_builddir}/testing/build/RPMS/*/*debuginfo*rpm | wc --lines
+
+# First contains hello.debug
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-1.0-1.*.rpm \
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=$(readelf -p .gnu_debuglink ./bin/hello | grep hello | cut -c13-)
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/$debug_name; then
+ echo "hello debug exists"
+else
+ echo "No hello: $debug_name"
+fi
+
+# Second contains hello2.debug
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test2-1.0-1.*.rpm \
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=$(readelf -p .gnu_debuglink ./bin/hello2 | grep hello | cut -c13-)
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/$debug_name; then
+ echo "hello2 debug exists"
+else
+ echo "No hello2: $debug_name"
+fi
+
+# No debugsource package, so sources are in the main debuginfo package.
+# Make sure it is recommended.
+echo -n "Recommends: "
+run rpm -qp --recommends ${abs_builddir}/testing/build/RPMS/*/test-test2-debuginfo-1.0-1.*.rpm | sed -E 's/([-.a-z0-9]+)\(.*\) = ([-.0-9]+)/\1\(ignore-arch\) = \2/'
+
+# Third contains hello3.debug
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test3-1.0-1.*.rpm \
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=$(readelf -p .gnu_debuglink ./bin/hello3 | grep hello | cut -c13-)
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test3-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/$debug_name; then
+ echo "hello3 debug exists"
+else
+ echo "No hello3: $debug_name"
+fi
+
+# No debugsource package, so sources are in the main debuginfo package.
+# Make sure it is recommended.
+echo -n "Recommends: "
+run rpm -qp --recommends ${abs_builddir}/testing/build/RPMS/*/test-test3-debuginfo-1.0-1.*.rpm | sed -E 's/([-.a-z0-9]+)\(.*\) = ([-.0-9]+)/\1\(ignore-arch\) = \2/'
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "3
+hello debug exists
+hello2 debug exists
+Recommends: test-debuginfo(ignore-arch) = 1.0-1
+hello3 debug exists
+Recommends: test-debuginfo(ignore-arch) = 1.0-1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuild.at:1055"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_139
+#AT_START_140
+at_fn_group_banner 140 'rpmbuild.at:1137' \
+ "rpmbuild debuginfo subpackages multiple unique debugsource" "" 9
+at_xfail=no
+(
+ $as_echo "140. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:1139:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp \"\${abs_srcdir}\"/data/SOURCES/hello.c \${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \\
+ --define \"_unique_debug_names 1\" \\
+ --define \"_unique_debug_srcs 1\" \\
+ --define \"_debugsource_packages 1\" \\
+ --define \"_debuginfo_subpackages 1\" \\
+ -ba \"\${abs_srcdir}\"/data/SPECS/test-subpackages.spec
+
+# Check that there are 3 debuginfo packages.
+ls \${abs_builddir}/testing/build/RPMS/*/*debuginfo*rpm | wc --lines
+
+# First contains hello.debug
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/test-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=\$(readelf -p .gnu_debuglink ./bin/hello | grep hello | cut -c13-)
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/test-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/\$debug_name; then
+ echo \"hello debug exists\"
+else
+ echo \"No hello: \$debug_name\"
+fi
+
+# Sources are in debugsource package. Make sure it is recommended.
+echo -n \"Recommends: \"
+run rpm -qp --recommends \${abs_builddir}/testing/build/RPMS/*/test-debuginfo-1.0-1.*.rpm | sed -E 's/([-.a-z0-9]+)\\(.*\\) = ([-.0-9]+)/\\1\\(ignore-arch\\) = \\2/'
+
+# Second contains hello2.debug
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/test-test2-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=\$(readelf -p .gnu_debuglink ./bin/hello2 | grep hello | cut -c13-)
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/test-test2-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/\$debug_name; then
+ echo \"hello2 debug exists\"
+else
+ echo \"No hello2: \$debug_name\"
+fi
+
+# Sources are in debugsource package. Make sure it is recommended.
+echo -n \"Recommends: \"
+run rpm -qp --recommends \${abs_builddir}/testing/build/RPMS/*/test-test2-debuginfo-1.0-1.*.rpm | sed -E 's/([-.a-z0-9]+)\\(.*\\) = ([-.0-9]+)/\\1\\(ignore-arch\\) = \\2/'
+
+# Third contains hello3.debug
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/test-test3-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=\$(readelf -p .gnu_debuglink ./bin/hello3 | grep hello | cut -c13-)
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/test-test3-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/\$debug_name; then
+ echo \"hello3 debug exists\"
+else
+ echo \"No hello3: \$debug_name\"
+fi
+
+# Sources are in debugsource package. Make sure it is recommended.
+echo -n \"Recommends: \"
+run rpm -qp --recommends \${abs_builddir}/testing/build/RPMS/*/test-test3-debuginfo-1.0-1.*.rpm | sed -E 's/([-.a-z0-9]+)\\(.*\\) = ([-.0-9]+)/\\1\\(ignore-arch\\) = \\2/'
+"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "rpmbuild.at:1139"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello.c ${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \
+ --define "_unique_debug_names 1" \
+ --define "_unique_debug_srcs 1" \
+ --define "_debugsource_packages 1" \
+ --define "_debuginfo_subpackages 1" \
+ -ba "${abs_srcdir}"/data/SPECS/test-subpackages.spec
+
+# Check that there are 3 debuginfo packages.
+ls ${abs_builddir}/testing/build/RPMS/*/*debuginfo*rpm | wc --lines
+
+# First contains hello.debug
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-1.0-1.*.rpm \
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=$(readelf -p .gnu_debuglink ./bin/hello | grep hello | cut -c13-)
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/$debug_name; then
+ echo "hello debug exists"
+else
+ echo "No hello: $debug_name"
+fi
+
+# Sources are in debugsource package. Make sure it is recommended.
+echo -n "Recommends: "
+run rpm -qp --recommends ${abs_builddir}/testing/build/RPMS/*/test-debuginfo-1.0-1.*.rpm | sed -E 's/([-.a-z0-9]+)\(.*\) = ([-.0-9]+)/\1\(ignore-arch\) = \2/'
+
+# Second contains hello2.debug
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test2-1.0-1.*.rpm \
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=$(readelf -p .gnu_debuglink ./bin/hello2 | grep hello | cut -c13-)
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/$debug_name; then
+ echo "hello2 debug exists"
+else
+ echo "No hello2: $debug_name"
+fi
+
+# Sources are in debugsource package. Make sure it is recommended.
+echo -n "Recommends: "
+run rpm -qp --recommends ${abs_builddir}/testing/build/RPMS/*/test-test2-debuginfo-1.0-1.*.rpm | sed -E 's/([-.a-z0-9]+)\(.*\) = ([-.0-9]+)/\1\(ignore-arch\) = \2/'
+
+# Third contains hello3.debug
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test3-1.0-1.*.rpm \
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=$(readelf -p .gnu_debuglink ./bin/hello3 | grep hello | cut -c13-)
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test3-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/$debug_name; then
+ echo "hello3 debug exists"
+else
+ echo "No hello3: $debug_name"
+fi
+
+# Sources are in debugsource package. Make sure it is recommended.
+echo -n "Recommends: "
+run rpm -qp --recommends ${abs_builddir}/testing/build/RPMS/*/test-test3-debuginfo-1.0-1.*.rpm | sed -E 's/([-.a-z0-9]+)\(.*\) = ([-.0-9]+)/\1\(ignore-arch\) = \2/'
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "3
+hello debug exists
+Recommends: test-debugsource(ignore-arch) = 1.0-1
+hello2 debug exists
+Recommends: test-debugsource(ignore-arch) = 1.0-1
+hello3 debug exists
+Recommends: test-debugsource(ignore-arch) = 1.0-1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuild.at:1139"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_140
+#AT_START_141
+at_fn_group_banner 141 'rpmbuild.at:1224' \
+ "rpmbuild debuginfo subpackages multiple excluded" "" 9
+at_xfail=no
+(
+ $as_echo "141. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:1226:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp \"\${abs_srcdir}\"/data/SOURCES/hello.c \${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \\
+ --define \"_unique_debug_names 1\" \\
+ --define \"_unique_debug_srcs 1\" \\
+ --define \"_debugsource_packages 1\" \\
+ --define \"_debuginfo_subpackages 1\" \\
+ -ba \"\${abs_srcdir}\"/data/SPECS/test-subpackages-exclude.spec
+
+# Check that there are 2 debuginfo packages.
+ls \${abs_builddir}/testing/build/RPMS/*/*debuginfo*rpm | wc --lines
+
+# First contains hello.debug
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/test-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=\$(readelf -p .gnu_debuglink ./bin/hello | grep hello | cut -c13-)
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/test-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/\$debug_name; then
+ echo \"hello debug exists\"
+else
+ echo \"No hello: \$debug_name\"
+fi
+
+# Second contains hello2.debug but NOT hello3.debug
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/test-test2-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=\$(readelf -p .gnu_debuglink ./bin/hello2 | grep hello | cut -c13-)
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/test-test2-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/\$debug_name; then
+ echo \"hello2 debug exists\"
+else
+ echo \"No hello2: \$debug_name\"
+fi
+
+if test -f ./usr/lib/debug/bin/hello3*; then
+ echo \"hello3 debug exists\"
+else
+ echo \"No hello3 debug\"
+fi
+"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "rpmbuild.at:1226"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello.c ${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \
+ --define "_unique_debug_names 1" \
+ --define "_unique_debug_srcs 1" \
+ --define "_debugsource_packages 1" \
+ --define "_debuginfo_subpackages 1" \
+ -ba "${abs_srcdir}"/data/SPECS/test-subpackages-exclude.spec
+
+# Check that there are 2 debuginfo packages.
+ls ${abs_builddir}/testing/build/RPMS/*/*debuginfo*rpm | wc --lines
+
+# First contains hello.debug
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-1.0-1.*.rpm \
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=$(readelf -p .gnu_debuglink ./bin/hello | grep hello | cut -c13-)
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/$debug_name; then
+ echo "hello debug exists"
+else
+ echo "No hello: $debug_name"
+fi
+
+# Second contains hello2.debug but NOT hello3.debug
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test2-1.0-1.*.rpm \
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=$(readelf -p .gnu_debuglink ./bin/hello2 | grep hello | cut -c13-)
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/$debug_name; then
+ echo "hello2 debug exists"
+else
+ echo "No hello2: $debug_name"
+fi
+
+if test -f ./usr/lib/debug/bin/hello3*; then
+ echo "hello3 debug exists"
+else
+ echo "No hello3 debug"
+fi
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "2
+hello debug exists
+hello2 debug exists
+No hello3 debug
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuild.at:1226"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_141
+#AT_START_142
+at_fn_group_banner 142 'rpmbuild.at:1288' \
+ "rpmbuild debuginfo subpackages multiple excluded" "" 9
+at_xfail=no
+(
+ $as_echo "142. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuild.at:1290:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp \"\${abs_srcdir}\"/data/SOURCES/hello.c \${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \\
+ --define \"_unique_debug_names 1\" \\
+ --define \"_unique_debug_srcs 1\" \\
+ --define \"_debugsource_packages 1\" \\
+ --define \"_debuginfo_subpackages 1\" \\
+ -ba \"\${abs_srcdir}\"/data/SPECS/test-subpackages-pathpostfixes.spec
+
+# Check that there are 2 debuginfo packages.
+ls \${abs_builddir}/testing/build/RPMS/*/*debuginfo*rpm | wc --lines
+
+# First contains hello.debug
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/test-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=\$(readelf -p .gnu_debuglink ./bin/hello | grep hello | cut -c13-)
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/test-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/\$debug_name; then
+ echo \"hello debug exists\"
+else
+ echo \"No hello: \$debug_name\"
+fi
+
+# remove it, we are going to check the other debuginfo package.
+rm ./bin/hello
+rm ./usr/lib/debug/bin/\$debug_name
+orig_debugname=\$debugname
+
+# Second contains hello.foobar.debug but NOT hello.debug
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/test-test2-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=\$(readelf -p .gnu_debuglink ./bin/hello | grep hello | cut -c13-)
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/test-test2-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/\$debug_name; then
+ echo \"hello.foobar debug exists\"
+else
+ echo \"No hello2: \$debug_name\"
+fi
+
+if test -f ./usr/lib/debug/bin/\$orig_debugname; then
+ echo \"\$orig_debugname exists\"
+else
+ echo \"No hello.debug\"
+fi
+"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "rpmbuild.at:1290"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello.c ${TOPDIR}/SOURCES
+
+rundebug rpmbuild --quiet \
+ --define "_unique_debug_names 1" \
+ --define "_unique_debug_srcs 1" \
+ --define "_debugsource_packages 1" \
+ --define "_debuginfo_subpackages 1" \
+ -ba "${abs_srcdir}"/data/SPECS/test-subpackages-pathpostfixes.spec
+
+# Check that there are 2 debuginfo packages.
+ls ${abs_builddir}/testing/build/RPMS/*/*debuginfo*rpm | wc --lines
+
+# First contains hello.debug
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-1.0-1.*.rpm \
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=$(readelf -p .gnu_debuglink ./bin/hello | grep hello | cut -c13-)
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/$debug_name; then
+ echo "hello debug exists"
+else
+ echo "No hello: $debug_name"
+fi
+
+# remove it, we are going to check the other debuginfo package.
+rm ./bin/hello
+rm ./usr/lib/debug/bin/$debug_name
+orig_debugname=$debugname
+
+# Second contains hello.foobar.debug but NOT hello.debug
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test2-1.0-1.*.rpm \
+ | cpio -diu --quiet
+# Extract the debug name from the exe (.gnu_debuglink section, first string)
+debug_name=$(readelf -p .gnu_debuglink ./bin/hello | grep hello | cut -c13-)
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/test-test2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+if test -f ./usr/lib/debug/bin/$debug_name; then
+ echo "hello.foobar debug exists"
+else
+ echo "No hello2: $debug_name"
+fi
+
+if test -f ./usr/lib/debug/bin/$orig_debugname; then
+ echo "$orig_debugname exists"
+else
+ echo "No hello.debug"
+fi
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "2
+hello debug exists
+hello.foobar debug exists
+No hello.debug
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuild.at:1290"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_142
+#AT_START_143
+at_fn_group_banner 143 'rpmbuildid.at:23' \
+ "rpmbuild buildid none" " " 10
+at_xfail=no
+(
+ $as_echo "143. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuildid.at:25:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp \"\${abs_srcdir}\"/data/SOURCES/hello-1.0.tar.gz \"\${abs_srcdir}\"/data/SOURCES/hello-1.0-modernize.patch \${TOPDIR}/SOURCES
+
+# Build, contains one ELF which should have a buildid.
+rundebug rpmbuild \\
+ --define=\"_build_id_links none\" \\
+ --quiet -ba \"\${abs_srcdir}\"/data/SPECS/hello.spec
+
+# There should be zero build-id files in both the main and debuginfo package
+echo -n \"hello build-id files: \"
+run rpm -ql -p \"\${TOPDIR}\"/RPMS/*/hello-1.0-1.*.rpm \\
+ | grep /.build-id/ | wc --lines
+
+echo -n \"hello debuginfo build-id files: \"
+run rpm -ql -p \"\${TOPDIR}\"/RPMS/*/hello-debuginfo-1.0-1.*.rpm \\
+ | grep /.build-id/ | wc --lines
+
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmbuildid.at:25"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# Build, contains one ELF which should have a buildid.
+rundebug rpmbuild \
+ --define="_build_id_links none" \
+ --quiet -ba "${abs_srcdir}"/data/SPECS/hello.spec
+
+# There should be zero build-id files in both the main and debuginfo package
+echo -n "hello build-id files: "
+run rpm -ql -p "${TOPDIR}"/RPMS/*/hello-1.0-1.*.rpm \
+ | grep /.build-id/ | wc --lines
+
+echo -n "hello debuginfo build-id files: "
+run rpm -ql -p "${TOPDIR}"/RPMS/*/hello-debuginfo-1.0-1.*.rpm \
+ | grep /.build-id/ | wc --lines
+
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "hello build-id files: 0
+hello debuginfo build-id files: 0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuildid.at:25"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_143
+#AT_START_144
+at_fn_group_banner 144 'rpmbuildid.at:57' \
+ "rpmbuild buildid alldebug" " " 10
+at_xfail=no
+(
+ $as_echo "144. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuildid.at:59:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp \"\${abs_srcdir}\"/data/SOURCES/hello-1.0.tar.gz \"\${abs_srcdir}\"/data/SOURCES/hello-1.0-modernize.patch \${TOPDIR}/SOURCES
+
+# Build, contains one ELF which should have a buildid.
+rundebug rpmbuild \\
+ --define=\"_build_id_links alldebug\" \\
+ --undefine \"_unique_debug_names\" \\
+ --undefine \"_unique_debug_srcs\" \\
+ --quiet -ba \"\${abs_srcdir}\"/data/SPECS/hello.spec
+
+# There should be zero build-id files in the main package
+# Main and debug should be in the debuginfo package,
+# plus the .build-id/xx subdir, 3 in total.
+echo -n \"hello build-id files: \"
+run rpm -ql -p \"\${TOPDIR}\"/RPMS/*/hello-1.0-1.*.rpm \\
+ | grep /.build-id/ | wc --lines
+
+echo -n \"hello debuginfo build-id files: \"
+run rpm -ql -p \"\${TOPDIR}\"/RPMS/*/hello-debuginfo-1.0-1.*.rpm \\
+ | grep /.build-id/ | wc --lines
+
+# Extract the both packages to check the build-id files link to the
+# main and .debug files.
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm \\
+ | cpio -diu
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu
+
+# Check there is a build-id symlink for the main file.
+main_file=./usr/local/bin/hello
+test -f \"\${main_file}\" || echo \"No main file \${main_file}\"
+
+# Extract the build-id from the main file
+id_main=\$(file \$main_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+
+id_main_file=\"./usr/lib/debug/.build-id/\${id_main:0:2}/\${id_main:2}\"
+test -L \"\$id_main_file\" || echo \"No build-id file \$id_main_file\"
+
+canon_main_file=\$(readlink -f \${main_file})
+
+test -f \"\$canon_main_file\" \\
+ || echo \"Cannot resolve main file \${main_file} -> \${canon_main_file}\"
+
+canon_main_id_file=\$(readlink -f \${id_main_file})
+
+test -f \"\$canon_main_id_file\" \\
+ || echo \"Cannot resolve main build-id file \${id_main_file} -> \${canon_main_id_file}\"
+
+test \"\$canon_main_file\" = \"\$canon_main_id_file\" \\
+ || echo \"main and build-id file not linked\"
+
+# And check the same for the debug file.
+debug_file=./usr/lib/debug/usr/local/bin/hello.debug
+test -f \${debug_file} || echo \"No debug file \${debug_file}\"
+
+# Extract the build-id from the .debug file
+id_debug=\$(file \$debug_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+
+test \${id_main} = \${id_debug} || echo \"unequal main and debug id\"
+
+id_debug_file=\"./usr/lib/debug/.build-id/\${id_debug:0:2}/\${id_debug:2}.debug\"
+test -L \"\$id_debug_file\" || echo \"No build-id file \$id_debug_file\"
+
+canon_debug_file=\$(readlink -f \${debug_file})
+
+test -f \"\$canon_debug_file\" \\
+ || echo \"Cannot resolve debug file \${debug_file} -> \${canon_debug_file}\"
+
+canon_debug_id_file=\$(readlink -f \${id_debug_file})
+
+test -f \"\$canon_debug_id_file\" \\
+ || echo \"Cannot resolve debug build-id file \${id_debug_file} -> \${canon_debug_id_file}\"
+
+test \"\$canon_debug_file\" = \"\$canon_debug_id_file\" \\
+ || echo \"debug and build-id not linked\"
+"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "rpmbuildid.at:59"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# Build, contains one ELF which should have a buildid.
+rundebug rpmbuild \
+ --define="_build_id_links alldebug" \
+ --undefine "_unique_debug_names" \
+ --undefine "_unique_debug_srcs" \
+ --quiet -ba "${abs_srcdir}"/data/SPECS/hello.spec
+
+# There should be zero build-id files in the main package
+# Main and debug should be in the debuginfo package,
+# plus the .build-id/xx subdir, 3 in total.
+echo -n "hello build-id files: "
+run rpm -ql -p "${TOPDIR}"/RPMS/*/hello-1.0-1.*.rpm \
+ | grep /.build-id/ | wc --lines
+
+echo -n "hello debuginfo build-id files: "
+run rpm -ql -p "${TOPDIR}"/RPMS/*/hello-debuginfo-1.0-1.*.rpm \
+ | grep /.build-id/ | wc --lines
+
+# Extract the both packages to check the build-id files link to the
+# main and .debug files.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm \
+ | cpio -diu
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-debuginfo-1.0-1.*.rpm \
+ | cpio -diu
+
+# Check there is a build-id symlink for the main file.
+main_file=./usr/local/bin/hello
+test -f "${main_file}" || echo "No main file ${main_file}"
+
+# Extract the build-id from the main file
+id_main=$(file $main_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+
+id_main_file="./usr/lib/debug/.build-id/${id_main:0:2}/${id_main:2}"
+test -L "$id_main_file" || echo "No build-id file $id_main_file"
+
+canon_main_file=$(readlink -f ${main_file})
+
+test -f "$canon_main_file" \
+ || echo "Cannot resolve main file ${main_file} -> ${canon_main_file}"
+
+canon_main_id_file=$(readlink -f ${id_main_file})
+
+test -f "$canon_main_id_file" \
+ || echo "Cannot resolve main build-id file ${id_main_file} -> ${canon_main_id_file}"
+
+test "$canon_main_file" = "$canon_main_id_file" \
+ || echo "main and build-id file not linked"
+
+# And check the same for the debug file.
+debug_file=./usr/lib/debug/usr/local/bin/hello.debug
+test -f ${debug_file} || echo "No debug file ${debug_file}"
+
+# Extract the build-id from the .debug file
+id_debug=$(file $debug_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+
+test ${id_main} = ${id_debug} || echo "unequal main and debug id"
+
+id_debug_file="./usr/lib/debug/.build-id/${id_debug:0:2}/${id_debug:2}.debug"
+test -L "$id_debug_file" || echo "No build-id file $id_debug_file"
+
+canon_debug_file=$(readlink -f ${debug_file})
+
+test -f "$canon_debug_file" \
+ || echo "Cannot resolve debug file ${debug_file} -> ${canon_debug_file}"
+
+canon_debug_id_file=$(readlink -f ${id_debug_file})
+
+test -f "$canon_debug_id_file" \
+ || echo "Cannot resolve debug build-id file ${id_debug_file} -> ${canon_debug_id_file}"
+
+test "$canon_debug_file" = "$canon_debug_id_file" \
+ || echo "debug and build-id not linked"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "hello build-id files: 0
+hello debuginfo build-id files: 3
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuildid.at:59"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_144
+#AT_START_145
+at_fn_group_banner 145 'rpmbuildid.at:149' \
+ "rpmbuild buildid alldebug unique debug names" " " 10
+at_xfail=no
+(
+ $as_echo "145. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuildid.at:151:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp \"\${abs_srcdir}\"/data/SOURCES/hello-1.0.tar.gz \"\${abs_srcdir}\"/data/SOURCES/hello-1.0-modernize.patch \${TOPDIR}/SOURCES
+
+# Build, contains one ELF which should have a buildid.
+rundebug rpmbuild \\
+ --define=\"_build_id_links alldebug\" \\
+ --define=\"_unique_debug_names 1\" \\
+ --quiet -ba \"\${abs_srcdir}\"/data/SPECS/hello.spec
+
+# There should be zero build-id files in the main package
+# Main and debug should be in the debuginfo package,
+# plus the .build-id/xx subdir, 3 in total.
+echo -n \"hello build-id files: \"
+run rpm -ql -p \"\${TOPDIR}\"/RPMS/*/hello-1.0-1.*.rpm \\
+ | grep /.build-id/ | wc --lines
+
+echo -n \"hello debuginfo build-id files: \"
+run rpm -ql -p \"\${TOPDIR}\"/RPMS/*/hello-debuginfo-1.0-1.*.rpm \\
+ | grep /.build-id/ | wc --lines
+
+# Extract the both packages to check the build-id files link to the
+# main and .debug files.
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm \\
+ | cpio -diu
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu
+
+# Check there is a build-id symlink for the main file.
+main_file=./usr/local/bin/hello
+test -f \"\${main_file}\" || echo \"No main file \${main_file}\"
+
+# Extract the build-id from the main file
+id_main=\$(file \$main_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+
+id_main_file=\"./usr/lib/debug/.build-id/\${id_main:0:2}/\${id_main:2}\"
+test -L \"\$id_main_file\" || echo \"No build-id file \$id_main_file\"
+
+canon_main_file=\$(readlink -f \${main_file})
+
+test -f \"\$canon_main_file\" \\
+ || echo \"Cannot resolve main file \${main_file} -> \${canon_main_file}\"
+
+canon_main_id_file=\$(readlink -f \${id_main_file})
+
+test -f \"\$canon_main_id_file\" \\
+ || echo \"Cannot resolve main build-id file \${id_main_file} -> \${canon_main_id_file}\"
+
+test \"\$canon_main_file\" = \"\$canon_main_id_file\" \\
+ || echo \"main and build-id file not linked\"
+
+# And check the same for the debug file.
+debug_file=./usr/lib/debug/usr/local/bin/hello-*.debug
+test -f \${debug_file} || echo \"No debug file \${debug_file}\"
+
+# Extract the build-id from the .debug file
+id_debug=\$(file \$debug_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+
+test \${id_main} = \${id_debug} || echo \"unequal main and debug id\"
+
+id_debug_file=\"./usr/lib/debug/.build-id/\${id_debug:0:2}/\${id_debug:2}.debug\"
+test -L \"\$id_debug_file\" || echo \"No build-id file \$id_debug_file\"
+
+canon_debug_file=\$(readlink -f \${debug_file})
+
+test -f \"\$canon_debug_file\" \\
+ || echo \"Cannot resolve debug file \${debug_file} -> \${canon_debug_file}\"
+
+canon_debug_id_file=\$(readlink -f \${id_debug_file})
+
+test -f \"\$canon_debug_id_file\" \\
+ || echo \"Cannot resolve debug build-id file \${id_debug_file} -> \${canon_debug_id_file}\"
+
+test \"\$canon_debug_file\" = \"\$canon_debug_id_file\" \\
+ || echo \"debug and build-id not linked\"
+"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "rpmbuildid.at:151"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# Build, contains one ELF which should have a buildid.
+rundebug rpmbuild \
+ --define="_build_id_links alldebug" \
+ --define="_unique_debug_names 1" \
+ --quiet -ba "${abs_srcdir}"/data/SPECS/hello.spec
+
+# There should be zero build-id files in the main package
+# Main and debug should be in the debuginfo package,
+# plus the .build-id/xx subdir, 3 in total.
+echo -n "hello build-id files: "
+run rpm -ql -p "${TOPDIR}"/RPMS/*/hello-1.0-1.*.rpm \
+ | grep /.build-id/ | wc --lines
+
+echo -n "hello debuginfo build-id files: "
+run rpm -ql -p "${TOPDIR}"/RPMS/*/hello-debuginfo-1.0-1.*.rpm \
+ | grep /.build-id/ | wc --lines
+
+# Extract the both packages to check the build-id files link to the
+# main and .debug files.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm \
+ | cpio -diu
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-debuginfo-1.0-1.*.rpm \
+ | cpio -diu
+
+# Check there is a build-id symlink for the main file.
+main_file=./usr/local/bin/hello
+test -f "${main_file}" || echo "No main file ${main_file}"
+
+# Extract the build-id from the main file
+id_main=$(file $main_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+
+id_main_file="./usr/lib/debug/.build-id/${id_main:0:2}/${id_main:2}"
+test -L "$id_main_file" || echo "No build-id file $id_main_file"
+
+canon_main_file=$(readlink -f ${main_file})
+
+test -f "$canon_main_file" \
+ || echo "Cannot resolve main file ${main_file} -> ${canon_main_file}"
+
+canon_main_id_file=$(readlink -f ${id_main_file})
+
+test -f "$canon_main_id_file" \
+ || echo "Cannot resolve main build-id file ${id_main_file} -> ${canon_main_id_file}"
+
+test "$canon_main_file" = "$canon_main_id_file" \
+ || echo "main and build-id file not linked"
+
+# And check the same for the debug file.
+debug_file=./usr/lib/debug/usr/local/bin/hello-*.debug
+test -f ${debug_file} || echo "No debug file ${debug_file}"
+
+# Extract the build-id from the .debug file
+id_debug=$(file $debug_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+
+test ${id_main} = ${id_debug} || echo "unequal main and debug id"
+
+id_debug_file="./usr/lib/debug/.build-id/${id_debug:0:2}/${id_debug:2}.debug"
+test -L "$id_debug_file" || echo "No build-id file $id_debug_file"
+
+canon_debug_file=$(readlink -f ${debug_file})
+
+test -f "$canon_debug_file" \
+ || echo "Cannot resolve debug file ${debug_file} -> ${canon_debug_file}"
+
+canon_debug_id_file=$(readlink -f ${id_debug_file})
+
+test -f "$canon_debug_id_file" \
+ || echo "Cannot resolve debug build-id file ${id_debug_file} -> ${canon_debug_id_file}"
+
+test "$canon_debug_file" = "$canon_debug_id_file" \
+ || echo "debug and build-id not linked"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "hello build-id files: 0
+hello debuginfo build-id files: 3
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuildid.at:151"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_145
+#AT_START_146
+at_fn_group_banner 146 'rpmbuildid.at:240' \
+ "rpmbuild buildid separate" " " 10
+at_xfail=no
+(
+ $as_echo "146. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuildid.at:242:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp \"\${abs_srcdir}\"/data/SOURCES/hello-1.0.tar.gz \"\${abs_srcdir}\"/data/SOURCES/hello-1.0-modernize.patch \${TOPDIR}/SOURCES
+
+# Build, contains one ELF which should have a buildid.
+rundebug rpmbuild \\
+ --define=\"_build_id_links separate\" \\
+ --undefine \"_unique_debug_names\" \\
+ --undefine \"_unique_debug_srcs\" \\
+ --quiet -ba \"\${abs_srcdir}\"/data/SPECS/hello.spec
+
+# There should be one build-id files in the main and debuginfo package
+# plus the .build-id/xx subdir, 2 in total.
+echo -n \"hello build-id files: \"
+run rpm -ql -p \"\${TOPDIR}\"/RPMS/*/hello-1.0-1.*.rpm \\
+ | grep /.build-id/ | wc --lines
+
+echo -n \"hello debuginfo build-id files: \"
+run rpm -ql -p \"\${TOPDIR}\"/RPMS/*/hello-debuginfo-1.0-1.*.rpm \\
+ | grep /.build-id/ | wc --lines
+
+# Extract the both packages to check the build-id files link to the
+# main and .debug files.
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm \\
+ | cpio -diu
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu
+
+# Check there is a build-id symlink for the main file.
+main_file=./usr/local/bin/hello
+test -f \"\${main_file}\" || echo \"No main file \${main_file}\"
+
+# Extract the build-id from the main file
+id_main=\$(file \$main_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+
+id_main_file=\"./usr/lib/.build-id/\${id_main:0:2}/\${id_main:2}\"
+test -L \"\$id_main_file\" || echo \"No build-id file \$id_main_file\"
+
+canon_main_file=\$(readlink -f \${main_file})
+
+test -f \"\$canon_main_file\" \\
+ || echo \"Cannot resolve main file \${main_file} -> \${canon_main_file}\"
+
+canon_main_id_file=\$(readlink -f \${id_main_file})
+
+test -f \"\$canon_main_id_file\" \\
+ || echo \"Cannot resolve main build-id file \${id_main_file} -> \${canon_main_id_file}\"
+
+test \"\$canon_main_file\" = \"\$canon_main_id_file\" \\
+ || echo \"main and build-id file not linked\"
+
+# And check the same for the debug file.
+debug_file=./usr/lib/debug/usr/local/bin/hello.debug
+test -f \${debug_file} || echo \"No debug file \${debug_file}\"
+
+# Extract the build-id from the .debug file
+id_debug=\$(file \$debug_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+
+test \${id_main} = \${id_debug} || echo \"unequal main and debug id\"
+
+id_debug_file=\"./usr/lib/debug/.build-id/\${id_debug:0:2}/\${id_debug:2}.debug\"
+test -L \"\$id_debug_file\" || echo \"No build-id file \$id_debug_file\"
+
+canon_debug_file=\$(readlink -f \${debug_file})
+
+test -f \"\$canon_debug_file\" \\
+ || echo \"Cannot resolve debug file \${debug_file} -> \${canon_debug_file}\"
+
+canon_debug_id_file=\$(readlink -f \${id_debug_file})
+
+test -f \"\$canon_debug_id_file\" \\
+ || echo \"Cannot resolve debug build-id file \${id_debug_file} -> \${canon_debug_id_file}\"
+
+test \"\$canon_debug_file\" = \"\$canon_debug_id_file\" \\
+ || echo \"debug and build-id not linked\"
+"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "rpmbuildid.at:242"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# Build, contains one ELF which should have a buildid.
+rundebug rpmbuild \
+ --define="_build_id_links separate" \
+ --undefine "_unique_debug_names" \
+ --undefine "_unique_debug_srcs" \
+ --quiet -ba "${abs_srcdir}"/data/SPECS/hello.spec
+
+# There should be one build-id files in the main and debuginfo package
+# plus the .build-id/xx subdir, 2 in total.
+echo -n "hello build-id files: "
+run rpm -ql -p "${TOPDIR}"/RPMS/*/hello-1.0-1.*.rpm \
+ | grep /.build-id/ | wc --lines
+
+echo -n "hello debuginfo build-id files: "
+run rpm -ql -p "${TOPDIR}"/RPMS/*/hello-debuginfo-1.0-1.*.rpm \
+ | grep /.build-id/ | wc --lines
+
+# Extract the both packages to check the build-id files link to the
+# main and .debug files.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm \
+ | cpio -diu
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-debuginfo-1.0-1.*.rpm \
+ | cpio -diu
+
+# Check there is a build-id symlink for the main file.
+main_file=./usr/local/bin/hello
+test -f "${main_file}" || echo "No main file ${main_file}"
+
+# Extract the build-id from the main file
+id_main=$(file $main_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+
+id_main_file="./usr/lib/.build-id/${id_main:0:2}/${id_main:2}"
+test -L "$id_main_file" || echo "No build-id file $id_main_file"
+
+canon_main_file=$(readlink -f ${main_file})
+
+test -f "$canon_main_file" \
+ || echo "Cannot resolve main file ${main_file} -> ${canon_main_file}"
+
+canon_main_id_file=$(readlink -f ${id_main_file})
+
+test -f "$canon_main_id_file" \
+ || echo "Cannot resolve main build-id file ${id_main_file} -> ${canon_main_id_file}"
+
+test "$canon_main_file" = "$canon_main_id_file" \
+ || echo "main and build-id file not linked"
+
+# And check the same for the debug file.
+debug_file=./usr/lib/debug/usr/local/bin/hello.debug
+test -f ${debug_file} || echo "No debug file ${debug_file}"
+
+# Extract the build-id from the .debug file
+id_debug=$(file $debug_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+
+test ${id_main} = ${id_debug} || echo "unequal main and debug id"
+
+id_debug_file="./usr/lib/debug/.build-id/${id_debug:0:2}/${id_debug:2}.debug"
+test -L "$id_debug_file" || echo "No build-id file $id_debug_file"
+
+canon_debug_file=$(readlink -f ${debug_file})
+
+test -f "$canon_debug_file" \
+ || echo "Cannot resolve debug file ${debug_file} -> ${canon_debug_file}"
+
+canon_debug_id_file=$(readlink -f ${id_debug_file})
+
+test -f "$canon_debug_id_file" \
+ || echo "Cannot resolve debug build-id file ${id_debug_file} -> ${canon_debug_id_file}"
+
+test "$canon_debug_file" = "$canon_debug_id_file" \
+ || echo "debug and build-id not linked"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "hello build-id files: 2
+hello debuginfo build-id files: 2
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuildid.at:242"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_146
+#AT_START_147
+at_fn_group_banner 147 'rpmbuildid.at:331' \
+ "rpmbuild buildid separate unique debug names" " " 10
+at_xfail=no
+(
+ $as_echo "147. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuildid.at:333:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp \"\${abs_srcdir}\"/data/SOURCES/hello-1.0.tar.gz \"\${abs_srcdir}\"/data/SOURCES/hello-1.0-modernize.patch \${TOPDIR}/SOURCES
+
+# Build, contains one ELF which should have a buildid.
+rundebug rpmbuild \\
+ --define=\"_build_id_links separate\" \\
+ --define=\"_unique_debug_names 1\" \\
+ --quiet -ba \"\${abs_srcdir}\"/data/SPECS/hello.spec
+
+# There should be one build-id files in the main and debuginfo package
+# plus the .build-id/xx subdir, 2 in total.
+echo -n \"hello build-id files: \"
+run rpm -ql -p \"\${TOPDIR}\"/RPMS/*/hello-1.0-1.*.rpm \\
+ | grep /.build-id/ | wc --lines
+
+echo -n \"hello debuginfo build-id files: \"
+run rpm -ql -p \"\${TOPDIR}\"/RPMS/*/hello-debuginfo-1.0-1.*.rpm \\
+ | grep /.build-id/ | wc --lines
+
+# Extract the both packages to check the build-id files link to the
+# main and .debug files.
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm \\
+ | cpio -diu
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu
+
+# Check there is a build-id symlink for the main file.
+main_file=./usr/local/bin/hello
+test -f \"\${main_file}\" || echo \"No main file \${main_file}\"
+
+# Extract the build-id from the main file
+id_main=\$(file \$main_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+
+id_main_file=\"./usr/lib/.build-id/\${id_main:0:2}/\${id_main:2}\"
+test -L \"\$id_main_file\" || echo \"No build-id file \$id_main_file\"
+
+canon_main_file=\$(readlink -f \${main_file})
+
+test -f \"\$canon_main_file\" \\
+ || echo \"Cannot resolve main file \${main_file} -> \${canon_main_file}\"
+
+canon_main_id_file=\$(readlink -f \${id_main_file})
+
+test -f \"\$canon_main_id_file\" \\
+ || echo \"Cannot resolve main build-id file \${id_main_file} -> \${canon_main_id_file}\"
+
+test \"\$canon_main_file\" = \"\$canon_main_id_file\" \\
+ || echo \"main and build-id file not linked\"
+
+# And check the same for the debug file.
+debug_file=./usr/lib/debug/usr/local/bin/hello-*.debug
+test -f \${debug_file} || echo \"No debug file \${debug_file}\"
+
+# Extract the build-id from the .debug file
+id_debug=\$(file \$debug_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+
+test \${id_main} = \${id_debug} || echo \"unequal main and debug id\"
+
+id_debug_file=\"./usr/lib/debug/.build-id/\${id_debug:0:2}/\${id_debug:2}.debug\"
+test -L \"\$id_debug_file\" || echo \"No build-id file \$id_debug_file\"
+
+canon_debug_file=\$(readlink -f \${debug_file})
+
+test -f \"\$canon_debug_file\" \\
+ || echo \"Cannot resolve debug file \${debug_file} -> \${canon_debug_file}\"
+
+canon_debug_id_file=\$(readlink -f \${id_debug_file})
+
+test -f \"\$canon_debug_id_file\" \\
+ || echo \"Cannot resolve debug build-id file \${id_debug_file} -> \${canon_debug_id_file}\"
+
+test \"\$canon_debug_file\" = \"\$canon_debug_id_file\" \\
+ || echo \"debug and build-id not linked\"
+"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "rpmbuildid.at:333"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# Build, contains one ELF which should have a buildid.
+rundebug rpmbuild \
+ --define="_build_id_links separate" \
+ --define="_unique_debug_names 1" \
+ --quiet -ba "${abs_srcdir}"/data/SPECS/hello.spec
+
+# There should be one build-id files in the main and debuginfo package
+# plus the .build-id/xx subdir, 2 in total.
+echo -n "hello build-id files: "
+run rpm -ql -p "${TOPDIR}"/RPMS/*/hello-1.0-1.*.rpm \
+ | grep /.build-id/ | wc --lines
+
+echo -n "hello debuginfo build-id files: "
+run rpm -ql -p "${TOPDIR}"/RPMS/*/hello-debuginfo-1.0-1.*.rpm \
+ | grep /.build-id/ | wc --lines
+
+# Extract the both packages to check the build-id files link to the
+# main and .debug files.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm \
+ | cpio -diu
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-debuginfo-1.0-1.*.rpm \
+ | cpio -diu
+
+# Check there is a build-id symlink for the main file.
+main_file=./usr/local/bin/hello
+test -f "${main_file}" || echo "No main file ${main_file}"
+
+# Extract the build-id from the main file
+id_main=$(file $main_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+
+id_main_file="./usr/lib/.build-id/${id_main:0:2}/${id_main:2}"
+test -L "$id_main_file" || echo "No build-id file $id_main_file"
+
+canon_main_file=$(readlink -f ${main_file})
+
+test -f "$canon_main_file" \
+ || echo "Cannot resolve main file ${main_file} -> ${canon_main_file}"
+
+canon_main_id_file=$(readlink -f ${id_main_file})
+
+test -f "$canon_main_id_file" \
+ || echo "Cannot resolve main build-id file ${id_main_file} -> ${canon_main_id_file}"
+
+test "$canon_main_file" = "$canon_main_id_file" \
+ || echo "main and build-id file not linked"
+
+# And check the same for the debug file.
+debug_file=./usr/lib/debug/usr/local/bin/hello-*.debug
+test -f ${debug_file} || echo "No debug file ${debug_file}"
+
+# Extract the build-id from the .debug file
+id_debug=$(file $debug_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+
+test ${id_main} = ${id_debug} || echo "unequal main and debug id"
+
+id_debug_file="./usr/lib/debug/.build-id/${id_debug:0:2}/${id_debug:2}.debug"
+test -L "$id_debug_file" || echo "No build-id file $id_debug_file"
+
+canon_debug_file=$(readlink -f ${debug_file})
+
+test -f "$canon_debug_file" \
+ || echo "Cannot resolve debug file ${debug_file} -> ${canon_debug_file}"
+
+canon_debug_id_file=$(readlink -f ${id_debug_file})
+
+test -f "$canon_debug_id_file" \
+ || echo "Cannot resolve debug build-id file ${id_debug_file} -> ${canon_debug_id_file}"
+
+test "$canon_debug_file" = "$canon_debug_id_file" \
+ || echo "debug and build-id not linked"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "hello build-id files: 2
+hello debuginfo build-id files: 2
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuildid.at:333"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_147
+#AT_START_148
+at_fn_group_banner 148 'rpmbuildid.at:421' \
+ "rpmbuild buildid compat" " " 10
+at_xfail=no
+(
+ $as_echo "148. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuildid.at:423:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp \"\${abs_srcdir}\"/data/SOURCES/hello-1.0.tar.gz \"\${abs_srcdir}\"/data/SOURCES/hello-1.0-modernize.patch \${TOPDIR}/SOURCES
+
+# Build, contains one ELF which should have a buildid.
+rundebug rpmbuild \\
+ --define=\"_build_id_links compat\" \\
+ --undefine \"_unique_debug_names\" \\
+ --undefine \"_unique_debug_srcs\" \\
+ --quiet -ba \"\${abs_srcdir}\"/data/SPECS/hello.spec
+
+# There should be one build-id files in the main and debuginfo package.
+# the debuginfo package has one extra main build-id compat symlink
+# plus the .build-id/xx subdir, 2 in total in main, 3 in total in debug
+echo -n \"hello build-id files: \"
+run rpm -ql -p \"\${TOPDIR}\"/RPMS/*/hello-1.0-1.*.rpm \\
+ | grep /.build-id/ | wc --lines
+
+echo -n \"hello debuginfo build-id files: \"
+run rpm -ql -p \"\${TOPDIR}\"/RPMS/*/hello-debuginfo-1.0-1.*.rpm \\
+ | grep /.build-id/ | wc --lines
+
+# Extract the both packages to check the build-id files link to the
+# main and .debug files.
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm \\
+ | cpio -diu
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu
+
+# Check there is a build-id symlink for the main file.
+main_file=./usr/local/bin/hello
+test -f \"\${main_file}\" || echo \"No main file \${main_file}\"
+
+# Extract the build-id from the main file
+id_main=\$(file \$main_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+
+id_main_file=\"./usr/lib/.build-id/\${id_main:0:2}/\${id_main:2}\"
+test -L \"\$id_main_file\" || echo \"No build-id file \$id_main_file\"
+
+canon_main_file=\$(readlink -f \${main_file})
+
+test -f \"\$canon_main_file\" \\
+ || echo \"Cannot resolve main file \${main_file} -> \${canon_main_file}\"
+
+canon_main_id_file=\$(readlink -f \${id_main_file})
+
+test -f \"\$canon_main_id_file\" \\
+ || echo \"Cannot resolve main build-id file \${id_main_file} -> \${canon_main_id_file}\"
+
+test \"\$canon_main_file\" = \"\$canon_main_id_file\" \\
+ || echo \"main and build-id file not linked\"
+
+# And check the same for the debug file.
+debug_file=./usr/lib/debug/usr/local/bin/hello.debug
+test -f \${debug_file} || echo \"No debug file \${debug_file}\"
+
+# Extract the build-id from the .debug file
+id_debug=\$(file \$debug_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+
+test \${id_main} = \${id_debug} || echo \"unequal main and debug id\"
+
+id_debug_file=\"./usr/lib/debug/.build-id/\${id_debug:0:2}/\${id_debug:2}.debug\"
+test -L \"\$id_debug_file\" || echo \"No build-id file \$id_debug_file\"
+
+canon_debug_file=\$(readlink -f \${debug_file})
+
+test -f \"\$canon_debug_file\" \\
+ || echo \"Cannot resolve debug file \${debug_file} -> \${canon_debug_file}\"
+
+canon_debug_id_file=\$(readlink -f \${id_debug_file})
+
+test -f \"\$canon_debug_id_file\" \\
+ || echo \"Cannot resolve debug build-id file \${id_debug_file} -> \${canon_debug_id_file}\"
+
+test \"\$canon_debug_file\" = \"\$canon_debug_id_file\" \\
+ || echo \"debug and build-id not linked\"
+
+# The compat link should also point to the same (indirectly).
+id_compat_file=\"./usr/lib/debug/.build-id/\${id_main:0:2}/\${id_main:2}\"
+test -L \"\$id_compat_file\" || echo \"No build-id compat file \$id_compat_file\"
+
+canon_compat_file=\$(readlink -f \${id_compat_file})
+
+test -f \"\$canon_compat_file\" \\
+ || echo \"Cannot resolve compat file \${id_compat_file} -> \${canon_compat_file}\"
+
+test \"\$canon_compat_file\" = \"\$canon_main_file\" \\
+ || echo \"compat and build-id not linked\"
+"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "rpmbuildid.at:423"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# Build, contains one ELF which should have a buildid.
+rundebug rpmbuild \
+ --define="_build_id_links compat" \
+ --undefine "_unique_debug_names" \
+ --undefine "_unique_debug_srcs" \
+ --quiet -ba "${abs_srcdir}"/data/SPECS/hello.spec
+
+# There should be one build-id files in the main and debuginfo package.
+# the debuginfo package has one extra main build-id compat symlink
+# plus the .build-id/xx subdir, 2 in total in main, 3 in total in debug
+echo -n "hello build-id files: "
+run rpm -ql -p "${TOPDIR}"/RPMS/*/hello-1.0-1.*.rpm \
+ | grep /.build-id/ | wc --lines
+
+echo -n "hello debuginfo build-id files: "
+run rpm -ql -p "${TOPDIR}"/RPMS/*/hello-debuginfo-1.0-1.*.rpm \
+ | grep /.build-id/ | wc --lines
+
+# Extract the both packages to check the build-id files link to the
+# main and .debug files.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm \
+ | cpio -diu
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-debuginfo-1.0-1.*.rpm \
+ | cpio -diu
+
+# Check there is a build-id symlink for the main file.
+main_file=./usr/local/bin/hello
+test -f "${main_file}" || echo "No main file ${main_file}"
+
+# Extract the build-id from the main file
+id_main=$(file $main_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+
+id_main_file="./usr/lib/.build-id/${id_main:0:2}/${id_main:2}"
+test -L "$id_main_file" || echo "No build-id file $id_main_file"
+
+canon_main_file=$(readlink -f ${main_file})
+
+test -f "$canon_main_file" \
+ || echo "Cannot resolve main file ${main_file} -> ${canon_main_file}"
+
+canon_main_id_file=$(readlink -f ${id_main_file})
+
+test -f "$canon_main_id_file" \
+ || echo "Cannot resolve main build-id file ${id_main_file} -> ${canon_main_id_file}"
+
+test "$canon_main_file" = "$canon_main_id_file" \
+ || echo "main and build-id file not linked"
+
+# And check the same for the debug file.
+debug_file=./usr/lib/debug/usr/local/bin/hello.debug
+test -f ${debug_file} || echo "No debug file ${debug_file}"
+
+# Extract the build-id from the .debug file
+id_debug=$(file $debug_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+
+test ${id_main} = ${id_debug} || echo "unequal main and debug id"
+
+id_debug_file="./usr/lib/debug/.build-id/${id_debug:0:2}/${id_debug:2}.debug"
+test -L "$id_debug_file" || echo "No build-id file $id_debug_file"
+
+canon_debug_file=$(readlink -f ${debug_file})
+
+test -f "$canon_debug_file" \
+ || echo "Cannot resolve debug file ${debug_file} -> ${canon_debug_file}"
+
+canon_debug_id_file=$(readlink -f ${id_debug_file})
+
+test -f "$canon_debug_id_file" \
+ || echo "Cannot resolve debug build-id file ${id_debug_file} -> ${canon_debug_id_file}"
+
+test "$canon_debug_file" = "$canon_debug_id_file" \
+ || echo "debug and build-id not linked"
+
+# The compat link should also point to the same (indirectly).
+id_compat_file="./usr/lib/debug/.build-id/${id_main:0:2}/${id_main:2}"
+test -L "$id_compat_file" || echo "No build-id compat file $id_compat_file"
+
+canon_compat_file=$(readlink -f ${id_compat_file})
+
+test -f "$canon_compat_file" \
+ || echo "Cannot resolve compat file ${id_compat_file} -> ${canon_compat_file}"
+
+test "$canon_compat_file" = "$canon_main_file" \
+ || echo "compat and build-id not linked"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "hello build-id files: 2
+hello debuginfo build-id files: 3
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuildid.at:423"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_148
+#AT_START_149
+at_fn_group_banner 149 'rpmbuildid.at:525' \
+ "rpmbuild buildid compat unique debug names" " " 10
+at_xfail=no
+(
+ $as_echo "149. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuildid.at:527:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp \"\${abs_srcdir}\"/data/SOURCES/hello-1.0.tar.gz \"\${abs_srcdir}\"/data/SOURCES/hello-1.0-modernize.patch \${TOPDIR}/SOURCES
+
+# Build, contains one ELF which should have a buildid.
+rundebug rpmbuild \\
+ --define=\"_build_id_links compat\" \\
+ --define=\"_unique_debug_names 1\" \\
+ --quiet -ba \"\${abs_srcdir}\"/data/SPECS/hello.spec
+
+# There should be one build-id files in the main and debuginfo package.
+# the debuginfo package has one extra main build-id compat symlink
+# plus the .build-id/xx subdir, 2 in total in main, 3 in total in debug
+echo -n \"hello build-id files: \"
+run rpm -ql -p \"\${TOPDIR}\"/RPMS/*/hello-1.0-1.*.rpm \\
+ | grep /.build-id/ | wc --lines
+
+echo -n \"hello debuginfo build-id files: \"
+run rpm -ql -p \"\${TOPDIR}\"/RPMS/*/hello-debuginfo-1.0-1.*.rpm \\
+ | grep /.build-id/ | wc --lines
+
+# Extract the both packages to check the build-id files link to the
+# main and .debug files.
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm \\
+ | cpio -diu
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu
+
+# Check there is a build-id symlink for the main file.
+main_file=./usr/local/bin/hello
+test -f \"\${main_file}\" || echo \"No main file \${main_file}\"
+
+# Extract the build-id from the main file
+id_main=\$(file \$main_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+
+id_main_file=\"./usr/lib/.build-id/\${id_main:0:2}/\${id_main:2}\"
+test -L \"\$id_main_file\" || echo \"No build-id file \$id_main_file\"
+
+canon_main_file=\$(readlink -f \${main_file})
+
+test -f \"\$canon_main_file\" \\
+ || echo \"Cannot resolve main file \${main_file} -> \${canon_main_file}\"
+
+canon_main_id_file=\$(readlink -f \${id_main_file})
+
+test -f \"\$canon_main_id_file\" \\
+ || echo \"Cannot resolve main build-id file \${id_main_file} -> \${canon_main_id_file}\"
+
+test \"\$canon_main_file\" = \"\$canon_main_id_file\" \\
+ || echo \"main and build-id file not linked\"
+
+# And check the same for the debug file.
+debug_file=./usr/lib/debug/usr/local/bin/hello-*debug
+test -f \${debug_file} || echo \"No debug file \${debug_file}\"
+
+# Extract the build-id from the .debug file
+id_debug=\$(file \$debug_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+
+test \${id_main} = \${id_debug} || echo \"unequal main and debug id\"
+
+id_debug_file=\"./usr/lib/debug/.build-id/\${id_debug:0:2}/\${id_debug:2}.debug\"
+test -L \"\$id_debug_file\" || echo \"No build-id file \$id_debug_file\"
+
+canon_debug_file=\$(readlink -f \${debug_file})
+
+test -f \"\$canon_debug_file\" \\
+ || echo \"Cannot resolve debug file \${debug_file} -> \${canon_debug_file}\"
+
+canon_debug_id_file=\$(readlink -f \${id_debug_file})
+
+test -f \"\$canon_debug_id_file\" \\
+ || echo \"Cannot resolve debug build-id file \${id_debug_file} -> \${canon_debug_id_file}\"
+
+test \"\$canon_debug_file\" = \"\$canon_debug_id_file\" \\
+ || echo \"debug and build-id not linked\"
+
+# The compat link should also point to the same (indirectly).
+id_compat_file=\"./usr/lib/debug/.build-id/\${id_main:0:2}/\${id_main:2}\"
+test -L \"\$id_compat_file\" || echo \"No build-id compat file \$id_compat_file\"
+
+canon_compat_file=\$(readlink -f \${id_compat_file})
+
+test -f \"\$canon_compat_file\" \\
+ || echo \"Cannot resolve compat file \${id_compat_file} -> \${canon_compat_file}\"
+
+test \"\$canon_compat_file\" = \"\$canon_main_file\" \\
+ || echo \"compat and build-id not linked\"
+"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "rpmbuildid.at:527"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# Build, contains one ELF which should have a buildid.
+rundebug rpmbuild \
+ --define="_build_id_links compat" \
+ --define="_unique_debug_names 1" \
+ --quiet -ba "${abs_srcdir}"/data/SPECS/hello.spec
+
+# There should be one build-id files in the main and debuginfo package.
+# the debuginfo package has one extra main build-id compat symlink
+# plus the .build-id/xx subdir, 2 in total in main, 3 in total in debug
+echo -n "hello build-id files: "
+run rpm -ql -p "${TOPDIR}"/RPMS/*/hello-1.0-1.*.rpm \
+ | grep /.build-id/ | wc --lines
+
+echo -n "hello debuginfo build-id files: "
+run rpm -ql -p "${TOPDIR}"/RPMS/*/hello-debuginfo-1.0-1.*.rpm \
+ | grep /.build-id/ | wc --lines
+
+# Extract the both packages to check the build-id files link to the
+# main and .debug files.
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm \
+ | cpio -diu
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-debuginfo-1.0-1.*.rpm \
+ | cpio -diu
+
+# Check there is a build-id symlink for the main file.
+main_file=./usr/local/bin/hello
+test -f "${main_file}" || echo "No main file ${main_file}"
+
+# Extract the build-id from the main file
+id_main=$(file $main_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+
+id_main_file="./usr/lib/.build-id/${id_main:0:2}/${id_main:2}"
+test -L "$id_main_file" || echo "No build-id file $id_main_file"
+
+canon_main_file=$(readlink -f ${main_file})
+
+test -f "$canon_main_file" \
+ || echo "Cannot resolve main file ${main_file} -> ${canon_main_file}"
+
+canon_main_id_file=$(readlink -f ${id_main_file})
+
+test -f "$canon_main_id_file" \
+ || echo "Cannot resolve main build-id file ${id_main_file} -> ${canon_main_id_file}"
+
+test "$canon_main_file" = "$canon_main_id_file" \
+ || echo "main and build-id file not linked"
+
+# And check the same for the debug file.
+debug_file=./usr/lib/debug/usr/local/bin/hello-*debug
+test -f ${debug_file} || echo "No debug file ${debug_file}"
+
+# Extract the build-id from the .debug file
+id_debug=$(file $debug_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+
+test ${id_main} = ${id_debug} || echo "unequal main and debug id"
+
+id_debug_file="./usr/lib/debug/.build-id/${id_debug:0:2}/${id_debug:2}.debug"
+test -L "$id_debug_file" || echo "No build-id file $id_debug_file"
+
+canon_debug_file=$(readlink -f ${debug_file})
+
+test -f "$canon_debug_file" \
+ || echo "Cannot resolve debug file ${debug_file} -> ${canon_debug_file}"
+
+canon_debug_id_file=$(readlink -f ${id_debug_file})
+
+test -f "$canon_debug_id_file" \
+ || echo "Cannot resolve debug build-id file ${id_debug_file} -> ${canon_debug_id_file}"
+
+test "$canon_debug_file" = "$canon_debug_id_file" \
+ || echo "debug and build-id not linked"
+
+# The compat link should also point to the same (indirectly).
+id_compat_file="./usr/lib/debug/.build-id/${id_main:0:2}/${id_main:2}"
+test -L "$id_compat_file" || echo "No build-id compat file $id_compat_file"
+
+canon_compat_file=$(readlink -f ${id_compat_file})
+
+test -f "$canon_compat_file" \
+ || echo "Cannot resolve compat file ${id_compat_file} -> ${canon_compat_file}"
+
+test "$canon_compat_file" = "$canon_main_file" \
+ || echo "compat and build-id not linked"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "hello build-id files: 2
+hello debuginfo build-id files: 3
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuildid.at:527"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_149
+#AT_START_150
+at_fn_group_banner 150 'rpmbuildid.at:629' \
+ "rpmbuild buildid duplicate alldebug" " " 10
+at_xfail=no
+(
+ $as_echo "150. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuildid.at:631:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+cp \"\${abs_srcdir}\"/data/SOURCES/hello-1.0.tar.gz \"\${abs_srcdir}\"/data/SOURCES/hello-1.0-modernize.patch \${TOPDIR}/SOURCES
+
+# Should create two warnings
+rundebug rpmbuild --quiet \\
+ --define=\"_build_id_links alldebug\" \\
+ -ba \"\${abs_srcdir}\"/data/SPECS/hello2cp.spec 2>&1 | grep \"^warning: \" \\
+ | cut -f1-3 -d' '
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+
+hello_file=./usr/local/bin/hello
+
+# Extract the build-id from the main file
+id=\$(file \$hello_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+
+# alldebug not here...
+id_file=\"./usr/lib/debug/.build-id/\${id:0:2}/\${id:2}\"
+test -L \"\$id_file\" && echo \"main id in main package\"
+id_dup_file=\"./usr/lib/debug/.build-id/\${id:0:2}/\${id:2}.1\"
+test -L \"\$id_dup_file\" && echo \"main dup id in main package\"
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+
+# alldebug, so they are all here
+test -L \"\$id_file\" && echo \"main id in debug package\"
+test -L \"\$id_dup_file\" && echo \"main dup id in debug package\"
+
+debug_id_file=\"./usr/lib/debug/.build-id/\${id:0:2}/\${id:2}.debug\"
+test -L \"\$debug_id_file\" && echo \"debug id in debug package\"
+debug_dup_file=\"./usr/lib/debug/.build-id/\${id:0:2}/\${id:2}.1.debug\"
+test -L \"\$debug_dup_file\" && echo \"debug dup id in debug package\"
+
+# We don't know which points to which, but we do know they point
+# to different files.
+canon_id_file=\$(readlink -f \${id_file})
+canon_dup_file=\$(readlink -f \${id_dup_file})
+test \"\$canon_id_file\" != \"\$canon_dup_file\" \\
+ || echo \"id and dup same\"
+
+canon_debug_id_file=\$(readlink -f \${debug_id_file})
+canon_debug_dup_file=\$(readlink -f \${debug_dup_file})
+test \"\$canon_debug_id_file\" != \"\$canon_debug_dup_file\" \\
+ || echo \"debug id and dup same\"
+"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "rpmbuildid.at:631"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# Should create two warnings
+rundebug rpmbuild --quiet \
+ --define="_build_id_links alldebug" \
+ -ba "${abs_srcdir}"/data/SPECS/hello2cp.spec 2>&1 | grep "^warning: " \
+ | cut -f1-3 -d' '
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+hello_file=./usr/local/bin/hello
+
+# Extract the build-id from the main file
+id=$(file $hello_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+
+# alldebug not here...
+id_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}"
+test -L "$id_file" && echo "main id in main package"
+id_dup_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.1"
+test -L "$id_dup_file" && echo "main dup id in main package"
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+# alldebug, so they are all here
+test -L "$id_file" && echo "main id in debug package"
+test -L "$id_dup_file" && echo "main dup id in debug package"
+
+debug_id_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.debug"
+test -L "$debug_id_file" && echo "debug id in debug package"
+debug_dup_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.1.debug"
+test -L "$debug_dup_file" && echo "debug dup id in debug package"
+
+# We don't know which points to which, but we do know they point
+# to different files.
+canon_id_file=$(readlink -f ${id_file})
+canon_dup_file=$(readlink -f ${id_dup_file})
+test "$canon_id_file" != "$canon_dup_file" \
+ || echo "id and dup same"
+
+canon_debug_id_file=$(readlink -f ${debug_id_file})
+canon_debug_dup_file=$(readlink -f ${debug_dup_file})
+test "$canon_debug_id_file" != "$canon_debug_dup_file" \
+ || echo "debug id and dup same"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "warning: Duplicate build-ids
+warning: Duplicate build-ids
+main id in debug package
+main dup id in debug package
+debug id in debug package
+debug dup id in debug package
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuildid.at:631"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_150
+#AT_START_151
+at_fn_group_banner 151 'rpmbuildid.at:697' \
+ "rpmbuild buildid hardlink alldebug" " " 10
+at_xfail=no
+(
+ $as_echo "151. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuildid.at:699:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+cp \"\${abs_srcdir}\"/data/SOURCES/hello-1.0.tar.gz \"\${abs_srcdir}\"/data/SOURCES/hello-1.0-modernize.patch \${TOPDIR}/SOURCES
+
+# No warnings for hard links
+rundebug rpmbuild --quiet \\
+ --define=\"_build_id_links alldebug\" \\
+ -ba \"\${abs_srcdir}\"/data/SPECS/hello2ln.spec 2>&1 | grep \"^warning: \" \\
+ | cut -f1-3 -d' '
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+
+hello_file=./usr/local/bin/hello
+
+# Extract the build-id from the main file
+id=\$(file \$hello_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+
+# alldebug not here...
+id_file=\"./usr/lib/debug/.build-id/\${id:0:2}/\${id:2}\"
+test -L \"\$id_file\" && echo \"main id in main package\"
+id_dup_file=\"./usr/lib/debug/.build-id/\${id:0:2}/\${id:2}.1\"
+test -L \"\$id_dup_file\" && echo \"main dup id in main package\"
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+
+# alldebug, so they are all here
+test -L \"\$id_file\" && echo \"main id in debug package\"
+test -L \"\$id_dup_file\" && echo \"main dup id in debug package\"
+
+debug_id_file=\"./usr/lib/debug/.build-id/\${id:0:2}/\${id:2}.debug\"
+test -L \"\$debug_id_file\" && echo \"debug id in debug package\"
+debug_dup_file=\"./usr/lib/debug/.build-id/\${id:0:2}/\${id:2}.1.debug\"
+test -L \"\$debug_dup_file\" && echo \"debug dup id in debug package\"
+
+# We don't know which points to which, but we do know they point
+# to different files.
+canon_id_file=\$(readlink -f \${id_file})
+canon_dup_file=\$(readlink -f \${id_dup_file})
+test \"\$canon_id_file\" != \"\$canon_dup_file\" \\
+ || echo \"id and dup same\"
+
+canon_debug_id_file=\$(readlink -f \${debug_id_file})
+canon_debug_dup_file=\$(readlink -f \${debug_dup_file})
+test \"\$canon_debug_id_file\" != \"\$canon_debug_dup_file\" \\
+ || echo \"debug id and dup same\"
+"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "rpmbuildid.at:699"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# No warnings for hard links
+rundebug rpmbuild --quiet \
+ --define="_build_id_links alldebug" \
+ -ba "${abs_srcdir}"/data/SPECS/hello2ln.spec 2>&1 | grep "^warning: " \
+ | cut -f1-3 -d' '
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+hello_file=./usr/local/bin/hello
+
+# Extract the build-id from the main file
+id=$(file $hello_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+
+# alldebug not here...
+id_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}"
+test -L "$id_file" && echo "main id in main package"
+id_dup_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.1"
+test -L "$id_dup_file" && echo "main dup id in main package"
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+# alldebug, so they are all here
+test -L "$id_file" && echo "main id in debug package"
+test -L "$id_dup_file" && echo "main dup id in debug package"
+
+debug_id_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.debug"
+test -L "$debug_id_file" && echo "debug id in debug package"
+debug_dup_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.1.debug"
+test -L "$debug_dup_file" && echo "debug dup id in debug package"
+
+# We don't know which points to which, but we do know they point
+# to different files.
+canon_id_file=$(readlink -f ${id_file})
+canon_dup_file=$(readlink -f ${id_dup_file})
+test "$canon_id_file" != "$canon_dup_file" \
+ || echo "id and dup same"
+
+canon_debug_id_file=$(readlink -f ${debug_id_file})
+canon_debug_dup_file=$(readlink -f ${debug_dup_file})
+test "$canon_debug_id_file" != "$canon_debug_dup_file" \
+ || echo "debug id and dup same"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "main id in debug package
+main dup id in debug package
+debug id in debug package
+debug dup id in debug package
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuildid.at:699"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_151
+#AT_START_152
+at_fn_group_banner 152 'rpmbuildid.at:762' \
+ "rpmbuild buildid duplicate separate" " " 10
+at_xfail=no
+(
+ $as_echo "152. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuildid.at:764:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+cp \"\${abs_srcdir}\"/data/SOURCES/hello-1.0.tar.gz \"\${abs_srcdir}\"/data/SOURCES/hello-1.0-modernize.patch \${TOPDIR}/SOURCES
+
+# Should create two warnings
+rundebug rpmbuild --quiet \\
+ --define=\"_build_id_links separate\" \\
+ -ba \"\${abs_srcdir}\"/data/SPECS/hello2cp.spec 2>&1 | grep \"^warning: \" \\
+ | cut -f1-3 -d' '
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+
+hello_file=./usr/local/bin/hello
+
+# Extract the build-id from the main file
+id=\$(file \$hello_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+
+# separate build-ids split...
+id_file=\"./usr/lib/.build-id/\${id:0:2}/\${id:2}\"
+test -L \"\$id_file\" && echo \"main id in main package\"
+id_dup_file=\"./usr/lib/.build-id/\${id:0:2}/\${id:2}.1\"
+test -L \"\$id_dup_file\" && echo \"main dup id in main package\"
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+
+# separate, so debug ids are here
+debug_id_file=\"./usr/lib/debug/.build-id/\${id:0:2}/\${id:2}.debug\"
+test -L \"\$debug_id_file\" && echo \"debug id in debug package\"
+debug_dup_file=\"./usr/lib/debug/.build-id/\${id:0:2}/\${id:2}.1.debug\"
+test -L \"\$debug_dup_file\" && echo \"debug dup id in debug package\"
+
+# We don't know which points to which, but we do know they point
+# to different files.
+canon_id_file=\$(readlink -f \${id_file})
+canon_dup_file=\$(readlink -f \${id_dup_file})
+test \"\$canon_id_file\" != \"\$canon_dup_file\" \\
+ || echo \"id and dup same\"
+
+canon_debug_id_file=\$(readlink -f \${debug_id_file})
+canon_debug_dup_file=\$(readlink -f \${debug_dup_file})
+test \"\$canon_debug_id_file\" != \"\$canon_debug_dup_file\" \\
+ || echo \"debug id and dup same\"
+"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "rpmbuildid.at:764"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# Should create two warnings
+rundebug rpmbuild --quiet \
+ --define="_build_id_links separate" \
+ -ba "${abs_srcdir}"/data/SPECS/hello2cp.spec 2>&1 | grep "^warning: " \
+ | cut -f1-3 -d' '
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+hello_file=./usr/local/bin/hello
+
+# Extract the build-id from the main file
+id=$(file $hello_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+
+# separate build-ids split...
+id_file="./usr/lib/.build-id/${id:0:2}/${id:2}"
+test -L "$id_file" && echo "main id in main package"
+id_dup_file="./usr/lib/.build-id/${id:0:2}/${id:2}.1"
+test -L "$id_dup_file" && echo "main dup id in main package"
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+# separate, so debug ids are here
+debug_id_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.debug"
+test -L "$debug_id_file" && echo "debug id in debug package"
+debug_dup_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.1.debug"
+test -L "$debug_dup_file" && echo "debug dup id in debug package"
+
+# We don't know which points to which, but we do know they point
+# to different files.
+canon_id_file=$(readlink -f ${id_file})
+canon_dup_file=$(readlink -f ${id_dup_file})
+test "$canon_id_file" != "$canon_dup_file" \
+ || echo "id and dup same"
+
+canon_debug_id_file=$(readlink -f ${debug_id_file})
+canon_debug_dup_file=$(readlink -f ${debug_dup_file})
+test "$canon_debug_id_file" != "$canon_debug_dup_file" \
+ || echo "debug id and dup same"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "warning: Duplicate build-ids
+warning: Duplicate build-ids
+main id in main package
+main dup id in main package
+debug id in debug package
+debug dup id in debug package
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuildid.at:764"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_152
+#AT_START_153
+at_fn_group_banner 153 'rpmbuildid.at:827' \
+ "rpmbuild buildid hardlink separate" " " 10
+at_xfail=no
+(
+ $as_echo "153. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuildid.at:829:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+cp \"\${abs_srcdir}\"/data/SOURCES/hello-1.0.tar.gz \"\${abs_srcdir}\"/data/SOURCES/hello-1.0-modernize.patch \${TOPDIR}/SOURCES
+
+# No warnings for hard links
+rundebug rpmbuild --quiet \\
+ --define=\"_build_id_links separate\" \\
+ -ba \"\${abs_srcdir}\"/data/SPECS/hello2ln.spec 2>&1 | grep \"^warning: \" \\
+ | cut -f1-3 -d' '
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+
+hello_file=./usr/local/bin/hello
+
+# Extract the build-id from the main file
+id=\$(file \$hello_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+
+# separate build-ids split...
+id_file=\"./usr/lib/.build-id/\${id:0:2}/\${id:2}\"
+test -L \"\$id_file\" && echo \"main id in main package\"
+id_dup_file=\"./usr/lib/.build-id/\${id:0:2}/\${id:2}.1\"
+test -L \"\$id_dup_file\" && echo \"main dup id in main package\"
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+
+# separate, so debug ids are here
+debug_id_file=\"./usr/lib/debug/.build-id/\${id:0:2}/\${id:2}.debug\"
+test -L \"\$debug_id_file\" && echo \"debug id in debug package\"
+debug_dup_file=\"./usr/lib/debug/.build-id/\${id:0:2}/\${id:2}.1.debug\"
+test -L \"\$debug_dup_file\" && echo \"debug dup id in debug package\"
+
+# We don't know which points to which, but we do know they point
+# to different files.
+canon_id_file=\$(readlink -f \${id_file})
+canon_dup_file=\$(readlink -f \${id_dup_file})
+test \"\$canon_id_file\" != \"\$canon_dup_file\" \\
+ || echo \"id and dup same\"
+
+canon_debug_id_file=\$(readlink -f \${debug_id_file})
+canon_debug_dup_file=\$(readlink -f \${debug_dup_file})
+test \"\$canon_debug_id_file\" != \"\$canon_debug_dup_file\" \\
+ || echo \"debug id and dup same\"
+"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "rpmbuildid.at:829"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# No warnings for hard links
+rundebug rpmbuild --quiet \
+ --define="_build_id_links separate" \
+ -ba "${abs_srcdir}"/data/SPECS/hello2ln.spec 2>&1 | grep "^warning: " \
+ | cut -f1-3 -d' '
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+hello_file=./usr/local/bin/hello
+
+# Extract the build-id from the main file
+id=$(file $hello_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+
+# separate build-ids split...
+id_file="./usr/lib/.build-id/${id:0:2}/${id:2}"
+test -L "$id_file" && echo "main id in main package"
+id_dup_file="./usr/lib/.build-id/${id:0:2}/${id:2}.1"
+test -L "$id_dup_file" && echo "main dup id in main package"
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+# separate, so debug ids are here
+debug_id_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.debug"
+test -L "$debug_id_file" && echo "debug id in debug package"
+debug_dup_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.1.debug"
+test -L "$debug_dup_file" && echo "debug dup id in debug package"
+
+# We don't know which points to which, but we do know they point
+# to different files.
+canon_id_file=$(readlink -f ${id_file})
+canon_dup_file=$(readlink -f ${id_dup_file})
+test "$canon_id_file" != "$canon_dup_file" \
+ || echo "id and dup same"
+
+canon_debug_id_file=$(readlink -f ${debug_id_file})
+canon_debug_dup_file=$(readlink -f ${debug_dup_file})
+test "$canon_debug_id_file" != "$canon_debug_dup_file" \
+ || echo "debug id and dup same"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "main id in main package
+main dup id in main package
+debug id in debug package
+debug dup id in debug package
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuildid.at:829"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_153
+#AT_START_154
+at_fn_group_banner 154 'rpmbuildid.at:889' \
+ "rpmbuild buildid duplicate compat" " " 10
+at_xfail=no
+(
+ $as_echo "154. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuildid.at:891:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+cp \"\${abs_srcdir}\"/data/SOURCES/hello-1.0.tar.gz \"\${abs_srcdir}\"/data/SOURCES/hello-1.0-modernize.patch \${TOPDIR}/SOURCES
+
+# Should create two warnings
+rundebug rpmbuild --quiet \\
+ --define=\"_build_id_links compat\" \\
+ -ba \"\${abs_srcdir}\"/data/SPECS/hello2cp.spec 2>&1 | grep \"^warning: \" \\
+ | cut -f1-3 -d' '
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+
+hello_file=./usr/local/bin/hello
+
+# Extract the build-id from the main file
+id=\$(file \$hello_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+
+# compat build-ids split...
+id_file=\"./usr/lib/.build-id/\${id:0:2}/\${id:2}\"
+test -L \"\$id_file\" && echo \"main id in main package\"
+id_dup_file=\"./usr/lib/.build-id/\${id:0:2}/\${id:2}.1\"
+test -L \"\$id_dup_file\" && echo \"main dup id in main package\"
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+
+# compat, so main (and debug) ids are (also) here
+compat_file=\"./usr/lib/debug/.build-id/\${id:0:2}/\${id:2}\"
+test -L \"\$compat_file\" && echo \"compat id in debug package\"
+compat_dup_file=\"./usr/lib/debug/.build-id/\${id:0:2}/\${id:2}.1\"
+test -L \"\$compat_dup_file\" && echo \"compat dup id in debug package\"
+
+debug_id_file=\"./usr/lib/debug/.build-id/\${id:0:2}/\${id:2}.debug\"
+test -L \"\$debug_id_file\" && echo \"debug id in debug package\"
+debug_dup_file=\"./usr/lib/debug/.build-id/\${id:0:2}/\${id:2}.1.debug\"
+test -L \"\$debug_dup_file\" && echo \"debug dup id in debug package\"
+
+# We don't know which points to which, but we do know they point
+# to different files.
+canon_id_file=\$(readlink -f \${id_file})
+canon_dup_file=\$(readlink -f \${id_dup_file})
+test \"\$canon_id_file\" != \"\$canon_dup_file\" \\
+ || echo \"id and dup same\"
+
+canon_debug_id_file=\$(readlink -f \${debug_id_file})
+canon_debug_dup_file=\$(readlink -f \${debug_dup_file})
+test \"\$canon_debug_id_file\" != \"\$canon_debug_dup_file\" \\
+ || echo \"debug id and dup same\"
+
+canon_compat_file=\$(readlink -f \${compat_file})
+canon_compat_dup_file=\$(readlink -f \${compat_dup_file})
+test \"\$canon_compat_file\" != \"\$canon_compat_dup_file\" \\
+ || echo \"compat id and dup same\"
+"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "rpmbuildid.at:891"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# Should create two warnings
+rundebug rpmbuild --quiet \
+ --define="_build_id_links compat" \
+ -ba "${abs_srcdir}"/data/SPECS/hello2cp.spec 2>&1 | grep "^warning: " \
+ | cut -f1-3 -d' '
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+hello_file=./usr/local/bin/hello
+
+# Extract the build-id from the main file
+id=$(file $hello_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+
+# compat build-ids split...
+id_file="./usr/lib/.build-id/${id:0:2}/${id:2}"
+test -L "$id_file" && echo "main id in main package"
+id_dup_file="./usr/lib/.build-id/${id:0:2}/${id:2}.1"
+test -L "$id_dup_file" && echo "main dup id in main package"
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+# compat, so main (and debug) ids are (also) here
+compat_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}"
+test -L "$compat_file" && echo "compat id in debug package"
+compat_dup_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.1"
+test -L "$compat_dup_file" && echo "compat dup id in debug package"
+
+debug_id_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.debug"
+test -L "$debug_id_file" && echo "debug id in debug package"
+debug_dup_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.1.debug"
+test -L "$debug_dup_file" && echo "debug dup id in debug package"
+
+# We don't know which points to which, but we do know they point
+# to different files.
+canon_id_file=$(readlink -f ${id_file})
+canon_dup_file=$(readlink -f ${id_dup_file})
+test "$canon_id_file" != "$canon_dup_file" \
+ || echo "id and dup same"
+
+canon_debug_id_file=$(readlink -f ${debug_id_file})
+canon_debug_dup_file=$(readlink -f ${debug_dup_file})
+test "$canon_debug_id_file" != "$canon_debug_dup_file" \
+ || echo "debug id and dup same"
+
+canon_compat_file=$(readlink -f ${compat_file})
+canon_compat_dup_file=$(readlink -f ${compat_dup_file})
+test "$canon_compat_file" != "$canon_compat_dup_file" \
+ || echo "compat id and dup same"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "warning: Duplicate build-ids
+warning: Duplicate build-ids
+main id in main package
+main dup id in main package
+compat id in debug package
+compat dup id in debug package
+debug id in debug package
+debug dup id in debug package
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuildid.at:891"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_154
+#AT_START_155
+at_fn_group_banner 155 'rpmbuildid.at:966' \
+ "rpmbuild buildid hardlink compat" " " 10
+at_xfail=no
+(
+ $as_echo "155. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuildid.at:968:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+cp \"\${abs_srcdir}\"/data/SOURCES/hello-1.0.tar.gz \"\${abs_srcdir}\"/data/SOURCES/hello-1.0-modernize.patch \${TOPDIR}/SOURCES
+
+# No warnings for hard links
+rundebug rpmbuild --quiet \\
+ --define=\"_build_id_links compat\" \\
+ -ba \"\${abs_srcdir}\"/data/SPECS/hello2ln.spec 2>&1 | grep \"^warning: \" \\
+ | cut -f1-3 -d' '
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+
+hello_file=./usr/local/bin/hello
+
+# Extract the build-id from the main file
+id=\$(file \$hello_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+
+# compat build-ids split...
+id_file=\"./usr/lib/.build-id/\${id:0:2}/\${id:2}\"
+test -L \"\$id_file\" && echo \"main id in main package\"
+id_dup_file=\"./usr/lib/.build-id/\${id:0:2}/\${id:2}.1\"
+test -L \"\$id_dup_file\" && echo \"main dup id in main package\"
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+
+# compat, so main (and debug) ids are (also) here
+compat_file=\"./usr/lib/debug/.build-id/\${id:0:2}/\${id:2}\"
+test -L \"\$compat_file\" && echo \"compat id in debug package\"
+compat_dup_file=\"./usr/lib/debug/.build-id/\${id:0:2}/\${id:2}.1\"
+test -L \"\$compat_dup_file\" && echo \"compat dup id in debug package\"
+
+debug_id_file=\"./usr/lib/debug/.build-id/\${id:0:2}/\${id:2}.debug\"
+test -L \"\$debug_id_file\" && echo \"debug id in debug package\"
+debug_dup_file=\"./usr/lib/debug/.build-id/\${id:0:2}/\${id:2}.1.debug\"
+test -L \"\$debug_dup_file\" && echo \"debug dup id in debug package\"
+
+# We don't know which points to which, but we do know they point
+# to different files.
+canon_id_file=\$(readlink -f \${id_file})
+canon_dup_file=\$(readlink -f \${id_dup_file})
+test \"\$canon_id_file\" != \"\$canon_dup_file\" \\
+ || echo \"id and dup same\"
+
+canon_debug_id_file=\$(readlink -f \${debug_id_file})
+canon_debug_dup_file=\$(readlink -f \${debug_dup_file})
+test \"\$canon_debug_id_file\" != \"\$canon_debug_dup_file\" \\
+ || echo \"debug id and dup same\"
+
+canon_compat_file=\$(readlink -f \${compat_file})
+canon_compat_dup_file=\$(readlink -f \${compat_dup_file})
+test \"\$canon_compat_file\" != \"\$canon_compat_dup_file\" \\
+ || echo \"compat id and dup same\"
+"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "rpmbuildid.at:968"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# No warnings for hard links
+rundebug rpmbuild --quiet \
+ --define="_build_id_links compat" \
+ -ba "${abs_srcdir}"/data/SPECS/hello2ln.spec 2>&1 | grep "^warning: " \
+ | cut -f1-3 -d' '
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+hello_file=./usr/local/bin/hello
+
+# Extract the build-id from the main file
+id=$(file $hello_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+
+# compat build-ids split...
+id_file="./usr/lib/.build-id/${id:0:2}/${id:2}"
+test -L "$id_file" && echo "main id in main package"
+id_dup_file="./usr/lib/.build-id/${id:0:2}/${id:2}.1"
+test -L "$id_dup_file" && echo "main dup id in main package"
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello2-debuginfo-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+# compat, so main (and debug) ids are (also) here
+compat_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}"
+test -L "$compat_file" && echo "compat id in debug package"
+compat_dup_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.1"
+test -L "$compat_dup_file" && echo "compat dup id in debug package"
+
+debug_id_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.debug"
+test -L "$debug_id_file" && echo "debug id in debug package"
+debug_dup_file="./usr/lib/debug/.build-id/${id:0:2}/${id:2}.1.debug"
+test -L "$debug_dup_file" && echo "debug dup id in debug package"
+
+# We don't know which points to which, but we do know they point
+# to different files.
+canon_id_file=$(readlink -f ${id_file})
+canon_dup_file=$(readlink -f ${id_dup_file})
+test "$canon_id_file" != "$canon_dup_file" \
+ || echo "id and dup same"
+
+canon_debug_id_file=$(readlink -f ${debug_id_file})
+canon_debug_dup_file=$(readlink -f ${debug_dup_file})
+test "$canon_debug_id_file" != "$canon_debug_dup_file" \
+ || echo "debug id and dup same"
+
+canon_compat_file=$(readlink -f ${compat_file})
+canon_compat_dup_file=$(readlink -f ${compat_dup_file})
+test "$canon_compat_file" != "$canon_compat_dup_file" \
+ || echo "compat id and dup same"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "main id in main package
+main dup id in main package
+compat id in debug package
+compat dup id in debug package
+debug id in debug package
+debug dup id in debug package
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuildid.at:968"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_155
+#AT_START_156
+at_fn_group_banner 156 'rpmbuildid.at:1039' \
+ "rpmbuild buildid recompute" " " 10
+at_xfail=no
+(
+ $as_echo "156. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuildid.at:1041:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+cp \"\${abs_srcdir}\"/data/SOURCES/hello-1.0.tar.gz \"\${abs_srcdir}\"/data/SOURCES/hello-1.0-modernize.patch \${TOPDIR}/SOURCES
+
+# Make sure we get debuginfo
+export CFLAGS=\"-g\"
+
+# Unique 1
+rundebug rpmbuild --quiet \\
+ --define=\"_unique_build_ids 1\" \\
+ --undefine=\"_no_recompute_build_ids\" \\
+ -ba \"\${abs_srcdir}\"/data/SPECS/hello.spec
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+
+hello_file=./usr/local/bin/hello
+
+# Extract the build-id from the main file
+test -f \$hello_file || echo \"No \$hello_file\"
+id1=\$(file \$hello_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+
+# Make sure we generate a new one
+rm \$hello_file
+
+# Unique 2
+# Build the \"next\" release, which has no changes except for the release update.
+rundebug rpmbuild --quiet \\
+ --define=\"_unique_build_ids 1\" \\
+ --undefine=\"_no_recompute_build_ids\" \\
+ -ba \"\${abs_srcdir}\"/data/SPECS/hello-r2.spec
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello-1.0-2.*.rpm \\
+ | cpio -diu --quiet
+
+# Extract the build-id from the main file
+test -f \$hello_file || echo \"No \$hello_file\"
+id2=\$(file \$hello_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+
+# Two unique builds should not be equal
+if test \"\$id1\" == \"\$id2\"; then
+ echo \"uniques equal\";
+else
+ echo \"uniques unequal\";
+fi
+
+# Make sure we generate a new one
+rm \$hello_file
+
+# no-recompute 1
+rundebug rpmbuild --quiet \\
+ --undefine=\"_unique_build_ids\" \\
+ --undefine=\"_unique_debug_names\" \\
+ --undefine=\"_unique_debug_srcs\" \\
+ --define=\"_no_recompute_build_ids 1\" \\
+ -ba \"\${abs_srcdir}\"/data/SPECS/hello.spec
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+
+hello_file=./usr/local/bin/hello
+
+# Extract the build-id from the main file
+test -f \$hello_file || echo \"No \$hello_file\"
+id3=\$(file \$hello_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+
+# An unique and no-recompute build should be unequal
+if test \"\$id2\" == \"\$id3\"; then
+ echo \"no-recompute unique equal\";
+else
+ echo \"no-recompute unique unequal\";
+fi
+
+# Make sure we generate a new one
+rm \$hello_file
+
+# no-recompute 2
+# Build the \"next\" release, which has no changes except for the release update.
+rundebug rpmbuild --quiet \\
+ --undefine=\"_unique_build_ids\" \\
+ --undefine=\"_unique_debug_names\" \\
+ --undefine=\"_unique_debug_srcs\" \\
+ --define=\"_no_recompute_build_ids 1\" \\
+ -ba \"\${abs_srcdir}\"/data/SPECS/hello-r2.spec
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello-1.0-2.*.rpm \\
+ | cpio -diu --quiet
+
+# Extract the build-id from the main file
+test -f \$hello_file || echo \"No \$hello_file\"
+id4=\$(file \$hello_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+
+# Two no-recompute builds should be equal. Even for different \"releases\".
+if test \"\$id3\" == \"\$id4\"; then
+ echo \"no-recomputes equal\";
+else
+ echo \"no-recomputes unequal\";
+fi
+"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "rpmbuildid.at:1041"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# Make sure we get debuginfo
+export CFLAGS="-g"
+
+# Unique 1
+rundebug rpmbuild --quiet \
+ --define="_unique_build_ids 1" \
+ --undefine="_no_recompute_build_ids" \
+ -ba "${abs_srcdir}"/data/SPECS/hello.spec
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+hello_file=./usr/local/bin/hello
+
+# Extract the build-id from the main file
+test -f $hello_file || echo "No $hello_file"
+id1=$(file $hello_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+
+# Make sure we generate a new one
+rm $hello_file
+
+# Unique 2
+# Build the "next" release, which has no changes except for the release update.
+rundebug rpmbuild --quiet \
+ --define="_unique_build_ids 1" \
+ --undefine="_no_recompute_build_ids" \
+ -ba "${abs_srcdir}"/data/SPECS/hello-r2.spec
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-2.*.rpm \
+ | cpio -diu --quiet
+
+# Extract the build-id from the main file
+test -f $hello_file || echo "No $hello_file"
+id2=$(file $hello_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+
+# Two unique builds should not be equal
+if test "$id1" == "$id2"; then
+ echo "uniques equal";
+else
+ echo "uniques unequal";
+fi
+
+# Make sure we generate a new one
+rm $hello_file
+
+# no-recompute 1
+rundebug rpmbuild --quiet \
+ --undefine="_unique_build_ids" \
+ --undefine="_unique_debug_names" \
+ --undefine="_unique_debug_srcs" \
+ --define="_no_recompute_build_ids 1" \
+ -ba "${abs_srcdir}"/data/SPECS/hello.spec
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+hello_file=./usr/local/bin/hello
+
+# Extract the build-id from the main file
+test -f $hello_file || echo "No $hello_file"
+id3=$(file $hello_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+
+# An unique and no-recompute build should be unequal
+if test "$id2" == "$id3"; then
+ echo "no-recompute unique equal";
+else
+ echo "no-recompute unique unequal";
+fi
+
+# Make sure we generate a new one
+rm $hello_file
+
+# no-recompute 2
+# Build the "next" release, which has no changes except for the release update.
+rundebug rpmbuild --quiet \
+ --undefine="_unique_build_ids" \
+ --undefine="_unique_debug_names" \
+ --undefine="_unique_debug_srcs" \
+ --define="_no_recompute_build_ids 1" \
+ -ba "${abs_srcdir}"/data/SPECS/hello-r2.spec
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-2.*.rpm \
+ | cpio -diu --quiet
+
+# Extract the build-id from the main file
+test -f $hello_file || echo "No $hello_file"
+id4=$(file $hello_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+
+# Two no-recompute builds should be equal. Even for different "releases".
+if test "$id3" == "$id4"; then
+ echo "no-recomputes equal";
+else
+ echo "no-recomputes unequal";
+fi
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "uniques unequal
+no-recompute unique unequal
+no-recomputes equal
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuildid.at:1041"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_156
+#AT_START_157
+at_fn_group_banner 157 'rpmbuildid.at:1153' \
+ "rpmbuild buildid unique r1 r2" " " 10
+at_xfail=no
+(
+ $as_echo "157. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuildid.at:1155:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+cp \"\${abs_srcdir}\"/data/SOURCES/hello-1.0.tar.gz \"\${abs_srcdir}\"/data/SOURCES/hello-1.0-modernize.patch \${TOPDIR}/SOURCES
+
+# No warnings for hard links
+rundebug rpmbuild --quiet \\
+ --define=\"_unique_build_ids 1\" \\
+ -ba \"\${abs_srcdir}\"/data/SPECS/hello.spec
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+
+hello_file=./usr/local/bin/hello
+
+# Extract the build-id from the main file
+test -f \$hello_file || echo \"No \$hello_file\"
+id1=\$(file \$hello_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+
+# Make sure we generate a new one
+rm \$hello_file
+
+# Build the \"next\" release, which has no changes except for the release update.
+rundebug rpmbuild --quiet \\
+ --define=\"_unique_build_ids 1\" \\
+ -ba \"\${abs_srcdir}\"/data/SPECS/hello-r2.spec
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello-1.0-2.*.rpm \\
+ | cpio -diu --quiet
+
+# Extract the build-id from the main file
+test -f \$hello_file || echo \"No \$hello_file\"
+id2=\$(file \$hello_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+
+if test \"\$id1\" == \"\$id2\"; then echo \"equal \$id1\"; else echo \"unequal\"; fi
+"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "rpmbuildid.at:1155"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# No warnings for hard links
+rundebug rpmbuild --quiet \
+ --define="_unique_build_ids 1" \
+ -ba "${abs_srcdir}"/data/SPECS/hello.spec
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+hello_file=./usr/local/bin/hello
+
+# Extract the build-id from the main file
+test -f $hello_file || echo "No $hello_file"
+id1=$(file $hello_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+
+# Make sure we generate a new one
+rm $hello_file
+
+# Build the "next" release, which has no changes except for the release update.
+rundebug rpmbuild --quiet \
+ --define="_unique_build_ids 1" \
+ -ba "${abs_srcdir}"/data/SPECS/hello-r2.spec
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-2.*.rpm \
+ | cpio -diu --quiet
+
+# Extract the build-id from the main file
+test -f $hello_file || echo "No $hello_file"
+id2=$(file $hello_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+
+if test "$id1" == "$id2"; then echo "equal $id1"; else echo "unequal"; fi
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "unequal
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuildid.at:1155"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_157
+#AT_START_158
+at_fn_group_banner 158 'rpmbuildid.at:1201' \
+ "rpmbuild buildid non-unique r1 r2" " " 10
+at_xfail=no
+(
+ $as_echo "158. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuildid.at:1203:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+cp \"\${abs_srcdir}\"/data/SOURCES/hello-1.0.tar.gz \"\${abs_srcdir}\"/data/SOURCES/hello-1.0-modernize.patch \${TOPDIR}/SOURCES
+
+# No warnings for hard links
+rundebug rpmbuild --quiet \\
+ --undefine=\"_unique_build_ids\" \\
+ --undefine=\"_unique_debug_names\" \\
+ --undefine=\"_unique_debug_srcs\" \\
+ -ba \"\${abs_srcdir}\"/data/SPECS/hello.spec
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm \\
+ | cpio -diu --quiet
+
+hello_file=./usr/local/bin/hello
+
+# Extract the build-id from the main file
+test -f \$hello_file || echo \"No \$hello_file\"
+id1=\$(file \$hello_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+
+# Make sure we generate a new one
+rm \$hello_file
+
+# Build the \"next\" release, which has no changes except for the release update.
+rundebug rpmbuild --quiet \\
+ --undefine=\"_unique_build_ids\" \\
+ --undefine=\"_unique_debug_names\" \\
+ --undefine=\"_unique_debug_srcs\" \\
+ -ba \"\${abs_srcdir}\"/data/SPECS/hello-r2.spec
+
+rpm2cpio \${abs_builddir}/testing/build/RPMS/*/hello-1.0-2.*.rpm \\
+ | cpio -diu --quiet
+
+# Extract the build-id from the main file
+test -f \$hello_file || echo \"No \$hello_file\"
+id2=\$(file \$hello_file | sed 's/.*, BuildID\\[.*\\]=\\([0-9a-f]*\\),.*/\\1/')
+
+if test \"\$id1\" == \"\$id2\"; then echo \"equal\"; else echo \"unequal \$id1 \$id2\"; fi
+"
+at_fn_check_prepare_notrace 'a $(...) command substitution' "rpmbuildid.at:1203"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
+
+# No warnings for hard links
+rundebug rpmbuild --quiet \
+ --undefine="_unique_build_ids" \
+ --undefine="_unique_debug_names" \
+ --undefine="_unique_debug_srcs" \
+ -ba "${abs_srcdir}"/data/SPECS/hello.spec
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-1.*.rpm \
+ | cpio -diu --quiet
+
+hello_file=./usr/local/bin/hello
+
+# Extract the build-id from the main file
+test -f $hello_file || echo "No $hello_file"
+id1=$(file $hello_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+
+# Make sure we generate a new one
+rm $hello_file
+
+# Build the "next" release, which has no changes except for the release update.
+rundebug rpmbuild --quiet \
+ --undefine="_unique_build_ids" \
+ --undefine="_unique_debug_names" \
+ --undefine="_unique_debug_srcs" \
+ -ba "${abs_srcdir}"/data/SPECS/hello-r2.spec
+
+rpm2cpio ${abs_builddir}/testing/build/RPMS/*/hello-1.0-2.*.rpm \
+ | cpio -diu --quiet
+
+# Extract the build-id from the main file
+test -f $hello_file || echo "No $hello_file"
+id2=$(file $hello_file | sed 's/.*, BuildID\[.*\]=\([0-9a-f]*\),.*/\1/')
+
+if test "$id1" == "$id2"; then echo "equal"; else echo "unequal $id1 $id2"; fi
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "equal
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuildid.at:1203"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_158
+#AT_START_159
+at_fn_group_banner 159 'rpmbuildid.at:1253' \
+ "rpmbuild buildid attrs" " " 10
+at_xfail=no
+(
+ $as_echo "159. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuildid.at:1255:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp \"\${abs_srcdir}\"/data/SOURCES/hello.c \${TOPDIR}/SOURCES
+
+# Build, contains one ELF which should have a buildid.
+rundebug rpmbuild \\
+ --define=\"_build_id_links compat\" \\
+ --define \"_unique_debug_names 1\" \\
+ --define \"_unique_debug_srcs 1\" \\
+ --quiet -ba \"\${abs_srcdir}\"/data/SPECS/hello-attr-buildid.spec
+
+run rpm -qp --qf \"[%{filenames} %{filemodes:perms}\\n]\" \\
+ \${abs_builddir}/testing/build/RPMS/*/test-1.0-1*rpm \\
+ | grep \"build-id d\"
+
+run rpm -qp --qf \"[%{filenames} %{filemodes:perms}\\n]\" \\
+ \${abs_builddir}/testing/build/RPMS/*/test-debuginfo-1.0-1*rpm \\
+ | grep \"build-id d\"
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmbuildid.at:1255"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello.c ${TOPDIR}/SOURCES
+
+# Build, contains one ELF which should have a buildid.
+rundebug rpmbuild \
+ --define="_build_id_links compat" \
+ --define "_unique_debug_names 1" \
+ --define "_unique_debug_srcs 1" \
+ --quiet -ba "${abs_srcdir}"/data/SPECS/hello-attr-buildid.spec
+
+run rpm -qp --qf "[%{filenames} %{filemodes:perms}\n]" \
+ ${abs_builddir}/testing/build/RPMS/*/test-1.0-1*rpm \
+ | grep "build-id d"
+
+run rpm -qp --qf "[%{filenames} %{filemodes:perms}\n]" \
+ ${abs_builddir}/testing/build/RPMS/*/test-debuginfo-1.0-1*rpm \
+ | grep "build-id d"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "/usr/lib/.build-id drwxr-xr-x
+/usr/lib/debug/.build-id drwxr-xr-x
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuildid.at:1255"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_159
+#AT_START_160
+at_fn_group_banner 160 'rpmbuildid.at:1287' \
+ "rpmbuild buildid config attrs" " " 10
+at_xfail=no
+(
+ $as_echo "160. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmbuildid.at:1289:
+rm -rf \${TOPDIR}
+as_dir=\${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp \"\${abs_srcdir}\"/data/SOURCES/hello.c \${TOPDIR}/SOURCES
+
+# Build, contains one ELF which should have a buildid.
+rundebug rpmbuild \\
+ --define=\"_build_id_links compat\" \\
+ --define \"_unique_debug_names 1\" \\
+ --define \"_unique_debug_srcs 1\" \\
+ --quiet -ba \"\${abs_srcdir}\"/data/SPECS/hello-config-buildid.spec
+
+# Should contain one config file.
+run rpm -c -qp \${abs_builddir}/testing/build/RPMS/*/test-1.0-1*rpm
+# Should not contain config files.
+run rpm -c -qp \${abs_builddir}/testing/build/RPMS/*/test-debuginfo-1.0-1*rpm
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmbuildid.at:1289"
+( $at_check_trace;
+rm -rf ${TOPDIR}
+as_dir=${TOPDIR}/SOURCES; as_fn_mkdir_p
+
+# Setup sources
+cp "${abs_srcdir}"/data/SOURCES/hello.c ${TOPDIR}/SOURCES
+
+# Build, contains one ELF which should have a buildid.
+rundebug rpmbuild \
+ --define="_build_id_links compat" \
+ --define "_unique_debug_names 1" \
+ --define "_unique_debug_srcs 1" \
+ --quiet -ba "${abs_srcdir}"/data/SPECS/hello-config-buildid.spec
+
+# Should contain one config file.
+run rpm -c -qp ${abs_builddir}/testing/build/RPMS/*/test-1.0-1*rpm
+# Should not contain config files.
+run rpm -c -qp ${abs_builddir}/testing/build/RPMS/*/test-debuginfo-1.0-1*rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo >>"$at_stdout"; $as_echo "/etc/config.file
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmbuildid.at:1289"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_160
+#AT_START_161
+at_fn_group_banner 161 'rpmscript.at:7' \
+ "basic scripts and arguments" " " 11
+at_xfail=no
+(
+ $as_echo "161. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmscript.at:9:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb /data/SPECS/fakeshell.spec
+runroot rpmbuild --quiet -bb --define \"rel 1\" /data/SPECS/scripts.spec
+runroot rpmbuild --quiet -bb --define \"rel 2\" /data/SPECS/scripts.spec
+
+runroot rpm -U /build/RPMS/noarch/fakeshell-1.0-1.noarch.rpm
+runroot rpm -Vvp /build/RPMS/noarch/scripts-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/scripts-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/scripts-1.0-2.noarch.rpm
+runroot rpm -Vv scripts
+runroot rpm -e scripts
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmscript.at:9"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb /data/SPECS/fakeshell.spec
+runroot rpmbuild --quiet -bb --define "rel 1" /data/SPECS/scripts.spec
+runroot rpmbuild --quiet -bb --define "rel 2" /data/SPECS/scripts.spec
+
+runroot rpm -U /build/RPMS/noarch/fakeshell-1.0-1.noarch.rpm
+runroot rpm -Vvp /build/RPMS/noarch/scripts-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/scripts-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/scripts-1.0-2.noarch.rpm
+runroot rpm -Vv scripts
+runroot rpm -e scripts
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "scripts-1.0-1 VERIFY 0
+scripts-1.0-1 PRETRANS 1
+scripts-1.0-1 PRE 1
+scripts-1.0-1 POST 1
+scripts-1.0-1 POSTTRANS 1
+scripts-1.0-2 PRETRANS 2
+scripts-1.0-2 PRE 2
+scripts-1.0-2 POST 2
+scripts-1.0-1 PREUN 1
+scripts-1.0-1 POSTUN 1
+scripts-1.0-2 POSTTRANS 1
+scripts-1.0-2 VERIFY 1
+scripts-1.0-2 PREUN 0
+scripts-1.0-2 POSTUN 0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmscript.at:9"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_161
+#AT_START_162
+at_fn_group_banner 162 'rpmscript.at:44' \
+ "basic trigger scripts and arguments" " " 11
+at_xfail=no
+(
+ $as_echo "162. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmscript.at:46:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb /data/SPECS/fakeshell.spec
+runroot rpmbuild --quiet -bb --define \"rel 1\" /data/SPECS/scripts.spec
+runroot rpmbuild --quiet -bb --define \"rel 2\" /data/SPECS/scripts.spec
+runroot rpmbuild --quiet -bb --define \"rel 1\" --define \"trigpkg scripts\" /data/SPECS/triggers.spec
+runroot rpmbuild --quiet -bb --define \"rel 2\" --define \"trigpkg scripts\" /data/SPECS/triggers.spec
+
+runroot rpm -U /build/RPMS/noarch/fakeshell-1.0-1.noarch.rpm
+echo TRIGGERS 1
+runroot rpm -U /build/RPMS/noarch/triggers-1.0-1.noarch.rpm
+echo SCRIPTS 1
+runroot rpm -U /build/RPMS/noarch/scripts-1.0-1.noarch.rpm
+echo SCRIPTS 2
+runroot rpm -U /build/RPMS/noarch/scripts-1.0-2.noarch.rpm
+echo TRIGGERS 2
+runroot rpm -U /build/RPMS/noarch/triggers-1.0-2.noarch.rpm
+echo ERASE
+runroot rpm -e scripts
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmscript.at:46"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb /data/SPECS/fakeshell.spec
+runroot rpmbuild --quiet -bb --define "rel 1" /data/SPECS/scripts.spec
+runroot rpmbuild --quiet -bb --define "rel 2" /data/SPECS/scripts.spec
+runroot rpmbuild --quiet -bb --define "rel 1" --define "trigpkg scripts" /data/SPECS/triggers.spec
+runroot rpmbuild --quiet -bb --define "rel 2" --define "trigpkg scripts" /data/SPECS/triggers.spec
+
+runroot rpm -U /build/RPMS/noarch/fakeshell-1.0-1.noarch.rpm
+echo TRIGGERS 1
+runroot rpm -U /build/RPMS/noarch/triggers-1.0-1.noarch.rpm
+echo SCRIPTS 1
+runroot rpm -U /build/RPMS/noarch/scripts-1.0-1.noarch.rpm
+echo SCRIPTS 2
+runroot rpm -U /build/RPMS/noarch/scripts-1.0-2.noarch.rpm
+echo TRIGGERS 2
+runroot rpm -U /build/RPMS/noarch/triggers-1.0-2.noarch.rpm
+echo ERASE
+runroot rpm -e scripts
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "TRIGGERS 1
+SCRIPTS 1
+scripts-1.0-1 PRETRANS 1
+triggers-1.0-1 TRIGGERPREIN 1 0
+scripts-1.0-1 PRE 1
+scripts-1.0-1 POST 1
+triggers-1.0-1 TRIGGERIN 1 1
+scripts-1.0-1 POSTTRANS 1
+SCRIPTS 2
+scripts-1.0-2 PRETRANS 2
+triggers-1.0-1 TRIGGERPREIN 1 1
+scripts-1.0-2 PRE 2
+scripts-1.0-2 POST 2
+triggers-1.0-1 TRIGGERIN 1 2
+triggers-1.0-1 TRIGGERUN 1 1
+scripts-1.0-1 PREUN 1
+scripts-1.0-1 POSTUN 1
+triggers-1.0-1 TRIGGERPOSTUN 1 1
+scripts-1.0-2 POSTTRANS 1
+TRIGGERS 2
+triggers-1.0-2 TRIGGERPREIN 1 1
+triggers-1.0-2 TRIGGERIN 2 1
+triggers-1.0-1 TRIGGERUN 1 1
+ERASE
+triggers-1.0-2 TRIGGERUN 1 0
+scripts-1.0-2 PREUN 0
+scripts-1.0-2 POSTUN 0
+triggers-1.0-2 TRIGGERPOSTUN 1 0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmscript.at:46"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_162
+#AT_START_163
+at_fn_group_banner 163 'rpmscript.at:102' \
+ "basic file trigger scripts" " " 11
+at_xfail=no
+(
+ $as_echo "163. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmscript.at:104:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb /data/SPECS/fakeshell.spec
+runroot rpmbuild --quiet -bb /data/SPECS/hello-script.spec
+runroot rpmbuild --quiet -bb /data/SPECS/hlinktest.spec
+runroot rpmbuild --quiet -bb /data/SPECS/filetriggers.spec
+
+runroot rpm -U /build/RPMS/noarch/fakeshell-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/filetriggers-1.0-1.noarch.rpm
+echo INSTALLATION
+runroot rpm -U /build/RPMS/noarch/hello-script-1.0-1.noarch.rpm \\
+/build/RPMS/noarch/hlinktest-1.0-1.noarch.rpm
+echo ERASE
+runroot rpm -e hello-script hlinktest
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmscript.at:104"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb /data/SPECS/fakeshell.spec
+runroot rpmbuild --quiet -bb /data/SPECS/hello-script.spec
+runroot rpmbuild --quiet -bb /data/SPECS/hlinktest.spec
+runroot rpmbuild --quiet -bb /data/SPECS/filetriggers.spec
+
+runroot rpm -U /build/RPMS/noarch/fakeshell-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/filetriggers-1.0-1.noarch.rpm
+echo INSTALLATION
+runroot rpm -U /build/RPMS/noarch/hello-script-1.0-1.noarch.rpm \
+/build/RPMS/noarch/hlinktest-1.0-1.noarch.rpm
+echo ERASE
+runroot rpm -e hello-script hlinktest
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "INSTALLATION
+filetriggerin(/foo*):
+/foo/aaaa
+/foo/copyllo
+/foo/hello
+/foo/hello-bar
+/foo/hello-foo
+/foo/hello-world
+/foo/zzzz
+
+filetriggerin(/foo*)<lua>:
+/foo/aaaa
+/foo/copyllo
+/foo/hello
+/foo/hello-bar
+/foo/hello-foo
+/foo/hello-world
+/foo/zzzz
+
+filetriggerin(/usr/bin*):
+/usr/bin/hello
+
+filetriggerin(/usr/bin*)<lua>:
+/usr/bin/hello
+
+transfiletriggerin(/usr/bin*):
+/usr/bin/hello
+
+transfiletriggerin(/foo*):
+/foo/aaaa
+/foo/copyllo
+/foo/hello
+/foo/hello-bar
+/foo/hello-foo
+/foo/hello-world
+/foo/zzzz
+
+ERASE
+transfiletriggerun(/usr/bin*):
+/usr/bin/hello
+
+transfiletriggerun(/foo*):
+/foo/aaaa
+/foo/copyllo
+/foo/hello
+/foo/hello-bar
+/foo/hello-foo
+/foo/hello-world
+/foo/zzzz
+
+filetriggerun(/foo*):
+/foo/aaaa
+/foo/copyllo
+/foo/hello
+/foo/hello-bar
+/foo/hello-foo
+/foo/hello-world
+/foo/zzzz
+
+filetriggerpostun(/foo*):
+/foo/aaaa
+/foo/copyllo
+/foo/hello
+/foo/hello-bar
+/foo/hello-foo
+/foo/hello-world
+/foo/zzzz
+
+filetriggerun(/usr/bin*):
+/usr/bin/hello
+
+filetriggerpostun(/usr/bin*):
+/usr/bin/hello
+
+transfiletriggerpostun(/usr/bin*):
+
+transfiletriggerpostun(/foo*):
+
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmscript.at:104"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_163
+#AT_START_164
+at_fn_group_banner 164 'rpmscript.at:205' \
+ "basic file triggers 2" " " 11
+at_xfail=no
+(
+ $as_echo "164. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmscript.at:207:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb /data/SPECS/fakeshell.spec
+for v in 1.0 2.0 3.0; do
+ runroot rpmbuild --quiet -bb --define \"ver \${v}\" /data/SPECS/parallel.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/fakeshell-1.0-1.noarch.rpm
+runroot rpm -i \\
+ /build/RPMS/noarch/parallel-1.0-1.noarch.rpm \\
+ /build/RPMS/noarch/parallel-2.0-1.noarch.rpm \\
+ /build/RPMS/noarch/parallel-3.0-1.noarch.rpm
+
+echo INSTALL:
+runroot rpm -U /build/RPMS/noarch/parallel-trigger-1.0-1.noarch.rpm
+echo UPGRADE:
+runroot rpm -U /build/RPMS/noarch/parallel-trigger-2.0-1.noarch.rpm
+echo ERASE:
+runroot rpm -e parallel-trigger
+
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmscript.at:207"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb /data/SPECS/fakeshell.spec
+for v in 1.0 2.0 3.0; do
+ runroot rpmbuild --quiet -bb --define "ver ${v}" /data/SPECS/parallel.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/fakeshell-1.0-1.noarch.rpm
+runroot rpm -i \
+ /build/RPMS/noarch/parallel-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/parallel-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/parallel-3.0-1.noarch.rpm
+
+echo INSTALL:
+runroot rpm -U /build/RPMS/noarch/parallel-trigger-1.0-1.noarch.rpm
+echo UPGRADE:
+runroot rpm -U /build/RPMS/noarch/parallel-trigger-2.0-1.noarch.rpm
+echo ERASE:
+runroot rpm -e parallel-trigger
+
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "INSTALL:
+%filetriggerin: 0 0
+36
+%transfiletriggerin: 0 0
+36
+UPGRADE:
+%transfiletriggerun: 0 0
+36
+%filetriggerin: 0 0
+36
+%transfiletriggerin: 0 0
+36
+ERASE:
+%transfiletriggerun: 0 0
+36
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmscript.at:207"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_164
+#AT_START_165
+at_fn_group_banner 165 'rpmvercmp.at:13' \
+ "rpmvercmp(1.0, 1.0) = 0" " " 12
+at_xfail=no
+(
+ $as_echo "165. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:13: runroot rpm --eval '%{lua: print(rpm.vercmp(\"1.0\", \"1.0\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:13"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("1.0", "1.0"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:13"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_165
+#AT_START_166
+at_fn_group_banner 166 'rpmvercmp.at:14' \
+ "rpmvercmp(1.0, 2.0) = -1" " " 12
+at_xfail=no
+(
+ $as_echo "166. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:14: runroot rpm --eval '%{lua: print(rpm.vercmp(\"1.0\", \"2.0\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:14"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("1.0", "2.0"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "-1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:14"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_166
+#AT_START_167
+at_fn_group_banner 167 'rpmvercmp.at:15' \
+ "rpmvercmp(2.0, 1.0) = 1" " " 12
+at_xfail=no
+(
+ $as_echo "167. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:15: runroot rpm --eval '%{lua: print(rpm.vercmp(\"2.0\", \"1.0\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:15"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("2.0", "1.0"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:15"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_167
+#AT_START_168
+at_fn_group_banner 168 'rpmvercmp.at:17' \
+ "rpmvercmp(2.0.1, 2.0.1) = 0" " " 12
+at_xfail=no
+(
+ $as_echo "168. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:17: runroot rpm --eval '%{lua: print(rpm.vercmp(\"2.0.1\", \"2.0.1\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:17"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("2.0.1", "2.0.1"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:17"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_168
+#AT_START_169
+at_fn_group_banner 169 'rpmvercmp.at:18' \
+ "rpmvercmp(2.0, 2.0.1) = -1" " " 12
+at_xfail=no
+(
+ $as_echo "169. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:18: runroot rpm --eval '%{lua: print(rpm.vercmp(\"2.0\", \"2.0.1\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:18"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("2.0", "2.0.1"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "-1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:18"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_169
+#AT_START_170
+at_fn_group_banner 170 'rpmvercmp.at:19' \
+ "rpmvercmp(2.0.1, 2.0) = 1" " " 12
+at_xfail=no
+(
+ $as_echo "170. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:19: runroot rpm --eval '%{lua: print(rpm.vercmp(\"2.0.1\", \"2.0\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:19"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("2.0.1", "2.0"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:19"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_170
+#AT_START_171
+at_fn_group_banner 171 'rpmvercmp.at:21' \
+ "rpmvercmp(2.0.1a, 2.0.1a) = 0" " " 12
+at_xfail=no
+(
+ $as_echo "171. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:21: runroot rpm --eval '%{lua: print(rpm.vercmp(\"2.0.1a\", \"2.0.1a\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:21"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("2.0.1a", "2.0.1a"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:21"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_171
+#AT_START_172
+at_fn_group_banner 172 'rpmvercmp.at:22' \
+ "rpmvercmp(2.0.1a, 2.0.1) = 1" " " 12
+at_xfail=no
+(
+ $as_echo "172. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:22: runroot rpm --eval '%{lua: print(rpm.vercmp(\"2.0.1a\", \"2.0.1\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:22"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("2.0.1a", "2.0.1"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:22"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_172
+#AT_START_173
+at_fn_group_banner 173 'rpmvercmp.at:23' \
+ "rpmvercmp(2.0.1, 2.0.1a) = -1" " " 12
+at_xfail=no
+(
+ $as_echo "173. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:23: runroot rpm --eval '%{lua: print(rpm.vercmp(\"2.0.1\", \"2.0.1a\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:23"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("2.0.1", "2.0.1a"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "-1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:23"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_173
+#AT_START_174
+at_fn_group_banner 174 'rpmvercmp.at:25' \
+ "rpmvercmp(5.5p1, 5.5p1) = 0" " " 12
+at_xfail=no
+(
+ $as_echo "174. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:25: runroot rpm --eval '%{lua: print(rpm.vercmp(\"5.5p1\", \"5.5p1\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:25"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("5.5p1", "5.5p1"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:25"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_174
+#AT_START_175
+at_fn_group_banner 175 'rpmvercmp.at:26' \
+ "rpmvercmp(5.5p1, 5.5p2) = -1" " " 12
+at_xfail=no
+(
+ $as_echo "175. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:26: runroot rpm --eval '%{lua: print(rpm.vercmp(\"5.5p1\", \"5.5p2\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:26"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("5.5p1", "5.5p2"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "-1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:26"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_175
+#AT_START_176
+at_fn_group_banner 176 'rpmvercmp.at:27' \
+ "rpmvercmp(5.5p2, 5.5p1) = 1" " " 12
+at_xfail=no
+(
+ $as_echo "176. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:27: runroot rpm --eval '%{lua: print(rpm.vercmp(\"5.5p2\", \"5.5p1\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:27"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("5.5p2", "5.5p1"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:27"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_176
+#AT_START_177
+at_fn_group_banner 177 'rpmvercmp.at:29' \
+ "rpmvercmp(5.5p10, 5.5p10) = 0" " " 12
+at_xfail=no
+(
+ $as_echo "177. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:29: runroot rpm --eval '%{lua: print(rpm.vercmp(\"5.5p10\", \"5.5p10\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:29"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("5.5p10", "5.5p10"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:29"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_177
+#AT_START_178
+at_fn_group_banner 178 'rpmvercmp.at:30' \
+ "rpmvercmp(5.5p1, 5.5p10) = -1" " " 12
+at_xfail=no
+(
+ $as_echo "178. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:30: runroot rpm --eval '%{lua: print(rpm.vercmp(\"5.5p1\", \"5.5p10\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:30"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("5.5p1", "5.5p10"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "-1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:30"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_178
+#AT_START_179
+at_fn_group_banner 179 'rpmvercmp.at:31' \
+ "rpmvercmp(5.5p10, 5.5p1) = 1" " " 12
+at_xfail=no
+(
+ $as_echo "179. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:31: runroot rpm --eval '%{lua: print(rpm.vercmp(\"5.5p10\", \"5.5p1\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:31"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("5.5p10", "5.5p1"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:31"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_179
+#AT_START_180
+at_fn_group_banner 180 'rpmvercmp.at:33' \
+ "rpmvercmp(10xyz, 10.1xyz) = -1" " " 12
+at_xfail=no
+(
+ $as_echo "180. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:33: runroot rpm --eval '%{lua: print(rpm.vercmp(\"10xyz\", \"10.1xyz\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:33"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("10xyz", "10.1xyz"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "-1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:33"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_180
+#AT_START_181
+at_fn_group_banner 181 'rpmvercmp.at:34' \
+ "rpmvercmp(10.1xyz, 10xyz) = 1" " " 12
+at_xfail=no
+(
+ $as_echo "181. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:34: runroot rpm --eval '%{lua: print(rpm.vercmp(\"10.1xyz\", \"10xyz\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:34"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("10.1xyz", "10xyz"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:34"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_181
+#AT_START_182
+at_fn_group_banner 182 'rpmvercmp.at:36' \
+ "rpmvercmp(xyz10, xyz10) = 0" " " 12
+at_xfail=no
+(
+ $as_echo "182. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:36: runroot rpm --eval '%{lua: print(rpm.vercmp(\"xyz10\", \"xyz10\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:36"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("xyz10", "xyz10"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:36"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_182
+#AT_START_183
+at_fn_group_banner 183 'rpmvercmp.at:37' \
+ "rpmvercmp(xyz10, xyz10.1) = -1" " " 12
+at_xfail=no
+(
+ $as_echo "183. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:37: runroot rpm --eval '%{lua: print(rpm.vercmp(\"xyz10\", \"xyz10.1\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:37"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("xyz10", "xyz10.1"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "-1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:37"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_183
+#AT_START_184
+at_fn_group_banner 184 'rpmvercmp.at:38' \
+ "rpmvercmp(xyz10.1, xyz10) = 1" " " 12
+at_xfail=no
+(
+ $as_echo "184. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:38: runroot rpm --eval '%{lua: print(rpm.vercmp(\"xyz10.1\", \"xyz10\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:38"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("xyz10.1", "xyz10"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:38"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_184
+#AT_START_185
+at_fn_group_banner 185 'rpmvercmp.at:40' \
+ "rpmvercmp(xyz.4, xyz.4) = 0" " " 12
+at_xfail=no
+(
+ $as_echo "185. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:40: runroot rpm --eval '%{lua: print(rpm.vercmp(\"xyz.4\", \"xyz.4\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:40"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("xyz.4", "xyz.4"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:40"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_185
+#AT_START_186
+at_fn_group_banner 186 'rpmvercmp.at:41' \
+ "rpmvercmp(xyz.4, 8) = -1" " " 12
+at_xfail=no
+(
+ $as_echo "186. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:41: runroot rpm --eval '%{lua: print(rpm.vercmp(\"xyz.4\", \"8\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:41"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("xyz.4", "8"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "-1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:41"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_186
+#AT_START_187
+at_fn_group_banner 187 'rpmvercmp.at:42' \
+ "rpmvercmp(8, xyz.4) = 1" " " 12
+at_xfail=no
+(
+ $as_echo "187. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:42: runroot rpm --eval '%{lua: print(rpm.vercmp(\"8\", \"xyz.4\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:42"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("8", "xyz.4"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:42"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_187
+#AT_START_188
+at_fn_group_banner 188 'rpmvercmp.at:43' \
+ "rpmvercmp(xyz.4, 2) = -1" " " 12
+at_xfail=no
+(
+ $as_echo "188. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:43: runroot rpm --eval '%{lua: print(rpm.vercmp(\"xyz.4\", \"2\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:43"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("xyz.4", "2"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "-1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:43"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_188
+#AT_START_189
+at_fn_group_banner 189 'rpmvercmp.at:44' \
+ "rpmvercmp(2, xyz.4) = 1" " " 12
+at_xfail=no
+(
+ $as_echo "189. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:44: runroot rpm --eval '%{lua: print(rpm.vercmp(\"2\", \"xyz.4\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:44"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("2", "xyz.4"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:44"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_189
+#AT_START_190
+at_fn_group_banner 190 'rpmvercmp.at:46' \
+ "rpmvercmp(5.5p2, 5.6p1) = -1" " " 12
+at_xfail=no
+(
+ $as_echo "190. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:46: runroot rpm --eval '%{lua: print(rpm.vercmp(\"5.5p2\", \"5.6p1\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:46"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("5.5p2", "5.6p1"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "-1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:46"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_190
+#AT_START_191
+at_fn_group_banner 191 'rpmvercmp.at:47' \
+ "rpmvercmp(5.6p1, 5.5p2) = 1" " " 12
+at_xfail=no
+(
+ $as_echo "191. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:47: runroot rpm --eval '%{lua: print(rpm.vercmp(\"5.6p1\", \"5.5p2\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:47"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("5.6p1", "5.5p2"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:47"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_191
+#AT_START_192
+at_fn_group_banner 192 'rpmvercmp.at:49' \
+ "rpmvercmp(5.6p1, 6.5p1) = -1" " " 12
+at_xfail=no
+(
+ $as_echo "192. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:49: runroot rpm --eval '%{lua: print(rpm.vercmp(\"5.6p1\", \"6.5p1\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:49"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("5.6p1", "6.5p1"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "-1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:49"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_192
+#AT_START_193
+at_fn_group_banner 193 'rpmvercmp.at:50' \
+ "rpmvercmp(6.5p1, 5.6p1) = 1" " " 12
+at_xfail=no
+(
+ $as_echo "193. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:50: runroot rpm --eval '%{lua: print(rpm.vercmp(\"6.5p1\", \"5.6p1\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:50"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("6.5p1", "5.6p1"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:50"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_193
+#AT_START_194
+at_fn_group_banner 194 'rpmvercmp.at:52' \
+ "rpmvercmp(6.0.rc1, 6.0) = 1" " " 12
+at_xfail=no
+(
+ $as_echo "194. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:52: runroot rpm --eval '%{lua: print(rpm.vercmp(\"6.0.rc1\", \"6.0\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:52"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("6.0.rc1", "6.0"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:52"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_194
+#AT_START_195
+at_fn_group_banner 195 'rpmvercmp.at:53' \
+ "rpmvercmp(6.0, 6.0.rc1) = -1" " " 12
+at_xfail=no
+(
+ $as_echo "195. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:53: runroot rpm --eval '%{lua: print(rpm.vercmp(\"6.0\", \"6.0.rc1\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:53"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("6.0", "6.0.rc1"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "-1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:53"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_195
+#AT_START_196
+at_fn_group_banner 196 'rpmvercmp.at:55' \
+ "rpmvercmp(10b2, 10a1) = 1" " " 12
+at_xfail=no
+(
+ $as_echo "196. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:55: runroot rpm --eval '%{lua: print(rpm.vercmp(\"10b2\", \"10a1\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:55"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("10b2", "10a1"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:55"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_196
+#AT_START_197
+at_fn_group_banner 197 'rpmvercmp.at:56' \
+ "rpmvercmp(10a2, 10b2) = -1" " " 12
+at_xfail=no
+(
+ $as_echo "197. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:56: runroot rpm --eval '%{lua: print(rpm.vercmp(\"10a2\", \"10b2\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:56"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("10a2", "10b2"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "-1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:56"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_197
+#AT_START_198
+at_fn_group_banner 198 'rpmvercmp.at:58' \
+ "rpmvercmp(1.0aa, 1.0aa) = 0" " " 12
+at_xfail=no
+(
+ $as_echo "198. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:58: runroot rpm --eval '%{lua: print(rpm.vercmp(\"1.0aa\", \"1.0aa\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:58"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("1.0aa", "1.0aa"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:58"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_198
+#AT_START_199
+at_fn_group_banner 199 'rpmvercmp.at:59' \
+ "rpmvercmp(1.0a, 1.0aa) = -1" " " 12
+at_xfail=no
+(
+ $as_echo "199. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:59: runroot rpm --eval '%{lua: print(rpm.vercmp(\"1.0a\", \"1.0aa\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:59"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("1.0a", "1.0aa"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "-1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:59"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_199
+#AT_START_200
+at_fn_group_banner 200 'rpmvercmp.at:60' \
+ "rpmvercmp(1.0aa, 1.0a) = 1" " " 12
+at_xfail=no
+(
+ $as_echo "200. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:60: runroot rpm --eval '%{lua: print(rpm.vercmp(\"1.0aa\", \"1.0a\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:60"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("1.0aa", "1.0a"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:60"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_200
+#AT_START_201
+at_fn_group_banner 201 'rpmvercmp.at:62' \
+ "rpmvercmp(10.0001, 10.0001) = 0" " " 12
+at_xfail=no
+(
+ $as_echo "201. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:62: runroot rpm --eval '%{lua: print(rpm.vercmp(\"10.0001\", \"10.0001\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:62"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("10.0001", "10.0001"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:62"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_201
+#AT_START_202
+at_fn_group_banner 202 'rpmvercmp.at:63' \
+ "rpmvercmp(10.0001, 10.1) = 0" " " 12
+at_xfail=no
+(
+ $as_echo "202. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:63: runroot rpm --eval '%{lua: print(rpm.vercmp(\"10.0001\", \"10.1\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:63"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("10.0001", "10.1"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:63"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_202
+#AT_START_203
+at_fn_group_banner 203 'rpmvercmp.at:64' \
+ "rpmvercmp(10.1, 10.0001) = 0" " " 12
+at_xfail=no
+(
+ $as_echo "203. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:64: runroot rpm --eval '%{lua: print(rpm.vercmp(\"10.1\", \"10.0001\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:64"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("10.1", "10.0001"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:64"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_203
+#AT_START_204
+at_fn_group_banner 204 'rpmvercmp.at:65' \
+ "rpmvercmp(10.0001, 10.0039) = -1" " " 12
+at_xfail=no
+(
+ $as_echo "204. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:65: runroot rpm --eval '%{lua: print(rpm.vercmp(\"10.0001\", \"10.0039\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:65"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("10.0001", "10.0039"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "-1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:65"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_204
+#AT_START_205
+at_fn_group_banner 205 'rpmvercmp.at:66' \
+ "rpmvercmp(10.0039, 10.0001) = 1" " " 12
+at_xfail=no
+(
+ $as_echo "205. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:66: runroot rpm --eval '%{lua: print(rpm.vercmp(\"10.0039\", \"10.0001\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:66"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("10.0039", "10.0001"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:66"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_205
+#AT_START_206
+at_fn_group_banner 206 'rpmvercmp.at:68' \
+ "rpmvercmp(4.999.9, 5.0) = -1" " " 12
+at_xfail=no
+(
+ $as_echo "206. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:68: runroot rpm --eval '%{lua: print(rpm.vercmp(\"4.999.9\", \"5.0\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:68"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("4.999.9", "5.0"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "-1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:68"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_206
+#AT_START_207
+at_fn_group_banner 207 'rpmvercmp.at:69' \
+ "rpmvercmp(5.0, 4.999.9) = 1" " " 12
+at_xfail=no
+(
+ $as_echo "207. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:69: runroot rpm --eval '%{lua: print(rpm.vercmp(\"5.0\", \"4.999.9\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:69"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("5.0", "4.999.9"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:69"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_207
+#AT_START_208
+at_fn_group_banner 208 'rpmvercmp.at:71' \
+ "rpmvercmp(20101121, 20101121) = 0" " " 12
+at_xfail=no
+(
+ $as_echo "208. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:71: runroot rpm --eval '%{lua: print(rpm.vercmp(\"20101121\", \"20101121\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:71"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("20101121", "20101121"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:71"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_208
+#AT_START_209
+at_fn_group_banner 209 'rpmvercmp.at:72' \
+ "rpmvercmp(20101121, 20101122) = -1" " " 12
+at_xfail=no
+(
+ $as_echo "209. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:72: runroot rpm --eval '%{lua: print(rpm.vercmp(\"20101121\", \"20101122\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:72"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("20101121", "20101122"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "-1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:72"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_209
+#AT_START_210
+at_fn_group_banner 210 'rpmvercmp.at:73' \
+ "rpmvercmp(20101122, 20101121) = 1" " " 12
+at_xfail=no
+(
+ $as_echo "210. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:73: runroot rpm --eval '%{lua: print(rpm.vercmp(\"20101122\", \"20101121\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:73"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("20101122", "20101121"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:73"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_210
+#AT_START_211
+at_fn_group_banner 211 'rpmvercmp.at:75' \
+ "rpmvercmp(2_0, 2_0) = 0" " " 12
+at_xfail=no
+(
+ $as_echo "211. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:75: runroot rpm --eval '%{lua: print(rpm.vercmp(\"2_0\", \"2_0\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:75"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("2_0", "2_0"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:75"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_211
+#AT_START_212
+at_fn_group_banner 212 'rpmvercmp.at:76' \
+ "rpmvercmp(2.0, 2_0) = 0" " " 12
+at_xfail=no
+(
+ $as_echo "212. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:76: runroot rpm --eval '%{lua: print(rpm.vercmp(\"2.0\", \"2_0\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:76"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("2.0", "2_0"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:76"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_212
+#AT_START_213
+at_fn_group_banner 213 'rpmvercmp.at:77' \
+ "rpmvercmp(2_0, 2.0) = 0" " " 12
+at_xfail=no
+(
+ $as_echo "213. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:77: runroot rpm --eval '%{lua: print(rpm.vercmp(\"2_0\", \"2.0\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:77"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("2_0", "2.0"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:77"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_213
+#AT_START_214
+at_fn_group_banner 214 'rpmvercmp.at:80' \
+ "rpmvercmp(a, a) = 0" " " 12
+at_xfail=no
+(
+ $as_echo "214. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:80: runroot rpm --eval '%{lua: print(rpm.vercmp(\"a\", \"a\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:80"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("a", "a"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:80"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_214
+#AT_START_215
+at_fn_group_banner 215 'rpmvercmp.at:81' \
+ "rpmvercmp(a+, a+) = 0" " " 12
+at_xfail=no
+(
+ $as_echo "215. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:81: runroot rpm --eval '%{lua: print(rpm.vercmp(\"a+\", \"a+\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:81"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("a+", "a+"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:81"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_215
+#AT_START_216
+at_fn_group_banner 216 'rpmvercmp.at:82' \
+ "rpmvercmp(a+, a_) = 0" " " 12
+at_xfail=no
+(
+ $as_echo "216. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:82: runroot rpm --eval '%{lua: print(rpm.vercmp(\"a+\", \"a_\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:82"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("a+", "a_"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:82"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_216
+#AT_START_217
+at_fn_group_banner 217 'rpmvercmp.at:83' \
+ "rpmvercmp(a_, a+) = 0" " " 12
+at_xfail=no
+(
+ $as_echo "217. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:83: runroot rpm --eval '%{lua: print(rpm.vercmp(\"a_\", \"a+\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:83"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("a_", "a+"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:83"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_217
+#AT_START_218
+at_fn_group_banner 218 'rpmvercmp.at:84' \
+ "rpmvercmp(+a, +a) = 0" " " 12
+at_xfail=no
+(
+ $as_echo "218. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:84: runroot rpm --eval '%{lua: print(rpm.vercmp(\"+a\", \"+a\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:84"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("+a", "+a"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:84"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_218
+#AT_START_219
+at_fn_group_banner 219 'rpmvercmp.at:85' \
+ "rpmvercmp(+a, _a) = 0" " " 12
+at_xfail=no
+(
+ $as_echo "219. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:85: runroot rpm --eval '%{lua: print(rpm.vercmp(\"+a\", \"_a\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:85"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("+a", "_a"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:85"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_219
+#AT_START_220
+at_fn_group_banner 220 'rpmvercmp.at:86' \
+ "rpmvercmp(_a, +a) = 0" " " 12
+at_xfail=no
+(
+ $as_echo "220. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:86: runroot rpm --eval '%{lua: print(rpm.vercmp(\"_a\", \"+a\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:86"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("_a", "+a"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:86"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_220
+#AT_START_221
+at_fn_group_banner 221 'rpmvercmp.at:87' \
+ "rpmvercmp(+_, +_) = 0" " " 12
+at_xfail=no
+(
+ $as_echo "221. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:87: runroot rpm --eval '%{lua: print(rpm.vercmp(\"+_\", \"+_\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:87"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("+_", "+_"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:87"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_221
+#AT_START_222
+at_fn_group_banner 222 'rpmvercmp.at:88' \
+ "rpmvercmp(_+, +_) = 0" " " 12
+at_xfail=no
+(
+ $as_echo "222. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:88: runroot rpm --eval '%{lua: print(rpm.vercmp(\"_+\", \"+_\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:88"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("_+", "+_"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:88"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_222
+#AT_START_223
+at_fn_group_banner 223 'rpmvercmp.at:89' \
+ "rpmvercmp(_+, _+) = 0" " " 12
+at_xfail=no
+(
+ $as_echo "223. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:89: runroot rpm --eval '%{lua: print(rpm.vercmp(\"_+\", \"_+\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:89"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("_+", "_+"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:89"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_223
+#AT_START_224
+at_fn_group_banner 224 'rpmvercmp.at:90' \
+ "rpmvercmp(+, _) = 0" " " 12
+at_xfail=no
+(
+ $as_echo "224. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:90: runroot rpm --eval '%{lua: print(rpm.vercmp(\"+\", \"_\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:90"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("+", "_"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:90"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_224
+#AT_START_225
+at_fn_group_banner 225 'rpmvercmp.at:91' \
+ "rpmvercmp(_, +) = 0" " " 12
+at_xfail=no
+(
+ $as_echo "225. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:91: runroot rpm --eval '%{lua: print(rpm.vercmp(\"_\", \"+\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:91"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("_", "+"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:91"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_225
+#AT_START_226
+at_fn_group_banner 226 'rpmvercmp.at:94' \
+ "rpmvercmp(1.0~rc1, 1.0~rc1) = 0" " " 12
+at_xfail=no
+(
+ $as_echo "226. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:94: runroot rpm --eval '%{lua: print(rpm.vercmp(\"1.0~rc1\", \"1.0~rc1\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:94"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("1.0~rc1", "1.0~rc1"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:94"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_226
+#AT_START_227
+at_fn_group_banner 227 'rpmvercmp.at:95' \
+ "rpmvercmp(1.0~rc1, 1.0) = -1" " " 12
+at_xfail=no
+(
+ $as_echo "227. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:95: runroot rpm --eval '%{lua: print(rpm.vercmp(\"1.0~rc1\", \"1.0\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:95"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("1.0~rc1", "1.0"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "-1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:95"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_227
+#AT_START_228
+at_fn_group_banner 228 'rpmvercmp.at:96' \
+ "rpmvercmp(1.0, 1.0~rc1) = 1" " " 12
+at_xfail=no
+(
+ $as_echo "228. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:96: runroot rpm --eval '%{lua: print(rpm.vercmp(\"1.0\", \"1.0~rc1\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:96"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("1.0", "1.0~rc1"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:96"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_228
+#AT_START_229
+at_fn_group_banner 229 'rpmvercmp.at:97' \
+ "rpmvercmp(1.0~rc1, 1.0~rc2) = -1" " " 12
+at_xfail=no
+(
+ $as_echo "229. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:97: runroot rpm --eval '%{lua: print(rpm.vercmp(\"1.0~rc1\", \"1.0~rc2\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:97"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("1.0~rc1", "1.0~rc2"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "-1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:97"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_229
+#AT_START_230
+at_fn_group_banner 230 'rpmvercmp.at:98' \
+ "rpmvercmp(1.0~rc2, 1.0~rc1) = 1" " " 12
+at_xfail=no
+(
+ $as_echo "230. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:98: runroot rpm --eval '%{lua: print(rpm.vercmp(\"1.0~rc2\", \"1.0~rc1\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:98"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("1.0~rc2", "1.0~rc1"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:98"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_230
+#AT_START_231
+at_fn_group_banner 231 'rpmvercmp.at:99' \
+ "rpmvercmp(1.0~rc1~git123, 1.0~rc1~git123) = 0" " " 12
+at_xfail=no
+(
+ $as_echo "231. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:99: runroot rpm --eval '%{lua: print(rpm.vercmp(\"1.0~rc1~git123\", \"1.0~rc1~git123\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:99"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("1.0~rc1~git123", "1.0~rc1~git123"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:99"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_231
+#AT_START_232
+at_fn_group_banner 232 'rpmvercmp.at:100' \
+ "rpmvercmp(1.0~rc1~git123, 1.0~rc1) = -1" " " 12
+at_xfail=no
+(
+ $as_echo "232. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:100: runroot rpm --eval '%{lua: print(rpm.vercmp(\"1.0~rc1~git123\", \"1.0~rc1\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:100"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("1.0~rc1~git123", "1.0~rc1"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "-1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:100"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_232
+#AT_START_233
+at_fn_group_banner 233 'rpmvercmp.at:101' \
+ "rpmvercmp(1.0~rc1, 1.0~rc1~git123) = 1" " " 12
+at_xfail=no
+(
+ $as_echo "233. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmvercmp.at:101: runroot rpm --eval '%{lua: print(rpm.vercmp(\"1.0~rc1\", \"1.0~rc1~git123\"))}'"
+at_fn_check_prepare_trace "rpmvercmp.at:101"
+( $at_check_trace; runroot rpm --eval '%{lua: print(rpm.vercmp("1.0~rc1", "1.0~rc1~git123"))}'
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmvercmp.at:101"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_233
+#AT_START_234
+at_fn_group_banner 234 'rpmdeps.at:7' \
+ "missing dependency" " " 13
+at_xfail=no
+(
+ $as_echo "234. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:9:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs deptest-two\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:9"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs deptest-two" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: Failed dependencies:
+ deptest-two is needed by deptest-one-1.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmdeps.at:9"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_234
+#AT_START_235
+at_fn_group_banner 235 'rpmdeps.at:30' \
+ "cross-depending packages" " " 13
+at_xfail=no
+(
+ $as_echo "235. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:32:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs deptest-two\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg two\" \\
+ --define \"reqs deptest-one\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:32"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs deptest-two" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ --define "reqs deptest-one" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdeps.at:32"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_235
+#AT_START_236
+at_fn_group_banner 236 'rpmdeps.at:56' \
+ "unsatisfied versioned require" " " 13
+at_xfail=no
+(
+ $as_echo "236. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:58:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs deptest-two >= 2.0\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg two\" \\
+ --define \"provs deptest-foo = 1.0\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:58"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs deptest-two >= 2.0" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ --define "provs deptest-foo = 1.0" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: Failed dependencies:
+ deptest-two >= 2.0 is needed by deptest-one-1.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 2 $at_status "$at_srcdir/rpmdeps.at:58"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_236
+#AT_START_237
+at_fn_group_banner 237 'rpmdeps.at:84' \
+ "satisfied versioned require" " " 13
+at_xfail=no
+(
+ $as_echo "237. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:86:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs deptest-foo >= 2.0\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg two\" \\
+ --define \"provs deptest-foo = 2.0\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:86"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs deptest-foo >= 2.0" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ --define "provs deptest-foo = 2.0" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdeps.at:86"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_237
+#AT_START_238
+at_fn_group_banner 238 'rpmdeps.at:110' \
+ "versioned conflict in transaction" " " 13
+at_xfail=no
+(
+ $as_echo "238. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:112:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"cfls deptest-two < 2.0\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg two\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:112"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "cfls deptest-two < 2.0" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: Failed dependencies:
+ deptest-two < 2.0 conflicts with deptest-one-1.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 2 $at_status "$at_srcdir/rpmdeps.at:112"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_238
+#AT_START_239
+at_fn_group_banner 239 'rpmdeps.at:137' \
+ "versioned conflict in database" " " 13
+at_xfail=no
+(
+ $as_echo "239. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:139:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"cfls deptest-two < 2.0\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg two\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:139"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "cfls deptest-two < 2.0" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: Failed dependencies:
+ deptest-two < 2.0 conflicts with (installed) deptest-one-1.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmdeps.at:139"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_239
+#AT_START_240
+at_fn_group_banner 240 'rpmdeps.at:163' \
+ "install and verify self-conflicting package" " " 13
+at_xfail=no
+(
+ $as_echo "240. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:165:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"provs something\" \\
+ --define \"cfls something\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+runroot rpm -V --nofiles deptest-one
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:165"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "provs something" \
+ --define "cfls something" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+runroot rpm -V --nofiles deptest-one
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdeps.at:165"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_240
+#AT_START_241
+at_fn_group_banner 241 'rpmdeps.at:185' \
+ "explicit file conflicts" " " 13
+at_xfail=no
+(
+ $as_echo "241. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:187:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"cfls /opt/bar\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg two\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U --test \\
+ /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm \\
+ /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+runroot rpm -e deptest-one
+# XXX FIXME: rpm's problem message for this case is higly bogus.
+runroot rpm -U /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+runroot rpm -e deptest-two
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:187"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "cfls /opt/bar" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U --test \
+ /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+runroot rpm -e deptest-one
+# XXX FIXME: rpm's problem message for this case is higly bogus.
+runroot rpm -U /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+runroot rpm -e deptest-two
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: Failed dependencies:
+ /opt/bar conflicts with deptest-one-1.0-1.noarch
+error: Failed dependencies:
+ /opt/bar conflicts with (installed) deptest-one-1.0-1.noarch
+error: Failed dependencies:
+ /opt/bar conflicts with deptest-one-1.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdeps.at:187"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_241
+#AT_START_242
+at_fn_group_banner 242 'rpmdeps.at:224' \
+ "erase to break dependencies" " " 13
+at_xfail=no
+(
+ $as_echo "242. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:226:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs deptest-foo >= 2.0\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg two\" \\
+ --define \"provs deptest-foo = 2.0\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+runroot rpm -e deptest-two
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:226"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs deptest-foo >= 2.0" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ --define "provs deptest-foo = 2.0" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+runroot rpm -e deptest-two
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: Failed dependencies:
+ deptest-foo >= 2.0 is needed by (installed) deptest-one-1.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmdeps.at:226"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_242
+#AT_START_243
+at_fn_group_banner 243 'rpmdeps.at:252' \
+ "erase to break colored file dependency" " " 13
+at_xfail=no
+(
+ $as_echo "243. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:254:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg hello\" \\
+ --define \"reqs /usr/bin/hello\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U --ignoreos --ignorearch --nodeps \\
+ --define \"_transaction_color 3\" \\
+ --define \"_prefer_color 2\" \\
+ /data/RPMS/hello-2.0-1.i686.rpm \\
+ /data/RPMS/hello-2.0-1.x86_64.rpm \\
+ /build/RPMS/noarch/deptest-hello-1.0-1.noarch.rpm
+
+runroot rpm -e hello.x86_64
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:254"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg hello" \
+ --define "reqs /usr/bin/hello" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U --ignoreos --ignorearch --nodeps \
+ --define "_transaction_color 3" \
+ --define "_prefer_color 2" \
+ /data/RPMS/hello-2.0-1.i686.rpm \
+ /data/RPMS/hello-2.0-1.x86_64.rpm \
+ /build/RPMS/noarch/deptest-hello-1.0-1.noarch.rpm
+
+runroot rpm -e hello.x86_64
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: Failed dependencies:
+ /usr/bin/hello is needed by (installed) deptest-hello-1.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmdeps.at:254"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_243
+#AT_START_244
+at_fn_group_banner 244 'rpmdeps.at:281' \
+ "erase on wrong-colored file dependency" " " 13
+at_xfail=no
+(
+ $as_echo "244. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:283:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg hello\" \\
+ --define \"reqs /usr/bin/hello\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U --ignoreos --ignorearch --nodeps \\
+ --define \"_transaction_color 3\" \\
+ --define \"_prefer_color 2\" \\
+ /data/RPMS/hello-2.0-1.i686.rpm \\
+ /data/RPMS/hello-2.0-1.x86_64.rpm \\
+ /build/RPMS/noarch/deptest-hello-1.0-1.noarch.rpm
+
+runroot rpm -e hello.i686
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:283"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg hello" \
+ --define "reqs /usr/bin/hello" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U --ignoreos --ignorearch --nodeps \
+ --define "_transaction_color 3" \
+ --define "_prefer_color 2" \
+ /data/RPMS/hello-2.0-1.i686.rpm \
+ /data/RPMS/hello-2.0-1.x86_64.rpm \
+ /build/RPMS/noarch/deptest-hello-1.0-1.noarch.rpm
+
+runroot rpm -e hello.i686
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdeps.at:283"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_244
+#AT_START_245
+at_fn_group_banner 245 'rpmdeps.at:309' \
+ "unsatisfied WITH require" " " 13
+at_xfail=no
+(
+ $as_echo "245. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:311:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs (deptest-two with flavor = dekstop)\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg two\" \\
+ --define \"provs flavor = server\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg three\" \\
+ --define \"provs flavor = desktop\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:311"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two with flavor = dekstop)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ --define "provs flavor = server" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg three" \
+ --define "provs flavor = desktop" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: Failed dependencies:
+ (deptest-two with flavor = dekstop) is needed by deptest-one-1.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 3 $at_status "$at_srcdir/rpmdeps.at:311"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_245
+#AT_START_246
+at_fn_group_banner 246 'rpmdeps.at:340' \
+ "unsatisfied WITH require (rpmdb)" " " 13
+at_xfail=no
+(
+ $as_echo "246. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:342:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs (deptest-two with flavor = dekstop)\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg two\" \\
+ --define \"provs flavor = server\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg three\" \\
+ --define \"provs flavor = desktop\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:342"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two with flavor = dekstop)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ --define "provs flavor = server" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg three" \
+ --define "provs flavor = desktop" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: Failed dependencies:
+ (deptest-two with flavor = dekstop) is needed by deptest-one-1.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmdeps.at:342"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_246
+#AT_START_247
+at_fn_group_banner 247 'rpmdeps.at:373' \
+ "satisfied WITH require" " " 13
+at_xfail=no
+(
+ $as_echo "247. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:375:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs (deptest-two with flavor = desktop)\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg two\" \\
+ --define \"provs flavor = desktop\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:375"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two with flavor = desktop)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ --define "provs flavor = desktop" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdeps.at:375"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_247
+#AT_START_248
+at_fn_group_banner 248 'rpmdeps.at:397' \
+ "satisfied WITH require (rpmdb)" " " 13
+at_xfail=no
+(
+ $as_echo "248. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:399:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs (deptest-two with flavor = desktop)\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg two\" \\
+ --define \"provs flavor = desktop\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:399"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two with flavor = desktop)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ --define "provs flavor = desktop" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdeps.at:399"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_248
+#AT_START_249
+at_fn_group_banner 249 'rpmdeps.at:425' \
+ "unsatisfied WITHOUT require" " " 13
+at_xfail=no
+(
+ $as_echo "249. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:427:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs (deptest-two without flavor)\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg two\" \\
+ --define \"provs flavor = server\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:427"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two without flavor)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ --define "provs flavor = server" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: Failed dependencies:
+ (deptest-two without flavor) is needed by deptest-one-1.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 2 $at_status "$at_srcdir/rpmdeps.at:427"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_249
+#AT_START_250
+at_fn_group_banner 250 'rpmdeps.at:451' \
+ "unsatisfied WITHOUT require (rpmdb)" " " 13
+at_xfail=no
+(
+ $as_echo "250. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:453:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs (deptest-two without flavor)\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg two\" \\
+ --define \"provs flavor = server\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:453"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two without flavor)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ --define "provs flavor = server" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: Failed dependencies:
+ (deptest-two without flavor) is needed by deptest-one-1.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmdeps.at:453"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_250
+#AT_START_251
+at_fn_group_banner 251 'rpmdeps.at:479' \
+ "satisfied WITHOUT require" " " 13
+at_xfail=no
+(
+ $as_echo "251. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:481:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs (deptest-two without flavor)\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg two\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:481"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two without flavor)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdeps.at:481"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_251
+#AT_START_252
+at_fn_group_banner 252 'rpmdeps.at:502' \
+ "satisfied WITHOUT require (rpmdb)" " " 13
+at_xfail=no
+(
+ $as_echo "252. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:504:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs (deptest-two without flavor)\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg two\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:504"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two without flavor)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdeps.at:504"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_252
+#AT_START_253
+at_fn_group_banner 253 'rpmdeps.at:529' \
+ "unsatisfied AND require - all missing" " " 13
+at_xfail=no
+(
+ $as_echo "253. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:531:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs (deptest-two and deptest-three)\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:531"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two and deptest-three)" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: Failed dependencies:
+ (deptest-two and deptest-three) is needed by deptest-one-1.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmdeps.at:531"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_253
+#AT_START_254
+at_fn_group_banner 254 'rpmdeps.at:550' \
+ "unsatisfied AND require - first is missing" " " 13
+at_xfail=no
+(
+ $as_echo "254. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:552:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs (deptest-two and deptest-three)\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg three\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:552"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two and deptest-three)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg three" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: Failed dependencies:
+ (deptest-two and deptest-three) is needed by deptest-one-1.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 2 $at_status "$at_srcdir/rpmdeps.at:552"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_254
+#AT_START_255
+at_fn_group_banner 255 'rpmdeps.at:575' \
+ "unsatisfied AND require - second is missing" " " 13
+at_xfail=no
+(
+ $as_echo "255. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:577:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs (deptest-two and deptest-three)\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg two\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:577"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two and deptest-three)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: Failed dependencies:
+ (deptest-two and deptest-three) is needed by deptest-one-1.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 2 $at_status "$at_srcdir/rpmdeps.at:577"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_255
+#AT_START_256
+at_fn_group_banner 256 'rpmdeps.at:600' \
+ "satisfied AND require" " " 13
+at_xfail=no
+(
+ $as_echo "256. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:602:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs (deptest-two and deptest-three)\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg two\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg three\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:602"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two and deptest-three)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg three" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdeps.at:602"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_256
+#AT_START_257
+at_fn_group_banner 257 'rpmdeps.at:629' \
+ "unsatisfied OR require - all missing" " " 13
+at_xfail=no
+(
+ $as_echo "257. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:631:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs (deptest-two or deptest-three)\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:631"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two or deptest-three)" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: Failed dependencies:
+ (deptest-two or deptest-three) is needed by deptest-one-1.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmdeps.at:631"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_257
+#AT_START_258
+at_fn_group_banner 258 'rpmdeps.at:650' \
+ "satisfied OR require - first is missing" " " 13
+at_xfail=no
+(
+ $as_echo "258. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:652:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs (deptest-two or deptest-three)\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg three\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:652"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two or deptest-three)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg three" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdeps.at:652"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_258
+#AT_START_259
+at_fn_group_banner 259 'rpmdeps.at:673' \
+ "satisfied OR require - second is missing" " " 13
+at_xfail=no
+(
+ $as_echo "259. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:675:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs (deptest-two or deptest-three)\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg two\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:675"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two or deptest-three)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdeps.at:675"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_259
+#AT_START_260
+at_fn_group_banner 260 'rpmdeps.at:696' \
+ "satisfied OR require - both present" " " 13
+at_xfail=no
+(
+ $as_echo "260. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:698:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs (deptest-two or deptest-three)\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg two\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg three\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:698"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two or deptest-three)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg three" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdeps.at:698"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_260
+#AT_START_261
+at_fn_group_banner 261 'rpmdeps.at:725' \
+ "unsatisfied IF require" " " 13
+at_xfail=no
+(
+ $as_echo "261. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:727:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs (deptest-two if deptest-three)\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg three\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:727"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two if deptest-three)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg three" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: Failed dependencies:
+ (deptest-two if deptest-three) is needed by deptest-one-1.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 2 $at_status "$at_srcdir/rpmdeps.at:727"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_261
+#AT_START_262
+at_fn_group_banner 262 'rpmdeps.at:750' \
+ "satisfied IF require" " " 13
+at_xfail=no
+(
+ $as_echo "262. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:752:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs (deptest-two if deptest-three)\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg three\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg two\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:752"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two if deptest-three)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg three" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdeps.at:752"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_262
+#AT_START_263
+at_fn_group_banner 263 'rpmdeps.at:777' \
+ "unsatisfied IF-ELSE require" " " 13
+at_xfail=no
+(
+ $as_echo "263. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:779:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs (deptest-two if deptest-three else deptest-four)\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:779"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two if deptest-three else deptest-four)" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: Failed dependencies:
+ (deptest-two if deptest-three else deptest-four) is needed by deptest-one-1.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmdeps.at:779"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_263
+#AT_START_264
+at_fn_group_banner 264 'rpmdeps.at:798' \
+ "satisfied IF-ELSE require - right clause" " " 13
+at_xfail=no
+(
+ $as_echo "264. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:800:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs (deptest-two if deptest-three else deptest-four)\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg four\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-four-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:800"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two if deptest-three else deptest-four)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg four" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-four-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdeps.at:800"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_264
+#AT_START_265
+at_fn_group_banner 265 'rpmdeps.at:821' \
+ "satisfied IF-ELSE require - left clause" " " 13
+at_xfail=no
+(
+ $as_echo "265. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:823:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs (deptest-two if deptest-three else deptest-four)\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg three\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg two\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:823"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two if deptest-three else deptest-four)" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg three" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdeps.at:823"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_265
+#AT_START_266
+at_fn_group_banner 266 'rpmdeps.at:850' \
+ "unsatisfied nested AND-OR require" " " 13
+at_xfail=no
+(
+ $as_echo "266. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:852:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs (deptest-two and (deptest-three or deptest-four))\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg two\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:852"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two and (deptest-three or deptest-four))" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: Failed dependencies:
+ (deptest-two and (deptest-three or deptest-four)) is needed by deptest-one-1.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 2 $at_status "$at_srcdir/rpmdeps.at:852"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_266
+#AT_START_267
+at_fn_group_banner 267 'rpmdeps.at:875' \
+ "satisfied nested AND-OR require" " " 13
+at_xfail=no
+(
+ $as_echo "267. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:877:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs (deptest-two and (deptest-three or deptest-four))\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg two\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg three\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:877"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two and (deptest-three or deptest-four))" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg three" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdeps.at:877"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_267
+#AT_START_268
+at_fn_group_banner 268 'rpmdeps.at:904' \
+ "satisfied nested AND-IF require - without right clause" "" 13
+at_xfail=no
+(
+ $as_echo "268. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:906:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs (deptest-two and (deptest-three if deptest-four))\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg two\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:906"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two and (deptest-three if deptest-four))" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdeps.at:906"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_268
+#AT_START_269
+at_fn_group_banner 269 'rpmdeps.at:927' \
+ "satisfied nested AND-IF require - with right clause" "" 13
+at_xfail=no
+(
+ $as_echo "269. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdeps.at:929:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" \\
+ --define \"reqs (deptest-two and (deptest-three if deptest-four))\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg two\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg four\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg three\" \\
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-four-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmdeps.at:929"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" \
+ --define "reqs (deptest-two and (deptest-three if deptest-four))" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg four" \
+ /data/SPECS/deptest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg three" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -U /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-two-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-four-1.0-1.noarch.rpm /build/RPMS/noarch/deptest-three-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdeps.at:929"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_269
+#AT_START_270
+at_fn_group_banner 270 'rpmconflict.at:7' \
+ "package with file conflict" " " 14
+at_xfail=no
+(
+ $as_echo "270. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconflict.at:9:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+for p in \"one\" \"two\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"pkg \$p\" \\
+ --define \"filedata \$p\" \\
+ /data/SPECS/conflicttest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/conflictone-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/conflicttwo-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconflict.at:9"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+for p in "one" "two"; do
+ runroot rpmbuild --quiet -bb \
+ --define "pkg $p" \
+ --define "filedata $p" \
+ /data/SPECS/conflicttest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/conflictone-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/conflicttwo-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo stdout:; cat "$at_stdout"
+at_fn_check_status 1 $at_status "$at_srcdir/rpmconflict.at:9"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_270
+#AT_START_271
+at_fn_group_banner 271 'rpmconflict.at:31' \
+ "two packages with a conflicting file" " " 14
+at_xfail=no
+(
+ $as_echo "271. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconflict.at:33:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U \\
+ /build/RPMS/noarch/conflictone-1.0-1.noarch.rpm \\
+ /build/RPMS/noarch/conflicttwo-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconflict.at:33"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U \
+ /build/RPMS/noarch/conflictone-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/conflicttwo-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo stdout:; cat "$at_stdout"
+at_fn_check_status 2 $at_status "$at_srcdir/rpmconflict.at:33"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_271
+#AT_START_272
+at_fn_group_banner 272 'rpmconflict.at:48' \
+ "package with shareable file" " " 14
+at_xfail=no
+(
+ $as_echo "272. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconflict.at:50:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+for p in \"one\" \"two\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"pkg \$p\" \\
+ --define \"filedata same_stuff\" \\
+ /data/SPECS/conflicttest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/conflictone-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/conflicttwo-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconflict.at:50"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+for p in "one" "two"; do
+ runroot rpmbuild --quiet -bb \
+ --define "pkg $p" \
+ --define "filedata same_stuff" \
+ /data/SPECS/conflicttest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/conflictone-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/conflicttwo-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo stdout:; cat "$at_stdout"
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconflict.at:50"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_272
+#AT_START_273
+at_fn_group_banner 273 'rpmconflict.at:72' \
+ "two packages with shareable file" " " 14
+at_xfail=no
+(
+ $as_echo "273. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconflict.at:74:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U \\
+ /build/RPMS/noarch/conflictone-1.0-1.noarch.rpm \\
+ /build/RPMS/noarch/conflicttwo-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconflict.at:74"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U \
+ /build/RPMS/noarch/conflictone-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/conflicttwo-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo stderr:; cat "$at_stderr"
+echo stdout:; cat "$at_stdout"
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconflict.at:74"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_273
+#AT_START_274
+at_fn_group_banner 274 'rpmconflict.at:89' \
+ "non-conflicting identical basenames" " " 14
+at_xfail=no
+(
+ $as_echo "274. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconflict.at:91:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb /data/SPECS/selfconflict.spec
+rm -rf \"\${RPMTEST}\"/opt/mydir
+runroot rpm -U /build/RPMS/noarch/selfconflict-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconflict.at:91"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb /data/SPECS/selfconflict.spec
+rm -rf "${RPMTEST}"/opt/mydir
+runroot rpm -U /build/RPMS/noarch/selfconflict-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconflict.at:91"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_274
+#AT_START_275
+at_fn_group_banner 275 'rpmconflict.at:107' \
+ "conflicting identical basenames" " " 14
+at_xfail=no
+(
+ $as_echo "275. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconflict.at:109:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb /data/SPECS/selfconflict.spec
+rm -rf \"\${RPMTEST}\"/opt/mydir
+mkdir -p \"\${RPMTEST}\"/opt/mydir/one
+ln -s one \"\${RPMTEST}\"/opt/mydir/two
+runroot rpm -U /build/RPMS/noarch/selfconflict-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconflict.at:109"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb /data/SPECS/selfconflict.spec
+rm -rf "${RPMTEST}"/opt/mydir
+mkdir -p "${RPMTEST}"/opt/mydir/one
+ln -s one "${RPMTEST}"/opt/mydir/two
+runroot rpm -U /build/RPMS/noarch/selfconflict-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo " file /opt/mydir/two/somefile conflicts between attempted installs of selfconflict-1.0-1.noarch and selfconflict-1.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmconflict.at:109"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_275
+#AT_START_276
+at_fn_group_banner 276 'rpmconflict.at:127' \
+ "multilib elf conflict, prefer 64bit 1" " " 14
+at_xfail=no
+(
+ $as_echo "276. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconflict.at:129:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U --ignoreos --ignorearch --nodeps \\
+ --define \"_transaction_color 3\" \\
+ --define \"_prefer_color 2\" \\
+ /data/RPMS/hello-2.0-1.i686.rpm \\
+ /data/RPMS/hello-2.0-1.x86_64.rpm
+runroot rpm -q --qf \"[%{filestates:fstate},]\\n\" hello.i686 hello.x86_64
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconflict.at:129"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U --ignoreos --ignorearch --nodeps \
+ --define "_transaction_color 3" \
+ --define "_prefer_color 2" \
+ /data/RPMS/hello-2.0-1.i686.rpm \
+ /data/RPMS/hello-2.0-1.x86_64.rpm
+runroot rpm -q --qf "[%{filestates:fstate},]\n" hello.i686 hello.x86_64
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "wrong color,normal,normal,normal,normal,
+normal,normal,normal,normal,normal,
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconflict.at:129"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_276
+#AT_START_277
+at_fn_group_banner 277 'rpmconflict.at:149' \
+ "multilib elf conflict, prefer 64bit 2" " " 14
+at_xfail=no
+(
+ $as_echo "277. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconflict.at:151:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U --ignoreos --ignorearch --nodeps \\
+ --define \"_transaction_color 3\" \\
+ --define \"_prefer_color 2\" \\
+ /data/RPMS/hello-2.0-1.i686.rpm
+runroot rpm -q --qf \"[%{filestates:fstate},]\\n\" hello.i686
+runroot rpm -U --ignoreos --ignorearch --nodeps \\
+ --define \"_transaction_color 3\" \\
+ --define \"_prefer_color 2\" \\
+ /data/RPMS/hello-2.0-1.x86_64.rpm
+runroot rpm -q --qf \"[%{filestates:fstate},]\\n\" hello.i686 hello.x86_64
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconflict.at:151"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U --ignoreos --ignorearch --nodeps \
+ --define "_transaction_color 3" \
+ --define "_prefer_color 2" \
+ /data/RPMS/hello-2.0-1.i686.rpm
+runroot rpm -q --qf "[%{filestates:fstate},]\n" hello.i686
+runroot rpm -U --ignoreos --ignorearch --nodeps \
+ --define "_transaction_color 3" \
+ --define "_prefer_color 2" \
+ /data/RPMS/hello-2.0-1.x86_64.rpm
+runroot rpm -q --qf "[%{filestates:fstate},]\n" hello.i686 hello.x86_64
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "normal,normal,normal,normal,normal,
+wrong color,normal,normal,normal,normal,
+normal,normal,normal,normal,normal,
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconflict.at:151"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_277
+#AT_START_278
+at_fn_group_banner 278 'rpmconflict.at:176' \
+ "multilib elf conflict, prefer 64bit 3" " " 14
+at_xfail=no
+(
+ $as_echo "278. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconflict.at:178:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U --ignoreos --ignorearch --nodeps \\
+ --define \"_transaction_color 3\" \\
+ --define \"_prefer_color 2\" \\
+ /data/RPMS/hello-2.0-1.x86_64.rpm
+runroot rpm -q --qf \"[%{filestates:fstate},]\\n\" hello.x86_64
+runroot rpm -U --ignoreos --ignorearch --nodeps \\
+ --define \"_transaction_color 3\" \\
+ --define \"_prefer_color 2\" \\
+ /data/RPMS/hello-2.0-1.i686.rpm
+runroot rpm -q --qf \"[%{filestates:fstate},]\\n\" hello.i686 hello.x86_64
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconflict.at:178"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U --ignoreos --ignorearch --nodeps \
+ --define "_transaction_color 3" \
+ --define "_prefer_color 2" \
+ /data/RPMS/hello-2.0-1.x86_64.rpm
+runroot rpm -q --qf "[%{filestates:fstate},]\n" hello.x86_64
+runroot rpm -U --ignoreos --ignorearch --nodeps \
+ --define "_transaction_color 3" \
+ --define "_prefer_color 2" \
+ /data/RPMS/hello-2.0-1.i686.rpm
+runroot rpm -q --qf "[%{filestates:fstate},]\n" hello.i686 hello.x86_64
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "normal,normal,normal,normal,normal,
+wrong color,normal,normal,normal,normal,
+normal,normal,normal,normal,normal,
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconflict.at:178"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_278
+#AT_START_279
+at_fn_group_banner 279 'rpmconflict.at:203' \
+ "multilib elf conflict, prefer 32bit 1" " " 14
+at_xfail=no
+(
+ $as_echo "279. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconflict.at:205:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U --ignoreos --ignorearch --nodeps \\
+ --define \"_transaction_color 3\" \\
+ --define \"_prefer_color 1\" \\
+ /data/RPMS/hello-2.0-1.i686.rpm \\
+ /data/RPMS/hello-2.0-1.x86_64.rpm
+runroot rpm -q --qf \"[%{filestates:fstate},]\\n\" hello.i686 hello.x86_64
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconflict.at:205"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U --ignoreos --ignorearch --nodeps \
+ --define "_transaction_color 3" \
+ --define "_prefer_color 1" \
+ /data/RPMS/hello-2.0-1.i686.rpm \
+ /data/RPMS/hello-2.0-1.x86_64.rpm
+runroot rpm -q --qf "[%{filestates:fstate},]\n" hello.i686 hello.x86_64
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "normal,normal,normal,normal,normal,
+wrong color,normal,normal,normal,normal,
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconflict.at:205"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_279
+#AT_START_280
+at_fn_group_banner 280 'rpmconflict.at:225' \
+ "multilib elf conflict, prefer 32bit 2" " " 14
+at_xfail=no
+(
+ $as_echo "280. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconflict.at:227:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U --ignoreos --ignorearch --nodeps \\
+ --define \"_transaction_color 3\" \\
+ --define \"_prefer_color 1\" \\
+ /data/RPMS/hello-2.0-1.i686.rpm
+runroot rpm -q --qf \"[%{filestates:fstate},]\\n\" hello.i686
+runroot rpm -U --ignoreos --ignorearch --nodeps \\
+ --define \"_transaction_color 3\" \\
+ --define \"_prefer_color 1\" \\
+ /data/RPMS/hello-2.0-1.x86_64.rpm
+runroot rpm -q --qf \"[%{filestates:fstate},]\\n\" hello.i686 hello.x86_64
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconflict.at:227"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U --ignoreos --ignorearch --nodeps \
+ --define "_transaction_color 3" \
+ --define "_prefer_color 1" \
+ /data/RPMS/hello-2.0-1.i686.rpm
+runroot rpm -q --qf "[%{filestates:fstate},]\n" hello.i686
+runroot rpm -U --ignoreos --ignorearch --nodeps \
+ --define "_transaction_color 3" \
+ --define "_prefer_color 1" \
+ /data/RPMS/hello-2.0-1.x86_64.rpm
+runroot rpm -q --qf "[%{filestates:fstate},]\n" hello.i686 hello.x86_64
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "normal,normal,normal,normal,normal,
+normal,normal,normal,normal,normal,
+wrong color,normal,normal,normal,normal,
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconflict.at:227"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_280
+#AT_START_281
+at_fn_group_banner 281 'rpmconflict.at:252' \
+ "multilib elf conflict, prefer 32bit 3" " " 14
+at_xfail=no
+(
+ $as_echo "281. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconflict.at:254:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U --ignoreos --ignorearch --nodeps \\
+ --define \"_transaction_color 3\" \\
+ --define \"_prefer_color 1\" \\
+ /data/RPMS/hello-2.0-1.x86_64.rpm
+runroot rpm -q --qf \"[%{filestates:fstate},]\\n\" hello.x86_64
+runroot rpm -U --ignoreos --ignorearch --nodeps \\
+ --define \"_transaction_color 3\" \\
+ --define \"_prefer_color 1\" \\
+ /data/RPMS/hello-2.0-1.i686.rpm
+runroot rpm -q --qf \"[%{filestates:fstate},]\\n\" hello.i686 hello.x86_64
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconflict.at:254"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpm -U --ignoreos --ignorearch --nodeps \
+ --define "_transaction_color 3" \
+ --define "_prefer_color 1" \
+ /data/RPMS/hello-2.0-1.x86_64.rpm
+runroot rpm -q --qf "[%{filestates:fstate},]\n" hello.x86_64
+runroot rpm -U --ignoreos --ignorearch --nodeps \
+ --define "_transaction_color 3" \
+ --define "_prefer_color 1" \
+ /data/RPMS/hello-2.0-1.i686.rpm
+runroot rpm -q --qf "[%{filestates:fstate},]\n" hello.i686 hello.x86_64
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "normal,normal,normal,normal,normal,
+normal,normal,normal,normal,normal,
+wrong color,normal,normal,normal,normal,
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconflict.at:254"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_281
+#AT_START_282
+at_fn_group_banner 282 'rpmconflict.at:279' \
+ "multilib elf vs non-elf file conflict 1" " " 14
+at_xfail=no
+(
+ $as_echo "282. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconflict.at:281:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpmbuild --quiet -bb /data/SPECS/hello-script.spec
+
+runroot rpm -U --ignoreos --ignorearch --nodeps \\
+ --define \"_transaction_color 3\" \\
+ --define \"_prefer_color 2\" \\
+ /data/RPMS/hello-2.0-1.x86_64.rpm \\
+ /build/RPMS/noarch/hello-script-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconflict.at:281"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpmbuild --quiet -bb /data/SPECS/hello-script.spec
+
+runroot rpm -U --ignoreos --ignorearch --nodeps \
+ --define "_transaction_color 3" \
+ --define "_prefer_color 2" \
+ /data/RPMS/hello-2.0-1.x86_64.rpm \
+ /build/RPMS/noarch/hello-script-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo " file /usr/bin/hello conflicts between attempted installs of hello-2.0-1.x86_64 and hello-script-1.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 2 $at_status "$at_srcdir/rpmconflict.at:281"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_282
+#AT_START_283
+at_fn_group_banner 283 'rpmconflict.at:300' \
+ "multilib elf vs non-elf file conflict 2" " " 14
+at_xfail=no
+(
+ $as_echo "283. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconflict.at:302:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpmbuild --quiet -bb /data/SPECS/hello-script.spec
+
+runroot rpm -U --ignoreos --ignorearch --nodeps \\
+ --define \"_transaction_color 3\" \\
+ --define \"_prefer_color 2\" \\
+ /data/RPMS/hello-2.0-1.x86_64.rpm
+
+runroot rpm -U --ignoreos --ignorearch --nodeps \\
+ --define \"_transaction_color 3\" \\
+ --define \"_prefer_color 2\" \\
+ /build/RPMS/noarch/hello-script-1.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconflict.at:302"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpmbuild --quiet -bb /data/SPECS/hello-script.spec
+
+runroot rpm -U --ignoreos --ignorearch --nodeps \
+ --define "_transaction_color 3" \
+ --define "_prefer_color 2" \
+ /data/RPMS/hello-2.0-1.x86_64.rpm
+
+runroot rpm -U --ignoreos --ignorearch --nodeps \
+ --define "_transaction_color 3" \
+ --define "_prefer_color 2" \
+ /build/RPMS/noarch/hello-script-1.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo " file /usr/bin/hello from install of hello-script-1.0-1.noarch conflicts with file from package hello-2.0-1.x86_64
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmconflict.at:302"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_283
+#AT_START_284
+at_fn_group_banner 284 'rpmconflict.at:325' \
+ "multilib elf vs non-elf file conflict 3" " " 14
+at_xfail=no
+(
+ $as_echo "284. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconflict.at:327:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpmbuild --quiet -bb /data/SPECS/hello-script.spec
+
+runroot rpm -U --ignoreos --ignorearch --nodeps \\
+ --define \"_transaction_color 3\" \\
+ --define \"_prefer_color 2\" \\
+ /build/RPMS/noarch/hello-script-1.0-1.noarch.rpm
+
+runroot rpm -U --ignoreos --ignorearch --nodeps \\
+ --define \"_transaction_color 3\" \\
+ --define \"_prefer_color 2\" \\
+ /data/RPMS/hello-2.0-1.x86_64.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconflict.at:327"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+runroot rpmbuild --quiet -bb /data/SPECS/hello-script.spec
+
+runroot rpm -U --ignoreos --ignorearch --nodeps \
+ --define "_transaction_color 3" \
+ --define "_prefer_color 2" \
+ /build/RPMS/noarch/hello-script-1.0-1.noarch.rpm
+
+runroot rpm -U --ignoreos --ignorearch --nodeps \
+ --define "_transaction_color 3" \
+ --define "_prefer_color 2" \
+ /data/RPMS/hello-2.0-1.x86_64.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo " file /usr/bin/hello from install of hello-2.0-1.x86_64 conflicts with file from package hello-script-1.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmconflict.at:327"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_284
+#AT_START_285
+at_fn_group_banner 285 'rpmconflict.at:351' \
+ "replacing directory with symlink" " " 14
+at_xfail=no
+(
+ $as_echo "285. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconflict.at:353:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+rm -rf \"\${RPMTEST}\"/usr/{share,lib}/symlinktest*
+
+runroot rpmbuild --quiet -bb \\
+ --define \"rel 1\" --without symlink /data/SPECS/symlinktest.spec
+runroot rpmbuild --quiet -bb \\
+ --define \"rel 2\" --with symlink /data/SPECS/symlinktest.spec
+
+runroot rpm -U /build/RPMS/noarch/symlinktest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/symlinktest-1.0-2.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconflict.at:353"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+rm -rf "${RPMTEST}"/usr/{share,lib}/symlinktest*
+
+runroot rpmbuild --quiet -bb \
+ --define "rel 1" --without symlink /data/SPECS/symlinktest.spec
+runroot rpmbuild --quiet -bb \
+ --define "rel 2" --with symlink /data/SPECS/symlinktest.spec
+
+runroot rpm -U /build/RPMS/noarch/symlinktest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/symlinktest-1.0-2.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo " file /usr/share/symlinktest from install of symlinktest-1.0-2.noarch conflicts with file from package symlinktest-1.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 2 $at_status "$at_srcdir/rpmconflict.at:353"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_285
+#AT_START_286
+at_fn_group_banner 286 'rpmconflict.at:375' \
+ "replacing symlink with directory" " " 14
+at_xfail=no
+(
+ $as_echo "286. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconflict.at:377:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+rm -rf \"\${TOPDIR}\"
+rm -rf \"\${RPMTEST}\"/usr/{share,lib}/symlinktest*
+
+runroot rpmbuild --quiet -bb \\
+ --define \"rel 1\" --with symlink /data/SPECS/symlinktest.spec
+runroot rpmbuild --quiet -bb \\
+ --define \"rel 2\" --without symlink /data/SPECS/symlinktest.spec
+
+runroot rpm -U /build/RPMS/noarch/symlinktest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/symlinktest-1.0-2.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconflict.at:377"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+rm -rf "${TOPDIR}"
+rm -rf "${RPMTEST}"/usr/{share,lib}/symlinktest*
+
+runroot rpmbuild --quiet -bb \
+ --define "rel 1" --with symlink /data/SPECS/symlinktest.spec
+runroot rpmbuild --quiet -bb \
+ --define "rel 2" --without symlink /data/SPECS/symlinktest.spec
+
+runroot rpm -U /build/RPMS/noarch/symlinktest-1.0-1.noarch.rpm
+runroot rpm -U /build/RPMS/noarch/symlinktest-1.0-2.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo " file /usr/share/symlinktest from install of symlinktest-1.0-2.noarch conflicts with file from package symlinktest-1.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 2 $at_status "$at_srcdir/rpmconflict.at:377"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_286
+#AT_START_287
+at_fn_group_banner 287 'rpmconflict.at:400' \
+ "real file with shared ghost" " " 14
+at_xfail=no
+(
+ $as_echo "287. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconflict.at:402:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+fn=\"\${RPMTEST}\"/usr/share/my.version
+rm -rf \"\${TOPDIR}\" \"\${fn}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg one\" --define \"filedata one\" \\
+ /data/SPECS/conflicttest.spec
+runroot rpmbuild --quiet -bb \\
+ --define \"pkg two\" --define \"filedata two\" --define \"fileattr %ghost\"\\
+ /data/SPECS/conflicttest.spec
+
+test ! -f \"\${fn}\" && echo OK
+runroot rpm -U \\
+ /build/RPMS/noarch/conflictone-1.0-1.noarch.rpm \\
+ /build/RPMS/noarch/conflicttwo-1.0-1.noarch.rpm
+cat \"\${fn}\"
+runroot rpm -e conflicttwo
+cat \"\${fn}\"
+runroot rpm -e conflictone
+test ! -f \"\${fn}\" && echo OK
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconflict.at:402"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+fn="${RPMTEST}"/usr/share/my.version
+rm -rf "${TOPDIR}" "${fn}"
+
+runroot rpmbuild --quiet -bb \
+ --define "pkg one" --define "filedata one" \
+ /data/SPECS/conflicttest.spec
+runroot rpmbuild --quiet -bb \
+ --define "pkg two" --define "filedata two" --define "fileattr %ghost"\
+ /data/SPECS/conflicttest.spec
+
+test ! -f "${fn}" && echo OK
+runroot rpm -U \
+ /build/RPMS/noarch/conflictone-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/conflicttwo-1.0-1.noarch.rpm
+cat "${fn}"
+runroot rpm -e conflicttwo
+cat "${fn}"
+runroot rpm -e conflictone
+test ! -f "${fn}" && echo OK
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "OK
+one
+one
+OK
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconflict.at:402"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_287
+#AT_START_288
+at_fn_group_banner 288 'rpmreplace.at:4' \
+ "upgrade to/from regular file" " " 15
+at_xfail=no
+(
+ $as_echo "288. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmreplace.at:6:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+tf=\"\${RPMTEST}\"/opt/foo
+rm -rf \"\${tf}\" \"\${tf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filetype file\" \\
+ --define \"filedata foo\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 2.0\" \\
+ --define \"filetype file\" \\
+ --define \"filedata bar\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+cat \"\${tf}\"
+runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+cat \"\${tf}\"
+runroot rpm -U --oldpackage /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+cat \"\${tf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmreplace.at:6"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+tf="${RPMTEST}"/opt/foo
+rm -rf "${tf}" "${tf}".rpm*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype file" \
+ --define "filedata foo" \
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 2.0" \
+ --define "filetype file" \
+ --define "filedata bar" \
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+cat "${tf}"
+runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+cat "${tf}"
+runroot rpm -U --oldpackage /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+cat "${tf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+bar
+foo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmreplace.at:6"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_288
+#AT_START_289
+at_fn_group_banner 289 'rpmreplace.at:40' \
+ "upgrade regular file to/from broken link" " " 15
+at_xfail=no
+(
+ $as_echo "289. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmreplace.at:42:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+tf=\"\${RPMTEST}\"/opt/foo
+rm -rf \"\${RPMTEST}\"/opt/*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filetype file\" \\
+ --define \"filedata foo\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 2.0\" \\
+ --define \"filetype link\" \\
+ --define \"filedata stuff\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+cat \"\${tf}\"
+runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+readlink \"\${tf}\"
+runroot rpm -U --oldpackage /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+cat \"\${tf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmreplace.at:42"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+tf="${RPMTEST}"/opt/foo
+rm -rf "${RPMTEST}"/opt/*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype file" \
+ --define "filedata foo" \
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 2.0" \
+ --define "filetype link" \
+ --define "filedata stuff" \
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+cat "${tf}"
+runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+readlink "${tf}"
+runroot rpm -U --oldpackage /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+cat "${tf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+stuff
+foo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmreplace.at:42"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_289
+#AT_START_290
+at_fn_group_banner 290 'rpmreplace.at:76' \
+ "upgrade regular file to/from file link" " " 15
+at_xfail=no
+(
+ $as_echo "290. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmreplace.at:78:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+tf=\"\${RPMTEST}\"/opt/foo
+rm -rf \"\${RPMTEST}\"/opt/*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filetype file\" \\
+ --define \"filedata foo\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 2.0\" \\
+ --define \"filetype link\" \\
+ --define \"filedata goo\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+cat \"\${tf}\"
+runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+readlink \"\${tf}\"
+runroot rpm -U --oldpackage /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+cat \"\${tf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmreplace.at:78"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+tf="${RPMTEST}"/opt/foo
+rm -rf "${RPMTEST}"/opt/*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype file" \
+ --define "filedata foo" \
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 2.0" \
+ --define "filetype link" \
+ --define "filedata goo" \
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+cat "${tf}"
+runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+readlink "${tf}"
+runroot rpm -U --oldpackage /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+cat "${tf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+goo
+foo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmreplace.at:78"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_290
+#AT_START_291
+at_fn_group_banner 291 'rpmreplace.at:112' \
+ "upgrade broken link to broken link" " " 15
+at_xfail=no
+(
+ $as_echo "291. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmreplace.at:114:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+tf=\"\${RPMTEST}\"/opt/foo
+rm -rf \"\${RPMTEST}\"/opt/*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filetype link\" \\
+ --define \"filedata stiff\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 2.0\" \\
+ --define \"filetype link\" \\
+ --define \"filedata stuff\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+readlink \"\${tf}\"
+runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+readlink \"\${tf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmreplace.at:114"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+tf="${RPMTEST}"/opt/foo
+rm -rf "${RPMTEST}"/opt/*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype link" \
+ --define "filedata stiff" \
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 2.0" \
+ --define "filetype link" \
+ --define "filedata stuff" \
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+readlink "${tf}"
+runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+readlink "${tf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "stiff
+stuff
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmreplace.at:114"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_291
+#AT_START_292
+at_fn_group_banner 292 'rpmreplace.at:145' \
+ "upgrade file link to file link" " " 15
+at_xfail=no
+(
+ $as_echo "292. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmreplace.at:147:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+tf=\"\${RPMTEST}\"/opt/foo
+rm -rf \"\${RPMTEST}\"/opt/*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filetype link\" \\
+ --define \"filedata goo\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 2.0\" \\
+ --define \"filetype link\" \\
+ --define \"filedata goo\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+readlink \"\${tf}\"
+runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+readlink \"\${tf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmreplace.at:147"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+tf="${RPMTEST}"/opt/foo
+rm -rf "${RPMTEST}"/opt/*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype link" \
+ --define "filedata goo" \
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 2.0" \
+ --define "filetype link" \
+ --define "filedata goo" \
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+readlink "${tf}"
+runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+readlink "${tf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "goo
+goo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmreplace.at:147"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_292
+#AT_START_293
+at_fn_group_banner 293 'rpmreplace.at:178' \
+ "upgrade directory link to directory link" " " 15
+at_xfail=no
+(
+ $as_echo "293. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmreplace.at:180:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+tf=\"\${RPMTEST}\"/opt/foo
+rm -rf \"\${RPMTEST}\"/opt/*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filetype link\" \\
+ --define \"filedata zoo\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 2.0\" \\
+ --define \"filetype link\" \\
+ --define \"filedata zoo\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+readlink \"\${tf}\"
+runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+readlink \"\${tf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmreplace.at:180"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+tf="${RPMTEST}"/opt/foo
+rm -rf "${RPMTEST}"/opt/*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype link" \
+ --define "filedata zoo" \
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 2.0" \
+ --define "filetype link" \
+ --define "filedata zoo" \
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+readlink "${tf}"
+runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+readlink "${tf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "zoo
+zoo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmreplace.at:180"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_293
+#AT_START_294
+at_fn_group_banner 294 'rpmreplace.at:211' \
+ "upgrade regular file to directory" " " 15
+at_xfail=no
+(
+ $as_echo "294. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmreplace.at:213:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+tf=\"\${RPMTEST}\"/opt/foo
+rm -rf \"\${RPMTEST}\"/opt/*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filetype file\" \\
+ --define \"filedata foo\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 2.0\" \\
+ --define \"filetype dir\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+cat \"\${tf}\"
+runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+test -d \"\${tf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmreplace.at:213"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+tf="${RPMTEST}"/opt/foo
+rm -rf "${RPMTEST}"/opt/*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype file" \
+ --define "filedata foo" \
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 2.0" \
+ --define "filetype dir" \
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+cat "${tf}"
+runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+test -d "${tf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmreplace.at:213"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_294
+#AT_START_295
+at_fn_group_banner 295 'rpmreplace.at:242' \
+ "upgrade broken link to directory" " " 15
+at_xfail=no
+(
+ $as_echo "295. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmreplace.at:244:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+tf=\"\${RPMTEST}\"/opt/foo
+rm -rf \"\${RPMTEST}\"/opt/*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filetype link\" \\
+ --define \"filedata other\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 2.0\" \\
+ --define \"filetype dir\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+readlink \"\${tf}\"
+runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+test -d \"\${tf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmreplace.at:244"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+tf="${RPMTEST}"/opt/foo
+rm -rf "${RPMTEST}"/opt/*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype link" \
+ --define "filedata other" \
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 2.0" \
+ --define "filetype dir" \
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+readlink "${tf}"
+runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+test -d "${tf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "other
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmreplace.at:244"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_295
+#AT_START_296
+at_fn_group_banner 296 'rpmreplace.at:273' \
+ "upgrade file link to directory" " " 15
+at_xfail=no
+(
+ $as_echo "296. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmreplace.at:275:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+tf=\"\${RPMTEST}\"/opt/foo
+rm -rf \"\${RPMTEST}\"/opt/*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filetype link\" \\
+ --define \"filedata goo\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 2.0\" \\
+ --define \"filetype dir\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+readlink \"\${tf}\"
+runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+test -d \"\${tf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmreplace.at:275"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+tf="${RPMTEST}"/opt/foo
+rm -rf "${RPMTEST}"/opt/*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype link" \
+ --define "filedata goo" \
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 2.0" \
+ --define "filetype dir" \
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+readlink "${tf}"
+runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+test -d "${tf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "goo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmreplace.at:275"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_296
+#AT_START_297
+at_fn_group_banner 297 'rpmreplace.at:304' \
+ "upgrade directory link to directory" " " 15
+at_xfail=no
+(
+ $as_echo "297. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmreplace.at:306:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+tf=\"\${RPMTEST}\"/opt/foo
+rm -rf \"\${RPMTEST}\"/opt/*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filetype link\" \\
+ --define \"filedata zoo\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 2.0\" \\
+ --define \"filetype dir\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+readlink \"\${tf}\"
+runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmreplace.at:306"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+tf="${RPMTEST}"/opt/foo
+rm -rf "${RPMTEST}"/opt/*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype link" \
+ --define "filedata zoo" \
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 2.0" \
+ --define "filetype dir" \
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+readlink "${tf}"
+runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo " file /opt/foo from install of replacetest-2.0-1.noarch conflicts with file from package replacetest-1.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "zoo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 2 $at_status "$at_srcdir/rpmreplace.at:306"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_297
+#AT_START_298
+at_fn_group_banner 298 'rpmreplace.at:335' \
+ "upgrade empty directory to empty directory" " " 15
+at_xfail=no
+(
+ $as_echo "298. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmreplace.at:337:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+tf=\"\${RPMTEST}\"/opt/foo
+rm -rf \"\${RPMTEST}\"/opt/*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filetype dir\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 2.0\" \\
+ --define \"filetype dir\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+test -d \"\${tf}\" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+test -d \"\${tf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmreplace.at:337"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+tf="${RPMTEST}"/opt/foo
+rm -rf "${RPMTEST}"/opt/*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype dir" \
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 2.0" \
+ --define "filetype dir" \
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+test -d "${tf}" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+test -d "${tf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmreplace.at:337"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_298
+#AT_START_299
+at_fn_group_banner 299 'rpmreplace.at:363' \
+ "upgrade empty directory to regular file" " " 15
+at_xfail=no
+(
+ $as_echo "299. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmreplace.at:365:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+tf=\"\${RPMTEST}\"/opt/foo
+rm -rf \"\${RPMTEST}\"/opt/*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filetype dir\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 2.0\" \\
+ --define \"filetype file\" \\
+ --define \"filedata woot\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+test -d \"\${tf}\" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmreplace.at:365"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+tf="${RPMTEST}"/opt/foo
+rm -rf "${RPMTEST}"/opt/*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype dir" \
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 2.0" \
+ --define "filetype file" \
+ --define "filedata woot" \
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+test -d "${tf}" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo " file /opt/foo from install of replacetest-2.0-1.noarch conflicts with file from package replacetest-1.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 2 $at_status "$at_srcdir/rpmreplace.at:365"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_299
+#AT_START_300
+at_fn_group_banner 300 'rpmreplace.at:392' \
+ "upgrade locally symlinked directory" " " 15
+at_xfail=no
+(
+ $as_echo "300. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmreplace.at:394:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+tf=\"\${RPMTEST}\"/opt/foo
+rm -rf \"\${RPMTEST}\"/opt/*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filetype datadir\" \\
+ --define \"filedata README1\" \\
+ --define \"user \$(id -u -n)\" \\
+ --define \"grp \$(id -g -n)\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 2.0\" \\
+ --define \"filetype datadir\" \\
+ --define \"filedata README2\" \\
+ --define \"user \$(id -u -n)\" \\
+ --define \"grp \$(id -g -n)\" \\
+ /data/SPECS/replacetest.spec
+
+mkdir \"\${RPMTEST}\"/opt/f00f
+ln -s f00f \"\${RPMTEST}\"/opt/foo
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+test -L \"\${tf}\" && test -d \"\${tf}\" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+test -L \"\${tf}\" && test -d \"\${tf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmreplace.at:394"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+tf="${RPMTEST}"/opt/foo
+rm -rf "${RPMTEST}"/opt/*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype datadir" \
+ --define "filedata README1" \
+ --define "user $(id -u -n)" \
+ --define "grp $(id -g -n)" \
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 2.0" \
+ --define "filetype datadir" \
+ --define "filedata README2" \
+ --define "user $(id -u -n)" \
+ --define "grp $(id -g -n)" \
+ /data/SPECS/replacetest.spec
+
+mkdir "${RPMTEST}"/opt/f00f
+ln -s f00f "${RPMTEST}"/opt/foo
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+test -L "${tf}" && test -d "${tf}" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+test -L "${tf}" && test -d "${tf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmreplace.at:394"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_300
+#AT_START_301
+at_fn_group_banner 301 'rpmreplace.at:428' \
+ "upgrade invalid locally symlinked directory" " " 15
+at_xfail=no
+(
+ $as_echo "301. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmreplace.at:430:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+tf=\"\${RPMTEST}\"/opt/foo
+rm -rf \"\${RPMTEST}\"/opt/*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filetype datadir\" \\
+ --define \"filedata README1\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 2.0\" \\
+ --define \"filetype datadir\" \\
+ --define \"filedata README2\" \\
+ /data/SPECS/replacetest.spec
+
+mkdir \"\${RPMTEST}\"/opt/f00f
+ln -s f00f \"\${RPMTEST}\"/opt/foo
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+test -L \"\${tf}\" && test -d \"\${tf}\" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+test -d \"\${tf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmreplace.at:430"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+tf="${RPMTEST}"/opt/foo
+rm -rf "${RPMTEST}"/opt/*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype datadir" \
+ --define "filedata README1" \
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 2.0" \
+ --define "filetype datadir" \
+ --define "filedata README2" \
+ /data/SPECS/replacetest.spec
+
+mkdir "${RPMTEST}"/opt/f00f
+ln -s f00f "${RPMTEST}"/opt/foo
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+test -L "${tf}" && test -d "${tf}" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+test -d "${tf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmreplace.at:430"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_301
+#AT_START_302
+at_fn_group_banner 302 'rpmreplace.at:460' \
+ "upgrade empty directory to broken link" " " 15
+at_xfail=no
+(
+ $as_echo "302. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmreplace.at:462:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+tf=\"\${RPMTEST}\"/opt/foo
+rm -rf \"\${RPMTEST}\"/opt/*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filetype dir\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 2.0\" \\
+ --define \"filetype link\" \\
+ --define \"filedata woot\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+test -d \"\${tf}\" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmreplace.at:462"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+tf="${RPMTEST}"/opt/foo
+rm -rf "${RPMTEST}"/opt/*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype dir" \
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 2.0" \
+ --define "filetype link" \
+ --define "filedata woot" \
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+test -d "${tf}" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo " file /opt/foo from install of replacetest-2.0-1.noarch conflicts with file from package replacetest-1.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 2 $at_status "$at_srcdir/rpmreplace.at:462"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_302
+#AT_START_303
+at_fn_group_banner 303 'rpmreplace.at:489' \
+ "upgrade empty directory to file link" " " 15
+at_xfail=no
+(
+ $as_echo "303. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmreplace.at:491:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+tf=\"\${RPMTEST}\"/opt/foo
+rm -rf \"\${RPMTEST}\"/opt/*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filetype dir\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 2.0\" \\
+ --define \"filetype link\" \\
+ --define \"filedata woot\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+test -d \"\${tf}\" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmreplace.at:491"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+tf="${RPMTEST}"/opt/foo
+rm -rf "${RPMTEST}"/opt/*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype dir" \
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 2.0" \
+ --define "filetype link" \
+ --define "filedata woot" \
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+test -d "${tf}" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo " file /opt/foo from install of replacetest-2.0-1.noarch conflicts with file from package replacetest-1.0-1.noarch
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 2 $at_status "$at_srcdir/rpmreplace.at:491"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_303
+#AT_START_304
+at_fn_group_banner 304 'rpmreplace.at:518' \
+ "upgrade removed empty directory to file link" " " 15
+at_xfail=no
+(
+ $as_echo "304. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmreplace.at:520:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+tf=\"\${RPMTEST}\"/opt/foo
+rm -rf \"\${RPMTEST}\"/opt/*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filetype dir\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 2.0\" \\
+ --define \"filetype link\" \\
+ --define \"filedata goo\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+test -d \"\${tf}\" && rmdir \"\${tf}\" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+readlink \"\${tf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmreplace.at:520"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+tf="${RPMTEST}"/opt/foo
+rm -rf "${RPMTEST}"/opt/*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype dir" \
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 2.0" \
+ --define "filetype link" \
+ --define "filedata goo" \
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+test -d "${tf}" && rmdir "${tf}" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+readlink "${tf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "goo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmreplace.at:520"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_304
+#AT_START_305
+at_fn_group_banner 305 'rpmreplace.at:548' \
+ "upgrade replaced empty directory to file link" " " 15
+at_xfail=no
+(
+ $as_echo "305. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmreplace.at:550:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+tf=\"\${RPMTEST}\"/opt/foo
+rm -rf \"\${RPMTEST}\"/opt/*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filetype dir\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 2.0\" \\
+ --define \"filetype link\" \\
+ --define \"filedata goo\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+test -d \"\${tf}\" && rmdir \"\${tf}\" && ln -sf goo \"\${tf}\" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+readlink \"\${tf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmreplace.at:550"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+tf="${RPMTEST}"/opt/foo
+rm -rf "${RPMTEST}"/opt/*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype dir" \
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 2.0" \
+ --define "filetype link" \
+ --define "filedata goo" \
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+test -d "${tf}" && rmdir "${tf}" && ln -sf goo "${tf}" && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+readlink "${tf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "goo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmreplace.at:550"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_305
+#AT_START_306
+at_fn_group_banner 306 'rpmreplace.at:578' \
+ "upgrade empty directory to file link with pretrans" "" 15
+at_xfail=no
+(
+ $as_echo "306. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmreplace.at:580:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+tf=\"\${RPMTEST}\"/opt/foo
+rm -rf \"\${RPMTEST}\"/opt/*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filetype dir\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 2.0\" \\
+ --define \"filetype link\" \\
+ --define \"filedata goo\" \\
+ --define \"fixit posix.rmdir('/opt/foo')\" \\
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+test -d \"\${tf}\" && runroot rpm -U --test /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+readlink \"\${tf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmreplace.at:580"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+tf="${RPMTEST}"/opt/foo
+rm -rf "${RPMTEST}"/opt/*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype dir" \
+ /data/SPECS/replacetest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 2.0" \
+ --define "filetype link" \
+ --define "filedata goo" \
+ --define "fixit posix.rmdir('/opt/foo')" \
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+test -d "${tf}" && runroot rpm -U --test /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm && runroot rpm -U /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+readlink "${tf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "goo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmreplace.at:580"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_306
+#AT_START_307
+at_fn_group_banner 307 'rpmconfig.at:6' \
+ "install config on existiting file" " " 16
+at_xfail=no
+(
+ $as_echo "307. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig.at:8:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filedata foo\" \\
+ /data/SPECS/configtest.spec
+
+echo \"otherstuff\" > \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat \"\${cf}\"
+runroot rpm -e configtest
+cat \"\${cf}.rpmorig\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig.at:8"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filedata foo" \
+ /data/SPECS/configtest.spec
+
+echo "otherstuff" > "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat "${cf}"
+runroot rpm -e configtest
+cat "${cf}.rpmorig"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "warning: /etc/my.conf saved as /etc/my.conf.rpmorig
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+otherstuff
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig.at:8"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_307
+#AT_START_308
+at_fn_group_banner 308 'rpmconfig.at:35' \
+ "install config(noreplace) on existing file" " " 16
+at_xfail=no
+(
+ $as_echo "308. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig.at:37:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filedata foo\" \\
+ --define \"noreplace 1\" \\
+ /data/SPECS/configtest.spec
+
+echo \"otherstuff\" > \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat \"\${cf}\"
+cat \"\${cf}.rpmnew\"
+runroot rpm -e configtest
+cat \"\${cf}.rpmsave\"
+cat \"\${cf}.rpmnew\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig.at:37"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filedata foo" \
+ --define "noreplace 1" \
+ /data/SPECS/configtest.spec
+
+echo "otherstuff" > "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat "${cf}"
+cat "${cf}.rpmnew"
+runroot rpm -e configtest
+cat "${cf}.rpmsave"
+cat "${cf}.rpmnew"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "warning: /etc/my.conf created as /etc/my.conf.rpmnew
+warning: /etc/my.conf saved as /etc/my.conf.rpmsave
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "otherstuff
+foo
+otherstuff
+foo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig.at:37"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_308
+#AT_START_309
+at_fn_group_banner 309 'rpmconfig.at:70' \
+ "install config on existiting identical file" " " 16
+at_xfail=no
+(
+ $as_echo "309. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig.at:72:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filedata foo\" \\
+ /data/SPECS/configtest.spec
+
+echo \"foo\" > \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat \"\${cf}\"
+runroot rpm -e configtest
+test ! -f \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig.at:72"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filedata foo" \
+ /data/SPECS/configtest.spec
+
+echo "foo" > "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat "${cf}"
+runroot rpm -e configtest
+test ! -f "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig.at:72"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_309
+#AT_START_310
+at_fn_group_banner 310 'rpmconfig.at:97' \
+ "erase unchanged config" " " 16
+at_xfail=no
+(
+ $as_echo "310. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig.at:99:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filedata foo\" \\
+ /data/SPECS/configtest.spec
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat \"\${cf}\"
+runroot rpm -e configtest
+test ! -f \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig.at:99"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filedata foo" \
+ /data/SPECS/configtest.spec
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat "${cf}"
+runroot rpm -e configtest
+test ! -f "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig.at:99"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_310
+#AT_START_311
+at_fn_group_banner 311 'rpmconfig.at:123' \
+ "erase changed config" " " 16
+at_xfail=no
+(
+ $as_echo "311. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig.at:125:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filedata foo\" \\
+ /data/SPECS/configtest.spec
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat \"\${cf}\"
+echo \"otherstuff\" > \"\${cf}\"
+runroot rpm -e configtest
+cat \"\${cf}.rpmsave\"
+test ! -f \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig.at:125"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filedata foo" \
+ /data/SPECS/configtest.spec
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat "${cf}"
+echo "otherstuff" > "${cf}"
+runroot rpm -e configtest
+cat "${cf}.rpmsave"
+test ! -f "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "warning: /etc/my.conf saved as /etc/my.conf.rpmsave
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+otherstuff
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig.at:125"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_311
+#AT_START_312
+at_fn_group_banner 312 'rpmconfig.at:153' \
+ "erase changed config(noreplace)" " " 16
+at_xfail=no
+(
+ $as_echo "312. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig.at:155:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filedata foo\" \\
+ --define \"noreplace 1\" \\
+ /data/SPECS/configtest.spec
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat \"\${cf}\"
+echo \"otherstuff\" > \"\${cf}\"
+runroot rpm -e configtest
+cat \"\${cf}.rpmsave\"
+test ! -f \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig.at:155"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filedata foo" \
+ --define "noreplace 1" \
+ /data/SPECS/configtest.spec
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat "${cf}"
+echo "otherstuff" > "${cf}"
+runroot rpm -e configtest
+cat "${cf}.rpmsave"
+test ! -f "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "warning: /etc/my.conf saved as /etc/my.conf.rpmsave
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+otherstuff
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig.at:155"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_312
+#AT_START_313
+at_fn_group_banner 313 'rpmconfig.at:185' \
+ "upgrade unchanged config" " " 16
+at_xfail=no
+(
+ $as_echo "313. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig.at:187:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo\" \\
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+cat \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig.at:187"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filedata foo" \
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+cat "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+foo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig.at:187"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_313
+#AT_START_314
+at_fn_group_banner 314 'rpmconfig.at:215' \
+ "upgrade unchanged config - touching test" " " 16
+at_xfail=no
+(
+ $as_echo "314. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig.at:217:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo\" \\
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -Uvv --fsmdebug /build/RPMS/noarch/configtest-2.0-1.noarch.rpm > output.txt 2>&1
+grep -c \"touch\" output.txt
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig.at:217"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filedata foo" \
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -Uvv --fsmdebug /build/RPMS/noarch/configtest-2.0-1.noarch.rpm > output.txt 2>&1
+grep -c "touch" output.txt
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig.at:217"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_314
+#AT_START_315
+at_fn_group_banner 315 'rpmconfig.at:243' \
+ "upgrade modified config" " " 16
+at_xfail=no
+(
+ $as_echo "315. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig.at:245:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo\" \\
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat \"\${cf}\"
+echo \"otherstuff\" > \"\${cf}\"
+cat \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+cat \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig.at:245"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filedata foo" \
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat "${cf}"
+echo "otherstuff" > "${cf}"
+cat "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+cat "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+otherstuff
+otherstuff
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig.at:245"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_315
+#AT_START_316
+at_fn_group_banner 316 'rpmconfig.at:276' \
+ "upgrade changing config" " " 16
+at_xfail=no
+(
+ $as_echo "316. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig.at:278:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo-\$v\" \\
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+cat \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig.at:278"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filedata foo-$v" \
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+cat "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo-1.0
+foo-2.0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig.at:278"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_316
+#AT_START_317
+at_fn_group_banner 317 'rpmconfig.at:306' \
+ "upgrade changing, modified config 1" " " 16
+at_xfail=no
+(
+ $as_echo "317. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig.at:308:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo-\$v\" \\
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat \"\${cf}\"
+echo \"otherstuff\" > \"\${RPMTEST}\"/etc/my.conf
+cat \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+cat \"\${cf}\"
+cat \"\${cf}.rpmsave\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig.at:308"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filedata foo-$v" \
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat "${cf}"
+echo "otherstuff" > "${RPMTEST}"/etc/my.conf
+cat "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+cat "${cf}"
+cat "${cf}.rpmsave"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "warning: /etc/my.conf saved as /etc/my.conf.rpmsave
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo-1.0
+otherstuff
+foo-2.0
+otherstuff
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig.at:308"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_317
+#AT_START_318
+at_fn_group_banner 318 'rpmconfig.at:342' \
+ "upgrade changing, modified config 2" " " 16
+at_xfail=no
+(
+ $as_echo "318. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig.at:344:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo-\$v\" \\
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat \"\${cf}\"
+echo \"foo-2.0\" > \"\${RPMTEST}\"/etc/my.conf
+cat \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+cat \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig.at:344"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filedata foo-$v" \
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat "${cf}"
+echo "foo-2.0" > "${RPMTEST}"/etc/my.conf
+cat "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+cat "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo-1.0
+foo-2.0
+foo-2.0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig.at:344"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_318
+#AT_START_319
+at_fn_group_banner 319 'rpmconfig.at:377' \
+ "upgrade unchanged config(noreplace)" " " 16
+at_xfail=no
+(
+ $as_echo "319. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig.at:379:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo\" \\
+ --define \"noreplace 1\" \\
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+cat \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig.at:379"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filedata foo" \
+ --define "noreplace 1" \
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+cat "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+foo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig.at:379"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_319
+#AT_START_320
+at_fn_group_banner 320 'rpmconfig.at:409' \
+ "upgrade modified config(noreplace)" " " 16
+at_xfail=no
+(
+ $as_echo "320. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig.at:411:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo\" \\
+ --define \"noreplace 1\" \\
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat \"\${cf}\"
+echo \"otherstuff\" > \"\${cf}\"
+cat \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+cat \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig.at:411"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filedata foo" \
+ --define "noreplace 1" \
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat "${cf}"
+echo "otherstuff" > "${cf}"
+cat "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+cat "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+otherstuff
+otherstuff
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig.at:411"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_320
+#AT_START_321
+at_fn_group_banner 321 'rpmconfig.at:443' \
+ "upgrade changing config(noreplace)" " " 16
+at_xfail=no
+(
+ $as_echo "321. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig.at:445:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo-\$v\" \\
+ --define \"noreplace 1\" \\
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+cat \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig.at:445"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filedata foo-$v" \
+ --define "noreplace 1" \
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+cat "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo-1.0
+foo-2.0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig.at:445"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_321
+#AT_START_322
+at_fn_group_banner 322 'rpmconfig.at:474' \
+ "upgrade changing, modified config(noreplace) 1" " " 16
+at_xfail=no
+(
+ $as_echo "322. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig.at:476:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo-\$v\" \\
+ --define \"noreplace 1\" \\
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat \"\${cf}\"
+echo \"otherstuff\" > \"\${RPMTEST}\"/etc/my.conf
+cat \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+cat \"\${cf}\"
+cat \"\${cf}.rpmnew\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig.at:476"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filedata foo-$v" \
+ --define "noreplace 1" \
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat "${cf}"
+echo "otherstuff" > "${RPMTEST}"/etc/my.conf
+cat "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+cat "${cf}"
+cat "${cf}.rpmnew"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "warning: /etc/my.conf created as /etc/my.conf.rpmnew
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo-1.0
+otherstuff
+otherstuff
+foo-2.0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig.at:476"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_322
+#AT_START_323
+at_fn_group_banner 323 'rpmconfig.at:511' \
+ "upgrade changing, modified config(noreplace) 2" " " 16
+at_xfail=no
+(
+ $as_echo "323. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig.at:513:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo-\$v\" \\
+ --define \"noreplace 1\" \\
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat \"\${cf}\"
+echo \"foo-2.0\" > \"\${RPMTEST}\"/etc/my.conf
+cat \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+cat \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig.at:513"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filedata foo-$v" \
+ --define "noreplace 1" \
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat "${cf}"
+echo "foo-2.0" > "${RPMTEST}"/etc/my.conf
+cat "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+cat "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo-1.0
+foo-2.0
+foo-2.0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig.at:513"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_323
+#AT_START_324
+at_fn_group_banner 324 'rpmconfig.at:546' \
+ "upgrade unchanged shared config" " " 16
+at_xfail=no
+(
+ $as_echo "324. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig.at:548:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for s in \"A\" \"B\"; do
+ for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"sub \$s\" \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo\" \\
+ /data/SPECS/configtest.spec
+ done
+done
+
+runroot rpm -U \\
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \\
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+cat \"\${cf}\"
+runroot rpm -U \\
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \\
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+cat \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig.at:548"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for s in "A" "B"; do
+ for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "sub $s" \
+ --define "ver $v" \
+ --define "filedata foo" \
+ /data/SPECS/configtest.spec
+ done
+done
+
+runroot rpm -U \
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+cat "${cf}"
+runroot rpm -U \
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+cat "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+foo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig.at:548"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_324
+#AT_START_325
+at_fn_group_banner 325 'rpmconfig.at:584' \
+ "upgrade modified shared config" " " 16
+at_xfail=no
+(
+ $as_echo "325. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig.at:586:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for s in \"A\" \"B\"; do
+ for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"sub \$s\" \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo\" \\
+ /data/SPECS/configtest.spec
+ done
+done
+
+runroot rpm -U \\
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \\
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+cat \"\${cf}\"
+echo \"otherstuff\" > \"\${cf}\"
+cat \"\${cf}\"
+runroot rpm -U \\
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \\
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+cat \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig.at:586"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for s in "A" "B"; do
+ for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "sub $s" \
+ --define "ver $v" \
+ --define "filedata foo" \
+ /data/SPECS/configtest.spec
+ done
+done
+
+runroot rpm -U \
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+cat "${cf}"
+echo "otherstuff" > "${cf}"
+cat "${cf}"
+runroot rpm -U \
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+cat "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+otherstuff
+otherstuff
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig.at:586"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_325
+#AT_START_326
+at_fn_group_banner 326 'rpmconfig.at:624' \
+ "upgrade changing shared config" " " 16
+at_xfail=no
+(
+ $as_echo "326. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig.at:626:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for s in \"A\" \"B\"; do
+ for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"sub \$s\" \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo-\$v\" \\
+ /data/SPECS/configtest.spec
+ done
+done
+
+runroot rpm -U \\
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \\
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+cat \"\${cf}\"
+runroot rpm -U \\
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \\
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+cat \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig.at:626"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for s in "A" "B"; do
+ for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "sub $s" \
+ --define "ver $v" \
+ --define "filedata foo-$v" \
+ /data/SPECS/configtest.spec
+ done
+done
+
+runroot rpm -U \
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+cat "${cf}"
+runroot rpm -U \
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+cat "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo-1.0
+foo-2.0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig.at:626"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_326
+#AT_START_327
+at_fn_group_banner 327 'rpmconfig.at:661' \
+ "upgrade changing, modified shared config 1" " " 16
+at_xfail=no
+(
+ $as_echo "327. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig.at:663:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for s in \"A\" \"B\"; do
+ for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"sub \$s\" \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo-\$v\" \\
+ /data/SPECS/configtest.spec
+ done
+done
+
+runroot rpm -U \\
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \\
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+cat \"\${cf}\"
+echo \"otherstuff\" > \"\${RPMTEST}\"/etc/my.conf
+cat \"\${cf}\"
+runroot rpm -U \\
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \\
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+cat \"\${cf}\"
+cat \"\${cf}.rpmsave\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig.at:663"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for s in "A" "B"; do
+ for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "sub $s" \
+ --define "ver $v" \
+ --define "filedata foo-$v" \
+ /data/SPECS/configtest.spec
+ done
+done
+
+runroot rpm -U \
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+cat "${cf}"
+echo "otherstuff" > "${RPMTEST}"/etc/my.conf
+cat "${cf}"
+runroot rpm -U \
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+cat "${cf}"
+cat "${cf}.rpmsave"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "warning: /etc/my.conf saved as /etc/my.conf.rpmsave
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo-1.0
+otherstuff
+foo-2.0
+otherstuff
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig.at:663"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_327
+#AT_START_328
+at_fn_group_banner 328 'rpmconfig.at:704' \
+ "upgrade changing, modified shared config 2" " " 16
+at_xfail=no
+(
+ $as_echo "328. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig.at:706:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for s in \"A\" \"B\"; do
+ for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"sub \$s\" \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo-\$v\" \\
+ /data/SPECS/configtest.spec
+ done
+done
+
+runroot rpm -U \\
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \\
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+cat \"\${cf}\"
+echo \"foo-2.0\" > \"\${RPMTEST}\"/etc/my.conf
+cat \"\${cf}\"
+runroot rpm -U \\
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \\
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+cat \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig.at:706"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for s in "A" "B"; do
+ for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "sub $s" \
+ --define "ver $v" \
+ --define "filedata foo-$v" \
+ /data/SPECS/configtest.spec
+ done
+done
+
+runroot rpm -U \
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+cat "${cf}"
+echo "foo-2.0" > "${RPMTEST}"/etc/my.conf
+cat "${cf}"
+runroot rpm -U \
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+cat "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo-1.0
+foo-2.0
+foo-2.0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig.at:706"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_328
+#AT_START_329
+at_fn_group_banner 329 'rpmconfig.at:745' \
+ "upgrade changing, modified shared config(noreplace) 1" "" 16
+at_xfail=no
+(
+ $as_echo "329. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig.at:747:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for s in \"A\" \"B\"; do
+ for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"sub \$s\" \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo-\$v\" \\
+ --define \"noreplace 1\" \\
+ /data/SPECS/configtest.spec
+ done
+done
+
+runroot rpm -U \\
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \\
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+cat \"\${cf}\"
+echo \"otherstuff\" > \"\${RPMTEST}\"/etc/my.conf
+cat \"\${cf}\"
+runroot rpm -U \\
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \\
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+cat \"\${cf}\"
+cat \"\${cf}.rpmnew\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig.at:747"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for s in "A" "B"; do
+ for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "sub $s" \
+ --define "ver $v" \
+ --define "filedata foo-$v" \
+ --define "noreplace 1" \
+ /data/SPECS/configtest.spec
+ done
+done
+
+runroot rpm -U \
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+cat "${cf}"
+echo "otherstuff" > "${RPMTEST}"/etc/my.conf
+cat "${cf}"
+runroot rpm -U \
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+cat "${cf}"
+cat "${cf}.rpmnew"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "warning: /etc/my.conf created as /etc/my.conf.rpmnew
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo-1.0
+otherstuff
+otherstuff
+foo-2.0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig.at:747"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_329
+#AT_START_330
+at_fn_group_banner 330 'rpmconfig.at:789' \
+ "upgrade changing, modified shared config(noreplace) 2" "" 16
+at_xfail=no
+(
+ $as_echo "330. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig.at:791:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for s in \"A\" \"B\"; do
+ for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"sub \$s\" \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo-\$v\" \\
+ --define \"noreplace 1\" \\
+ /data/SPECS/configtest.spec
+ done
+done
+
+runroot rpm -U \\
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \\
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+cat \"\${cf}\"
+echo \"foo-2.0\" > \"\${RPMTEST}\"/etc/my.conf
+cat \"\${cf}\"
+runroot rpm -U \\
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \\
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+cat \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig.at:791"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for s in "A" "B"; do
+ for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "sub $s" \
+ --define "ver $v" \
+ --define "filedata foo-$v" \
+ --define "noreplace 1" \
+ /data/SPECS/configtest.spec
+ done
+done
+
+runroot rpm -U \
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+cat "${cf}"
+echo "foo-2.0" > "${RPMTEST}"/etc/my.conf
+cat "${cf}"
+runroot rpm -U \
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+cat "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo-1.0
+foo-2.0
+foo-2.0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig.at:791"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_330
+#AT_START_331
+at_fn_group_banner 331 'rpmconfig.at:830' \
+ "install/upgrade/erase ghost config" " " 16
+at_xfail=no
+(
+ $as_echo "331. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig.at:832:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for v in 1.0 2.0; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \${v}\" \\
+ --define \"filetype file\" \\
+ --define \"filedata buster\" \\
+ --define \"fileattr %ghost\" \\
+ /data/SPECS/configtest.spec
+done
+
+# pre-existing config, install, erase
+test ! -f \"\${cf}\" && echo OK1
+echo \"keaton\" > \"\${cf}\"
+cat \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat \"\${cf}\"
+runroot rpm -e configtest
+cat \"\${cf}\"
+rm -f \"\${cf}\"
+
+# post-install config, upgrade, erase
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+test ! -f \"\${cf}\" && echo OK2
+echo \"buster\" > \"\${cf}\"
+cat \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+cat \"\${cf}\"
+runroot rpm -e configtest
+cat \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig.at:832"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in 1.0 2.0; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver ${v}" \
+ --define "filetype file" \
+ --define "filedata buster" \
+ --define "fileattr %ghost" \
+ /data/SPECS/configtest.spec
+done
+
+# pre-existing config, install, erase
+test ! -f "${cf}" && echo OK1
+echo "keaton" > "${cf}"
+cat "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat "${cf}"
+runroot rpm -e configtest
+cat "${cf}"
+rm -f "${cf}"
+
+# post-install config, upgrade, erase
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+test ! -f "${cf}" && echo OK2
+echo "buster" > "${cf}"
+cat "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+cat "${cf}"
+runroot rpm -e configtest
+cat "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "OK1
+keaton
+keaton
+keaton
+OK2
+buster
+buster
+buster
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig.at:832"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_331
+#AT_START_332
+at_fn_group_banner 332 'rpmconfig2.at:6' \
+ "install config on existiting symlink" " " 17
+at_xfail=no
+(
+ $as_echo "332. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig2.at:8:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filedata foo\" \\
+ --define \"filetype link\" \\
+ /data/SPECS/configtest.spec
+
+ln -s \"otherstuff\" \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+readlink \"\${cf}\"
+runroot rpm -e configtest
+readlink \"\${cf}.rpmorig\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig2.at:8"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filedata foo" \
+ --define "filetype link" \
+ /data/SPECS/configtest.spec
+
+ln -s "otherstuff" "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+readlink "${cf}"
+runroot rpm -e configtest
+readlink "${cf}.rpmorig"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "warning: /etc/my.conf saved as /etc/my.conf.rpmorig
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+otherstuff
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig2.at:8"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_332
+#AT_START_333
+at_fn_group_banner 333 'rpmconfig2.at:36' \
+ "install config on existiting identical link" " " 17
+at_xfail=no
+(
+ $as_echo "333. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig2.at:38:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filedata foo\" \\
+ --define \"filetype link\" \\
+ /data/SPECS/configtest.spec
+
+ln -s \"foo\" \"\${cf}\"
+readlink \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+readlink \"\${cf}\"
+runroot rpm -e configtest
+test ! -L \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig2.at:38"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filedata foo" \
+ --define "filetype link" \
+ /data/SPECS/configtest.spec
+
+ln -s "foo" "${cf}"
+readlink "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+readlink "${cf}"
+runroot rpm -e configtest
+test ! -L "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+foo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig2.at:38"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_333
+#AT_START_334
+at_fn_group_banner 334 'rpmconfig2.at:66' \
+ "erase unchanged config link" " " 17
+at_xfail=no
+(
+ $as_echo "334. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig2.at:68:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filedata foo\" \\
+ --define \"filetype link\" \\
+ /data/SPECS/configtest.spec
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+readlink \"\${cf}\"
+runroot rpm -e configtest
+test ! -L \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig2.at:68"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filedata foo" \
+ --define "filetype link" \
+ /data/SPECS/configtest.spec
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+readlink "${cf}"
+runroot rpm -e configtest
+test ! -L "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig2.at:68"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_334
+#AT_START_335
+at_fn_group_banner 335 'rpmconfig2.at:93' \
+ "erase changed config link" " " 17
+at_xfail=no
+(
+ $as_echo "335. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig2.at:95:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filedata foo\" \\
+ --define \"filetype link\" \\
+ /data/SPECS/configtest.spec
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+readlink \"\${cf}\"
+ln -sf \"otherstuff\" \"\${cf}\"
+runroot rpm -e configtest
+readlink \"\${cf}.rpmsave\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig2.at:95"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filedata foo" \
+ --define "filetype link" \
+ /data/SPECS/configtest.spec
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+readlink "${cf}"
+ln -sf "otherstuff" "${cf}"
+runroot rpm -e configtest
+readlink "${cf}.rpmsave"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "warning: /etc/my.conf saved as /etc/my.conf.rpmsave
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+otherstuff
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig2.at:95"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_335
+#AT_START_336
+at_fn_group_banner 336 'rpmconfig2.at:124' \
+ "upgrade unchanged config link" " " 17
+at_xfail=no
+(
+ $as_echo "336. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig2.at:126:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo\" \\
+ --define \"filetype link\" \\
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+readlink \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+readlink \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig2.at:126"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filedata foo" \
+ --define "filetype link" \
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+readlink "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+readlink "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+foo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig2.at:126"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_336
+#AT_START_337
+at_fn_group_banner 337 'rpmconfig2.at:155' \
+ "upgrade unchanged config link - touching test" " " 17
+at_xfail=no
+(
+ $as_echo "337. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig2.at:157:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo\" \\
+ --define \"filetype link\" \\
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -Uvv --fsmdebug /build/RPMS/noarch/configtest-2.0-1.noarch.rpm > output.txt 2>&1
+grep -c \"touch\" output.txt
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig2.at:157"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filedata foo" \
+ --define "filetype link" \
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+runroot rpm -Uvv --fsmdebug /build/RPMS/noarch/configtest-2.0-1.noarch.rpm > output.txt 2>&1
+grep -c "touch" output.txt
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig2.at:157"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_337
+#AT_START_338
+at_fn_group_banner 338 'rpmconfig2.at:185' \
+ "upgrade modified config link" " " 17
+at_xfail=no
+(
+ $as_echo "338. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig2.at:187:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo\" \\
+ --define \"filetype link\" \\
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+readlink \"\${cf}\"
+ln -sf \"otherstuff\" \"\${cf}\"
+readlink \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+readlink \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig2.at:187"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filedata foo" \
+ --define "filetype link" \
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+readlink "${cf}"
+ln -sf "otherstuff" "${cf}"
+readlink "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+readlink "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+otherstuff
+otherstuff
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig2.at:187"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_338
+#AT_START_339
+at_fn_group_banner 339 'rpmconfig2.at:219' \
+ "upgrade changing config link" " " 17
+at_xfail=no
+(
+ $as_echo "339. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig2.at:221:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo-\$v\" \\
+ --define \"filetype link\" \\
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+readlink \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+readlink \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig2.at:221"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filedata foo-$v" \
+ --define "filetype link" \
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+readlink "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+readlink "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo-1.0
+foo-2.0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig2.at:221"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_339
+#AT_START_340
+at_fn_group_banner 340 'rpmconfig2.at:250' \
+ "upgrade changing, modified config link 1" " " 17
+at_xfail=no
+(
+ $as_echo "340. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig2.at:252:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo-\$v\" \\
+ --define \"filetype link\" \\
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+readlink \"\${cf}\"
+ln -sf \"otherstuff\" \"\${cf}\"
+readlink \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+readlink \"\${cf}\"
+readlink \"\${cf}.rpmsave\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig2.at:252"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filedata foo-$v" \
+ --define "filetype link" \
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+readlink "${cf}"
+ln -sf "otherstuff" "${cf}"
+readlink "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+readlink "${cf}"
+readlink "${cf}.rpmsave"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "warning: /etc/my.conf saved as /etc/my.conf.rpmsave
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo-1.0
+otherstuff
+foo-2.0
+otherstuff
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig2.at:252"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_340
+#AT_START_341
+at_fn_group_banner 341 'rpmconfig2.at:287' \
+ "upgrade changing, modified config link 2" " " 17
+at_xfail=no
+(
+ $as_echo "341. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig2.at:289:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo-\$v\" \\
+ --define \"filetype link\" \\
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+readlink \"\${cf}\"
+ln -sf \"foo-2.0\" \"\${cf}\"
+readlink \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+readlink \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig2.at:289"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filedata foo-$v" \
+ --define "filetype link" \
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+readlink "${cf}"
+ln -sf "foo-2.0" "${cf}"
+readlink "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+readlink "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo-1.0
+foo-2.0
+foo-2.0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig2.at:289"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_341
+#AT_START_342
+at_fn_group_banner 342 'rpmconfig2.at:323' \
+ "upgrade unchanged config(noreplace) link" " " 17
+at_xfail=no
+(
+ $as_echo "342. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig2.at:325:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo\" \\
+ --define \"filetype link\" \\
+ --define \"noreplace 1\" \\
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+readlink \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+readlink \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig2.at:325"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filedata foo" \
+ --define "filetype link" \
+ --define "noreplace 1" \
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+readlink "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+readlink "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+foo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig2.at:325"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_342
+#AT_START_343
+at_fn_group_banner 343 'rpmconfig2.at:356' \
+ "upgrade modified config(noreplace) link" " " 17
+at_xfail=no
+(
+ $as_echo "343. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig2.at:358:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo\" \\
+ --define \"filetype link\" \\
+ --define \"noreplace 1\" \\
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+readlink \"\${cf}\"
+ln -sf \"otherstuff\" \"\${cf}\"
+readlink \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+readlink \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig2.at:358"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filedata foo" \
+ --define "filetype link" \
+ --define "noreplace 1" \
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+readlink "${cf}"
+ln -sf "otherstuff" "${cf}"
+readlink "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+readlink "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+otherstuff
+otherstuff
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig2.at:358"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_343
+#AT_START_344
+at_fn_group_banner 344 'rpmconfig2.at:391' \
+ "upgrade changing config(noreplace) link" " " 17
+at_xfail=no
+(
+ $as_echo "344. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig2.at:393:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo-\$v\" \\
+ --define \"filetype link\" \\
+ --define \"noreplace 1\" \\
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+readlink \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+readlink \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig2.at:393"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filedata foo-$v" \
+ --define "filetype link" \
+ --define "noreplace 1" \
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+readlink "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+readlink "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo-1.0
+foo-2.0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig2.at:393"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_344
+#AT_START_345
+at_fn_group_banner 345 'rpmconfig2.at:423' \
+ "upgrade changing, modified config(noreplace) link 1" "" 17
+at_xfail=no
+(
+ $as_echo "345. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig2.at:425:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo-\$v\" \\
+ --define \"filetype link\" \\
+ --define \"noreplace 1\" \\
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+readlink \"\${cf}\"
+ln -sf \"otherstuff\" \"\${cf}\"
+readlink \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+readlink \"\${cf}\"
+readlink \"\${cf}.rpmnew\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig2.at:425"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filedata foo-$v" \
+ --define "filetype link" \
+ --define "noreplace 1" \
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+readlink "${cf}"
+ln -sf "otherstuff" "${cf}"
+readlink "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+readlink "${cf}"
+readlink "${cf}.rpmnew"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "warning: /etc/my.conf created as /etc/my.conf.rpmnew
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo-1.0
+otherstuff
+otherstuff
+foo-2.0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig2.at:425"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_345
+#AT_START_346
+at_fn_group_banner 346 'rpmconfig2.at:461' \
+ "upgrade changing, modified config(noreplace) link 2" "" 17
+at_xfail=no
+(
+ $as_echo "346. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig2.at:463:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo-\$v\" \\
+ --define \"filetype link\" \\
+ --define \"noreplace 1\" \\
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+readlink \"\${cf}\"
+ln -sf \"foo-2.0\" \"\${cf}\"
+readlink \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+readlink \"\${cf}\"
+test ! -L \"\${cf}.rpmnew\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig2.at:463"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filedata foo-$v" \
+ --define "filetype link" \
+ --define "noreplace 1" \
+ /data/SPECS/configtest.spec
+done
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+readlink "${cf}"
+ln -sf "foo-2.0" "${cf}"
+readlink "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+readlink "${cf}"
+test ! -L "${cf}.rpmnew"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo-1.0
+foo-2.0
+foo-2.0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig2.at:463"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_346
+#AT_START_347
+at_fn_group_banner 347 'rpmconfig2.at:498' \
+ "upgrade unchanged shared config link" " " 17
+at_xfail=no
+(
+ $as_echo "347. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig2.at:500:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for s in \"A\" \"B\"; do
+ for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"sub \$s\" \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo\" \\
+ --define \"filetype link\" \\
+ /data/SPECS/configtest.spec
+ done
+done
+
+runroot rpm -U \\
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \\
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+readlink \"\${cf}\"
+runroot rpm -U \\
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \\
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+readlink \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig2.at:500"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for s in "A" "B"; do
+ for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "sub $s" \
+ --define "ver $v" \
+ --define "filedata foo" \
+ --define "filetype link" \
+ /data/SPECS/configtest.spec
+ done
+done
+
+runroot rpm -U \
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+readlink "${cf}"
+runroot rpm -U \
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+readlink "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+foo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig2.at:500"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_347
+#AT_START_348
+at_fn_group_banner 348 'rpmconfig2.at:537' \
+ "upgrade modified shared config link" " " 17
+at_xfail=no
+(
+ $as_echo "348. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig2.at:539:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for s in \"A\" \"B\"; do
+ for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"sub \$s\" \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo\" \\
+ --define \"filetype link\" \\
+ /data/SPECS/configtest.spec
+ done
+done
+
+runroot rpm -U \\
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \\
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+readlink \"\${cf}\"
+ln -sf \"otherstuff\" \"\${cf}\"
+readlink \"\${cf}\"
+runroot rpm -U \\
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \\
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+readlink \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig2.at:539"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for s in "A" "B"; do
+ for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "sub $s" \
+ --define "ver $v" \
+ --define "filedata foo" \
+ --define "filetype link" \
+ /data/SPECS/configtest.spec
+ done
+done
+
+runroot rpm -U \
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+readlink "${cf}"
+ln -sf "otherstuff" "${cf}"
+readlink "${cf}"
+runroot rpm -U \
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+readlink "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+otherstuff
+otherstuff
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig2.at:539"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_348
+#AT_START_349
+at_fn_group_banner 349 'rpmconfig2.at:578' \
+ "upgrade changing shared config link" " " 17
+at_xfail=no
+(
+ $as_echo "349. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig2.at:580:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for s in \"A\" \"B\"; do
+ for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"sub \$s\" \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo-\$v\" \\
+ --define \"filetype link\" \\
+ /data/SPECS/configtest.spec
+ done
+done
+
+runroot rpm -U \\
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \\
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+readlink \"\${cf}\"
+runroot rpm -U \\
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \\
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+readlink \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig2.at:580"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for s in "A" "B"; do
+ for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "sub $s" \
+ --define "ver $v" \
+ --define "filedata foo-$v" \
+ --define "filetype link" \
+ /data/SPECS/configtest.spec
+ done
+done
+
+runroot rpm -U \
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+readlink "${cf}"
+runroot rpm -U \
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+readlink "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo-1.0
+foo-2.0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig2.at:580"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_349
+#AT_START_350
+at_fn_group_banner 350 'rpmconfig2.at:616' \
+ "upgrade changing, modified shared config link 1" "" 17
+at_xfail=no
+(
+ $as_echo "350. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig2.at:618:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for s in \"A\" \"B\"; do
+ for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"sub \$s\" \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo-\$v\" \\
+ --define \"filetype link\" \\
+ /data/SPECS/configtest.spec
+ done
+done
+
+runroot rpm -U \\
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \\
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+readlink \"\${cf}\"
+ln -sf \"otherstuff\" \"\${cf}\"
+readlink \"\${cf}\"
+runroot rpm -U \\
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \\
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+readlink \"\${cf}\"
+readlink \"\${cf}.rpmsave\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig2.at:618"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for s in "A" "B"; do
+ for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "sub $s" \
+ --define "ver $v" \
+ --define "filedata foo-$v" \
+ --define "filetype link" \
+ /data/SPECS/configtest.spec
+ done
+done
+
+runroot rpm -U \
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+readlink "${cf}"
+ln -sf "otherstuff" "${cf}"
+readlink "${cf}"
+runroot rpm -U \
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+readlink "${cf}"
+readlink "${cf}.rpmsave"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "warning: /etc/my.conf saved as /etc/my.conf.rpmsave
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo-1.0
+otherstuff
+foo-2.0
+otherstuff
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig2.at:618"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_350
+#AT_START_351
+at_fn_group_banner 351 'rpmconfig2.at:660' \
+ "upgrade changing, modified shared config link 2" "" 17
+at_xfail=no
+(
+ $as_echo "351. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig2.at:662:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for s in \"A\" \"B\"; do
+ for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"sub \$s\" \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo-\$v\" \\
+ --define \"filetype link\" \\
+ /data/SPECS/configtest.spec
+ done
+done
+
+runroot rpm -U \\
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \\
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+readlink \"\${cf}\"
+ln -sf \"foo-2.0\" \"\${cf}\"
+readlink \"\${cf}\"
+runroot rpm -U \\
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \\
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+readlink \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig2.at:662"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for s in "A" "B"; do
+ for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "sub $s" \
+ --define "ver $v" \
+ --define "filedata foo-$v" \
+ --define "filetype link" \
+ /data/SPECS/configtest.spec
+ done
+done
+
+runroot rpm -U \
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+readlink "${cf}"
+ln -sf "foo-2.0" "${cf}"
+readlink "${cf}"
+runroot rpm -U \
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+readlink "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo-1.0
+foo-2.0
+foo-2.0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig2.at:662"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_351
+#AT_START_352
+at_fn_group_banner 352 'rpmconfig2.at:702' \
+ "upgrade changing, modified shared config(noreplace) link 1" "" 17
+at_xfail=no
+(
+ $as_echo "352. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig2.at:704:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for s in \"A\" \"B\"; do
+ for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"sub \$s\" \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo-\$v\" \\
+ --define \"filetype link\" \\
+ --define \"noreplace 1\" \\
+ /data/SPECS/configtest.spec
+ done
+done
+
+runroot rpm -U \\
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \\
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+readlink \"\${cf}\"
+ln -sf \"otherstuff\" \"\${cf}\"
+readlink \"\${cf}\"
+runroot rpm -U \\
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \\
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+readlink \"\${cf}\"
+readlink \"\${cf}.rpmnew\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig2.at:704"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for s in "A" "B"; do
+ for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "sub $s" \
+ --define "ver $v" \
+ --define "filedata foo-$v" \
+ --define "filetype link" \
+ --define "noreplace 1" \
+ /data/SPECS/configtest.spec
+ done
+done
+
+runroot rpm -U \
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+readlink "${cf}"
+ln -sf "otherstuff" "${cf}"
+readlink "${cf}"
+runroot rpm -U \
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+readlink "${cf}"
+readlink "${cf}.rpmnew"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "warning: /etc/my.conf created as /etc/my.conf.rpmnew
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo-1.0
+otherstuff
+otherstuff
+foo-2.0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig2.at:704"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_352
+#AT_START_353
+at_fn_group_banner 353 'rpmconfig2.at:747' \
+ "upgrade changing, modified shared config(noreplace) link 2" "" 17
+at_xfail=no
+(
+ $as_echo "353. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig2.at:749:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+for s in \"A\" \"B\"; do
+ for v in \"1.0\" \"2.0\"; do
+ runroot rpmbuild --quiet -bb \\
+ --define \"sub \$s\" \\
+ --define \"ver \$v\" \\
+ --define \"filedata foo-\$v\" \\
+ --define \"filetype link\" \\
+ --define \"noreplace 1\" \\
+ /data/SPECS/configtest.spec
+ done
+done
+
+runroot rpm -U \\
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \\
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+readlink \"\${cf}\"
+ln -sf \"foo-2.0\" \"\${cf}\"
+readlink \"\${cf}\"
+runroot rpm -U \\
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \\
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+readlink \"\${cf}\"
+test ! -L \"\${cf}.rpmnew\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig2.at:749"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+for s in "A" "B"; do
+ for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "sub $s" \
+ --define "ver $v" \
+ --define "filedata foo-$v" \
+ --define "filetype link" \
+ --define "noreplace 1" \
+ /data/SPECS/configtest.spec
+ done
+done
+
+runroot rpm -U \
+ /build/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-1.0-1.noarch.rpm
+readlink "${cf}"
+ln -sf "foo-2.0" "${cf}"
+readlink "${cf}"
+runroot rpm -U \
+ /build/RPMS/noarch/configtest-A-2.0-1.noarch.rpm \
+ /build/RPMS/noarch/configtest-B-2.0-1.noarch.rpm
+readlink "${cf}"
+test ! -L "${cf}.rpmnew"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo-1.0
+foo-2.0
+foo-2.0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig2.at:749"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_353
+#AT_START_354
+at_fn_group_banner 354 'rpmconfig3.at:6' \
+ "upgrade config to/from non-config" " " 18
+at_xfail=no
+(
+ $as_echo "354. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig3.at:8:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filetype file\" \\
+ --define \"filedata foo\" \\
+ /data/SPECS/configtest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 2.0\" \\
+ --define \"filetype file\" \\
+ --define \"filedata bar\" \\
+ --define \"noconfig 1\" \\
+ /data/SPECS/configtest.spec
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+cat \"\${cf}\"
+runroot rpm -U --oldpackage /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig3.at:8"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype file" \
+ --define "filedata foo" \
+ /data/SPECS/configtest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 2.0" \
+ --define "filetype file" \
+ --define "filedata bar" \
+ --define "noconfig 1" \
+ /data/SPECS/configtest.spec
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+cat "${cf}"
+runroot rpm -U --oldpackage /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+bar
+foo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig3.at:8"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_354
+#AT_START_355
+at_fn_group_banner 355 'rpmconfig3.at:44' \
+ "upgrade modified config to/from non-config 1" " " 18
+at_xfail=no
+(
+ $as_echo "355. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig3.at:46:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filetype file\" \\
+ --define \"filedata foo\" \\
+ /data/SPECS/configtest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 2.0\" \\
+ --define \"filetype file\" \\
+ --define \"filedata bar\" \\
+ --define \"noconfig 1\" \\
+ /data/SPECS/configtest.spec
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat \"\${cf}\"
+echo \"otherstuff\" > \"\${cf}\"
+cat \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+cat \"\${cf}\"
+cat \"\${cf}.rpmsave\"
+runroot rpm -U --oldpackage /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig3.at:46"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype file" \
+ --define "filedata foo" \
+ /data/SPECS/configtest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 2.0" \
+ --define "filetype file" \
+ --define "filedata bar" \
+ --define "noconfig 1" \
+ /data/SPECS/configtest.spec
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat "${cf}"
+echo "otherstuff" > "${cf}"
+cat "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+cat "${cf}"
+cat "${cf}.rpmsave"
+runroot rpm -U --oldpackage /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "warning: /etc/my.conf saved as /etc/my.conf.rpmsave
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+otherstuff
+bar
+otherstuff
+foo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig3.at:46"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_355
+#AT_START_356
+at_fn_group_banner 356 'rpmconfig3.at:88' \
+ "upgrade modified config to/from non-config 2" " " 18
+at_xfail=no
+(
+ $as_echo "356. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig3.at:90:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filetype file\" \\
+ --define \"filedata foo\" \\
+ /data/SPECS/configtest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 2.0\" \\
+ --define \"filetype file\" \\
+ --define \"filedata bar\" \\
+ --define \"noconfig 1\" \\
+ /data/SPECS/configtest.spec
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat \"\${cf}\"
+echo \"bar\" > \"\${cf}\"
+cat \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+cat \"\${cf}\"
+runroot rpm -U --oldpackage /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig3.at:90"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype file" \
+ --define "filedata foo" \
+ /data/SPECS/configtest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 2.0" \
+ --define "filetype file" \
+ --define "filedata bar" \
+ --define "noconfig 1" \
+ /data/SPECS/configtest.spec
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat "${cf}"
+echo "bar" > "${cf}"
+cat "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+cat "${cf}"
+runroot rpm -U --oldpackage /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+bar
+bar
+foo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig3.at:90"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_356
+#AT_START_357
+at_fn_group_banner 357 'rpmconfig3.at:129' \
+ "upgrade config to/from config link" " " 18
+at_xfail=no
+(
+ $as_echo "357. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig3.at:131:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filetype file\" \\
+ --define \"filedata foo\" \\
+ /data/SPECS/configtest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 2.0\" \\
+ --define \"filetype link\" \\
+ --define \"filedata bar\" \\
+ /data/SPECS/configtest.spec
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+readlink \"\${cf}\"
+runroot rpm -U --oldpackage /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig3.at:131"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype file" \
+ --define "filedata foo" \
+ /data/SPECS/configtest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 2.0" \
+ --define "filetype link" \
+ --define "filedata bar" \
+ /data/SPECS/configtest.spec
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+readlink "${cf}"
+runroot rpm -U --oldpackage /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+bar
+foo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig3.at:131"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_357
+#AT_START_358
+at_fn_group_banner 358 'rpmconfig3.at:166' \
+ "upgrade modified config to config link" " " 18
+at_xfail=no
+(
+ $as_echo "358. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig3.at:168:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filetype file\" \\
+ --define \"filedata foo\" \\
+ /data/SPECS/configtest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 2.0\" \\
+ --define \"filetype link\" \\
+ --define \"filedata bar\" \\
+ /data/SPECS/configtest.spec
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat \"\${cf}\"
+echo \"otherstuff\" > \"\${cf}\"
+cat \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+readlink \"\${cf}\"
+cat \"\${cf}.rpmsave\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig3.at:168"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype file" \
+ --define "filedata foo" \
+ /data/SPECS/configtest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 2.0" \
+ --define "filetype link" \
+ --define "filedata bar" \
+ /data/SPECS/configtest.spec
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat "${cf}"
+echo "otherstuff" > "${cf}"
+cat "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+readlink "${cf}"
+cat "${cf}.rpmsave"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "warning: /etc/my.conf saved as /etc/my.conf.rpmsave
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+otherstuff
+bar
+otherstuff
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig3.at:168"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_358
+#AT_START_359
+at_fn_group_banner 359 'rpmconfig3.at:206' \
+ "upgrade modified config link to config" " " 18
+at_xfail=no
+(
+ $as_echo "359. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig3.at:208:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filetype link\" \\
+ --define \"filedata foo\" \\
+ /data/SPECS/configtest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 2.0\" \\
+ --define \"filetype file\" \\
+ --define \"filedata bar\" \\
+ /data/SPECS/configtest.spec
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+readlink \"\${cf}\"
+ln -sf \"otherstuff\" \"\${cf}\"
+readlink \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+cat \"\${cf}\"
+readlink \"\${cf}.rpmsave\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig3.at:208"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype link" \
+ --define "filedata foo" \
+ /data/SPECS/configtest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 2.0" \
+ --define "filetype file" \
+ --define "filedata bar" \
+ /data/SPECS/configtest.spec
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+readlink "${cf}"
+ln -sf "otherstuff" "${cf}"
+readlink "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+cat "${cf}"
+readlink "${cf}.rpmsave"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "warning: /etc/my.conf saved as /etc/my.conf.rpmsave
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+otherstuff
+bar
+otherstuff
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig3.at:208"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_359
+#AT_START_360
+at_fn_group_banner 360 'rpmconfig3.at:246' \
+ "upgrade config to directory" " " 18
+at_xfail=no
+(
+ $as_echo "360. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig3.at:248:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filetype file\" \\
+ --define \"filedata foo\" \\
+ /data/SPECS/configtest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 2.0\" \\
+ --define \"filetype dir\" \\
+ /data/SPECS/configtest.spec
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+test -d \"\${cf}\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig3.at:248"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype file" \
+ --define "filedata foo" \
+ /data/SPECS/configtest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 2.0" \
+ --define "filetype dir" \
+ /data/SPECS/configtest.spec
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+test -d "${cf}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig3.at:248"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_360
+#AT_START_361
+at_fn_group_banner 361 'rpmconfig3.at:278' \
+ "upgrade modified config to directory" " " 18
+at_xfail=no
+(
+ $as_echo "361. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmconfig3.at:280:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+cf=\"\${RPMTEST}\"/etc/my.conf
+rm -rf \"\${cf}\" \"\${cf}\".rpm*
+rm -rf \"\${TOPDIR}\"
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 1.0\" \\
+ --define \"filetype file\" \\
+ --define \"filedata foo\" \\
+ /data/SPECS/configtest.spec
+
+runroot rpmbuild --quiet -bb \\
+ --define \"ver 2.0\" \\
+ --define \"filetype dir\" \\
+ /data/SPECS/configtest.spec
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat \"\${cf}\"
+echo \"otherstuff\" > \"\${cf}\"
+cat \"\${cf}\"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+test -d \"\${cf}\"
+cat \"\${cf}.rpmsave\"
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmconfig3.at:280"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+cf="${RPMTEST}"/etc/my.conf
+rm -rf "${cf}" "${cf}".rpm*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype file" \
+ --define "filedata foo" \
+ /data/SPECS/configtest.spec
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 2.0" \
+ --define "filetype dir" \
+ /data/SPECS/configtest.spec
+
+runroot rpm -U /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
+cat "${cf}"
+echo "otherstuff" > "${cf}"
+cat "${cf}"
+runroot rpm -U /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
+test -d "${cf}"
+cat "${cf}.rpmsave"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "warning: /etc/my.conf saved as /etc/my.conf.rpmsave
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+otherstuff
+otherstuff
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmconfig3.at:280"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_361
+#AT_START_362
+at_fn_group_banner 362 'rpmmacro.at:6' \
+ "simple rpm --eval" " " 19
+at_xfail=no
+(
+ $as_echo "362. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmmacro.at:8:
+runroot rpm --define \"this that\" --eval '%{this}'
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmmacro.at:8"
+( $at_check_trace;
+runroot rpm --define "this that" --eval '%{this}'
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "that
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmmacro.at:8"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_362
+#AT_START_363
+at_fn_group_banner 363 'rpmmacro.at:17' \
+ "invalid rpm --eval" " " 19
+at_xfail=no
+(
+ $as_echo "363. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmmacro.at:19:
+runroot rpm --eval '%define _ that'
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmmacro.at:19"
+( $at_check_trace;
+runroot rpm --eval '%define _ that'
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: Macro %_ has illegal name (%define)
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmmacro.at:19"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_363
+#AT_START_364
+at_fn_group_banner 364 'rpmmacro.at:29' \
+ "invalid rpm --define" " " 19
+at_xfail=no
+(
+ $as_echo "364. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmmacro.at:31:
+runroot rpm --define \"_ that\"
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmmacro.at:31"
+( $at_check_trace;
+runroot rpm --define "_ that"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: Macro %_ has illegal name (%define)
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmmacro.at:31"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_364
+#AT_START_365
+at_fn_group_banner 365 'rpmmacro.at:40' \
+ "rpm --undefine" " " 19
+at_xfail=no
+(
+ $as_echo "365. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmmacro.at:42:
+runroot rpm --define \"this that\" --eval '1. %{this}' --undefine 'this' --eval '2. %{this'}
+runroot rpm --eval '1. %{this}' --define \"this that\" --eval '2. %{this}' --undefine 'this' --eval '3. %{this'}
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmmacro.at:42"
+( $at_check_trace;
+runroot rpm --define "this that" --eval '1. %{this}' --undefine 'this' --eval '2. %{this'}
+runroot rpm --eval '1. %{this}' --define "this that" --eval '2. %{this}' --undefine 'this' --eval '3. %{this'}
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "1. that
+2. %{this}
+1. %{this}
+2. that
+3. %{this}
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmmacro.at:42"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_365
+#AT_START_366
+at_fn_group_banner 366 'rpmmacro.at:55' \
+ "simple true conditional rpm --eval" " " 19
+at_xfail=no
+(
+ $as_echo "366. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmmacro.at:57:
+runroot rpm --define \"this that\" --eval '%{?this}'
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmmacro.at:57"
+( $at_check_trace;
+runroot rpm --define "this that" --eval '%{?this}'
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "that
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmmacro.at:57"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_366
+#AT_START_367
+at_fn_group_banner 367 'rpmmacro.at:65' \
+ "simple false conditional rpm --eval" " " 19
+at_xfail=no
+(
+ $as_echo "367. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmmacro.at:67:
+runroot rpm --define \"this that\" --eval '%{?that}'
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmmacro.at:67"
+( $at_check_trace;
+runroot rpm --define "this that" --eval '%{?that}'
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmmacro.at:67"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_367
+#AT_START_368
+at_fn_group_banner 368 'rpmmacro.at:75' \
+ "nested macro in name" " " 19
+at_xfail=no
+(
+ $as_echo "368. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmmacro.at:77:
+runroot rpm --define \"this that\" --define \"that_that foo\" --eval '%{expand:%{%{this}_that}}'
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmmacro.at:77"
+( $at_check_trace;
+runroot rpm --define "this that" --define "that_that foo" --eval '%{expand:%{%{this}_that}}'
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmmacro.at:77"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_368
+#AT_START_369
+at_fn_group_banner 369 'rpmmacro.at:85' \
+ "parametrized macro 1" " " 19
+at_xfail=no
+(
+ $as_echo "369. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmmacro.at:87:
+cat << EOF > \${abs_builddir}/testing/mtest
+%bar() bar
+%foo()\\\\
+%bar\\\\
+foo 1\\\\
+%{bar}\\\\
+foo 2\\\\
+%bar x\\\\
+foo 3\\\\
+%{bar x}\\\\
+foo 4\\\\
+%bar \\\\
+foo 5
+EOF
+
+runroot rpm --eval '%{load:mtest}%{foo}'
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmmacro.at:87"
+( $at_check_trace;
+cat << EOF > ${abs_builddir}/testing/mtest
+%bar() bar
+%foo()\\
+%bar\\
+foo 1\\
+%{bar}\\
+foo 2\\
+%bar x\\
+foo 3\\
+%{bar x}\\
+foo 4\\
+%bar \\
+foo 5
+EOF
+
+runroot rpm --eval '%{load:mtest}%{foo}'
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "
+bar
+foo 1
+bar
+foo 2
+bar
+foo 3
+bar
+foo 4
+bar
+foo 5
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmmacro.at:87"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_369
+#AT_START_370
+at_fn_group_banner 370 'rpmmacro.at:121' \
+ "parametrized macro 2" " " 19
+at_xfail=no
+(
+ $as_echo "370. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmmacro.at:123:
+runroot rpm \\
+ --define '%bar() \"Bar %#: %{?1} %{?2}\"' \\
+ --define '%foo() \"Foo %#: %{?1} %{?2}\" %bar a' \\
+ --eval '%foo 1 2'
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmmacro.at:123"
+( $at_check_trace;
+runroot rpm \
+ --define '%bar() "Bar %#: %{?1} %{?2}"' \
+ --define '%foo() "Foo %#: %{?1} %{?2}" %bar a' \
+ --eval '%foo 1 2'
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "\"Foo 2: 1 2\" \"Bar 1: a \"
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmmacro.at:123"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_370
+#AT_START_371
+at_fn_group_banner 371 'rpmmacro.at:134' \
+ "parametrized macro 3" " " 19
+at_xfail=no
+(
+ $as_echo "371. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmmacro.at:136:
+runroot rpm \\
+ --define '%foo() 1:%1 2:%2' \\
+ --eval '%foo %nil bar'
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmmacro.at:136"
+( $at_check_trace;
+runroot rpm \
+ --define '%foo() 1:%1 2:%2' \
+ --eval '%foo %nil bar'
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "1:bar 2:%2
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmmacro.at:136"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_371
+#AT_START_372
+at_fn_group_banner 372 'rpmmacro.at:146' \
+ "parametrized macro 4" " " 19
+at_xfail=no
+(
+ $as_echo "372. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmmacro.at:148:
+runroot rpm \\
+ --define '%bar yyy' \\
+ --define '%foo() %1' \\
+ --eval '%foo %bar' \\
+ --eval '%foo %%bar'
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmmacro.at:148"
+( $at_check_trace;
+runroot rpm \
+ --define '%bar yyy' \
+ --define '%foo() %1' \
+ --eval '%foo %bar' \
+ --eval '%foo %%bar'
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "yyy
+%bar
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmmacro.at:148"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_372
+#AT_START_373
+at_fn_group_banner 373 'rpmmacro.at:161' \
+ "parametrized macro 5" " " 19
+at_xfail=no
+(
+ $as_echo "373. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmmacro.at:163:
+runroot rpm \\
+ --define '%foo() %#:%{?1:\"%1\"}%{?2: \"%2\"}' \\
+ --define 'bar zzz' \\
+ --eval '%foo 1' \\
+ --eval '%foo 2 ' \\
+ --eval '%foo 1 2' \\
+ --eval '%foo %{nil}' \\
+ --eval '%foo %{nil} xx' \\
+ --eval '%foo %{bar} xx' \\
+ --eval '%foo %{quote: 2 3 5} %{quote:%{nil}}' \\
+ --eval '%foo x%{quote:y}z 123' \\
+ --eval '%foo x%{quote:%{nil}}z' \\
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmmacro.at:163"
+( $at_check_trace;
+runroot rpm \
+ --define '%foo() %#:%{?1:"%1"}%{?2: "%2"}' \
+ --define 'bar zzz' \
+ --eval '%foo 1' \
+ --eval '%foo 2 ' \
+ --eval '%foo 1 2' \
+ --eval '%foo %{nil}' \
+ --eval '%foo %{nil} xx' \
+ --eval '%foo %{bar} xx' \
+ --eval '%foo %{quote: 2 3 5} %{quote:%{nil}}' \
+ --eval '%foo x%{quote:y}z 123' \
+ --eval '%foo x%{quote:%{nil}}z' \
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "1:\"1\"
+1:\"2\"
+2:\"1\" \"2\"
+0:
+1:\"xx\"
+2:\"zzz\" \"xx\"
+2:\" 2 3 5\" \"\"
+2:\"xyz\" \"123\"
+1:\"xz\"
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmmacro.at:163"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_373
+#AT_START_374
+at_fn_group_banner 374 'rpmmacro.at:190' \
+ "uncompress macro" " " 19
+at_xfail=no
+(
+ $as_echo "374. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmmacro.at:192:
+runroot rpm \\
+ --define \"__gzip /my/bin/gzip\" \\
+ --eval \"%{uncompress:/data/SOURCES/hello-2.0.tar.gz}\"
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmmacro.at:192"
+( $at_check_trace;
+runroot rpm \
+ --define "__gzip /my/bin/gzip" \
+ --eval "%{uncompress:/data/SOURCES/hello-2.0.tar.gz}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "/my/bin/gzip -dc /data/SOURCES/hello-2.0.tar.gz
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmmacro.at:192"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_374
+#AT_START_375
+at_fn_group_banner 375 'rpmmacro.at:202' \
+ "basename macro" " " 19
+at_xfail=no
+(
+ $as_echo "375. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmmacro.at:204:
+runroot rpm \\
+ --eval \"%{basename:/data/SOURCES/hello-2.0.tar.gz}\"
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmmacro.at:204"
+( $at_check_trace;
+runroot rpm \
+ --eval "%{basename:/data/SOURCES/hello-2.0.tar.gz}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "hello-2.0.tar.gz
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmmacro.at:204"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_375
+#AT_START_376
+at_fn_group_banner 376 'rpmmacro.at:213' \
+ "shrink macro" " " 19
+at_xfail=no
+(
+ $as_echo "376. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmmacro.at:215:
+runroot rpm \\
+ --eval \"%{shrink: h e l lo }\"
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmmacro.at:215"
+( $at_check_trace;
+runroot rpm \
+ --eval "%{shrink: h e l lo }"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "h e l lo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmmacro.at:215"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_376
+#AT_START_377
+at_fn_group_banner 377 'rpmmacro.at:224' \
+ "suffix macro" " " 19
+at_xfail=no
+(
+ $as_echo "377. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmmacro.at:226:
+runroot rpm \\
+ --eval \"%{suffix:/data/SOURCES/hello-2.0.tar.gz}\"
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmmacro.at:226"
+( $at_check_trace;
+runroot rpm \
+ --eval "%{suffix:/data/SOURCES/hello-2.0.tar.gz}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "gz
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmmacro.at:226"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_377
+#AT_START_378
+at_fn_group_banner 378 'rpmmacro.at:235' \
+ "url2path macro" " " 19
+at_xfail=no
+(
+ $as_echo "378. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmmacro.at:237:
+runroot rpm \\
+ --eval \"%{url2path:http://hello.org/releases/hello-2.0.tar.gz}\"
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmmacro.at:237"
+( $at_check_trace;
+runroot rpm \
+ --eval "%{url2path:http://hello.org/releases/hello-2.0.tar.gz}"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "/releases/hello-2.0.tar.gz
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmmacro.at:237"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_378
+#AT_START_379
+at_fn_group_banner 379 'rpmmacro.at:246' \
+ "shell expansion" " " 19
+at_xfail=no
+(
+ $as_echo "379. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmmacro.at:248:
+runroot rpm \\
+ --eval \"%(echo foo)\"
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmmacro.at:248"
+( $at_check_trace;
+runroot rpm \
+ --eval "%(echo foo)"
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmmacro.at:248"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_379
+#AT_START_380
+at_fn_group_banner 380 'rpmmacro.at:257' \
+ "simple lua --eval" " " 19
+at_xfail=no
+(
+ $as_echo "380. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmmacro.at:259:
+runroot rpm --eval '%{lua:print(5*5)}'
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmmacro.at:259"
+( $at_check_trace;
+runroot rpm --eval '%{lua:print(5*5)}'
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "25
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmmacro.at:259"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_380
+#AT_START_381
+at_fn_group_banner 381 'rpmmacro.at:267' \
+ "lua rpm extensions" " " 19
+at_xfail=no
+(
+ $as_echo "381. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmmacro.at:269:
+runroot rpm --eval '%{lua: rpm.define(\"foo bar\") print(rpm.expand(\"%{foo}\"))}'
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmmacro.at:269"
+( $at_check_trace;
+runroot rpm --eval '%{lua: rpm.define("foo bar") print(rpm.expand("%{foo}"))}'
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "bar
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmmacro.at:269"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_381
+#AT_START_382
+at_fn_group_banner 382 'rpmmacro.at:277' \
+ "lua posix extensions" " " 19
+at_xfail=no
+(
+ $as_echo "382. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmmacro.at:279:
+runroot rpm \\
+ --eval '%{lua: posix.putenv(\"LUATEST=ok\") print(posix.getenv(\"LUATEST\"))}'
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmmacro.at:279"
+( $at_check_trace;
+runroot rpm \
+ --eval '%{lua: posix.putenv("LUATEST=ok") print(posix.getenv("LUATEST"))}'
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "ok
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmmacro.at:279"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_382
+#AT_START_383
+at_fn_group_banner 383 'rpmmacro.at:288' \
+ "lua script exit behavior" " " 19
+at_xfail=no
+(
+ $as_echo "383. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmmacro.at:290:
+runroot rpm \\
+ --eval '%{lua: os.exit()}))}'
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmmacro.at:290"
+( $at_check_trace;
+runroot rpm \
+ --eval '%{lua: os.exit()}))}'
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "error: lua script failed: [string \"<lua>\"]:1: exit not permitted in this context
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 1 $at_status "$at_srcdir/rpmmacro.at:290"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_383
+#AT_START_384
+at_fn_group_banner 384 'rpmmacro.at:300' \
+ "%define + %undefine in nested levels 1" " " 19
+at_xfail=no
+(
+ $as_echo "384. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmmacro.at:302:
+# basic %define in nested scoping level
+runroot rpm \\
+ --define '%foo() %{expand:%define xxx 1} %{echo:%xxx} %{expand:%undefine xxx} %{echo:%xxx}' \\
+ --eval .'%foo'.
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmmacro.at:302"
+( $at_check_trace;
+# basic %define in nested scoping level
+runroot rpm \
+ --define '%foo() %{expand:%define xxx 1} %{echo:%xxx} %{expand:%undefine xxx} %{echo:%xxx}' \
+ --eval .'%foo'.
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "1
+%xxx
+. .
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmmacro.at:302"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_384
+#AT_START_385
+at_fn_group_banner 385 'rpmmacro.at:315' \
+ "%define + %undefine in nested levels 2" " " 19
+at_xfail=no
+(
+ $as_echo "385. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmmacro.at:317:
+# %define macro once in a nested scope
+runroot rpm \\
+ --define '%foo() %{expand:%define xxx 1} %{echo:%xxx}' \\
+ --eval .'%foo'. \\
+ --eval '%xxx'
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmmacro.at:317"
+( $at_check_trace;
+# %define macro once in a nested scope
+runroot rpm \
+ --define '%foo() %{expand:%define xxx 1} %{echo:%xxx}' \
+ --eval .'%foo'. \
+ --eval '%xxx'
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "1
+. .
+%xxx
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmmacro.at:317"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_385
+#AT_START_386
+at_fn_group_banner 386 'rpmmacro.at:331' \
+ "%define + %undefine in nested levels 3" " " 19
+at_xfail=no
+ test $RPM_XFAIL -ne 0 && at_xfail=yes
+(
+ $as_echo "386. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmmacro.at:333:
+
+# %define macro twice in a nested scope
+runroot rpm \\
+ --define '%foo() %{expand:%define xxx 1} %{echo:%xxx} %{expand: %define xxx 2} %{echo:%xxx}' \\
+ --eval .'%foo'. \\
+ --eval '%xxx'
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmmacro.at:333"
+( $at_check_trace;
+
+# %define macro twice in a nested scope
+runroot rpm \
+ --define '%foo() %{expand:%define xxx 1} %{echo:%xxx} %{expand: %define xxx 2} %{echo:%xxx}' \
+ --eval .'%foo'. \
+ --eval '%xxx'
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "1
+2
+. .
+%xxx
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmmacro.at:333"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_386
+#AT_START_387
+at_fn_group_banner 387 'rpmmacro.at:349' \
+ "%define + %undefine in nested levels 4" " " 19
+at_xfail=no
+ test $RPM_XFAIL -ne 0 && at_xfail=yes
+(
+ $as_echo "387. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmmacro.at:351:
+
+# %define in a nested level covered by %global
+runroot rpm \\
+ --define '%foo() %{expand:%define xxx 1} %{echo:%xxx} %{expand: %global xxx 2} %{echo:%xxx}' \\
+ --eval .'%foo'. \\
+ --eval '%xxx' \\
+ --eval .'%undefine xxx'. \\
+ --eval '%xxx'
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmmacro.at:351"
+( $at_check_trace;
+
+# %define in a nested level covered by %global
+runroot rpm \
+ --define '%foo() %{expand:%define xxx 1} %{echo:%xxx} %{expand: %global xxx 2} %{echo:%xxx}' \
+ --eval .'%foo'. \
+ --eval '%xxx' \
+ --eval .'%undefine xxx'. \
+ --eval '%xxx'
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "1
+2
+. .
+2
+..
+%xxx
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmmacro.at:351"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_387
+#AT_START_388
+at_fn_group_banner 388 'rpmmacro.at:371' \
+ "%define in conditional macro" " " 19
+at_xfail=no
+(
+ $as_echo "388. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmmacro.at:373:
+runroot rpm \\
+ --define 'dofoo() true'\\
+ --eval '.%{!?foo: %define foo bar}.'\\
+ --eval '%foo' \\
+ --eval '%dofoo'\\
+ --eval '%foo'
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmmacro.at:373"
+( $at_check_trace;
+runroot rpm \
+ --define 'dofoo() true'\
+ --eval '.%{!?foo: %define foo bar}.'\
+ --eval '%foo' \
+ --eval '%dofoo'\
+ --eval '%foo'
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo ". .
+bar
+true
+bar
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmmacro.at:373"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_388
+#AT_START_389
+at_fn_group_banner 389 'rpmmacro.at:389' \
+ "%verbose negative test" " " 19
+at_xfail=no
+(
+ $as_echo "389. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmmacro.at:391:
+runroot rpm \\
+ --eval '%{verbose:%{echo:is verbose}}' \\
+ --eval '%{verbose:is verbose text}'\\
+ --eval '%{!verbose:%{echo:is not verbose}}'\\
+ --eval '%{!verbose:is not verbose text}'
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmmacro.at:391"
+( $at_check_trace;
+runroot rpm \
+ --eval '%{verbose:%{echo:is verbose}}' \
+ --eval '%{verbose:is verbose text}'\
+ --eval '%{!verbose:%{echo:is not verbose}}'\
+ --eval '%{!verbose:is not verbose text}'
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "
+
+is not verbose
+
+is not verbose text
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmmacro.at:391"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_389
+#AT_START_390
+at_fn_group_banner 390 'rpmmacro.at:407' \
+ "%verbose positive test" " " 19
+at_xfail=no
+(
+ $as_echo "390. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmmacro.at:409:
+runroot rpm -v \\
+ --eval '%{!verbose:%{echo:is not verbose}}' \\
+ --eval '%{!verbose:is not verbose text}'\\
+ --eval '%{verbose:%{echo:is verbose}}'\\
+ --eval '%{verbose:is verbose text}'
+"
+at_fn_check_prepare_notrace 'an embedded newline' "rpmmacro.at:409"
+( $at_check_trace;
+runroot rpm -v \
+ --eval '%{!verbose:%{echo:is not verbose}}' \
+ --eval '%{!verbose:is not verbose text}'\
+ --eval '%{verbose:%{echo:is verbose}}'\
+ --eval '%{verbose:is verbose text}'
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "
+
+is verbose
+
+is verbose text
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmmacro.at:409"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_390
+#AT_START_391
+at_fn_group_banner 391 'rpmpython.at:6' \
+ "module import" " " 20
+at_xfail=no
+(
+ $as_echo "391. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmpython.at:6:
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '\${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\\n' % msg)
+
+myprint(rpm.__version__)
+
+EOF
+python test.py
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmpython.at:6"
+( $at_check_trace;
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\n' % msg)
+
+myprint(rpm.__version__)
+
+EOF
+python test.py
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "4.14.1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmpython.at:6"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_391
+#AT_START_392
+at_fn_group_banner 392 'rpmpython.at:12' \
+ "macro manipulation" " " 20
+at_xfail=no
+(
+ $as_echo "392. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmpython.at:12:
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '\${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\\n' % msg)
+
+def prexp(m):
+ myprint(rpm.expandMacro('%%{?%s}' % m))
+
+mname = '__no_such_macro_yet'
+prexp(mname)
+rpm.addMacro(mname, '/bin/sh')
+prexp(mname)
+rpm.addMacro(mname, '/bin/false')
+prexp(mname)
+rpm.delMacro(mname)
+prexp(mname)
+rpm.delMacro(mname)
+prexp(mname)
+
+EOF
+python test.py
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmpython.at:12"
+( $at_check_trace;
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\n' % msg)
+
+def prexp(m):
+ myprint(rpm.expandMacro('%%{?%s}' % m))
+
+mname = '__no_such_macro_yet'
+prexp(mname)
+rpm.addMacro(mname, '/bin/sh')
+prexp(mname)
+rpm.addMacro(mname, '/bin/false')
+prexp(mname)
+rpm.delMacro(mname)
+prexp(mname)
+rpm.delMacro(mname)
+prexp(mname)
+
+EOF
+python test.py
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "
+/bin/sh
+/bin/false
+/bin/sh
+
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmpython.at:12"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_392
+#AT_START_393
+at_fn_group_banner 393 'rpmpython.at:35' \
+ "basic rpmio" " " 20
+at_xfail=no
+(
+ $as_echo "393. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmpython.at:35:
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '\${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\\n' % msg)
+
+msg = 'Killroy was here\\n'
+data = msg * 10
+# TODO: test other compression types too if built in
+for iot in [ 'fpio', 'fdio', 'ufdio', 'gzdio' ]:
+ fn = 'pyio.%s' % iot
+ fd = rpm.fd(fn, 'w', iot)
+ pos = fd.tell()
+ if pos != -2 and pos != 0:
+ myprint('bad start pos %d' % fd.tell())
+ if fd.write(data) != len(data):
+ myprint('%s write fail' % iot)
+ if fn != fd.name:
+ myprint('bad file name %s' % fd.name)
+ fd.flush()
+ pos = fd.tell()
+ if pos != -2 and pos != len(data):
+ myprint('bad end pos %d' % fd.tell())
+ fd = rpm.fd(fn, 'r', iot)
+ rdata = fd.read()
+ if rdata != data:
+ myprint('%s read fail (got %d bytes)\\n%s' % (iot, len(rdata), rdata))
+ # compressed io types can't seek
+ if iot == 'ufdio':
+ fd.seek(0)
+ else:
+ fd = rpm.fd(fn, 'r', iot)
+ if fn != fd.name:
+ myprint('bad file name %s' % fd.name)
+ rdata = fd.read(len(msg))
+ if rdata != msg:
+ myprint('%s sized read fail (got %d bytes)\\n%s' % (iot, len(rdata), rdata))
+
+EOF
+python test.py
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmpython.at:35"
+( $at_check_trace;
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\n' % msg)
+
+msg = 'Killroy was here\n'
+data = msg * 10
+# TODO: test other compression types too if built in
+for iot in [ 'fpio', 'fdio', 'ufdio', 'gzdio' ]:
+ fn = 'pyio.%s' % iot
+ fd = rpm.fd(fn, 'w', iot)
+ pos = fd.tell()
+ if pos != -2 and pos != 0:
+ myprint('bad start pos %d' % fd.tell())
+ if fd.write(data) != len(data):
+ myprint('%s write fail' % iot)
+ if fn != fd.name:
+ myprint('bad file name %s' % fd.name)
+ fd.flush()
+ pos = fd.tell()
+ if pos != -2 and pos != len(data):
+ myprint('bad end pos %d' % fd.tell())
+ fd = rpm.fd(fn, 'r', iot)
+ rdata = fd.read()
+ if rdata != data:
+ myprint('%s read fail (got %d bytes)\n%s' % (iot, len(rdata), rdata))
+ # compressed io types can't seek
+ if iot == 'ufdio':
+ fd.seek(0)
+ else:
+ fd = rpm.fd(fn, 'r', iot)
+ if fn != fd.name:
+ myprint('bad file name %s' % fd.name)
+ rdata = fd.read(len(msg))
+ if rdata != msg:
+ myprint('%s sized read fail (got %d bytes)\n%s' % (iot, len(rdata), rdata))
+
+EOF
+python test.py
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmpython.at:35"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_393
+#AT_START_394
+at_fn_group_banner 394 'rpmpython.at:70' \
+ "spec parse" " " 20
+at_xfail=no
+(
+ $as_echo "394. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmpython.at:70:
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '\${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\\n' % msg)
+
+# TODO: add a better test spec with sub-packages etc
+spec = rpm.spec('\${RPMDATA}/SPECS/hello.spec')
+for (name, num, flags) in spec.sources:
+ myprint('src %s %d %d' % (name, num, flags))
+for pkg in spec.packages:
+ myprint(pkg.header.format('%{nvr}'))
+myprint(spec.sourceHeader.format('%{nvr}'))
+
+EOF
+python test.py
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmpython.at:70"
+( $at_check_trace;
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\n' % msg)
+
+# TODO: add a better test spec with sub-packages etc
+spec = rpm.spec('${RPMDATA}/SPECS/hello.spec')
+for (name, num, flags) in spec.sources:
+ myprint('src %s %d %d' % (name, num, flags))
+for pkg in spec.packages:
+ myprint(pkg.header.format('%{nvr}'))
+myprint(spec.sourceHeader.format('%{nvr}'))
+
+EOF
+python test.py
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "src hello-1.0-modernize.patch 0 2
+src hello-1.0.tar.gz 0 1
+hello-1.0-1
+hello-1.0-1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmpython.at:70"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_394
+#AT_START_395
+at_fn_group_banner 395 'rpmpython.at:85' \
+ "basic header manipulation" " " 20
+at_xfail=no
+(
+ $as_echo "395. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmpython.at:85:
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '\${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\\n' % msg)
+
+h = rpm.hdr()
+h['name'] = 'testpkg'
+h['version'] = '1.0'
+h['release'] = '1'
+h['epoch'] = 5
+h['arch'] = 'noarch'
+myprint(h['nevra'])
+del h['epoch']
+myprint(h['nevra'])
+for a in ['name', 'bugurl', '__class__', '__foo__', ]:
+ try:
+ x = getattr(h, a)
+ myprint(x)
+ except AttributeError, exc:
+ myprint(exc)
+
+EOF
+python test.py
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmpython.at:85"
+( $at_check_trace;
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\n' % msg)
+
+h = rpm.hdr()
+h['name'] = 'testpkg'
+h['version'] = '1.0'
+h['release'] = '1'
+h['epoch'] = 5
+h['arch'] = 'noarch'
+myprint(h['nevra'])
+del h['epoch']
+myprint(h['nevra'])
+for a in ['name', 'bugurl', '__class__', '__foo__', ]:
+ try:
+ x = getattr(h, a)
+ myprint(x)
+ except AttributeError, exc:
+ myprint(exc)
+
+EOF
+python test.py
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "testpkg-5:1.0-1.noarch
+testpkg-1.0-1.noarch
+testpkg
+None
+<type 'rpm.hdr'>
+'rpm.hdr' object has no attribute '__foo__'
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmpython.at:85"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_395
+#AT_START_396
+at_fn_group_banner 396 'rpmpython.at:110' \
+ "invalid header data" " " 20
+at_xfail=no
+(
+ $as_echo "396. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmpython.at:110:
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '\${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\\n' % msg)
+
+h1 = rpm.hdr()
+h1['basenames'] = ['bing', 'bang', 'bong']
+h1['dirnames'] = ['/opt/', '/flopt/']
+h1['dirindexes'] = [ 1, 0, 3 ]
+h2 = rpm.hdr()
+h2['basenames'] = ['bing', 'bang', 'bong']
+h2['dirnames'] = ['/opt/', '/flopt/']
+h2['dirindexes'] = [ 0, 0, 1 ]
+for h in [h1, h2]:
+ try:
+ myprint(','.join(h['filenames']))
+ except rpm.error, exc:
+ myprint(exc)
+
+EOF
+python test.py
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmpython.at:110"
+( $at_check_trace;
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\n' % msg)
+
+h1 = rpm.hdr()
+h1['basenames'] = ['bing', 'bang', 'bong']
+h1['dirnames'] = ['/opt/', '/flopt/']
+h1['dirindexes'] = [ 1, 0, 3 ]
+h2 = rpm.hdr()
+h2['basenames'] = ['bing', 'bang', 'bong']
+h2['dirnames'] = ['/opt/', '/flopt/']
+h2['dirindexes'] = [ 0, 0, 1 ]
+for h in [h1, h2]:
+ try:
+ myprint(','.join(h['filenames']))
+ except rpm.error, exc:
+ myprint(exc)
+
+EOF
+python test.py
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "invalid header data
+/opt/bing,/opt/bang,/flopt/bong
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmpython.at:110"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_396
+#AT_START_397
+at_fn_group_banner 397 'rpmpython.at:129' \
+ "reading a package file" " " 20
+at_xfail=no
+(
+ $as_echo "397. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmpython.at:129:
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '\${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\\n' % msg)
+
+ts = rpm.ts()
+h = ts.hdrFromFdno('\${RPMDATA}/RPMS/hello-1.0-1.ppc64.rpm')
+myprint(h['arch'])
+
+EOF
+python test.py
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmpython.at:129"
+( $at_check_trace;
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\n' % msg)
+
+ts = rpm.ts()
+h = ts.hdrFromFdno('${RPMDATA}/RPMS/hello-1.0-1.ppc64.rpm')
+myprint(h['arch'])
+
+EOF
+python test.py
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "ppc64
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmpython.at:129"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_397
+#AT_START_398
+at_fn_group_banner 398 'rpmpython.at:137' \
+ "reading a signed package file 1" " " 20
+at_xfail=no
+(
+ $as_echo "398. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmpython.at:137:
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '\${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\\n' % msg)
+
+ts = rpm.ts()
+# avoid rpmlog spew with absolute path to package
+sink = open('/dev/null', 'w')
+rpm.setLogFile(sink)
+try:
+ h = ts.hdrFromFdno('\${RPMDATA}/RPMS/hello-2.0-1.x86_64-signed.rpm')
+ myprint(h['arch'])
+except rpm.error, e:
+ myprint(e)
+
+EOF
+python test.py
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmpython.at:137"
+( $at_check_trace;
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\n' % msg)
+
+ts = rpm.ts()
+# avoid rpmlog spew with absolute path to package
+sink = open('/dev/null', 'w')
+rpm.setLogFile(sink)
+try:
+ h = ts.hdrFromFdno('${RPMDATA}/RPMS/hello-2.0-1.x86_64-signed.rpm')
+ myprint(h['arch'])
+except rpm.error, e:
+ myprint(e)
+
+EOF
+python test.py
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "public key not available
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmpython.at:137"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_398
+#AT_START_399
+at_fn_group_banner 399 'rpmpython.at:152' \
+ "reading a signed package file 2" " " 20
+at_xfail=no
+(
+ $as_echo "399. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmpython.at:152:
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '\${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\\n' % msg)
+
+
+keydata = open('\${RPMDATA}/keys/rpm.org-rsa-2048-test.pub').read()
+pubkey = rpm.pubkey(keydata)
+keyring = rpm.keyring()
+keyring.addKey(pubkey)
+
+ts = rpm.ts()
+ts.setKeyring(keyring)
+try:
+ h = ts.hdrFromFdno('\${RPMDATA}/RPMS/hello-2.0-1.x86_64-signed.rpm')
+ myprint(h['arch'])
+except rpm.error, e:
+ myprint(e)
+
+EOF
+python test.py
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmpython.at:152"
+( $at_check_trace;
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\n' % msg)
+
+
+keydata = open('${RPMDATA}/keys/rpm.org-rsa-2048-test.pub').read()
+pubkey = rpm.pubkey(keydata)
+keyring = rpm.keyring()
+keyring.addKey(pubkey)
+
+ts = rpm.ts()
+ts.setKeyring(keyring)
+try:
+ h = ts.hdrFromFdno('${RPMDATA}/RPMS/hello-2.0-1.x86_64-signed.rpm')
+ myprint(h['arch'])
+except rpm.error, e:
+ myprint(e)
+
+EOF
+python test.py
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "x86_64
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmpython.at:152"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_399
+#AT_START_400
+at_fn_group_banner 400 'rpmpython.at:170' \
+ "add package to transaction" " " 20
+at_xfail=no
+(
+ $as_echo "400. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmpython.at:170:
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '\${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\\n' % msg)
+
+ts = rpm.ts()
+ts.addInstall('\${RPMDATA}/RPMS/foo-1.0-1.noarch.rpm', 'u')
+for e in ts:
+ myprint(e.NEVRA())
+ts.clear()
+for e in ts:
+ myprint(e.NEVRA())
+
+EOF
+python test.py
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmpython.at:170"
+( $at_check_trace;
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\n' % msg)
+
+ts = rpm.ts()
+ts.addInstall('${RPMDATA}/RPMS/foo-1.0-1.noarch.rpm', 'u')
+for e in ts:
+ myprint(e.NEVRA())
+ts.clear()
+for e in ts:
+ myprint(e.NEVRA())
+
+EOF
+python test.py
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo-1.0-1.noarch
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmpython.at:170"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_400
+#AT_START_401
+at_fn_group_banner 401 'rpmpython.at:182' \
+ "add bogus package to transaction 1" " " 20
+at_xfail=no
+(
+ $as_echo "401. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmpython.at:182:
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '\${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\\n' % msg)
+
+ts = rpm.ts()
+h = rpm.hdr()
+h['name'] = \"foo\"
+try:
+ ts.addInstall(h, 'foo', 'u')
+except rpm.error, err:
+ myprint(err)
+for e in ts:
+ myprint(e.NEVRA())
+
+EOF
+python test.py
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmpython.at:182"
+( $at_check_trace;
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\n' % msg)
+
+ts = rpm.ts()
+h = rpm.hdr()
+h['name'] = "foo"
+try:
+ ts.addInstall(h, 'foo', 'u')
+except rpm.error, err:
+ myprint(err)
+for e in ts:
+ myprint(e.NEVRA())
+
+EOF
+python test.py
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "adding package to transaction failed
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmpython.at:182"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_401
+#AT_START_402
+at_fn_group_banner 402 'rpmpython.at:196' \
+ "add bogus package to transaction 2" " " 20
+at_xfail=no
+(
+ $as_echo "402. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmpython.at:196:
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '\${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\\n' % msg)
+
+ts = rpm.ts()
+h = rpm.hdr()
+h['name'] = 'foo'
+h['version'] = '1.0'
+h['release'] = '1'
+h['os'] = 'linux'
+h['arch'] = 'noarch'
+h['basenames'] = ['bing', 'bang', 'bong']
+h['dirnames'] = ['/opt' '/flopt']
+h['dirindexes'] = [ 1, 2, 3 ]
+try:
+ ts.addInstall(h, 'foo', 'u')
+except rpm.error, err:
+ myprint(err)
+for e in ts:
+ myprint(e.NEVRA())
+
+EOF
+python test.py
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmpython.at:196"
+( $at_check_trace;
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\n' % msg)
+
+ts = rpm.ts()
+h = rpm.hdr()
+h['name'] = 'foo'
+h['version'] = '1.0'
+h['release'] = '1'
+h['os'] = 'linux'
+h['arch'] = 'noarch'
+h['basenames'] = ['bing', 'bang', 'bong']
+h['dirnames'] = ['/opt' '/flopt']
+h['dirindexes'] = [ 1, 2, 3 ]
+try:
+ ts.addInstall(h, 'foo', 'u')
+except rpm.error, err:
+ myprint(err)
+for e in ts:
+ myprint(e.NEVRA())
+
+EOF
+python test.py
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "adding package to transaction failed
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmpython.at:196"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_402
+#AT_START_403
+at_fn_group_banner 403 'rpmpython.at:217' \
+ "database iterators" " " 20
+at_xfail=no
+(
+ $as_echo "403. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmpython.at:219:
+
+rm -rf \"\${abs_builddir}\"/testing\`rpm --eval '%_dbpath'\`/*
+
+
+runroot rpm --initdb
+
+runroot rpm -i \\
+ --justdb --nodeps --ignorearch --ignoreos \\
+ /data/RPMS/foo-1.0-1.noarch.rpm \\
+ /data/RPMS/hello-2.0-1.i686.rpm
+"
+at_fn_check_prepare_notrace 'a `...` command substitution' "rpmpython.at:219"
+( $at_check_trace;
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+runroot rpm -i \
+ --justdb --nodeps --ignorearch --ignoreos \
+ /data/RPMS/foo-1.0-1.noarch.rpm \
+ /data/RPMS/hello-2.0-1.i686.rpm
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmpython.at:219"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmpython.at:231:
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '\${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\\n' % msg)
+
+ts = rpm.ts()
+ix = 0
+mi = ts.dbMatch()
+mi.pattern('name', rpm.RPMMIRE_STRCMP, 'hello')
+for h in mi:
+ ix = h['dbinstance']
+ break
+del mi
+for h in ts.dbMatch('packages', ix):
+ myprint(h['nevra'])
+
+EOF
+python test.py
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmpython.at:231"
+( $at_check_trace;
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\n' % msg)
+
+ts = rpm.ts()
+ix = 0
+mi = ts.dbMatch()
+mi.pattern('name', rpm.RPMMIRE_STRCMP, 'hello')
+for h in mi:
+ ix = h['dbinstance']
+ break
+del mi
+for h in ts.dbMatch('packages', ix):
+ myprint(h['nevra'])
+
+EOF
+python test.py
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "hello-2.0-1.i686
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmpython.at:231"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmpython.at:247:
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '\${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\\n' % msg)
+
+ts = rpm.ts()
+mi = ts.dbMatch()
+mi.pattern('name', rpm.RPMMIRE_DEFAULT, 'f*')
+for h in mi:
+ myprint(h['nevra'])
+
+EOF
+python test.py
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmpython.at:247"
+( $at_check_trace;
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\n' % msg)
+
+ts = rpm.ts()
+mi = ts.dbMatch()
+mi.pattern('name', rpm.RPMMIRE_DEFAULT, 'f*')
+for h in mi:
+ myprint(h['nevra'])
+
+EOF
+python test.py
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo-1.0-1.noarch
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmpython.at:247"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmpython.at:258:
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '\${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\\n' % msg)
+
+ts = rpm.ts()
+for h in ts.dbMatch('name'):
+ myprint(h['nevra'])
+
+EOF
+python test.py
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmpython.at:258"
+( $at_check_trace;
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\n' % msg)
+
+ts = rpm.ts()
+for h in ts.dbMatch('name'):
+ myprint(h['nevra'])
+
+EOF
+python test.py
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo-1.0-1.noarch
+hello-2.0-1.i686
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmpython.at:258"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmpython.at:268:
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '\${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\\n' % msg)
+
+ts = rpm.ts()
+for h in ts.dbMatch('obsoletes'):
+ myprint(h['nevra'])
+
+EOF
+python test.py
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmpython.at:268"
+( $at_check_trace;
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\n' % msg)
+
+ts = rpm.ts()
+for h in ts.dbMatch('obsoletes'):
+ myprint(h['nevra'])
+
+EOF
+python test.py
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo-1.0-1.noarch
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmpython.at:268"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmpython.at:277:
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '\${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\\n' % msg)
+
+ts = rpm.ts()
+for h in ts.dbMatch('provides', 'hi'):
+ myprint(h['nevra'])
+
+EOF
+python test.py
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmpython.at:277"
+( $at_check_trace;
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\n' % msg)
+
+ts = rpm.ts()
+for h in ts.dbMatch('provides', 'hi'):
+ myprint(h['nevra'])
+
+EOF
+python test.py
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo-1.0-1.noarch
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmpython.at:277"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmpython.at:286:
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '\${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\\n' % msg)
+
+ts = rpm.ts()
+for h in ts.dbMatch('basenames', '/usr/share/doc/hello-2.0/FAQ'):
+ myprint(h['nevra'])
+
+EOF
+python test.py
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmpython.at:286"
+( $at_check_trace;
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\n' % msg)
+
+ts = rpm.ts()
+for h in ts.dbMatch('basenames', '/usr/share/doc/hello-2.0/FAQ'):
+ myprint(h['nevra'])
+
+EOF
+python test.py
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "hello-2.0-1.i686
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmpython.at:286"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmpython.at:294:
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '\${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\\n' % msg)
+
+ts = rpm.ts()
+for di in sorted(ts.dbIndex('obsoletes')):
+ myprint(di)
+
+EOF
+python test.py
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmpython.at:294"
+( $at_check_trace;
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\n' % msg)
+
+ts = rpm.ts()
+for di in sorted(ts.dbIndex('obsoletes')):
+ myprint(di)
+
+EOF
+python test.py
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "howdy
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmpython.at:294"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmpython.at:303:
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '\${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\\n' % msg)
+
+ts = rpm.ts()
+for di in sorted(ts.dbIndex('provides')):
+ myprint(di)
+
+EOF
+python test.py
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmpython.at:303"
+( $at_check_trace;
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\n' % msg)
+
+ts = rpm.ts()
+for di in sorted(ts.dbIndex('provides')):
+ myprint(di)
+
+EOF
+python test.py
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "foo
+hello
+hello(x86-32)
+hi
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmpython.at:303"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_403
+#AT_START_404
+at_fn_group_banner 404 'rpmpython.at:316' \
+ "dependency sets 1" " " 20
+at_xfail=no
+(
+ $as_echo "404. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmpython.at:316:
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '\${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\\n' % msg)
+
+ts = rpm.ts()
+h = ts.hdrFromFdno('\${RPMDATA}/RPMS/hello-1.0-1.ppc64.rpm')
+for dep in rpm.ds(h, 'requires'):
+ myprint(dep.DNEVR())
+
+EOF
+python test.py
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmpython.at:316"
+( $at_check_trace;
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\n' % msg)
+
+ts = rpm.ts()
+h = ts.hdrFromFdno('${RPMDATA}/RPMS/hello-1.0-1.ppc64.rpm')
+for dep in rpm.ds(h, 'requires'):
+ myprint(dep.DNEVR())
+
+EOF
+python test.py
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "R /bin/sh
+R /bin/sh
+R /bin/sh
+R /bin/sh
+R libc.so.6
+R libc.so.6(GLIBC_2.0)
+R rpmlib(CompressedFileNames) <= 3.0.4-1
+R rpmlib(PayloadFilesHavePrefix) <= 4.0-1
+R rtld(GNU_HASH)
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmpython.at:316"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_404
+#AT_START_405
+at_fn_group_banner 405 'rpmpython.at:333' \
+ "dependency sets 2" " " 20
+at_xfail=no
+(
+ $as_echo "405. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmpython.at:333:
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '\${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\\n' % msg)
+
+ts = rpm.ts()
+h = ts.hdrFromFdno('\${RPMDATA}/RPMS/hello-2.0-1.i686.rpm')
+ds = rpm.ds(h, 'provides')
+myprint('%d %d' % (ds.Instance(), ds.Count()))
+
+EOF
+python test.py
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmpython.at:333"
+( $at_check_trace;
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\n' % msg)
+
+ts = rpm.ts()
+h = ts.hdrFromFdno('${RPMDATA}/RPMS/hello-2.0-1.i686.rpm')
+ds = rpm.ds(h, 'provides')
+myprint('%d %d' % (ds.Instance(), ds.Count()))
+
+EOF
+python test.py
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "0 2
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmpython.at:333"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_405
+#AT_START_406
+at_fn_group_banner 406 'rpmpython.at:343' \
+ "file info sets 1" " " 20
+at_xfail=no
+(
+ $as_echo "406. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmpython.at:343:
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '\${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\\n' % msg)
+
+ts = rpm.ts()
+h = ts.hdrFromFdno('\${RPMDATA}/RPMS/hello-2.0-1.i686.rpm')
+fi = rpm.fi(h)
+myprint(fi.FC())
+for f in fi:
+ myprint('%x: %s' % (fi.FFlags(), fi.FN()))
+
+EOF
+python test.py
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmpython.at:343"
+( $at_check_trace;
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\n' % msg)
+
+ts = rpm.ts()
+h = ts.hdrFromFdno('${RPMDATA}/RPMS/hello-2.0-1.i686.rpm')
+fi = rpm.fi(h)
+myprint(fi.FC())
+for f in fi:
+ myprint('%x: %s' % (fi.FFlags(), fi.FN()))
+
+EOF
+python test.py
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "5
+0: /usr/bin/hello
+0: /usr/share/doc/hello-2.0
+2: /usr/share/doc/hello-2.0/COPYING
+2: /usr/share/doc/hello-2.0/FAQ
+2: /usr/share/doc/hello-2.0/README
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmpython.at:343"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_406
+#AT_START_407
+at_fn_group_banner 407 'rpmpython.at:360' \
+ "string pool 1" " " 20
+at_xfail=no
+(
+ $as_echo "407. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmpython.at:360:
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '\${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\\n' % msg)
+
+p = rpm.strpool()
+for s in ['foo', 'bar', 'foo', 'zoo']:
+ p.str2id(s)
+myprint('%s' % len(p))
+for i in range(1, len(p)+1):
+ myprint('%s: %s' % (i, p[i]))
+
+EOF
+python test.py
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmpython.at:360"
+( $at_check_trace;
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\n' % msg)
+
+p = rpm.strpool()
+for s in ['foo', 'bar', 'foo', 'zoo']:
+ p.str2id(s)
+myprint('%s' % len(p))
+for i in range(1, len(p)+1):
+ myprint('%s: %s' % (i, p[i]))
+
+EOF
+python test.py
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "3
+1: foo
+2: bar
+3: zoo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmpython.at:360"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_407
+#AT_START_408
+at_fn_group_banner 408 'rpmpython.at:375' \
+ "string pool 2" " " 20
+at_xfail=no
+(
+ $as_echo "408. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmpython.at:375:
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '\${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\\n' % msg)
+
+p = rpm.strpool()
+d1 = rpm.ds(('foo', rpm.RPMSENSE_EQUAL, '2.0'), rpm.RPMTAG_PROVIDES, pool=p)
+d2 = rpm.ds(('bar', rpm.RPMSENSE_EQUAL, '2.0'), rpm.RPMTAG_PROVIDES, pool=p)
+d3 = rpm.ds(('bar', rpm.RPMSENSE_EQUAL, '2.0'), rpm.RPMTAG_PROVIDES, pool=p)
+myprint('%s' % len(p))
+del p
+myprint(d1.DNEVR())
+myprint(d2.DNEVR())
+myprint(d3.DNEVR())
+
+EOF
+python test.py
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmpython.at:375"
+( $at_check_trace;
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\n' % msg)
+
+p = rpm.strpool()
+d1 = rpm.ds(('foo', rpm.RPMSENSE_EQUAL, '2.0'), rpm.RPMTAG_PROVIDES, pool=p)
+d2 = rpm.ds(('bar', rpm.RPMSENSE_EQUAL, '2.0'), rpm.RPMTAG_PROVIDES, pool=p)
+d3 = rpm.ds(('bar', rpm.RPMSENSE_EQUAL, '2.0'), rpm.RPMTAG_PROVIDES, pool=p)
+myprint('%s' % len(p))
+del p
+myprint(d1.DNEVR())
+myprint(d2.DNEVR())
+myprint(d3.DNEVR())
+
+EOF
+python test.py
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "3
+P foo = 2.0
+P bar = 2.0
+P bar = 2.0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmpython.at:375"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_408
+#AT_START_409
+at_fn_group_banner 409 'rpmpython.at:393' \
+ "archive 1" " " 20
+at_xfail=no
+(
+ $as_echo "409. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmpython.at:393:
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '\${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\\n' % msg)
+
+import hashlib
+ts = rpm.ts()
+fd = rpm.fd.open('\${RPMDATA}/SRPMS/hello-1.0-1.src.rpm')
+h = ts.hdrFromFdno(fd)
+payload = rpm.fd.open(fd, flags=h['payloadcompressor'])
+files = rpm.files(h)
+archive = files.archive(payload)
+for f in archive:
+ if not f.fflags & rpm.RPMFILE_SPECFILE:
+ continue
+ spec = archive.read()
+ hash = hashlib.md5(spec)
+ if f.digest != hash.hexdigest():
+ myprint('%s should be %s' % (hash.hexdigest(), f.digest))
+ break
+
+EOF
+python test.py
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmpython.at:393"
+( $at_check_trace;
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\n' % msg)
+
+import hashlib
+ts = rpm.ts()
+fd = rpm.fd.open('${RPMDATA}/SRPMS/hello-1.0-1.src.rpm')
+h = ts.hdrFromFdno(fd)
+payload = rpm.fd.open(fd, flags=h['payloadcompressor'])
+files = rpm.files(h)
+archive = files.archive(payload)
+for f in archive:
+ if not f.fflags & rpm.RPMFILE_SPECFILE:
+ continue
+ spec = archive.read()
+ hash = hashlib.md5(spec)
+ if f.digest != hash.hexdigest():
+ myprint('%s should be %s' % (hash.hexdigest(), f.digest))
+ break
+
+EOF
+python test.py
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmpython.at:393"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_409
+#AT_START_410
+at_fn_group_banner 410 'rpmpython.at:413' \
+ "header unload" " " 20
+at_xfail=no
+(
+ $as_echo "410. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmpython.at:413:
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '\${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\\n' % msg)
+
+ts = rpm.ts()
+h = ts.hdrFromFdno('\${RPMDATA}/RPMS/hello-2.0-1.i686.rpm')
+# Add some garbage to header to make it non-sorted
+h['installtime'] = 0
+# RhBug:1061730 causes export of non-sorted header to be larger than it should
+len1 = len(h.unload())
+# Accessing the header before export forces sorting to take place even on
+# buggy versions
+t = h['installtime']
+len2 = len(h.unload())
+myprint(len1 == len2)
+
+EOF
+python test.py
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmpython.at:413"
+( $at_check_trace;
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\n' % msg)
+
+ts = rpm.ts()
+h = ts.hdrFromFdno('${RPMDATA}/RPMS/hello-2.0-1.i686.rpm')
+# Add some garbage to header to make it non-sorted
+h['installtime'] = 0
+# RhBug:1061730 causes export of non-sorted header to be larger than it should
+len1 = len(h.unload())
+# Accessing the header before export forces sorting to take place even on
+# buggy versions
+t = h['installtime']
+len2 = len(h.unload())
+myprint(len1 == len2)
+
+EOF
+python test.py
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "True
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmpython.at:413"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_410
+#AT_START_411
+at_fn_group_banner 411 'rpmdepmatch.at:4' \
+ "provide - require pairs" " " 21
+at_xfail=no
+(
+ $as_echo "411. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
+
+
+runroot rpm --initdb
+
+
+{ set +x
+$as_echo "$at_srcdir/rpmdepmatch.at:4:
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '\${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\\n' % msg)
+
+# ((provides), (requires), match) expected values
+tests = [
+ # Different names never match
+ (('b',), ('a',), 0),
+ (('b',), ('a', '=', '1.2'), 0),
+ (('b',), ('a', '>=', '1.2'), 0),
+ (('b',), ('a', '<=', '1.2'), 0),
+ (('b',), ('a', '<', '1.2'), 0),
+ (('b',), ('a', '>', '1.2'), 0),
+ (('b',), ('a', '<>', '1.2'), 0),
+
+ # Unversioned provide matches all versions
+ (('a',), ('a',), 1),
+ (('a',), ('a', '=', '1.2'), 1),
+ (('a',), ('a', '>=', '1.2'), 1),
+ (('a',), ('a', '<=', '1.2'), 1),
+ (('a',), ('a', '<', '1.2'), 1),
+ (('a',), ('a', '>', '1.2'), 1),
+ (('a',), ('a', '<>', '1.2'), 1),
+
+ # Unversioned require matches all versions
+ (('a', '=', '1.2'), ('a',), 1),
+ (('a', '<', '1.2'), ('a',), 1),
+ (('a', '>', '1.2'), ('a',), 1),
+ (('a', '<=', '1.2'), ('a',), 1),
+ (('a', '>=', '1.2'), ('a',), 1),
+ (('a', '<>', '1.2'), ('a',), 1),
+
+ # Simple, obvious version comparisons
+ (('a', '=', '1.2'), ('a', '=', '1.2'), 1),
+ (('a', '=', '1.2'), ('a', '>=', '1.2'), 1),
+ (('a', '=', '1.2'), ('a', '<=', '1.2'), 1),
+ (('a', '=', '1.2'), ('a', '<', '1.2'), 0),
+ (('a', '=', '1.2'), ('a', '>', '1.2'), 0),
+ (('a', '=', '1.2'), ('a', '<>', '1.2'), 0),
+
+ (('a', '=', '1.2'), ('a', '=', '1.3'), 0),
+ (('a', '=', '1.2'), ('a', '>=', '1.3'), 0),
+ (('a', '=', '1.2'), ('a', '<=', '1.3'), 1),
+ (('a', '=', '1.2'), ('a', '<', '1.3'), 1),
+ (('a', '=', '1.2'), ('a', '>', '1.3'), 0),
+ (('a', '=', '1.2'), ('a', '<>', '1.3'), 1),
+
+ # Simple, obvious version-release comparisons
+ (('a', '=', '1.2-1'), ('a', '=', '1.2-1'), 1),
+ (('a', '=', '1.2-1'), ('a', '>=', '1.2-1'), 1),
+ (('a', '=', '1.2-1'), ('a', '<=', '1.2-1'), 1),
+ (('a', '=', '1.2-1'), ('a', '<', '1.2-1'), 0),
+ (('a', '=', '1.2-1'), ('a', '>', '1.2-1'), 0),
+ (('a', '=', '1.2-1'), ('a', '<>', '1.2-1'), 0),
+
+ (('a', '=', '1.2-1'), ('a', '=', '1.2-2'), 0),
+ (('a', '=', '1.2-1'), ('a', '>=', '1.2-2'), 0),
+ (('a', '=', '1.2-1'), ('a', '<=', '1.2-2'), 1),
+ (('a', '=', '1.2-1'), ('a', '<', '1.2-2'), 1),
+ (('a', '=', '1.2-1'), ('a', '>', '1.2-2'), 0),
+ (('a', '=', '1.2-1'), ('a', '<>', '1.2-2'), 1),
+
+ (('a', '=', '1.3-1'), ('a', '=', '1.2-2'), 0),
+ (('a', '=', '1.3-1'), ('a', '>=', '1.2-2'), 1),
+ (('a', '=', '1.3-1'), ('a', '<=', '1.2-2'), 0),
+ (('a', '=', '1.3-1'), ('a', '<', '1.2-2'), 0),
+ (('a', '=', '1.3-1'), ('a', '>', '1.2-2'), 1),
+ (('a', '=', '1.3-1'), ('a', '<>', '1.2-2'), 1),
+
+ # Zero epoch is same as no epoch
+ (('a', '=', '0:1.2'), ('a', '=', '1.2'), 1),
+ (('a', '=', '0:1.2'), ('a', '>=', '1.2'), 1),
+ (('a', '=', '0:1.2'), ('a', '<=', '1.2'), 1),
+ (('a', '=', '0:1.2'), ('a', '<', '1.2'), 0),
+ (('a', '=', '0:1.2'), ('a', '>', '1.2'), 0),
+ (('a', '=', '0:1.2'), ('a', '<>', '1.2'), 0),
+
+ (('a', '=', '1.2'), ('a', '=', '0:1.2'), 1),
+ (('a', '=', '1.2'), ('a', '>=', '0:1.2'), 1),
+ (('a', '=', '1.2'), ('a', '<=', '0:1.2'), 1),
+ (('a', '=', '1.2'), ('a', '<', '0:1.2'), 0),
+ (('a', '=', '1.2'), ('a', '>', '0:1.2'), 0),
+ (('a', '=', '1.2'), ('a', '<>', '0:1.2'), 0),
+
+ # Non-zero epochs
+ (('a', '=', '1:1.2'), ('a', '=', '1.2'), 0),
+ (('a', '=', '1:1.2'), ('a', '>=', '1.2'), 1),
+ (('a', '=', '1:1.2'), ('a', '<=', '1.2'), 0),
+ (('a', '=', '1:1.2'), ('a', '<', '1.2'), 0),
+ (('a', '=', '1:1.2'), ('a', '>', '1.2'), 1),
+ (('a', '=', '1:1.2'), ('a', '<>', '1.2'), 1),
+
+ (('a', '=', '1.2'), ('a', '=', '1:1.2'), 0),
+ (('a', '=', '1.2'), ('a', '>=', '1:1.2'), 0),
+ (('a', '=', '1.2'), ('a', '<=', '1:1.2'), 1),
+ (('a', '=', '1.2'), ('a', '<', '1:1.2'), 1),
+ (('a', '=', '1.2'), ('a', '>', '1:1.2'), 0),
+ (('a', '=', '1.2'), ('a', '<>', '1:1.2'), 1),
+
+ (('a', '=', '2:1.2'), ('a', '=', '2:1.2'), 1),
+ (('a', '=', '2:1.2'), ('a', '>=', '2:1.2'), 1),
+ (('a', '=', '2:1.2'), ('a', '<=', '2:1.2'), 1),
+ (('a', '=', '2:1.2'), ('a', '<', '2:1.2'), 0),
+ (('a', '=', '2:1.2'), ('a', '>', '2:1.2'), 0),
+ (('a', '=', '2:1.2'), ('a', '<>', '2:1.2'), 0),
+
+ # Simple, obvious version comparisons with provide ranges
+ (('a', '>', '1.2'), ('a', '=', '1.2'), 0),
+ (('a', '>', '1.2'), ('a', '>=', '1.2'), 1),
+ (('a', '>', '1.2'), ('a', '<=', '1.2'), 0),
+ (('a', '>', '1.2'), ('a', '<', '1.2'), 0),
+ (('a', '>', '1.2'), ('a', '>', '1.2'), 1),
+ (('a', '>', '1.2'), ('a', '<>', '1.2'), 1),
+
+ (('a', '<', '1.2'), ('a', '=', '1.2'), 0),
+ (('a', '<', '1.2'), ('a', '>=', '1.2'), 0),
+ (('a', '<', '1.2'), ('a', '<=', '1.2'), 1),
+ (('a', '<', '1.2'), ('a', '<', '1.2'), 1),
+ (('a', '<', '1.2'), ('a', '>', '1.2'), 0),
+ (('a', '<', '1.2'), ('a', '<>', '1.2'), 1),
+
+ (('a', '>=', '1.2'), ('a', '=', '1.2'), 1),
+ (('a', '>=', '1.2'), ('a', '>=', '1.2'), 1),
+ (('a', '>=', '1.2'), ('a', '<=', '1.2'), 1),
+ (('a', '>=', '1.2'), ('a', '<', '1.2'), 0),
+ (('a', '>=', '1.2'), ('a', '>', '1.2'), 1),
+ (('a', '>=', '1.2'), ('a', '<>', '1.2'), 1),
+
+ (('a', '<=', '1.2'), ('a', '=', '1.2'), 1),
+ (('a', '<=', '1.2'), ('a', '>=', '1.2'), 1),
+ (('a', '<=', '1.2'), ('a', '<=', '1.2'), 1),
+ (('a', '<=', '1.2'), ('a', '<', '1.2'), 1),
+ (('a', '<=', '1.2'), ('a', '>', '1.2'), 0),
+ (('a', '<=', '1.2'), ('a', '<>', '1.2'), 1),
+
+ (('a', '<>', '1.2'), ('a', '=', '1.2'), 0),
+ (('a', '<>', '1.2'), ('a', '>=', '1.2'), 1),
+ (('a', '<>', '1.2'), ('a', '<=', '1.2'), 1),
+ (('a', '<>', '1.2'), ('a', '<', '1.2'), 1),
+ (('a', '<>', '1.2'), ('a', '>', '1.2'), 1),
+ (('a', '<>', '1.2'), ('a', '<>', '1.2'), 1),
+
+ # Missing release should be considered \"any release will do\"
+ # but this is not always so (the cases with \"???\")
+ (('a', '=', '1.2-1'), ('a', '=', '1.2'), 1),
+ (('a', '=', '1.2-1'), ('a', '>=', '1.2'), 1),
+ (('a', '=', '1.2-1'), ('a', '<=', '1.2'), 1),
+ (('a', '=', '1.2-1'), ('a', '<', '1.2'), 0),
+ (('a', '=', '1.2-1'), ('a', '>', '1.2'), 0),
+ (('a', '=', '1.2-1'), ('a', '<>', '1.2'), 0),
+
+ (('a', '>', '1.2-1'), ('a', '=', '1.2'), 1),
+ (('a', '>', '1.2-1'), ('a', '>=', '1.2'), 1),
+ (('a', '>', '1.2-1'), ('a', '<=', '1.2'), 1),
+ (('a', '>', '1.2-1'), ('a', '<', '1.2'), 0),
+ (('a', '>', '1.2-1'), ('a', '>', '1.2'), 1),
+ (('a', '>', '1.2-1'), ('a', '<>', '1.2'), 1),
+
+ (('a', '<', '1.2-1'), ('a', '=', '1.2'), 1),
+ (('a', '<', '1.2-1'), ('a', '>=', '1.2'), 1),
+ (('a', '<', '1.2-1'), ('a', '<=', '1.2'), 1),
+ (('a', '<', '1.2-1'), ('a', '<', '1.2'), 1),
+ (('a', '<', '1.2-1'), ('a', '>', '1.2'), 0),
+ (('a', '<', '1.2-1'), ('a', '<>', '1.2'), 1),
+
+ (('a', '>=', '1.2-1'), ('a', '=', '1.2'), 1),
+ (('a', '>=', '1.2-1'), ('a', '>=', '1.2'), 1),
+ (('a', '>=', '1.2-1'), ('a', '<=', '1.2'), 1),
+ (('a', '>=', '1.2-1'), ('a', '<', '1.2'), 0),
+ (('a', '>=', '1.2-1'), ('a', '>', '1.2'), 1),
+ (('a', '>=', '1.2-1'), ('a', '<>', '1.2'), 1),
+
+ (('a', '<=', '1.2-1'), ('a', '=', '1.2'), 1),
+ (('a', '<=', '1.2-1'), ('a', '>=', '1.2'), 1),
+ (('a', '<=', '1.2-1'), ('a', '<=', '1.2'), 1),
+ (('a', '<=', '1.2-1'), ('a', '<', '1.2'), 1),
+ (('a', '<=', '1.2-1'), ('a', '>', '1.2'), 0),
+ (('a', '<=', '1.2-1'), ('a', '<>', '1.2'), 1),
+
+ (('a', '<>', '1.2-1'), ('a', '=', '1.2'), 1),
+ (('a', '<>', '1.2-1'), ('a', '>=', '1.2'), 1),
+ (('a', '<>', '1.2-1'), ('a', '<=', '1.2'), 1),
+ (('a', '<>', '1.2-1'), ('a', '<', '1.2'), 1),
+ (('a', '<>', '1.2-1'), ('a', '>', '1.2'), 1),
+ (('a', '<>', '1.2-1'), ('a', '<>', '1.2'), 1),
+
+ (('a', '=', '1.2'), ('a', '=', '1.2-1'), 1),
+ (('a', '=', '1.2'), ('a', '>=', '1.2-1'), 1),
+ (('a', '=', '1.2'), ('a', '<=', '1.2-1'), 1),
+ (('a', '=', '1.2'), ('a', '<', '1.2-1'), 1),
+ (('a', '=', '1.2'), ('a', '>', '1.2-1'), 1),
+ (('a', '=', '1.2'), ('a', '<>', '1.2-1'), 1),
+
+ (('a', '>', '1.2'), ('a', '=', '1.2-1'), 0),
+ (('a', '>', '1.2'), ('a', '>=', '1.2-1'), 1),
+ (('a', '>', '1.2'), ('a', '<=', '1.2-1'), 0),
+ (('a', '>', '1.2'), ('a', '<', '1.2-1'), 0),
+ (('a', '>', '1.2'), ('a', '>', '1.2-1'), 1),
+ (('a', '>', '1.2'), ('a', '<>', '1.2-1'), 1),
+
+ (('a', '<', '1.2'), ('a', '=', '1.2-1'), 0),
+ (('a', '<', '1.2'), ('a', '>=', '1.2-1'), 0),
+ (('a', '<', '1.2'), ('a', '<=', '1.2-1'), 1),
+ (('a', '<', '1.2'), ('a', '<', '1.2-1'), 1),
+ (('a', '<', '1.2'), ('a', '>', '1.2-1'), 0),
+ (('a', '<', '1.2'), ('a', '<>', '1.2-1'), 1),
+
+ (('a', '>=', '1.2'), ('a', '=', '1.2-1'), 1),
+ (('a', '>=', '1.2'), ('a', '>=', '1.2-1'), 1),
+ (('a', '>=', '1.2'), ('a', '<=', '1.2-1'), 1),
+ (('a', '>=', '1.2'), ('a', '<', '1.2-1'), 1),
+ (('a', '>=', '1.2'), ('a', '>', '1.2-1'), 1),
+ (('a', '>=', '1.2'), ('a', '<>', '1.2-1'), 1),
+
+ (('a', '<=', '1.2'), ('a', '=', '1.2-1'), 1),
+ (('a', '<=', '1.2'), ('a', '>=', '1.2-1'), 1),
+ (('a', '<=', '1.2'), ('a', '<=', '1.2-1'), 1),
+ (('a', '<=', '1.2'), ('a', '<', '1.2-1'), 1),
+ (('a', '<=', '1.2'), ('a', '>', '1.2-1'), 1),
+ (('a', '<=', '1.2'), ('a', '<>', '1.2-1'), 1),
+
+ (('a', '<>', '1.2'), ('a', '=', '1.2-1'), 0),
+ (('a', '<>', '1.2'), ('a', '>=', '1.2-1'), 1),
+ (('a', '<>', '1.2'), ('a', '<=', '1.2-1'), 1),
+ (('a', '<>', '1.2'), ('a', '<', '1.2-1'), 1),
+ (('a', '<>', '1.2'), ('a', '>', '1.2-1'), 1),
+ (('a', '<>', '1.2'), ('a', '<>', '1.2-1'), 1),
+]
+
+ms = ['no match', 'match']
+
+myprint() # dumb kludge to fixup expected output
+for p, r, res in tests:
+ d1 = rpm.ds(p, 'provides')
+ d2 = rpm.ds(r, 'requires')
+ match = d1.Compare(d2)
+ if match != res:
+ myprint('FAILED: %s with %s: %s' % (d1.DNEVR(), d2.DNEVR(),ms[res]))
+
+EOF
+python test.py
+"
+at_fn_check_prepare_notrace 'a ${...} parameter expansion' "rpmdepmatch.at:4"
+( $at_check_trace;
+cat << EOF > test.py
+import rpm, sys
+dbpath=rpm.expandMacro('%_dbpath')
+rpm.addMacro('_dbpath', '${abs_builddir}/testing%s' % dbpath)
+def myprint(msg = ''):
+ sys.stdout.write('%s\n' % msg)
+
+# ((provides), (requires), match) expected values
+tests = [
+ # Different names never match
+ (('b',), ('a',), 0),
+ (('b',), ('a', '=', '1.2'), 0),
+ (('b',), ('a', '>=', '1.2'), 0),
+ (('b',), ('a', '<=', '1.2'), 0),
+ (('b',), ('a', '<', '1.2'), 0),
+ (('b',), ('a', '>', '1.2'), 0),
+ (('b',), ('a', '<>', '1.2'), 0),
+
+ # Unversioned provide matches all versions
+ (('a',), ('a',), 1),
+ (('a',), ('a', '=', '1.2'), 1),
+ (('a',), ('a', '>=', '1.2'), 1),
+ (('a',), ('a', '<=', '1.2'), 1),
+ (('a',), ('a', '<', '1.2'), 1),
+ (('a',), ('a', '>', '1.2'), 1),
+ (('a',), ('a', '<>', '1.2'), 1),
+
+ # Unversioned require matches all versions
+ (('a', '=', '1.2'), ('a',), 1),
+ (('a', '<', '1.2'), ('a',), 1),
+ (('a', '>', '1.2'), ('a',), 1),
+ (('a', '<=', '1.2'), ('a',), 1),
+ (('a', '>=', '1.2'), ('a',), 1),
+ (('a', '<>', '1.2'), ('a',), 1),
+
+ # Simple, obvious version comparisons
+ (('a', '=', '1.2'), ('a', '=', '1.2'), 1),
+ (('a', '=', '1.2'), ('a', '>=', '1.2'), 1),
+ (('a', '=', '1.2'), ('a', '<=', '1.2'), 1),
+ (('a', '=', '1.2'), ('a', '<', '1.2'), 0),
+ (('a', '=', '1.2'), ('a', '>', '1.2'), 0),
+ (('a', '=', '1.2'), ('a', '<>', '1.2'), 0),
+
+ (('a', '=', '1.2'), ('a', '=', '1.3'), 0),
+ (('a', '=', '1.2'), ('a', '>=', '1.3'), 0),
+ (('a', '=', '1.2'), ('a', '<=', '1.3'), 1),
+ (('a', '=', '1.2'), ('a', '<', '1.3'), 1),
+ (('a', '=', '1.2'), ('a', '>', '1.3'), 0),
+ (('a', '=', '1.2'), ('a', '<>', '1.3'), 1),
+
+ # Simple, obvious version-release comparisons
+ (('a', '=', '1.2-1'), ('a', '=', '1.2-1'), 1),
+ (('a', '=', '1.2-1'), ('a', '>=', '1.2-1'), 1),
+ (('a', '=', '1.2-1'), ('a', '<=', '1.2-1'), 1),
+ (('a', '=', '1.2-1'), ('a', '<', '1.2-1'), 0),
+ (('a', '=', '1.2-1'), ('a', '>', '1.2-1'), 0),
+ (('a', '=', '1.2-1'), ('a', '<>', '1.2-1'), 0),
+
+ (('a', '=', '1.2-1'), ('a', '=', '1.2-2'), 0),
+ (('a', '=', '1.2-1'), ('a', '>=', '1.2-2'), 0),
+ (('a', '=', '1.2-1'), ('a', '<=', '1.2-2'), 1),
+ (('a', '=', '1.2-1'), ('a', '<', '1.2-2'), 1),
+ (('a', '=', '1.2-1'), ('a', '>', '1.2-2'), 0),
+ (('a', '=', '1.2-1'), ('a', '<>', '1.2-2'), 1),
+
+ (('a', '=', '1.3-1'), ('a', '=', '1.2-2'), 0),
+ (('a', '=', '1.3-1'), ('a', '>=', '1.2-2'), 1),
+ (('a', '=', '1.3-1'), ('a', '<=', '1.2-2'), 0),
+ (('a', '=', '1.3-1'), ('a', '<', '1.2-2'), 0),
+ (('a', '=', '1.3-1'), ('a', '>', '1.2-2'), 1),
+ (('a', '=', '1.3-1'), ('a', '<>', '1.2-2'), 1),
+
+ # Zero epoch is same as no epoch
+ (('a', '=', '0:1.2'), ('a', '=', '1.2'), 1),
+ (('a', '=', '0:1.2'), ('a', '>=', '1.2'), 1),
+ (('a', '=', '0:1.2'), ('a', '<=', '1.2'), 1),
+ (('a', '=', '0:1.2'), ('a', '<', '1.2'), 0),
+ (('a', '=', '0:1.2'), ('a', '>', '1.2'), 0),
+ (('a', '=', '0:1.2'), ('a', '<>', '1.2'), 0),
+
+ (('a', '=', '1.2'), ('a', '=', '0:1.2'), 1),
+ (('a', '=', '1.2'), ('a', '>=', '0:1.2'), 1),
+ (('a', '=', '1.2'), ('a', '<=', '0:1.2'), 1),
+ (('a', '=', '1.2'), ('a', '<', '0:1.2'), 0),
+ (('a', '=', '1.2'), ('a', '>', '0:1.2'), 0),
+ (('a', '=', '1.2'), ('a', '<>', '0:1.2'), 0),
+
+ # Non-zero epochs
+ (('a', '=', '1:1.2'), ('a', '=', '1.2'), 0),
+ (('a', '=', '1:1.2'), ('a', '>=', '1.2'), 1),
+ (('a', '=', '1:1.2'), ('a', '<=', '1.2'), 0),
+ (('a', '=', '1:1.2'), ('a', '<', '1.2'), 0),
+ (('a', '=', '1:1.2'), ('a', '>', '1.2'), 1),
+ (('a', '=', '1:1.2'), ('a', '<>', '1.2'), 1),
+
+ (('a', '=', '1.2'), ('a', '=', '1:1.2'), 0),
+ (('a', '=', '1.2'), ('a', '>=', '1:1.2'), 0),
+ (('a', '=', '1.2'), ('a', '<=', '1:1.2'), 1),
+ (('a', '=', '1.2'), ('a', '<', '1:1.2'), 1),
+ (('a', '=', '1.2'), ('a', '>', '1:1.2'), 0),
+ (('a', '=', '1.2'), ('a', '<>', '1:1.2'), 1),
+
+ (('a', '=', '2:1.2'), ('a', '=', '2:1.2'), 1),
+ (('a', '=', '2:1.2'), ('a', '>=', '2:1.2'), 1),
+ (('a', '=', '2:1.2'), ('a', '<=', '2:1.2'), 1),
+ (('a', '=', '2:1.2'), ('a', '<', '2:1.2'), 0),
+ (('a', '=', '2:1.2'), ('a', '>', '2:1.2'), 0),
+ (('a', '=', '2:1.2'), ('a', '<>', '2:1.2'), 0),
+
+ # Simple, obvious version comparisons with provide ranges
+ (('a', '>', '1.2'), ('a', '=', '1.2'), 0),
+ (('a', '>', '1.2'), ('a', '>=', '1.2'), 1),
+ (('a', '>', '1.2'), ('a', '<=', '1.2'), 0),
+ (('a', '>', '1.2'), ('a', '<', '1.2'), 0),
+ (('a', '>', '1.2'), ('a', '>', '1.2'), 1),
+ (('a', '>', '1.2'), ('a', '<>', '1.2'), 1),
+
+ (('a', '<', '1.2'), ('a', '=', '1.2'), 0),
+ (('a', '<', '1.2'), ('a', '>=', '1.2'), 0),
+ (('a', '<', '1.2'), ('a', '<=', '1.2'), 1),
+ (('a', '<', '1.2'), ('a', '<', '1.2'), 1),
+ (('a', '<', '1.2'), ('a', '>', '1.2'), 0),
+ (('a', '<', '1.2'), ('a', '<>', '1.2'), 1),
+
+ (('a', '>=', '1.2'), ('a', '=', '1.2'), 1),
+ (('a', '>=', '1.2'), ('a', '>=', '1.2'), 1),
+ (('a', '>=', '1.2'), ('a', '<=', '1.2'), 1),
+ (('a', '>=', '1.2'), ('a', '<', '1.2'), 0),
+ (('a', '>=', '1.2'), ('a', '>', '1.2'), 1),
+ (('a', '>=', '1.2'), ('a', '<>', '1.2'), 1),
+
+ (('a', '<=', '1.2'), ('a', '=', '1.2'), 1),
+ (('a', '<=', '1.2'), ('a', '>=', '1.2'), 1),
+ (('a', '<=', '1.2'), ('a', '<=', '1.2'), 1),
+ (('a', '<=', '1.2'), ('a', '<', '1.2'), 1),
+ (('a', '<=', '1.2'), ('a', '>', '1.2'), 0),
+ (('a', '<=', '1.2'), ('a', '<>', '1.2'), 1),
+
+ (('a', '<>', '1.2'), ('a', '=', '1.2'), 0),
+ (('a', '<>', '1.2'), ('a', '>=', '1.2'), 1),
+ (('a', '<>', '1.2'), ('a', '<=', '1.2'), 1),
+ (('a', '<>', '1.2'), ('a', '<', '1.2'), 1),
+ (('a', '<>', '1.2'), ('a', '>', '1.2'), 1),
+ (('a', '<>', '1.2'), ('a', '<>', '1.2'), 1),
+
+ # Missing release should be considered "any release will do"
+ # but this is not always so (the cases with "???")
+ (('a', '=', '1.2-1'), ('a', '=', '1.2'), 1),
+ (('a', '=', '1.2-1'), ('a', '>=', '1.2'), 1),
+ (('a', '=', '1.2-1'), ('a', '<=', '1.2'), 1),
+ (('a', '=', '1.2-1'), ('a', '<', '1.2'), 0),
+ (('a', '=', '1.2-1'), ('a', '>', '1.2'), 0),
+ (('a', '=', '1.2-1'), ('a', '<>', '1.2'), 0),
+
+ (('a', '>', '1.2-1'), ('a', '=', '1.2'), 1),
+ (('a', '>', '1.2-1'), ('a', '>=', '1.2'), 1),
+ (('a', '>', '1.2-1'), ('a', '<=', '1.2'), 1),
+ (('a', '>', '1.2-1'), ('a', '<', '1.2'), 0),
+ (('a', '>', '1.2-1'), ('a', '>', '1.2'), 1),
+ (('a', '>', '1.2-1'), ('a', '<>', '1.2'), 1),
+
+ (('a', '<', '1.2-1'), ('a', '=', '1.2'), 1),
+ (('a', '<', '1.2-1'), ('a', '>=', '1.2'), 1),
+ (('a', '<', '1.2-1'), ('a', '<=', '1.2'), 1),
+ (('a', '<', '1.2-1'), ('a', '<', '1.2'), 1),
+ (('a', '<', '1.2-1'), ('a', '>', '1.2'), 0),
+ (('a', '<', '1.2-1'), ('a', '<>', '1.2'), 1),
+
+ (('a', '>=', '1.2-1'), ('a', '=', '1.2'), 1),
+ (('a', '>=', '1.2-1'), ('a', '>=', '1.2'), 1),
+ (('a', '>=', '1.2-1'), ('a', '<=', '1.2'), 1),
+ (('a', '>=', '1.2-1'), ('a', '<', '1.2'), 0),
+ (('a', '>=', '1.2-1'), ('a', '>', '1.2'), 1),
+ (('a', '>=', '1.2-1'), ('a', '<>', '1.2'), 1),
+
+ (('a', '<=', '1.2-1'), ('a', '=', '1.2'), 1),
+ (('a', '<=', '1.2-1'), ('a', '>=', '1.2'), 1),
+ (('a', '<=', '1.2-1'), ('a', '<=', '1.2'), 1),
+ (('a', '<=', '1.2-1'), ('a', '<', '1.2'), 1),
+ (('a', '<=', '1.2-1'), ('a', '>', '1.2'), 0),
+ (('a', '<=', '1.2-1'), ('a', '<>', '1.2'), 1),
+
+ (('a', '<>', '1.2-1'), ('a', '=', '1.2'), 1),
+ (('a', '<>', '1.2-1'), ('a', '>=', '1.2'), 1),
+ (('a', '<>', '1.2-1'), ('a', '<=', '1.2'), 1),
+ (('a', '<>', '1.2-1'), ('a', '<', '1.2'), 1),
+ (('a', '<>', '1.2-1'), ('a', '>', '1.2'), 1),
+ (('a', '<>', '1.2-1'), ('a', '<>', '1.2'), 1),
+
+ (('a', '=', '1.2'), ('a', '=', '1.2-1'), 1),
+ (('a', '=', '1.2'), ('a', '>=', '1.2-1'), 1),
+ (('a', '=', '1.2'), ('a', '<=', '1.2-1'), 1),
+ (('a', '=', '1.2'), ('a', '<', '1.2-1'), 1),
+ (('a', '=', '1.2'), ('a', '>', '1.2-1'), 1),
+ (('a', '=', '1.2'), ('a', '<>', '1.2-1'), 1),
+
+ (('a', '>', '1.2'), ('a', '=', '1.2-1'), 0),
+ (('a', '>', '1.2'), ('a', '>=', '1.2-1'), 1),
+ (('a', '>', '1.2'), ('a', '<=', '1.2-1'), 0),
+ (('a', '>', '1.2'), ('a', '<', '1.2-1'), 0),
+ (('a', '>', '1.2'), ('a', '>', '1.2-1'), 1),
+ (('a', '>', '1.2'), ('a', '<>', '1.2-1'), 1),
+
+ (('a', '<', '1.2'), ('a', '=', '1.2-1'), 0),
+ (('a', '<', '1.2'), ('a', '>=', '1.2-1'), 0),
+ (('a', '<', '1.2'), ('a', '<=', '1.2-1'), 1),
+ (('a', '<', '1.2'), ('a', '<', '1.2-1'), 1),
+ (('a', '<', '1.2'), ('a', '>', '1.2-1'), 0),
+ (('a', '<', '1.2'), ('a', '<>', '1.2-1'), 1),
+
+ (('a', '>=', '1.2'), ('a', '=', '1.2-1'), 1),
+ (('a', '>=', '1.2'), ('a', '>=', '1.2-1'), 1),
+ (('a', '>=', '1.2'), ('a', '<=', '1.2-1'), 1),
+ (('a', '>=', '1.2'), ('a', '<', '1.2-1'), 1),
+ (('a', '>=', '1.2'), ('a', '>', '1.2-1'), 1),
+ (('a', '>=', '1.2'), ('a', '<>', '1.2-1'), 1),
+
+ (('a', '<=', '1.2'), ('a', '=', '1.2-1'), 1),
+ (('a', '<=', '1.2'), ('a', '>=', '1.2-1'), 1),
+ (('a', '<=', '1.2'), ('a', '<=', '1.2-1'), 1),
+ (('a', '<=', '1.2'), ('a', '<', '1.2-1'), 1),
+ (('a', '<=', '1.2'), ('a', '>', '1.2-1'), 1),
+ (('a', '<=', '1.2'), ('a', '<>', '1.2-1'), 1),
+
+ (('a', '<>', '1.2'), ('a', '=', '1.2-1'), 0),
+ (('a', '<>', '1.2'), ('a', '>=', '1.2-1'), 1),
+ (('a', '<>', '1.2'), ('a', '<=', '1.2-1'), 1),
+ (('a', '<>', '1.2'), ('a', '<', '1.2-1'), 1),
+ (('a', '<>', '1.2'), ('a', '>', '1.2-1'), 1),
+ (('a', '<>', '1.2'), ('a', '<>', '1.2-1'), 1),
+]
+
+ms = ['no match', 'match']
+
+myprint() # dumb kludge to fixup expected output
+for p, r, res in tests:
+ d1 = rpm.ds(p, 'provides')
+ d2 = rpm.ds(r, 'requires')
+ match = d1.Compare(d2)
+ if match != res:
+ myprint('FAILED: %s with %s: %s' % (d1.DNEVR(), d2.DNEVR(),ms[res]))
+
+EOF
+python test.py
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/rpmdepmatch.at:4"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_411
diff --git a/tests/rpmtests.at b/tests/rpmtests.at
index b51266a2d..746792234 100644
--- a/tests/rpmtests.at
+++ b/tests/rpmtests.at
@@ -1,9 +1,13 @@
m4_include([rpmgeneral.at])
+m4_include([rpmio.at])
m4_include([rpmquery.at])
m4_include([rpmverify.at])
+m4_include([rpmsigdig.at])
m4_include([rpmdb.at])
m4_include([rpmi.at])
+m4_include([rpmorder.at])
m4_include([rpmbuild.at])
+m4_include([rpmbuildid.at])
m4_include([rpmscript.at])
m4_include([rpmvercmp.at])
m4_include([rpmdeps.at])
diff --git a/tests/rpmverify.at b/tests/rpmverify.at
index 473ac494f..7e6a1b0dc 100644
--- a/tests/rpmverify.at
+++ b/tests/rpmverify.at
@@ -16,8 +16,8 @@ runroot rpmbuild --quiet -bb \
--define "reqs deptest-two" \
/data/SPECS/deptest.spec
-runroot rpm -U --nodeps "${TOPDIR}"/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
-runroot rpm -Va
+runroot rpm -U --nodeps /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
+runroot rpm -Va --nofiles
],
[1],
[Unsatisfied dependencies for deptest-one-1.0-1.noarch:
@@ -63,6 +63,67 @@ runroot rpm -Vva --nodeps --nouser --nogroup
[])
AT_CLEANUP
+# Test file verify when no errors expected in verbose mode.
+AT_SETUP([directory replaced with a directory symlink])
+AT_KEYWORDS([verify])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+tf="${RPMTEST}"/opt/foo
+rm -rf "${RPMTEST}"/opt/*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype datadir" \
+ --define "filedata README1" \
+ --define "user $(id -u -n)" \
+ --define "grp $(id -g -n)" \
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+mv "${RPMTEST}"/opt/foo "${RPMTEST}"/opt/was
+ln -s was "${RPMTEST}"/opt/foo
+runroot rpm -Vv replacetest
+],
+[0],
+[......... /opt/foo
+......... /opt/foo/README1
+......... /opt/goo
+......... /opt/zoo
+],
+[])
+AT_CLEANUP
+
+AT_SETUP([directory replaced with an invalid directory symlink])
+AT_KEYWORDS([verify])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+tf="${RPMTEST}"/opt/foo
+rm -rf "${RPMTEST}"/opt/*
+rm -rf "${TOPDIR}"
+
+runroot rpmbuild --quiet -bb \
+ --define "ver 1.0" \
+ --define "filetype datadir" \
+ --define "filedata README1" \
+ /data/SPECS/replacetest.spec
+
+runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+mv "${RPMTEST}"/opt/foo "${RPMTEST}"/opt/was
+ln -s was "${RPMTEST}"/opt/foo
+runroot rpm -Vv --nouser --nogroup replacetest
+],
+[1],
+[....L.... /opt/foo
+......... /opt/foo/README1
+......... /opt/goo
+......... /opt/zoo
+],
+[])
+AT_CLEANUP
+
# Test file verify after mutilating the files a bit.
AT_SETUP([verify from db, with problems present])
AT_KEYWORDS([verify])
@@ -107,6 +168,53 @@ missing d /usr/share/doc/hello-1.0/FAQ
[])
AT_CLEANUP
+AT_SETUP([verify file attribute filtering])
+AT_KEYWORDS([query])
+AT_CHECK([
+runroot rpmbuild -bb --quiet \
+ /data/SPECS/vattrtest.spec
+
+runroot rpm -U /build/RPMS/noarch/vattrtest-1.0-1.noarch.rpm
+runroot_other touch /opt/vattrtest/g
+runroot_other chmod 644 /opt/vattrtest/g
+
+cmd="rpm -Vv --nouser --nogroup"
+for filter in --noconfig --noghost --noartifact; do
+ echo ${filter}
+ runroot ${cmd} ${filter} vattrtest
+done
+],
+[ignore],
+[--noconfig
+......... /opt/vattrtest
+......... a /opt/vattrtest/a
+......... d /opt/vattrtest/d
+......... g /opt/vattrtest/g
+......... l /opt/vattrtest/l
+......... m /opt/vattrtest/m
+......... r /opt/vattrtest/r
+--noghost
+......... /opt/vattrtest
+......... a /opt/vattrtest/a
+......... c /opt/vattrtest/c
+......... c /opt/vattrtest/cn
+......... d /opt/vattrtest/d
+......... l /opt/vattrtest/l
+......... m /opt/vattrtest/m
+......... r /opt/vattrtest/r
+--noartifact
+......... /opt/vattrtest
+......... c /opt/vattrtest/c
+......... c /opt/vattrtest/cn
+......... d /opt/vattrtest/d
+......... g /opt/vattrtest/g
+......... l /opt/vattrtest/l
+......... m /opt/vattrtest/m
+......... r /opt/vattrtest/r
+],
+[])
+AT_CLEANUP
+
# Test verify script success & failure behavior
# Ignoring stderr spew for now
AT_SETUP([verifyscript failure])
@@ -117,7 +225,7 @@ RPMDB_INIT
rm -rf "${TOPDIR}"
runroot rpmbuild --quiet -bb /data/SPECS/verifyscript.spec
-runroot rpm -U --nodeps "${TOPDIR}"/RPMS/noarch/verifyscript-1.0-1.noarch.rpm
+runroot rpm -U --nodeps /build/RPMS/noarch/verifyscript-1.0-1.noarch.rpm
rm -f "${RPMTEST}"/var/checkme
runroot rpm -V --nodeps verifyscript
],
@@ -134,7 +242,7 @@ RPMDB_INIT
rm -rf "${TOPDIR}"
runroot rpmbuild --quiet -bb /data/SPECS/verifyscript.spec
-runroot rpm -U --nodeps "${TOPDIR}"/RPMS/noarch/verifyscript-1.0-1.noarch.rpm
+runroot rpm -U --nodeps /build/RPMS/noarch/verifyscript-1.0-1.noarch.rpm
touch "${RPMTEST}"/var/checkme
runroot rpm -V --nodeps verifyscript
],
@@ -163,7 +271,7 @@ done
# first instance of a shared file is the one that actually gets created,
# force the order so we know what to expect as these dont depend on each other
-runroot rpm -U --noorder "${TOPDIR}"/RPMS/noarch/conflictone-1.0-1.noarch.rpm "${TOPDIR}"/RPMS/noarch/conflicttwo-1.0-1.noarch.rpm
+runroot rpm -U --noorder /build/RPMS/noarch/conflictone-1.0-1.noarch.rpm /build/RPMS/noarch/conflicttwo-1.0-1.noarch.rpm
runroot rpm -e conflicttwo
runroot rpm -Va --nouser --nogroup
],
@@ -171,3 +279,297 @@ runroot rpm -Va --nouser --nogroup
[],
[])
AT_CLEANUP
+
+# ------------------------------
+# Upgraded verification with min_writes 1 (files)
+AT_SETUP([Upgraded verification with min_writes 1 (files)])
+AT_KEYWORDS([upgrade verify min_writes])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+tf="${RPMTEST}"/opt/foo
+rm -rf "${tf}" "${tf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filetype file" \
+ --define "filedata foo" \
+ /data/SPECS/replacetest.spec
+done
+
+for v in "3.0" "4.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filetype file" \
+ --define "filedata fox" \
+ /data/SPECS/replacetest.spec
+done
+
+runroot rpm -i /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+cat "${tf}"
+touch -t 201703171717 ${tf}
+
+runroot rpm -U \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+runroot rpm -Va --nouser --nogroup replacetest
+cat "${tf}"
+
+runroot rpm -U \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-3.0-1.noarch.rpm
+runroot rpm -Va --nouser --nogroup replacetest
+cat "${tf}"
+
+echo "xx" > "${tf}"
+cat "${tf}"
+
+runroot rpm -U \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-4.0-1.noarch.rpm
+runroot rpm -Va --nouser --nogroup replacetest
+cat "${tf}"
+
+touch -t 201703171717 ${tf}
+
+runroot rpm -U --oldpackage \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-3.0-1.noarch.rpm
+runroot rpm -Va --nouser --nogroup replacetest
+cat "${tf}"
+],
+[0],
+[foo
+foo
+fox
+xx
+fox
+fox
+],
+[])
+AT_CLEANUP
+
+
+# ------------------------------
+# Upgraded verification with min_writes 2 (files)
+AT_SETUP([Upgraded verification with min_writes 2 (files)])
+AT_KEYWORDS([upgrade verify min_writes])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+tf="${RPMTEST}"/opt/foo
+rm -rf "${tf}" "${tf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filetype file" \
+ --define "filedata foo" \
+ /data/SPECS/replacetest.spec
+done
+
+for v in "3.0" "4.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filetype file" \
+ --define "filedata fox" \
+ /data/SPECS/replacetest.spec
+done
+
+runroot rpm -i /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+cat "${tf}"
+touch -t 201703171717 ${tf}
+
+runroot rpm -Uvv --fsmdebug \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm > output.txt 2>&1
+runroot rpm -Va --nouser --nogroup replacetest
+grep -c "touch" output.txt
+cat "${tf}"
+
+
+runroot rpm -Uvv --fsmdebug \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-3.0-1.noarch.rpm > output.txt 2>&1
+runroot rpm -Va --nouser --nogroup replacetest
+grep -c "touch" output.txt
+cat "${tf}"
+echo "xx" > "${tf}"
+cat "${tf}"
+
+runroot rpm -Uvv --fsmdebug \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-4.0-1.noarch.rpm > output.txt 2>&1
+runroot rpm -Va --nouser --nogroup replacetest
+grep -c "touch" output.txt
+cat "${tf}"
+
+touch -t 201703171717 ${tf}
+
+runroot rpm -U -Uvv --fsmdebug --oldpackage \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-3.0-1.noarch.rpm > output.txt 2>&1
+runroot rpm -Va --nouser --nogroup replacetest
+grep -c "touch" output.txt
+cat "${tf}"
+],
+[0],
+[foo
+2
+foo
+1
+fox
+xx
+1
+fox
+2
+fox
+],
+[])
+AT_CLEANUP
+
+# ------------------------------
+# Upgraded verification with min_writes 3 (LINKs)
+AT_SETUP([Upgraded verification with min_writes 3 (LINKs)])
+AT_KEYWORDS([upgrade verify min_writes])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+tf="${RPMTEST}"/opt/foo
+rm -rf "${tf}" "${tf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filetype link" \
+ --define "filedata foo" \
+ /data/SPECS/replacetest.spec
+done
+
+for v in "3.0" "4.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filetype link" \
+ --define "filedata fox" \
+ /data/SPECS/replacetest.spec
+done
+
+runroot rpm -i /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+readlink "${tf}"
+
+runroot rpm -U \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
+runroot rpm -Va --nouser --nogroup replacetest
+readlink "${tf}"
+
+runroot rpm -U \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-3.0-1.noarch.rpm
+runroot rpm -Va --nouser --nogroup replacetest
+readlink "${tf}"
+
+ln -sf "xx" "${tf}"
+readlink "${tf}"
+
+runroot rpm -U \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-4.0-1.noarch.rpm
+runroot rpm -Va --nouser --nogroup replacetest
+readlink "${tf}"
+
+runroot rpm -U --oldpackage \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-3.0-1.noarch.rpm
+runroot rpm -Va --nouser --nogroup replacetest
+readlink "${tf}"
+],
+[0],
+[foo
+foo
+fox
+xx
+fox
+fox
+],
+[])
+AT_CLEANUP
+# ------------------------------
+# Upgraded verification with min_writes 4 (LINKs)
+AT_SETUP([Upgraded verification with min_writes 4 (LINKs)])
+AT_KEYWORDS([upgrade verify min_writes])
+AT_CHECK([
+RPMDB_CLEAR
+RPMDB_INIT
+tf="${RPMTEST}"/opt/foo
+rm -rf "${tf}" "${tf}".rpm*
+rm -rf "${TOPDIR}"
+
+for v in "1.0" "2.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filetype link" \
+ --define "filedata foo" \
+ /data/SPECS/replacetest.spec
+done
+
+for v in "3.0" "4.0"; do
+ runroot rpmbuild --quiet -bb \
+ --define "ver $v" \
+ --define "filetype link" \
+ --define "filedata fox" \
+ /data/SPECS/replacetest.spec
+done
+
+runroot rpm -i /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
+readlink "${tf}"
+
+runroot rpm -Uvv --fsmdebug \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-2.0-1.noarch.rpm > output.txt 2>&1
+runroot rpm -Va --nouser --nogroup replacetest
+grep -c "touch" output.txt
+readlink "${tf}"
+
+
+runroot rpm -Uvv --fsmdebug \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-3.0-1.noarch.rpm > output.txt 2>&1
+runroot rpm -Va --nouser --nogroup replacetest
+grep -c "touch" output.txt
+readlink "${tf}"
+ln -sf "xx" "${tf}"
+readlink "${tf}"
+
+runroot rpm -Uvv --fsmdebug \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-4.0-1.noarch.rpm > output.txt 2>&1
+runroot rpm -Va --nouser --nogroup replacetest
+grep -c "touch" output.txt
+readlink "${tf}"
+
+runroot rpm -U -Uvv --fsmdebug --oldpackage \
+ --define "_minimize_writes 1" \
+ /build/RPMS/noarch/replacetest-3.0-1.noarch.rpm > output.txt 2>&1
+runroot rpm -Va --nouser --nogroup replacetest
+grep -c "touch" output.txt
+readlink "${tf}"
+],
+[0],
+[foo
+2
+foo
+1
+fox
+xx
+1
+fox
+2
+fox
+],
+[])
+AT_CLEANUP