All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] qt-webkit-kiosk: new package
@ 2015-02-21  5:45 Jerome Oufella
  2015-02-21 13:18 ` Thomas Petazzoni
  2015-02-22  4:22 ` [Buildroot] [PATCH v2] " Jerome Oufella
  0 siblings, 2 replies; 8+ messages in thread
From: Jerome Oufella @ 2015-02-21  5:45 UTC (permalink / raw)
  To: buildroot

Qt-webkit-kiosk is a simple browser working in kiosk-mode, powered by
Qt & Webkit. It provides a convenient way to deploy a full-screen
browser on embedded system platforms.

This commit adds the appropriate packaging to Buildroot, including
options to parametrize the deployment of the optional sound files and
the customization of the browser configuration file.

Signed-off-by: Jerome Oufella <jerome.oufella@savoirfairelinux.com>
---
 package/Config.in                          |  1 +
 package/qt-webkit-kiosk/Config.in          | 37 ++++++++++++++++++++++
 package/qt-webkit-kiosk/qt-webkit-kiosk.mk | 51 ++++++++++++++++++++++++++++++
 3 files changed, 89 insertions(+)
 create mode 100644 package/qt-webkit-kiosk/Config.in
 create mode 100644 package/qt-webkit-kiosk/qt-webkit-kiosk.mk

diff --git a/package/Config.in b/package/Config.in
index fe3d3d0..90be326 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -250,6 +250,7 @@ comment "X applications"
 	source "package/leafpad/Config.in"
 	source "package/midori/Config.in"
 	source "package/pcmanfm/Config.in"
+	source "package/qt-webkit-kiosk/Config.in"
 	source "package/rdesktop/Config.in"
 	source "package/synergy/Config.in"
 	source "package/torsmo/Config.in"
