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

Re: warning: menu-command-not-in-package

Justin Pryzby <justinpryzby@users.sourceforge.net> writes:

> On Mon, Dec 13, 2004 at 01:02:29PM -0800, Brian Nelson wrote:
>> p@dirac.org (Peter Jay Salzman) writes:
>> > On Mon 13 Dec 04, 12:10 PM, Brian Nelson <pyro@debian.org> said:
>> >> On Mon, Dec 13, 2004 at 02:55:28PM -0500, Peter Jay Salzman wrote:
>> >> > 
>> >> >    $ lintian -i yadex_1.7.0-1_i386.deb
>> >> >    W: yadex: menu-command-not-in-package /usr/lib/menu/yadex:2
>> >> > 
>> >> >    ?package(yadex): needs="x11" section="Games/Arcade" title="yadex" \
>> >> >            hints="Doom,3D" command="x-terminal-emulator -e /usr/games/yadex"
>> OK, so it sounds like you're right and lintian's wrong.  IMO, you should
> Lintian probably checks for the existence of a /usr/bin/$command where
> command is everything between the double quotes.
> Lintian has, in ./check/menu-format:319:
>         my @com=split(' ',$vals{'command'});
> So, it assumes that you should provide (in this case)
> "/usr/bin/x-terminal-emulator".  (Not, as I'd guessed, that it doesn't

That's a faulty assumption by lintian.  There's no reason to require the
package contains the x-terminal-emulator executable, as long as it'll be
satisfied by the dependencies.

> I think a wrapper script is appropriate if the user would otherwise
> have to type "x-terminal-emulator", but I dislike the idea of
> "echo |yadex".  I don't think it'll do what the user wants.  Instead,
> install what is presently /usr/games/yadex to /usr/lib/yadex/... and
> install a one-line wrapper script to /usr/games/yadex:
> 	#!/bin/sh -e
> 	exec x-terminal-emulator -e /usr/lib/yadex/... 

What's wrong with just letting users type "yadex" in an X terminal?  If
they try to run it from a text-mode console, it'll fail, but so what?
All other programs requiring a $DISPLAY fail to run in that situation

For every sprinkle I find, I shall kill you!

Reply to: