Package: lintian
Version: 1.24.1
Severity: wishlist
Tags: patch
Lintian should detect when a package installs an embedded copy of various
Javascript libraries now packaged in Debian. This violates policy §4.13.
Patch (with testcases) attached.
Regards,
--
Chris Lamb, UK chris@chris-lamb.co.uk
GPG: 0x634F9A20
Index: checks/files
===================================================================
--- checks/files (revision 1404)
+++ checks/files (working copy)
@@ -645,6 +645,11 @@
tag "macos-resource-fork-file-in-package", "$file";
}
+ # ---------------- embedded javascript libraries
+ if ($file =~ m,/(mochikit|jquery(.min|.lite|.pack)?|prototype(-[\d\.]+)?|scriptaculous).js(.gz)?$,i) {
+ tag "embedded-javascript-library", "$file";
+ }
+
# ---------------- general: setuid/setgid files!
if ($perm =~ m/s/) {
my ($setuid, $setgid) = ("","");
Index: checks/files.desc
===================================================================
--- checks/files.desc (revision 1404)
+++ checks/files.desc (working copy)
@@ -758,3 +758,11 @@
of the allowed, globally allocated IDs consists of the ranges 0-99,
64000-64999 and 65534.
Ref: policy 9.2
+
+Tag: embedded-javascript-library
+Type: warning
+Info: This package contains an embedded copy of the JQuery, Prototype,
+ Mochikit or "Cropper" JavaScript libraries that are now available in their
+ own packages. Please depend on the appropriate package and symlink the
+ library into the appropriate location.
+Ref: policy 4.13
Index: testset/tags.filenames
===================================================================
--- testset/tags.filenames (revision 1404)
+++ testset/tags.filenames (working copy)
@@ -60,6 +60,15 @@
W: filenames: binary-without-manpage usr/bin/mh/read
W: filenames: debian-news-file-not-compressed usr/share/doc/filenames/NEWS.Debian
W: filenames: desktop-file-in-wrong-dir usr/share/gnome/apps/System/foo.desktop
+W: filenames: embedded-javascript-library usr/share/filenames/jquery.js
+W: filenames: embedded-javascript-library usr/share/filenames/jquery.lite.js
+W: filenames: embedded-javascript-library usr/share/filenames/jquery.min.js
+W: filenames: embedded-javascript-library usr/share/filenames/jquery.pack.js
+W: filenames: embedded-javascript-library usr/share/filenames/mochikit.js
+W: filenames: embedded-javascript-library usr/share/filenames/prototype-1.2.3.4.js
+W: filenames: embedded-javascript-library usr/share/filenames/prototype.js
+W: filenames: embedded-javascript-library usr/share/filenames/prototype.js.gz
+W: filenames: embedded-javascript-library usr/share/filenames/scriptaculous.js
W: filenames: executable-not-elf-or-script ./usr/bin/bin/bad
W: filenames: executable-not-elf-or-script ./usr/bin/mh/read
W: filenames: extra-license-file usr/share/pixmaps/COPYING
Index: testset/filenames/debian/rules
===================================================================
--- testset/filenames/debian/rules (revision 1404)
+++ testset/filenames/debian/rules (working copy)
@@ -155,6 +155,17 @@
install -d debian/tmp/usr/share/gnome/apps/System
touch debian/tmp/usr/share/gnome/apps/System/foo.desktop
+ install -d debian/tmp/usr/share/filenames
+ touch debian/tmp/usr/share/filenames/jquery.js
+ touch debian/tmp/usr/share/filenames/jquery.lite.js
+ touch debian/tmp/usr/share/filenames/jquery.min.js
+ touch debian/tmp/usr/share/filenames/jquery.pack.js
+ touch debian/tmp/usr/share/filenames/mochikit.js
+ touch debian/tmp/usr/share/filenames/prototype-1.2.3.4.js
+ touch debian/tmp/usr/share/filenames/prototype.js
+ touch debian/tmp/usr/share/filenames/prototype.js.gz
+ touch debian/tmp/usr/share/filenames/scriptaculous.js
+
ln -s '../filenames/doc/version6.txt.gz' debian/tmp/usr/share/doc/filenames/version.txt.gz
ln -s ../../share/symlink debian/tmp/usr/lib/filenames/symlink1ok
ln -s ../../../etc/symlink debian/tmp/usr/lib/filenames/symlink1wrong
Attachment:
signature.asc
Description: PGP signature