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

Bug#512119: False positives for update menus and bashism checks



Package: lintian
Version: 2.1.5

This output comes from running Lintian against some of my local
packaces, which aren't part of Debian but produce .deb files for
convenience.


I have this bit of code in a postinst:

  if type update-menus >/dev/null 2>&1; then
    update-menus
  fi

This produces two diagnostics from Lintian.

E: disobedience: maintainer-script-does-not-check-for-existence-of-updatemenus postinst:25
N:
N:   The maintainer script calls the update-menus command without checking
N:   for existence first. (The menu package which provides the command is
N:   not marked as `essential' package.)
N:
N:   For example, use the following code in your maintainer script:
N:    if [ -x /usr/bin/update-menus ] ; then update-menus ; fi
N:

Of course, I am checking for it, just not assuming anything about its
location.


W: disobedience: possible-bashism-in-maintainer-script postinst:24 'if type '
N:
N:   This script is marked as running under /bin/sh, but it seems to use a
N:   feature found in bash but not in the SUSv3 or POSIX shell
N:   specification.
N:
N:   Examples:
N:    '==' in a test, it should use '=' instead
N:    'read' without a variable in the argument
N:    'function' to define a function
N:    'source' instead of '.'
N: '. command args', passing arguments to commands via 'source' is not supported
N:    '{foo,bar}' instead of 'foo bar'
N:    '[[ test ]]' instead of '[ test ]' (requires a Korn shell)
N:
N:   Refer to Policy Manual, section 10.4 for details.
N:

In fact 'type' is listed in the SUS, so I think this warning is just
plain wrong.

http://www.opengroup.org/onlinepubs/009695399/utilities/type.html


Also a wishlist item:

W: disorder source: out-of-date-standards-version 3.7.2.2 (current is 3.8.0)
N:
N: The source package refers to a Standards-Version older than the one that
N:    was current at the time the package was created (according to the
N:    timestamp of the latest debian/changelog entry). Please consider
N:    updating the package to current Policy and setting this control field
N:    appropriately.
N:
N:    If the package is already compliant with the current standards, you
N: don't have to re-upload the package just to adjust the Standards-Version
N:    control field. However, please remember to update this field next time
N:    you upload the package.
N:
N:    Severity: normal; Certainty: certain
N:

What would be really handy here is a pointer to policy change history.


ttfn/rjk



Reply to: