Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

webkit2gtk: fix bwrap-libdir32.patch #28215

Merged
merged 1 commit into from Jan 25, 2021
Merged

Conversation

pullmoll
Copy link
Member

@pullmoll pullmoll commented Jan 25, 2021

The LIB_DIR_WS string should be just the wordsize w/o "lib".

General

Have the results of the proposed changes been tested?

  • I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
  • I generally don't use the affected packages but briefly tested this PR

Not yet tested but I saw the wrong strings like "/liblib64" in an strace output.

This github UI is annoyingly reluctant to updated commit msg etc. :)

@pullmoll pullmoll requested a review from q66 January 25, 2021 08:52
@pullmoll
Copy link
Member Author

pullmoll commented Jan 25, 2021

FWIW here is the list of parameters for bwrap from an straced run of evolution on my box:

--die-with-parent
--unshare-pid
--unshare-uts
--unshare-net
--ro-bind /etc /etc
--dev /dev
--proc /proc
--tmpfs /tmp
--unsetenv TMPDIR
--dir /run
--symlink ../run /var/run
--symlink ../tmp /var/tmp
--ro-bind /sys/block /sys/block
--ro-bind /sys/bus /sys/bus
--ro-bind /sys/class /sys/class
--ro-bind /sys/dev /sys/dev
--ro-bind /sys/devices /sys/devices
--ro-bind-try /usr/share /usr/share
--ro-bind-try /usr/local/share /usr/local/share
--ro-bind-try /usr/share /usr/share
--ro-bind-try /lib /lib
--ro-bind-try /usr/lib /usr/lib
--ro-bind-try /usr/local/lib /usr/local/lib
--ro-bind-try /usr/lib64 /usr/lib64
--ro-bind-try /liblib64 /liblib64
--ro-bind-try /usr/liblib64 /usr/liblib64
--ro-bind-try /usr/local/liblib64 /usr/local/liblib64
--ro-bind-try /usr/libexec/webkit2gtk-4.0 /usr/libexec/webkit2gtk-4.0
--ro-bind /usr/share/zoneinfo/Europe/Berlin /usr/share/zoneinfo/Europe/Berlin
--ro-bind-data 0032 /.flatpak-info
--bind-try /tmp/.X11-unix/X0 /tmp/.X11-unix/X0
--ro-bind-try /home/user/.Xauthority /home/user/.Xauthority
--ro-bind-try /usr/share/evolution/webkit /usr/share/evolution/webkit
--ro-bind-try /usr/lib/evolution/web-extensions /usr/lib/evolution/web-extensions
--bind-try /home/user/.cache/webkitgtk/applications /home/user/.cache/webkitgtk/applications
--bind-try /home/user/.local/share/webkitgtk/mediakeys /home/user/.local/share/webkitgtk/mediakeys
--bind-try /home/user/.local/share/webkitgtk/databases /home/user/.local/share/webkitgtk/databases
--bind-try /run/user/1000/pulse /run/user/1000/pulse
--ro-bind-try /home/user/.config/pulse /home/user/.config/pulse
--ro-bind-try /home/user/.pulse /home/user/.pulse
--ro-bind-try /home/user/.asoundrc /home/user/.asoundrc
--dev-bind-try /dev/snd /dev/snd
--bind-try /tmp/sndio /tmp/sndio
--bind-try /tmp/sndio-1000 /tmp/sndio-1000
--bind-try /home/user/.sndio /home/user/.sndio
--ro-bind-try /home/user/.config/fontconfig /home/user/.config/fontconfig
--ro-bind-try /home/user/.fontconfig /home/user/.fontconfig
--bind-try /home/user/.cache/fontconfig /home/user/.cache/fontconfig
--ro-bind-try /home/user/.fonts.conf /home/user/.fonts.conf
--ro-bind-try /home/user/.config/.fonts.conf.d /home/user/.config/.fonts.conf.d
--ro-bind-try /home/user/.local/share/fonts /home/user/.local/share/fonts
--ro-bind-try /home/user/.fonts /home/user/.fonts
--ro-bind-try /var/cache/fontconfig /var/cache/fontconfig
--ro-bind-try /home/user/.local/share/gstreamer-1.0 /home/user/.local/share/gstreamer-1.0
--bind-try /home/user/.cache/gstreamer-1.0 /home/user/.cache/gstreamer-1.0
--ro-bind-try /usr/libexec/gstreamer-1.0/gst-plugin-scanner /usr/libexec/gstreamer-1.0/gst-plugin-scanner
--ro-bind-try /usr/libexec/gst-install-plugins-helper /usr/libexec/gst-install-plugins-helper
--dev-bind-try /dev/dri /dev/dri
--dev-bind-try /dev/mali /dev/mali
--dev-bind-try /dev/mali0 /dev/mali0
--dev-bind-try /dev/umplock /dev/umplock
--dev-bind-try /dev/nvidiactl /dev/nvidiactl
--dev-bind-try /dev/nvidia0 /dev/nvidia0
--dev-bind-try /dev/nvidia /dev/nvidia
--dev-bind-try /dev/kgsl-3d0 /dev/kgsl-3d0
--dev-bind-try /dev/ion /dev/ion
--dev-bind-try /dev/v4l /dev/v4l
--dev-bind-try /dev/video0 /dev/video0
--dev-bind-try /dev/video1 /dev/video1
--ro-bind /run/user/1000/webkitgtk/dbus-proxy-GTICX0 /run/user/1000/webkitgtk/dbus-proxy-GTICX0
--setenv AT_SPI_BUS_ADDRESS unix:path=/run/user/1000/webkitgtk/dbus-proxy-GTICX0
--ro-bind-try /home/user/.config/gtk-3.0 /home/user/.config/gtk-3.0
--ro-bind-try /home/user/.local/share/themes /home/user/.local/share/themes
--ro-bind-try /home/user/.themes /home/user/.themes
--ro-bind-try /home/user/.icons /home/user/.icons
--seccomp 0034

