Web lists-archives.com

Re: A message from CMake upstream: announcing dh-cmake

Kyle Edwards writes ("Re: A message from CMake upstream: announcing dh-cmake"):
> I understand what you're saying. As a concrete example, we all know
> that Debian requires *.so library symlinks to live in the -dev package.
> But let's say there's a hypothetical Debian derivative that requires
> them to live in the library binary package instead.
> If upstream has both the headers and the symlink in the "Development"
> component, then this would certainly be a problem. Perhaps the solution
> is for upstream to make this more flexible, through one of several
> options:

You have missed an option, which is for that derivative to use the
existing upstream components, and dh-cmake, etc., which put the
symlink in the wrong package for them, *and then to fix up that
wrinkle afterwards*.

This kind of thing is entirely normal in packaging.

I really don't agree with the thrust of Lisandro's comments.  AFAICT
what Lisandro is saying is this: because the upstream components may
not always be perfect; and even may be totally inappropriate; they are
useless or harmful for packaging for Debian.

The usual case is that the upstream components are mostly right.

If they are slightly wrong, then the right thing to do is to fix them
(carrying the patch in Debian until it makes it through into the
appropriate upstream release), or if upstream don't want the fix for
any reason, to carry that patch forever, or to write a workaround
which fixes it up and carry that forever in debian/rules.

If there is a systematic mismatch, it is normally possible to invent a
systematic fixup.  That is an alternative to adding a feature to the
upstream component system to do things differently.

We have taken all of these approaches in various packages.  Which to
choose is a matter of judgement, and of course any one of them may be
inappropriate in particular circumstances.  But that does not mean
that upstream component systems are harmful or dangerous or that they
should be discouraged or ignored.  The usual case will be that it is
easiest to use the upstream component system and deal with any
problems with it in any one of the usual ways we deal with problems
with upstream functionality.

Given that upstream component systems will often be useful, especially
if they are done with a bit of care, it is a very good thing to have a
build tool which can use them automatically.

So, in summary, if I were packaging one of the pieces of software
which dh-cmake is aimed at, I would probably want to use it.  Thanks,
Kyle (and your colleagues) for this work.  This work sounds excellent
to me.  Please do not be discouraged.

I did have some minor technical question when I read the original
posting.  But it's not important.  It is more important to applaud
what you are doing.