diff --git a/package/qt-webkit-kiosk/Config.in b/package/qt-webkit-kiosk/Config.in
new file mode 100644
index 0000000..4371ac8
--- /dev/null
+++ b/package/qt-webkit-kiosk/Config.in
@@ -0,0 +1,37 @@
+config BR2_PACKAGE_QT_WEBKIT_KIOSK
+	depends on BR2_PACKAGE_QT5WEBKIT
+	depends on BR2_PACKAGE_QT5MULTIMEDIA
+	bool "qt-webkit-kiosk"
+	help
+	  Simple browser working in kiosk-mode, powered by Qt & Webkit
+
+if BR2_PACKAGE_QT_WEBKIT_KIOSK
+
+config BR2_PACKAGE_QT_WEBKIT_KIOSK_SOUNDS
+        bool "Install browser sound files"
+        help
+          Deploy browser sound files on target
+
+choice
+	prompt "Browser configuration file"
+	help
+	  Select what configuration file to use
+
+config BR2_PACKAGE_QT_WEBKIT_KIOSK_CFG_DEFAULT
+	bool "Default configuration file"
+
+config BR2_PACKAGE_QT_WEBKIT_KIOSK_CFG_CUSTOM
+	bool "Custom configuration file"
+
+endchoice
+
+config BR2_PACKAGE_QT_WEBKIT_KIOSK_CFG_CUSTOM_VALUE
+	depends on BR2_PACKAGE_QT_WEBKIT_KIOSK_CFG_CUSTOM
+        string "Custom configuration file"
+        help
+          Enter the path to the custom configuration file. The file
+	  will be deployed as qt-webkit-kiosk.ini in the browser'
+	  resource directory.
+
+endif
+
diff --git a/package/qt-webkit-kiosk/qt-webkit-kiosk.mk b/package/qt-webkit-kiosk/qt-webkit-kiosk.mk
new file mode 100644
index 0000000..a6325a5
--- /dev/null
+++ b/package/qt-webkit-kiosk/qt-webkit-kiosk.mk
@@ -0,0 +1,51 @@
+QT_WEBKIT_KIOSK_VERSION = 7fe40a350abfbe5ec194e7c6c740f7099e8704cd
+QT_WEBKIT_KIOSK_SITE = https://github.com/sergey-dryabzhinsky/qt-webkit-kiosk.git
+QT_WEBKIT_KIOSK_SITE_METHOD = git
+QT_WEBKIT_KIOSK_DEPENDENCIES = qt5webkit qt5multimedia
+QT_WEBKIT_KIOSK_LICENSE = LGPLv3
+QT_WEBKIT_KIOSK_LICENSE_FILES = doc/lgpl.html
+
+ifeq ($(BR2_PACKAGE_QT_WEBKIT_KIOSK_CFG_DEFAULT),y)
+QT_WEBKIT_KIOSK_INSTALL_TARGET_OPTS += install_config
+endif
+
+ifeq ($(BR2_PACKAGE_QT_WEBKIT_KIOSK_CFG_CUSTOM),y)
+ifneq ($(call qstrip,$(BR2_PACKAGE_QT_WEBKIT_KIOSK_CFG_CUSTOM_VALUE)),)
+define QT_WEBKIT_KIOSK_INSTALL_CFG_CUSTOM
+	if [ -f "$(BR2_PACKAGE_QT_WEBKIT_KIOSK_CFG_CUSTOM_VALUE)" ]; then \
+		$(INSTALL) -D -m 0644 "$(BR2_PACKAGE_QT_WEBKIT_KIOSK_CFG_CUSTOM_VALUE)" \
+			$(TARGET_DIR)/usr/share/qt-webkit-kiosk/qt-webkit-kiosk.ini; \
+	else \
+		printf "Error: '%s' is not a valid file, check your BR2_PACKAGE_QT_WEBKIT_KIOSK_CFG_CUSTOM_VALUE setting\n" \
+		"$(BR2_PACKAGE_QT_WEBKIT_KIOSK_CFG_CUSTOM_VALUE)"; \
+		exit 1 ; \
+	fi
+endef
+endif
+endif
+
+ifeq ($(BR2_PACKAGE_QT_WEBKIT_KIOSK_SOUNDS),y)
+QT_WEBKIT_KIOSK_INSTALL_TARGET_OPTS += install_sound
+endif
+
+ifneq ($(call qstrip,$(QT_WEBKIT_KIOSK_INSTALL_TARGET_OPTS)),)
+define QT_WEBKIT_KIOSK_INSTALL_DATAFILES
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) INSTALL_ROOT=$(TARGET_DIR) $(QT_WEBKIT_KIOSK_INSTALL_TARGET_OPTS)
+endef
+endif
+
+define QT_WEBKIT_KIOSK_CONFIGURE_CMDS
+	(cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake PREFIX=/usr)
+endef
+
+define QT_WEBKIT_KIOSK_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define QT_WEBKIT_KIOSK_INSTALL_TARGET_CMDS
+	$(INSTALL) -m 0755 $(@D)/src/qt-webkit-kiosk $(TARGET_DIR)/usr/bin/
+	$(QT_WEBKIT_KIOSK_INSTALL_DATAFILES)
+	$(QT_WEBKIT_KIOSK_INSTALL_CFG_CUSTOM)
+endef
+
+$(eval $(generic-package))
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH] qt-webkit-kiosk: new package
  2015-02-21  5:45 [Buildroot] [PATCH] qt-webkit-kiosk: new package Jerome Oufella
@ 2015-02-21 13:18 ` Thomas Petazzoni
  2015-02-22  4:22 ` [Buildroot] [PATCH v2] " Jerome Oufella
  1 sibling, 0 replies; 8+ messages in thread
From: Thomas Petazzoni @ 2015-02-21 13:18 UTC (permalink / raw)
  To: buildroot

Dear Jerome Oufella,

On Sat, 21 Feb 2015 00:45:49 -0500, Jerome Oufella wrote:
> Qt-webkit-kiosk is a simple browser working in kiosk-mode, powered by
> Qt & Webkit. It provides a convenient way to deploy a full-screen
> browser on embedded system platforms.
> 
> This commit adds the appropriate packaging to Buildroot, including
> options to parametrize the deployment of the optional sound files and
> the customization of the browser configuration file.
> 
> Signed-off-by: Jerome Oufella <jerome.oufella@savoirfairelinux.com>

