diff mbox

[1/1] webkitgtk: bump to version 2.16.5

Message ID 20170705143303.26282-1-aperez@igalia.com
State Accepted
Commit 23c0872442e025dd2fc6f143c1bbce6a5a7c0964
Headers show

Commit Message

Adrian Perez de Castro July 5, 2017, 2:33 p.m. UTC
This simply updates to the latest stable release. WebKitGTK+ versions
in the 2.1x series avoid bumping the dependencies in order to allow
distributions to provide updates, therefore no new dependencies are
needed.

Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
---
 package/webkitgtk/webkitgtk.hash | 8 ++++----
 package/webkitgtk/webkitgtk.mk   | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

Comments

Peter Korsgaard July 5, 2017, 3:16 p.m. UTC | #1
>>>>> "Adrian" == Adrian Perez de Castro <aperez@igalia.com> writes:

 > This simply updates to the latest stable release. WebKitGTK+ versions
 > in the 2.1x series avoid bumping the dependencies in order to allow
 > distributions to provide updates, therefore no new dependencies are
 > needed.

 > Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>

Thanks! I've had bumping webkitgtk on my TODO for a while as there old
version is affected by a number of CVEs.

I take it that you actively use webkitgtk? I personally don't. Would you
be interested getting added to DEVELOPERS and looking after the package?

Committed, thanks.
Adrian Perez de Castro July 5, 2017, 5:04 p.m. UTC | #2
On Wed, 05 Jul 2017 17:16:52 +0200, Peter Korsgaard <peter@korsgaard.com> wrote:
> >>>>> "Adrian" == Adrian Perez de Castro <aperez@igalia.com> writes:
> 
>  > This simply updates to the latest stable release. WebKitGTK+ versions
>  > in the 2.1x series avoid bumping the dependencies in order to allow
>  > distributions to provide updates, therefore no new dependencies are
>  > needed.
> 
>  > Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
> 
> Thanks! I've had bumping webkitgtk on my TODO for a while as there old
> version is affected by a number of CVEs.

You're welcome! I am a WebKit developer myself (mostly working on the GTK+
port), and we have been trying that distributions ship WebKitGTK+ updates
promptly. At work we use Buildroot now and then, and we were just wondering
why an old version was still in use — so I just went ahead and sent the patch
to update, hoping that it would go through :-)

> I take it that you actively use webkitgtk? I personally don't. Would you
> be interested getting added to DEVELOPERS and looking after the package?

Sure thing, I can send a patch to add myself. For testing builds I usually
target the Raspberry Pi 3, which is what I have around always for testing.
Is this enough for me to try builds when making patches, or would you
recommend having some other board for development? Everyday WebKit development
is done on x86_64, so that's a very well tested target, too.

On a different note, I am also considering to submit packages in the following
days for the WPE WebKit port [1], which has a focus on embedded and has been
recently upstreamed. This will be more than a single patch because the port
has graphics back-ends selectable at runtime. Do you think it would be
difficult to get those landed?

(We have a few downstream forks of Buildroot with build recipes, but they need
cleaning up in order to follow the contribution guidelines, and it would be
nicer to rebase those on “master” when/if it gets the WPE packages in :D)

Best regards,

--
 Adrián 🎩

---
[1] One of my work mates wrote a blog post about it a while ago:
    http://blogs.igalia.com/magomez/2016/12/19/wpe-web-platform-for-embedded/
Adrian Perez de Castro July 5, 2017, 5:42 p.m. UTC | #3
On Wed, 5 Jul 2017 20:04:06 +0300, Adrian Perez de Castro <aperez@igalia.com> wrote:
> On Wed, 05 Jul 2017 17:16:52 +0200, Peter Korsgaard <peter@korsgaard.com> wrote:
>
> > [...]
> >
> > I take it that you actively use webkitgtk? I personally don't. Would you
> > be interested getting added to DEVELOPERS and looking after the package?
> 
> Sure thing, I can send a patch to add myself [...]

Patch posted: https://patchwork.ozlabs.org/patch/784762/

:-)

--
 Adrián 🎩
Peter Korsgaard July 5, 2017, 6:19 p.m. UTC | #4
>>>>> "Adrian" == Adrian Perez de Castro <aperez@igalia.com> writes:

Hi,

 >> Thanks! I've had bumping webkitgtk on my TODO for a while as there old
 >> version is affected by a number of CVEs.

 > You're welcome! I am a WebKit developer myself (mostly working on the GTK+
 > port), and we have been trying that distributions ship WebKitGTK+ updates
 > promptly. At work we use Buildroot now and then, and we were just wondering
 > why an old version was still in use — so I just went ahead and sent the patch
 > to update, hoping that it would go through :-)

