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

Bug#933134: lintian: depends on libparse-debianchangelog-perl that has no upstream maintainer



Hi!

On Wed, 2019-07-31 at 09:56:31 -0700, Felix Lechner wrote:
> On Wed, Jul 31, 2019 at 8:29 AM intrigeri <intrigeri@debian.org> wrote:
> >  - Your MR introduces yet another debian/changelog parser.
> >
> > Given the trouble we had with keeping Parse::DebianChangelog somewhat
> > working and up-to-date so far, I would argue that relying on existing,
> > well-maintained Dpkg::* code, is a safer approach on the long term.
> 
> Having converted the Lintian test suite from a custom approach to
> TAP::Parser, I share your sentiment about using established, and
> tested, third-party packages. I am more tolerant, however, when
> duplicating efforts related to Debian---such as analyzing the
> changelog. Lintian is supposed to be an independent critic, and there
> is a value to, well, being independent.

I also agree and support the existence of independent implementations
whenever they make sense, so that the specified format gets exercised
by various implementations and can uncover ambiguities or issues in
the spec itself. But these also incur a cost, when we need to extend
the format itself for example.

In the lintian case, I'm not sure there's really a need? ISTM that most
of the independence and verifiability relies more on the testing data,
and how any such parser is being driven than the parser itself?

> The changelog parser is also a relatively small piece of code.

Right, although all these small pieces add up. :)

> A more significant issue is that Dpkg::Changelog::Debian may not offer
> the kind of data structures I hope to offer to writers of Lintian
> checks. At least, I felt that way when implementing centralized
> version parsing as part of the $info data structure for source
> packages (MR in preparation) pursuant to this message:

I'm not sure what you find lacking in the current Dpkg::Changelog
implementation, even though it is too a direct successor to the
Parse::DebianChangelog modules which got imported into libdpkg-perl
many years ago [C] as the foundation for the new code.

  [C] <https://git.dpkg.org/cgit/dpkg/dpkg.git/commit/?id=7698092d0b7483340618981652c3aa69894520b8>

But I'm happy to improve the current interface, implementation or
documentation to make its use easier/better.

> > But it requires more initial work because the API differs slightly,
> > and more importantly, the Dpkg::Changelog::Debian parser is stricter,
> > so we lose some granularity wrt. error reporting (some syntax errors
> > Lintian would previously catch itself later on are now reported as
> > syntax errors, as soon as we parse the changelog file).
> 
> I am not worried about the amount of work, but about its outcome: As
> you acknowledge, Dpkg::Changelog::Debian's lack of granularity may
> make it harder to implement distinct tags. That results less detailed
> advice on how to improve packages, and is less customer-friendly.

I'm interested in this, and would like to hear more concrete issues
with the current interface.

Thanks,
Guillem


Reply to: