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