diff --git a/Makefile b/Makefile index 4ee4c43..4dbca0d 100644 --- a/Makefile +++ b/Makefile @@ -314,7 +314,8 @@ install-common: install-doc install -D -m 0644 misc/marker-vm $(DESTDIR)/usr/share/qubes/marker-vm cut -f 1,2 -d . version >> $(DESTDIR)/usr/share/qubes/marker-vm - + + install -m 0755 misc/tinyproxy-wrapper $(DESTDIR)/usr/lib/qubes/tinyproxy-wrapper install -d $(DESTDIR)/var/run/qubes install -d $(DESTDIR)/rw diff --git a/debian/qubes-core-agent.install b/debian/qubes-core-agent.install index 27f697c..4a09cab 100644 --- a/debian/qubes-core-agent.install +++ b/debian/qubes-core-agent.install @@ -136,6 +136,7 @@ usr/lib/qubes/upgrades-installed-check usr/lib/qubes/upgrades-status-notify usr/lib/qubes/vm-file-editor usr/lib/qubes/xdg-icon +usr/lib/qubes/tinyproxy-wrapper usr/lib/systemd/user/pulseaudio.service.d/30_qubes.conf usr/lib/systemd/user/pulseaudio.socket.d/30_qubes.conf usr/share/glib-2.0/schemas/* diff --git a/misc/tinyproxy-wrapper b/misc/tinyproxy-wrapper new file mode 100644 index 0000000..672c45b --- /dev/null +++ b/misc/tinyproxy-wrapper @@ -0,0 +1,12 @@ +#!/bin/bash + +if [ -e /usr/sbin/tinyproxy ]; then + echo "Found tinyproxy at /usr/sbin/tinyproxy" + exec /usr/sbin/tinyproxy "$@" +elif [ -e /usr/bin/tinyproxy ]; then + echo "Found tinyproxy at /usr/bin/tinyproxy" + exec /usr/bin/tinyproxy "$@" +else + echo "tinyproxy not found" + exit 1 +fi diff --git a/rpm_spec/core-agent.spec.in b/rpm_spec/core-agent.spec.in index ac23eb6..0d3e3a1 100644 --- a/rpm_spec/core-agent.spec.in +++ b/rpm_spec/core-agent.spec.in @@ -645,6 +645,7 @@ rm -f %{name}-%{version} /usr/lib/qubes/upgrades-status-notify /usr/lib/qubes/qubes-sync-clock /usr/lib/qubes/resize-rootfs +/usr/lib/qubes/tinyproxy-wrapper /usr/lib/yum-plugins/yum-qubes-hooks.py* /usr/lib/dracut/dracut.conf.d/30-qubes.conf %dir /usr/lib/qubes/init diff --git a/vm-init.d/qubes-updates-proxy b/vm-init.d/qubes-updates-proxy index 0dd18d0..d4353f8 100755 --- a/vm-init.d/qubes-updates-proxy +++ b/vm-init.d/qubes-updates-proxy @@ -28,8 +28,8 @@ # Check that networking is up. [ "$NETWORKING" = "no" ] && exit 0 -exec="/usr/sbin/tinyproxy" -prog=$(basename $exec) +exec="$(command -v tinyproxy)" +prog=$(basename "$exec") config="/etc/tinyproxy/tinyproxy-updates.conf" pidfile="/var/run/tinyproxy-updates/tinyproxy.pid" @@ -46,14 +46,14 @@ start() { exit 0 fi - [ -x $exec ] || exit 5 + [ -x "$exec" ] || exit 5 [ -f $config ] || exit 6 # setup network redirection /sbin/iptables -I INPUT -i vif+ -p tcp --dport 8082 -j ACCEPT /sbin/iptables -t nat -A PR-QBS-SERVICES -i vif+ -d 10.137.255.254 -p tcp --dport 8082 -j REDIRECT echo -n $"Starting $prog (as Qubes updates proxy): " - daemon $exec -c $config + daemon "$exec" -c $config retval=$? echo [ $retval -eq 0 ] && touch $lockfile diff --git a/vm-systemd/qubes-updates-proxy.service b/vm-systemd/qubes-updates-proxy.service index 5f811a5..0aec98d 100644 --- a/vm-systemd/qubes-updates-proxy.service +++ b/vm-systemd/qubes-updates-proxy.service @@ -1,12 +1,11 @@ [Unit] Description=Qubes updates proxy (tinyproxy) -ConditionPathExists=|/var/run/qubes-service/qubes-yum-proxy ConditionPathExists=|/var/run/qubes-service/qubes-updates-proxy After=qubes-iptables.service [Service] ExecStartPre=/usr/lib/qubes/iptables-updates-proxy start -ExecStart=/usr/sbin/tinyproxy -d -c /etc/tinyproxy/tinyproxy-updates.conf +ExecStart=/usr/lib/qubes/tinyproxy-wrapper -d -c /etc/tinyproxy/tinyproxy-updates.conf ExecStopPost=/usr/lib/qubes/iptables-updates-proxy stop Restart=on-failure RestartSec=5s