Great, thanks for doing that! Our webkitgtk package could definately use
some love!

 >> I take it that you actively use webkitgtk? I personally don't. Would you
 >> be interested getting added to DEVELOPERS and looking after the package?

 > Sure thing, I can send a patch to add myself. For testing builds I usually
 > target the Raspberry Pi 3, which is what I have around always for testing.
 > Is this enough for me to try builds when making patches, or would you
 > recommend having some other board for development? Everyday WebKit development
 > is done on x86_64, so that's a very well tested target, too.

I think testing on a rpi3 would be fine, thanks.

 > On a different note, I am also considering to submit packages in the following
 > days for the WPE WebKit port [1], which has a focus on embedded and has been
 > recently upstreamed. This will be more than a single patch because the port
 > has graphics back-ends selectable at runtime. Do you think it would be
 > difficult to get those landed?

Sounds great - I don't see any reason why we wouldn't take them,
especially if you would help maintain them.

 > (We have a few downstream forks of Buildroot with build recipes, but they need
 > cleaning up in order to follow the contribution guidelines, and it would be
 > nicer to rebase those on “master” when/if it gets the WPE packages in :D)

Ok, great!

 > [1] One of my work mates wrote a blog post about it a while ago:
 >     http://blogs.igalia.com/magomez/2016/12/19/wpe-web-platform-for-embedded/

Yes, I saw the blog back then - Nice work!
Peter Korsgaard July 19, 2017, 2:05 p.m. UTC | #5
>>>>> "Adrian" == Adrian Perez de Castro <aperez@igalia.com> writes:

 > This simply updates to the latest stable release. WebKitGTK+ versions
 > in the 2.1x series avoid bumping the dependencies in order to allow
 > distributions to provide updates, therefore no new dependencies are
 > needed.

 > Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>

Committed to 2017.02.x and 2017.05.x, thanks.
Peter Korsgaard July 20, 2017, 6:05 a.m. UTC | #6
>>>>> "Peter" == Peter Korsgaard <peter@korsgaard.com> writes:

>>>>> "Adrian" == Adrian Perez de Castro <aperez@igalia.com> writes:
 >> This simply updates to the latest stable release. WebKitGTK+ versions
 >> in the 2.1x series avoid bumping the dependencies in order to allow
 >> distributions to provide updates, therefore no new dependencies are
 >> needed.

 >> Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>

 > Committed to 2017.02.x and 2017.05.x, thanks.

While backporting I noticed that webkitgtk doesn't seem to build without
the BR2_PACKAGE_WEBKITGTK_MULTIMEDIA option. I reproduced it with master
as well.

The build error I get is this. Do you have any idea how to fix?

/home/peko/buildroot/output/build/webkitgtk-2.16.5/DerivedSources/WebCore/JSWebGLRenderingContextBase.cpp:3100:207:   required from here
/home/peko/buildroot/output/build/webkitgtk-2.16.5/Source/WTF/wtf/PassRefPtr.h:40:13: error: invalid use of incomplete type ‘class WebCore::HTMLVideoElement’
             ptr->deref();
             ^
In file included from /home/peko/buildroot/output/build/webkitgtk-2.16.5/Source/WebCore/html/canvas/WebGLRenderingContextBase.h:32:0,
                 from /home/peko/buildroot/output/build/webkitgtk-2.16.5/DerivedSources/WebCore/JSWebGLRenderingContextBase.h:26,
                 from /home/peko/buildroot/output/build/webkitgtk-2.16.5/DerivedSources/WebCore/JSWebGLRenderingContextBase.cpp:25:
/home/peko/buildroot/output/build/webkitgtk-2.16.5/Source/WebCore/html/canvas/CanvasRenderingContext.h:40:7: note: forward declaration of ‘class WebCore::HTMLVideoElement’
 class HTMLVideoElement;
       ^
