Bug#535139: lintian: false positive on ruby-script-but-no-ruby-dep

2009-06-30 Thread Micah Anderson


* 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

2009-06-29 Thread Micah Anderson
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

2008-11-29 Thread Micah Anderson
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

2004-10-10 Thread Micah Anderson
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

2003-03-05 Thread Micah Anderson
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