Packages compiled on CC / trunk could not be installed on BB and before. Why to block users from using updated packages like ca-certificates, privoxy or updated luci-apps. Checks if default_postinst/prerm function exists in /lib/functions.sh then run, otherwise run [xxx]-pkg script if exists.
Signed-off-by: Christian Schoenebeck <[email protected]> --- include/package-ipkg.mk | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/include/package-ipkg.mk b/include/package-ipkg.mk index 77eaeb8..584ab95 100644 --- a/include/package-ipkg.mk +++ b/include/package-ipkg.mk @@ -195,13 +195,25 @@ $(_endef) ( \ echo "#!/bin/sh"; \ echo "[ \"\$$$${IPKG_NO_SCRIPT}\" = \"1\" ] && exit 0"; \ - echo ". \$$$${IPKG_INSTROOT}/lib/functions.sh"; \ - echo "default_postinst \$$$$0 \$$$$@"; \ + echo "grep 'default_postinst' \$$$${IPKG_INSTROOT}/lib/functions.sh >/dev/null 2>&1 && {"; \ + echo " . \$$$${IPKG_INSTROOT}/lib/functions.sh"; \ + echo " default_postinst \$$$$0 \$$$$@"; \ + echo "} || {"; \ + echo " name=\$$$$(echo \$$$$(basename \$$$$0) | cut -d. -f1)"; \ + echo " [ -f \$$$${IPKG_INSTROOT}/usr/lib/opkg/info/\$$$${name}.postinst-pkg ] && \\"; \ + echo " . \$$$${IPKG_INSTROOT}/usr/lib/opkg/info/\$$$${name}.postinst-pkg \$$$$@"; \ + echo "}"; \ ) > postinst; \ ( \ echo "#!/bin/sh"; \ - echo ". \$$$${IPKG_INSTROOT}/lib/functions.sh"; \ - echo "default_prerm \$$$$0 \$$$$@"; \ + echo "grep 'default_prerm' \$$$${IPKG_INSTROOT}/lib/functions.sh >/dev/null 2>&1 && {"; \ + echo " . \$$$${IPKG_INSTROOT}/lib/functions.sh"; \ + echo " default_prerm \$$$$0 \$$$$@"; \ + echo "} || {"; \ + echo " name=\$$$$(echo \$$$$(basename \$$$$0) | cut -d. -f1)"; \ + echo " [ -f \$$$${IPKG_INSTROOT}/usr/lib/opkg/info/\$$$${name}.prerm-pkg ] && \\"; \ + echo " . \$$$${IPKG_INSTROOT}/usr/lib/opkg/info/\$$$${name}.prerm-pkg \$$$$@"; \ + echo "}"; \ ) > prerm; \ chmod 0755 prerm; \ $($(1)_COMMANDS) \ -- _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
