Skip to content

Commit

Permalink
linux/build: Install metapkg into a virtualenv
Browse files Browse the repository at this point in the history
Installing packages system-wide is a deprecated option, so install into
a virtualenv instead like we do on other platforms.
  • Loading branch information
elprans committed Oct 16, 2024
1 parent 416e8f8 commit bcfc52a
Show file tree
Hide file tree
Showing 17 changed files with 357 additions and 204 deletions.
33 changes: 21 additions & 12 deletions integration/linux/build/centos-7/Dockerfile

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

33 changes: 21 additions & 12 deletions integration/linux/build/centos-8/Dockerfile

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

33 changes: 21 additions & 12 deletions integration/linux/build/debian-bookworm/Dockerfile

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

33 changes: 21 additions & 12 deletions integration/linux/build/debian-bullseye/Dockerfile

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

33 changes: 21 additions & 12 deletions integration/linux/build/debian-buster/Dockerfile

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

33 changes: 21 additions & 12 deletions integration/linux/build/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,14 @@
set -Exeo pipefail

: "${CARGO_HOME:=$HOME/.cargo}"
: "${PYTHON:=python}"

mkdir -p ~/.cache/cargo/{git,registry}
mkdir -p "$CARGO_HOME"
rm -rf "${CARGO_HOME}"/{git,registry}
ln -s ~/.cache/cargo/registry "${CARGO_HOME}/registry"
ln -s ~/.cache/cargo/git "${CARGO_HOME}/git"

python -m pip install meson
python -m pip install -U git+https://github.com/edgedb/edgedb-pkg

if [ -n "${METAPKG_PATH}" ]; then
p=$(python -c 'import metapkg;print(metapkg.__path__[0])')
rm -rf "${p}"
ln -s "${METAPKG_PATH}" "${p}"
ls -al "${p}"
fi

extraopts=
if [ -n "${SRC_REF}" ]; then
extraopts+=" --source-ref=${SRC_REF}"
Expand Down Expand Up @@ -75,10 +66,28 @@ if [ -z "${PACKAGE}" ]; then
PACKAGE="edgedbpkg.edgedb:EdgeDB"
fi

if [ -z "${VIRTUAL_ENV}"]; then
mkdir -p "/var/lib/metapkg/venv"
${PYTHON} -m venv "/var/lib/metapkg/venv"
source "/var/lib/metapkg/venv/bin/activate"
PYTHON="python"
${PYTHON} -m pip install -U pip setuptools wheel
fi

${PYTHON} -m pip install -U meson
${PYTHON} -m pip install -U git+https://github.com/edgedb/edgedb-pkg

if [ -n "${METAPKG_PATH}" ]; then
p=$(${PYTHON} -c 'import metapkg;print(metapkg.__path__[0])')
rm -rf "${p}"
ln -s "${METAPKG_PATH}" "${p}"
ls -al "${p}"
fi

if [ "$1" == "bash" ] || [ "${GET_SHELL}" == "true" ]; then
echo python -m metapkg build --dest="${dest}" ${extraopts} "${PACKAGE}"
echo ${PYTHON} -m metapkg build --dest="${dest}" ${extraopts} "${PACKAGE}"
exec /bin/bash
else
python -m metapkg build -vvv --dest="${dest}" ${extraopts} "${PACKAGE}"
${PYTHON} -m metapkg build -vvv --dest="${dest}" ${extraopts} "${PACKAGE}"
ls -al "${dest}"
fi
33 changes: 21 additions & 12 deletions integration/linux/build/fedora-29/Dockerfile

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit bcfc52a

Please sign in to comment.