Bug 199406

Summary: [GTK][WPE] Not longer needed to build woff2 on the JHBuild
Product: WebKit Reporter: Carlos Alberto Lopez Perez <clopez>
Component: Tools / TestsAssignee: Carlos Alberto Lopez Perez <clopez>
Status: RESOLVED FIXED    
Severity: Normal CC: aakash_jain, agomez, aperez, ap, bugs-noreply, ews-watchlist, jbedard, ltilve, mcatanzaro, webkit-bot-watchers-bugzilla, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=199449
Attachments:
Description Flags
Patch mcatanzaro: review+

Description Carlos Alberto Lopez Perez 2019-07-02 09:13:10 PDT
On r223042 <https://trac.webkit.org/r223042> we removed Woff2 from ThirdParty and started bundling it on the JHBuild.

Now the 4 distributions we "support" for development have a recent enough version of woff2.

So there is no need to keep building this, we can just use the system one.

I have checked that the woff2 version shipped both on Debian 10 and Ubuntu 18.04 work fine.
And I guess Fedora and Arch should work fine as well.

Both the debian and ubuntu stable bots are using now the system version
Until now they were building with -DUSE_WOFF2=OFF (I removed this config parameter from the bots and installed system woff2)
Comment 1 Carlos Alberto Lopez Perez 2019-07-02 09:18:43 PDT
Created attachment 373331 [details]
Patch
Comment 3 Michael Catanzaro 2019-07-02 15:05:21 PDT
Hey Aakash, it's failing on new EWS because the new EWS isn't running the jhbuild step yet. You just fixed that over in bug #199408.
Comment 4 Michael Catanzaro 2019-07-02 15:06:13 PDT
Comment on attachment 373331 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=373331&action=review

> Tools/wpe/install-dependencies:93
> -        zlib1g-dev"
> +        zlib1g-dev \
> +        libwoff-dev"

Should be alphabetized under l
Comment 5 Aakash Jain 2019-07-02 15:09:37 PDT
(In reply to Michael Catanzaro from comment #3)
> Hey Aakash, it's failing on new EWS because the new EWS isn't running the jhbuild step yet. You just fixed that over in bug #199408.
jhbuild step was run in the build URLs I posted above. I have already applied my patches to that EWS UAT instance.
Comment 6 Michael Catanzaro 2019-07-02 15:25:47 PDT
(In reply to Aakash Jain from comment #5)
> jhbuild step was run in the build URLs I posted above. I have already
> applied my patches to that EWS UAT instance.

Oh, sorry, my bad: my answer was incorrect because we were only removing libraries from the jhbuild.

We just need to install libbrotli and libwoff on the new EWS. This needs to be done manually on the rare occasions when we add new dependencies (including when we remove them from the jhbuild).
Comment 7 Michael Catanzaro 2019-07-02 15:28:58 PDT
(It passed on the old EWS because the old EWS happen to have these libraries already installed. In the future, if we switch to using containerization software like podman/docker to run the EWS, then we could avoid instance-specific configuration differences like these.)
Comment 8 Carlos Alberto Lopez Perez 2019-07-03 07:42:27 PDT
It seems this patch will broke continuous building when it lands due to:

1) Our JHBuild tooling is smart enough to detect a change on the moduleset has happened so it does a clean build of the JHBuild
2) But our WebKit build tooling doesn't detect the JHBuild has been rebuilt so it just triggers a continous build, and this happens:

-- Build files have been written to: /home/igalia/clopez/webkit/webkit/WebKitBuild/Release
ninja: error: '../DependenciesGTK/Root/lib/libwoff2dec.so', needed by 'lib/libwebkit2gtk-4.0.so.37.38.1', missing and no known rule to make it

The previous binaries are liked with a libwoff2dec.so that is now gone on that path, and that seems to cause a ninja error.

So its needed to trigger a clean build.
Comment 9 Michael Catanzaro 2019-07-03 07:47:17 PDT
Ideally the bots would trigger a clean build (wipe of the build directory) every time the JHBuild is run.
Comment 10 Carlos Alberto Lopez Perez 2019-07-03 09:35:18 PDT
(In reply to Michael Catanzaro from comment #9)
> Ideally the bots would trigger a clean build (wipe of the build directory)
> every time the JHBuild is run.

It seems cleaning the CMake cache is enough to avoid this. Will upload a patch for that in #199449
Comment 11 Carlos Alberto Lopez Perez 2019-07-04 03:52:42 PDT
Committed r247138: <https://trac.webkit.org/changeset/247138>
Comment 12 Radar WebKit Bug Importer 2019-07-04 03:53:16 PDT
<rdar://problem/52639816>