Thanks for this contribution. This definitely looks like a useful
package to have in Buildroot! See below for some comments.

> diff --git a/package/qt-webkit-kiosk/Config.in b/package/qt-webkit-kiosk/Config.in
> new file mode 100644
> index 0000000..4371ac8
> --- /dev/null
> +++ b/package/qt-webkit-kiosk/Config.in
> @@ -0,0 +1,37 @@
> +config BR2_PACKAGE_QT_WEBKIT_KIOSK
> +	depends on BR2_PACKAGE_QT5WEBKIT
> +	depends on BR2_PACKAGE_QT5MULTIMEDIA

Please put the dependencies after the "bool" statement. Also, I would
prefer something like:

	depends on BR2_PACKAGE_QT5
	select BR2_PACKAGE_QT5WEBKIT
	select BR2_PACKAGE_QT5MULTIMEDIA
	depends on !BR2_STATIC_LIBS # qt5webkit
	depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5webkit
	depends on BR2_ARCH_HAS_ATOMICS # qt5webkit
	depends on !BR2_BINFMT_FLAT # qt5webkit

This way, your package becomes visible as soon as Qt5 is enabled,
without requiring the user to know which particular Qt5 modules have to
be enabled.

> +	bool "qt-webkit-kiosk"
> +	help
> +	  Simple browser working in kiosk-mode, powered by Qt & Webkit

Line seems too long. Also, use "and" instead of "&".

> +
> +if BR2_PACKAGE_QT_WEBKIT_KIOSK
> +
> +config BR2_PACKAGE_QT_WEBKIT_KIOSK_SOUNDS
> +        bool "Install browser sound files"
> +        help
> +          Deploy browser sound files on target
> +
> +choice
> +	prompt "Browser configuration file"
> +	help
> +	  Select what configuration file to use
> +
> +config BR2_PACKAGE_QT_WEBKIT_KIOSK_CFG_DEFAULT
> +	bool "Default configuration file"
> +
> +config BR2_PACKAGE_QT_WEBKIT_KIOSK_CFG_CUSTOM
> +	bool "Custom configuration file"
> +
> +endchoice
> +
> +config BR2_PACKAGE_QT_WEBKIT_KIOSK_CFG_CUSTOM_VALUE
> +	depends on BR2_PACKAGE_QT_WEBKIT_KIOSK_CFG_CUSTOM
> +        string "Custom configuration file"
> +        help
> +          Enter the path to the custom configuration file. The file
> +	  will be deployed as qt-webkit-kiosk.ini in the browser'
> +	  resource directory.

I don't think we want to have an option for this. Just install the
default configuration file unconditionally. People who want to override
it should do so in their rootfs overlay or in a post-build script.


> diff --git a/package/qt-webkit-kiosk/qt-webkit-kiosk.mk b/package/qt-webkit-kiosk/qt-webkit-kiosk.mk
> new file mode 100644
> index 0000000..a6325a5
> --- /dev/null
> +++ b/package/qt-webkit-kiosk/qt-webkit-kiosk.mk
> @@ -0,0 +1,51 @@

Missing comment header. See all other packages in Buildroot. Yes, I
know it's a silly rule, but most rules are silly, no? :-)

