[Buildroot] [PATCH 2/3] package/qt6/qt6positioning: new package

Roy Kollen Svendsen roykollensvendsen at gmail.com
Mon Feb 24 08:39:11 UTC 2025


Hi Bernd,

I have some comments, mainly on what licensing files and licenses to list.
But this is unclear to me. So you should ask Thomas or someone else about
this.

søn. 23. feb. 2025 kl. 19:37 skrev Bernd Kuhls <bernd at kuhls.net>:

> Needed for GPS support in Stellarium.
>
> Signed-off-by: Bernd Kuhls <bernd at kuhls.net>
> ---
>  package/qt6/Config.in                         |  1 +
>  package/qt6/qt6positioning/Config.in          |  8 ++++
>  .../qt6/qt6positioning/qt6positioning.hash    | 16 +++++++
>  package/qt6/qt6positioning/qt6positioning.mk  | 47 +++++++++++++++++++
>  4 files changed, 72 insertions(+)
>  create mode 100644 package/qt6/qt6positioning/Config.in
>  create mode 100644 package/qt6/qt6positioning/qt6positioning.hash
>  create mode 100644 package/qt6/qt6positioning/qt6positioning.mk
>
> diff --git a/package/qt6/Config.in b/package/qt6/Config.in
> index 10594691cf..d0105db28d 100644
> --- a/package/qt6/Config.in
> +++ b/package/qt6/Config.in
> @@ -52,6 +52,7 @@ source "package/qt6/qt6languageserver/Config.in"
>  source "package/qt6/qt6mqtt/Config.in"
>  source "package/qt6/qt6multimedia/Config.in"
>  source "package/qt6/qt6opcua/Config.in"
> +source "package/qt6/qt6positioning/Config.in"
>  source "package/qt6/qt6quick3d/Config.in"
>  source "package/qt6/qt6quicktimeline/Config.in"
>  source "package/qt6/qt6scxml/Config.in"
> diff --git a/package/qt6/qt6positioning/Config.in
> b/package/qt6/qt6positioning/Config.in
> new file mode 100644
> index 0000000000..a083dcffb3
> --- /dev/null
> +++ b/package/qt6/qt6positioning/Config.in
> @@ -0,0 +1,8 @@
> +config BR2_PACKAGE_QT6POSITIONING
>
+       bool "qt6positioning"
>

Can you explain why you need to select the Gui component here? Looking at
the CMake files the Gui component looks optional:

+       select BR2_PACKAGE_QT6BASE_GUI
> +       help
> +         This package provides Qt6 Positioning:
> +
> +         https://doc.qt.io/qt-6/qtpositioning-index.html
> +         https://code.qt.io/cgit/qt/qtpositioning.git
> diff --git a/package/qt6/qt6positioning/qt6positioning.hash
> b/package/qt6/qt6positioning/qt6positioning.hash
> new file mode 100644
> index 0000000000..65c58c484c
> --- /dev/null
> +++ b/package/qt6/qt6positioning/qt6positioning.hash
> @@ -0,0 +1,16 @@
> +# Hash from:
> https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtpositioning-everywhere-src-6.8.1.tar.xz.sha256
> +sha256
> <https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtpositioning-everywhere-src-6.8.1.tar.xz.sha256+sha256>
> e310e7232591d4beb1785bfff8ff3e77430bdf5e9a17f56694b732f5267df78d
> qtpositioning-everywhere-src-6.8.1.tar.xz
> +
> +# Hashes for license files
>

You can probably remove and add some checksums here... Se my comments
further down on LICESENS_FILES.


