Re: xconfig is broken again on Qt5

From: Maxim Levitsky
Date: Tue Sep 15 2020 - 05:58:22 EST


On Mon, 2020-09-14 at 22:56 -0700, Randy Dunlap wrote:
> On 9/14/20 10:41 PM, Mauro Carvalho Chehab wrote:
> > Em Tue, 15 Sep 2020 00:25:07 +0900
> > Masahiro Yamada <masahiroy@xxxxxxxxxx> escreveu:
> >
> > > On Sun, Sep 13, 2020 at 10:21 PM Maxim Levitsky <mlevitsk@xxxxxxxxxx> wrote:
> > > > I hate to say it, but xconfig got broken again.
> > > >
> > > > After commit 68fd110b3e7e2 ("kconfig: qconf: remove redundant help in the info view")
> > > > help description disappered completely from xconfig (both normal and split mode)
> > > >
> > > > I reverted this and next commit to get this back.
> > > >
> > > > I have a feeling that there were several bugs introduced to xconfig recently
> > > > due to attempt to support both Qt4 and Qt5. Maybe we should only support one version?
> > >
> > > xconfig was originally written for Qt3, and
> > > got broken in many ways after being converted to Qt5.
> > > (commit 8328447af88eaab1d thru b4ff1de3b8381a4)
> > >
> > > That is my gut feeling.
> > >
> > > So, xconfig carried broken code everywhere
> > > for many years.
> > >
> > > I think supporting both Qt4 and Qt5
> > > is doable, but testing both versions is tedious.
> > > I'd like to want to drop Qt4 support in the future but
> > > not in this development cycle because there are still
> > > some people using Qt4.
> >
> > My 2 cents here: I ported Kaffeine from Qt4 to Qt5. When I did that,
> > I tried to make it compatible with both, but that was not easy. So,
> > it now supports only Qt5. Ok, Kaffeine uses a lot of different APIs.
> >
> > It is probably doable to keep xconfig compatible with both Qt4 and
> > Qt5, but not sure if it is worth the efforts, as Qt5 was released
> > at the end of 2012. So, I guess that all distros should have Qt5
> > packages, even the LTS ones.
> >
> > > Recently I changed xconfig a lot because I noticed
> > > various bugs, and also needed to simplify the code
> > > for better maintainability.
> > >
> > >
> > > Sorry for the pain, but we need to change the code
> > > to make it stable and maintainable.
> > >
> > > For the reported issue,
> > > does this work for you?
> > > https://patchwork.kernel.org/patch/11774055/
> > >
> > >
> > > > I tried gconfig even thinking maybe nobody uses xconfig these days
> > > > but gconfig seems to lack search function.
> > >
> > > gconfig is not well maintained either.
> > >
> > > I think it should be converted from gtk+2 to gtk+3
> > > and I know various bugs that need fixing
> > > (but I have not been able to find time to work on it...)
> >
> > Such conversion can also be painful. I also did two such
> > conversions for other media packages (Camorama and ZBar). Also,
> > gtk4 is close to be released:
> >
> > https://www.phoronix.com/scan.php?page=news_item&px=GTK-3.99.1-Released
> >
> > Porting from gtk+3 to gtk4 is also painful. I tried to prepare
> > Camorama (which currently supports both gtk+2 and gtk+3) for gtk4,
> > but one of the fundamental features needed for it to work was dropped
> > (a way to write video images inside a widget). Last time I checked,
> > there were no obvious replacement for it (didn't check 3.99 yet).
> >
> > Maybe the main point here is if we should keep maintaining two
> > GUI frontends.
>
> I can't recall (m)any gconfig users.
> And it is missing some critical features IMO, like Search.
>
>
Thank you very much. The patch works.

I wish I could myself fix the issues that I find in xconfig to avoid bothering
you with that, so I am thinking maybe you can write a short piece of documentation
on how the things are connected in xconfig? Through my life I deciphered
a lot of code, but I kind of tried to understand xconfig, and while I do
have some rough Qt knoweldge (like that I know what slot/signals are),
but still I wasn't able to wrap my head around it yet.

Best regards,
Maxim Levitsky