diff options
| author | luwenpeng <[email protected]> | 2021-10-28 18:45:36 +0300 |
|---|---|---|
| committer | luwenpeng <[email protected]> | 2021-10-30 15:32:47 +0300 |
| commit | edabccd0c169ed42e20542ed71ca2c012bcab203 (patch) | |
| tree | a61f175b8838c0df1b8ca9a8ca1073825b52cfea | |
| parent | 02535d246767c0efedce5f99ce36d8fb1b18537c (diff) | |
update rebuildrpm_and_envelope.sh
| -rw-r--r-- | rebuildrpm_and_envelope.sh | 66 |
1 files changed, 41 insertions, 25 deletions
diff --git a/rebuildrpm_and_envelope.sh b/rebuildrpm_and_envelope.sh index 9004670..9665799 100644 --- a/rebuildrpm_and_envelope.sh +++ b/rebuildrpm_and_envelope.sh @@ -1,35 +1,51 @@ #!/bin/bash RPM_FULL_PATH=$1 -BIN_TO_PROTECT=$2 +BIN_TO_PROTECT_IN_RPM=$2 FEATURE_ID=$3 +APP_NAME_IN_RPM_SPEC=$4 RPM_DIR=`dirname $RPM_FULL_PATH` RPM_FILE=`basename $RPM_FULL_PATH` -echo "RPM_FULL_PATH : $RPM_FULL_PATH" -echo "RPM_FILE : $RPM_FILE" -echo "RPM_DIR : $RPM_DIR" -echo "BIN_TO_PROTECT : $BIN_TO_PROTECT" -echo "FEATURE_ID : $FEATURE_ID" - -RPM_TYPE=`ls ${RPM_FILE} | awk -F '.rpm' '{print $1}'` -REBUILD_DIR="/root/rpmbuild/" -REBUILD_ROOT="${REBUILD_DIR}BUILDROOT/${RPM_TYPE}" -REBUILD_SPECS="${REBUILD_DIR}SPECS/app.spec" -REBUILD_UNPROTECT_BIN="${REBUILD_ROOT}${BIN_TO_PROTECT}" -REBUILD_PROTECT_BIN="${REBUILD_UNPROTECT_BIN}_protected" - -rm -rf ${REBUILD_DIR} -mkdir -p ${REBUILD_DIR}SPECS/ -mkdir -p ${REBUILD_ROOT} -rpmrebuild -s ${REBUILD_SPECS} -p $RPM_FULL_PATH -cd ${REBUILD_ROOT} +echo "RPM_FULL_PATH : $RPM_FULL_PATH" +echo "RPM_FILE : $RPM_FILE" +echo "RPM_DIR : $RPM_DIR" +echo "FEATURE_ID : $FEATURE_ID" +echo "BIN_TO_PROTECT_IN_RPM : $BIN_TO_PROTECT_IN_RPM" +echo "APP_NAME_IN_RPM_SPEC : $APP_NAME_IN_RPM_SPEC" + +# Get the prefix of the new rpm file name +RPM_PREFIX=`echo ${RPM_FILE} | awk -F '.rpm' '{print $1}' | awk -F ${APP_NAME_IN_RPM_SPEC} '{print "'${APP_NAME_IN_RPM_SPEC}'-pr" $2}'` + +RPM_REBUILD_DIR="/root/rpmbuild/" +RPM_REBUILD_ROOT="${RPM_REBUILD_DIR}BUILDROOT/${RPM_PREFIX}" +RPM_REBUILD_SPECS="${RPM_REBUILD_DIR}SPECS/app.spec" +UNPROTECT_BIN="${RPM_REBUILD_ROOT}${BIN_TO_PROTECT_IN_RPM}" +PROTECT_BIN="${UNPROTECT_BIN}_protected" + +rm -rf ${RPM_REBUILD_DIR} +mkdir -p ${RPM_REBUILD_DIR}SPECS/ +mkdir -p ${RPM_REBUILD_ROOT} + +# Get specification file from rpm +rpmrebuild -s ${RPM_REBUILD_SPECS} -p $RPM_FULL_PATH + +# Unzip files from rpm +cd ${RPM_REBUILD_ROOT} rpm2cpio ${RPM_FULL_PATH} | cpio -dium -/opt/Sentinel/Linux/VendorTools/Envelope/linuxenv -v:/opt/VendorCodes/GEEDGE.hvc -f:$FEATURE_ID --msg-out:4 --debug --memdump --randomize:1 ${REBUILD_UNPROTECT_BIN} ${REBUILD_PROTECT_BIN} -echo "Envelope Bin: `md5sum ${REBUILD_PROTECT_BIN}`" -mv ${REBUILD_PROTECT_BIN} ${REBUILD_UNPROTECT_BIN} -rpmbuild -bb ${REBUILD_SPECS} +# Envelope +/opt/Sentinel/Linux/VendorTools/Envelope/linuxenv -v:/opt/VendorCodes/GEEDGE.hvc -f:$FEATURE_ID --msg-out:4 --debug --memdump --randomize:1 ${UNPROTECT_BIN} ${PROTECT_BIN} +echo "Envelope Bin: `md5sum ${PROTECT_BIN}`" +mv ${PROTECT_BIN} ${UNPROTECT_BIN} + +# Update specification file, and rebuild rpm +sed -i "s/Name:[ ][ ]*${APP_NAME_IN_RPM_SPEC}/Name: ${APP_NAME_IN_RPM_SPEC}-pr/g" ${RPM_REBUILD_SPECS} +rpmbuild -bb ${RPM_REBUILD_SPECS} + +# Move the new rpm package to the path of the original rpm package +NEW_RPM=`echo ${RPM_FILE} | awk -F ${APP_NAME_IN_RPM_SPEC} '{print "'${APP_NAME_IN_RPM_SPEC}'-pr" $2}'` +mv ${RPM_REBUILD_DIR}RPMS/x86_64/${NEW_RPM} ${RPM_DIR}/${NEW_RPM} -mv ${REBUILD_DIR}RPMS/x86_64/${RPM_FILE} ${RPM_DIR}/envelope-${RPM_FILE} -echo "Envelope RPM: ${RPM_DIR}/envelope-${RPM_FILE}" +echo "=== After Envelope ===" +ls -ahl ${RPM_DIR}/*.rpm
\ No newline at end of file |
