From 248d7ed49e4cbe3e4cc16a144337d350b5760343 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Thu, 17 Mar 2022 17:30:51 +0800 Subject: [PATCH 1/2] support install package --- builder/alpine/install.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/builder/alpine/install.sh b/builder/alpine/install.sh index c964f38..54afff1 100755 --- a/builder/alpine/install.sh +++ b/builder/alpine/install.sh @@ -3,7 +3,12 @@ COMMANDS=$1 PACKAGES= # @todo why can I not make the IFS work here?! while read COMMAND; do - PACKAGE=$(curl -sSfL "https://command-not-found.com/-/api/package/alpine/$COMMAND") + if [ "$COMMAND" = "@*" ]; then + PACKAGE=${COMMAND:1} + else + PACKAGE=$(curl -sSfL "https://command-not-found.com/-/api/package/alpine/$COMMAND") + fi + if apk info | grep -qE "^${PACKAGE}$" >/dev/null; then echo "Notice: Package already installed" exit 0 From 934a2704d27af4e24f02b3c7464161808fdbbf34 Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Thu, 17 Mar 2022 18:49:29 +0800 Subject: [PATCH 2/2] Update install.sh --- builder/alpine/install.sh | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/builder/alpine/install.sh b/builder/alpine/install.sh index 54afff1..a726448 100755 --- a/builder/alpine/install.sh +++ b/builder/alpine/install.sh @@ -2,14 +2,14 @@ COMMANDS=$1 PACKAGES= # @todo why can I not make the IFS work here?! +apk update while read COMMAND; do - if [ "$COMMAND" = "@*" ]; then - PACKAGE=${COMMAND:1} - else - PACKAGE=$(curl -sSfL "https://command-not-found.com/-/api/package/alpine/$COMMAND") + PACKAGE=$(curl -sSfL "https://command-not-found.com/-/api/package/alpine/$COMMAND") + if [ -z "${PACKAGE}" ] && apk info ${COMMAND} 1>&2 2>/dev/null; then + PACKAGE=${COMMAND} fi - - if apk info | grep -qE "^${PACKAGE}$" >/dev/null; then + + if [ -n "${PACKAGE}" ] && apk info | grep -qE "^${PACKAGE}$" >/dev/null; then echo "Notice: Package already installed" exit 0 fi @@ -21,5 +21,6 @@ if [ -z "$PACKAGES" ]; then echo "Error: Nothing to install" exit 1 fi -apk --no-cache add ${PACKAGES} +apk add ${PACKAGES} +rm -rf /var/cache/apk/* exit 0