Bug#468927: lintian: Should not rely on dpkg-source's output ...
Package: lintian Version: 1.23.45 Severity: important The dpkg team is heavily refactoring dpkg-source and while using the new version on my system, I discovered that it broke lintian because the output messages got changed (and also -q will quiet all messages, not only warnings). The problem is the following: internal error: dpkg-source didn't report unpack directory internal error: could not unpack package to desired level: No such file or directory The bug is in /usr/share/lintian/unpack/unpack-srcpkg-l2: | my $IN = FileHandle-new; | pipeline_open($IN, sub { | my $ret=exec 'dpkg-source', '-q', '-x', 'dsc'; | $ret; | }) or fail(cannot run dpkg-source: $!); | | while ($IN) { | chop; | $unpack_dir = $1 | if (/^dpkg-source: extracting [^\s]+ in (\S+)/); | } | close($IN) or fail(error occured during execution of dpkg-source in $base_dir: $!); | $unpack_dir or fail(dpkg-source didn't report unpack directory); I really suggest you to add a supplementary parameter to the dpkg-source invocation to explicitely specify the directory name where you want to unpack it. dpkg-source -q -x dsc unpacked Note however that dpkg-source will exit if 'unpacked' exists. Thus you should probably remove it before calling dpkg-source (if it exists that is). Hopefully you can fix that in the next upload so that once the new dpkg-source hits unstable people already have a fixed lintian. :) Cheers, -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental') Architecture: i386 (i686) Kernel: Linux 2.6.24-1-686 (SMP w/1 CPU core) Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages lintian depends on: ii binutils2.18.1~cvs20080103-1 The GNU assembler, linker and bina ii diffstat1.45-2 produces graph of changes introduc ii dpkg-dev1.14.17 package building tools for Debian ii file4.23-2 Determines file type using magic ii gettext 0.17-2 GNU Internationalization utilities ii intltool-debian 0.35.0+20060710.1Help i18n of RFC822 compliant conf ii libparse-debianchan 1.1.1-2 parse Debian changelogs and output ii liburi-perl 1.35.dfsg.1-1Manipulates and accesses URI strin ii man-db 2.5.1-2 on-line manual pager ii perl [libdigest-md5 5.8.8-12 Larry Wall's Practical Extraction lintian recommends no packages. -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#468927: lintian: Should not rely on dpkg-source's output
Note that /usr/share/lintian/checks/cruft relies on unpacked being a symlink so you'll have to take care of that too... Because I just did the suggested change and got this: Use of uninitialized value in string at /usr/share/lintian/checks/cruft line 131. Can't stat : Aucun fichier ou répertoire de ce type at /usr/share/lintian/checks/cruft line 131 Cheers, -- Raphaël Hertzog Le best-seller français mis à jour pour Debian Etch : http://www.ouaza.com/livre/admin-debian/
Bug#469018: lintian: Please check for a doc-base registration file
Package: lintian Version: 1.23.45 Severity: normal Hi lintian maintainers, I just want to suggest doc-base registration when there are html/pdf files shipped under /usr/share/doc. Cheers, -- Runa Sandvik homepage: http://www.indentedlines.net -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: i386 (i686) Kernel: Linux 2.6.24-1-686 (SMP w/1 CPU core) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages lintian depends on: ii binutils2.18.1~cvs20080103-1 The GNU assembler, linker and bina ii diffstat1.45-2 produces graph of changes introduc ii dpkg-dev1.14.16.6package building tools for Debian ii file4.23-2 Determines file type using magic ii gettext 0.17-2 GNU Internationalization utilities ii intltool-debian 0.35.0+20060710.1Help i18n of RFC822 compliant conf ii libparse-debianchan 1.1.1-2 parse Debian changelogs and output ii liburi-perl 1.35.dfsg.1-1Manipulates and accesses URI strin ii man-db 2.5.1-2 on-line manual pager ii perl [libdigest-md5 5.8.8-12 Larry Wall's Practical Extraction lintian recommends no packages. -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#469024: lintian: Check for make -i for ignores-make-clean-error
Package: lintian Version: 1.23.45 Severity: normal Tags: patch Hi, there's another way to ignore the exit code of a failed make. You can call make with -i to make it ignores errors: ,[ man make ]--- |-i, --ignore-errors | Ignore all errors in commands executed to remake files. ` Bye, Jörg. -- System Information: Debian Release: unstable/experimental APT prefers unstable APT policy: (900, 'unstable'), (700, 'experimental') Architecture: powerpc (ppc) Kernel: Linux 2.6.25-rc3 Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages lintian depends on: ii binutils2.18.1~cvs20080103-1 The GNU assembler, linker and bina ii diffstat1.45-2 produces graph of changes introduc ii dpkg-dev1.14.16.6package building tools for Debian ii file4.23-2 Determines file type using magic ii gettext 0.17-2 GNU Internationalization utilities ii intltool-debian 0.35.0+20060710.1Help i18n of RFC822 compliant conf ii libparse-debianchan 1.1.1-2 parse Debian changelogs and output ii liburi-perl 1.35.dfsg.1-1Manipulates and accesses URI strin ii man-db 2.5.1-2 on-line manual pager ii perl [libdigest-md5 5.8.8-12 Larry Wall's Practical Extraction lintian recommends no packages. -- no debconf information --- /usr/share/lintian/checks/rules 2007-12-04 03:54:18.0 +0100 +++ rules 2008-03-02 18:12:33.0 +0100 @@ -98,7 +98,8 @@ if (/\$[\(\{]PWD[\)\}]/) { tag debian-rules-uses-pwd, line $.; } -if (/^\t\s*-(?:\$[\(\{]MAKE[\}\)]|make)\s.*(?:dist)?clean/) { +if (/^\t\s*-(?:\$[\(\{]MAKE[\}\)]|make)\s.*(?:dist)?clean/ || + /^\t\s*(?:\$[\(\{]MAKE[\}\)]|make)\s(?:.*\s)-[:alpha:]*i.*(?:dist)?clean/) { tag debian-rules-ignores-make-clean-error, line $.; } --- /usr/share/lintian/checks/rules.desc 2008-01-22 06:12:38.0 +0100 +++ rules.desc 2008-03-02 18:10:19.0 +0100 @@ -51,11 +51,13 @@ package's clean or distclean target with a line like: . -$(MAKE) distclean + or + $(MAKE) -i distclean . - The leading - tells make to ignore all errors. Normally this is done - for packages using Autoconf since Makefile may not exist. However, this - line ignores all other error messages, not just the missing Makefile - error. It's better to use: + The leading - or the option -i tells make to ignore all errors. + Normally this is done for packages using Autoconf since Makefile may not + exist. However, this line ignores all other error messages, not just + the missing Makefile error. It's better to use: . [ ! -f Makefile ] || $(MAKE) distclean . signature.asc Description: Digital signature http://en.wikipedia.org/wiki/OpenPGP
Bug#381485: Let's fix this
Lars Wirzenius wrote: On su, 2008-03-02 at 19:33 +0100, Amaya wrote: Hey There, As an effort to try to finish the invoke-rc.d transition for lenny, I feel I must prod you guys here. Any improvements so far? Lars, could you maybe look into providing a patch? Unfortunately, I'm able to provide patch perl code at the time being. This does not parse. If you are unable to provide a patch atm, is it because of perl? Thanks! -- ·''`.Moi je voudrais bien, un beau matin, qu'il y ait : :' : une fleur dans mon jardin `. `' -- Manu Chao `- Proudly running (unstable) Debian GNU/Linux
Bug#381485: Let's fix this
On su, 2008-03-02 at 19:33 +0100, Amaya wrote: Hey There, As an effort to try to finish the invoke-rc.d transition for lenny, I feel I must prod you guys here. Any improvements so far? Lars, could you maybe look into providing a patch? Unfortunately, I'm able to provide patch perl code at the time being. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#381485: Let's fix this
On su, 2008-03-02 at 19:59 +0100, Amaya wrote: Unfortunately, I'm able to provide patch perl code at the time being. This does not parse. If you are unable to provide a patch atm, is it because of perl? I don't know Perl and so I'm unable to write a patch that will add a lintian warning to check for this problem. I am, possibly, in the process of learning Perl, but it's going to take a long time. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#381485: lintian check for direct init script invocation (was: Bug#438885: Not blocking anymore)
Amaya [EMAIL PROTECTED] writes: Important: lintian: Also check for not using invoke-rc.d in other scripts. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=381485 I don't have a tremendous amount of free time to work on Debian right now and what time I do have for lintian I'm putting into merging patches. I'd welcome a patch implementing this feature (ideally with some test cases as well). -- Russ Allbery ([EMAIL PROTECTED]) http://www.eyrie.org/~eagle/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: [checks/scripts] checkbashsims update
Adam D. Barratt [EMAIL PROTECTED] writes: Predictably, I then spotted another potential hiccup in the /file test. I've simplified it in svn which made the initial error a little more obvious. Please find attached a (hopefully for the final time) revised patch. Thanks, applying in Subversion now. -- Russ Allbery ([EMAIL PROTECTED]) http://www.eyrie.org/~eagle/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
lintian: r1230 - in trunk: checks debian
Author: rra Date: 2008-03-03 05:30:12 +0100 (Mon, 03 Mar 2008) New Revision: 1230 Modified: trunk/checks/scripts trunk/debian/changelog Log: + [RA] Allow zsh-beta as an alternative to zsh. Thanks, Joost van Baal. (Closes: #468362) Modified: trunk/checks/scripts === --- trunk/checks/scripts2008-03-03 04:28:46 UTC (rev 1229) +++ trunk/checks/scripts2008-03-03 04:30:12 UTC (rev 1230) @@ -91,7 +91,7 @@ trs = [ '/usr/bin', 'konwert' ], xjed = [ '/usr/bin', 'xjed' ], yforth= [ '/usr/bin', 'yforth' ], - zsh = [ '/bin' ], + zsh = [ '/bin', 'zsh | zsh-beta' ], ); # The more complex case of interpreters that may have a version number. Modified: trunk/debian/changelog === --- trunk/debian/changelog 2008-03-03 04:28:46 UTC (rev 1229) +++ trunk/debian/changelog 2008-03-03 04:30:12 UTC (rev 1230) @@ -53,6 +53,8 @@ + [RA] Update regexes based on checkbashisms to remove additional false positives and add additional checks. Thanks, Adam D. Barratt. + [RA] Add kaptain. Thanks, Tobias Toedter. (Closes: #466701) ++ [RA] Allow zsh-beta as an alternative to zsh. Thanks, Joost van + Baal. (Closes: #468362) * frontend/lintian: + [CW] Make the presence of an Ubuntu release name in the version number -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
lintian: r1231 - in trunk: checks debian
Author: rra Date: 2008-03-03 05:31:46 +0100 (Mon, 03 Mar 2008) New Revision: 1231 Modified: trunk/checks/scripts trunk/debian/changelog Log: + [RA] Add yorick. Thanks, Thibaut Paumard. (Closes: #468370) Modified: trunk/checks/scripts === --- trunk/checks/scripts2008-03-03 04:30:12 UTC (rev 1230) +++ trunk/checks/scripts2008-03-03 04:31:46 UTC (rev 1231) @@ -91,6 +91,7 @@ trs = [ '/usr/bin', 'konwert' ], xjed = [ '/usr/bin', 'xjed' ], yforth= [ '/usr/bin', 'yforth' ], + yorick= [ '/usr/bin' ], zsh = [ '/bin', 'zsh | zsh-beta' ], ); Modified: trunk/debian/changelog === --- trunk/debian/changelog 2008-03-03 04:30:12 UTC (rev 1230) +++ trunk/debian/changelog 2008-03-03 04:31:46 UTC (rev 1231) @@ -55,6 +55,7 @@ + [RA] Add kaptain. Thanks, Tobias Toedter. (Closes: #466701) + [RA] Allow zsh-beta as an alternative to zsh. Thanks, Joost van Baal. (Closes: #468362) ++ [RA] Add yorick. Thanks, Thibaut Paumard. (Closes: #468370) * frontend/lintian: + [CW] Make the presence of an Ubuntu release name in the version number -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Processed: Lintian bugs fixed in revision r1230
Processing commands for [EMAIL PROTECTED]: package lintian Ignoring bugs not assigned to: lintian # Fixed in r1230 by rra tag 468362 + pending Bug#468362: lintian: [checks/scripts] fails to find zsh interpreter dependency There were no tags set. Tags added: pending thanks Stopping processing here. Please contact me if you need assistance. Debian bug tracking system administrator (administrator, Debian Bugs database) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Processed: Lintian bugs fixed in revision r1231
Processing commands for [EMAIL PROTECTED]: package lintian Ignoring bugs not assigned to: lintian # Fixed in r1231 by rra tag 468370 + pending Bug#468370: please add yorick as a known interpreter There were no tags set. Tags added: pending thanks Stopping processing here. Please contact me if you need assistance. Debian bug tracking system administrator (administrator, Debian Bugs database) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Processed: Re: Bug#468804: lintian: Please detect mismatch between bin/sbin and man1/man8, improperly located Perl modules and arch all when should be arch any
Processing commands for [EMAIL PROTECTED]: retitle 468804 [checks/files] detect *.pm files in /usr/lib Bug#468804: lintian: Please detect mismatch between bin/sbin and man1/man8, improperly located Perl modules and arch all when should be arch any Changed Bug title to `[checks/files] detect *.pm files in /usr/lib' from `lintian: Please detect mismatch between bin/sbin and man1/man8, improperly located Perl modules and arch all when should be arch any'. severity 468804 wishlist Bug#468804: [checks/files] detect *.pm files in /usr/lib Severity set to `wishlist' from `normal' clone 468804 -1 Bug#468804: [checks/files] detect *.pm files in /usr/lib Bug 468804 cloned as bug 469103. retitle -1 [checks/files] warn of arch-dependent package all in /usr/share Bug#469103: [checks/files] detect *.pm files in /usr/lib Changed Bug title to `[checks/files] warn of arch-dependent package all in /usr/share' from `[checks/files] detect *.pm files in /usr/lib'. severity -1 wishlist Bug#469103: [checks/files] warn of arch-dependent package all in /usr/share Severity set to `wishlist' from `wishlist' thanks Stopping processing here. Please contact me if you need assistance. Debian bug tracking system administrator (administrator, Debian Bugs database) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#468804: lintian: Please detect mismatch between bin/sbin and man1/man8, improperly located Perl modules and arch all when should be arch any
retitle 468804 [checks/files] detect *.pm files in /usr/lib severity 468804 wishlist clone 468804 -1 retitle -1 [checks/files] warn of arch-dependent package all in /usr/share severity -1 wishlist thanks Roberto C. Sánchez [EMAIL PROTECTED] writes: It appears that lintian misses some important problems. In the process of preparing to sponsor a package for someone, I came across some oddities and asked about them in #debian-devel. The discussion revealed more problems than I initially realized. I have copied the exchange below, but the summary is: - files in /usr/bin with man pages in man/man8 (the binaries should be either in /usr/sbin or the man pages in man/man1) - the package scatters perl modules about /usr/lib (which really ought to be in /usr/share/perl5) - the package declares itself arch any, but really is arch all. Hi Roberto, In the future, please don't submit bug reports like this that combine multiple problems into a single bug report. Each separate issue should be a separate bug report, since otherwise the maintainer has to clone the bug and retitle it if one bug is fixed and not the other. The first problem that you report is already an open lintian bug (#348864). Please see that bug report for information about why this is harder than it sounds. I think that bug report did arrive at a possible solution for a more limited check, but as yet no one has had time to write the check. The third problem is a consequence of the second problem. lintian has no way of knowing that those files in /usr/lib aren't arch-dependent. If they were all in /usr/share (and with no files in /usr/bin; again, lintian can't know if the Perl scripts contain arch-dependent constants or other code), lintian could warn. I'll clone another bug report for that. The severity of all of these requests is wishlist. lintian doesn't claim to catch everything that's wrong with a package. Bug severities higher than wishlist are for errors in lintian or program malfunctions, not for things that it misses. Thanks for keeping this in mind in the future! -- Russ Allbery ([EMAIL PROTECTED]) http://www.eyrie.org/~eagle/
lintian: r1229 - in trunk: checks debian
Author: rra Date: 2008-03-03 05:28:46 +0100 (Mon, 03 Mar 2008) New Revision: 1229 Modified: trunk/checks/scripts trunk/debian/changelog Log: Update regexes from checkbashisms. Modified: trunk/checks/scripts === --- trunk/checks/scripts2008-02-22 17:18:57 UTC (rev 1228) +++ trunk/checks/scripts2008-03-03 04:28:46 UTC (rev 1229) @@ -541,8 +541,12 @@ '[EMAIL PROTECTED]',# bash arrays, ${name[0|*|@]} '[EMAIL PROTECTED]', # ${!prefix[*|@]} '\$\{!\w+\}',# ${!name} - '(\$\(|\`)\s*\\s*\S.+(\)|\`)', # $(\ foo) should be $(cat foo) + '(\$\(|\`)\s*\\s*\S+\s*(\)|\`)', # $(\ foo) should be $(cat foo) '\$RANDOM\b',# $RANDOM + '\$(OS|MACH)TYPE\b', # $(OS|MACH)TYPE + '\$HOST(TYPE|NAME)\b', # $HOST(TYPE|NAME) + '\$DIRSTACK\b', # $DIRSTACK + '\$EUID\b', # $EUID should be id -u ); my @bashism_regexs = ( 'function \w+\(\s*\)', # function is useless @@ -556,6 +560,7 @@ '(?:^|\s+)kill\s+-[^sl]\w*', # kill -[0-9] or -[A-Z] '(?:^|\s+)trap\s+[\']?.*[\']?\s+.*[1-9]', # trap with signal numbers '\', # cshism + '(\|\)\s*((-|\d+)[^\s;|\)\`]|[^-\d])', # should be word 21 '\[\[(?!:)', # alternative test command '(?:^|\s+)select\s+\w+', # 'select' is not POSIX '\$\(\([A-Za-z]',# cnt=$((cnt + 1)) does not work in dash @@ -564,6 +569,7 @@ '(?:^|\s+)let\s',# let ... '(?![\$\(])\(\(.*\)\)', # '((' should be '$((' '(\[|test)\s+-a',# test with unary -a (should be -e) + '', # here string ); # since this test is ugly, I have to do it by itself @@ -610,7 +616,7 @@ # Only look for the beginning of a heredoc here, after we've # stripped out quoted material, to avoid false positives. - if (m/\\\s*[\'\]?(\w+)[\'\]?/) { + if (m/(?:^|[^])\\\s*[\'\]?(\w+)[\'\]?/) { $cat_string = $1; } } Modified: trunk/debian/changelog === --- trunk/debian/changelog 2008-02-22 17:18:57 UTC (rev 1228) +++ trunk/debian/changelog 2008-03-03 04:28:46 UTC (rev 1229) @@ -51,7 +51,7 @@ doesn't seem to have any actual code. Based on an idea by Justin Pryzby. (Closes: #410042) + [RA] Update regexes based on checkbashisms to remove additional - false positives. Thanks, Adam D. Barratt. + false positives and add additional checks. Thanks, Adam D. Barratt. + [RA] Add kaptain. Thanks, Tobias Toedter. (Closes: #466701) * frontend/lintian: -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
lintian: r1232 - in trunk: checks debian unpack
Author: rra Date: 2008-03-03 06:06:59 +0100 (Mon, 03 Mar 2008) New Revision: 1232 Modified: trunk/checks/cruft trunk/debian/changelog trunk/unpack/unpack-srcpkg-l2 Log: + [RA] Remove now-unnecessary workarounds for calling File::Find with symlink starting directory. * unpack/unpack-srcpkg-l2: + [RA] Don't rely on the output format of dpkg-source to learn the source directory and create a symlink. Instead, tell dpkg-source to unpack the source directly into the unpacked directory. Discard output of dpkg-source to allow for the current version, which prints things even with -q (fixed in later versions). Thanks, Raphael Hertzog. (Closes: #468927) Modified: trunk/checks/cruft === --- trunk/checks/cruft 2008-03-03 04:31:46 UTC (rev 1231) +++ trunk/checks/cruft 2008-03-03 05:06:59 UTC (rev 1232) @@ -125,11 +125,8 @@ $atdinbd = 1 if Dep::implies(Dep::parse($bd), Dep::parse($autotools_pkgs)); } -my $cwd = cwd; -$dir = readlink $cwd/unpacked; # File::Find in Perl 5.8 appears to need it - check_diffstat(diffstat); -find(\find_cruft, $dir); +find(\find_cruft, 'unpacked'); } # /run @@ -192,7 +189,7 @@ # source-contains tag. The tag isn't entirely accurate, but it's better # than creating yet a third set of tags, and this gets the severity right. sub find_cruft { -(my $name = $File::Find::name) =~ s,^\Q$dir\E/,,; +(my $name = $File::Find::name) =~ s,^(\./)?unpacked/,,; my $prefix = ($native ? diff-contains : source-contains); if (-d and not $warned{$name}) { for my $rule (@directory_checks) { Modified: trunk/debian/changelog === --- trunk/debian/changelog 2008-03-03 04:31:46 UTC (rev 1231) +++ trunk/debian/changelog 2008-03-03 05:06:59 UTC (rev 1232) @@ -26,6 +26,8 @@ + [FL] Add hg to the list of vcs-control-dir tags. + [RA] In the long description of outdated-autotools-helper-file, point to autotool-dev's documentation. (Closes: #465132) ++ [RA] Remove now-unnecessary workarounds for calling File::Find with + symlink starting directory. * checks/debian-readme{.desc,}: + [RA] Warn of references to /usr/doc in README.Debian. Thanks, Guillem Jover. (Closes: #465192) @@ -73,6 +75,14 @@ * reporting/templates: + [TK] Correct Lintian maintainers address in page footers. + * unpack/unpack-srcpkg-l2: ++ [RA] Don't rely on the output format of dpkg-source to learn the + source directory and create a symlink. Instead, tell dpkg-source to + unpack the source directly into the unpacked directory. Discard + output of dpkg-source to allow for the current version, which prints + things even with -q (fixed in later versions). Thanks, Raphael + Hertzog. (Closes: #468927) + -- Thijs Kinkhorst [EMAIL PROTECTED] Tue, 19 Feb 2008 11:31:41 +0100 lintian (1.23.45) unstable; urgency=low Modified: trunk/unpack/unpack-srcpkg-l2 === --- trunk/unpack/unpack-srcpkg-l2 2008-03-03 04:31:46 UTC (rev 1231) +++ trunk/unpack/unpack-srcpkg-l2 2008-03-03 05:06:59 UTC (rev 1232) @@ -30,31 +30,27 @@ ($#ARGV == 0) or fail(syntax: unpack-srcpkg-l2 base-dir); my $base_dir = shift; -my $unpack_dir; print N: Unpacking source package in directory $base_dir ...\n if $verbose; -chdir($base_dir); -my $IN = FileHandle-new; -pipeline_open($IN, sub { - my $ret=exec 'dpkg-source', '-q', '-x', 'dsc'; - $ret; -}) or fail(cannot run dpkg-source: $!); - -while ($IN) { -chop; -$unpack_dir = $1 - if (/^dpkg-source: extracting [^\s]+ in (\S+)/); +# We can't use spawn yet because older versions of dpkg-source print things +# out even with -q. This can be fixed to use spawn once that newer version of +# dpkg is in oldstable. +my $pid = fork; +if (not defined $pid) { +fail(cannot fork: $!); +} elsif ($pid == 0) { +open(STDOUT, '', '/dev/null'); +exec('dpkg-source', '-q', '-x', $base_dir/dsc, $base_dir/unpacked); +} else { +waitpid($pid, 0); +unless ($? == 0) { +fail(cannot run dpkg-source: $!); +} } -close($IN) or fail(error occured during execution of dpkg-source in $base_dir: $!); -$unpack_dir or fail(dpkg-source didn't report unpack directory); -# create link to unpack directory -symlink($unpack_dir, unpacked) -or fail(cannot symlink to unpack directory $unpack_dir); - # fix permissions -spawn('chmod', '-R', 'u+rwX,o+rX,o-w', $unpack_dir) == 0 or fail(); +spawn('chmod', '-R', 'u+rwX,o+rX,o-w', $base_dir/unpacked) == 0 or fail(); exit 0; @@ -70,3 +66,9 @@ } exit 1; } + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 ts=4 et shiftround -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact
lintian: r1233 - in trunk: debian frontend
Author: rra Date: 2008-03-03 06:09:56 +0100 (Mon, 03 Mar 2008) New Revision: 1233 Modified: trunk/debian/changelog trunk/frontend/lintian Log: Fix more problems with the option parsing in lintian. Modified: trunk/debian/changelog === --- trunk/debian/changelog 2008-03-03 05:06:59 UTC (rev 1232) +++ trunk/debian/changelog 2008-03-03 05:09:56 UTC (rev 1233) @@ -63,7 +63,7 @@ + [CW] Make the presence of an Ubuntu release name in the version number trigger the Ubuntu distribution field checks. + [RA] Fix option parsing bug leading lintian to incorrectly reject -a - without a package. + or -p without a package. * lib/Spelling.pm: + [RA] Add another spelling correction. Modified: trunk/frontend/lintian === --- trunk/frontend/lintian 2008-03-03 05:06:59 UTC (rev 1232) +++ trunk/frontend/lintian 2008-03-03 05:09:56 UTC (rev 1233) @@ -326,7 +326,7 @@ $action = 'check' if not $action; # check for arguments -if ($action =~ /^(check|unpack|remove)$/ and $#ARGV == -1 and not $check_everything) { +if ($action =~ /^(check|unpack|remove)$/ and $#ARGV == -1 and not $check_everything and not $packages_file) { syntax(); } -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Processed: Lintian bugs fixed in revision r1232
Processing commands for [EMAIL PROTECTED]: package lintian Ignoring bugs not assigned to: lintian # Fixed in r1232 by rra tag 468927 + pending Bug#468927: lintian: Should not rely on dpkg-source's output ... There were no tags set. Tags added: pending thanks Stopping processing here. Please contact me if you need assistance. Debian bug tracking system administrator (administrator, Debian Bugs database) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#468876: lintian: please warn when icons are installed in the wrong dirs
Paul Wise [EMAIL PROTECTED] writes: Package: lintian Version: 1.23.45 Severity: wishlist The password-gorilla package that I recently sponsored contains the following files: /usr/share/icons/hicolor/16x16/password-gorilla.png /usr/share/icons/hicolor/32x32/password-gorilla.png /usr/share/icons/hicolor/48x48/password-gorilla.png These are incorrect and will not show up in freedesktop menus because the directory is not listed in the index.theme file. Please check that icons in /usr/share/icons/hicolor are in one of the below directories. [snipped tons of directories] This looks rather unmaintainable from a lintian perspective unless there's some (rarely-changing) standard that specifies those directories. If I'm reading the implications of your message correctly, that list could change arbitrarily with each release of the hicolor theme package. I don't see any clean way that we could maintain this. (Also, this only applies to desktop files that don't give a full path to the icon, no?) Also, when there is a package that contains an index.theme file, it would be good if lintian could validate the locations of images in the package against the Directories parameter in it. Hm, I guess. Parsing desktop files and trying to verify things in them is really hard due to the lack of standardization of desktop files, but this looks reasonably self-contained. -- Russ Allbery ([EMAIL PROTECTED]) http://www.eyrie.org/~eagle/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
lintian: r1234 - in trunk: checks debian testset testset/binary/debian testset/diffs/debian
Author: rra Date: 2008-03-03 06:21:41 +0100 (Mon, 03 Mar 2008) New Revision: 1234 Modified: trunk/checks/rules trunk/checks/rules.desc trunk/debian/changelog trunk/testset/binary/debian/rules trunk/testset/diffs/debian/rules trunk/testset/tags.binary Log: + [RA] Also check for make -i when checking if errors from make clean or distclean are ignored. Thanks, J?\195?\182rg Sommer. (Closes: #469024) Modified: trunk/checks/rules === --- trunk/checks/rules 2008-03-03 05:09:56 UTC (rev 1233) +++ trunk/checks/rules 2008-03-03 05:21:41 UTC (rev 1234) @@ -98,7 +98,8 @@ if (/\$[\(\{]PWD[\)\}]/) { tag debian-rules-uses-pwd, line $.; } -if (/^\t\s*-(?:\$[\(\{]MAKE[\}\)]|make)\s.*(?:dist)?clean/) { +if (/^\t\s*-(?:\$[\(\{]MAKE[\}\)]|make)\s.*(?:dist)?clean/ || + /^\t\s*(?:\$[\(\{]MAKE[\}\)]|make)\s(?:.*\s)?-\w*i.*(?:dist)?clean/) { tag debian-rules-ignores-make-clean-error, line $.; } Modified: trunk/checks/rules.desc === --- trunk/checks/rules.desc 2008-03-03 05:09:56 UTC (rev 1233) +++ trunk/checks/rules.desc 2008-03-03 05:21:41 UTC (rev 1234) @@ -51,11 +51,13 @@ package's clean or distclean target with a line like: . -$(MAKE) distclean + or + $(MAKE) -i distclean . - The leading - tells make to ignore all errors. Normally this is done - for packages using Autoconf since Makefile may not exist. However, this - line ignores all other error messages, not just the missing Makefile - error. It's better to use: + The leading - or the option -i tells make to ignore all errors. + Normally this is done for packages using Autoconf since Makefile may not + exist. However, this line ignores all other error messages, not just + the missing Makefile error. It's better to use: . [ ! -f Makefile ] || $(MAKE) distclean . Modified: trunk/debian/changelog === --- trunk/debian/changelog 2008-03-03 05:09:56 UTC (rev 1233) +++ trunk/debian/changelog 2008-03-03 05:21:41 UTC (rev 1234) @@ -4,6 +4,8 @@ + [RA] Anchor file matches for Perl libraries and debugging symbols so as to not match partial paths. Based on a patch from Niko Tyni. (Closes: #466501) ++ [RA] Also check for make -i when checking if errors from make clean or + distclean are ignored. Thanks, Jörg Sommer. (Closes: #469024) * checks/changelog-file: + [RA] Adjust for the extra space added by Parse::DebianChangelog when checking line length. Thanks, Robert Millan. (Closes: #467019) Modified: trunk/testset/binary/debian/rules === --- trunk/testset/binary/debian/rules 2008-03-03 05:09:56 UTC (rev 1233) +++ trunk/testset/binary/debian/rules 2008-03-03 05:21:41 UTC (rev 1234) @@ -9,7 +9,7 @@ echo $(PWD) clean: - make clean + make -i clean rm -f debian/files debian/substvars binary-arch: build Modified: trunk/testset/diffs/debian/rules === --- trunk/testset/diffs/debian/rules2008-03-03 05:09:56 UTC (rev 1233) +++ trunk/testset/diffs/debian/rules2008-03-03 05:21:41 UTC (rev 1234) @@ -24,7 +24,7 @@ clean: rm -rf $(tmp) -# make clean + make clean rm -f subdir-good/config.cache subdir-good/config.log subdir-good/config.status .PHONY: build binary-arch binary-indep binary clean Modified: trunk/testset/tags.binary === --- trunk/testset/tags.binary 2008-03-03 05:09:56 UTC (rev 1233) +++ trunk/testset/tags.binary 2008-03-03 05:21:41 UTC (rev 1234) @@ -50,6 +50,7 @@ I: binary: desktop-entry-contains-encoding-key /usr/share/applications/hello.desktop:13 Encoding I: binary: no-md5sums-control-file W: binary source: ancient-standards-version 3.2.1 (current is 3.7.3) +W: binary source: debian-rules-ignores-make-clean-error line 12 W: binary source: debian-rules-uses-pwd line 9 W: binary source: maintainer-upload-has-incorrect-version-number 4-1.1 W: binary source: native-package-with-dash-version -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Processed: Lintian bugs fixed in revision r1234
Processing commands for [EMAIL PROTECTED]: package lintian Ignoring bugs not assigned to: lintian # Fixed in r1234 by rra tag 469024 + pending Bug#469024: lintian: Check for make -i for ignores-make-clean-error Tags were: patch Tags added: pending thanks Stopping processing here. Please contact me if you need assistance. Debian bug tracking system administrator (administrator, Debian Bugs database) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
lintian: r1235 - trunk/testset
Author: rra Date: 2008-03-03 06:37:39 +0100 (Mon, 03 Mar 2008) New Revision: 1235 Modified: trunk/testset/runtests Log: Add a -d option that enables debug. Modified: trunk/testset/runtests === --- trunk/testset/runtests 2008-03-03 05:21:41 UTC (rev 1234) +++ trunk/testset/runtests 2008-03-03 05:37:39 UTC (rev 1235) @@ -22,7 +22,7 @@ sub usage { print END; -Usage: $0 [-k] [-v] testset-directory testing-directory [test] +Usage: $0 [-k] [-v] [-d] testset-directory testing-directory [test] The -k option means do not stop after one failed test, but try them all and report all errors. @@ -30,6 +30,8 @@ The -v option will also display those tests that have a description, but are not tested in any testset-package. +The -d option will display debugging information. + The optional 3rd parameter causes runtests to only run that particular test. END exit 2; @@ -70,6 +72,8 @@ $run_all_tests = 1; } elsif ($ARGV[0] eq '-v') { $verbose = 1; +} elsif ($ARGV[0] eq '-d') { + $debug = 1; } else { usage; } -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
lintian: r1236 - trunk/unpack
Author: rra Date: 2008-03-03 06:38:12 +0100 (Mon, 03 Mar 2008) New Revision: 1236 Modified: trunk/unpack/unpack-srcpkg-l2 Log: We still have to do the chdir to work around a bug in the current dpkg-source. Modified: trunk/unpack/unpack-srcpkg-l2 === --- trunk/unpack/unpack-srcpkg-l2 2008-03-03 05:37:39 UTC (rev 1235) +++ trunk/unpack/unpack-srcpkg-l2 2008-03-03 05:38:12 UTC (rev 1236) @@ -32,6 +32,7 @@ my $base_dir = shift; print N: Unpacking source package in directory $base_dir ...\n if $verbose; +chdir($base_dir); # We can't use spawn yet because older versions of dpkg-source print things # out even with -q. This can be fixed to use spawn once that newer version of @@ -41,7 +42,7 @@ fail(cannot fork: $!); } elsif ($pid == 0) { open(STDOUT, '', '/dev/null'); -exec('dpkg-source', '-q', '-x', $base_dir/dsc, $base_dir/unpacked); +exec('dpkg-source', '-q', '-x', 'dsc', 'unpacked'); } else { waitpid($pid, 0); unless ($? == 0) { @@ -50,7 +51,7 @@ } # fix permissions -spawn('chmod', '-R', 'u+rwX,o+rX,o-w', $base_dir/unpacked) == 0 or fail(); +spawn('chmod', '-R', 'u+rwX,o+rX,o-w', 'unpacked') == 0 or fail(); exit 0; -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#467642: new check for unneeded control scripts
Bernhard R. Link [EMAIL PROTECTED] writes: Package: lintian Version: 1.23.45 Severity: wishlist Attached patch should enable lintian to warn against unneeded control files. It adds a warning against (semantically) empty control files and against some ancient checks. (I don't think package need still check in preinst if the version of dpkg running is newer than from 1999). Frank already added something very similar to this content check and I just enhanced it to warn on scripts containing nothing but the dh-make boilerplate. I'm now also adding these checks for ancient dpkg assertions. Thanks! -- Russ Allbery ([EMAIL PROTECTED]) http://www.eyrie.org/~eagle/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
lintian: r1237 - in trunk: checks debian testset testset/dh-test/debian testset/maintainer-scripts/debian
Author: rra Date: 2008-03-03 07:03:37 +0100 (Mon, 03 Mar 2008) New Revision: 1237 Added: trunk/testset/dh-test/debian/postinst Modified: trunk/checks/scripts trunk/checks/scripts.desc trunk/debian/changelog trunk/testset/maintainer-scripts/debian/preinst trunk/testset/tags.dh-test trunk/testset/tags.maintainer-scripts Log: * checks/scripts{.desc,}: + [RA] Add warnings for dpkg --assert* flags for features that have been guaranteed for nearly a decade. Thanks, Bernhard R. Link. (Closes: #467642) Also enhance maintainer-script-empty to catch scripts that contain only boilerplate for option parsing. Modified: trunk/checks/scripts === --- trunk/checks/scripts2008-03-03 05:38:12 UTC (rev 1236) +++ trunk/checks/scripts2008-03-03 06:03:37 UTC (rev 1237) @@ -470,11 +470,6 @@ } } -# the control-files check already has an unknown-control-file error -# so there's no need for anything like this here: -# my %maintainer_scripts = map { $_ = 1 } qw(preinst postinst prerm postrm config); -# print E: something unless exists $maintainer_scripts{$file} - # now scan the file contents themselves open (C, '', $filename) or fail(cannot open maintainer script $filename for reading: $!); @@ -489,9 +484,16 @@ s/\#.*$//; # eat comments chomp(); + # Don't consider the standard dh-make boilerplate to be code. This + # means ignoring the framework of a case statement, the labels, the + # echo complaining about unknown arguments, and an exit. unless ($has_code + || m/^\s*set\s+-\w+\s*$/ + || m/^\s*case\s+\?\$1\?\s+in\s*$/ + || m/^\s*(?:[a-z|-]+|\*)\)\s*$/ || m/^\s*[:;]+\s*$/ - || m/^\s*set\s+-\w+\s*$/ + || m/^\s*echo\s+\[^\]+\(?:\s*2)?\s*$/ + || m/^\s*esac\s*$/ || m/^\s*exit\s+\d+\s*$/) { $has_code = 1; } @@ -655,6 +657,20 @@ tag maintainer-script-modifies-inetd-conf, $file:$. unless Dep::implies($deps{provides}, Dep::parse('inet-superserver')); } + + # Ancient dpkg feature tests. + if (m/^\s*dpkg\s+--assert-support-predepends\b/) { + tag ancient-dpkg-predepends-check, $file:$.; + } + if (m/^\s*dpkg\s+--assert-working-epoch\b/) { + tag ancient-dpkg-epoch-check, $file:$.; + } + if (m/^dpkg\s+--assert-long-filenames\b/) { + tag ancient-dpkg-long-filenames-check, $file:$.; + } + if (m/^dpkg\s+--assert-multi-conrep\b/) { + tag ancient-dpkg-multi-conrep-check, $file:$.; + } } } if (m,\bsuidregister\b,) { Modified: trunk/checks/scripts.desc === --- trunk/checks/scripts.desc 2008-03-03 05:38:12 UTC (rev 1236) +++ trunk/checks/scripts.desc 2008-03-03 06:03:37 UTC (rev 1237) @@ -391,7 +391,36 @@ Tag: maintainer-script-empty Type: warning -Info: The maintainer script doesn't seem to contain any code. While this - is harmless in most cases it is probably not what you wanted and may even - lead to problems in rare situations where dpkg would fail if no maintainer - script was present. +Info: The maintainer script doesn't seem to contain any code other than + comments and boilerplate (set -e, exit statements, and the case statement + to parse options). While this is harmless in most cases, it is probably + not what you wanted, may mean the package will leave unnecessary files + behind until purged, and may even lead to problems in rare situations + where dpkg would fail if no maintainer script was present. + . + If the package currently doesn't need to do anything in this maintainer + script, it shouldn't be included in the package. + +Tag: ancient-dpkg-predepends-check +Type: warning +Info: The package calls dpkg --assert-support-predepends in a maintainer + script. This check is obsolete and has always returned true since dpkg + 1.1.0, released 1996-02-11. + +Tag: ancient-dpkg-epoch-check +Type: warning +Info: The package calls dpkg --assert-working-epoch in a maintainer + script. This check is obsolete and has always returned true since dpkg + 1.4.0.7, released 1997-01-25. + +Tag: ancient-dpkg-long-filenames-check +Type: warning +Info: The package calls dpkg --assert-long-filenames in a maintainer + script. This check is obsolete and has always returned true since dpkg + 1.4.1.17, released 1999-10-21. + +Tag: ancient-dpkg-multi-conrep-check +Type: warning +Info: The package calls dpkg --assert-multi-conrep in a maintainer + script. This check is obsolete and has always returned true since dpkg + 1.4.1.19, released 1999-10-30. Modified:
Processed: Lintian bugs fixed in revision r1237
Processing commands for [EMAIL PROTECTED]: package lintian Ignoring bugs not assigned to: lintian # Fixed in r1237 by rra tag 467642 + pending Bug#467642: new check for unneeded control scripts There were no tags set. Tags added: pending thanks Stopping processing here. Please contact me if you need assistance. Debian bug tracking system administrator (administrator, Debian Bugs database) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#468876: lintian: please warn when icons are installed in the wrong dirs
Paul Wise [EMAIL PROTECTED] writes: On Sun, 2008-03-02 at 21:18 -0800, Russ Allbery wrote: [snipped tons of directories] This looks rather unmaintainable from a lintian perspective unless there's some (rarely-changing) standard that specifies those directories. If I'm reading the implications of your message correctly, that list could change arbitrarily with each release of the hicolor theme package. I don't see any clean way that we could maintain this. See the Context table at the top if this: http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html That only lists some of the subdirectories of your list (it's missing all the stock/* ones) and doesn't use the same names (international instead of intl, applications instead of apps). All of those seem like things that could change on us, no? I wonder if desktop-file-validate would understand all of this. It's on the list to look at whether we can replace the desktop checks in lintian with it. The hicolor standard theme is specified in this: http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html Interesting, thanks. It would be really good if some of this information could be written up from the perspective of a Debian package maintainer, since right now there's approximately zero information anywhere for how to deal with desktop files if one doesn't personally use Gnome or KDE and isn't familiar with this whole system. I tried to figure this out for gnubg and didn't have a lot of luck. Yah, which is most of them since it gives the icon system theme-ability. On my system, 32 desktop files out of 321 use an absolute icon path. IMO the ones that do are buggy since users cannot override the icons. Ones that use an extension like .png, .svg or .xpm in the Icon field are also buggy because users may want to provide their own versions in a different format. I expect that a lot of the people (like me) who are doing that had no idea what else to do, or that it was even kosher to install files into the hicolor directory. There's a lot of Debian communication missing in this area, I think. lintian can help somewhat, but right now people are working in a void, and adding a few lintian checks probably wouldn't be nearly as useful as writing a comprehensive guide to how a Debian maintainer should tackle these issues. (And then lintian checks can reference the guide.) Isn't this the standard for desktop files? http://standards.freedesktop.org/desktop-entry-spec/latest/ It claims to be, but it's actually the standard for Gnome desktop files. *wry grin*. As I discovered when writing lintian checks against that standard, KDE does something different and uses various fields that aren't listed there. Let alone GnuSTEP, which is even weirder. lintian is currently trying to check sort of a subset of that specification, only desktop files of a particular type, and with additional workarounds for KDE-specific stuff that can't be checked. I'd also like to see a lintian info/warning when a menu file is installed in the package, but a .desktop file is not. The reason for this is that in that case, GNOME users will not have the application in their menu unless they turned the Debian menu on, since it is off by default. The last time someone proposed this, it sparked a huge flamewar on debian-devel. I'm not sure I want to wade back into that. Apparently the GNOME maintainers disabled the Debian menu because they think it's largely worthless, and just blindly reintroducing .desktop files for every .menu file would restore the previous situation. Logically, if every .menu file should correspond to a .desktop file, the GNOME maintainers could just include the Debian menu. Since they don't, that indicates to me that some logic (not yet documented) should be applied by Debian maintainers to decide whether or not to include a desktop file. -- Russ Allbery ([EMAIL PROTECTED]) http://www.eyrie.org/~eagle/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#468876: lintian: please warn when icons are installed in the wrong dirs
On Sun, 2008-03-02 at 22:21 -0800, Russ Allbery wrote: That only lists some of the subdirectories of your list (it's missing all the stock/* ones) and doesn't use the same names (international instead of intl, applications instead of apps). All of those seem like things that could change on us, no? Argh, I guess that is true. I'm wondering if it would be OK to build-depend on the hicolor theme and extract the list of directories at build time. Hmm, seems error-prone though and build-dep bloating. Alternatively you could have the theme installed and have a pre-release hook that generates the directories from the hicolor theme package and sticks them in the lintian source package. I wonder if desktop-file-validate would understand all of this. It's on the list to look at whether we can replace the desktop checks in lintian with it. I think that only understands .desktop files, not this icon stuff. The hicolor standard theme is specified in this: http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html Interesting, thanks. It would be really good if some of this information could be written up from the perspective of a Debian package maintainer, since right now there's approximately zero information anywhere for how to deal with desktop files if one doesn't personally use Gnome or KDE and isn't familiar with this whole system. I tried to figure this out for gnubg and didn't have a lot of luck. I expect that a lot of the people (like me) who are doing that had no idea what else to do, or that it was even kosher to install files into the hicolor directory. There's a lot of Debian communication missing in this area, I think. lintian can help somewhat, but right now people are working in a void, and adding a few lintian checks probably wouldn't be nearly as useful as writing a comprehensive guide to how a Debian maintainer should tackle these issues. (And then lintian checks can reference the guide.) I definitely agree with this, unfortunately I have little time to spare on it. Perhaps the gtk/gnome kde teams could contact upstream to help get such a guide, or maybe Ubuntu already has one Isn't this the standard for desktop files? http://standards.freedesktop.org/desktop-entry-spec/latest/ It claims to be, but it's actually the standard for Gnome desktop files. *wry grin*. As I discovered when writing lintian checks against that standard, KDE does something different and uses various fields that aren't listed there. Let alone GnuSTEP, which is even weirder. lintian is currently trying to check sort of a subset of that specification, only desktop files of a particular type, and with additional workarounds for KDE-specific stuff that can't be checked. Ugh. I'd also like to see a lintian info/warning when a menu file is installed in the package, but a .desktop file is not. The reason for this is that in that case, GNOME users will not have the application in their menu unless they turned the Debian menu on, since it is off by default. The last time someone proposed this, it sparked a huge flamewar on debian-devel. I'm not sure I want to wade back into that. Apparently the GNOME maintainers disabled the Debian menu because they think it's largely worthless, and just blindly reintroducing .desktop files for every .menu file would restore the previous situation. Logically, if every .menu file should correspond to a .desktop file, the GNOME maintainers could just include the Debian menu. Since they don't, that indicates to me that some logic (not yet documented) should be applied by Debian maintainers to decide whether or not to include a desktop file. Right, I forgot about that flamewar. IMO, there should either be both, or none or just a .desktop file. The menu package should become a conduit from .desktop files to desktop systems that don't support the fdo specs. I don't think Debian will make progress on this for at least a release or two though. -- bye, pabs http://wiki.debian.org/PaulWise signature.asc Description: This is a digitally signed message part