[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#489191: Detect embedded copies of Javascript libraries



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


Reply to: