Skip to contentSkip to conversation

Webkitgtk 2.12.x bump

PATCH Superseded Gustavo Zacarias 3 participants 11 messages Mar 26, 2016 – Mar 30, 2016 1 message not in the archive

v1 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#0 lore raw

cover Webkitgtk 2.12.x bump

This series bumps webkitgtk from the current 2.4.x series to 2.12.x and midori to match as well.

It's a major bump that deprecates the 2.4.x series since it isn't 100% security supported by upstream.

Patch 5 are proof-of-concept sample defconfigs that build both x11 and wayland-based bootable images intended to run on qemu and/or real hardware burned to pendrive media directly.

It's not supposed to be committed as-is - there's no EFI support in it yet, just BIOS. The directory hierarchy isn't too nice either. And documentation is missing as well.

In general it's geared towards intel-based hardware, though there are some other drivers enabled as well mostly for video and wifi hardware. Networking settings can be changed/set via the connman-gtk app. Both Webkit's MiniBrowser and midori are provided, with the addition of wireshark-gtk as another libgtk3-using application intended for testing.
Permament/Volatile storage isn't properly implemented yet, it's only running on volatile yet.

Gustavo Zacarias (5):
cairo: enable opengl for cairo-gl
webkitgtk: new package
midori: bump to version 0.5.11
webkitgtk24: mark as deprecated
qemu/x86_64: add midori samples for wayland and x11r7

 board/qemu/x86_64/busybox-extras.config            |  1 +
 board/qemu/x86_64/genimage-x86_64.cfg              | 24 +++++++
 board/qemu/x86_64/grub.cfg                         | 10 +++
 board/qemu/x86_64/linux-extras.config              | 51 +++++++++++++
 .../x86_64/midori_overlay/etc/X11/xinit/xinitrc    |  3 +
 board/qemu/x86_64/midori_overlay/etc/fb.modes      |  4 ++
 .../x86_64/midori_overlay/etc/init.d/S00rootfs     |  5 ++
 .../qemu/x86_64/midori_overlay/etc/init.d/S98audio |  6 ++
 board/qemu/x86_64/midori_overlay/etc/init.d/S99gui | 21 ++++++
 board/qemu/x86_64/midori_overlay/etc/weston.ini    | 43 +++++++++++
 .../x86_64/midori_overlay/usr/share/fluxbox/init   |  7 ++
 .../x86_64/midori_overlay/usr/share/fluxbox/menu   | 29 ++++++++
 board/qemu/x86_64/post-image.sh                    | 20 ++++++
 board/qemu/x86_64/post-process.sh                  |  8 +++
 configs/midori_wayland_x86_64_defconfig            | 63 ++++++++++++++++
 configs/midori_x11_x86_64_defconfig                | 76 ++++++++++++++++++++
 package/Config.in                                  |  1 +
 package/cairo/cairo.mk                             | 10 ++-
 package/midori/0001-disable-libnotify.patch        | 43 -----------
 package/midori/0001-fix-bug-1492932.patch          | 44 ++++++++++++
 package/midori/0002-gcr-for-x11-only.patch         | 32 +++++++++
 package/midori/0002-new-vala.patch                 | 26 -------
 package/midori/Config.in                           | 36 ++++------
 package/midori/midori.hash                         |  2 +-
 package/midori/midori.mk                           | 36 +++-------
 package/{webkitgtk24 => webkitgtk}/Config.in       | 46 ++++++------
 package/webkitgtk/webkitgtk.hash                   |  4 ++
 package/webkitgtk/webkitgtk.mk                     | 83 ++++++++++++++++++++++
 package/webkitgtk24/Config.in                      |  2 +
 29 files changed, 588 insertions(+), 148 deletions(-)
 create mode 100644 board/qemu/x86_64/busybox-extras.config
 create mode 100644 board/qemu/x86_64/genimage-x86_64.cfg
 create mode 100644 board/qemu/x86_64/grub.cfg
 create mode 100644 board/qemu/x86_64/linux-extras.config
 create mode 100644 board/qemu/x86_64/midori_overlay/etc/X11/xinit/xinitrc
 create mode 100644 board/qemu/x86_64/midori_overlay/etc/fb.modes
 create mode 100755 board/qemu/x86_64/midori_overlay/etc/init.d/S00rootfs
 create mode 100755 board/qemu/x86_64/midori_overlay/etc/init.d/S98audio
 create mode 100755 board/qemu/x86_64/midori_overlay/etc/init.d/S99gui
 create mode 100644 board/qemu/x86_64/midori_overlay/etc/weston.ini
 create mode 100644 board/qemu/x86_64/midori_overlay/usr/share/fluxbox/init
 create mode 100644 board/qemu/x86_64/midori_overlay/usr/share/fluxbox/menu
 create mode 100755 board/qemu/x86_64/post-image.sh
 create mode 100755 board/qemu/x86_64/post-process.sh
 create mode 100644 configs/midori_wayland_x86_64_defconfig
 create mode 100644 configs/midori_x11_x86_64_defconfig
 delete mode 100644 package/midori/0001-disable-libnotify.patch
 create mode 100644 package/midori/0001-fix-bug-1492932.patch
 create mode 100644 package/midori/0002-gcr-for-x11-only.patch
 delete mode 100644 package/midori/0002-new-vala.patch
 copy package/{webkitgtk24 => webkitgtk}/Config.in (60%)
 create mode 100644 package/webkitgtk/webkitgtk.hash
 create mode 100644 package/webkitgtk/webkitgtk.mk
Signature · 1 line
2.7.3
#1 lore raw

PATCH 1/5 cairo: enable opengl for cairo-gl

If OpenGL is enabled then enable cairo-gl.
However if GLESv2 is also present we must choose which implementation to use.
Since normally OpenGL is more featured, has more dependencies and wouldn't be present "by accident" it seems like the logical choice to win over it.

This feature is useful for webkitgtk's accelerated 2d canvas.

---
 package/cairo/cairo.mk | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
package/cairo/cairo.mk +8 -2
index ab0c2e8..b798995 100644
@@ -79,11 +79,17 @@ else
 CAIRO_CONF_OPTS += --disable-gobject
 endif
 
+# Can use GL or GLESv2 but not both
+ifeq ($(BR2_PACKAGE_HAS_LIBGL),y)
+CAIRO_CONF_OPTS += --enable-gl --disable-glesv2
+CAIRO_DEPENDENCIES += libgl
+else
 ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y)
