summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorluwenpeng <[email protected]>2021-10-28 18:45:36 +0300
committerluwenpeng <[email protected]>2021-10-30 15:32:47 +0300
commitedabccd0c169ed42e20542ed71ca2c012bcab203 (patch)
treea61f175b8838c0df1b8ca9a8ca1073825b52cfea
parent02535d246767c0efedce5f99ce36d8fb1b18537c (diff)
update rebuildrpm_and_envelope.sh
-rw-r--r--rebuildrpm_and_envelope.sh66
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