From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v6 19/28] core/pkg-infra: Add per-package support in qmake infra
Date: Fri, 10 Apr 2020 22:25:53 +0200 [thread overview]
Message-ID: <20200410202553.GJ29898@scaer> (raw)
In-Reply-To: <20200217212350.29750-20-anaumann@ultratronik.de>
Andreas, All,
On 2020-02-17 22:23 +0100, Andreas Naumann spake thusly:
> Qmake configured packages will, by default, use the absolute HostPrefix/Sysroot
> pathes set during configuration/building of qt5base for their install
> destinations.
> For the per-package host/staging infrastructure, this causes non-qt5base
> packages to litter the qt5base folders. In addition, buildroots target-install
> step subsequently fails because the respective files are missing from the
> per-package sysroot of the package itself.
>
> Fortunately, qmake's built-in pathes can be overridden by placing a custom
> qt.conf next to the qmake binary. This is already used to facilitate SDK
> relocation. So for per-package path manipulation we can reuse that method, but
> need to change the host/sysroot values according to each per-package
> path.
Neat! :-)
> Signed-off-by: Andreas Naumann <anaumann@ultratronik.de>
> ---
[--SNIP--]
> diff --git a/package/qt5/qt5.mk b/package/qt5/qt5.mk
> index d94d9cc99f..eb2a749678 100644
> --- a/package/qt5/qt5.mk
> +++ b/package/qt5/qt5.mk
> @@ -17,5 +17,20 @@ QT5_SITE = https://download.qt.io/archive/qt/$(QT5_VERSION_MAJOR)/$(QT5_VERSION)
>
> include $(sort $(wildcard package/qt5/*/*.mk))
>
> +# The file "qt.conf" can be used to override the hard-coded paths that are
> +# compiled into the Qt library. We need it to make "qmake" relocatable and
> +# tweak the per-package install pathes
> +define QT5_INSTALL_QT_CONF
> + rm -f $(HOST_DIR)/bin/qt.conf && \
This rm is superfluous, since you're overwriting the file anyway...
> + sed -e "s|@@HOST_DIR@@|$(HOST_DIR)|" -e "s|@@STAGING_DIR@@|$(STAGING_DIR)|" \
> + $(QT5BASE_PKGDIR)/qt.conf.in > $(HOST_DIR)/bin/qt.conf
^
Here -------------------------------/
No need to resend jsut for that, it can be fixed locally when applying.
Otherwise:
Reviewed-by: Yann E. MORIN <yann.morin.1998@free.fr>
Regards,
Yann E. MORIN.
> +endef
> +
> +ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),y)
> +define QT5_QT_CONF_FIXUP
> + $(QT5_INSTALL_QT_CONF)
> +endef
> +endif
> +
> # Variable for other Qt applications to use
> QT5_QMAKE = $(HOST_DIR)/bin/qmake -spec devices/linux-buildroot-g++
> diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
> index 03f984ef8c..960a802b3b 100644
> --- a/package/qt5/qt5base/qt5base.mk
> +++ b/package/qt5/qt5base/qt5base.mk
> @@ -352,13 +352,6 @@ define QT5BASE_CONFIGURE_CMDS
> )
> endef
>
> -# The file "qt.conf" can be used to override the hard-coded paths that are
> -# compiled into the Qt library. We need it to make "qmake" relocatable.
> -define QT5BASE_INSTALL_QT_CONF
> - sed -e "s|@@HOST_DIR@@|$(HOST_DIR)|" -e "s|@@STAGING_DIR@@|$(STAGING_DIR)|" \
> - $(QT5BASE_PKGDIR)/qt.conf.in > $(HOST_DIR)/bin/qt.conf
> -endef
> -
> -QT5BASE_POST_INSTALL_STAGING_HOOKS += QT5BASE_INSTALL_QT_CONF
> +QT5BASE_POST_INSTALL_STAGING_HOOKS += QT5_INSTALL_QT_CONF
>
> $(eval $(qmake-package))
> --
> 2.25.0
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
next prev parent reply other threads:[~2020-04-10 20:25 UTC|newest]
Thread overview: 98+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-17 21:23 [Buildroot] [PATCH v6 00/28] Qt5 qmake infra and per-package compatibility Andreas Naumann
2020-02-17 21:23 ` [Buildroot] [PATCH v6 01/28] package/qt5base: Do not build shared libs if BR2_STATIC_LIBS is chosen Andreas Naumann
2020-03-09 21:21 ` Thomas Petazzoni
2020-03-09 22:42 ` Peter Seiderer
2020-03-10 8:13 ` Thomas Petazzoni
2020-03-10 8:17 ` Peter Seiderer
2020-03-10 17:02 ` Andreas Naumann
2020-02-17 21:23 ` [Buildroot] [PATCH v6 02/28] core/pkg-infra: Add generic qmake package infrastructure Andreas Naumann
2020-03-09 22:10 ` Thomas Petazzoni
2020-03-10 17:10 ` Andreas Naumann
2020-02-17 21:23 ` [Buildroot] [PATCH v6 03/28] qt5: Convert straightforward packages to qmake infra Andreas Naumann
2020-03-09 22:12 ` Thomas Petazzoni
2020-03-10 18:09 ` Andreas Naumann
2020-02-17 21:23 ` [Buildroot] [PATCH v6 04/28] package/qt5base: Convert " Andreas Naumann
2020-03-09 22:29 ` Thomas Petazzoni
2020-03-10 18:20 ` Andreas Naumann
2020-02-17 21:23 ` [Buildroot] [PATCH v6 05/28] package/qwt: Partially convert " Andreas Naumann
2020-03-11 21:19 ` Thomas Petazzoni
2020-03-14 20:58 ` Andreas Naumann
2020-02-17 21:23 ` [Buildroot] [PATCH v6 06/28] package/qwt: Add missing qt5svg dependency Andreas Naumann
2020-02-17 21:56 ` Thomas Petazzoni
2020-02-18 9:43 ` Andreas Naumann
2020-02-18 14:58 ` Thomas Petazzoni
2020-02-19 19:16 ` Thomas Petazzoni
2020-02-17 21:23 ` [Buildroot] [PATCH v6 07/28] package/qt5tools: Partially convert to qmake infra Andreas Naumann
2020-03-11 21:22 ` Thomas Petazzoni
2020-02-17 21:23 ` [Buildroot] [PATCH v6 08/28] package/qt5virtualkeyboard: Convert " Andreas Naumann
2020-03-11 21:35 ` Thomas Petazzoni
2020-02-17 21:23 ` [Buildroot] [PATCH v6 09/28] package/quazip: " Andreas Naumann
2020-02-17 21:57 ` Thomas Petazzoni
2020-02-18 10:00 ` Andreas Naumann
2020-03-11 21:42 ` Thomas Petazzoni
2020-03-14 21:52 ` Andreas Naumann
2020-02-17 21:23 ` [Buildroot] [PATCH v6 10/28] package/qt5wayland: " Andreas Naumann
2020-03-11 21:48 ` Thomas Petazzoni
2020-02-17 21:23 ` [Buildroot] [PATCH v6 11/28] package/qt5webchannel: " Andreas Naumann
2020-03-11 21:49 ` Thomas Petazzoni
2020-02-17 21:23 ` [Buildroot] [PATCH v6 12/28] package/qt5webkit: " Andreas Naumann
2020-03-11 21:55 ` Thomas Petazzoni
2020-02-17 21:23 ` [Buildroot] [PATCH v6 13/28] package/qt5webkit-examples: " Andreas Naumann
2020-03-11 21:57 ` Thomas Petazzoni
2020-02-17 21:23 ` [Buildroot] [PATCH v6 14/28] package/qt5webengine: " Andreas Naumann
2020-03-11 22:01 ` Thomas Petazzoni
2020-03-16 21:15 ` Andreas Naumann
2020-02-17 21:23 ` [Buildroot] [PATCH v6 15/28] package/qt-webkit-kiosk: " Andreas Naumann
2020-03-11 22:04 ` Thomas Petazzoni
2020-03-16 21:53 ` Andreas Naumann
2020-02-17 21:23 ` [Buildroot] [PATCH v6 16/28] package/qt5cinex: " Andreas Naumann
2020-03-11 22:06 ` Thomas Petazzoni
2020-02-17 21:23 ` [Buildroot] [PATCH v6 17/28] core/pkg-infra: Fix package file statistics for parallel build Andreas Naumann
2020-03-11 22:07 ` Thomas Petazzoni
2020-03-16 21:54 ` Andreas Naumann
2020-02-17 21:23 ` [Buildroot] [PATCH v6 18/28] package/cmake: Fix for using -O in top-level make Andreas Naumann
2020-03-11 22:25 ` Thomas Petazzoni
2020-03-12 13:00 ` Arnout Vandecappelle
2020-03-12 13:22 ` Thomas Petazzoni
2020-03-16 22:15 ` Andreas Naumann
2020-03-17 6:08 ` Thomas Petazzoni
2020-03-17 19:02 ` Asaf Kahlon
2020-03-18 15:35 ` Andreas Naumann
2020-03-18 18:59 ` Asaf Kahlon
2020-03-18 21:03 ` Andreas Naumann
2020-03-19 11:40 ` Asaf Kahlon
2020-03-19 12:49 ` Thomas Petazzoni
2020-03-19 13:53 ` Asaf Kahlon
2020-03-19 14:00 ` Thomas Petazzoni
2020-03-22 20:46 ` Andreas Naumann
2020-02-17 21:23 ` [Buildroot] [PATCH v6 19/28] core/pkg-infra: Add per-package support in qmake infra Andreas Naumann
2020-04-10 20:25 ` Yann E. MORIN [this message]
2020-07-01 19:01 ` Yann E. MORIN
2020-07-20 6:14 ` Peter Korsgaard
2020-02-17 21:23 ` [Buildroot] [PATCH v6 20/28] qt5: Fix pkgconfig search path for per-package infrastructure Andreas Naumann
2020-06-19 10:22 ` Louis-Paul CORDIER
2020-07-01 21:15 ` Yann E. MORIN
2020-07-01 21:54 ` Yann E. MORIN
2020-07-02 17:38 ` Yann E. MORIN
2020-07-22 19:48 ` LP C
2020-07-22 20:26 ` Yann E. MORIN
2020-07-23 10:29 ` Andreas Naumann
2020-07-23 20:17 ` Yann E. MORIN
2020-07-24 7:17 ` Andreas Naumann
2020-02-17 21:23 ` [Buildroot] [PATCH v6 21/28] package/python-sip: Fix qmake usage for per-package build Andreas Naumann
2020-03-11 22:30 ` Thomas Petazzoni
2020-03-16 22:32 ` Andreas Naumann
2020-07-01 21:56 ` Yann E. MORIN
2020-02-17 21:23 ` [Buildroot] [PATCH v6 22/28] package/python-pyqt5: " Andreas Naumann
2020-02-17 21:23 ` [Buildroot] [PATCH v6 23/28] package/qt5webengine: add libXdamage as XCB dependency Andreas Naumann
2020-03-12 8:15 ` Thomas Petazzoni
2020-03-16 22:40 ` Andreas Naumann
2020-03-22 21:58 ` Andreas Naumann
2020-03-22 22:03 ` Thomas Petazzoni
2020-02-17 21:23 ` [Buildroot] [PATCH v6 24/28] package/qt5webengine: Add optional dependency on qt5quickcontrols2 Andreas Naumann
2020-02-17 21:23 ` [Buildroot] [PATCH v6 25/28] package/qt5webengine: Add optional dependency on qt5location Andreas Naumann
2020-02-17 21:23 ` [Buildroot] [PATCH v6 26/28] package/qt5virtualkeyboard: Add optional dependency on qt5quickcontrols2 Andreas Naumann
2020-02-17 21:23 ` [Buildroot] [PATCH v6 27/28] package/qt53d: Add optional dependency on qt5multimedia Andreas Naumann
2020-02-17 21:23 ` [Buildroot] [PATCH v6 28/28] package/qt5charts: " Andreas Naumann
2020-02-18 21:33 ` [Buildroot] [PATCH v6 00/28] Qt5 qmake infra and per-package compatibility Peter Seiderer
2020-02-19 14:46 ` Andreas Naumann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200410202553.GJ29898@scaer \
--to=yann.morin.1998@free.fr \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox