From 91573652444858c6fd731a3cb6cf1f0a1c101515 Mon Sep 17 00:00:00 2001 From: Josh Cox Date: Sat, 18 Nov 2023 10:14:18 -0600 Subject: [PATCH] Addressing request to move all into a dockerbuild directory Signed-off-by: Josh Cox --- .gitignore | 2 -- Readme.md | 8 ++--- build.sh | 28 ---------------- dockerbuild/.gitignore | 3 ++ Dockerfile => dockerbuild/Dockerfile | 3 +- dockerbuild/build.sh | 50 ++++++++++++++++++++++++++++ start.sh => dockerbuild/start.sh | 0 7 files changed, 59 insertions(+), 35 deletions(-) delete mode 100755 build.sh create mode 100644 dockerbuild/.gitignore rename Dockerfile => dockerbuild/Dockerfile (80%) create mode 100755 dockerbuild/build.sh rename start.sh => dockerbuild/start.sh (100%) diff --git a/.gitignore b/.gitignore index eb5ee3c..2309bc1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,3 @@ *.rpm *.log x86_64/* -tmp/* -output/* diff --git a/Readme.md b/Readme.md index c145166..2391761 100644 --- a/Readme.md +++ b/Readme.md @@ -55,17 +55,17 @@ So how to build it? There is a simple build.sh script included to show the sequence that I used to build the image. ``` -./build.sh +./dockerbuild/build.sh ``` Which should end in something like: ``` -sudo find ./tmp -name vojtux_38.iso -./tmp/lmc-result-DEADBEEF_cg/vojtux_38.iso +sudo find ./dockerbuild/output -name vojtux_38.iso +./dockerbuild/output/vojtux_38.iso ``` -Your vojtux_38.iso should be listed as above, where DEADBEEF will be some unique ID. +Your `vojtux_38.iso` should be listed as above. ## What is actually done? diff --git a/build.sh b/build.sh deleted file mode 100755 index 47ad672..0000000 --- a/build.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh -# Build a vojtx image in a docker container -set -eux - -docker build -t vojtux . - -TMP=./tmp -mkdir -p $TMP -chmod 777 $TMP -trap "rm -rf $TMP" EXIT - -mkdir -p ./output -chmod 777 ./output - -# we need priliged for the loopbacks and losetup to work -# likewise /dev needs to be mounted in also for the loopbacks -# but does not present to be a problem till after the squashfs runtime -time docker run \ - --privileged=true \ - -it --rm \ - -v /dev:/dev \ - -v ./tmp:/live/tmp \ - -v ./output:/output \ - vojtux:latest - -du -sh $(pwd)/output -du -sh $TMP -sudo find $(pwd)/output -name vojtux_38.iso diff --git a/dockerbuild/.gitignore b/dockerbuild/.gitignore new file mode 100644 index 0000000..1cf94aa --- /dev/null +++ b/dockerbuild/.gitignore @@ -0,0 +1,3 @@ +*.log +tmp/* +output/* diff --git a/Dockerfile b/dockerbuild/Dockerfile similarity index 80% rename from Dockerfile rename to dockerbuild/Dockerfile index 18237f5..1933db3 100644 --- a/Dockerfile +++ b/dockerbuild/Dockerfile @@ -9,4 +9,5 @@ RUN sudo dnf install -yq lorax-lmc-novirt pykickstart \ COPY ./ /target WORKDIR /target -CMD /target/start.sh +CMD ls -Rl /target +CMD /target/dockerbuild/start.sh diff --git a/dockerbuild/build.sh b/dockerbuild/build.sh new file mode 100755 index 0000000..a7a36da --- /dev/null +++ b/dockerbuild/build.sh @@ -0,0 +1,50 @@ +#!/bin/sh +# Build a vojtx image in a docker container + +OUTPUT=$(pwd)/dockerbuild/output +TMP=$(pwd)/dockerbuild/tmp + +prepdir () { + mkdir -p $1 + chmod 777 $1 +} + +if [ "$0" != "dockerbuild/build.sh" && "$0" != "./dockerbuild/build.sh" ]; then + echo 'wrong usage! Please call from the vojtux root directory! e.g.' + echo 'dockerbuild/build.sh' + if [ -z "$1" ]; then + exit 1 + elif [ "$1" == '--force' ]; then + echo 'using the force, soft fail' + else + exit 1 + fi +fi + +set -eu +prepdir $TMP +prepdir $OUTPUT +trap "rm -rf $TMP" EXIT + +if [ -f "dockerbuild/Dockerfile" ]; then + docker build \ + -t vojtux \ + -f dockerbuild/Dockerfile \ + ./ +else + echo 'Dockerfile not found' + exit 1 +fi + +# we need priliged for the loopbacks and losetup to work +# likewise /dev needs to be mounted in also for the loopbacks +# but does not present to be a problem till after the squashfs runtime +docker run \ + --privileged=true \ + -it --rm \ + -v /dev:/dev \ + -v $TMP:/live/tmp \ + -v $OUTPUT:/output \ + vojtux:latest + +sudo find $OUTPUT -name vojtux_38.iso diff --git a/start.sh b/dockerbuild/start.sh similarity index 100% rename from start.sh rename to dockerbuild/start.sh