diff mbox

[v1] qt5quickcontrols: fix LTS (5.6) qml file install

Message ID 20170220214105.8106-1-ps.report@gmx.net
State Accepted
Commit e482ebf51d9e8e00c3e58eb65af0dfb70d05d8cc
Headers show

Commit Message

Peter Seiderer Feb. 20, 2017, 9:41 p.m. UTC
Fixes [1]:

  cp -dpfr .../host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/qml/QtQuick/PrivateWidgets .../target/usr/qml/QtQuick
  cp: cannot stat ‘.../host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/qml/QtQuick/PrivateWidgets’: No such file or directory

[1] https://bugs.busybox.net/show_bug.cgi?id=9666

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
 package/qt5/qt5quickcontrols/qt5quickcontrols.mk | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Thomas Petazzoni Feb. 20, 2017, 10:23 p.m. UTC | #1
Hello,

On Mon, 20 Feb 2017 22:41:05 +0100, Peter Seiderer wrote:

> +ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
>  define QT5QUICKCONTROLS_INSTALL_TARGET_CMDS
>  	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Controls $(TARGET_DIR)/usr/qml/QtQuick
>  	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Dialogs $(TARGET_DIR)/usr/qml/QtQuick
>  	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Extras $(TARGET_DIR)/usr/qml/QtQuick
>  	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/PrivateWidgets $(TARGET_DIR)/usr/qml/QtQuick
>  endef
> +else
> +define QT5QUICKCONTROLS_INSTALL_TARGET_CMDS
> +	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Controls $(TARGET_DIR)/usr/qml/QtQuick
> +	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Dialogs $(TARGET_DIR)/usr/qml/QtQuick
> +	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Extras $(TARGET_DIR)/usr/qml/QtQuick
> +	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Layouts $(TARGET_DIR)/usr/qml/QtQuick
> +endef
> +endif

Perhaps it's time to:

ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
QT5QUICKCONTROLS_INSTALL_QML_DIRS = Controls Dialogs Extras PrivateWidgets
else
QT5QUICKCONTROLS_INSTALL_QML_DIRS = Controls Dialogs Extras Layouts
endif

define QT5QUICKCONTROLS_INSTALL_TARGET_CMDS
	$(foreach d,$(QT5QUICKCONTROLS_INSTALL_QML_DIRS), \
		cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/$(d) $(TARGET_DIR)/usr/qml/QtQuick
	)
endef

Best regards,

Thomas
Peter Korsgaard Feb. 20, 2017, 10:32 p.m. UTC | #2
>>>>> "Peter" == Peter Seiderer <ps.report@gmx.net> writes:

 > Fixes [1]:
 >   cp -dpfr .../host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/qml/QtQuick/PrivateWidgets .../target/usr/qml/QtQuick
 >   cp: cannot stat ‘.../host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/qml/QtQuick/PrivateWidgets’: No such file or directory

 > [1] https://bugs.busybox.net/show_bug.cgi?id=9666

 > Signed-off-by: Peter Seiderer <ps.report@gmx.net>

Committed, thanks.
Peter Korsgaard Feb. 20, 2017, 10:37 p.m. UTC | #3
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 > Hello,
 > On Mon, 20 Feb 2017 22:41:05 +0100, Peter Seiderer wrote:

 >> +ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
 >> define QT5QUICKCONTROLS_INSTALL_TARGET_CMDS
 >> cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Controls $(TARGET_DIR)/usr/qml/QtQuick
 >> cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Dialogs $(TARGET_DIR)/usr/qml/QtQuick
 >> cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Extras $(TARGET_DIR)/usr/qml/QtQuick
 >> cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/PrivateWidgets $(TARGET_DIR)/usr/qml/QtQuick
 >> endef
 >> +else
 >> +define QT5QUICKCONTROLS_INSTALL_TARGET_CMDS
 >> +	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Controls $(TARGET_DIR)/usr/qml/QtQuick
 >> +	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Dialogs $(TARGET_DIR)/usr/qml/QtQuick
 >> +	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Extras $(TARGET_DIR)/usr/qml/QtQuick
 >> +	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Layouts $(TARGET_DIR)/usr/qml/QtQuick
 >> +endef
 >> +endif

 > Perhaps it's time to:

 > ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
 > QT5QUICKCONTROLS_INSTALL_QML_DIRS = Controls Dialogs Extras PrivateWidgets
 > else
 > QT5QUICKCONTROLS_INSTALL_QML_DIRS = Controls Dialogs Extras Layouts
 > endif

 > define QT5QUICKCONTROLS_INSTALL_TARGET_CMDS
 > 	$(foreach d,$(QT5QUICKCONTROLS_INSTALL_QML_DIRS), \
 > 		cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/$(d) $(TARGET_DIR)/usr/qml/QtQuick
 > 	)
 > endef

Yeah, I also didn't really like the repeated lines - But this way is
atleast very minimal/safe.

Alternatively the loop could be extended to check if the directory
exists and otherwise skip it, then we wouldn't need the version check.
Thomas Petazzoni Feb. 21, 2017, 8:12 a.m. UTC | #4
Hello,

On Mon, 20 Feb 2017 23:37:00 +0100, Peter Korsgaard wrote:

> Yeah, I also didn't really like the repeated lines - But this way is
> atleast very minimal/safe.

Agreed. So will you apply Peter's patch?

> Alternatively the loop could be extended to check if the directory
> exists and otherwise skip it, then we wouldn't need the version check.

That's an option. It has the drawback of not failing if a directory
supposed to be there isn't, but OK.

Thomas
Peter Korsgaard Feb. 21, 2017, 8:20 a.m. UTC | #5
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 > Hello,
 > On Mon, 20 Feb 2017 23:37:00 +0100, Peter Korsgaard wrote:

 >> Yeah, I also didn't really like the repeated lines - But this way is
 >> atleast very minimal/safe.

 > Agreed. So will you apply Peter's patch?

I already did yesterday.
diff mbox

Patch

diff --git a/package/qt5/qt5quickcontrols/qt5quickcontrols.mk b/package/qt5/qt5quickcontrols/qt5quickcontrols.mk
index c2946bc75..8a63629c3 100644
--- a/package/qt5/qt5quickcontrols/qt5quickcontrols.mk
+++ b/package/qt5/qt5quickcontrols/qt5quickcontrols.mk
@@ -30,11 +30,20 @@  define QT5QUICKCONTROLS_INSTALL_STAGING_CMDS
 	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
 endef
 
+ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
 define QT5QUICKCONTROLS_INSTALL_TARGET_CMDS
 	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Controls $(TARGET_DIR)/usr/qml/QtQuick
 	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Dialogs $(TARGET_DIR)/usr/qml/QtQuick
 	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Extras $(TARGET_DIR)/usr/qml/QtQuick
 	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/PrivateWidgets $(TARGET_DIR)/usr/qml/QtQuick
 endef
+else
+define QT5QUICKCONTROLS_INSTALL_TARGET_CMDS
+	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Controls $(TARGET_DIR)/usr/qml/QtQuick
+	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Dialogs $(TARGET_DIR)/usr/qml/QtQuick
+	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Extras $(TARGET_DIR)/usr/qml/QtQuick
+	cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Layouts $(TARGET_DIR)/usr/qml/QtQuick
+endef
+endif
 
 $(eval $(generic-package))