-CAIRO_CONF_OPTS += --enable-glesv2
+CAIRO_CONF_OPTS += --disable-gl --enable-glesv2
 CAIRO_DEPENDENCIES += libgles
 else
-CAIRO_CONF_OPTS += --disable-glesv2
+CAIRO_CONF_OPTS += --disable-gl --disable-glesv2
+endif
 endif
 
 ifeq ($(BR2_PACKAGE_HAS_LIBOPENVG),y)
Signature · 1 line
2.7.3
#2 lore raw

PATCH 1/5 cairo: enable opengl for cairo-gl

Hello,

Quoted 7 lines · Gustavo Zacarias

If OpenGL is enabled then enable cairo-gl.
However if GLESv2 is also present we must choose which implementation to use.
Since normally OpenGL is more featured, has more dependencies and wouldn't be present "by accident" it seems like the logical choice to win over it.

Quoted 6 lines

This feature is useful for webkitgtk's accelerated 2d canvas.

---
 package/cairo/cairo.mk | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#3 lore raw

PATCH 2/5 webkitgtk: new package

In reply to Gustavo Zacarias

Add the latest 2.12.x upstream stable branch.

Both 2.4.x and 2.12.x can live side-by-side, however only the latest stable branch/releases are security-maintained, so add it unslotted.

---
 package/Config.in                |  1 +
 package/webkitgtk/Config.in      | 77 +++++++++++++++++++++++++++++++++++++
 package/webkitgtk/webkitgtk.hash |  4 ++
 package/webkitgtk/webkitgtk.mk   | 83 ++++++++++++++++++++++++++++++++++++++++
 4 files changed, 165 insertions(+)
 create mode 100644 package/webkitgtk/Config.in
 create mode 100644 package/webkitgtk/webkitgtk.hash
 create mode 100644 package/webkitgtk/webkitgtk.mk
package/Config.in +1 -0
index 3c8976e..1cc5f47 100644
@@ -943,6 +943,7 @@ menu "Graphics"
 	source "package/wayland/Config.in"
 	source "package/wayland-protocols/Config.in"
 	source "package/webkit/Config.in"
+	source "package/webkitgtk/Config.in"
 	source "package/webkitgtk24/Config.in"
 	source "package/webp/Config.in"
 	source "package/zbar/Config.in"
package/webkitgtk/Config.in new file +77 -0

77 lines not on this page · raw message

package/webkitgtk/webkitgtk.hash new file +4 -0
new file mode 100644
index 0000000..15bc05e
@@ -0,0 +1,4 @@
+# From http://www.webkitgtk.org/releases/webkitgtk-2.12.0.tar.xz.sha1
+sha1	05b498e45ad361003918822e81c66c9c39728263	webkitgtk-2.12.0.tar.xz
+# Calculated based on the hash above
+sha256	a68604f8fd1bcb247d647709290226289b90c16acb1f3730538b688db8df5ea6	webkitgtk-2.12.0.tar.xz
package/webkitgtk/webkitgtk.mk new file +83 -0

83 lines not on this page · raw message

Signature · 1 line
2.7.3
#4 lore raw

PATCH 2/5 webkitgtk: new package

Hello,

Quoted 34 lines · Gustavo Zacarias
package/webkitgtk/Config.in new file +27 -0
+config BR2_PACKAGE_WEBKITGTK
+	bool "webkitgtk"
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
+	depends on BR2_TOOLCHAIN_USES_GLIBC
+	depends on BR2_PACKAGE_LIBGTK3
+	depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
+	select BR2_PACKAGE_CAIRO
+	select BR2_PACKAGE_CAIRO_PNG
+	select BR2_PACKAGE_ENCHANT
+	select BR2_PACKAGE_HARFBUZZ
+	select BR2_PACKAGE_ICU
+	select BR2_PACKAGE_JPEG
+	select BR2_PACKAGE_LIBSECRET
+	select BR2_PACKAGE_LIBSOUP
+	select BR2_PACKAGE_LIBXML2
+	select BR2_PACKAGE_LIBXSLT
+	select BR2_PACKAGE_SQLITE
+	select BR2_PACKAGE_WEBP
+	select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_LIBGTK3_X11
+	select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_LIBGTK3_X11
+	select BR2_PACKAGE_XLIB_LIBXRENDER if BR2_PACKAGE_LIBGTK3_X11
+	select BR2_PACKAGE_XLIB_LIBXT if BR2_PACKAGE_LIBGTK3_X11
+	help
+	  WebKit is an open source, standards compliant web browser engine.
+
+	  http://www.webkitgtk.org/
package/webkitgtk/webkitgtk.mk new file +1 -0
new file mode 100644
index 0000000..d4e6ab5
@@ -0,0 +1,83 @@
+################################################################################

package/webkitgtk/webkitgtk.mk line 11

Quoted 10 lines
package/webkitgtk/webkitgtk.mk new file +10 -0
+#
+# webkitgtk
+#
+################################################################################
+
+WEBKITGTK_VERSION = 2.12.0
+WEBKITGTK_SITE = http://www.webkitgtk.org/releases
+WEBKITGTK_SOURCE = webkitgtk-$(WEBKITGTK_VERSION).tar.xz
+WEBKITGTK_INSTALL_STAGING = YES
+WEBKITGTK_LICENSE = LGPLv2.1+ BSD-2c

Is it an "and" (in which case they should be comma separated) or an "or" (in which case it should be "LGPLv2.1+ or BSD-2c") ? If it's an "and", are the parts under each license identifiable ?

package/webkitgtk/webkitgtk.mk line 19

Quoted 8 lines
package/webkitgtk/webkitgtk.mk new file +8 -0
+WEBKITGTK_LICENSE_FILES = \
+	Source/WebCore/LICENSE-APPLE \
+	Source/WebCore/LICENSE-LGPL-2.1
+WEBKITGTK_DEPENDENCIES = host-ruby host-flex host-bison host-gperf \
+	enchant harfbuzz icu jpeg libgtk3 libsecret libsoup \
+	libxml2 libxslt sqlite webp \
+	$(if $(BR_PACKAGE_XLIB_LIBXCOMPOSITE),xlib_libXcomposite) \
+	$(if $(BR_PACKAGE_XLIB_LIBXDAMAGE),xlib_libXdamage)

And those two X11 dependencies already taken care of by libgtk3 ? Why only libXcomposite and libXdamage handled here and not the other ones ? Are they really useful for Wayland ?

