File tree Expand file tree Collapse file tree 4 files changed +74
-0
lines changed Expand file tree Collapse file tree 4 files changed +74
-0
lines changed Original file line number Diff line number Diff line change
1
+ ARG OS
2
+ FROM $OS
3
+
4
+ ARG PAC
5
+
6
+ RUN rm /bin/sh && ln -s /bin/bash /bin/sh
7
+ RUN $PAC update && $PAC install -y git gcc curl
8
+
9
+ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > /tmp/rustup && sh /tmp/rustup -y
10
+ ADD scripts/build-internal.sh /
11
+ RUN mkdir -p /dummy/src
12
+ COPY Cargo.toml /dummy
13
+ RUN source $HOME/.cargo/env && cd /dummy && echo "// dummy file" > src/lib.rs && cargo build --release
Original file line number Diff line number Diff line change
1
+ # short name # docker from # pac mgr cmd
2
+ centos7 centos:7.9.2009 yum
3
+ rocky9 rockylinux:9.3 yum
4
+ debian12 debian:12.4 apt-get
Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+
3
+ if [ $# -ne 1 ]; then
4
+ echo usage $0 \< os_ident\>
5
+ exit 1
6
+ fi
7
+
8
+ cd /
9
+ git clone /src/ bigarchiver && \
10
+ cd bigarchiver/ && \
11
+ cargo test --release && cargo build --release && \
12
+ mkdir -pv /src/scripts/build/$1 / && \
13
+ cp -v target/release/bigarchiver /src/scripts/build/$1 /
Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+
3
+ set -e
4
+
5
+ if [ $# -eq 0 ]; then
6
+ echo usage $0 --image\| --app [ os_ident ]
7
+ exit 1
8
+ fi
9
+
10
+ cat PLATFORMS | sed ' /^#/d;/^[[:space:]]*$/d' | while read LINE; do
11
+ WORDS=($LINE )
12
+ if [ ${# WORDS[@]} -ne 3 ]; then
13
+ echo Invalid PLATFORMS file
14
+ exit 1
15
+ fi
16
+
17
+ IDENT=${WORDS[0]}
18
+ IMAGE_FROM=${WORDS[1]}
19
+ PAC_MGR=${WORDS[2]}
20
+
21
+ if [ -n " $2 " ]; then
22
+ if [ x" $IDENT " != x" $2 " ] ; then
23
+ continue
24
+ fi
25
+ fi
26
+
27
+ cd ..
28
+ case $1 in
29
+ --image)
30
+ echo preparing build image for $IDENT
31
+ docker build -t bigarchiver-$IDENT -f scripts/Dockerfile.template --build-arg OS=$IMAGE_FROM --build-arg PAC=$PAC_MGR .
32
+ ;;
33
+ --app)
34
+ echo building application for $IDENT
35
+ docker run -v=.:/src bigarchiver-$IDENT /bin/bash -l -c " /build-internal.sh $IDENT "
36
+ ;;
37
+ * )
38
+ echo invalid usage
39
+ exit 3
40
+ esac
41
+ cd scripts
42
+ done
43
+
44
+ echo all done
You can’t perform that action at this time.
0 commit comments