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