-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.sh
More file actions
39 lines (32 loc) · 1.04 KB
/
build.sh
File metadata and controls
39 lines (32 loc) · 1.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# crash out of this program if things dont work as expected
set -e
sudo apt-get update && sudo apt-get install -y \
build-essential \
uuid-dev \
libgpgme-dev \
squashfs-tools \
libseccomp-dev \
wget \
pkg-config \
git \
cryptsetup-bin
#
# Install golang manually
#
wget https://go.dev/dl/go1.19.2.linux-amd64.tar.gz
tar -xzf go1.19.2.linux-amd64.tar.gz
# the above tar extracts to the folder ./go
sudo mv go /opt/go
sudo ln -s /opt/go/bin/go /usr/local/bin/
git clone https://github.com/apptainer/apptainer.git
cd apptainer
# commit tracks arch linux build version
# https://github.com/archlinux/svntogit-community/blob/packages/apptainer/trunk/PKGBUILD
commit="47190aa95d3fbd45b69a35e27fda816e3917f6c4"
git checkout $commit
./mconfig --prefix=/opt/apptainer && \
make -C ./builddir && \
sudo make -C ./builddir install
# add apptainer to /usr/local/bin w/ symlink
# this is probably devastatingly bad if it was installed with a package manager
sudo ln -s /opt/apptainer/bin/apptainer /usr/local/bin/apptainer