From bf058dc49492b3a102a28ed25764a517fcebfb40 Mon Sep 17 00:00:00 2001 From: Chuck Lantz Date: Fri, 16 Dec 2022 09:47:21 -0800 Subject: Multi-distro support for common script, refactor, fixes (#326) --- src/common-utils/bin/code | 16 ++++++++++++++++ src/common-utils/bin/devcontainer-info | 27 +++++++++++++++++++++++++++ src/common-utils/bin/systemctl | 7 +++++++ 3 files changed, 50 insertions(+) create mode 100755 src/common-utils/bin/code create mode 100755 src/common-utils/bin/devcontainer-info create mode 100755 src/common-utils/bin/systemctl (limited to 'src/common-utils/bin') diff --git a/src/common-utils/bin/code b/src/common-utils/bin/code new file mode 100755 index 0000000..b0d517f --- /dev/null +++ b/src/common-utils/bin/code @@ -0,0 +1,16 @@ +#!/bin/sh + +get_in_path_except_current() { + which -a "$1" | grep -A1 "$0" | grep -v "$0" +} + +code="$(get_in_path_except_current code)" + +if [ -n "$code" ]; then + exec "$code" "$@" +elif [ "$(command -v code-insiders)" ]; then + exec code-insiders "$@" +else + echo "code or code-insiders is not installed" >&2 + exit 127 +fi diff --git a/src/common-utils/bin/devcontainer-info b/src/common-utils/bin/devcontainer-info new file mode 100755 index 0000000..2c74fea --- /dev/null +++ b/src/common-utils/bin/devcontainer-info @@ -0,0 +1,27 @@ +#!/bin/sh +. /usr/local/etc/vscode-dev-containers/meta.env + +# Minimal output +if [ "$1" = "version" ] || [ "$1" = "image-version" ]; then + echo "${VERSION}" + exit 0 +elif [ "$1" = "release" ]; then + echo "${GIT_REPOSITORY_RELEASE}" + exit 0 +elif [ "$1" = "content" ] || [ "$1" = "content-url" ] || [ "$1" = "contents" ] || [ "$1" = "contents-url" ]; then + echo "${CONTENTS_URL}" + exit 0 +fi + +#Full output +echo +echo "Development container image information" +echo +if [ ! -z "${VERSION}" ]; then echo "- Image version: ${VERSION}"; fi +if [ ! -z "${DEFINITION_ID}" ]; then echo "- Definition ID: ${DEFINITION_ID}"; fi +if [ ! -z "${VARIANT}" ]; then echo "- Variant: ${VARIANT}"; fi +if [ ! -z "${GIT_REPOSITORY}" ]; then echo "- Source code repository: ${GIT_REPOSITORY}"; fi +if [ ! -z "${GIT_REPOSITORY_RELEASE}" ]; then echo "- Source code release/branch: ${GIT_REPOSITORY_RELEASE}"; fi +if [ ! -z "${BUILD_TIMESTAMP}" ]; then echo "- Timestamp: ${BUILD_TIMESTAMP}"; fi +if [ ! -z "${CONTENTS_URL}" ]; then echo && echo "More info: ${CONTENTS_URL}"; fi +echo diff --git a/src/common-utils/bin/systemctl b/src/common-utils/bin/systemctl new file mode 100755 index 0000000..4ead985 --- /dev/null +++ b/src/common-utils/bin/systemctl @@ -0,0 +1,7 @@ +#!/bin/sh +set -e +if [ -d "/run/systemd/system" ]; then + exec /bin/systemctl "$@" +else + echo '\n"systemd" is not running in this container due to its overhead.\nUse the "service" command to start services instead. e.g.: \n\nservice --status-all' +fi -- cgit v1.2.3