#5 Change WebKitGTK API dependency to 4.1 (using libsoup3)
Merged 8 months ago by kalev. Opened 8 months ago by mcrha.
rpms/ mcrha/libproxy rawhide  into  rawhide

file modified
+7 -2
@@ -4,7 +4,7 @@ 

  

  Name:           libproxy

  Version:        0.4.18

- Release:        1%{?dist}

+ Release:        2%{?dist}

  Summary:        A library handling all the details of proxy configuration

  

  License:        LGPLv2+
@@ -13,6 +13,8 @@ 

  # Taken from the Debian package.

  Source1:        proxy.1

  

+ Patch01:        webkitdep.patch

+ 

  BuildRequires:  cmake >= 2.6.0

  BuildRequires:  gcc-c++

  
@@ -24,7 +26,7 @@ 

  # pacrunner (and NetworkManager)

  BuildRequires:  pkgconfig(dbus-1)

  # webkit (gtk3)

- BuildRequires:  pkgconfig(javascriptcoregtk-4.0)

+ BuildRequires:  pkgconfig(javascriptcoregtk-4.1)

  # Python

  BuildRequires:  python3-devel

  %else
@@ -208,6 +210,9 @@ 

  

  

  %changelog

+ * Tue Jul 19 2022 Milan Crha <mcrha@redhat.com> - 0.4.18-2

+ - Change WebKitGTK API dependency to 4.1 (using libsoup3)

+ 

  * Tue Jun 21 2022 David King <amigadave@amigadave.com> - 0.4.18-1

  - Update to 0.4.18

  

file added
+21
@@ -0,0 +1,21 @@ 

+ diff -up libproxy-0.4.18/libproxy/cmake/modules/pacrunner_webkit.cmk.1 libproxy-0.4.18/libproxy/cmake/modules/pacrunner_webkit.cmk

+ --- libproxy-0.4.18/libproxy/cmake/modules/pacrunner_webkit.cmk.1	2022-07-19 15:50:24.029762425 +0200

+ +++ libproxy-0.4.18/libproxy/cmake/modules/pacrunner_webkit.cmk	2022-07-19 15:50:27.977762571 +0200

+ @@ -13,11 +13,14 @@ elseif(APPLE)

+    endif()

+  else()

+    if(WITH_WEBKIT3)

+ -    px_check_modules(WEBKIT "javascriptcoregtk-4.0")

+ +    px_check_modules(WEBKIT "javascriptcoregtk-4.1")

+      if(NOT WEBKIT_LIBRARIES)

+ -      px_check_modules(WEBKIT "javascriptcoregtk-3.0 >= 1.5.0")

+ +      px_check_modules(WEBKIT "javascriptcoregtk-4.0")

+        if(NOT WEBKIT_LIBRARIES)

+ -        px_check_modules(WEBKIT "webkitgtk-3.0 < 1.5.0")

+ +        px_check_modules(WEBKIT "javascriptcoregtk-3.0 >= 1.5.0")

+ +        if(NOT WEBKIT_LIBRARIES)

+ +          px_check_modules(WEBKIT "webkitgtk-3.0 < 1.5.0")

+ +        endif(NOT WEBKIT_LIBRARIES)

+        endif(NOT WEBKIT_LIBRARIES)

+      endif(NOT WEBKIT_LIBRARIES)

+    else(WITH_WEBKIT)

Change WebKitGTK API dependency to 4.1 (using libsoup3)

Pull-Request has been merged by kalev

8 months ago

Honestly I think you need to disable web proxy autoconfig altogether. This isn't safe: it's going to crash if the process uses the -5.0 or -4.0 APIs.

We switched the package from mozjs -> WebKit to avoid the problem of maxing incompatible library versions in process, back when polkit and gjs used to depend on different versions of mozjs at the same time. But going forward, this is totally unavoidable with WebKitGTK. (And it was never safe for apps unfortunate enough to link to QtWebKit.)

To bring back libproxy support for proxy autoconfig, libproxy MUST move this work behind a process boundary, to avoid conflicts with incompatible library versions used by applications.

Maybe now that polkit has switched to duktape, having libproxy link to mozjs again would be OK. But we have to make sure the version used by libproxy always exactly matches the version used by gjs. Not ideal.

To bring back libproxy support for proxy autoconfig, libproxy MUST move this work behind a process boundary, to avoid conflicts with incompatible library versions used by applications.

Example of how to do that: https://github.com/libproxy/libproxy/tree/dbusify

Example of how to do that: https://github.com/libproxy/libproxy/tree/dbusify

If I read it correctly, it had been merged on Jan 6, 2021, aka the last year.

Anyway, my only effort was to move to libsoup3 WebKitGTK. If you can handle the rest (like disabling WebKitGTK dependency in the Fedora's libproxy), then it'll be appreciated.

If I read it correctly, it had been merged on Jan 6, 2021, aka the last year.

No, that's a side branch.

Anyway, my only effort was to move to libsoup3 WebKitGTK. If you can handle the rest (like disabling WebKitGTK dependency in the Fedora's libproxy), then it'll be appreciated.

I'll probably do this.

It turns out there is a new duktape backend we can use instead. See https://src.fedoraproject.org/rpms/libproxy/pull-request/6

Metadata