Re: Policy changes which completely break apt-cross
+++ Neil Williams [2010-07-01 15:29 +0100]:
> On Thu, 01 Jul 2010 15:36:03 +0200
> > dpkg-cross: package debconf doesn't provide any useful files. Skipping.
Can people stop calling each other 'wrong' in such a confrontational
manner please. I'm not convinced that the world is falling in here,
and having a big argument isn't very likely to help.
Let's just step back a little and see what's actually going on.
> > > The whole point of this Policy change is that Arch:all packages WILL
> > > need to be converted, we just won't know which we can allow and which
> > > we cannot.
> > What files need to be moved around or altered and why? I can hardly
> > convince you that a conversion is not needed if you don't say what files
> > you think need conversion.
> The same files as have always been converted but the files move between
> packages due to this change in Policy.
OK. In an attempt to understand this I read the policy. The relevant change is (I
presume), 8.4; Summarised in the changes list as:
All shared library development files are no longer required to be
in the -dev' package, only be available when the -dev' package
is installed. This allows the -dev' package to be split as long
as it depends on the additional packages.
The new para actually says:
8.4 Development files
If there are development files associated with a shared library, the
source package needs to generate a binary development package named
librarynamesoversion-dev, or if you prefer only to support one
development version at a time, libraryname-dev. Installing the
development package must result in installation of all the development
files necessary for compiling programs against that shared library.
In case several development versions of a library exist, you may need
to use dpkg's Conflicts mechanism (see Conflicting binary packages -
Conflicts, Section 7.4) to ensure that the user only installs one
development version at a time (as different development versions are
likely to have the same header files in them, which would cause a
filename clash if both were installed).
The development package should contain a symlink for the associated
shared library without a version number. For example, the libgdbm-dev
package should include a symlink from /usr/lib/libgdbm.so to
libgdbm.so.3.0.0. This symlink is needed by the linker (ld) when
compiling packages, as it will only look for libgdbm.so when compiling
Is used to say: (in 3.8.3)
The development files associated to a shared library need to be placed in a
package called librarynamesoversion-dev, or if you prefer only to
support one development version at a time, libraryname-dev.
So the change is that not all the development files need to be in the
-dev package, but could be in packages depended on by -dev.
This does break the convenient dependency-resolution shortcut that
apt-cross uses to work out what needs to be downloaded.
However if there is a good reason for this change then this just
highlights what we already know - which is that we need a smarter
cross-dependency resolution tool. If there isn't a good reason then
asking to have this changed or improved would make sense. But I don't
think that this justiofies talk of "The only result of filing a bug
against apt-cross for this issue will be a bump to Severity:grave (not
compliant with Policy)" and the removal of apt-cross from Sid and
apt-cross will remain useful until it is replaced by something bewtter
even if it doesn;t always work. (it already doesn't always work - the
sky has not fallen in yet)
It has been suggested to me that the reason for the change is to allow
_runtime_ arch-indep files to go in a -common package.
Development-time files should remain in -dev.
That would be OK, I think (can anyone think of a reason why it would
break things?), but policy doesn't say that so packagers may not do
the right thing. It would need clarifying if that is indeed the idea.
I have not yet found the original discussion leading to the change,
but presumably there is some. Reading that might help us work out
whether this change is sensible or not, and if it is we probably need
to work out how to deal with it.
I haven't quite got my head round what everyone is saying in this
thread yet. I'll read it again and try to make sense of things.
But please, a little more calm all round would be good.
Principal hats: Linaro, Emdebian, Wookware, Balloonboard, ARM