Related: OpenVPN/openvpn3-linux#171
sudo dnf install wget
openvpn3-glib3-fedora38-fix.sh install
openvpn3-glib3-fedora38-fix.sh uninstall
openvpn3-glib3-fedora38-fix.sh reinstall_openvpn3_client
Related: OpenVPN/openvpn3-linux#171
sudo dnf install wget
openvpn3-glib3-fedora38-fix.sh install
openvpn3-glib3-fedora38-fix.sh uninstall
openvpn3-glib3-fedora38-fix.sh reinstall_openvpn3_client
#!/bin/env bash | |
install () { | |
if [ -f "/usr/libexec/openvpn3-linux/openvpn3-run-wrapper" ]; then echo "Already installed, exiting."; exit; fi | |
rm -rf /tmp/openvpn3-workaround | |
mkdir /tmp/openvpn3-workaround | |
cd /tmp/openvpn3-workaround || exit | |
wget https://kojipkgs.fedoraproject.org//packages/glib2/2.74.6/1.fc37/x86_64/glib2-2.74.6-1.fc37.x86_64.rpm -O glib2.rpm | |
rpm2cpio glib2.rpm | cpio -idm | |
sudo mkdir -p /usr/libexec/openvpn3-linux/glib2 | |
sudo cp usr/lib64/libg* /usr/libexec/openvpn3-linux/glib2/ | |
cd /usr/libexec/openvpn3-linux || exit | |
sudo bash -c 'cat > openvpn3-run-wrapper' <<'EOF' | |
#!/bin/bash | |
LD_PRELOAD="/usr/libexec/openvpn3-linux/glib2/libglib-2.0.so.0.7400.6 /usr/libexec/openvpn3-linux/glib2/libgobject-2.0.so.0.7400.6 /usr/libexec/openvpn3-linux/glib2/libgio-2.0.so.0.7400.6" ${0}.bin $* | |
EOF | |
sudo chmod +x ./openvpn3-run-wrapper | |
sudo bash -c 'for f in openvpn3-service*; do if [ -f $f ]; then echo "$f -> $f.bin"; mv $f $f.bin; ln -s openvpn3-run-wrapper $f; fi; done' | |
} | |
uninstall() { | |
cd /usr/libexec/openvpn3-linux || exit | |
sudo rm -rf /usr/libexec/openvpn3-linux/glib2 | |
sudo rm -f /usr/libexec/openvpn3-linux/openvpn3-run-wrapper | |
sudo bash -c 'for f in openvpn3-service*; do if [ -L $f ]; then echo "$f.bin -> $f"; mv $f.bin $f; fi; done' | |
sudo rm openvpn3-service-*.bin | |
} | |
reinstall_openvpn3_client() { | |
sudo dnf remove openvpn3-client | |
sudo dnf install openvpn3-client | |
} | |
case "$1" in | |
install) | |
install | |
;; | |
uninstall) | |
uninstall | |
;; | |
reinstall_openvpn3_client) | |
reinstall_openvpn3_client | |
;; | |
*) | |
echo "Usage: $0 {install|uninstall|reinstall_openvpn3_client}" | |
exit 1 | |
esac |