Skip to content

Commit d8b3c44

Browse files
authored
Merge pull request #1101 from afbjorklund/apptainer-wrapper
Add wrapper for running apptainer on Mac
2 parents 4bd54c9 + 18fec68 commit d8b3c44

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

Makefile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ binaries: clean \
3131
_output/bin/lima$(bat) \
3232
_output/bin/limactl$(exe) \
3333
_output/bin/nerdctl.lima \
34+
_output/bin/apptainer.lima \
3435
_output/bin/docker.lima \
3536
_output/bin/podman.lima \
3637
_output/share/lima/lima-guestagent.Linux-x86_64 \
@@ -62,6 +63,10 @@ _output/bin/nerdctl.lima:
6263
mkdir -p _output/bin
6364
cp -a ./cmd/nerdctl.lima $@
6465

66+
_output/bin/apptainer.lima: ./cmd/apptainer.lima
67+
@mkdir -p _output/bin
68+
cp -a $^ $@
69+
6570
_output/bin/docker.lima: ./cmd/docker.lima
6671
@mkdir -p _output/bin
6772
cp -a $^ $@
@@ -102,6 +107,7 @@ install: uninstall
102107
# Use tar rather than cp, for better symlink handling
103108
( cd _output && tar c * | tar Cxv "$(DEST)" )
104109
if [ "$(shell uname -s )" != "Linux" -a ! -e "$(DEST)/bin/nerdctl" ]; then ln -sf nerdctl.lima "$(DEST)/bin/nerdctl"; fi
110+
if [ "$(shell uname -s )" != "Linux" -a ! -e "$(DEST)/bin/apptainer" ]; then ln -sf apptainer.lima "$(DEST)/bin/apptainer"; fi
105111

106112
.PHONY: uninstall
107113
uninstall:
@@ -111,10 +117,12 @@ uninstall:
111117
"$(DEST)/bin/lima$(bat)" \
112118
"$(DEST)/bin/limactl$(exe)" \
113119
"$(DEST)/bin/nerdctl.lima" \
120+
"$(DEST)/bin/apptainer.lima" \
114121
"$(DEST)/bin/docker.lima" \
115122
"$(DEST)/bin/podman.lima" \
116123
"$(DEST)/share/lima" "$(DEST)/share/doc/lima"
117124
if [ "$$(readlink "$(DEST)/bin/nerdctl")" = "nerdctl.lima" ]; then rm "$(DEST)/bin/nerdctl"; fi
125+
if [ "$$(readlink "$(DEST)/bin/apptainer")" = "apptainer.lima" ]; then rm "$(DEST)/bin/apptainer"; fi
118126

119127
.PHONY: lint
120128
lint:

cmd/apptainer.lima

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/bin/sh
2+
set -eu
3+
: "${LIMA_INSTANCE:=apptainer}"
4+
5+
if [ "$(limactl ls -q "$LIMA_INSTANCE" 2>/dev/null)" != "$LIMA_INSTANCE" ]; then
6+
echo "instance \"$LIMA_INSTANCE\" does not exist, run \`limactl start --name=$LIMA_INSTANCE template://apptainer\` to create a new instance" >&2
7+
exit 1
8+
fi
9+
export LIMA_INSTANCE
10+
exec lima APPTAINER_HOME="$HOME" apptainer "$@"

0 commit comments

Comments
 (0)