> +QT_WEBKIT_KIOSK_VERSION = 7fe40a350abfbe5ec194e7c6c740f7099e8704cd
> +QT_WEBKIT_KIOSK_SITE = https://github.com/sergey-dryabzhinsky/qt-webkit-kiosk.git
> +QT_WEBKIT_KIOSK_SITE_METHOD = git
> +QT_WEBKIT_KIOSK_DEPENDENCIES = qt5webkit qt5multimedia
> +QT_WEBKIT_KIOSK_LICENSE = LGPLv3
> +QT_WEBKIT_KIOSK_LICENSE_FILES = doc/lgpl.html
> +
> +ifeq ($(BR2_PACKAGE_QT_WEBKIT_KIOSK_CFG_DEFAULT),y)
> +QT_WEBKIT_KIOSK_INSTALL_TARGET_OPTS += install_config
> +endif
> +
> +ifeq ($(BR2_PACKAGE_QT_WEBKIT_KIOSK_CFG_CUSTOM),y)
> +ifneq ($(call qstrip,$(BR2_PACKAGE_QT_WEBKIT_KIOSK_CFG_CUSTOM_VALUE)),)
> +define QT_WEBKIT_KIOSK_INSTALL_CFG_CUSTOM
> +	if [ -f "$(BR2_PACKAGE_QT_WEBKIT_KIOSK_CFG_CUSTOM_VALUE)" ]; then \
> +		$(INSTALL) -D -m 0644 "$(BR2_PACKAGE_QT_WEBKIT_KIOSK_CFG_CUSTOM_VALUE)" \
> +			$(TARGET_DIR)/usr/share/qt-webkit-kiosk/qt-webkit-kiosk.ini; \
> +	else \
> +		printf "Error: '%s' is not a valid file, check your BR2_PACKAGE_QT_WEBKIT_KIOSK_CFG_CUSTOM_VALUE setting\n" \
> +		"$(BR2_PACKAGE_QT_WEBKIT_KIOSK_CFG_CUSTOM_VALUE)"; \
> +		exit 1 ; \
> +	fi
> +endef
> +endif
> +endif

Please replace this by something that always installs the default
configuration file.

> +
> +ifeq ($(BR2_PACKAGE_QT_WEBKIT_KIOSK_SOUNDS),y)
> +QT_WEBKIT_KIOSK_INSTALL_TARGET_OPTS += install_sound
> +endif
> +
> +ifneq ($(call qstrip,$(QT_WEBKIT_KIOSK_INSTALL_TARGET_OPTS)),)
> +define QT_WEBKIT_KIOSK_INSTALL_DATAFILES
> +	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) INSTALL_ROOT=$(TARGET_DIR) $(QT_WEBKIT_KIOSK_INSTALL_TARGET_OPTS)
> +endef
> +endif

Please put all the install related logic right before the
<pkg>_INSTALL_CMDS variable.

> +define QT_WEBKIT_KIOSK_CONFIGURE_CMDS
> +	(cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake PREFIX=/usr)
> +endef

Please use $(QT5_QMAKE) instead of calling qmake directly.

> +
> +define QT_WEBKIT_KIOSK_BUILD_CMDS
> +	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
> +endef
> +
> +define QT_WEBKIT_KIOSK_INSTALL_TARGET_CMDS
> +	$(INSTALL) -m 0755 $(@D)/src/qt-webkit-kiosk $(TARGET_DIR)/usr/bin/

You can use install_target instead, no?

> +	$(QT_WEBKIT_KIOSK_INSTALL_DATAFILES)
> +	$(QT_WEBKIT_KIOSK_INSTALL_CFG_CUSTOM)
> +endef

Something like:

	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
		INSTALL_ROOT=$(TARGET_DIR) \
		install_target \
		install_config \
		$(if $(BR2_PACKAGE_QT_WEBKIT_KIOSK_SOUNDS),install_sound)

Could you take into account those comments, and send an updated version?

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v2] qt-webkit-kiosk: new package
  2015-02-21  5:45 [Buildroot] [PATCH] qt-webkit-kiosk: new package Jerome Oufella
  2015-02-21 13:18 ` Thomas Petazzoni
@ 2015-02-22  4:22 ` Jerome Oufella
  2015-02-22 21:32   ` Thomas Petazzoni
  2015-02-25 16:53   ` [Buildroot] [PATCH v3] " Jerome Oufella
  1 sibling, 2 replies; 8+ messages in thread
From: Jerome Oufella @ 2015-02-22  4:22 UTC (permalink / raw)
  To: buildroot

Qt-webkit-kiosk is a simple browser working in kiosk-mode, powered by
QtWebkit. It provides a convenient way to deploy a full-screen browser
on embedded system platforms.

This commit adds the appropriate packaging to Buildroot, including an
option to deploy the optional sound files.