Quoted 31 lines
package/webkitgtk/webkitgtk.mk new file +31 -0
+WEBKITGTK_CONF_OPTS = \
+	-DENABLE_API_TESTS=OFF \
+	-DENABLE_GEOLOCATION=OFF \
+	-DENABLE_GTKDOC=OFF \
+	-DENABLE_INTROSPECTION=OFF \
+	-DENABLE_MINIBROWSER=ON \
+	-DENABLE_SPELLCHECK=ON \
+	-DPORT=GTK \
+	-DUSE_LIBNOTIFY=OFF \
+	-DUSE_LIBHYPHEN=OFF
+
+# ARM needs NEON for JIT
+# i386 & x86_64 don't seem to have any special requirements
+ifeq ($(BR2_ARM_CPU_HAS_NEON)$(BR2_i386)$(BR2_x86_64),y)
+WEBKITGTK_CONF_OPTS += -DENABLE_JIT=ON
+else
+WEBKITGTK_CONF_OPTS += -DENABLE_JIT=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_WEBKITGTK_MULTIMEDIA),y)
+WEBKITGTK_CONF_OPTS += \
+	-DENABLE_VIDEO=ON \
+	-DENABLE_WEB_AUDIO=ON
+WEBKITGTK_DEPENDENCIES += gstreamer1 gst1-libav gst1-plugins-base gst1-plugins-good
+else
+WEBKITGTK_CONF_OPTS += \
+	-DENABLE_VIDEO=OFF \
+	-DENABLE_WEB_AUDIO=OFF
+endif
+
+# Only one target platform can be built, assume X11 > Wayland

package/webkitgtk/webkitgtk.mk line 60

Quoted 10 lines
package/webkitgtk/webkitgtk.mk new file +10 -0
+
+# GTK3-X11 target mandates OpenGL from newer libgtk3 versions
+ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y)
+WEBKITGTK_CONF_OPTS += \
+	-DENABLE_ACCELERATED_2D_CANVAS=ON \
+	-DENABLE_GLES2=OFF \
+	-DENABLE_OPENGL=ON \
+	-DENABLE_X11_TARGET=ON
+WEBKITGTK_DEPENDENCIES += libgl \
+	xlib_libXcomposite xlib_libXdamage xlib_libXrender xlib_libXt

You're again handling libX* dependencies here, so I guess there is some duplication/issue here.

Quoted 13 lines
package/webkitgtk/webkitgtk.mk new file +13 -0
+# It can use libgtk2 for npapi plugins
+ifeq ($(BR2_PACKAGE_LIBGTK2),y)
+WEBKITGTK_CONF_OPTS += -DENABLE_PLUGIN_PROCESS_GTK2=ON
+WEBKITGTK_DEPENDENCIES += libgtk2
+else
+WEBKITGTK_CONF_OPTS += -DENABLE_PLUGIN_PROCESS_GTK2=OFF
+endif
+else # !X11
+# GTK3-WAYLAND target mandates EGL from newer libgtk3 versions
+ifeq ($(BR2_PACKAGE_LIBGTK3_WAYLAND),y)
+WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=ON
+WEBKITGTK_DEPENDENCIES += libegl
+# GLES support is optional

package/webkitgtk/webkitgtk.mk line 83

Quoted 10 lines
package/webkitgtk/webkitgtk.mk new file +10 -0
+ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y)
+WEBKITGTK_CONF_OPTS += -DENABLE_GLES2=ON
+WEBKITGTK_DEPENDENCIES += libgles
+else
+WEBKITGTK_CONF_OPTS += -DENABLE_GLES2=OFF
+endif
+endif
+endif
+
+$(eval $(cmake-package))

Otherwise, looks good to me.

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#5 lore raw

PATCH 2/5 webkitgtk: new package

Quoted 5 lines · Thomas Petazzoni
Quoted 1 line

+WEBKITGTK_LICENSE = LGPLv2.1+ BSD-2c

Is it an "and" (in which case they should be comma separated) or an "or" (in which case it should be "LGPLv2.1+ or BSD-2c") ? If it's an "and", are the parts under each license identifiable ?

Hi.
It's and, LGPL for the glue part (gtk), BSD for the webkit part if i remember correctly. I'll add the coma.

Quoted 4 lines
Quoted 4 lines
package/webkitgtk/webkitgtk.mk new file +4 -0
+WEBKITGTK_LICENSE_FILES = \
+	Source/WebCore/LICENSE-APPLE \
+	Source/WebCore/LICENSE-LGPL-2.1
+WEBKITGTK_DEPENDENCIES = host-ruby host-flex host-bison host-gperf \
Quoted 8 lines

package/webkitgtk/webkitgtk.mk line 19

Quoted 4 lines
package/webkitgtk/webkitgtk.mk new file +4 -0
+	enchant harfbuzz icu jpeg libgtk3 libsecret libsoup \
+	libxml2 libxslt sqlite webp \
+	$(if $(BR_PACKAGE_XLIB_LIBXCOMPOSITE),xlib_libXcomposite) \
+	$(if $(BR_PACKAGE_XLIB_LIBXDAMAGE),xlib_libXdamage)

And those two X11 dependencies already taken care of by libgtk3 ? Why only libXcomposite and libXdamage handled here and not the other ones ? Are they really useful for Wayland ?

No they aren't, they are explicit X11 deps for webkit, i'll move them down to the X11 block though since they aren't useful for wayland. gtk3 wants/asks for: libx11, libxext, libxrender and libxi.

Quoted 2 lines

You're again handling libX* dependencies here, so I guess there is some duplication/issue here.

Yes, forgot to clean up, will do for v2.
Regards.

#6 lore raw

PATCH 3/5 midori: bump to version 0.5.11

In reply to Gustavo Zacarias

Also drop BR2_PACKAGE_MIDORI_HTTPS option since it's now handled in the webkitgtk package to satisfy MiniBrowser.

This version can't work with the older webkitgtk24 engine so it switches to the new version.

Also make gcr support conditional on x11 support for libgtk3, it doesn't work otherwise.

