From e43e08ab20c541459f176b17b51cf4d29873c3ef Mon Sep 17 00:00:00 2001 From: Otto Urpelainen Date: Jan 18 2022 19:41:09 +0000 Subject: [PATCH 1/4] Fix if conditions in build.sh Earlier comment removed quotation from around command substitions $(). This is not a good idea, because if the substitution produces whitespace, without the quotes, the result is not interpreted as a single string. Pattern 'if [ $(uname) == "foo" ]' is replaced with 'uname | grep -iwq foo' here. Apart from following good shell scripting practices, this commit fixes the problem where the script failed if the current working directory's patch contained whitespace. --- diff --git a/build.sh b/build.sh index 75dd387..002d86a 100755 --- a/build.sh +++ b/build.sh @@ -3,16 +3,16 @@ image="docker.io/antora/antora" cmd="--html-url-extension-style=indexify site.yml" -if [ "$(uname)" == "Darwin" ]; then +if uname | grep -iwq darwin; then # Running on macOS. # Let's assume that the user has the Docker CE installed # which doesn't require a root password. echo "" echo "This build script is using Docker container runtime to run the build in an isolated environment." echo "" - docker run --rm -it -v $(pwd):/antora $image $cmd + docker run --rm -it -v "$(pwd):/antora" $image $cmd -elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then +elif uname | grep -iq linux; then # Running on Linux. # there isn't an antora/aarch64 container, antora can be installed locally # Check whether podman is available, else faill back to docker @@ -20,13 +20,13 @@ elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then if [ -f /usr/local/bin/antora ]; then /usr/local/bin/antora $cmd - elif [[ `uname -m` == "aarch64" ]]; then + elif uname -m | grep -iwq aarch64; then echo "no antora/aarch64 container try just \`npm install -g @antora/cli @antora/site-generator-default\`" elif [ -f /usr/bin/podman ]; then echo "" echo "This build script is using Podman to run the build in an isolated environment." echo "" - podman run --rm -it -v $(pwd):/antora:z $image $cmd + podman run --rm -it -v "$(pwd):/antora:z" $image $cmd elif [ -f /usr/bin/docker ]; then echo "" @@ -40,7 +40,7 @@ elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then echo "This build script is using $runtime to run the build in an isolated environment. You might be asked for your password." echo "You can avoid this by adding your user to the 'docker' group, but be aware of the security implications. See https://docs.docker.com/install/linux/linux-postinstall/." echo "" - sudo docker run --rm -it -v $(pwd):/antora:z $image $cmd + sudo docker run --rm -it -v "$(pwd):/antora:z" $image $cmd fi else echo "" From fcdc5641dbe5f05fc8a396cf472363d1f794bfdb Mon Sep 17 00:00:00 2001 From: Otto Urpelainen Date: Jan 18 2022 19:43:38 +0000 Subject: [PATCH 2/4] Fix the Linux docker branch of build.sh There were multiple problems in the Linux docker branch of build.sh: - Intendation was wrong - There was a reference to undefined variable $runtime, leading to corrupted output. - Output had strange linebreaks. --- diff --git a/build.sh b/build.sh index 002d86a..82eb153 100755 --- a/build.sh +++ b/build.sh @@ -34,14 +34,15 @@ elif uname | grep -iq linux; then echo "" if groups | grep -wq "docker"; then - docker run --rm -it -v $(pwd):/antora:z $image $cmd - else - echo "" - echo "This build script is using $runtime to run the build in an isolated environment. You might be asked for your password." - echo "You can avoid this by adding your user to the 'docker' group, but be aware of the security implications. See https://docs.docker.com/install/linux/linux-postinstall/." + docker run --rm -it -v "$(pwd):/antora:z" $image $cmd + else + echo "You might be asked for your password." + echo "You can avoid this by adding your user to the 'docker' group," + echo "but be aware of the security implications." + echo "See https://docs.docker.com/install/linux/linux-postinstall/" echo "" sudo docker run --rm -it -v "$(pwd):/antora:z" $image $cmd - fi + fi else echo "" echo "Error: Container runtime haven't been found on your system. Fix it by:" From 506632c25abbb6a2614621bf24e797e0ba45c042 Mon Sep 17 00:00:00 2001 From: Otto Urpelainen Date: Jan 18 2022 19:49:39 +0000 Subject: [PATCH 3/4] Fix intendation in build.sh error branch --- diff --git a/build.sh b/build.sh index 82eb153..0c0f3f0 100755 --- a/build.sh +++ b/build.sh @@ -34,19 +34,19 @@ elif uname | grep -iq linux; then echo "" if groups | grep -wq "docker"; then - docker run --rm -it -v "$(pwd):/antora:z" $image $cmd - else + docker run --rm -it -v "$(pwd):/antora:z" $image $cmd + else echo "You might be asked for your password." echo "You can avoid this by adding your user to the 'docker' group," echo "but be aware of the security implications." echo "See https://docs.docker.com/install/linux/linux-postinstall/" echo "" sudo docker run --rm -it -v "$(pwd):/antora:z" $image $cmd - fi + fi else echo "" - echo "Error: Container runtime haven't been found on your system. Fix it by:" - echo "$ sudo dnf install podman" - exit 1 + echo "Error: Container runtime haven't been found on your system. Fix it by:" + echo "$ sudo dnf install podman" + exit 1 fi fi From 5814c54c2f9d41b36575b6519c2e97d30248cdd7 Mon Sep 17 00:00:00 2001 From: Otto Urpelainen Date: Jan 18 2022 19:49:39 +0000 Subject: [PATCH 4/4] Use `version: ~` in antora.yml Antora 3 has deprecated `version: master`. Replacing it with a current alternative. --- diff --git a/antora.yml b/antora.yml index 04bd50f..19e9b09 100644 --- a/antora.yml +++ b/antora.yml @@ -5,8 +5,8 @@ name: pizza-factory # <---- PLEASE MODIFY # Title will be visible on the page. title: Pizza Factory # <---- PLEASE MODIFY -# If you don't plan to have multiple versions of the docs (for example, to document multiple versions of some software), you can ignore this field. Otherwise, change "master" to a specific version. -version: master +# If you don't plan to have multiple versions of the docs (for example, to document multiple versions of some software), you can ignore this field. Otherwise, change "~" to a specific version. +version: ~ # We encourage you to name the index page as "index.adoc". If you absolutely have to use a different name, please reflect it here. You can ignore this field otherwise. start_page: ROOT:index