Signed-Off-By: Jerome Oufella <jerome.oufella@savoirfairelinux.com>
---
Changes v1 -> v2 (thanks Thomas for the thorough review):
* Update commit message
* Rework config dependencies formulation
* Reword help strings
* Remove config file customization options
* Add missing Makefile comment header
* Use $(QT5_QMAKE) macro instead of qmake
* Simplify the target installation process
---
 package/Config.in                          |  1 +
 package/qt-webkit-kiosk/Config.in          | 20 +++++++++++++++++++
 package/qt-webkit-kiosk/qt-webkit-kiosk.mk | 32 ++++++++++++++++++++++++++++++
 3 files changed, 53 insertions(+)
 create mode 100644 package/qt-webkit-kiosk/Config.in
 create mode 100644 package/qt-webkit-kiosk/qt-webkit-kiosk.mk

diff --git a/package/Config.in b/package/Config.in
index fe3d3d0..90be326 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -250,6 +250,7 @@ comment "X applications"
 	source "package/leafpad/Config.in"
 	source "package/midori/Config.in"
 	source "package/pcmanfm/Config.in"
+	source "package/qt-webkit-kiosk/Config.in"
 	source "package/rdesktop/Config.in"
 	source "package/synergy/Config.in"
 	source "package/torsmo/Config.in"
diff --git a/package/qt-webkit-kiosk/Config.in b/package/qt-webkit-kiosk/Config.in
new file mode 100644
index 0000000..dd4b06f
--- /dev/null
+++ b/package/qt-webkit-kiosk/Config.in
@@ -0,0 +1,20 @@
+config BR2_PACKAGE_QT_WEBKIT_KIOSK
+	bool "qt-webkit-kiosk"
+	depends on BR2_PACKAGE_QT5
+	select BR2_PACKAGE_QT5WEBKIT
+	select BR2_PACKAGE_QT5MULTIMEDIA
+	depends on !BR2_STATIC_LIBS # qt5webkit
+	depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5webkit
+	depends on BR2_ARCH_HAS_ATOMICS # qt5webkit
+	depends on !BR2_BINFMT_FLAT # qt5webkit
+	help
+	  Simple kiosk-mode browser powered by Qt5Webkit
+
+if BR2_PACKAGE_QT_WEBKIT_KIOSK
+
+config BR2_PACKAGE_QT_WEBKIT_KIOSK_SOUNDS
+        bool "Install browser sound files"
+        help
+          Deploy browser sound files on target
+
+endif
diff --git a/package/qt-webkit-kiosk/qt-webkit-kiosk.mk b/package/qt-webkit-kiosk/qt-webkit-kiosk.mk
new file mode 100644
index 0000000..d54c8d5
--- /dev/null
+++ b/package/qt-webkit-kiosk/qt-webkit-kiosk.mk
@@ -0,0 +1,32 @@
+################################################################################
+#
+# qt-webkit-kiosk
+#
+################################################################################
+
+QT_WEBKIT_KIOSK_VERSION = 7fe40a350abfbe5ec194e7c6c740f7099e8704cd
+QT_WEBKIT_KIOSK_SITE = https://github.com/sergey-dryabzhinsky/qt-webkit-kiosk.git
+QT_WEBKIT_KIOSK_SITE_METHOD = git
+QT_WEBKIT_KIOSK_DEPENDENCIES = qt5webkit qt5multimedia
+QT_WEBKIT_KIOSK_LICENSE = LGPLv3
+QT_WEBKIT_KIOSK_LICENSE_FILES = doc/lgpl.html
+
+define QT_WEBKIT_KIOSK_CONFIGURE_CMDS
+	(cd $(@D); $(TARGET_MAKE_ENV) $(QT5_QMAKE) PREFIX=/usr)
+endef
+
+define QT_WEBKIT_KIOSK_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define QT_WEBKIT_KIOSK_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src -f Makefile.qt-webkit-kiosk \
+		INSTALL_ROOT=$(TARGET_DIR) \
+		install_target
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
+		INSTALL_ROOT=$(TARGET_DIR) \
+		install_config \
+		$(if $(BR2_PACKAGE_QT_WEBKIT_KIOSK_SOUNDS),install_sound)
+endef
+
+$(eval $(generic-package))
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v2] qt-webkit-kiosk: new package
  2015-02-22  4:22 ` [Buildroot] [PATCH v2] " Jerome Oufella
@ 2015-02-22 21:32   ` Thomas Petazzoni
  2015-02-26 12:04     ` Diego Iastrubni
  2015-02-25 16:53   ` [Buildroot] [PATCH v3] " Jerome Oufella
  1 sibling, 1 reply; 8+ messages in thread
