Support for podman #9

Merged
jaby merged 25 commits from feature/jb/potman into main 2025-01-08 21:22:17 +00:00
6 changed files with 32 additions and 7 deletions
Showing only changes of commit fbe9b91006 - Show all commits

View File

@ -1,8 +1,16 @@
FROM "ubuntu:24.04"
ADD ["scripts/install_pop-fe.sh", "scripts/install_rust.sh", "scripts/make_gcc.sh", "scripts/prerequisites.sh", "/usr/scripts"]
RUN apt update && cd /usr/scripts && ./prerequisites.sh && ./install_rust.sh && cd /usr && ./scripts/make_gcc.sh
WORKDIR /usr
cody marked this conversation as resolved
Review

Potentially not needed?

Potentially not needed?
ADD ["scripts/make_gcc.sh", "/usr/scripts"]
RUN apt update && /usr/scripts/make_gcc.sh
cody marked this conversation as resolved Outdated
Outdated
Review

For temporary working spaces to compile programs it would be preferable to use /tmp or $HOME instead of /usr to conform to normal *NIX conventions.

For temporary working spaces to compile programs it would be preferable to use `/tmp` or `$HOME` instead of `/usr` to conform to normal *NIX conventions.
WORKDIR /usr/scripts
ADD ["scripts/install_rust.sh", "/usr/scripts"]
RUN apt update && ./install_rust.sh
# TODO: Deal with this eventually
ADD ["scripts/install_pop-fe.sh", "/usr/scripts"]
#WORKDIR /usr/src/project
#RUN apt update && apt install -y nginx
@ -13,4 +21,5 @@ RUN apt update && cd /usr/scripts && ./prerequisites.sh && ./install_rust.sh &&
#ADD install_pop-fe.sh install_pop-fe.sh
#CMD ["cp", "install_pop-fe.sh", "/my_vol"]
# TODO: Make a script that builds the image and then registers alias like `jaby-make` for the docker command
# TODO: Make a script that builds the image and --then registers alias like `jaby-make` for the docker command-- Cody said alias are bad (yesterday he liked them) and wants scripts instead (He also suddenly claims that he called them invasive but ACTUALLY it was me. Oh noooow he corrects his statement)

View File

@ -1 +1,13 @@
podman build -t jaby_engine .
#!/usr/bin/env bash
podman build -t jaby_engine .
if [[ -z "${JABY_ENGINE_PATH}" ]]; then
echo "Setting JABY_ENGINE_PATH to parent folder"
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd)"
JABY_ENGINE_PATH="$(dirname "$SCRIPT_DIR")"
cat << End >> ~/.profile
cody marked this conversation as resolved Outdated
Outdated
Review

This will not work as expected on any distro that does not use bash by default. You could echo an example of what to add to your "bashrc" and let users add it to the correct rc file for their shell.

This will not work as expected on any distro that does not use bash by default. You could echo an example of what to add to your "bashrc" and let users add it to the correct rc file for their shell.
Outdated
Review

for example

echo "Please ensure that you source ~/.profile in your shell rc"

so that people with alternate shells will still be able to use your tools.

for example ``` echo "Please ensure that you source ~/.profile in your shell rc" ``` so that people with alternate shells will still be able to use your tools.
Outdated
Review

or use

if cat /etc/passwd | grep $USER | grep bash; then
# do stuff if they use bash
else
# warn the users then need to add the export statement to their shell RC
fi
or use ```bash if cat /etc/passwd | grep $USER | grep bash; then # do stuff if they use bash else # warn the users then need to add the export statement to their shell RC fi ```
export JABY_ENGINE_PATH="$JABY_ENGINE_PATH"
End
source ~/.profile
fi

View File

@ -1,4 +1,7 @@
#!/bin/bash
echo "<<< Install Rust prerequisites >>>"
apt install -y curl
echo "<<< Install Rust >>>"
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
. "$HOME/.cargo/env"

View File

@ -1,4 +1,7 @@
#!/bin/bash
echo "<<< Install GCC prerequisites >>>"
apt install -y make texinfo g++ gcc git libgmp3-dev libmpfr-dev libmpc-dev flex install-info info bison
GCC_VERSION=13.1.0
echo "<<< Build GCC >>>"

View File

@ -1,3 +0,0 @@
#!/bin/bash
echo "<<< Install prerequisites >>>"
apt install -y curl make texinfo g++ gcc git libgmp3-dev libmpfr-dev libmpc-dev flex install-info info bison

View File

@ -23,6 +23,7 @@ JabyEngine is my personal attempt to eventually make my own PS1 game from "groun
* `podman run -it <COMMIT ID> /bin/bash`: runs bash and interactive
* `podman run --rm <-v <local_folder>:<absolute docker_folder> <-e ENV_VAR=VALUE> jaby_engine`: clean up after run
* `podman image tree <TAG/ID>`: lists usefull information
* `podman run --rm -it -v ${JABY_ENGINE_PATH}:${JABY_ENGINE_PATH} jaby_engine /bin/bash` maybe a good idea...?
## How to build
JabyEngine relies on linux to be build. For Windows users it uses `wsl` instead but support for it might get dropped during further development.