---
 package/midori/0001-disable-libnotify.patch | 43 ----------------------------
 package/midori/0001-fix-bug-1492932.patch   | 44 +++++++++++++++++++++++++++++
 package/midori/0002-gcr-for-x11-only.patch  | 32 +++++++++++++++++++++
 package/midori/0002-new-vala.patch          | 26 -----------------
 package/midori/Config.in                    | 36 ++++++++---------------
 package/midori/midori.hash                  |  2 +-
 package/midori/midori.mk                    | 36 ++++++-----------------
 7 files changed, 98 insertions(+), 121 deletions(-)
 delete mode 100644 package/midori/0001-disable-libnotify.patch
 create mode 100644 package/midori/0001-fix-bug-1492932.patch
 create mode 100644 package/midori/0002-gcr-for-x11-only.patch
 delete mode 100644 package/midori/0002-new-vala.patch
package/midori/0001-disable-libnotify.patch deleted +0 -43
deleted file mode 100644
index 830ecff..0000000
@@ -1,43 +0,0 @@
-Disable libnotify support, we've got no package and it's not very useful
-in embedded targets anyway.
-The webmedia extension requires libnotify as well.
-
-Signed-off-by: Gustavo Zacarias <[email protected]>
-
-diff -Nura midori-0.5.9.orig/CMakeLists.txt midori-0.5.9/CMakeLists.txt
---- midori-0.5.9.orig/CMakeLists.txt	2015-03-30 15:57:29.554632932 -0300
-+++ midori-0.5.9/CMakeLists.txt	2015-03-30 15:57:35.299830192 -0300
-@@ -143,16 +143,7 @@
-     endif ()
- endif ()
- 
--if (WIN32)
--    add_definitions("-DLIBNOTIFY_VERSION=\"No\"")
--else ()
--    pkg_check_modules(NOTIFY REQUIRED libnotify)
--    add_definitions("-DLIBNOTIFY_VERSION=\"${NOTIFY_VERSION}\"")
--    add_definitions("-DHAVE_LIBNOTIFY")
--    set(OPTS_INCLUDE_DIRS "${OPTS_INCLUDE_DIRS};${NOTIFY_INCLUDE_DIRS}")
--    set(OPTS_LIBRARIES "${OPTS_LIBRARIES};${NOTIFY_LIBRARIES}")
--    set(PKGS ${PKGS} libnotify)
--endif ()
-+add_definitions("-DLIBNOTIFY_VERSION=\"No\"")
- 
- option(USE_GTK3 "Use GTK+3" OFF)
- option(HALF_BRO_INCOM_WEBKIT2 "Serve as a guniea pig" OFF)
-diff -Nura midori-0.5.9.orig/extensions/CMakeLists.txt midori-0.5.9/extensions/CMakeLists.txt
---- midori-0.5.9.orig/extensions/CMakeLists.txt	2015-03-30 15:57:29.544632589 -0300
-+++ midori-0.5.9/extensions/CMakeLists.txt	2015-03-30 15:57:51.777395949 -0300
-@@ -24,11 +24,7 @@
-          )
- endif ()
- 
--# FIXME: re-enable webmedia extension
--# once we have working notifications on win
--if (WIN32)
--    list(REMOVE_ITEM EXTENSIONS "webmedia-now-playing.vala")
--endif()
-+list(REMOVE_ITEM EXTENSIONS "webmedia-now-playing.vala")
- 
- foreach(UNIT_SRC ${EXTENSIONS})
-     string(FIND ${UNIT_SRC} ".c" UNIT_EXTENSION)
package/midori/0001-fix-bug-1492932.patch new file +44 -0

44 lines not on this page · raw message

