File prepare_vendor.sh of Package lychee
#!/bin/bash
# shellcheck disable=2181
LYCHEE_URL="$(rpmspec -P ./*.spec | awk '/^Source0:/ { print $NF }')"
LYCHEE_TARBALL="$(basename "${LYCHEE_URL}")"
LYCHEE_PKGVERSION="$(rpmspec -P ./*.spec | awk '/^Version:/ { print $NF }')"
LYCHEE_PKGNAME="Lychee"
LYCHEE_PKGDIR="$(pwd)"
LYCHEE_TMPDIR="$(mktemp --tmpdir -d lychee-XXXXXXXX)"
LYCHEE_PATH="${LYCHEE_TMPDIR}/${LYCHEE_PKGNAME}-${LYCHEE_PKGVERSION}"
echo "URL: ${LYCHEE_URL}"
echo "TARBALL: ${LYCHEE_TARBALL}"
echo "NAME: ${LYCHEE_PKGNAME}"
echo "VERSION: ${LYCHEE_PKGVERSION}"
echo "PATH: ${LYCHEE_PATH}"
cleanup_tmpdir() {
popd 2>/dev/null || true
rm -rf "${LYCHEE_TMPDIR}"
}
trap cleanup_tmpdir SIGINT
cleanup_and_exit() {
cleanup_tmpdir
if test "$1" = 0 -o -z "$1" ; then
exit 0
else
exit "${1}"
fi
}
if [ ! -w "${LYCHEE_TARBALL}" ]; then
wget "${LYCHEE_URL}"
fi
tar -xf "${LYCHEE_TARBALL}" -C "${LYCHEE_TMPDIR}"
pushd "${LYCHEE_PATH}" || cleanup_and_exit 1
COMPOSER_VENDOR_FOLDER="$(pwd)/vendor"
echo ">>>>>> Install vendor files with composer"
composer install --no-dev
if [ $? -ne 0 ]; then
echo "ERROR: composer failed to install packages"
cleanup_and_exit 1
fi
npm install
if [ $? -ne 0 ]; then
echo "ERROR: composer failed to install packages"
cleanup_and_exit 1
fi
echo ">>>>>> Cleanup vendor files"
rm -rf vendor/bin
rm -rf vendor/league/oauth1-client/tests/
rm -f "${COMPOSER_VENDOR_FOLDER}/aws/aws-crt-php/gen_stub.php"
rm -f "${COMPOSER_VENDOR_FOLDER}/aws/aws-crt-php/run_tests"
find "${COMPOSER_VENDOR_FOLDER}/" -name ".git*" -print0 | xargs -0 rm -rf
find "${COMPOSER_VENDOR_FOLDER}/" -type f -name "*.h" -delete
find "${COMPOSER_VENDOR_FOLDER}/" -type f -name "*.sh" -delete
find "${COMPOSER_VENDOR_FOLDER}/" -type f -name "*.bat" -delete
find "${COMPOSER_VENDOR_FOLDER}/" -type f -name "*.c" -delete
find "${COMPOSER_VENDOR_FOLDER}/" -type f -name "*.m4" -delete
find "${COMPOSER_VENDOR_FOLDER}/" -type f -name "Makefile" -delete
find "${COMPOSER_VENDOR_FOLDER}/" -type f -name "*.mk" -delete
find vendor -type f \( -name ".*" -a ! -name ".htaccess" \) -delete
echo ">>>>>> Package vendor files"
rm -f "${LYCHEE_PKGDIR}/${LYCHEE_PKGNAME}-${LYCHEE_PKGVERSION}-vendor.tar.zst"
tar --zstd -cf "${LYCHEE_PKGDIR}/${LYCHEE_PKGNAME}-${LYCHEE_PKGVERSION}-vendor.tar.zst" node_modules/ vendor/
if [ $? -ne 0 ]; then
cleanup_and_exit 1
fi
popd || cleanup_and_exit 1
cleanup_and_exit 0