#!/bin/bash
set -e
readonly CUR_DIR=$(dirname "$(readlink -f "$0")")
readonly TOP_DIR=${CUR_DIR}/..
readonly NAME="mxindex"
readonly SDK_VERSION=$(sed -n 's/^version:[[:space:]]*//p' "${TOP_DIR}"/../ci/config/config.ini)
readonly SDK_VERSION_INFO=$(sed -n 's/^version:[[:space:]]*//p' "${TOP_DIR}"/../ci/config/config.ini)
linux_type=$(uname -i)
if [ "${linux_type}" == "aarch64" ];then
ARCH_NAME="linux-aarch64"
else
ARCH_NAME="linux-x86_64"
fi
ARCH_DES="${CUR_DIR}/output/${ARCH_NAME}"
RUN_FILENAME="Ascend-mindxsdk-${NAME}_${SDK_VERSION}_${ARCH_NAME}.run"
OUTPUT_DIR="${CUR_DIR}/output"
MAKESELF_SCRIPT=${TOP_DIR}/makeself/makeself.sh
MAKESELF_HEADER=${TOP_DIR}/makeself/makeself-header.sh
function package_index()
{
mkdir -p "${ARCH_DES}"
cd "${ARCH_DES}" || exit 1
cp -rf ${TOP_DIR}/feature_retrieval/output/*.tar.gz ./ && chmod 640 *.tar.gz
cp ${CUR_DIR}/conf/Index/install.sh ./ && dos2unix install.sh && chmod 550 install.sh
cp ${CUR_DIR}/conf/Index/help.info ./ && chmod 640 help.info
cp ${CUR_DIR}/conf/Index/agreement.conf ./ && chmod 640 agreement.conf
{
echo "SDK mxIndex:${SDK_VERSION}"
echo "mxIndex version:${SDK_VERSION_INFO}"
echo "Plat:linux ${linux_type}"
} > version.info
chmod 640 version.info
if [ ! -f "$MAKESELF_SCRIPT" ] || [ ! -f "$MAKESELF_HEADER" ]; then
echo "error: makeself.sh or makeself-header.sh not exist!"
exit 1
fi
bash "$MAKESELF_SCRIPT" \
--chown \
--nomd5 \
--sha256 \
--nocrc \
--header "$MAKESELF_HEADER" \
--help-header help.info \
--packaging-date '' \
--tar-extra '--owner=root --group=root' \
"${ARCH_DES}" \
"${RUN_FILENAME}" \
'ASCEND INDEX SDK RUN PACKAGE' \
./install.sh
mkdir -p ${OUTPUT_DIR}
mv ${RUN_FILENAME} ${OUTPUT_DIR}/
echo "package complete!"
echo "output: ${OUTPUT_DIR}/${RUN_FILENAME}"
}
package_index