Hello, Eli.

On Mon, Sep 23, 2024 at 17:11:14 -0400, Eli Schwartz wrote:
> On 9/23/24 4:14 PM, Alan Mackenzie wrote:
> > Hello, Gentoo.

> > I got a nasty shock earlier on this evening when I was updating my
> > (still newish) system.  Around (perhaps) 70 packages to be updated or
> > reloaded, several of them big packages.  What's going on?

> > There were lots of qt and kde packages being sucked in.  But what stood
> > out prominently was the wayland USE flag, which appeared to have been
> > enabled in most of these packages.

> > What on Earth is going on?  I never asked for wayland, and I haven't
> > received any news items about it in the last few weeks.  I know little
> > about this X substitute, but one thing's vitually certain; that
> > installing it as emerge intended would lead to a lot of breakage.


> Intriguing that you feel it is "vitally certain" it will lead to
> breakage. Where do you derive that conclusion from?

It's a big change, wayland is known to be incompatible with X, as far as
I'm aware XFCE doesn't yet work with it, and there is no completely
satisfactory version of Emacs which runs with wayland (I'm an Emacs
developer, and bugs keep coming in from people trying Emacs on wayland.)

> To be sure, installing it as emerge intended would lead to a lot of
> recompiling and packages that you aren't using.

Yes.

> That's the description of bloat, not the description of breakage.

Maybe so, but who wants bloat?  There are binary distribution for such
people.  ;-)

> To be perfectly clear: both X and Wayland support can be and frequently
> are compiled into the same program and/or the same toolkit. It kind of
> needs to, because binary distros such as Arch, Debian, Fedora etc only
> provide one build, and that has to work for people using X, and it has
> to work for people using Wayland.

OK, thanks.  I didn't know that.

> The resulting packages pull in support libraries that implement both
> technologies. This is (usually, absent dlopen tricks) a fundamental
> requirement of "ld.so", the runtime loader: if you compile support for
> it, you have to have it installed.

> But no code is *run*, because it is all conditional on a check that
> looks like such:


> #if defined(COMPILED_WITH_WAYLAND_SUPPORT)

> if get_current_display_server_type() == 'wayland':
>     run_wayland_specific_code()

> #elif defined(COMPILED_WITH_X_SUPPORT)

> if get_current_display_server_type() == 'xorg':
>     run_xorg_specific_code()

> #endif

OK.

> Please note that no matter what display server you run,
> get_current_display_server_type() is the same function either way, so
> you're not actually running any "wayland code" even if you check to see
> whether you are running wayland.

But the unused code still gets built in, doesn't it?  That's a somewhat
un-gentoo like situation.

> But you do need to install the wayland libraries, since the body of the
> if statement runs "wayland code". Unless you compile the package with
> USE="-wayland", which means that neither
> get_current_display_server_type() nor run_wayland_specific_code() are
> compiled at all.

That's what I ended up doing.

> In short, installing wayland will NOT break your X11 system and it is
> rank paranoia to assume so or claim so.

Put yourself in my position, which wasn't one of knowledge.  It's a
matter of decades of experience which suggest that big changes cause
breakage, just like throwing crockery onto the floor does.

> But it will make you compile a bunch of stuff you don't want or need.
> Surely, that is reason enough for you to make an informed choice about
> disabling USE flags that you do not need, rather than worrying about how
> Gentoo is broken all of a sudden?

That was kind of the point I was making.  I had to guess which flag to
disable; I don't think it was in any documentation.

> 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?

It happens, from time to time, by accident.  For example, emerge
--depclean on my system wants to unmerge openrc.  Not a deliberate move
by the developers, just some accident.  But it's the reason I don't do
emerge --depclean, ever.

> :(


> > So I disabled the wayland USE flag in my make.conf, and the number of
> > packages to merge went down to 29.  I merged them.

> > I'm hoping my machine is still stable.  It would have been nice to have
> > got a news item about this change.  :-(


> Your machine was, is, and will continue to be stable. Please, relax. :)

Thanks!

> News items are a better fit for scenarios where users are required to
> take action. No one is required to take action here, though you may take
> action if you wish. There are lots of other things that don't require
> action, but you may choose to take action over. Any system update can
> update a package that you like, to a new upstream version that removes
> your favorite features. Does there need to be a news item every time a
> package is updated?

> I assure you you'd get quite sick and tired of the constant news items
> if that actually happened.

OK, but this change appears to be dramatic, and likely to cause concern
to users.  Most changes are much smaller, and can be emerged without
thought.  But for something like switching on a contraversial package
like wayland, something which on my system would have caused lots of qt
and kde packages to be loaded (why?), a warning might not have gone
amiss.

> P.S. Yes, I disabled the wayland USE as well. I'm not trying to push
> wayland on you, don't worry.

:-)

> -- 
> Eli Schwartz

-- 
Alan Mackenzie (Nuremberg, Germany).

Reply via email to