[libcamera-devel] [PATCH v2 1/3] apps: qcam: Port to Qt 6
Neal Gompa
neal at gompa.dev
Tue Jan 23 02:14:10 CET 2024
On Mon, Jan 22, 2024 at 7:21 PM Gergo Koteles <soyer at irl.hu> wrote:
>
> On Mon, 2024-01-22 at 17:40 -0500, Neal Gompa wrote:
> > On Mon, Jan 22, 2024 at 5:31 PM Kieran Bingham
> > <kieran.bingham at ideasonboard.com> wrote:
> > >
> > > Quoting Neal Gompa (2024-01-22 19:55:20)
> > > > On Mon, Jan 22, 2024 at 11:02 AM Kieran Bingham
> > > > <kieran.bingham at ideasonboard.com> wrote:
> > > > >
> > > > > > > > > > > So it's just Ubuntu/Canonical holding us back here ...
> > > > > > > > > > >
> > > > > > > > > > > Any thoughts anyone?
> > > > > > > > > >
> > > > > > > > > > I was hoping jammy-backports would help us, but that doesn't seem to be
> > > > > > > > > > the case :-(
> > > > > > > > > >
> > > > > > > > > > As there doesn't seem to be an urgency to switch to Qt 6 (unless I'm
> > > > > > > > > > missing something), I'm tempted to propose waiting until Ubuntu 24.04
> > > > > > > > > > gets released.
> > >
> > > Is there an urgency? Is there a requirement to move to QT6 for Fedora or
> > > otherwise?
> > >
> > > > > > > > >
> > > > > > > > > Noble (24.04) will have either 1.2.1 or 1.3.1 (there are different
> > > > > > > > > versions in proposed and Release). Either way it will be > 1.2! :
> > > > > > > > > https://launchpad.net/ubuntu/noble/+package/meson
> > > > > > > > >
> > > > > > > > > I would propose that the meson version update is separated from the
> > > > > > > > > patch as a preceeding commit, and could already be resent. Then we can
> > > > > > > > > simply pick these in April. I'd probably say we could merge this in
> > > > > > > > > early April, such that we can make a release of libcamera with that
> > > > > > > > > support merged soon after Ubuntu 24.04 is released on April 25th.
> > > > > > > > >
> > > > > > > >
> > > > > > > > On the flip side, if it's merged and released into Debian before the
> > > > > > > > Ubuntu freeze on Feb 29[1], then it would be part of Ubuntu 24.04
> > > > > > > > itself.
> > > > > > >
> > > > > > > That's an interesting take too.
> > > > > > >
> > > > > > > Which one is the chicken and which one is the egg?
> > > > > > >
> > > > > > > Our early requirement for meeting the dependencies in the distributions
> > > > > > > was because the distributions themselves were not including libcamera.
> > > > > > > Therefore, users of libcamera /had/ to be able to build libcamera.
> > > > > > >
> > > > > > > Now that things can be included, perhaps that's reason enough to say
> > > > > > > aiming for integration is better.
> > > > > > >
> > > > > > > > [1]: https://discourse.ubuntu.com/t/noble-numbat-release-schedule/35649
> > > > > > >
> > > > > > > It looks like libcamera-0.2 is already included in the noble release, so
> > > > > > > package updates into debian look like they get into Ubuntu quite 'fast'.
> > > > > > >
> > > > > > > I feel like targetting getting /into/ the next Ubuntu LTS with updates
> > > > > > > is better than working on /top/ of it.
> > > > > > >
> > > > > > > The expense/cost is that in between we would no longer support compiling
> > > > > > > the master branch (or intermediate releases) with the 'current' LTS of
> > > > > > > Ubuntu.
> > > > > > >
> > > > > > > I could say "Oh well, that probably doesn't matter" ... except ... I use
> > > > > > > Ubuntu-22.04 as my main distro ... and I would plan to upgrade at the
> > > > > > > next release.
> > > > > > >
> > > > > > > I'm aware that I can work around this issue by upgrading meson myself.
> > > > > > > The question is what will happen to others ... and maybe it's just
> > > > > > > something we should bite and help them upgrade meson in the interim.
> > > > > > >
> > > > > >
> > > > > > Well, in a previous life I used to maintain Meson backports for Ubuntu.
> > > > > >
> > > > > > I'm happy to provide a package (based on the CentOS 9 one) for Ubuntu
> > > > > > 22.04 until 24.04 is released if it would help you:
> > > > > > https://software.opensuse.org//download.html?project=home%3APharaoh_Atem%3AMeson&package=meson
> > > > >
> > > > > Is there an official Ubuntu channel for that? If you can make
> > > > > 'ubuntu-22.04' support a later meson - I have no argument to prevent this
> > > > > being merged already!
> > > > >
> > > >
> > > > No. At this point, it would be unlikely to get updated unless you know
> > > > someone who can ship something in jammy-backports. But even then, with
> > > > 24.04 coming in a few months, 22.04 has been in its zombie period for
> > > > a while now. Typically, the expectation is that you either use later
> > > > Ubuntu STS releases (23.10 is a perfectly fine release, as an example)
> > > > or backport what you need while you wait for the next LTS.
> > > >
> > > > If you intend to hold back the patch until after 24.04 releases, then
> > > > there is no chance for this to be part of Ubuntu 24.04 itself, which I
> > > > think would be a shame. I prepared a backport for meson for Ubuntu
> > > > 22.04 because you said it would help you for developing on 22.04. I am
> > >
> > > I myself am quite capable of updating meson. I was highlighting that
> > > there are 'users' of Ubuntu 22.04. Our aim for libcamera has always been
> > > to make sure that libcamera can be built on the 'main distributions'.
> > > For which we define that as 'the latest LTS of the big distros'.
> > >
> > > My question above was because it sounded like you could get that solved
> > > by fixing the one remaining stuck-in-the-past distro which is blocking
> > > us.
> > >
> > > "> Well, in a previous life I used to maintain Meson backports for Ubuntu."
> > >
> > > And if you could do that - there would be nothing blocking the patch!
> > >
> >
> > Unfortunately, not in Ubuntu proper. I did it outside of the distribution.
> >
> > It's actually very hard to get a backport of Meson through because it
> > is not behavior-stable across releases. This is incredibly important
> > for Debian and Ubuntu, which is likely why Meson almost never sees
> > official backports. Even CentOS Meson upgrades required a lot of work
> > to bend new releases to be more backward compatible so nothing would
> > break.
> >
> > > > not about to ask you to move to Fedora (which is what I use) or CentOS
> > > > Stream 9 (which would be an analogous LTS that does have a recent
> > > > enough Meson).
> > > >
> > > > My only argument at this point is that you can choose to include the
> > > > patch now and make a release so it can land in Debian sid now, and
> > > > thus make it into Ubuntu 24.04 so that Ubuntu users will benefit from
> > > > it. From my perspective, I want this so that Fedora users and later
> > > > CentOS 10 users will benefit from it. I also think that Debian/Ubuntu
> > >
> > > The question for us though is how many people's set ups will we break by
> > > updating and merging this patch? I don't know the answer - it could be a
> > > handfull or less, which may be worth the 'short term' support cost.
> > > Maybe its none (one including me?) Or maybe its more? We don't have a
> > > way to know until they shout angrily ...
> > >
> > >
> >
> > I think realistically most people use libcamera from the distributions
> > themselves. And in Debian and Ubuntu, libcamera is not updated in
> > stable releases at all. If people are trying to use updated libcamera
> > on those distributions, then they are either 1) building from source
> > or 2) installing a third party build. In both scenarios, handling a
> > meson upgrade is probably reasonable.
> >
> > > > folks would benefit from it because it's one less thing depending on
> > > > essentially unsupported versions of Qt.
> > >
> > > I don't disagree. Hence earlier - which is the chicken, and which is the
> > > egg ...
> >
> > 🤷♂️
> >
> >
>
> Why not support both Qt5 and Qt6 for about a year? Drop Qt5 then?
> Use Qt5 if meson is old, otherwise use Qt6.
>
Two problems with it:
1. It's a lot of complexity for the meson scripts
2. Open Source Qt 5 is EOL. It's super-EOL now that both Qt 6.2 LTS
and Qt 6.5 LTS are available. KDE itself requires Qt 6.6 now. Qt 6.7
is coming in March!
If I were going to do anything, I'd make qcam conditional on newer
meson instead until we can drop that once everyone developing
libcamera on Ubuntu 22.04 moves to Ubuntu 24.04.
But I still think we should bite the bullet, land this, and get a
release that can be included in 24.04.
--
真実はいつも一つ!/ Always, there's only one truth!
More information about the libcamera-devel
mailing list