Package: lintian
Version: 1.23.27
Followup-For: Bug #349616

Hi,

Thanks for the updated problem description, but it does not solve the
problem.

A Depends: line of "debconf (>= 1.3.22) | cdebconf (>= 0.43)" still
generates the settitle-requires-versioned-depends error.

Here's what I've found (60 more lines):


If I change the Depends to "debconf (>= 1.3.22)", the error is gone.

(Unfortunatelly the package in question is yet to hit NEW so you can't
see the error yourselves. I can provide it on request).

I suspect that this is because of the way lintian checks for the
dependency:
[checks/debconf:507]
________________________________________________________
507| unless (Dep::implies($alldependencies,
508|             Dep::parse('debconf (>= 1.3.22)')))
509| {
510|     tag "settitle-requires-versioned-depends", "$file" 
511|         unless $type eq 'udeb';
512| }
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

As I understand it, lintian demands that there is a Depends that is
equal to 'debconf (>= 1.3.22)'. However, the recommended Depends (that
uses cdebconf alternative) is not equal to that.

Strangely, if I try to fix the check by making it require "debconf (>=
1.3.22) | cdebconf (>= 0.43)" (line 508), the error persists.

If I place some debug statements in OR-to-OR comparison in Dep::implies,
I see that what is compared is actually:
  OR (debconf >= 1.3.22) (debconf >= 1.2.30))
    to
  OR (debconf >= 1.3.22) (cdebconf >= 0.43)

The second OR is the "fix" I've put in the checks/debconf above.
However, the first OR, which should come from the package's Depends:
line, seems garbled.

Aha! Gotcha! This is mangled in line 111 of checks/debconf:
  $_ =~ s/cdebconf(-\w+)?(-udeb)?\s*(\(.+?\))?/debconf (>= 1.2.30)/g;

This makes the recommended "debconf(>=1.3.22)|cdebconf(>=0.43)" to be
converted to "debconf(>=1.3.22)|debconf(>=1.2.30)".

So, even if following the recommended Depends: line and removing the
"fix" I've tried to make, the comparison is:
  OR (debconf >= 1.3.22) (debconf >= 1.2.30))
    to
  OR (debconf >= 1.3.22)

which is obviously not the same, thus the check fails.

Ways to fix this that I see:

1) drop mangling of cdebconf depencency and add "cdebconf(>=0.43)" to
the required dependencies as suggested by the check.
Possible cons: I am not sure what was the idea of cdebconf dependency
mangling - something other may break.

2) Suggest only "debconf (>= 1.32)" in
settitle-requires-versioned-depends.
Possible cons: d-i related, since cdebconf is used there

3) Other that you or someone else comes with.


Thanks for considering,
    dam

-- System Information:
Debian Release: 4.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 
'experimental')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-3-686
Locale: LANG=bg_BG.UTF-8, LC_CTYPE=bg_BG.UTF-8 (charmap=UTF-8)

Versions of packages lintian depends on:
ii  binutils               2.17-3            The GNU assembler, linker and bina
ii  diffstat               1.43-2            produces graph of changes introduc
ii  dpkg-dev               1.13.25           package building tools for Debian
ii  file                   4.19-1            Determines file type using "magic"
ii  gettext                0.16.1-1          GNU Internationalization utilities
ii  intltool-debian        0.35.0+20060710.1 Help i18n of RFC822 compliant conf
ii  libparse-debianchangel 1.0-1             parse Debian changelogs and output
ii  man-db                 2.4.3-6           The on-line manual pager
ii  perl [libdigest-md5-pe 5.8.8-7           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]

Reply via email to