From: Patrick Wicki <[email protected]>

This enables the networkmanager dispatcher to reload squid automatically
on network changes. This idea is from the Fedora package where they do
the same:
https://src.fedoraproject.org/rpms/squid/blob/rawhide/f/squid.spec#_207

Signed-off-by: Patrick Wicki <[email protected]>
---
 meta-networking/recipes-daemons/squid/files/squid.nm | 7 +++++++
 meta-networking/recipes-daemons/squid/squid_6.5.bb   | 8 ++++++++
 2 files changed, 15 insertions(+)
 create mode 100644 meta-networking/recipes-daemons/squid/files/squid.nm

diff --git a/meta-networking/recipes-daemons/squid/files/squid.nm 
b/meta-networking/recipes-daemons/squid/files/squid.nm
new file mode 100644
index 000000000..b58ee11bd
--- /dev/null
+++ b/meta-networking/recipes-daemons/squid/files/squid.nm
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+case "$2" in
+        up|down|vpn-up|vpn-down)
+                systemctl -q reload squid.service || :
+                ;;
+esac
diff --git a/meta-networking/recipes-daemons/squid/squid_6.5.bb 
b/meta-networking/recipes-daemons/squid/squid_6.5.bb
index 3795da7f5..33a8bc476 100644
--- a/meta-networking/recipes-daemons/squid/squid_6.5.bb
+++ b/meta-networking/recipes-daemons/squid/squid_6.5.bb
@@ -20,6 +20,7 @@ SRC_URI = 
"http://www.squid-cache.org/Versions/v${MAJ_VER}/${BPN}-${PV}.tar.bz2
            file://volatiles.03_squid \
            
file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch \
            file://0002-squid-make-squid-conf-tests-run-on-target-device.patch \
+           file://squid.nm \
            "
 
 SRC_URI:remove:toolchain-clang = 
"file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch"
@@ -49,6 +50,8 @@ PACKAGECONFIG[werror] = 
"--enable-strict-error-checking,--disable-strict-error-c
 PACKAGECONFIG[esi] = "--enable-esi,--disable-esi,expat libxml2"
 PACKAGECONFIG[ssl] = "--with-openssl=yes,--with-openssl=no,openssl"
 
+PACKAGES =+ "${PN}-networkmanager"
+
 BASIC_AUTH = "DB SASL LDAP"
 
 DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
@@ -109,11 +112,16 @@ do_install:append() {
 
     rmdir "${D}${localstatedir}/log/${BPN}"
     rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/log"
+
+    # Install NetworkManager dispatcher reload hooks
+    install -d ${D}${libdir}/NetworkManager/dispatcher.d
+    install -m 0755 ${WORKDIR}/squid.nm 
${D}${libdir}/NetworkManager/dispatcher.d/20-squid
 }
 
 FILES:${PN} += "${libdir} ${datadir}/errors ${datadir}/icons"
 FILES:${PN}-dbg += "/usr/src/debug"
 FILES:${PN}-doc += "${datadir}/*.txt"
+FILES:${PN}-networkmanager = "${libdir}/NetworkManager/dispatcher.d"
 
 RDEPENDS:${PN} += "perl"
 RDEPENDS:${PN}-ptest += "perl make"
-- 
2.43.0

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#107155): 
https://lists.openembedded.org/g/openembedded-devel/message/107155
Mute This Topic: https://lists.openembedded.org/mt/102886903/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to