On 9/24/24 6:00 PM, Walter Dnes wrote:
> On Mon, Sep 23, 2024 at 05:11:14PM -0400, Eli Schwartz wrote
> 
>> Do you have that little faith in the Gentoo Developers, that you
>> think we'd make a USE flag change that made everyone's systems
>> suddenly break?
>>
>> :(
> 
>   I was around way back when "ipv6" became the default.  I was using
> Firefox back then.  Type in a URL; Firefox spins its wheels for 60
> seconds in IPV6; it finally gives up and drops down to IPV4.  This
> happened with every URL.


Please do not disable the USE=ipv6, as that is *utterly* insane. It also
does approximately nothing. In packages which support this USE flag,
which is rare, it causes the code to use old, untested APIs which only
support ipv4, rather than new, tested APIs that support ipv4 and ipv6
equally well while having the benefit of being stable, reliable and
efficient.

These old deprecated codepaths are prone to crashing and segfaulting
because the codebase for it is not enabled by anyone and the original
implementations are only kept around for the benefit of e.g. ancient
static binaries that cannot be rebuilt.

USE=ipv6 does not mean "ewww, evil bloated ipv6 socket functions".

It has NO influence on whether you use ipv4 or ipv6 traffic, as the vast
majority of the software you use doesn't even support the option, they
simply use maintained functions that just ask the kernel to give you
some internet traffic.

If you actually want to disable ipv6, instead of insanely rebuilding
binaries to use untested broken segfaulting code, use the sysctl knob to
tell the kernel "when asked to give some application a bit of internet
traffic, don't use ipv6".

net.ipv6.conf.all.disable_ipv6

This will:

- actually work

- work with applications that unconditionally use non-deprecated generic
  socket APIs

- not crash when running untested code, because the code is actually
  tested


Believe you me -- I am **very** aware of the painfulness inherent in
applications trying ipv6, failing, not knowing they cannot use ipv6, and
eventually timing out.

I historically solved it with the sysctl because my ISP had
broken/nonexistent ipv6, I continue to solve it with the sysctl when my
network cannot handle ipv6, and I will solve it with the sysctl in the
future when my network cannot handle ipv6.

I do not "solve" ipv6 by building 0.05% of my applications with
crash-prone APIs just because those APIs are also so old they predate ipv6.

The new APIs support ipv4 quite well; use them.

I'm sorry to hear you "broke" your own system through your own stubborn
ignorance. At no point did Gentoo developers ever break your ipv4, you
are imagining it.


>   After that I ran with USE="-* yada yada yada" for quite some time.
> Currently, I'm less extreme, merely disabling a bunch of USE flags...
> 
> USE="X apng ffmpeg introspection jpeg opengl openmp png truetype x264 x265 
> xorg threads vala -acl -caps -clang -context -elogind -filecaps -graphite 
> -gstreamer -haptic -iptables -ipv6 -libav -llvm -manpager -pam -sendmail 
> -spirv -tofu -su -udisks -upower -wayland"
> 
>   The "szip" and "xinerama" USE flags seem to have disappeared.


That's quite the bloated collection of enabled USE flags you have there
-- lots of stuff that are much more bloated than ipv6, in fact. :)

And really, you despise app-text/manpager with such ferocity that you
have to set a global USE for it lest a second program come to add that USE?

You hate /usr/bin/su so much that it's simply intolerable that
util-linux might build it?

But support for animated PNG files is too precious and dear to you, that
feature you absolutely have to have. Oh no, the bloat! We will be buried
under it!

...

But using a tested ipv4 codepath instead of an untested ipv4 codepath is
too much bloat for you, so you'd rather the crashes and the segfaults.
Brilliant.


>   And who can forget the move from /dev/hda hdb hdc etc., to /dev/sda
> sdb sdc etc.?  Machine literally unbootable on the newly compiled
> kernel.  Fortunately, I always have "Production" and "Experimental"
> kernels.  The newly compiled kernel is always "Experimental".  If things
> go badly, I drop back to the "Production" kernel and try to figure out
> what went wrong.  Only after a long while do I execute my "promote"
> script that copies "Experimental" over top of "Production".


That's quite the long-term grudge you have there. "Who can forget" it
indeed. ;) How about: pretty much everyone. What a tempest in a teapot.

(Even if I took this rant seriously, that wasn't anything the Gentoo
developers did. What's your proposed remediation, stay on the earlier
editions of kernel 2.6 for another 15 years because "that newfangled 2.6
kernel man, that's just totally breaking my system"?)

Your kernel testing and rotation management is boringly plebeian, as
it's what approximately every other Gentoo system does by default
without any configuration needed.


-- 
Eli Schwartz

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to