package/midori/0002-gcr-for-x11-only.patch new file +32 -0
new file mode 100644
index 0000000..85e7697
@@ -0,0 +1,32 @@
+GCR support only works/is useful with X11 support.
+
+Reported upstream: https://bugs.launchpad.net/midori/+bug/1515985
+
+Signed-off-by: Gustavo Zacarias <[email protected]>
+
+diff -Nura midori-0.5.11.orig/CMakeLists.txt midori-0.5.11/CMakeLists.txt
+--- midori-0.5.11.orig/CMakeLists.txt	2015-11-12 13:41:02.045898814 -0300
++++ midori-0.5.11/CMakeLists.txt	2015-11-12 14:00:09.765545018 -0300
+@@ -175,18 +175,14 @@
+     set(PKGS ${PKGS} zeitgeist-2.0)
+ endif()
+ 
+-if (WIN32)
+-    add_definitions("-DGCR_VERSION=\"No\"")
+-else ()
+-    if (USE_GTK3)
+-        pkg_check_modules(GCR REQUIRED gcr-3>=2.32)
+-    else ()
+-        pkg_check_modules(GCR REQUIRED gcr-base-3>=2.32)
+-    endif ()
++if (USE_GTK3 AND X11)
++    pkg_check_modules(GCR REQUIRED gcr-3>=2.32)
+     add_definitions("-DGCR_VERSION=\"${GCR_VERSION}\"")
+     add_definitions("-DHAVE_GCR")
+     set(OPTS_INCLUDE_DIRS ${OPTS_INCLUDE_DIRS} ${GCR_INCLUDE_DIRS})
+     set(OPTS_LIBRARIES ${OPTS_LIBRARIES} ${GCR_LIBRARIES})
++else ()
++    add_definitions("-DGCR_VERSION=\"No\"")
+ endif ()
+ 
+ if (HALF_BRO_INCOM_WEBKIT2)
package/midori/0002-new-vala.patch deleted +0 -26
deleted file mode 100644
index 600ff49..0000000
@@ -1,26 +0,0 @@
-Fix build with newer (0.28+) vala versions, from:
-http://www.linuxquestions.org/questions/slackware-14/midori-compile-fail-ambiguous-reference-between-glib-and-gtk-4175542325/
-
-Signed-off-by: Gustavo Zacarias <[email protected]>
-
-diff -Nura midori-0.5.9.orig/extensions/history-list.vala midori-0.5.9/extensions/history-list.vala
---- midori-0.5.9.orig/extensions/history-list.vala	2015-07-03 21:05:01.183360199 -0300
-+++ midori-0.5.9/extensions/history-list.vala	2015-07-03 21:05:48.959900926 -0300
-@@ -319,7 +319,7 @@
-         }
- 
-         private void create_widgets () {
--            ListStore model;
-+            Gtk.ListStore model;
-             TreeIter iter;
-             TreeIter? active_iter = null;
- 
-@@ -331,7 +331,7 @@
- 
-             var tab_closing_behavior = this.hl_manager.get_integer ("TabClosingBehavior");
- 
--            model = new ListStore (2, typeof (string), typeof (int));
-+            model = new Gtk.ListStore (2, typeof (string), typeof (int));
- 
-             model.append (out iter);
-             model.set (iter, TabClosingBehaviorModel.TEXT, _("Do nothing"),
package/midori/Config.in +12 -24
index 11a2806..ba8ea5a 100644
@@ -1,37 +1,25 @@
-comment "midori needs libgtk2 and a toolchain w/ C++, wchar, NPTL, gcc >= 4.8"
-	depends on BR2_PACKAGE_WEBKITGTK24_ARCH_SUPPORTS
-	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
-		!BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_PACKAGE_LIBGTK2 \
-		|| !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
+comment "midori needs libgtk3 and an (e)glibc toolchain w/ C++, gcc >= 4.9"
+	depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
+	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_LIBGTK3 \
+		|| !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
 
 config BR2_PACKAGE_MIDORI
 	bool "midori"
+	# GCR can only be used with the X11 backend
+	select BR2_PACKAGE_GCR if BR2_PACKAGE_LIBGTK3_X11
+	select BR2_PACKAGE_GRANITE
 	select BR2_PACKAGE_LIBSOUP
 	select BR2_PACKAGE_LIBSOUP_GNOME
 	select BR2_PACKAGE_LIBXML2
 	select BR2_PACKAGE_SQLITE
-	select BR2_PACKAGE_WEBKITGTK24
+	select BR2_PACKAGE_WEBKITGTK
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
-	depends on (BR2_PACKAGE_LIBGTK2 && BR2_PACKAGE_XORG7)
-	depends on BR2_INSTALL_LIBSTDCPP # webkitgtk24
-	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # webkitgtk24
-	depends on BR2_USE_WCHAR # webkitgtk24
-	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # webkitgtk24
-	depends on BR2_PACKAGE_WEBKITGTK24_ARCH_SUPPORTS
+	depends on BR2_PACKAGE_LIBGTK3_X11 || BR2_PACKAGE_LIBGTK3_WAYLAND
+	depends on BR2_INSTALL_LIBSTDCPP # webkitgtk
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # webkitgtk
+	depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
 	help
 	  Midori is a lightweight web browser based on WebKit
 
 	  http://www.midori-browser.org/
-
-if BR2_PACKAGE_MIDORI
-
-config BR2_PACKAGE_MIDORI_HTTPS
-	bool "HTTPS support"
-	select BR2_PACKAGE_CA_CERTIFICATES # runtime
-	select BR2_PACKAGE_GLIB_NETWORKING
-	select BR2_PACKAGE_GNUTLS # for glib-networking
-	help
-	  Enable HTTPS protocol support
-
-endif
package/midori/midori.hash +1 -1
index 7aae4c1..f548c42 100644
@@ -1,2 +1,2 @@
 # From download link @ http://midori-browser.org/download/source/
-sha1	475614dcc89a214a3c2fdc2aaefc817a5fa0ca03	midori_0.5.9_all_.tar.bz2
+sha1	64c86935028feb5f89d799c2acacaad67764da6f	midori_0.5.11_all_.tar.bz2
package/midori/midori.mk +9 -27
index 7927400..5aa83c6 100644
@@ -4,9 +4,9 @@
 #
 ################################################################################
 
-MIDORI_VERSION = 0.5.9
+MIDORI_VERSION = 0.5.11
 MIDORI_SOURCE = midori_$(MIDORI_VERSION)_all_.tar.bz2
-MIDORI_SITE = https://launchpad.net/midori/trunk/$(MIDORI_VERSION)/+download
+MIDORI_SITE = http://midori-browser.org/downloads
 MIDORI_LICENSE = LGPLv2.1+
 MIDORI_LICENSE_FILES = COPYING
 MIDORI_DEPENDENCIES = \
@@ -15,38 +15,20 @@ MIDORI_DEPENDENCIES = \
 	host-pkgconf \
 	host-vala \
 	host-python \
+	$(if $(BR2_PACKAGE_LIBGTK3_X11),gcr) \
+	granite \
+	libgtk3 \
 	libsoup \
 	libxml2 \
 	sqlite \
-	webkitgtk24 \
+	webkitgtk \
 	$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) \
 	$(if $(BR2_PACKAGE_LIBICONV),libiconv)
 
 MIDORI_CONF_OPTS = \
+	-DHALF_BRO_INCOM_WEBKIT2=ON \
+	-DUSE_GRANITE=ON \
+	-DUSE_GTK3=ON \
 	-DUSE_ZEITGEIST=OFF
 
-# Requires uClibc backtrace support, normally not enabled
-ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
-define MIDORI_REMOVE_DEVPET
-	rm -f $(@D)/extensions/devpet.vala
-endef
-MIDORI_POST_PATCH_HOOKS += MIDORI_REMOVE_DEVPET
-endif
-
-ifeq ($(BR2_PACKAGE_MIDORI_HTTPS),y)
-MIDORI_DEPENDENCIES += glib-networking
-endif
-
-ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y)
-MIDORI_CONF_OPTS += -DUSE_GTK3=ON -DHALF_BRO_INCOM_WEBKIT2=ON
-MIDORI_DEPENDENCIES += libgtk3
-# Only useful with gtk3
-ifeq ($(BR2_PACKAGE_GCR),y)
-MIDORI_DEPENDENCIES += gcr
-endif
-else
-MIDORI_CONF_OPTS += -DUSE_GTK3=OFF
-MIDORI_DEPENDENCIES += libgtk2
-endif
-
 $(eval $(cmake-package))
Signature · 1 line
2.7.3
#7 lore raw

PATCH 4/5 webkitgtk24: mark as deprecated

In reply to Gustavo Zacarias

It's affected by 40+ security bugs, and upstream will only care to fix the latest stable branch, which is 2.12.x
Some effort was made with the 2.4.10 release to address some security bugs but it's incomplete.

See:
https://blogs.gnome.org/mcatanzaro/2016/02/01/on-webkit-security-updates/
https://blogs.gnome.org/mcatanzaro/2016/02/19/webkitgtk-gets-security-updates/

Also:
http://webkitgtk.org/security/WSA-2016-0002.html
http://webkitgtk.org/security/WSA-2016-0001.html
http://webkitgtk.org/security/WSA-2015-0002.html

---
 package/webkitgtk24/Config.in | 2 ++
 1 file changed, 2 insertions(+)