[ 39%] Building CXX object Source/WebCore/CMakeFiles/WebCoreDerivedSources.dir/__/__/DerivedSources/WebCore/FetchInternalsBuiltins.cpp.o
Source/WebCore/CMakeFiles/WebCoreDerivedSources.dir/build.make:16034: recipe for target 'Source/WebCore/CMakeFiles/WebCoreDerivedSources.dir/__/__/DerivedSources/WebCore/JSWebGLRenderingContextBase.cpp.o' failed
make[3]: *** [Source/WebCore/CMakeFiles/WebCoreDerivedSources.dir/__/__/DerivedSources/WebCore/JSWebGLRenderingContextBase.cpp.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory '/home/peko/buildroot/output/build/webkitgtk-2.16.5'
CMakeFiles/Makefile2:685: recipe for target 'Source/WebCore/CMakeFiles/WebCoreDerivedSources.dir/all' failed
make[2]: *** [Source/WebCore/CMakeFiles/WebCoreDerivedSources.dir/all] Error 2
make[2]: Leaving directory '/home/peko/buildroot/output/build/webkitgtk-2.16.5'
Makefile:151: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/peko/buildroot/output/build/webkitgtk-2.16.5'
Adrian Perez de Castro July 21, 2017, 3:23 p.m. UTC | #7
Hello Peter,

On Thu, 20 Jul 2017 08:05:52 +0200, Peter Korsgaard <peter@korsgaard.com> wrote:
> >>>>> "Peter" == Peter Korsgaard <peter@korsgaard.com> writes:
> 
> >>>>> "Adrian" == Adrian Perez de Castro <aperez@igalia.com> writes:
>  >> This simply updates to the latest stable release. WebKitGTK+ versions
>  >> in the 2.1x series avoid bumping the dependencies in order to allow
>  >> distributions to provide updates, therefore no new dependencies are
>  >> needed.
> 
>  >> Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
> 
>  > Committed to 2017.02.x and 2017.05.x, thanks.
> 
> While backporting I noticed that webkitgtk doesn't seem to build without
> the BR2_PACKAGE_WEBKITGTK_MULTIMEDIA option. I reproduced it with master
> as well.
> 
> The build error I get is this. Do you have any idea how to fix?

WebKitGTK+ does not officially support compiling with non-default build
options, but we try to keep the existing options working. Either we haven't
noticed this breakage, or there is some good reason why multimedia support
can't be disabled -- but my guess is the former.

At any rate, thanks a lot for the heads up. I'll try and take a look next week
when I'm back from holidays.

Cheers,


--
 Adrián 🎩
Peter Korsgaard July 21, 2017, 4:21 p.m. UTC | #8
>>>>> "Adrian" == Adrian Perez de Castro <aperez@igalia.com> writes:

Hi,

 > WebKitGTK+ does not officially support compiling with non-default build
 > options, but we try to keep the existing options working. Either we haven't
 > noticed this breakage, or there is some good reason why multimedia support
 > can't be disabled -- but my guess is the former.

 > At any rate, thanks a lot for the heads up. I'll try and take a look next week
 > when I'm back from holidays.

Thanks!
Adrian Perez de Castro July 28, 2017, 2:09 p.m. UTC | #9
Hi there,

On Thu, 20 Jul 2017 08:05:52 +0200, Peter Korsgaard <peter@korsgaard.com> wrote:
> >>>>> "Peter" == Peter Korsgaard <peter@korsgaard.com> writes:
> 
> >>>>> "Adrian" == Adrian Perez de Castro <aperez@igalia.com> writes:
>  >> This simply updates to the latest stable release. WebKitGTK+ versions
>  >> in the 2.1x series avoid bumping the dependencies in order to allow
>  >> distributions to provide updates, therefore no new dependencies are
>  >> needed.
> 
>  >> Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
> 
>  > Committed to 2017.02.x and 2017.05.x, thanks.
> 
> While backporting I noticed that webkitgtk doesn't seem to build without
> the BR2_PACKAGE_WEBKITGTK_MULTIMEDIA option. I reproduced it with master
> as well.
> 
> The build error I get is this. Do you have any idea how to fix?
> 
> /home/peko/buildroot/output/build/webkitgtk-2.16.5/DerivedSources/WebCore/JSWebGLRenderingContextBase.cpp:3100:207:   required from here
> /home/peko/buildroot/output/build/webkitgtk-2.16.5/Source/WTF/wtf/PassRefPtr.h:40:13: error: invalid use of incomplete type ‘class WebCore::HTMLVideoElement’
>              ptr->deref();
>              ^
> In file included from /home/peko/buildroot/output/build/webkitgtk-2.16.5/Source/WebCore/html/canvas/WebGLRenderingContextBase.h:32:0,
>                  from /home/peko/buildroot/output/build/webkitgtk-2.16.5/DerivedSources/WebCore/JSWebGLRenderingContextBase.h:26,
>                  from /home/peko/buildroot/output/build/webkitgtk-2.16.5/DerivedSources/WebCore/JSWebGLRenderingContextBase.cpp:25:
> /home/peko/buildroot/output/build/webkitgtk-2.16.5/Source/WebCore/html/canvas/CanvasRenderingContext.h:40:7: note: forward declaration of ‘class WebCore::HTMLVideoElement’
>  class HTMLVideoElement;
>        ^
> [ 39%] Building CXX object Source/WebCore/CMakeFiles/WebCoreDerivedSources.dir/__/__/DerivedSources/WebCore/FetchInternalsBuiltins.cpp.o
> Source/WebCore/CMakeFiles/WebCoreDerivedSources.dir/build.make:16034: recipe for target 'Source/WebCore/CMakeFiles/WebCoreDerivedSources.dir/__/__/DerivedSources/WebCore/JSWebGLRenderingContextBase.cpp.o' failed
> make[3]: *** [Source/WebCore/CMakeFiles/WebCoreDerivedSources.dir/__/__/DerivedSources/WebCore/JSWebGLRenderingContextBase.cpp.o] Error 1
> make[3]: *** Waiting for unfinished jobs....
> make[3]: Leaving directory '/home/peko/buildroot/output/build/webkitgtk-2.16.5'
> CMakeFiles/Makefile2:685: recipe for target 'Source/WebCore/CMakeFiles/WebCoreDerivedSources.dir/all' failed
> make[2]: *** [Source/WebCore/CMakeFiles/WebCoreDerivedSources.dir/all] Error 2
> make[2]: Leaving directory '/home/peko/buildroot/output/build/webkitgtk-2.16.5'
> Makefile:151: recipe for target 'all' failed
> make[1]: *** [all] Error 2
> make[1]: Leaving directory '/home/peko/buildroot/output/build/webkitgtk-2.16.5'

The issue is also present in “trunk” upstream, I can also reproduce it with an
updated checkout. It seems that there is a missing feature dependency in the
CMake files: ENABLE_MEDIA_STREAM is not depending on ENABLE_VIDEO, so it
remains enabled when passing -DENABLE_VIDEO=OFF. I'll be submitting a patch
upstream.

I am making now a build to check whether passing -DENABLE_MEDIA_STREAM=OFF
when video support is disabled is enough for the Buildroot recipe while the
feature dependency is not properly handled by the WebKitGTK+ CMake files.

Cheers,


--
 Adrián 🎩
Adrian Perez de Castro July 29, 2017, 8:34 p.m. UTC | #10
Hello Peter,

On Thu, 20 Jul 2017 08:05:52 +0200, Peter Korsgaard <peter@korsgaard.com> wrote:
> >>>>> "Peter" == Peter Korsgaard <peter@korsgaard.com> writes:
> 
> >>>>> "Adrian" == Adrian Perez de Castro <aperez@igalia.com> writes:
>  >> This simply updates to the latest stable release. WebKitGTK+ versions
>  >> in the 2.1x series avoid bumping the dependencies in order to allow
>  >> distributions to provide updates, therefore no new dependencies are
>  >> needed.
> 
>  >> Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
> 
>  > Committed to 2017.02.x and 2017.05.x, thanks.
> 
> While backporting I noticed that webkitgtk doesn't seem to build without
> the BR2_PACKAGE_WEBKITGTK_MULTIMEDIA option. I reproduced it with master
> as well.
> 
> The build error I get is this. Do you have any idea how to fix?
> 
> [...]

This should be now fixed in Git “master”. Let me know if you find any other
WebKitGTK+ build issues, I'll be happy to look into them.

Cheers,


--
 Adrián 🎩
diff mbox

Patch

diff --git a/package/webkitgtk/webkitgtk.hash b/package/webkitgtk/webkitgtk.hash
index f01c7f0c07..5df4ce8df3 100644
--- a/package/webkitgtk/webkitgtk.hash
+++ b/package/webkitgtk/webkitgtk.hash
@@ -1,4 +1,4 @@ 
-# From http://www.webkitgtk.org/releases/webkitgtk-2.12.5.tar.xz.sha1
-sha1	2d73fd5b47c68c73aea8b3d7b88acc8e62bdb99c	webkitgtk-2.12.5.tar.xz
-# Calculated based on the hash above
-sha256	6b147854b864a5f115fadb97b2b6200b2f696db015216a34e7298d11c88b1c40	webkitgtk-2.12.5.tar.xz
+# From https://webkitgtk.org/releases/webkitgtk-2.16.5.tar.xz.sums
+md5 fce72dc89cd310a663d9eb97133861fe webkitgtk-2.16.5.tar.xz
+sha1 8052fda41b1b666f175baaac787c5cba39ed24a0 webkitgtk-2.16.5.tar.xz
+sha256 8e0396f3428e757898c5856e642eed4fcd5a20ae03d96d3eaa03b76634be7dd4 webkitgtk-2.16.5.tar.xz
diff --git a/package/webkitgtk/webkitgtk.mk b/package/webkitgtk/webkitgtk.mk
index f37aaa6e0c..cc8d960e47 100644
--- a/package/webkitgtk/webkitgtk.mk
+++ b/package/webkitgtk/webkitgtk.mk
@@ -4,7 +4,7 @@ 
 #
 ################################################################################
 
-WEBKITGTK_VERSION = 2.12.5
+WEBKITGTK_VERSION = 2.16.5
 WEBKITGTK_SITE = http://www.webkitgtk.org/releases
 WEBKITGTK_SOURCE = webkitgtk-$(WEBKITGTK_VERSION).tar.xz
 WEBKITGTK_INSTALL_STAGING = YES