48 lines
1.1 KiB
Bash
Executable File
48 lines
1.1 KiB
Bash
Executable File
#!/bin/bash -e
|
|
|
|
readonly SPEC_FILE="$(find . -name '*.spec' | head -n 1)"
|
|
|
|
readonly REPO_NAME="$(basename ${SPEC_FILE} | sed 's/.spec//')"
|
|
readonly REPO_URL="https://gitee.com/openeuler/${REPO_NAME}"
|
|
readonly REPO_BRANCH="$(git branch --show-current | sed 's/-LTS.*//')"
|
|
readonly REPO_VERSION="$(grep Version ${SPEC_FILE} | head -n 1 | awk -F ' ' '{print $NF}')"
|
|
|
|
readonly PKG_NAME="${REPO_NAME}-${REPO_VERSION}"
|
|
readonly PKG_DIR="$(realpath ./${PKG_NAME})"
|
|
|
|
echo "Preparing..."
|
|
rm -rf ./${REPO_NAME} ./${PKG_NAME}
|
|
rm -f ./*.tar.gz
|
|
|
|
echo "--------------------------"
|
|
echo "Name: ${REPO_NAME}"
|
|
echo "Branch: ${REPO_BRANCH}"
|
|
echo "--------------------------"
|
|
|
|
echo "Cloning source code..."
|
|
git clone ${REPO_URL} -b ${REPO_BRANCH} ${PKG_NAME}
|
|
|
|
echo "Vendoring dependencies..."
|
|
pushd ${PKG_DIR} > /dev/null
|
|
|
|
cargo vendor --quiet --respect-source-config --sync Cargo.toml
|
|
|
|
mkdir -p .cargo
|
|
cat << EOF > .cargo/config.toml
|
|
[source.crates-io]
|
|
replace-with = "vendored-sources"
|
|
|
|
[source.vendored-sources]
|
|
directory = "vendor"
|
|
EOF
|
|
|
|
popd > /dev/null
|
|
|
|
echo "Compressing package..."
|
|
tar -czf ./${PKG_NAME}.tar.gz ${PKG_NAME}
|
|
|
|
echo "Cleaning up..."
|
|
rm -rf ${PKG_DIR}
|
|
|
|
echo "Done"
|