On 09/24/2011 03:23 AM, Brian Harring wrote:
>> [...] Right now, zlib does the
>> exact opposite of what should be done; Vapier changed zlib, and tries to
>> fix the packages that break because of that change. The correct way to
>> handle it is to let zlib be, and fix the packages that stopped working
>> with zlib 18.104.22.168.
>> Why is that the correct way? Because we don't know yet what upstream is
>> planning. We don't know if they'll rename those macros. If they won't,
>> then Gentoo is creating problems for itself. Packages that won't build
>> out of the box on Gentoo's zlib will need to be patched. And you can't
>> go to upstream of those packages with that patch, because it's none of
>> their business. They know their code works against vanilla zlib, they
>> have no reason to change it. If Gentoo decides to break a base library
>> by making it incompatible with the upstream version, it's their own fault.
> "Incompatible with upstream version" ?
Why in quotes?
> Quick bug count, 12 packages (most of which are doing bad things in
> their header usage) went boom.
> 13 out of *608* packages. I reiterate, 6-!@#*ing-hundred-and-8. If
> that 13 became 50 I'd be viewing this differently, but half the time
> core pkg upgrades break that /alone/ (meaning upstream induced
The packages that break with vanilla zlib 22.214.171.124 (like Lynx, which I
fixed myself and sent upstream) are less than those that break with r1
and r2. So that argument doesn't hold. Also, you didn't rebuild the
whole tree, so there's no way of knowing whether there's 13 packages
that break or 130.
> The packages are broken; while vapier is mildly ahead of the curve,
> updating upstream is going in parallel.
If vapier is such an expert, why did he use _Z_ as the prefix for those
macros? It's a well known fact that identifiers beginning with an
underscore and followed by a capital letter (or another underscore) are
reserved in C and shouldn't be used.
> I strongly suspect you've got the unstated 13th, or hit some fallout
> thus why you're pushing on this as hard as you are. While that sucks
> for you, you'd have hit the same breakage once upstream releases the
> API change.
Introducing something to the tree that is known to break packages means
it's better to mask it. On top of that, zlib 126.96.36.199 is a beta version,
which supports masking more strongly when you combine it with the breakage.
> All vapier is doing is frankly fixing the offending packages (which
> those patches then go upstream) so the upstream zlib change can be
> made w/out any fallout.
If upstream accepts the changes, then that's good work. But not when
doing that with an unmasked package. ~arch is for testing. We tested.
Now we know it's borked, so mask it. When it looks ready, unmask it
for another round of wide testing.
> By and large, this is good open source behaviour, and fits with the
> gentoo "don't fuck with upstream's releases" philosophy (which is
> aimed at avoiding the sort of hellacious backporting/monkey-patching
> debian/fedora are known for).
But we *did* fuck with upstream's release.