[libcamera-devel] [PATCH v2 1/3] apps: qcam: Port to Qt 6
Neal Gompa
neal at gompa.dev
Mon Jan 22 20:55:20 CET 2024
On Mon, Jan 22, 2024 at 11:02 AM Kieran Bingham
<kieran.bingham at ideasonboard.com> wrote:
>
> Quoting Neal Gompa (2024-01-22 14:08:37)
> > On Mon, Jan 22, 2024 at 8:07 AM Kieran Bingham
> > <kieran.bingham at ideasonboard.com> wrote:
> > >
> > > Quoting Neal Gompa (2024-01-22 11:08:33)
> > > > On Mon, Jan 22, 2024 at 6:00 AM Kieran Bingham
> > > > <kieran.bingham at ideasonboard.com> wrote:
> > > > >
> > > > > Quoting Laurent Pinchart (2024-01-22 09:53:39)
> > > > > > On Mon, Jan 22, 2024 at 09:38:33AM +0000, Kieran Bingham via libcamera-devel wrote:
> > > > > > > Aha, I missed that there was already a v2.
> > > > > > >
> > > > > > > Quoting Neal Gompa via libcamera-devel (2024-01-21 22:39:53)
> > > > > > > > Open source Qt 5 has been effectively end of life since the release
> > > > > > > > of Qt 6, and Qt 6 has current LTS releases now.
> > > > > > > >
> > > > > > > > This change ports qcam to Qt 6.2 and drops some of the baggage related
> > > > > > > > to Qt 5 that is no longer applicable.
> > > > > > > >
> > > > > > > > Signed-off-by: Neal Gompa <neal at gompa.dev>
> > > > > > > > ---
> > > > > > > > README.rst | 2 +-
> > > > > > > > meson.build | 2 +-
> > > > > > > > src/apps/qcam/meson.build | 45 +++++++++++----------------------------
> > > > > > > > 3 files changed, 15 insertions(+), 34 deletions(-)
> > > > > > > >
> > > > > > > > diff --git a/README.rst b/README.rst
> > > > > > > > index 315738ee..6f1c9302 100644
> > > > > > > > --- a/README.rst
> > > > > > > > +++ b/README.rst
> > > > > > > > @@ -88,7 +88,7 @@ for cam: [optional]
> > > > > > > > - libsdl2-dev: Enables the SDL sink
> > > > > > > >
> > > > > > > > for qcam: [optional]
> > > > > > > > - libtiff-dev qtbase5-dev qttools5-dev-tools
> > > > > > > > + libtiff-dev qt6-base-dev qt6-tools-dev-tools
> > > > > > > >
> > > > > > > > for tracing with lttng: [optional]
> > > > > > > > liblttng-ust-dev python3-jinja2 lttng-tools
> > > > > > > > diff --git a/meson.build b/meson.build
> > > > > > > > index cb6b666a..4c315e2a 100644
> > > > > > > > --- a/meson.build
> > > > > > > > +++ b/meson.build
> > > > > > > > @@ -1,7 +1,7 @@
> > > > > > > > # SPDX-License-Identifier: CC0-1.0
> > > > > > > >
> > > > > > > > project('libcamera', 'c', 'cpp',
> > > > > > > > - meson_version : '>= 0.60',
> > > > > > > > + meson_version : '>= 0.63',
> > > > > > >
> > > > > > > Debian Bookworm: is currently at 1.0.1-5
> > > > > > > https://packages.debian.org/source/stable/meson
> > > > > > >
> > > > > > > Ubuntu 22.04.3 is currently at 0.61.2-1 :-(
> > > > > > > https://packages.ubuntu.com/jammy/meson
> > > > > > >
> > > > > > > We're about 3 months away from Ubuntu 24.04 ...
> > > > > > >
> > > > > > >
> > > > > > > Fedora is in a better shape, and all Fedora releases in support have a
> > > > > > > recent Meson at 1.2.3 or later:
> > > > > > > https://src.fedoraproject.org/rpms/meson
> > > > > > >
> > > > > > > Redhat Enterprise linux looks more problematic - So I'm not sure if that
> > > > > > > should be included in fact.
> > > > > > >
> > > > > > > OpenSuse seems to be already at 1.3.1 too:
> > > > > > > https://software.opensuse.org/package/meson?locale=en
> > > > > > >
> > > > > > > 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.
> > > > >
> > > > > 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
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
folks would benefit from it because it's one less thing depending on
essentially unsupported versions of Qt.
--
真実はいつも一つ!/ Always, there's only one truth!
More information about the libcamera-devel
mailing list