|
|
2ff057 |
# rpmverify.at: rpm verification tests
|
|
|
2ff057 |
|
|
|
2ff057 |
AT_BANNER([RPM verification])
|
|
|
2ff057 |
|
|
|
2ff057 |
# ------------------------------
|
|
|
2ff057 |
#
|
|
|
2ff057 |
AT_SETUP([dependency problems])
|
|
|
2ff057 |
AT_KEYWORDS([verify])
|
|
|
2ff057 |
AT_CHECK([
|
|
|
2ff057 |
RPMDB_CLEAR
|
|
|
2ff057 |
RPMDB_INIT
|
|
|
2ff057 |
rm -rf "${TOPDIR}"
|
|
|
2ff057 |
|
|
|
2ff057 |
runroot rpmbuild --quiet -bb \
|
|
|
2ff057 |
--define "pkg one" \
|
|
|
2ff057 |
--define "reqs deptest-two" \
|
|
|
2ff057 |
/data/SPECS/deptest.spec
|
|
|
2ff057 |
|
|
|
2ff057 |
runroot rpm -U --nodeps /build/RPMS/noarch/deptest-one-1.0-1.noarch.rpm
|
|
|
2ff057 |
runroot rpm -Va --nofiles
|
|
|
2ff057 |
],
|
|
|
2ff057 |
[1],
|
|
|
2ff057 |
[Unsatisfied dependencies for deptest-one-1.0-1.noarch:
|
|
|
2ff057 |
deptest-two is needed by (installed) deptest-one-1.0-1.noarch
|
|
|
2ff057 |
],
|
|
|
2ff057 |
[])
|
|
|
2ff057 |
AT_CLEANUP
|
|
|
2ff057 |
|
|
|
2ff057 |
# Test file verify when no errors expected.
|
|
|
2ff057 |
# Ignore dependencies here as we're not testing for them, and
|
|
|
2ff057 |
# --nogroup --nouser is required when running tests as non-root.
|
|
|
2ff057 |
AT_SETUP([files with no problems])
|
|
|
2ff057 |
AT_KEYWORDS([verify])
|
|
|
2ff057 |
AT_CHECK([
|
|
|
2ff057 |
RPMDB_CLEAR
|
|
|
2ff057 |
RPMDB_INIT
|
|
|
2ff057 |
|
|
|
2ff057 |
runroot rpm -U --nodeps --noscripts --ignorearch --ignoreos \
|
|
|
2ff057 |
/data/RPMS/hello-1.0-1.i386.rpm
|
|
|
2ff057 |
runroot rpm -Va --nodeps --nouser --nogroup
|
|
|
2ff057 |
],
|
|
|
2ff057 |
[0],
|
|
|
2ff057 |
[],
|
|
|
2ff057 |
[])
|
|
|
2ff057 |
AT_CLEANUP
|
|
|
2ff057 |
|
|
|
2ff057 |
# Test file verify when no errors expected in verbose mode.
|
|
|
2ff057 |
AT_SETUP([files with no problems in verbose mode])
|
|
|
2ff057 |
AT_KEYWORDS([verify])
|
|
|
2ff057 |
AT_CHECK([
|
|
|
2ff057 |
RPMDB_CLEAR
|
|
|
2ff057 |
RPMDB_INIT
|
|
|
2ff057 |
|
|
|
2ff057 |
runroot rpm -U --nodeps --noscripts --ignorearch --ignoreos \
|
|
|
2ff057 |
/data/RPMS/hello-1.0-1.i386.rpm
|
|
|
2ff057 |
runroot rpm -Vva --nodeps --nouser --nogroup
|
|
|
2ff057 |
],
|
|
|
2ff057 |
[0],
|
|
|
2ff057 |
[......... /usr/local/bin/hello
|
|
|
2ff057 |
......... /usr/share/doc/hello-1.0
|
|
|
2ff057 |
......... d /usr/share/doc/hello-1.0/FAQ
|
|
|
2ff057 |
],
|
|
|
2ff057 |
[])
|
|
|
2ff057 |
AT_CLEANUP
|
|
|
2ff057 |
|
|
|
2ff057 |
# Test file verify when no errors expected in verbose mode.
|
|
|
2ff057 |
AT_SETUP([directory replaced with a directory symlink])
|
|
|
2ff057 |
AT_KEYWORDS([verify])
|
|
|
2ff057 |
AT_CHECK([
|
|
|
2ff057 |
RPMDB_CLEAR
|
|
|
2ff057 |
RPMDB_INIT
|
|
|
2ff057 |
tf="${RPMTEST}"/opt/foo
|
|
|
2ff057 |
rm -rf "${RPMTEST}"/opt/*
|
|
|
2ff057 |
rm -rf "${TOPDIR}"
|
|
|
2ff057 |
|
|
|
2ff057 |
runroot rpmbuild --quiet -bb \
|
|
|
2ff057 |
--define "ver 1.0" \
|
|
|
2ff057 |
--define "filetype datadir" \
|
|
|
2ff057 |
--define "filedata README1" \
|
|
|
2ff057 |
--define "user $(id -u -n)" \
|
|
|
2ff057 |
--define "grp $(id -g -n)" \
|
|
|
2ff057 |
/data/SPECS/replacetest.spec
|
|
|
2ff057 |
|
|
|
2ff057 |
runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
|
|
|
2ff057 |
mv "${RPMTEST}"/opt/foo "${RPMTEST}"/opt/was
|
|
|
2ff057 |
ln -s was "${RPMTEST}"/opt/foo
|
|
|
2ff057 |
runroot rpm -Vv replacetest
|
|
|
2ff057 |
],
|
|
|
2ff057 |
[0],
|
|
|
2ff057 |
[......... /opt/foo
|
|
|
2ff057 |
......... /opt/foo/README1
|
|
|
2ff057 |
......... /opt/goo
|
|
|
2ff057 |
......... /opt/zoo
|
|
|
2ff057 |
],
|
|
|
2ff057 |
[])
|
|
|
2ff057 |
AT_CLEANUP
|
|
|
2ff057 |
|
|
|
2ff057 |
AT_SETUP([directory replaced with an invalid directory symlink])
|
|
|
2ff057 |
AT_KEYWORDS([verify])
|
|
|
2ff057 |
AT_XFAIL_IF([test `id -u` != 0 ])
|
|
|
2ff057 |
AT_CHECK([
|
|
|
2ff057 |
RPMDB_CLEAR
|
|
|
2ff057 |
RPMDB_INIT
|
|
|
2ff057 |
tf="${RPMTEST}"/opt/foo
|
|
|
2ff057 |
rm -rf "${RPMTEST}"/opt/*
|
|
|
2ff057 |
rm -rf "${TOPDIR}"
|
|
|
2ff057 |
|
|
|
2ff057 |
runroot rpmbuild --quiet -bb \
|
|
|
2ff057 |
--define "ver 1.0" \
|
|
|
2ff057 |
--define "filetype datadir" \
|
|
|
2ff057 |
--define "filedata README1" \
|
|
|
2ff057 |
/data/SPECS/replacetest.spec
|
|
|
2ff057 |
|
|
|
2ff057 |
runroot rpm -U /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
|
|
|
2ff057 |
mv "${RPMTEST}"/opt/foo "${RPMTEST}"/opt/was
|
|
|
2ff057 |
ln -s was "${RPMTEST}"/opt/foo
|
|
|
2ff057 |
chown -h bin "${RPMTEST}"/opt/foo
|
|
|
2ff057 |
runroot rpm -Vv --nouser --nogroup replacetest
|
|
|
2ff057 |
],
|
|
|
2ff057 |
[1],
|
|
|
2ff057 |
[....L.... /opt/foo
|
|
|
2ff057 |
......... /opt/foo/README1
|
|
|
2ff057 |
......... /opt/goo
|
|
|
2ff057 |
......... /opt/zoo
|
|
|
2ff057 |
],
|
|
|
2ff057 |
[])
|
|
|
2ff057 |
AT_CLEANUP
|
|
|
2ff057 |
|
|
|
2ff057 |
# Test file verify after mutilating the files a bit.
|
|
|
2ff057 |
AT_SETUP([verify from db, with problems present])
|
|
|
2ff057 |
AT_KEYWORDS([verify])
|
|
|
2ff057 |
AT_CHECK([
|
|
|
2ff057 |
RPMDB_CLEAR
|
|
|
2ff057 |
RPMDB_INIT
|
|
|
2ff057 |
|
|
|
2ff057 |
runroot rpm -U --nodeps --noscripts --ignorearch --ignoreos \
|
|
|
2ff057 |
/data/RPMS/hello-1.0-1.i386.rpm
|
|
|
2ff057 |
rm -f "${RPMTEST}"/usr/share/doc/hello-1.0/FAQ
|
|
|
2ff057 |
chmod u-x "${RPMTEST}"/usr/local/bin/hello
|
|
|
2ff057 |
dd if=/dev/zero of="${RPMTEST}"/usr/local/bin/hello \
|
|
|
2ff057 |
conv=notrunc bs=1 seek=5 count=6 2> /dev/null
|
|
|
2ff057 |
runroot rpm -Va --nodeps --nouser --nogroup
|
|
|
2ff057 |
],
|
|
|
2ff057 |
[1],
|
|
|
2ff057 |
[.M5....T. /usr/local/bin/hello
|
|
|
2ff057 |
missing d /usr/share/doc/hello-1.0/FAQ
|
|
|
2ff057 |
],
|
|
|
2ff057 |
[])
|
|
|
2ff057 |
AT_CLEANUP
|
|
|
2ff057 |
|
|
|
2ff057 |
# Test file verify from original package after mutilating the files a bit.
|
|
|
2ff057 |
AT_SETUP([verify from package, with problems present])
|
|
|
2ff057 |
AT_KEYWORDS([verify])
|
|
|
2ff057 |
AT_CHECK([
|
|
|
2ff057 |
RPMDB_CLEAR
|
|
|
2ff057 |
RPMDB_INIT
|
|
|
2ff057 |
|
|
|
2ff057 |
runroot rpm -U --nodeps --noscripts --ignorearch --ignoreos \
|
|
|
2ff057 |
/data/RPMS/hello-1.0-1.i386.rpm
|
|
|
2ff057 |
rm -f "${RPMTEST}"/usr/share/doc/hello-1.0/FAQ
|
|
|
2ff057 |
chmod u-x "${RPMTEST}"/usr/local/bin/hello
|
|
|
2ff057 |
dd if=/dev/zero of="${RPMTEST}"/usr/local/bin/hello \
|
|
|
2ff057 |
conv=notrunc bs=1 seek=5 count=6 2> /dev/null
|
|
|
2ff057 |
runroot rpm -Vp --nodeps --nouser --nogroup /data/RPMS/hello-1.0-1.i386.rpm
|
|
|
2ff057 |
],
|
|
|
2ff057 |
[1],
|
|
|
2ff057 |
[.M5....T. /usr/local/bin/hello
|
|
|
2ff057 |
missing d /usr/share/doc/hello-1.0/FAQ
|
|
|
2ff057 |
],
|
|
|
2ff057 |
[])
|
|
|
2ff057 |
AT_CLEANUP
|
|
|
2ff057 |
|
|
|
2ff057 |
AT_SETUP([verify file attribute filtering])
|
|
|
2ff057 |
AT_KEYWORDS([query])
|
|
|
2ff057 |
AT_CHECK([
|
|
|
2ff057 |
runroot rpmbuild -bb --quiet \
|
|
|
2ff057 |
/data/SPECS/vattrtest.spec
|
|
|
2ff057 |
|
|
|
2ff057 |
runroot rpm -U /build/RPMS/noarch/vattrtest-1.0-1.noarch.rpm
|
|
|
2ff057 |
runroot_other touch /opt/vattrtest/g
|
|
|
2ff057 |
runroot_other chmod 644 /opt/vattrtest/g
|
|
|
2ff057 |
|
|
|
2ff057 |
cmd="rpm -Vv --nouser --nogroup"
|
|
|
2ff057 |
for filter in --noconfig --noghost --noartifact; do
|
|
|
2ff057 |
echo ${filter}
|
|
|
2ff057 |
runroot ${cmd} ${filter} vattrtest
|
|
|
2ff057 |
done
|
|
|
2ff057 |
],
|
|
|
2ff057 |
[ignore],
|
|
|
2ff057 |
[--noconfig
|
|
|
2ff057 |
......... /opt/vattrtest
|
|
|
2ff057 |
......... a /opt/vattrtest/a
|
|
|
2ff057 |
......... d /opt/vattrtest/d
|
|
|
2ff057 |
......... g /opt/vattrtest/g
|
|
|
2ff057 |
......... l /opt/vattrtest/l
|
|
|
2ff057 |
......... m /opt/vattrtest/m
|
|
|
2ff057 |
......... r /opt/vattrtest/r
|
|
|
2ff057 |
--noghost
|
|
|
2ff057 |
......... /opt/vattrtest
|
|
|
2ff057 |
......... a /opt/vattrtest/a
|
|
|
2ff057 |
......... c /opt/vattrtest/c
|
|
|
2ff057 |
......... c /opt/vattrtest/cn
|
|
|
2ff057 |
......... d /opt/vattrtest/d
|
|
|
2ff057 |
......... l /opt/vattrtest/l
|
|
|
2ff057 |
......... m /opt/vattrtest/m
|
|
|
2ff057 |
......... r /opt/vattrtest/r
|
|
|
2ff057 |
--noartifact
|
|
|
2ff057 |
......... /opt/vattrtest
|
|
|
2ff057 |
......... c /opt/vattrtest/c
|
|
|
2ff057 |
......... c /opt/vattrtest/cn
|
|
|
2ff057 |
......... d /opt/vattrtest/d
|
|
|
2ff057 |
......... g /opt/vattrtest/g
|
|
|
2ff057 |
......... l /opt/vattrtest/l
|
|
|
2ff057 |
......... m /opt/vattrtest/m
|
|
|
2ff057 |
......... r /opt/vattrtest/r
|
|
|
2ff057 |
],
|
|
|
2ff057 |
[])
|
|
|
2ff057 |
AT_CLEANUP
|
|
|
2ff057 |
|
|
|
2ff057 |
# Test verify script success & failure behavior
|
|
|
2ff057 |
# Ignoring stderr spew for now
|
|
|
2ff057 |
AT_SETUP([verifyscript failure])
|
|
|
2ff057 |
AT_KEYWORDS([verify])
|
|
|
2ff057 |
AT_CHECK([
|
|
|
2ff057 |
RPMDB_CLEAR
|
|
|
2ff057 |
RPMDB_INIT
|
|
|
2ff057 |
|
|
|
2ff057 |
rm -rf "${TOPDIR}"
|
|
|
2ff057 |
runroot rpmbuild --quiet -bb /data/SPECS/verifyscript.spec
|
|
|
2ff057 |
runroot rpm -U --nodeps /build/RPMS/noarch/verifyscript-1.0-1.noarch.rpm
|
|
|
2ff057 |
rm -f "${RPMTEST}"/var/checkme
|
|
|
2ff057 |
runroot rpm -V --nodeps verifyscript
|
|
|
2ff057 |
],
|
|
|
2ff057 |
[1],
|
|
|
2ff057 |
[],
|
|
|
2ff057 |
[ignore])
|
|
|
2ff057 |
AT_CLEANUP
|
|
|
2ff057 |
|
|
|
2ff057 |
AT_SETUP([verifyscript success])
|
|
|
2ff057 |
AT_KEYWORDS([verify])
|
|
|
2ff057 |
AT_CHECK([
|
|
|
2ff057 |
RPMDB_CLEAR
|
|
|
2ff057 |
RPMDB_INIT
|
|
|
2ff057 |
|
|
|
2ff057 |
rm -rf "${TOPDIR}"
|
|
|
2ff057 |
runroot rpmbuild --quiet -bb /data/SPECS/verifyscript.spec
|
|
|
2ff057 |
runroot rpm -U --nodeps /build/RPMS/noarch/verifyscript-1.0-1.noarch.rpm
|
|
|
2ff057 |
touch "${RPMTEST}"/var/checkme
|
|
|
2ff057 |
runroot rpm -V --nodeps verifyscript
|
|
|
2ff057 |
],
|
|
|
2ff057 |
[0],
|
|
|
2ff057 |
[],
|
|
|
2ff057 |
[])
|
|
|
2ff057 |
AT_CLEANUP
|
|
|
2ff057 |
|
|
|
2ff057 |
# ------------------------------
|
|
|
2ff057 |
# shared file timestamp behavior
|
|
|
2ff057 |
AT_SETUP([shared file timestamp behavior])
|
|
|
2ff057 |
AT_KEYWORDS([verify])
|
|
|
2ff057 |
AT_CHECK([
|
|
|
2ff057 |
RPMDB_CLEAR
|
|
|
2ff057 |
RPMDB_INIT
|
|
|
2ff057 |
rm -rf "${TOPDIR}"
|
|
|
2ff057 |
|
|
|
2ff057 |
# create packages sharing a file but with different timestamp
|
|
|
2ff057 |
for p in "one" "two"; do
|
|
|
2ff057 |
runroot rpmbuild --quiet -bb \
|
|
|
2ff057 |
--define "pkg $p" \
|
|
|
2ff057 |
--define "filedata same_stuff" \
|
|
|
2ff057 |
/data/SPECS/conflicttest.spec
|
|
|
2ff057 |
sleep 1
|
|
|
2ff057 |
done
|
|
|
2ff057 |
|
|
|
2ff057 |
# first instance of a shared file is the one that actually gets created,
|
|
|
2ff057 |
# force the order so we know what to expect as these dont depend on each other
|
|
|
2ff057 |
runroot rpm -U --noorder /build/RPMS/noarch/conflictone-1.0-1.noarch.rpm /build/RPMS/noarch/conflicttwo-1.0-1.noarch.rpm
|
|
|
2ff057 |
runroot rpm -e conflicttwo
|
|
|
2ff057 |
runroot rpm -Va --nouser --nogroup
|
|
|
2ff057 |
],
|
|
|
2ff057 |
[0],
|
|
|
2ff057 |
[],
|
|
|
2ff057 |
[])
|
|
|
2ff057 |
AT_CLEANUP
|
|
|
2ff057 |
|
|
|
2ff057 |
# ------------------------------
|
|
|
2ff057 |
# Upgraded verification with min_writes 1 (files)
|
|
|
2ff057 |
AT_SETUP([Upgraded verification with min_writes 1 (files)])
|
|
|
2ff057 |
AT_KEYWORDS([upgrade verify min_writes])
|
|
|
2ff057 |
AT_CHECK([
|
|
|
2ff057 |
RPMDB_CLEAR
|
|
|
2ff057 |
RPMDB_INIT
|
|
|
2ff057 |
tf="${RPMTEST}"/opt/foo
|
|
|
2ff057 |
rm -rf "${tf}" "${tf}".rpm*
|
|
|
2ff057 |
rm -rf "${TOPDIR}"
|
|
|
2ff057 |
|
|
|
2ff057 |
for v in "1.0" "2.0"; do
|
|
|
2ff057 |
runroot rpmbuild --quiet -bb \
|
|
|
2ff057 |
--define "ver $v" \
|
|
|
2ff057 |
--define "filetype file" \
|
|
|
2ff057 |
--define "filedata foo" \
|
|
|
2ff057 |
/data/SPECS/replacetest.spec
|
|
|
2ff057 |
done
|
|
|
2ff057 |
|
|
|
2ff057 |
for v in "3.0" "4.0"; do
|
|
|
2ff057 |
runroot rpmbuild --quiet -bb \
|
|
|
2ff057 |
--define "ver $v" \
|
|
|
2ff057 |
--define "filetype file" \
|
|
|
2ff057 |
--define "filedata fox" \
|
|
|
2ff057 |
/data/SPECS/replacetest.spec
|
|
|
2ff057 |
done
|
|
|
2ff057 |
|
|
|
2ff057 |
runroot rpm -i /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
|
|
|
2ff057 |
cat "${tf}"
|
|
|
2ff057 |
touch -t 201703171717 ${tf}
|
|
|
2ff057 |
|
|
|
2ff057 |
runroot rpm -U \
|
|
|
2ff057 |
--define "_minimize_writes 1" \
|
|
|
2ff057 |
/build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
|
|
|
2ff057 |
runroot rpm -Va --nouser --nogroup replacetest
|
|
|
2ff057 |
cat "${tf}"
|
|
|
2ff057 |
|
|
|
2ff057 |
runroot rpm -U \
|
|
|
2ff057 |
--define "_minimize_writes 1" \
|
|
|
2ff057 |
/build/RPMS/noarch/replacetest-3.0-1.noarch.rpm
|
|
|
2ff057 |
runroot rpm -Va --nouser --nogroup replacetest
|
|
|
2ff057 |
cat "${tf}"
|
|
|
2ff057 |
|
|
|
2ff057 |
echo "xx" > "${tf}"
|
|
|
2ff057 |
cat "${tf}"
|
|
|
2ff057 |
|
|
|
2ff057 |
runroot rpm -U \
|
|
|
2ff057 |
--define "_minimize_writes 1" \
|
|
|
2ff057 |
/build/RPMS/noarch/replacetest-4.0-1.noarch.rpm
|
|
|
2ff057 |
runroot rpm -Va --nouser --nogroup replacetest
|
|
|
2ff057 |
cat "${tf}"
|
|
|
2ff057 |
|
|
|
2ff057 |
touch -t 201703171717 ${tf}
|
|
|
2ff057 |
|
|
|
2ff057 |
runroot rpm -U --oldpackage \
|
|
|
2ff057 |
--define "_minimize_writes 1" \
|
|
|
2ff057 |
/build/RPMS/noarch/replacetest-3.0-1.noarch.rpm
|
|
|
2ff057 |
runroot rpm -Va --nouser --nogroup replacetest
|
|
|
2ff057 |
cat "${tf}"
|
|
|
2ff057 |
],
|
|
|
2ff057 |
[0],
|
|
|
2ff057 |
[foo
|
|
|
2ff057 |
foo
|
|
|
2ff057 |
fox
|
|
|
2ff057 |
xx
|
|
|
2ff057 |
fox
|
|
|
2ff057 |
fox
|
|
|
2ff057 |
],
|
|
|
2ff057 |
[])
|
|
|
2ff057 |
AT_CLEANUP
|
|
|
2ff057 |
|
|
|
2ff057 |
|
|
|
2ff057 |
# ------------------------------
|
|
|
2ff057 |
# Upgraded verification with min_writes 2 (files)
|
|
|
2ff057 |
AT_SETUP([Upgraded verification with min_writes 2 (files)])
|
|
|
2ff057 |
AT_KEYWORDS([upgrade verify min_writes])
|
|
|
2ff057 |
AT_CHECK([
|
|
|
2ff057 |
RPMDB_CLEAR
|
|
|
2ff057 |
RPMDB_INIT
|
|
|
2ff057 |
tf="${RPMTEST}"/opt/foo
|
|
|
2ff057 |
rm -rf "${tf}" "${tf}".rpm*
|
|
|
2ff057 |
rm -rf "${TOPDIR}"
|
|
|
2ff057 |
|
|
|
2ff057 |
for v in "1.0" "2.0"; do
|
|
|
2ff057 |
runroot rpmbuild --quiet -bb \
|
|
|
2ff057 |
--define "ver $v" \
|
|
|
2ff057 |
--define "filetype file" \
|
|
|
2ff057 |
--define "filedata foo" \
|
|
|
2ff057 |
/data/SPECS/replacetest.spec
|
|
|
2ff057 |
done
|
|
|
2ff057 |
|
|
|
2ff057 |
for v in "3.0" "4.0"; do
|
|
|
2ff057 |
runroot rpmbuild --quiet -bb \
|
|
|
2ff057 |
--define "ver $v" \
|
|
|
2ff057 |
--define "filetype file" \
|
|
|
2ff057 |
--define "filedata fox" \
|
|
|
2ff057 |
/data/SPECS/replacetest.spec
|
|
|
2ff057 |
done
|
|
|
2ff057 |
|
|
|
2ff057 |
runroot rpm -i /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
|
|
|
2ff057 |
cat "${tf}"
|
|
|
2ff057 |
touch -t 201703171717 ${tf}
|
|
|
2ff057 |
|
|
|
2ff057 |
runroot rpm -Uvv --fsmdebug \
|
|
|
2ff057 |
--define "_minimize_writes 1" \
|
|
|
2ff057 |
/build/RPMS/noarch/replacetest-2.0-1.noarch.rpm > output.txt 2>&1
|
|
|
2ff057 |
runroot rpm -Va --nouser --nogroup replacetest
|
|
|
2ff057 |
grep -c "touch" output.txt
|
|
|
2ff057 |
cat "${tf}"
|
|
|
2ff057 |
|
|
|
2ff057 |
|
|
|
2ff057 |
runroot rpm -Uvv --fsmdebug \
|
|
|
2ff057 |
--define "_minimize_writes 1" \
|
|
|
2ff057 |
/build/RPMS/noarch/replacetest-3.0-1.noarch.rpm > output.txt 2>&1
|
|
|
2ff057 |
runroot rpm -Va --nouser --nogroup replacetest
|
|
|
2ff057 |
grep -c "touch" output.txt
|
|
|
2ff057 |
cat "${tf}"
|
|
|
2ff057 |
echo "xx" > "${tf}"
|
|
|
2ff057 |
cat "${tf}"
|
|
|
2ff057 |
|
|
|
2ff057 |
runroot rpm -Uvv --fsmdebug \
|
|
|
2ff057 |
--define "_minimize_writes 1" \
|
|
|
2ff057 |
/build/RPMS/noarch/replacetest-4.0-1.noarch.rpm > output.txt 2>&1
|
|
|
2ff057 |
runroot rpm -Va --nouser --nogroup replacetest
|
|
|
2ff057 |
grep -c "touch" output.txt
|
|
|
2ff057 |
cat "${tf}"
|
|
|
2ff057 |
|
|
|
2ff057 |
touch -t 201703171717 ${tf}
|
|
|
2ff057 |
|
|
|
2ff057 |
runroot rpm -U -Uvv --fsmdebug --oldpackage \
|
|
|
2ff057 |
--define "_minimize_writes 1" \
|
|
|
2ff057 |
/build/RPMS/noarch/replacetest-3.0-1.noarch.rpm > output.txt 2>&1
|
|
|
2ff057 |
runroot rpm -Va --nouser --nogroup replacetest
|
|
|
2ff057 |
grep -c "touch" output.txt
|
|
|
2ff057 |
cat "${tf}"
|
|
|
2ff057 |
],
|
|
|
2ff057 |
[0],
|
|
|
2ff057 |
[foo
|
|
|
2ff057 |
2
|
|
|
2ff057 |
foo
|
|
|
2ff057 |
1
|
|
|
2ff057 |
fox
|
|
|
2ff057 |
xx
|
|
|
2ff057 |
1
|
|
|
2ff057 |
fox
|
|
|
2ff057 |
2
|
|
|
2ff057 |
fox
|
|
|
2ff057 |
],
|
|
|
2ff057 |
[])
|
|
|
2ff057 |
AT_CLEANUP
|
|
|
2ff057 |
|
|
|
2ff057 |
# ------------------------------
|
|
|
2ff057 |
# Upgraded verification with min_writes 3 (LINKs)
|
|
|
2ff057 |
AT_SETUP([Upgraded verification with min_writes 3 (LINKs)])
|
|
|
2ff057 |
AT_KEYWORDS([upgrade verify min_writes])
|
|
|
2ff057 |
AT_CHECK([
|
|
|
2ff057 |
RPMDB_CLEAR
|
|
|
2ff057 |
RPMDB_INIT
|
|
|
2ff057 |
tf="${RPMTEST}"/opt/foo
|
|
|
2ff057 |
rm -rf "${tf}" "${tf}".rpm*
|
|
|
2ff057 |
rm -rf "${TOPDIR}"
|
|
|
2ff057 |
|
|
|
2ff057 |
for v in "1.0" "2.0"; do
|
|
|
2ff057 |
runroot rpmbuild --quiet -bb \
|
|
|
2ff057 |
--define "ver $v" \
|
|
|
2ff057 |
--define "filetype link" \
|
|
|
2ff057 |
--define "filedata foo" \
|
|
|
2ff057 |
/data/SPECS/replacetest.spec
|
|
|
2ff057 |
done
|
|
|
2ff057 |
|
|
|
2ff057 |
for v in "3.0" "4.0"; do
|
|
|
2ff057 |
runroot rpmbuild --quiet -bb \
|
|
|
2ff057 |
--define "ver $v" \
|
|
|
2ff057 |
--define "filetype link" \
|
|
|
2ff057 |
--define "filedata fox" \
|
|
|
2ff057 |
/data/SPECS/replacetest.spec
|
|
|
2ff057 |
done
|
|
|
2ff057 |
|
|
|
2ff057 |
runroot rpm -i /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
|
|
|
2ff057 |
readlink "${tf}"
|
|
|
2ff057 |
|
|
|
2ff057 |
runroot rpm -U \
|
|
|
2ff057 |
--define "_minimize_writes 1" \
|
|
|
2ff057 |
/build/RPMS/noarch/replacetest-2.0-1.noarch.rpm
|
|
|
2ff057 |
runroot rpm -Va --nouser --nogroup replacetest
|
|
|
2ff057 |
readlink "${tf}"
|
|
|
2ff057 |
|
|
|
2ff057 |
runroot rpm -U \
|
|
|
2ff057 |
--define "_minimize_writes 1" \
|
|
|
2ff057 |
/build/RPMS/noarch/replacetest-3.0-1.noarch.rpm
|
|
|
2ff057 |
runroot rpm -Va --nouser --nogroup replacetest
|
|
|
2ff057 |
readlink "${tf}"
|
|
|
2ff057 |
|
|
|
2ff057 |
ln -sf "xx" "${tf}"
|
|
|
2ff057 |
readlink "${tf}"
|
|
|
2ff057 |
|
|
|
2ff057 |
runroot rpm -U \
|
|
|
2ff057 |
--define "_minimize_writes 1" \
|
|
|
2ff057 |
/build/RPMS/noarch/replacetest-4.0-1.noarch.rpm
|
|
|
2ff057 |
runroot rpm -Va --nouser --nogroup replacetest
|
|
|
2ff057 |
readlink "${tf}"
|
|
|
2ff057 |
|
|
|
2ff057 |
runroot rpm -U --oldpackage \
|
|
|
2ff057 |
--define "_minimize_writes 1" \
|
|
|
2ff057 |
/build/RPMS/noarch/replacetest-3.0-1.noarch.rpm
|
|
|
2ff057 |
runroot rpm -Va --nouser --nogroup replacetest
|
|
|
2ff057 |
readlink "${tf}"
|
|
|
2ff057 |
],
|
|
|
2ff057 |
[0],
|
|
|
2ff057 |
[foo
|
|
|
2ff057 |
foo
|
|
|
2ff057 |
fox
|
|
|
2ff057 |
xx
|
|
|
2ff057 |
fox
|
|
|
2ff057 |
fox
|
|
|
2ff057 |
],
|
|
|
2ff057 |
[])
|
|
|
2ff057 |
AT_CLEANUP
|
|
|
2ff057 |
# ------------------------------
|
|
|
2ff057 |
# Upgraded verification with min_writes 4 (LINKs)
|
|
|
2ff057 |
AT_SETUP([Upgraded verification with min_writes 4 (LINKs)])
|
|
|
2ff057 |
AT_KEYWORDS([upgrade verify min_writes])
|
|
|
2ff057 |
AT_CHECK([
|
|
|
2ff057 |
RPMDB_CLEAR
|
|
|
2ff057 |
RPMDB_INIT
|
|
|
2ff057 |
tf="${RPMTEST}"/opt/foo
|
|
|
2ff057 |
rm -rf "${tf}" "${tf}".rpm*
|
|
|
2ff057 |
rm -rf "${TOPDIR}"
|
|
|
2ff057 |
|
|
|
2ff057 |
for v in "1.0" "2.0"; do
|
|
|
2ff057 |
runroot rpmbuild --quiet -bb \
|
|
|
2ff057 |
--define "ver $v" \
|
|
|
2ff057 |
--define "filetype link" \
|
|
|
2ff057 |
--define "filedata foo" \
|
|
|
2ff057 |
/data/SPECS/replacetest.spec
|
|
|
2ff057 |
done
|
|
|
2ff057 |
|
|
|
2ff057 |
for v in "3.0" "4.0"; do
|
|
|
2ff057 |
runroot rpmbuild --quiet -bb \
|
|
|
2ff057 |
--define "ver $v" \
|
|
|
2ff057 |
--define "filetype link" \
|
|
|
2ff057 |
--define "filedata fox" \
|
|
|
2ff057 |
/data/SPECS/replacetest.spec
|
|
|
2ff057 |
done
|
|
|
2ff057 |
|
|
|
2ff057 |
runroot rpm -i /build/RPMS/noarch/replacetest-1.0-1.noarch.rpm
|
|
|
2ff057 |
readlink "${tf}"
|
|
|
2ff057 |
|
|
|
2ff057 |
runroot rpm -Uvv --fsmdebug \
|
|
|
2ff057 |
--define "_minimize_writes 1" \
|
|
|
2ff057 |
/build/RPMS/noarch/replacetest-2.0-1.noarch.rpm > output.txt 2>&1
|
|
|
2ff057 |
runroot rpm -Va --nouser --nogroup replacetest
|
|
|
2ff057 |
grep -c "touch" output.txt
|
|
|
2ff057 |
readlink "${tf}"
|
|
|
2ff057 |
|
|
|
2ff057 |
|
|
|
2ff057 |
runroot rpm -Uvv --fsmdebug \
|
|
|
2ff057 |
--define "_minimize_writes 1" \
|
|
|
2ff057 |
/build/RPMS/noarch/replacetest-3.0-1.noarch.rpm > output.txt 2>&1
|
|
|
2ff057 |
runroot rpm -Va --nouser --nogroup replacetest
|
|
|
2ff057 |
grep -c "touch" output.txt
|
|
|
2ff057 |
readlink "${tf}"
|
|
|
2ff057 |
ln -sf "xx" "${tf}"
|
|
|
2ff057 |
readlink "${tf}"
|
|
|
2ff057 |
|
|
|
2ff057 |
runroot rpm -Uvv --fsmdebug \
|
|
|
2ff057 |
--define "_minimize_writes 1" \
|
|
|
2ff057 |
/build/RPMS/noarch/replacetest-4.0-1.noarch.rpm > output.txt 2>&1
|
|
|
2ff057 |
runroot rpm -Va --nouser --nogroup replacetest
|
|
|
2ff057 |
grep -c "touch" output.txt
|
|
|
2ff057 |
readlink "${tf}"
|
|
|
2ff057 |
|
|
|
2ff057 |
runroot rpm -U -Uvv --fsmdebug --oldpackage \
|
|
|
2ff057 |
--define "_minimize_writes 1" \
|
|
|
2ff057 |
/build/RPMS/noarch/replacetest-3.0-1.noarch.rpm > output.txt 2>&1
|
|
|
2ff057 |
runroot rpm -Va --nouser --nogroup replacetest
|
|
|
2ff057 |
grep -c "touch" output.txt
|
|
|
2ff057 |
readlink "${tf}"
|
|
|
2ff057 |
],
|
|
|
2ff057 |
[0],
|
|
|
2ff057 |
[foo
|
|
|
2ff057 |
2
|
|
|
2ff057 |
foo
|
|
|
2ff057 |
1
|
|
|
2ff057 |
fox
|
|
|
2ff057 |
xx
|
|
|
2ff057 |
1
|
|
|
2ff057 |
fox
|
|
|
2ff057 |
2
|
|
|
2ff057 |
fox
|
|
|
2ff057 |
],
|
|
|
2ff057 |
[])
|
|
|
2ff057 |
AT_CLEANUP
|