package/webkitgtk24/Config.in +2 -0
index e95a851..bba3a2b 100644
@@ -16,9 +16,11 @@ comment "webkitgtk24 needs libgtk2 and a toolchain w/ C++, wchar, NPTL, gcc >=4.
 		!BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_INSTALL_LIBSTDCPP \
 		|| !BR2_USE_WCHAR || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
 	depends on BR2_USE_MMU
+	depends on BR2_DEPRECATED_SINCE_2016_05
 
 config BR2_PACKAGE_WEBKITGTK24
 	bool "webkitgtk 2.4.x"
+	depends on BR2_DEPRECATED_SINCE_2016_05
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_USE_WCHAR
 	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
Signature · 1 line
2.7.3
#8 lore raw

PATCH 5/5 qemu/x86_64: add midori samples for wayland and x11r7

In reply to Gustavo Zacarias
---
 board/qemu/x86_64/busybox-extras.config            |  1 +
 board/qemu/x86_64/genimage-x86_64.cfg              | 24 +++++++
 board/qemu/x86_64/grub.cfg                         | 10 +++
 board/qemu/x86_64/linux-extras.config              | 51 +++++++++++++++
 .../x86_64/midori_overlay/etc/X11/xinit/xinitrc    |  3 +
 board/qemu/x86_64/midori_overlay/etc/fb.modes      |  4 ++
 .../x86_64/midori_overlay/etc/init.d/S00rootfs     |  5 ++
 .../qemu/x86_64/midori_overlay/etc/init.d/S98audio |  6 ++
 board/qemu/x86_64/midori_overlay/etc/init.d/S99gui | 21 ++++++
 board/qemu/x86_64/midori_overlay/etc/weston.ini    | 43 ++++++++++++
 .../x86_64/midori_overlay/usr/share/fluxbox/init   |  7 ++
 .../x86_64/midori_overlay/usr/share/fluxbox/menu   | 29 +++++++++
 board/qemu/x86_64/post-image.sh                    | 20 ++++++
 board/qemu/x86_64/post-process.sh                  |  8 +++
 configs/midori_wayland_x86_64_defconfig            | 63 ++++++++++++++++++
 configs/midori_x11_x86_64_defconfig                | 76 ++++++++++++++++++++++
 16 files changed, 371 insertions(+)
 create mode 100644 board/qemu/x86_64/busybox-extras.config
 create mode 100644 board/qemu/x86_64/genimage-x86_64.cfg
 create mode 100644 board/qemu/x86_64/grub.cfg
 create mode 100644 board/qemu/x86_64/linux-extras.config
 create mode 100644 board/qemu/x86_64/midori_overlay/etc/X11/xinit/xinitrc
 create mode 100644 board/qemu/x86_64/midori_overlay/etc/fb.modes
 create mode 100755 board/qemu/x86_64/midori_overlay/etc/init.d/S00rootfs
 create mode 100755 board/qemu/x86_64/midori_overlay/etc/init.d/S98audio
 create mode 100755 board/qemu/x86_64/midori_overlay/etc/init.d/S99gui
 create mode 100644 board/qemu/x86_64/midori_overlay/etc/weston.ini
 create mode 100644 board/qemu/x86_64/midori_overlay/usr/share/fluxbox/init
 create mode 100644 board/qemu/x86_64/midori_overlay/usr/share/fluxbox/menu
 create mode 100755 board/qemu/x86_64/post-image.sh
 create mode 100755 board/qemu/x86_64/post-process.sh
 create mode 100644 configs/midori_wayland_x86_64_defconfig
 create mode 100644 configs/midori_x11_x86_64_defconfig
board/qemu/x86_64/busybox-extras.config new file +1 -0
new file mode 100644
index 0000000..7a776f9
@@ -0,0 +1 @@
+CONFIG_RDEV=y
board/qemu/x86_64/genimage-x86_64.cfg new file +24 -0
new file mode 100644
index 0000000..ee6339b
@@ -0,0 +1,24 @@
+image disk.img {
+
+  hdimage {
+  }
+
+  partition boot {
+    in-partition-table = "no"
+    image = "boot.img"
+    offset = 0
+    size = 512
+  }
+
+  partition grub {
+    in-partition-table = "no"
+    image = "grub.img"
+    offset = 512
+  }
+
+  partition root {
+    partition-type = 0x83
+    image = "rootfs.squashfs"
+  }
+
+}
board/qemu/x86_64/grub.cfg new file +10 -0
new file mode 100644
index 0000000..77385f1
@@ -0,0 +1,10 @@
+set default="0"
+set timeout="5"
+
+menuentry "Private mode" {
+	linux /boot/bzImage root=/dev/sda1 rootwait console=tty1
+}
+
+menuentry "Permanent mode" {
+	linux /boot/bzImage root=/dev/sda1 rootwait console=tty1 grow_root
+}
board/qemu/x86_64/linux-extras.config new file +51 -0

51 lines not on this page · raw message

board/qemu/x86_64/midori_overlay/etc/X11/xinit/xinitrc new file +3 -0
new file mode 100644
index 0000000..a838946
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+fluxbox
board/qemu/x86_64/midori_overlay/etc/fb.modes new file +4 -0
new file mode 100644
index 0000000..813c51c
@@ -0,0 +1,4 @@
+mode "1024x768-60"
+	geometry 1024 768 1024 768 24
+	timings 15385 160 24 29 3 136 6
+endmode
board/qemu/x86_64/midori_overlay/etc/init.d/S00rootfs new file +5 -0
new file mode 100755
index 0000000..5079444
@@ -0,0 +1,5 @@
+#!/bin/sh
+if [ "$1" = "start" ]; then
+# Mount a volatile root user home directory
+  mount -t tmpfs root_home /root
+fi
board/qemu/x86_64/midori_overlay/etc/init.d/S98audio new file +6 -0
new file mode 100755
index 0000000..7899cff
@@ -0,0 +1,6 @@
+#!/bin/sh
+if [ "$1" = "start" ]; then
+  if [ -x /usr/bin/amixer ]; then
+    amixer set Master 100 unmute >/dev/null 2>&1
+  fi
+fi
board/qemu/x86_64/midori_overlay/etc/init.d/S99gui new file +21 -0
new file mode 100755
index 0000000..009ac15
@@ -0,0 +1,21 @@
+#!/bin/sh
+if [ "$1" = "start" ]; then
+
+  # XDG setup
+  export HOME=/root
+  export UID=`id -u`
+  export XDG_RUNTIME_DIR=/run/user/${UID}
+  mkdir -p /run/user/${UID}
+  chmod 700 /run/user/${UID}
+
+  # X11
+  if [ -x /usr/bin/startx ]; then
+    startx
+  fi
+
+  # Wayland/Weston
+  if [ -x /usr/bin/weston ]; then
+    openvt -c 2 -s -- weston --backend=fbdev-backend.so --config=/etc/weston.ini --tty=2 --log=/var/log/weston.log
+  fi
+
+fi
board/qemu/x86_64/midori_overlay/etc/weston.ini new file +43 -0