Unfortunately evolution still prints the error bwrap: execvp /usr/libexec/webkit2gtk-4.0/WebKitWebProcess: No such file or directory after installing a local build of this PR :-(
Need to build and verify that once more.

@pullmoll
Copy link
Member Author

Ok, now it works: evolution is showing emails again.

The LIB_DIR_WS string should be just the wordsize w/o "lib".

[ci skip]
@sgn
Copy link
Member

sgn commented Jan 25, 2021

This looks like the correct fix to me, that very patch has

@@ -765,9 +771,9 @@ GRefPtr<GSubprocess> bubblewrapSpawn(GSubprocessLauncher* launcher, const Proces
         "--ro-bind-try", "/usr/lib", "/usr/lib",
         "--ro-bind-try", "/usr/local/lib", "/usr/local/lib",
         "--ro-bind-try", LIBDIR, LIBDIR,
-        "--ro-bind-try", "/lib64", "/lib64",
-        "--ro-bind-try", "/usr/lib64", "/usr/lib64",
-        "--ro-bind-try", "/usr/local/lib64", "/usr/local/lib64",
+        "--ro-bind-try", "/lib" LIB_DIR_WS, "/lib" LIB_DIR_WS,
+        "--ro-bind-try", "/usr/lib" LIB_DIR_WS, "/usr/lib" LIB_DIR_WS,
+        "--ro-bind-try", "/usr/local/lib" LIB_DIR_WS, "/usr/local/lib" LIB_DIR_WS,
 
         "--ro-bind-try", PKGLIBEXECDIR, PKGLIBEXECDIR,
     };

@q66
Copy link
Contributor

q66 commented Jan 25, 2021

the patch is right, but it should not really fix the problem because the "proper" libdir is already handled specially via whatever is passed from cmake (you can see that in the output)

feel free to merge, though

@pullmoll pullmoll merged commit 91d5b4c into void-linux:master Jan 25, 2021
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Apr 25, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants