Initial import of libdpf.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
commit
e4e666f459
4563 changed files with 1690372 additions and 0 deletions
83
thirdparty/simde/docker/simde-dev.sh
vendored
Executable file
83
thirdparty/simde/docker/simde-dev.sh
vendored
Executable file
|
|
@ -0,0 +1,83 @@
|
|||
#!/bin/bash -e
|
||||
|
||||
# See documentation in README.md
|
||||
|
||||
DOCKER="$(command -v podman || command -v docker)"
|
||||
|
||||
DOCKER_DIR="$(dirname "${0}")"
|
||||
VOLUME_OPTIONS=""
|
||||
CAPABILITIES=""
|
||||
RELEASE="testing"
|
||||
PROMPT=n
|
||||
|
||||
if [ "x$QEMU_GIT" == 'x' ]; then
|
||||
QEMU_GIT=n
|
||||
fi
|
||||
|
||||
if [ "${OSTYPE}" == "linux-gnu" ] && [ "$(basename "${DOCKER}")" = "podman" ]; then
|
||||
CAPABILITIES="--cap-add=CAP_SYS_PTRACE";
|
||||
fi
|
||||
|
||||
if [ ! -z "${1}" ]; then
|
||||
RELEASE="${1}"
|
||||
fi
|
||||
|
||||
IMAGE_NAME="simde-dev-${RELEASE}${SUFFIX}"
|
||||
|
||||
# (Re)build image
|
||||
# We only do this if the current image is older than a week, but ou can
|
||||
# use BUILD_IMAGE=y/n to force the image to build or not build.
|
||||
if [ -z "${BUILD_IMAGE}" ]; then
|
||||
BUILD_CUTOFF_TIME="$(expr $(date +%s) - \( 60 \* 60 \* 24 \* 7 \))"
|
||||
DATE="$(${DOCKER} images "${IMAGE_NAME}" --format '{{ .CreatedAt }}' | awk '{ print $1 " " $2 }')"
|
||||
|
||||
if [ "$(uname)" == "Darwin" ]; then
|
||||
CURRENT_IMAGE_CREATED="$(date -jf "%Y-%m-%d %H:%M:%S" "$DATE" +%s)"
|
||||
else
|
||||
CURRENT_IMAGE_CREATED="$(date +"%s" -d "$DATE")"
|
||||
fi
|
||||
|
||||
if [[ -z "${CURRENT_IMAGE_CREATED}" || -z "${DATE}" ]]; then
|
||||
BUILD_IMAGE=y
|
||||
PROMPT=y
|
||||
elif [ ${CURRENT_IMAGE_CREATED} -lt ${BUILD_CUTOFF_TIME} ]; then
|
||||
BUILD_IMAGE=y
|
||||
PROMPT=y
|
||||
else
|
||||
BUILD_IMAGE=n
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "${PROMPT}" == "y" ]; then
|
||||
read -p "Image older than a week, Rebuild? [Y/n]: " BUILD_IMAGE
|
||||
BUILD_IMAGE=${BUILD_IMAGE:-y}
|
||||
fi
|
||||
|
||||
if [ "${BUILD_IMAGE}" != "n" ]; then
|
||||
"${DOCKER}" rmi -f "${IMAGE_NAME}" 2>/dev/null || true
|
||||
"${DOCKER}" build --build-arg "RELEASE=${RELEASE}" --build-arg "QEMU_GIT=${QEMU_GIT}" -t "${IMAGE_NAME}" ${CAPABILITIES} -f "${DOCKER_DIR}/Dockerfile${SUFFIX}" "${DOCKER_DIR}/.."
|
||||
fi
|
||||
|
||||
if [ "$(basename "${DOCKER}")" = "podman" ]; then
|
||||
VOLUME_OPTIONS=":z";
|
||||
elif [ "${OSTYPE}" == "darwin" ]; then
|
||||
VOLUME_OPTIONS=":delegated"
|
||||
fi
|
||||
|
||||
if [ "${OSTYPE}" == "darwin" ]; then
|
||||
if [ -z "${PERSISTENT_BUILD_DIR}" ]; then
|
||||
PERSISTENT_BUILD_ARGS="";
|
||||
else
|
||||
PERSISTENT_BUILD_DIR="$(realpath "${PERSISTENT_BUILD_DIR}")"
|
||||
PERSISTENT_BUILD_ARGS="--mount type=bind,source=\"${PERSISTENT_BUILD_DIR}\",target=/opt/simde"
|
||||
fi
|
||||
"${DOCKER}" run --mount type=bind,source="$(realpath "${DOCKER_DIR}/..")",target=/usr/local/src/simde ${PERSISTENT_BUILD_ARGS} ${CAPABILITIES} --rm -it "${IMAGE_NAME}" /bin/bash
|
||||
else
|
||||
if [ -z "${PERSISTENT_BUILD_DIR}" ]; then
|
||||
PERSISTENT_BUILD_ARGS="";
|
||||
else
|
||||
PERSISTENT_BUILD_DIR=$(realpath "${PERSISTENT_BUILD_DIR}")
|
||||
PERSISTENT_BUILD_ARGS=-v\ "${PERSISTENT_BUILD_DIR}:/opt/simde${VOLUME_OPTIONS}"
|
||||
fi
|
||||
"${DOCKER}" run -v "$(realpath "${DOCKER_DIR}/..")":/usr/local/src/simde${VOLUME_OPTIONS} ${PERSISTENT_BUILD_ARGS} ${CAPABILITIES} --rm -it "${IMAGE_NAME}" /bin/bash
|
||||
fi
|
||||
Loading…
Add table
Add a link
Reference in a new issue