[SCM] Debian package checker branch, master, updated. 2.2.13-50-gbd5784d
The following commit has been merged in the master branch:
commit 633597a85d9bfa9f97b7e12068cad6621d79fbd4
Author: Russ Allbery <rra@debian.org>
Date: Sat Aug 15 18:37:47 2009 -0700
Warn about files in /etc/ld.so.conf.d
* checks/files:
+ [RA] Warn about packages containing files in /etc/ld.so.conf.d that
don't appear to be part of libc. Policy 3.8.3 no longer permits
modification of ld.so.conf.
diff --git a/checks/files b/checks/files
index 2067923..9a84327 100644
--- a/checks/files
+++ b/checks/files
@@ -249,6 +249,10 @@ foreach my $file (sort keys %{$info->index}) {
tag "non-standard-file-permissions-for-etc-init.d-script",
sprintf("$file %04o != 0755",$operm);
}
+ #----------------- /etc/ld.so.conf.d
+ elsif ($file =~ m,^etc/ld\.so\.conf\.d/(.+)$, and $pkg !~ /^libc/) {
+ tag 'package-modifies-ld.so-search-path', "$file";
+ }
#----------------- /etc/modprobe.d
elsif ($file =~ m,^etc/modprobe\.d/(.+)$, and $1 !~ m,\.conf$, and $index_info->{type} !~ m/^d/) {
tag "non-conf-file-in-modprobe.d", $file;
diff --git a/checks/files.desc b/checks/files.desc
index 7646f53..9b55796 100644
--- a/checks/files.desc
+++ b/checks/files.desc
@@ -1042,3 +1042,19 @@ Info: This package contains a file named <tt>dir</tt> or <tt>dir.old</tt>,
build systems create it automatically, but it must not be included in a
package since it needs to be generated dynamically based on the installed
info files on the system.
+
+Tag: package-modifies-ld.so-search-path
+Severity: important
+Certainty: possible
+Ref: policy 10.2
+Info: This package installs a file in <tt>/etc/ld.so.conf.d</tt>,
+ presumably to modify the search path of the run-time linker, and does not
+ appear to be part of libc.
+ .
+ Packages containing shared libraries should either install them into
+ <tt>/usr/lib</tt> or should require binaries built against them to set
+ RPATH to find the library at run-time. Installing libraries in a
+ different directory and modifying the run-time linker path is equivalent
+ to installing them into <tt>/usr/lib</tt> except now conflicting library
+ packages may cause random segfaults and difficult-to-debug problems
+ instead of conflicts in the package manager.
diff --git a/debian/changelog b/debian/changelog
index 1d9fca9..d64c6a6 100755
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,7 @@ lintian (2.2.14) UNRELEASED; urgency=low
- debhelper-overrides-need-versioned-build-depends
- multiple-distributions-in-changes-file
- patch-system-but-no-source-readme
+ - package-modifies-ld.so-search-path
- possible-documentation-but-no-doc-base-registration
* checks/changelog-file.desc:
@@ -30,6 +31,9 @@ lintian (2.2.14) UNRELEASED; urgency=low
* checks/files:
+ [CW] /var/lock and /var/run are not temporary filesystems in d-i, so
don't emit errors about their use in udebs.
+ + [RA] Warn about packages containing files in /etc/ld.so.conf.d that
+ don't appear to be part of libc. Policy 3.8.3 no longer permits
+ modification of ld.so.conf.
* checks/infofiles.desc:
+ [RA] Add missing leading * to example info directory entry.
* checks/lintian.desc:
diff --git a/t/tests/files-general/debian/debian/install b/t/tests/files-general/debian/debian/install
index 18bf731..149e873 100644
--- a/t/tests/files-general/debian/debian/install
+++ b/t/tests/files-general/debian/debian/install
@@ -4,3 +4,4 @@ lintian-22x22.png usr/share/apps/lintian/icons/hicolor/22x22
lintian.conf etc/modprobe.d
dir usr/share/info
foo.vcproj usr/lib/foo
+lintian-lib.conf etc/ld.so.conf.d
diff --git a/t/tests/files-general/debian/lintian-lib.conf b/t/tests/files-general/debian/lintian-lib.conf
new file mode 100644
index 0000000..e2b41a8
--- /dev/null
+++ b/t/tests/files-general/debian/lintian-lib.conf
@@ -0,0 +1 @@
+/usr/lib/lintian
diff --git a/t/tests/files-general/desc b/t/tests/files-general/desc
index 64e1cfc..5a57765 100644
--- a/t/tests/files-general/desc
+++ b/t/tests/files-general/desc
@@ -10,5 +10,6 @@ Test-For:
non-conf-file-in-modprobe.d
package-contains-empty-directory
package-contains-info-dir-file
+ package-modifies-ld.so-search-path
stray-directory-in-manpage-directory
windows-devel-file-in-package
diff --git a/t/tests/files-general/tags b/t/tests/files-general/tags
index 431de07..5ccd78b 100644
--- a/t/tests/files-general/tags
+++ b/t/tests/files-general/tags
@@ -3,6 +3,7 @@ E: files-general: dir-or-file-in-var-run var/run/lintian/
E: files-general: executable-manpage usr/share/man/man5/foo.5.gz
E: files-general: non-conf-file-in-modprobe.d etc/modprobe.d/--lzma
E: files-general: package-contains-info-dir-file usr/share/info/dir.gz
+E: files-general: package-modifies-ld.so-search-path etc/ld.so.conf.d/lintian-lib.conf
E: files-general: stray-directory-in-manpage-directory usr/share/man/man1/random/
I: files-general: package-contains-empty-directory usr/share/man/man1/random/
W: files-general: executable-not-elf-or-script ./usr/share/man/man5/foo.5.gz
--
Debian package checker
Reply to: