Hi,

On Mon, Dec 17, 2018 at 09:05:56PM +1300, Amos Jeffries wrote:
> These GCC|Clang versioned depends are to fix backport and custom build
> FTBFS.
> 
> We still have quite a number of people using self-compiled Squid in
> order to gain the TLS interception features from OpenSSL. Those tend to
> be squid-4 packages on older Debian and Ubuntu machinery where GCC
> version still matters.

Thank you for the explanation.

>  So while I would love to have fully working cross-build support the
> trade-off with lost users is not really worth it until Debian and
> derivative LTS versions move on from the outdated GCC-4.x compilers.

This is a trade-off for sure and your reasoning makes very much sense to
me. In that case, could we annotate the dependencies with <!cross> and
add a little comment to debian/control explaining them? The <!cross>
will mean "this dependency is only relevant whenever you are not cross
compiling".

> I am not sure I understand what you mean by a conflict with the build
> architecture g++.

That's purely a packaging conflict outside of squid's reach. The g++
binary package is requested by build-essential for the build
architecture. Your dependency is for the host architecture. g++ is not
Multi-Arch: same (and cannot be) thus, we have a conflict between
g++:$DEB_BUILD_ARCH and g++:$DEB_HOST_ARCH. It's a bit artificial and
I'm working on solving that. It just won't be ready soon.

>  - the cross-compiler also needs to meet it, but we don't have a way to
> indicate that dependency. If the cross-compiler is old enough to
> conflict or break with a required BUILDCXX version it would seem the
> cross-compiler is not going to work properly anyway.

You are correct that we don't have a way to indicate that dependency
yet. In a (hopefully not too distant future) you will be able to say:

Build-Depends: g++:native (>= ...) # for a build architecture compiler
Build-Depends: g++-for-host (>= ...) # for a cross compiler

We're not there yet.

> The other changes I have merged into our git branch for the next package
> upload.

Thank you for the detailed explanation. I hope that the <!cross> is a
reasonable compromise and in case it isn't, I fully understand your
trade-off here. Adding a comment to debian/control would help anyone
working with the dependency.

Helmut

Reply via email to