From: Thomas Petazzoni @ 2015-02-22 21:32 UTC (permalink / raw)
  To: buildroot

Dear Jerome Oufella,

On Sat, 21 Feb 2015 23:22:00 -0500, Jerome Oufella wrote:
> Qt-webkit-kiosk is a simple browser working in kiosk-mode, powered by
> QtWebkit. It provides a convenient way to deploy a full-screen browser
> on embedded system platforms.
> 
> This commit adds the appropriate packaging to Buildroot, including an
> option to deploy the optional sound files.
> 
> Signed-Off-By: Jerome Oufella <jerome.oufella@savoirfairelinux.com>

Thanks for this new iteration.

Signed-Off-By: should be: Signed-off-by: ...

> diff --git a/package/qt-webkit-kiosk/Config.in b/package/qt-webkit-kiosk/Config.in
> new file mode 100644
> index 0000000..dd4b06f
> --- /dev/null
> +++ b/package/qt-webkit-kiosk/Config.in
> @@ -0,0 +1,20 @@
> +config BR2_PACKAGE_QT_WEBKIT_KIOSK
> +	bool "qt-webkit-kiosk"
> +	depends on BR2_PACKAGE_QT5
> +	select BR2_PACKAGE_QT5WEBKIT
> +	select BR2_PACKAGE_QT5MULTIMEDIA

I've done a test build, and there are some missing dependencies here.
You should also:

	select BR2_PACKAGE_QT5BASE_GUI
	select BR2_PACKAGE_QT5BASE_WIDGETS
	select BR2_PACKAGE_OPENSSL

QT5BASE_WIDGETS is not enabled by default, and is needed because
qt-webkit-kiosk uses the "printsupport" and qtwebkit widget modules,
which are only compiled if Qt5 widgets are enabled.

OpenSSL is mandatory because qt-webkit-kiosk uses QSslError
unconditionally.

I would have normally applied the patch myself and do the
proposed changes, but since I haven't had the time to finalize the
review, I thought I would simply point those issues to not forget about
them, so that you can send an updated version.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v3] qt-webkit-kiosk: new package
  2015-02-22  4:22 ` [Buildroot] [PATCH v2] " Jerome Oufella
  2015-02-22 21:32   ` Thomas Petazzoni
@ 2015-02-25 16:53   ` Jerome Oufella
  2015-03-07 14:31     ` Thomas Petazzoni
  1 sibling, 1 reply; 8+ messages in thread
From: Jerome Oufella @ 2015-02-25 16:53 UTC (permalink / raw)
  To: buildroot

Qt-webkit-kiosk is a simple browser working in kiosk-mode, powered by
QtWebkit. It provides a convenient way to deploy a full-screen browser
on embedded system platforms.

This commit adds the appropriate packaging to Buildroot, including an
option to deploy the provided sound files.

Signed-off-by: Jerome Oufella <jerome.oufella@savoirfairelinux.com>
---
Changes v2 -> v3: (Thanks again, Thomas!)
* Add missing config dependencies (QT5BASE_GUI, QT5BASE_WIDGETS,
  OPENSSL)
* Update commit message

Changes v1 -> v2:
* Update commit message
* Rework config dependencies formulation
* Reword help strings
* Remove config file customization options
* Add missing Makefile comment header
* Use $(QT5_QMAKE) macro instead of qmake
* Simplify the target installation process
---
 package/Config.in                          |  1 +
 package/qt-webkit-kiosk/Config.in          | 23 +++++++++++++++++++++
 package/qt-webkit-kiosk/qt-webkit-kiosk.mk | 32 ++++++++++++++++++++++++++++++
 3 files changed, 56 insertions(+)
 create mode 100644 package/qt-webkit-kiosk/Config.in
 create mode 100644 package/qt-webkit-kiosk/qt-webkit-kiosk.mk

diff --git a/package/Config.in b/package/Config.in
index fe3d3d0..90be326 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -250,6 +250,7 @@ comment "X applications"
 	source "package/leafpad/Config.in"
 	source "package/midori/Config.in"
 	source "package/pcmanfm/Config.in"
+	source "package/qt-webkit-kiosk/Config.in"
 	source "package/rdesktop/Config.in"
 	source "package/synergy/Config.in"
 	source "package/torsmo/Config.in"
diff --git a/package/qt-webkit-kiosk/Config.in b/package/qt-webkit-kiosk/Config.in
new file mode 100644
index 0000000..075258e
--- /dev/null
+++ b/package/qt-webkit-kiosk/Config.in
@@ -0,0 +1,23 @@
+config BR2_PACKAGE_QT_WEBKIT_KIOSK
+	bool "qt-webkit-kiosk"
+	depends on BR2_PACKAGE_QT5
+	select BR2_PACKAGE_OPENSSL
+	select BR2_PACKAGE_QT5BASE_GUI
+	select BR2_PACKAGE_QT5BASE_WIDGETS
+	select BR2_PACKAGE_QT5WEBKIT
+	select BR2_PACKAGE_QT5MULTIMEDIA
+	depends on !BR2_STATIC_LIBS # qt5webkit
+	depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5webkit
+	depends on BR2_ARCH_HAS_ATOMICS # qt5webkit
+	depends on !BR2_BINFMT_FLAT # qt5webkit
+	help
+	  Simple kiosk-mode browser powered by Qt5Webkit
+
+if BR2_PACKAGE_QT_WEBKIT_KIOSK
+
+config BR2_PACKAGE_QT_WEBKIT_KIOSK_SOUNDS
+        bool "Install browser sound files"
+        help
+          Deploy browser sound files on target
+
+endif
diff --git a/package/qt-webkit-kiosk/qt-webkit-kiosk.mk b/package/qt-webkit-kiosk/qt-webkit-kiosk.mk
new file mode 100644
index 0000000..d54c8d5
--- /dev/null
+++ b/package/qt-webkit-kiosk/qt-webkit-kiosk.mk
@@ -0,0 +1,32 @@
+################################################################################
+#
+# qt-webkit-kiosk
+#
+################################################################################
+
+QT_WEBKIT_KIOSK_VERSION = 7fe40a350abfbe5ec194e7c6c740f7099e8704cd
+QT_WEBKIT_KIOSK_SITE = https://github.com/sergey-dryabzhinsky/qt-webkit-kiosk.git
+QT_WEBKIT_KIOSK_SITE_METHOD = git
+QT_WEBKIT_KIOSK_DEPENDENCIES = qt5webkit qt5multimedia
+QT_WEBKIT_KIOSK_LICENSE = LGPLv3
+QT_WEBKIT_KIOSK_LICENSE_FILES = doc/lgpl.html
+
+define QT_WEBKIT_KIOSK_CONFIGURE_CMDS
+	(cd $(@D); $(TARGET_MAKE_ENV) $(QT5_QMAKE) PREFIX=/usr)
+endef
+
+define QT_WEBKIT_KIOSK_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define QT_WEBKIT_KIOSK_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src -f Makefile.qt-webkit-kiosk \
+		INSTALL_ROOT=$(TARGET_DIR) \
+		install_target
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
+		INSTALL_ROOT=$(TARGET_DIR) \
+		install_config \
+		$(if $(BR2_PACKAGE_QT_WEBKIT_KIOSK_SOUNDS),install_sound)
+endef
+
+$(eval $(generic-package))
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v2] qt-webkit-kiosk: new package
  2015-02-22 21:32   ` Thomas Petazzoni
@ 2015-02-26 12:04     ` Diego Iastrubni
  2015-02-27 10:04       ` Thomas Petazzoni
  0 siblings, 1 reply; 8+ messages in thread
From: Diego Iastrubni @ 2015-02-26 12:04 UTC (permalink / raw)
  To: buildroot

On Sun, Feb 22, 2015 at 11:32 PM, Thomas Petazzoni <
thomas.petazzoni@free-electrons.com> wrote:

> > diff --git a/package/qt-webkit-kiosk/Config.in
> b/package/qt-webkit-kiosk/Config.in
> > new file mode 100644
> > index 0000000..dd4b06f
> > --- /dev/null
> > +++ b/package/qt-webkit-kiosk/Config.in
> > @@ -0,0 +1,20 @@
> > +config BR2_PACKAGE_QT_WEBKIT_KIOSK
> > +     bool "qt-webkit-kiosk"
> > +     depends on BR2_PACKAGE_QT5
> > +     select BR2_PACKAGE_QT5WEBKIT
> > +     select BR2_PACKAGE_QT5MULTIMEDIA
>
> I've done a test build, and there are some missing dependencies here.
> You should also:
>
>         select BR2_PACKAGE_QT5BASE_GUI
>         select BR2_PACKAGE_QT5BASE_WIDGETS
>         select BR2_PACKAGE_OPENSSL
>
> QT5BASE_WIDGETS is not enabled by default, and is needed because
> qt-webkit-kiosk uses the "printsupport" and qtwebkit widget modules,
> which are only compiled if Qt5 widgets are enabled.
>
>
I disagree. It feels like the problem is in the BR2_PACKAGE_QT5WEBKIT
target - it should depend on
BR2_PACKAGE_QT5BASE_GUI and BR2_PACKAGE_QT5BASE_WIDGETS

Or... does Qt5 have an option to build WEBKIT in QML environment only?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20150226/7e446afc/attachment.html>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v2] qt-webkit-kiosk: new package
  2015-02-26 12:04     ` Diego Iastrubni
