include/package-pack: remove leading whitespace from install scripts
authorEric Fahlgren <ericfahlgren@gmail.com>
Mon, 30 Dec 2024 23:54:55 +0000 (15:54 -0800)
committerRobert Marko <robimarko@gmail.com>
Fri, 10 Jan 2025 09:50:34 +0000 (10:50 +0100)
Strip off initial leading blanks and tabs from scripts and script
fragments that are supplied by the package's Makefile.  Specifically,
the script included in the postrm must be left justified so that
the shebang is in the first column.

Fixes: https://github.com/openwrt/openwrt/issues/17439
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17440
Signed-off-by: Robert Marko <robimarko@gmail.com>
include/package-pack.mk

index a36d6909016e6ea6b65fd2b2ab4f5fae01030f09..411bae825a922099885e0b47435809776b13ba53 100644 (file)
@@ -302,7 +302,7 @@ else
                echo 'export pkgname="$(1)"'; \
                echo "add_group_and_user"; \
                echo "default_postinst"; \
-               [ ! -f $$(ADIR_$(1))/postinst-pkg ] || cat "$$(ADIR_$(1))/postinst-pkg"; \
+               [ ! -f $$(ADIR_$(1))/postinst-pkg ] || sed -z 's/^\s*#!/#!/' "$$(ADIR_$(1))/postinst-pkg"; \
        ) > $$(ADIR_$(1))/post-install;
 
        ( \
@@ -312,9 +312,11 @@ else
                echo 'export root="$$$${IPKG_INSTROOT}"'; \
                echo 'export pkgname="$(1)"'; \
                echo "default_prerm"; \
-               [ ! -f $$(ADIR_$(1))/prerm-pkg ] || cat "$$(ADIR_$(1))/prerm-pkg"; \
+               [ ! -f $$(ADIR_$(1))/prerm-pkg ] || sed -z 's/^\s*#!/#!/' "$$(ADIR_$(1))/prerm-pkg"; \
        ) > $$(ADIR_$(1))/pre-deinstall;
 
+       [ ! -f $$(ADIR_$(1))/postrm ] || sed -zi 's/^\s*#!/#!/' "$$(ADIR_$(1))/postrm";
+
        if [ -n "$(USERID)" ]; then echo $(USERID) > $$(IDIR_$(1))/lib/apk/packages/$(1).rusers; fi;
        if [ -n "$(ALTERNATIVES)" ]; then echo $(ALTERNATIVES) > $$(IDIR_$(1))/lib/apk/packages/$(1).alternatives; fi;
        (cd $$(IDIR_$(1)) && find . -type f,l -printf "/%P\n" > $$(IDIR_$(1))/lib/apk/packages/$(1).list)