privoxy: correctly format /etc/services additions

This adds the missing protocol (e.g. /tcp and /udp) to the entry in
/etc/services. If the entry already exists, it will add the /tcp to it.
Otherwise, it will look and add the tcp and udp entries if either is
missing.

fixes: openwrt#19665

Signed-off-by: Josh Powers <powersj@fastmail.com>
This commit is contained in:
Josh Powers 2022-10-25 19:54:43 -06:00 committed by Rosen Penev
parent eb283ea8a3
commit 95edfa723c
1 changed files with 9 additions and 2 deletions

View File

@ -157,8 +157,15 @@ endef
define Package/privoxy/postinst
#!/bin/sh
grep -i privoxy $${IPKG_INSTROOT}/etc/services >/dev/null 2>&1 || \
echo -e "privoxy\t8118" >> $${IPKG_INSTROOT}/etc/services
# if exists, update previous version entry missing protocol
(grep -E "privoxy.*8118$" $${IPKG_INSTROOT}/etc/services) > /dev/null \
&& sed -i "s/privoxy.*8118/privoxy\t\t8118\/tcp/" $${IPKG_INSTROOT}/etc/services
# add missing tcp and udp entries
(grep -E "privoxy.*8118\/tcp" $${IPKG_INSTROOT}/etc/services) > /dev/null \
|| echo -e "privoxy\t\t8118/tcp" >> $${IPKG_INSTROOT}/etc/services
(grep -E "privoxy.*8118\/udp" $${IPKG_INSTROOT}/etc/services) > /dev/null \
|| echo -e "privoxy\t\t8118/udp" >> $${IPKG_INSTROOT}/etc/services
endef
$(eval $(call BuildPackage,privoxy))