[Piuparts-commits] [SCM] piuparts git repository branch, piatti, updated. 0.47-17-ga7f2df4
Andreas Beckmann
debian at abeckmann.de
Sat Nov 3 00:08:43 UTC 2012
The following commit has been merged in the piatti branch:
commit a7f2df45e0850a8b71c66eddf528b7770c67bb1a
Author: Andreas Beckmann <debian at abeckmann.de>
Date: Fri Nov 2 21:19:10 2012 +0100
new known problem: installs_over_symlink
installing something in a directory that is a symlink in an already
installed package is the start of many nasty issues ...
(note: piuparts covers only the cases where such behavior is
unavoidable due to dependencies, if you install more than just a
minimal set of packages, the errors will probably multiply)
Signed-off-by: Andreas Beckmann <debian at abeckmann.de>
diff --git a/debian/changelog b/debian/changelog
index 2c7b150..145db6d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -17,6 +17,7 @@ piuparts (0.48) UNRELEASED; urgency=low
* piuparts-report.py:
* detect_piuparts_issues: Catch the chroot running out of space.
* New bug template: copyright_file_missing_after_upgrade.
+ * New known problem: Installing something over existing symlinks.
-- Andreas Beckmann <debian at abeckmann.de> Sat, 29 Sep 2012 14:42:10 +0200
diff --git a/known_problems/installs_over_symlink_error.conf b/known_problems/installs_over_symlink_error.conf
new file mode 100644
index 0000000..2f0a62d
--- /dev/null
+++ b/known_problems/installs_over_symlink_error.conf
@@ -0,0 +1,15 @@
+#
+# detect packages which have the string "dirname part contains a symlink" in their logs
+#
+COMMAND='grep "dirname part contains a symlink"'
+WHERE='fail bugged affected'
+ISSUE=0
+HEADER='Packages that install something over existing symlinks'
+HELPTEXT='
+<p>Installing anything over a symlink opens a can of worms -
+ this causes problems on upgrades while switching between directory and symlink
+ or if the symlink is ever changed.<br />
+Piuparts looks at all $pathname known to dpkg and checks for
+<pre>$(dirname $pathname) != $(readlink $(dirname $pathname))</pre>
+</p>
+'
diff --git a/known_problems/installs_over_symlink_issue.conf b/known_problems/installs_over_symlink_issue.conf
new file mode 100644
index 0000000..b080fac
--- /dev/null
+++ b/known_problems/installs_over_symlink_issue.conf
@@ -0,0 +1,15 @@
+#
+# detect packages which have the string "dirname part contains a symlink" in their logs
+#
+COMMAND='grep "dirname part contains a symlink"'
+WHERE='pass'
+ISSUE=1
+HEADER='Packages that install something over existing symlinks'
+HELPTEXT='
+<p>Installing anything over a symlink opens a can of worms -
+ this causes problems on upgrades while switching between directory and symlink
+ or if the symlink is ever changed.<br />
+Piuparts looks at all $pathname known to dpkg and checks for
+<pre>$(dirname $pathname) != $(readlink $(dirname $pathname))</pre>
+</p>
+'
diff --git a/piuparts-report.py b/piuparts-report.py
index f05ad85..e11d954 100644
--- a/piuparts-report.py
+++ b/piuparts-report.py
@@ -346,6 +346,7 @@ linktarget_by_template = [
("owned_files_after_purge_issue.tpl", "but logfile contains owned files existing after purge"),
("unowned_files_after_purge_issue.tpl", "but logfile contains unowned files after purge"),
("maintainer_script_issue.tpl", "but logfile contains maintainer script failures"),
+ ("installs_over_symlink_issue.tpl", "but package installs something over existing symlinks"),
("broken_symlinks_issue.tpl", "but logfile contains 'broken symlinks'"),
("packages_have_been_kept_back_issue.tpl", "but logfile contains 'packages have been kept back'"),
@@ -376,6 +377,7 @@ linktarget_by_template = [
("unknown_purge_error.tpl", "due to purge failed due to an unknown reason"),
("cron_error_after_removal_error.tpl", "due to errors from cronjob after removal"),
("logrotate_error_after_removal_error.tpl", "due to errors from logrotate after removal"),
+ ("installs_over_symlink_error.tpl", "...and package installs something over existing symlinks"),
("broken_symlinks_error.tpl", "...and logfile also contains 'broken symlinks'"),
("unknown_failures.tpl", "due to unclassified failures"),
]
--
piuparts git repository
More information about the Piuparts-commits
mailing list