43 lines not on this page · raw message

board/qemu/x86_64/midori_overlay/usr/share/fluxbox/init new file +7 -0
new file mode 100644
index 0000000..34e17bc
@@ -0,0 +1,7 @@
+! If you're looking for settings to configure, they won't be saved here until
+! you change something in the fluxbox configuration menu.
+
+session.menuFile:	~/.fluxbox/menu
+session.keyFile: ~/.fluxbox/keys
+session.styleFile: /usr/share/fluxbox/styles/zimek_green
+session.configVersion:	13
board/qemu/x86_64/midori_overlay/usr/share/fluxbox/menu new file +29 -0
new file mode 100644
index 0000000..6d7a439
@@ -0,0 +1,29 @@
+[begin] (Fluxbox-1.3.7)
+[encoding] {UTF-8}
+      [exec] (connman-gtk) {connman-gtk}
+      [exec] (midori) {midori}
+      [exec] (MiniBrowser) {MiniBrowser}
+      [exec] (wireshark) {wireshark-gtk}
+      [exec] (xterm) {xterm}
+      [separator]
+      [exec] (Reboot) {/sbin/reboot}
+      [exec] (Power off) {/sbin/poweroff}
+      [separator]
+[submenu] (Fluxbox menu)
+      [config] (Configure)
+[submenu] (System Styles) {Choose a style...}
+      [stylesdir] (/usr/share/fluxbox/styles)
+[end]
+[submenu] (User Styles) {Choose a style...}
+      [stylesdir] (~/.fluxbox/styles)
+[end]
+      [workspaces] (Workspace List)
+      [commanddialog] (Fluxbox Command)
+      [reconfig] (Reload config)
+      [restart] (Restart)
+      [exec] (About) {(fluxbox -v; fluxbox -info | sed 1d) | xmessage -file - -center}
+      [separator]
+      [exit] (Exit)
+[end]
+[endencoding]
+[end]
board/qemu/x86_64/post-image.sh new file +20 -0
new file mode 100755
index 0000000..f04413c
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+BOARD_DIR="$(dirname $0)"
+BOARD_NAME="$(basename ${BOARD_DIR})"
+GENIMAGE_CFG="${BOARD_DIR}/genimage-${BOARD_NAME}.cfg"
+GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
+
+rm -rf "${GENIMAGE_TMP}"
+
+# Copy grub 1st stage to output/images
+cp -f ${HOST_DIR}/usr/lib/grub/i386-pc/boot.img ${BINARIES_DIR}
+
+genimage                           \
+       --rootpath "${TARGET_DIR}"     \
+       --tmppath "${GENIMAGE_TMP}"    \
+       --inputpath "${BINARIES_DIR}"  \
+       --outputpath "${BINARIES_DIR}" \
+       --config "${GENIMAGE_CFG}"
+
+exit $?
board/qemu/x86_64/post-process.sh new file +8 -0
new file mode 100755
index 0000000..0ed22bc
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+BOARD_DIR="$(dirname $0)"
+BOARD_NAME="$(basename ${BOARD_DIR})"
+
+# Copy grub config to target
+cp -f ${BOARD_DIR}/grub.cfg ${TARGET_DIR}/boot/grub
+
configs/midori_wayland_x86_64_defconfig new file +63 -0

63 lines not on this page · raw message

configs/midori_x11_x86_64_defconfig new file +76 -0

76 lines not on this page · raw message

Signature · 1 line
2.7.3

A message that is not in the archive (sent off-list or not yet received): [email protected]

#10 lore raw

PATCH 5/5 qemu/x86_64: add midori samples for wayland and x11r7

Quoted 3 lines · Arnout Vandecappelle

A demo defconfig! Great!

I have nothing major to comment on, just a few points.

Hi.
Let's see, it was mostly a proof-of-concept (POC) / RFC so adjustments are definitely welcome/needed.

Quoted 10 lines

I think it would be better to start the name with the base defconfig,
so qemu_x86_64_midori_wayland_defconfig.

Oh, wait, is it actually a qemu defconfig? I guess not because it
creates a full disk image...

Maybe it would be better then to first add a separate x86_64_defconfig
that creates a simple disk image for x86_64, and in a second patch add the x86_64_midori_x11 and _wayland defconfigs. That would also make the patches much easier to review.

Yes, i already have a pc_bios_x86_64_defconfig, it just happens that this config can be used via qemu or real hardware.
The idea is indeed to have a base "pc" config to have the kernel config fragment with all the drivers, though it might be a little overkill for qemu since many will go unused just adding up size.

Quoted 1 line

Oh, and you're also missing a readme.

Oh yes.

Quoted 1 line

Maybe add a comment why this is needed.

I'm using this for the volatile/permanent storage logic, will expand on this below...

Quoted 2 lines

The meaning of this "Private" and "Permanent" is a bit vague.
Actually, what does the grow_root mean?

s/Private/Volatile/
Or "just run don't store anything".

Quoted 2 lines

Why squashfs? Ext4 would be the more logical choice IMHO, you can make
it writable as well.

The image is quite smaller than ext4, and also with ext4 and genimage you must know your target size or set it to some arbitrary number. Previously i used +128 MB free space for the image size on ext4, resulting on a squashfs4 wayland a target image of roughly 100 MB, whereas for ext4 it was more around 450 MB.
The extra free space is needed for the browser to store temporary files, the worst offender being watching some html5 video that potentially needs the full size on disk at one given time (it will go away once you close it).
I decided that setting +128 MB wasn't nearly good enough - it would waste available space if the media is bigger (likely), or some people just don't want to store it altogether, or some $video wouldn't fit, so going to a "keep binaries RO and small" solution seemed better, with a boot option to select the mode. On volatile just throw a tmpfs for /root, if it's permanent (unimplemented yet, but not difficult) add an extra partition with an ext4 filesystem to store it. That's where rdev is needed, to find out the root filesystem device.
That's also the reason e2fsprogs & parted are in there.