@ 2015-02-27 10:04       ` Thomas Petazzoni
  0 siblings, 0 replies; 8+ messages in thread
From: Thomas Petazzoni @ 2015-02-27 10:04 UTC (permalink / raw)
  To: buildroot

Dear Diego Iastrubni,

On Thu, 26 Feb 2015 14:04:17 +0200, Diego Iastrubni wrote:

> I disagree. It feels like the problem is in the BR2_PACKAGE_QT5WEBKIT
> target - it should depend on
> BR2_PACKAGE_QT5BASE_GUI and BR2_PACKAGE_QT5BASE_WIDGETS

qt5webkit did build perfectly fine with BR2_PACKAGE_QT5BASE_WIDGETS
disabled. It just doesn't build the part called qt5webkitwidgets, which
qt-webkit-kiosk uses.

It was really the build of qt-webkit-kiosk that failed due to the
missing qt5webkitwidgets, the qt5webkit build was alright.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v3] qt-webkit-kiosk: new package
  2015-02-25 16:53   ` [Buildroot] [PATCH v3] " Jerome Oufella
@ 2015-03-07 14:31     ` Thomas Petazzoni
  0 siblings, 0 replies; 8+ messages in thread
From: Thomas Petazzoni @ 2015-03-07 14:31 UTC (permalink / raw)
  To: buildroot

Dear Jerome Oufella,

On Wed, 25 Feb 2015 11:53:16 -0500, Jerome Oufella wrote:
> Qt-webkit-kiosk is a simple browser working in kiosk-mode, powered by
> QtWebkit. It provides a convenient way to deploy a full-screen browser
> on embedded system platforms.
> 
> This commit adds the appropriate packaging to Buildroot, including an
> option to deploy the provided sound files.
> 
> Signed-off-by: Jerome Oufella <jerome.oufella@savoirfairelinux.com>

Applied, thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2015-03-07 14:31 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-21  5:45 [Buildroot] [PATCH] qt-webkit-kiosk: new package Jerome Oufella
2015-02-21 13:18 ` Thomas Petazzoni
2015-02-22  4:22 ` [Buildroot] [PATCH v2] " Jerome Oufella
2015-02-22 21:32   ` Thomas Petazzoni
2015-02-26 12:04     ` Diego Iastrubni
2015-02-27 10:04       ` Thomas Petazzoni
2015-02-25 16:53   ` [Buildroot] [PATCH v3] " Jerome Oufella
2015-03-07 14:31     ` Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.