X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=tests%2Frpmconfig.at;h=91c03ba571bc564d8825168ad4e74ea0e81aa592;hb=9cf156d6583a9f9581000bb12ff047980ebcef03;hp=cbf4868efde0863310e5a134a18f52953a282e85;hpb=53b14ecfea90116ce4fc1182cc645f77c4f49527;p=platform%2Fupstream%2Frpm.git diff --git a/tests/rpmconfig.at b/tests/rpmconfig.at index cbf4868..91c03ba 100644 --- a/tests/rpmconfig.at +++ b/tests/rpmconfig.at @@ -2,98 +2,844 @@ AT_BANNER([RPM config file behavior]) +# Install over existing config file +AT_SETUP([install config on existiting file]) +AT_KEYWORDS([install]) +AT_CHECK([ +RPMDB_CLEAR +RPMDB_INIT +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 "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm +cat "${cf}" +runroot rpm -e configtest +cat "${cf}.rpmorig" +], +[0], +[foo +otherstuff +], +[warning: /etc/my.conf saved as /etc/my.conf.rpmorig] +) +AT_CLEANUP + +# Install over existing config file +AT_SETUP([install config(noreplace) on existiting file]) +AT_KEYWORDS([install]) +AT_CHECK([ +RPMDB_CLEAR +RPMDB_INIT +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 "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm +cat "${cf}" +runroot rpm -e configtest +cat "${cf}.rpmorig" +], +[0], +[foo +otherstuff +], +[warning: /etc/my.conf saved as /etc/my.conf.rpmorig] +) +AT_CLEANUP + +# Install over existing identical config file, no backup needed +AT_SETUP([install config on existiting identical file]) +AT_KEYWORDS([install]) +AT_CHECK([ +RPMDB_CLEAR +RPMDB_INIT +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 "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm +cat "${cf}" +runroot rpm -e configtest +test ! -f "${cf}" +], +[0], +[foo +], +[]) +AT_CLEANUP + +# Erase unmodified config file, no backup here +AT_SETUP([erase unchanged config]) +AT_KEYWORDS([install]) +AT_CHECK([ +RPMDB_CLEAR +RPMDB_INIT +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 "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm +cat "${cf}" +runroot rpm -e configtest +test ! -f "${cf}" +], +[0], +[foo +], +[]) +AT_CLEANUP + +# Erase modified config file +AT_SETUP([erase changed config]) +AT_KEYWORDS([install]) +AT_CHECK([ +RPMDB_CLEAR +RPMDB_INIT +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 "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm +cat "${cf}" +echo "otherstuff" > "${cf}" +runroot rpm -e configtest +cat "${cf}.rpmsave" +test ! -f "${cf}" +], +[0], +[foo +otherstuff +], +[warning: /etc/my.conf saved as /etc/my.conf.rpmsave] +) +AT_CLEANUP + +# Erase modified config(noreplace) file +AT_SETUP([erase changed config(noreplace)]) +AT_KEYWORDS([install]) +AT_CHECK([ +RPMDB_CLEAR +RPMDB_INIT +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 "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm +cat "${cf}" +echo "otherstuff" > "${cf}" +runroot rpm -e configtest +cat "${cf}.rpmsave" +test ! -f "${cf}" +], +[0], +[foo +otherstuff +], +[warning: /etc/my.conf saved as /etc/my.conf.rpmsave] +) +AT_CLEANUP + # ------------------------------ # (Build and) upgrade package with config file, no backup here -AT_SETUP([rpm -U to package with unchanged config file]) +AT_SETUP([upgrade unchanged config]) AT_KEYWORDS([install]) AT_CHECK([ RPMDB_CLEAR +RPMDB_INIT +cf="${RPMTEST}"/etc/my.conf +rm -rf "${cf}" "${cf}".rpm* rm -rf "${TOPDIR}" -rm -rf "${RPMTEST}/etc/my.conf" for v in "1.0" "2.0"; do - run rpmbuild --quiet -bb \ + runroot rpmbuild --quiet -bb \ --define "ver $v" \ --define "filedata foo" \ - ${RPMDATA}/SPECS/configtest.spec + /data/SPECS/configtest.spec done runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm +cat "${cf}" runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm +cat "${cf}" ], [0], -) +[foo +foo +], +[]) AT_CLEANUP # # ------------------------------ # Upgrade package with locally modified config file, unchanged in pkg -AT_SETUP([rpm -U to package with locally modified config file]) +AT_SETUP([upgrade modified config]) AT_KEYWORDS([install]) AT_CHECK([ RPMDB_CLEAR +RPMDB_INIT +cf="${RPMTEST}"/etc/my.conf +rm -rf "${cf}" "${cf}".rpm* rm -rf "${TOPDIR}" -rm -rf "${RPMTEST}/etc/my.conf" for v in "1.0" "2.0"; do - run rpmbuild --quiet -bb \ + runroot rpmbuild --quiet -bb \ --define "ver $v" \ --define "filedata foo" \ - ${RPMDATA}/SPECS/configtest.spec + /data/SPECS/configtest.spec +done + +runroot rpm -U "${TOPDIR}"/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 +cat "${cf}" +], +[0], +[foo +otherstuff +otherstuff +], +[]) +AT_CLEANUP + +# ------------------------------ +# Upgrade package with unmodified config file, changed in pkg +AT_SETUP([upgrade changing config]) +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-$v" \ + /data/SPECS/configtest.spec +done + +runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm +cat "${cf}" +runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm +cat "${cf}" +], +[0], +[foo-1.0 +foo-2.0 +], +[]) +AT_CLEANUP + +# ------------------------------ +# Upgrade package with locally modified config file, changed in pkg +AT_SETUP([upgrade changing, modified config 1]) +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-$v" \ + /data/SPECS/configtest.spec done runroot rpm -U "${TOPDIR}"/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 +cat "${cf}" +cat "${cf}.rpmsave" ], [0], +[foo-1.0 +otherstuff +foo-2.0 +otherstuff +], +[warning: /etc/my.conf saved as /etc/my.conf.rpmsave] ) AT_CLEANUP # ------------------------------ +# Modified config file matches the content from new package. +AT_SETUP([upgrade changing, modified config 2]) +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-$v" \ + /data/SPECS/configtest.spec +done + +runroot rpm -U "${TOPDIR}"/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 +cat "${cf}" +], +[0], +[foo-1.0 +foo-2.0 +foo-2.0 +], +[]) +AT_CLEANUP + +# config(noreplace) variants of the same cases. +# +# ------------------------------ +# (Build and) upgrade package with config file, no backup here +AT_SETUP([upgrade unchanged config(noreplace)]) +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 "noreplace 1" \ + /data/SPECS/configtest.spec +done + +runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm +cat "${cf}" +runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm +cat "${cf}" +], +[0], +[foo +foo +], +[]) +AT_CLEANUP + +# +# ------------------------------ +# Upgrade package with locally modified config file, unchanged in pkg +AT_SETUP([upgrade modified config(noreplace)]) +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 "noreplace 1" \ + /data/SPECS/configtest.spec +done + +runroot rpm -U "${TOPDIR}"/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 +cat "${cf}" +], +[0], +[foo +otherstuff +otherstuff +], +[]) +AT_CLEANUP + +# ------------------------------ # Upgrade package with unmodified config file, changed in pkg -AT_SETUP([rpm -U to package with unchanged config file]) +AT_SETUP([upgrade changing config(noreplace)]) AT_KEYWORDS([install]) AT_CHECK([ RPMDB_CLEAR +RPMDB_INIT +cf="${RPMTEST}"/etc/my.conf +rm -rf "${cf}" "${cf}".rpm* rm -rf "${TOPDIR}" -rm -rf "${RPMTEST}/etc/my.conf" for v in "1.0" "2.0"; do - run rpmbuild --quiet -bb \ + runroot rpmbuild --quiet -bb \ --define "ver $v" \ --define "filedata foo-$v" \ - ${RPMDATA}/SPECS/configtest.spec + --define "noreplace 1" \ + /data/SPECS/configtest.spec done runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm +cat "${cf}" runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm +cat "${cf}" ], [0], -) +[foo-1.0 +foo-2.0 +], +[]) AT_CLEANUP # ------------------------------ # Upgrade package with locally modified config file, changed in pkg -AT_SETUP([rpm -U to package with modified config file]) +AT_SETUP([upgrade changing, modified config(noreplace) 1]) AT_KEYWORDS([install]) AT_CHECK([ RPMDB_CLEAR +RPMDB_INIT +cf="${RPMTEST}"/etc/my.conf +rm -rf "${cf}" "${cf}".rpm* rm -rf "${TOPDIR}" -rm -rf "${RPMTEST}/etc/my.conf" for v in "1.0" "2.0"; do - run rpmbuild --quiet -bb \ + runroot rpmbuild --quiet -bb \ --define "ver $v" \ --define "filedata foo-$v" \ - ${RPMDATA}/SPECS/configtest.spec + --define "noreplace 1" \ + /data/SPECS/configtest.spec done runroot rpm -U "${TOPDIR}"/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 +cat "${cf}" +cat "${cf}.rpmnew" +], +[0], +[foo-1.0 +otherstuff +otherstuff +foo-2.0 +], +[warning: /etc/my.conf created as /etc/my.conf.rpmnew] +) +AT_CLEANUP + +# ------------------------------ +# Modified config file matches the content from new package. +AT_SETUP([upgrade changing, modified config(noreplace) 2]) +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-$v" \ + --define "noreplace 1" \ + /data/SPECS/configtest.spec +done + +runroot rpm -U "${TOPDIR}"/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 +cat "${cf}" +], +[0], +[foo-1.0 +foo-2.0 +foo-2.0 +], +[]) +AT_CLEANUP + +# Shared config file variants of the same cases +# ------------------------------ +# (Build and) upgrade package with config file, no backup here +AT_SETUP([upgrade unchanged shared config]) +AT_KEYWORDS([install]) +AT_CHECK([ +RPMDB_CLEAR +RPMDB_INIT +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 \ + "${TOPDIR}"/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \ + "${TOPDIR}"/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 +cat "${cf}" +], +[0], +[foo +foo +], +[]) + +AT_CLEANUP +# +# ------------------------------ +# Upgrade package with locally modified config file, unchanged in pkg +AT_SETUP([upgrade modified shared config]) +AT_KEYWORDS([install]) +AT_CHECK([ +RPMDB_CLEAR +RPMDB_INIT +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 \ + "${TOPDIR}"/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \ + "${TOPDIR}"/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 +cat "${cf}" +], +[0], +[foo +otherstuff +otherstuff +], +[]) +AT_CLEANUP + +# ------------------------------ +# Upgrade package with unmodified config file, changed in pkg +AT_SETUP([upgrade changing shared config]) +AT_KEYWORDS([install]) +AT_CHECK([ +RPMDB_CLEAR +RPMDB_INIT +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 \ + "${TOPDIR}"/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \ + "${TOPDIR}"/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 +cat "${cf}" +], +[0], +[foo-1.0 +foo-2.0 +], +[]) +AT_CLEANUP + +# ------------------------------ +# Upgrade package with locally modified config file, changed in pkg +AT_SETUP([upgrade changing, modified shared config 1]) +AT_KEYWORDS([install]) +AT_CHECK([ +RPMDB_CLEAR +RPMDB_INIT +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 \ + "${TOPDIR}"/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \ + "${TOPDIR}"/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 +cat "${cf}" +cat "${cf}.rpmsave" ], [0], -[ignore], +[foo-1.0 +otherstuff +foo-2.0 +otherstuff +], [warning: /etc/my.conf saved as /etc/my.conf.rpmsave] ) AT_CLEANUP + +# ------------------------------ +# Modified config file matches the content from new package. +AT_SETUP([upgrade changing, modified shared config 2]) +AT_KEYWORDS([install]) +AT_CHECK([ +RPMDB_CLEAR +RPMDB_INIT +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 \ + "${TOPDIR}"/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \ + "${TOPDIR}"/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 +cat "${cf}" +], +[0], +[foo-1.0 +foo-2.0 +foo-2.0 +], +[]) +AT_CLEANUP + +# Shared config(noreplace) variants of the more interesting cases +# ------------------------------ +# Upgrade package with locally modified config file, changed in pkg. +AT_SETUP([upgrade changing, modified shared config(noreplace) 1]) +AT_KEYWORDS([install]) +AT_CHECK([ +RPMDB_CLEAR +RPMDB_INIT +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 \ + "${TOPDIR}"/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \ + "${TOPDIR}"/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 +cat "${cf}" +cat "${cf}.rpmnew" +], +[0], +[foo-1.0 +otherstuff +otherstuff +foo-2.0 +], +[warning: /etc/my.conf created as /etc/my.conf.rpmnew] +) +AT_CLEANUP + +# ------------------------------ +# Modified config file matches the content from new package. +AT_SETUP([upgrade changing, modified shared config(noreplace) 2]) +AT_KEYWORDS([install]) +AT_CHECK([ +RPMDB_CLEAR +RPMDB_INIT +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 \ + "${TOPDIR}"/RPMS/noarch/configtest-A-1.0-1.noarch.rpm \ + "${TOPDIR}"/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 +cat "${cf}" +], +[0], +[foo-1.0 +foo-2.0 +foo-2.0 +], +[]) +AT_CLEANUP + +--------- +# Test pre-existing and post-install config ghost survival and erasure +AT_SETUP([install/upgrade/erase ghost config]) +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 "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 "${TOPDIR}"/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 +test ! -f "${cf}" && echo OK2 +echo "buster" > "${cf}" +cat "${cf}" +runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm +cat "${cf}" +runroot rpm -e configtest +cat "${cf}" +], +[], +[OK1 +keaton +keaton +keaton +OK2 +buster +buster +buster +], +[]) +AT_CLEANUP