> +sha256  cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30
> LICENSES/Apache-2.0.txt
> +sha256  9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce
> LICENSES/BSD-3-Clause.txt
> +sha256  3abd6471b9a9a08d65ce771143f8e278bb4c1aeb10c1c2d476935a6b049653f5
> LICENSES/BSL-1.0.txt
> +sha256  a2010f343487d3f7618affe54f789f5487602331c0a8d03f49e9a7c547cf0499
> LICENSES/CC0-1.0.txt
> +sha256  110535522396708cea37c72a802c5e7e81391139f5f7985631c93ef242b206a4
> LICENSES/GFDL-1.3-no-invariants-only.txt
> +sha256  8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643
> LICENSES/GPL-2.0-only.txt
> +sha256  8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903
> LICENSES/GPL-3.0-only.txt
> +sha256  da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768
> LICENSES/LGPL-3.0-only.txt
> +sha256  9b1f50aae6267f9d5e0ceb6775ee86450262c25ec7c0573e151fe5d3f18a4700
> LICENSES/LicenseRef-Qt-Commercial.txt
> +sha256  d040359701c01996a017d5c515678929cd1b0625e64cb86db44025fbb6cdf1fc
> LICENSES/MIT.txt
> +sha256  ed0df7c746c39b27f297cc1bf5e8cdfa5b53c7056572092a77db02278435a689
> LICENSES/OFL-1.1.txt
> +sha256  40678d338ce53cd93f8b22b281a2ecbcaa3ee65ce60b25ffb0c462b0530846b2
> LICENSES/Qt-GPL-exception-1.0.txt
> diff --git a/package/qt6/qt6positioning/qt6positioning.mk
> b/package/qt6/qt6positioning/qt6positioning.mk
> new file mode 100644
> index 0000000000..7fe0e74c5b
> --- /dev/null
> +++ b/package/qt6/qt6positioning/qt6positioning.mk
> @@ -0,0 +1,47 @@
>
> +################################################################################
> +#
> +# qt6positioning
> +#
>
> +################################################################################
> +
> +QT6POSITIONING_VERSION = $(QT6_VERSION)
> +QT6POSITIONING_SITE = $(QT6_SITE)
> +QT6POSITIONING_SOURCE =
> qtpositioning-$(QT6_SOURCE_TARBALL_PREFIX)-$(QT6POSITIONING_VERSION).tar.xz
> +QT6POSITIONING_INSTALL_STAGING = YES
> +QT6POSITIONING_SUPPORTS_IN_SOURCE_BUILD = NO
> +QT6POSITIONING_CMAKE_BACKEND = ninja
> +
>
+QT6POSITIONING_LICENSE = \
>

I think the maintainers agreed on only lisiting the licenses for things
that end up on target, and only the top-level license which is listed here:
https://doc.qt.io/qt-6/qtpositioning-index.html#licenses.
So I think it is enough to write:

QT6POSITIONING_LICENSE =  GPL-2.0 or GPL-3.0 or LGPL-3.0


> +       GPL-2.0 or GPL-3.0 or LGPL-3.0, \
> +       BSL-1.0, \
> +       CC0-1.0, \
> +       GFDL-1.3 no invariants (docs), \
> +       GPL-3.0 WITH Qt-GPL-exception-1.0, \
> +       OFL-1.1 (TitilliumWeb), \
> +       BSD-3-Clause (examples + buildsystem)
>
+
>

Here I think you can drop the license-files for things that don't end up on
target:

QT6POSITIONING_LICENSE_FILES = \
       LICENSES/GPL-2.0-only.txt \
       LICENSES/GPL-3.0-only.txt \
       LICENSES/LGPL-3.0-only.txt

See also: src/3rdparty/*/{qt_attribution.json,LICENSE}. Maybe we should add
license files for these sub-level licenses too?

+QT6POSITIONING_LICENSE_FILES = \
> +       LICENSES/Apache-2.0.txt \
> +       LICENSES/BSD-3-Clause.txt \
> +       LICENSES/BSL-1.0.txt \
> +       LICENSES/CC0-1.0.txt \
> +       LICENSES/GFDL-1.3-no-invariants-only.txt \
> +       LICENSES/GPL-2.0-only.txt \
> +       LICENSES/GPL-3.0-only.txt \
> +       LICENSES/LGPL-3.0-only.txt \
> +       LICENSES/LicenseRef-Qt-Commercial.txt \
> +       LICENSES/MIT.txt \
> +       LICENSES/OFL-1.1.txt \
> +       LICENSES/Qt-GPL-exception-1.0.txt
> +
> +QT6POSITIONING_DEPENDENCIES = qt6base
> +
> +ifeq ($(BR2_PACKAGE_QT6DECLARATIVE)$(BR2_PACKAGE_QT6DECLARATIVE_QUICK),yy)
> +QT6POSITIONING_DEPENDENCIES += qt6declarative
> +endif
> +
> +ifeq ($(BR2_PACKAGE_QT6SERIALPORT),y)
> +QT6POSITIONING_DEPENDENCIES += qt6serialport
> +endif
> +
> +$(eval $(cmake-package))
> --
> 2.39.5
>

Regards,
Roy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.buildroot.org/pipermail/buildroot/attachments/20250224/5b9990b3/attachment.htm>


More information about the buildroot mailing list