Bug#535139: lintian: false positive on ruby-script-but-no-ruby-dep
* Russ Allbery r...@debian.org [2009-06-29 23:53-0400]: Micah Anderson mi...@debian.org writes: Lintian is complaining: E: facter: ruby-script-but-no-ruby-dep ./usr/bin/facter Although it can clearly be seen in the control file: Depends: ruby (= 1.8), net-tools, host | bind9-host, pciutils, libopenssl-ruby1.8, ${misc:Depends} Perhaps it is saying this because there is a versioned depends on Ruby = 1.8 and it should be listed as ruby1.8, ruby1.9 or just plain ruby if there is no version specific criteria? If that is true, then the description doesn't clearly indicate that. There may be a bug, but the way that this is *supposed* to work is that scripts that explicitly give a Ruby version on the #! line (/usr/bin/ruby1.8, for instance) have to depend on the ruby1.8 package, whereas scripts that use #!/usr/bin/ruby have to depend on the ruby package. Depending on ruby (= 1.8) is not correct if you use #!/usr/bin/ruby1.8, sice ruby 1.9 may not provide that path. Does that fit what the package is doing? In fact it does... facter uses install.rb which seems to want to alter the shebang to use 1.8 specifically. I've solved that, and am closing the bug, if you are interested in that solution, read on: # Install file(s) from ./bin to Config::CONFIG['bindir']. Patch it on the way # to insert a #! line; on a Unix install, the command is named as expected # (e.g., bin/rdoc becomes rdoc); the shebang line handles running it. ... ruby = File.join(Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name']) File.open(from) do |ip| File.open(tmp_file, w) do |op| ruby = File.join(Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name']) op.puts #!#{ruby} contents = ip.readlines if contents[0] =~ /^#!/ contents.shift end op.write contents.join() end end Which takes a perfectly fine shebang in the source: #!/usr/bin/env ruby it looks at whatever /usr/bin/ruby is (on my build system ruby1.8), and then munges that line into: #!/usr/bin/ruby1.8 during build time. In the case of puppet, the work hasn't finished to get it to work properly with ruby1.9, so that seems fine, but facter has had that work done so both ruby1.8 and ruby1.9 work fine. I'm not well versed in the differences between install.rb and setup.rb, the two most common ruby scripts used for doing installations, but from a brief look around, it seems like setup.rb replaced install.rb some years ago (by the same author), and setup.rb has the more configurable option of doing: --shebang=(all|ruby|never) Shenbang line (#!) rewriting mode. all: replace all shebang lines. ruby: replace shebang lines which invokes ruby. never: never rewrite shebang. So... since facter can support both ruby1.8 and ruby1.9, I'm switching the package to use the Debian Ruby standardized CDBS classes that provide a functioning setup.rb which allows me to override this problem in build-time, thus solving this lintian error. Micah signature.asc Description: Digital signature
Bug#535139: lintian: false positive on ruby-script-but-no-ruby-dep
Package: lintian Version: 2.2.12 Severity: normal Lintian is complaining: E: facter: ruby-script-but-no-ruby-dep ./usr/bin/facter Although it can clearly be seen in the control file: Depends: ruby (= 1.8), net-tools, host | bind9-host, pciutils, libopenssl-ruby1.8, ${misc:Depends} Perhaps it is saying this because there is a versioned depends on Ruby = 1.8 and it should be listed as ruby1.8, ruby1.9 or just plain ruby if there is no version specific criteria? If that is true, then the description doesn't clearly indicate that. thanks! micah -- System Information: Debian Release: squeeze/sid APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: i386 (i686) Kernel: Linux 2.6.26-1-vserver-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 binutils 2.19.1-1 The GNU assembler, linker and bina ii diffstat 1.47-1produces graph of changes introduc ii dpkg-dev 1.15.3Debian package development tools ii file 5.03-1Determines file type using magic ii gettext0.17-6GNU Internationalization utilities ii intltool-debian0.35.0+20060710.1 Help i18n of RFC822 compliant conf ii libapt-pkg-perl0.1.23Perl interface to libapt-pkg ii libipc-run-perl0.82-1Perl module for running processes ii libparse-debianchangel 1.1.1-2 parse Debian changelogs and output ii libtimedate-perl 1.1600-9 Time and date functions for Perl ii liburi-perl1.37+dfsg-1 Manipulates and accesses URI strin ii man-db 2.5.5-2 on-line manual pager ii perl [libdigest-sha-pe 5.10.0-23 Larry Wall's Practical Extraction lintian recommends no packages. Versions of packages lintian suggests: pn binutils-multiarchnone (no description available) ii libtext-template-perl 1.45-1 Text::Template perl module ii man-db2.5.5-2on-line manual pager -- no debconf information -- To UNSUBSCRIBE, email to debian-lint-maint-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#507331: lintian fails at being pendantic
Package: lintian Version: 2.0.0 Severity: minor If lintian is going to be pendantic, please be correct: spelling-error-in-changelog dont don\'t i didn\'t know thats how you were supposed to spell it, but we\'d all be smarter if that\'s how it is done, now wouldn\'t we? micah -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: i386 (i686) Kernel: Linux 2.6.26-1-vserver-686 (SMP w/2 CPU cores) 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-7 The GNU assembler, linker and bina ii diffstat1.46-1 produces graph of changes introduc ii dpkg-dev1.14.23 Debian package development tools ii file4.26-1 Determines file type using magic ii gettext 0.17-4 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 libtimedate-perl1.1600-9 Time and date functions for Perl ii liburi-perl 1.35.dfsg.1-1Manipulates and accesses URI strin ii man-db 2.5.2-3 on-line manual pager ii perl [libdigest-sha 5.10.0-18Larry Wall's Practical Extraction lintian recommends no packages. Versions of packages lintian suggests: pn binutils-multiarchnone (no description available) ii libtext-template-perl 1.44-1.2 Text::Template perl module ii man-db2.5.2-3on-line manual pager -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#268077: lintian: Patch to change this behavior
Package: lintian Version: 1.23.2 Followup-For: Bug #268077 I am attaching two patches to change this. -- System Information: Debian Release: 3.1 APT prefers testing APT policy: (990, 'testing'), (600, 'unstable') Architecture: i386 (i686) Kernel: Linux 2.6.7-1-k7 Locale: LANG=C, LC_CTYPE=C Versions of packages lintian depends on: ii binutils 2.15-4 The GNU assembler, linker and bina ii diffstat 1.34-1 produces graph of changes introduc ii file 4.09-1 Determines file type using magic ii gettext 0.14.1-5 GNU Internationalization utilities ii man-db2.4.2-19 The on-line manual pager ii perl [libdigest-md5-perl] 5.8.4-2.2 Larry Wall's Practical Extraction -- no debconf information --- /usr/share/lintian/checks/scripts 2004-07-07 15:30:47.0 -0500 +++ /tmp/scripts2004-10-10 16:15:53.0 -0500 @@ -116,8 +116,10 @@ 'perl-5.004' = 'perl-5.004', 'pforth' = 'pforth', 'php' = 'php4-cgi', + 'php' = 'php4-cli', 'php3' = 'php3-cgi', 'php4' = 'php4-cgi', + 'php4' = 'php4-cli', 'pike' = 'pike', 'pike7' = 'pike7', 'rc' = 'rc', --- /usr/share/lintian/checks/scripts.desc 2004-07-02 17:45:02.0 -0500 +++ /tmp/scripts.desc 2004-10-10 16:16:17.0 -0500 @@ -275,10 +275,10 @@ Type: error Info: PHP can be called as /usr/bin/php on Debian systems. -Tag: php-script-but-no-php4-cgi-dep +Tag: php-script-but-no-php4-cgi-or-php4-cli-dep Type: error Info: Packages that use PHP scripts with /usr/bin/php as interpreter must - depend on the php4-cgi package. + depend on the php4-cgi or php4-cli package. . In some cases a weaker relationship, such as Suggests or Recommends, will be more appropriate.
Re: Bug#183453: e2fsprogs-bf: Please provide a lintian override for man pages
Yann Dirson schrieb am Wednesday, den 05. March 2003: On Tue, Mar 04, 2003 at 04:06:06PM -0800, Micah Anderson wrote: http://qa.debian.org/man-pages.html is generated based on the regular lintian reports at http://lintian.debian.org/. Listed on this page are all the manpages that normally would accompany e2fsprogs-bf. However, the man pages have been removed from this package because the package is intended to be used on a floppy, so anything extra goes. The lintian report gives an error, but this is a lintian false positive. If you were to add a lintian override for this error, it would disappear from the QA web pages automatically. Simply add one by supplying a /usr/share/llintian/overrides/e2fsprogs-bf file as detailed in http://lintian.debian.org/manual/ch2.html#s2.4 Since it's a generic rule that *-bf packages should not contain manpages, I'm of the opinion that a new rule should be added to lintian, rather than adding overrides to all *-bf packages. I was under the impression, based on an email on another list (http://lists.debian.org/debian-qa/2003/debian-qa-200303/msg1.html) which was suggested, This is a lintian false positive, and probably one that can't be worked around in lintian that this would not be possible in lintian. I have CC'd the lintian-maintainer to see if it is possible. Further more, since I don't think the new debian-installer is using those *-bf packages, but uses udeb's instead, those *-bf packages may be completely obsolete already. Did you discuss the issue first with the lintian maintainer and the bf team ? I have included the debian-boot list on this email as well to see if we can get resolution on if the *-bf packages are completely obsolete or not. Thanks! Micah