summaryrefslogtreecommitdiffstats
path: root/tests/t-conffile-rename
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--tests/t-conffile-rename/Makefile34
-rw-r--r--tests/t-conffile-rename/pkg-conff-rename-0/DEBIAN/conffiles1
-rw-r--r--tests/t-conffile-rename/pkg-conff-rename-0/DEBIAN/control8
-rw-r--r--tests/t-conffile-rename/pkg-conff-rename-0/test-conffile-old1
-rw-r--r--tests/t-conffile-rename/pkg-conff-rename-1/DEBIAN/conffiles1
-rw-r--r--tests/t-conffile-rename/pkg-conff-rename-1/DEBIAN/control8
-rwxr-xr-xtests/t-conffile-rename/pkg-conff-rename-1/DEBIAN/postinst4
-rwxr-xr-xtests/t-conffile-rename/pkg-conff-rename-1/DEBIAN/postrm4
-rwxr-xr-xtests/t-conffile-rename/pkg-conff-rename-1/DEBIAN/preinst9
-rw-r--r--tests/t-conffile-rename/pkg-conff-rename-1/test-conffile-new1
10 files changed, 71 insertions, 0 deletions
diff --git a/tests/t-conffile-rename/Makefile b/tests/t-conffile-rename/Makefile
new file mode 100644
index 0000000..a8d0272
--- /dev/null
+++ b/tests/t-conffile-rename/Makefile
@@ -0,0 +1,34 @@
+TESTS_DEB := pkg-conff-rename-0 pkg-conff-rename-1
+
+include ../Test.mk
+
+test-case:
+ $(DPKG_INSTALL) pkg-conff-rename-0.deb
+ $(DPKG_INSTALL) pkg-conff-rename-1.deb
+ test -f '$(DPKG_INSTDIR)/test-conffile-new'
+ test ! -f '$(DPKG_INSTDIR)/test-conffile-old'
+ test ! -f '$(DPKG_INSTDIR)/test-conffile-old.dpkg-remove'
+ test ! -f '$(DPKG_INSTDIR)/test-conffile-old.dpkg-bak'
+ $(DPKG_PURGE) pkg-conff-rename
+ # Same upgrade but with modified conffile, should still not prompt
+ $(DPKG_INSTALL) pkg-conff-rename-0.deb
+ $(BEROOT) sh -c "echo foo >>'$(DPKG_INSTDIR)/test-conffile-old'"
+ $(DPKG_INSTALL) pkg-conff-rename-1.deb
+ test -f '$(DPKG_INSTDIR)/test-conffile-new'
+ test ! -f '$(DPKG_INSTDIR)/test-conffile-old'
+ test ! -f '$(DPKG_INSTDIR)/test-conffile-old.dpkg-remove'
+ test ! -f '$(DPKG_INSTDIR)/test-conffile-old.dpkg-bak'
+ $(DPKG_PURGE) pkg-conff-rename
+ # Abort-upgrade restores the to-be-renamed conffile
+ $(DPKG_INSTALL) pkg-conff-rename-0.deb
+ $(BEROOT) touch '$(DPKG_INSTDIR)/fail-preinst'
+ $(DPKG_INSTALL) pkg-conff-rename-1.deb || true
+ $(BEROOT) rm -f '$(DPKG_INSTDIR)/fail-preinst'
+ test -f '$(DPKG_INSTDIR)/test-conffile-old'
+ test ! -f '$(DPKG_INSTDIR)/test-conffile-new'
+ test ! -f '$(DPKG_INSTDIR)/test-conffile-old.dpkg-remove'
+ test ! -f '$(DPKG_INSTDIR)/test-conffile-old.dpkg-bak'
+ $(DPKG_PURGE) pkg-conff-rename
+
+test-clean:
+
diff --git a/tests/t-conffile-rename/pkg-conff-rename-0/DEBIAN/conffiles b/tests/t-conffile-rename/pkg-conff-rename-0/DEBIAN/conffiles
new file mode 100644
index 0000000..3ba6940
--- /dev/null
+++ b/tests/t-conffile-rename/pkg-conff-rename-0/DEBIAN/conffiles
@@ -0,0 +1 @@
+/test-conffile-old
diff --git a/tests/t-conffile-rename/pkg-conff-rename-0/DEBIAN/control b/tests/t-conffile-rename/pkg-conff-rename-0/DEBIAN/control
new file mode 100644
index 0000000..b38b9b7
--- /dev/null
+++ b/tests/t-conffile-rename/pkg-conff-rename-0/DEBIAN/control
@@ -0,0 +1,8 @@
+Package: pkg-conff-rename
+Version: 0
+Section: test
+Priority: extra
+Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org>
+Architecture: all
+Description: test package - conffile rename
+
diff --git a/tests/t-conffile-rename/pkg-conff-rename-0/test-conffile-old b/tests/t-conffile-rename/pkg-conff-rename-0/test-conffile-old
new file mode 100644
index 0000000..6fbc8b5
--- /dev/null
+++ b/tests/t-conffile-rename/pkg-conff-rename-0/test-conffile-old
@@ -0,0 +1 @@
+test init
diff --git a/tests/t-conffile-rename/pkg-conff-rename-1/DEBIAN/conffiles b/tests/t-conffile-rename/pkg-conff-rename-1/DEBIAN/conffiles
new file mode 100644
index 0000000..e3d713a
--- /dev/null
+++ b/tests/t-conffile-rename/pkg-conff-rename-1/DEBIAN/conffiles
@@ -0,0 +1 @@
+/test-conffile-new
diff --git a/tests/t-conffile-rename/pkg-conff-rename-1/DEBIAN/control b/tests/t-conffile-rename/pkg-conff-rename-1/DEBIAN/control
new file mode 100644
index 0000000..ffd083c
--- /dev/null
+++ b/tests/t-conffile-rename/pkg-conff-rename-1/DEBIAN/control
@@ -0,0 +1,8 @@
+Package: pkg-conff-rename
+Version: 1
+Section: test
+Priority: extra
+Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org>
+Architecture: all
+Description: test package - conffile rename
+
diff --git a/tests/t-conffile-rename/pkg-conff-rename-1/DEBIAN/postinst b/tests/t-conffile-rename/pkg-conff-rename-1/DEBIAN/postinst
new file mode 100755
index 0000000..89c1f0b
--- /dev/null
+++ b/tests/t-conffile-rename/pkg-conff-rename-1/DEBIAN/postinst
@@ -0,0 +1,4 @@
+#!/bin/sh
+if dpkg-maintscript-helper supports mv_conffile; then
+ dpkg-maintscript-helper mv_conffile /test-conffile-old /test-conffile-new 0 -- "$@"
+fi
diff --git a/tests/t-conffile-rename/pkg-conff-rename-1/DEBIAN/postrm b/tests/t-conffile-rename/pkg-conff-rename-1/DEBIAN/postrm
new file mode 100755
index 0000000..89c1f0b
--- /dev/null
+++ b/tests/t-conffile-rename/pkg-conff-rename-1/DEBIAN/postrm
@@ -0,0 +1,4 @@
+#!/bin/sh
+if dpkg-maintscript-helper supports mv_conffile; then
+ dpkg-maintscript-helper mv_conffile /test-conffile-old /test-conffile-new 0 -- "$@"
+fi
diff --git a/tests/t-conffile-rename/pkg-conff-rename-1/DEBIAN/preinst b/tests/t-conffile-rename/pkg-conff-rename-1/DEBIAN/preinst
new file mode 100755
index 0000000..775093f
--- /dev/null
+++ b/tests/t-conffile-rename/pkg-conff-rename-1/DEBIAN/preinst
@@ -0,0 +1,9 @@
+#!/bin/sh
+if dpkg-maintscript-helper supports mv_conffile; then
+ dpkg-maintscript-helper mv_conffile /test-conffile-old /test-conffile-new 0 -- "$@"
+fi
+
+if [ -e "$DPKG_ROOT/fail-preinst" ]; then
+ exit 1
+fi
+
diff --git a/tests/t-conffile-rename/pkg-conff-rename-1/test-conffile-new b/tests/t-conffile-rename/pkg-conff-rename-1/test-conffile-new
new file mode 100644
index 0000000..39c0014
--- /dev/null
+++ b/tests/t-conffile-rename/pkg-conff-rename-1/test-conffile-new
@@ -0,0 +1 @@
+this is the new conffile