summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Fahlgren2024-12-30 23:54:55 +0000
committerRobert Marko2025-01-10 09:50:34 +0000
commitb52e8972968ce25026447fea3de320fb395a2f3a (patch)
tree4a4ab3e4d57e4107d4a0a199ef4730dec8850ea9
parentc113982706989c76c69e94e15abce0d316e97f6b (diff)
downloadopenwrt-b52e8972968ce25026447fea3de320fb395a2f3a.tar.gz
include/package-pack: remove leading whitespace from install scripts
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>
-rw-r--r--include/package-pack.mk6
1 files changed, 4 insertions, 2 deletions
diff --git a/include/package-pack.mk b/include/package-pack.mk
index a36d690901..411bae825a 100644
--- a/include/package-pack.mk
+++ b/include/package-pack.mk
@@ -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)