Quoted 2 lines

Wouldn't it be better to enable everything that works on x86 as
modules? This is a bit a random selection...

Yes, indeed.

Quoted 1 line

Same here.

Ditto, it's not complete and we wouldn't want to complete with builtins.

Quoted 1 line

If / is rw, this isn't needed.

Dual-strategy scenario above, without the permanent implemented yet.

Quoted 1 line

Can't wayland autodetect the backend like X?

It has a default, but no, it doesn't autodetect.
There are only two of interest here though: drm or fbdev, with fbdev being the most foolproof of all.
We might throw this in a config file in /etc though.

Quoted 1 line

Is it useful to have all these commented out lines?

They were there for testing/debugging, they can go.

Quoted 1 line

post-build.sh would be a better name.

Yes, sure.

Quoted 1 line

Couldn't it just be part of the overlay?

Probably, i didn't clean-up everything, it wasn't intended to be a final config, just to get the ball rolling to discuss.

Quoted 1 line

Why mtools?

Leftover from testing with syslinux, no longer necessary.

A couple of extra comments from myself ("i'm not crazy!") ;-)

* We can add squashfs support directly to the grub2 default, size growth is minimal and we're talking about x86/x86_64 which normally aren't that strained in resources. Hence drop it in the defconfig.

* Fluxbox creates the menu config dynamically based on host installed/detected tools, it might be interesting changing this since you may miss a lot of entries, or have too many missing ones. Even having a simple base menu config and disabling the automatic one might be desirable, while adding a comment to fluxbox's Config.in

Regards.

#11 lore raw

PATCH 5/5 qemu/x86_64: add midori samples for wayland and x11r7

Quoted 2 lines · Gustavo Zacarias

On 27/03/16 08:55, Arnout Vandecappelle wrote:

[snip]

Quoted 7 lines
Quoted 4 lines

Maybe it would be better then to first add a separate x86_64_defconfig
that creates a simple disk image for x86_64, and in a second patch add the x86_64_midori_x11 and _wayland defconfigs. That would also make the patches much easier to review.

Yes, i already have a pc_bios_x86_64_defconfig, it just happens that this config can be used via qemu or real hardware.

Well, if you post that defconfig, it should be possible to apply quickly, no?
Nothing controversial there I expect.

Quoted 3 lines

The idea is indeed to have a base "pc" config to have the kernel config fragment with all the drivers, though it might be a little overkill for qemu since many will go unused just adding up size.

You mean that the pc_bios_x86_64_defconfig would use
board/qemu/x86_64/linux-4.5.config + kconfig fragment to enable all kinds of network and display devices as modules, no?

Quoted 15 lines
Quoted 1 line

Oh, and you're also missing a readme.

Oh yes.

Quoted 1 line

Maybe add a comment why this is needed.

I'm using this for the volatile/permanent storage logic, will expand on this below...

Quoted 2 lines

The meaning of this "Private" and "Permanent" is a bit vague.
Actually, what does the grow_root mean?

s/Private/Volatile/
Or "just run don't store anything".

Quoted 8 lines
Quoted 2 lines

Why squashfs? Ext4 would be the more logical choice IMHO, you can make
it writable as well.

The image is quite smaller than ext4, and also with ext4 and genimage you must know your target size or set it to some arbitrary number. Previously i used +128 MB free space for the image size on ext4, resulting on a squashfs4 wayland a target image of roughly 100 MB, whereas for ext4 it was more around 450 MB.

OK.

Quoted 11 lines

The extra free space is needed for the browser to store temporary files, the worst offender being watching some html5 video that potentially needs the full size on disk at one given time (it will go away once you close it). I decided that setting +128 MB wasn't nearly good enough - it would waste available space if the media is bigger (likely), or some people just don't want to store it altogether, or some $video wouldn't fit, so going to a "keep binaries RO and small" solution seemed better, with a boot option to select the mode. On volatile just throw a tmpfs for /root, if it's permanent (unimplemented yet, but not difficult) add an extra partition with an ext4 filesystem to store it. That's where rdev is needed, to find out the root filesystem device. That's also the reason e2fsprogs & parted are in there.

Since it's not implemented yet, I'd propose to post something now already that
just has the Volatile option (it can already be called that).

Quoted 12 lines
Quoted 3 lines

Wouldn't it be better to enable everything that works on x86 as
modules? This is a bit a random selection...

Yes, indeed.

Quoted 1 line

Same here.

Ditto, it's not complete and we wouldn't want to complete with builtins.

Quoted 1 line

If / is rw, this isn't needed.

Quoted 8 lines

Dual-strategy scenario above, without the permanent implemented yet.

Quoted 1 line

Can't wayland autodetect the backend like X?

It has a default, but no, it doesn't autodetect.
There are only two of interest here though: drm or fbdev, with fbdev being the most foolproof of all.
We might throw this in a config file in /etc though.

If / isn't writeable there isn't much point. You anyway have to adapt the
config to change that defaults file, so in that case you can just as well change S99gui directly.

Quoted 5 lines
Quoted 2 lines

Is it useful to have all these commented out lines?

They were there for testing/debugging, they can go.

Quoted 8 lines
Quoted 1 line

post-build.sh would be a better name.

Yes, sure.

Quoted 1 line

Couldn't it just be part of the overlay?

Probably, i didn't clean-up everything, it wasn't intended to be a final config, just to get the ball rolling to discuss.

We're discussing all right :-)

Quoted 10 lines
Quoted 2 lines

Why mtools?

Leftover from testing with syslinux, no longer necessary.

A couple of extra comments from myself ("i'm not crazy!") ;-)

* We can add squashfs support directly to the grub2 default, size growth is minimal and we're talking about x86/x86_64 which normally aren't that strained in resources. Hence drop it in the defconfig.

OK for me, but not essential I think; it's not a problem that the grub config
is non-default.

Quoted 5 lines

* Fluxbox creates the menu config dynamically based on host installed/detected tools, it might be interesting changing this since you may miss a lot of entries, or have too many missing ones.
Even having a simple base menu config and disabling the automatic one might be desirable, while adding a comment to fluxbox's Config.in

This is completely independent of this defconfig, right? You are basically
saying that the fluxbox.mk is wrong because it leaks host info into the target?

Regards,
Arnout

Quoted 3 lines

Regards.

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF