Skip to content
This repository was archived by the owner on Oct 7, 2024. It is now read-only.

Commit 7cc403f

Browse files
authored
Merge pull request #9 from edhongcy/master
Some enhabcement and bug fix for code signing
2 parents 7ec3266 + 2ab3c29 commit 7cc403f

File tree

7 files changed

+85
-55
lines changed

7 files changed

+85
-55
lines changed

QDK_2.x/bin/qbuild

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@ PREFIX="App Center"
3232
##### Command definitions #####
3333
CMD_AWK="${CMD_AWK:-$(command -v awk)}"
3434
CMD_CMP="${CMD_CMP:-$(command -v cmp)}"
35+
CS_PYTHON="${CS_PYTHON:-$(command -v python2)}"
36+
if [ ! -e "$CS_PYTHON" ]; then
37+
CS_PYTHON="$(command -v python)"
38+
fi
3539

3640
# Cleanup any temporary directories and files at termination.
3741
trap 'cleanup_all' INT TERM
@@ -513,7 +517,7 @@ do_code_signing(){
513517
[ -z "$QNAP_CODE_SIGNING_CSV" ] && QNAP_CODE_SIGNING_CSV="build_sign.csv"
514518
[ -z "$QNAP_CODE_SIGNING_SERVER_IP" ] && QNAP_CODE_SIGNING_SERVER_IP=$DEFAULT_QNAP_CODE_SIGNING_SERVER_IP
515519
[ -z "$QNAP_CODE_SIGNING_SERVER_PORT" ] && QNAP_CODE_SIGNING_SERVER_PORT=$DEFAULT_QNAP_CODE_SIGNING_SERVER_PORT
516-
python "${QDK_SCRIPTS_DIR}/codesigning_qpkg.py" cert="${QDK_SCRIPTS_DIR}/codesigning_cert.pem" cwd="`pwd`" buildpath=$build_dir csv="${QNAP_CODE_SIGNING_CSV}" server=${QNAP_CODE_SIGNING_SERVER_IP}:${QNAP_CODE_SIGNING_SERVER_PORT} 2>&1 | tee -a code_signing.log
520+
$CS_PYTHON "${QDK_SCRIPTS_DIR}/codesigning_qpkg.py" cert="${QDK_SCRIPTS_DIR}/codesigning_cert.pem" cwd="`pwd`" buildpath=$build_dir csv="${QNAP_CODE_SIGNING_CSV}" server=${QNAP_CODE_SIGNING_SERVER_IP}:${QNAP_CODE_SIGNING_SERVER_PORT} 2>&1 | tee -a code_signing.log
517521
}
518522

519523
# Create data package for distribution.
@@ -924,12 +928,14 @@ add_qpkg_signature(){
924928
[ -z "$QNAP_CODE_SIGNING_SERVER_IP" ] && QNAP_CODE_SIGNING_SERVER_IP=$DEFAULT_QNAP_CODE_SIGNING_SERVER_IP
925929
[ -z "$QNAP_CODE_SIGNING_SERVER_PORT" ] && QNAP_CODE_SIGNING_SERVER_PORT=$DEFAULT_QNAP_CODE_SIGNING_SERVER_PORT
926930
openssl dgst -sha1 -binary "${QDK_QPKG_FILE}" > "${QDK_QPKG_FILE}.sha"
927-
python "${QDK_SCRIPTS_DIR}/codesigning_qpkg_cms.py" cert="${QDK_SCRIPTS_DIR}/codesigning_cert.pem" cwd="`pwd`" server=${QNAP_CODE_SIGNING_SERVER_IP}:${QNAP_CODE_SIGNING_SERVER_PORT} in="${QDK_QPKG_FILE}.sha" out="${QDK_QPKG_FILE}.msg" 2>&1 | tee -a code_signing.log
931+
$CS_PYTHON "${QDK_SCRIPTS_DIR}/codesigning_qpkg_cms.py" cert="${QDK_SCRIPTS_DIR}/codesigning_cert.pem" cwd="`pwd`" server=${QNAP_CODE_SIGNING_SERVER_IP}:${QNAP_CODE_SIGNING_SERVER_PORT} in="${QDK_QPKG_FILE}.sha" out="${QDK_QPKG_FILE}.msg" 2>&1 | tee -a code_signing.log
928932
/bin/rm ${QDK_QPKG_FILE}.sha
929933
if [ -f "${QDK_QPKG_FILE}.msg" ]; then
930934
add_qdk_area_begin
931935
add_qdk_area_code_signing ${QDK_QPKG_FILE}.msg
932936
add_qdk_area_end
937+
SIG=`openssl cms -cmsout -in ${QDK_QPKG_FILE}.msg | tr -d '\n' | tail -c 32`
938+
echo "${SIG}" > ${QDK_BUILD_DIR}/${QDK_QPKG_FILE}.codesigning
933939
/bin/rm ${QDK_QPKG_FILE}.msg
934940
else
935941
warn_msg "$QDK_QPKG_FILE: no code signing data added"
@@ -1271,7 +1277,6 @@ cleanup_after_build(){
12711277
call_teardown
12721278
}
12731279

1274-
12751280
# Main build function.
12761281
build_qpkg(){
12771282
# All build operation should be run in the QDK_ROOT_DIR directory (current
@@ -1310,7 +1315,7 @@ create_env(){
13101315
edit_qpkg_config QPKG_SERVICE_PROGRAM "${qpkg_name}.sh" "$qpkg_cfg"
13111316

13121317
[ -z "$QDK_BUILD_VERSION" ] || edit_qpkg_config QPKG_VER "$QDK_BUILD_VERSION" "$qpkg_cfg"
1313-
/bin/echo "/${qpkg_name}.sh," > ${qpkg_name}/build_sign.csv
1318+
/bin/echo ",/${qpkg_name}.sh," > ${qpkg_name}/build_sign.csv
13141319
verbose_msg "Template QPKG build environment created in $qpkg_name directory"
13151320
}
13161321

@@ -1561,14 +1566,16 @@ add_code_signing(){
15611566

15621567
# Send qpkg digest to server
15631568
openssl dgst -sha1 -binary "${qpkg}.$$" > "${qpkg}.sha"
1564-
python "${QDK_SCRIPTS_DIR}/codesigning_qpkg_cms.py" cert="${QDK_SCRIPTS_DIR}/codesigning_cert.pem" server=${QNAP_CODE_SIGNING_SERVER_IP}:${QNAP_CODE_SIGNING_SERVER_PORT} qpkgname=${QPKG_NAME} version=${QPKG_VER} in="${qpkg}.sha" out="${qpkg}.msg" 2>&1 | tee -a code_signing.log
1569+
$CS_PYTHON "${QDK_SCRIPTS_DIR}/codesigning_qpkg_cms.py" cert="${QDK_SCRIPTS_DIR}/codesigning_cert.pem" server=${QNAP_CODE_SIGNING_SERVER_IP}:${QNAP_CODE_SIGNING_SERVER_PORT} qpkgname=${QPKG_NAME} version=${QPKG_VER} in="${qpkg}.sha" out="${qpkg}.msg" 2>&1 | tee -a code_signing.log
15651570
/bin/rm ${qpkg}.sha
15661571

15671572
# Add code signing data into qpkg
15681573
if [ -f "${qpkg}.msg" ]; then
15691574
add_qdk_area_begin ${qpkg}.$$
15701575
add_qdk_area_code_signing ${qpkg}.msg ${qpkg}.$$
15711576
add_qdk_area_end ${qpkg}.$$
1577+
SIG=`openssl cms -cmsout -in ${QDK_QPKG_FILE}.msg | tr -d '\n' | tail -c 32`
1578+
echo "${SIG}" > ${QDK_BUILD_DIR}/${QDK_QPKG_FILE}.codesigning
15721579
/bin/rm ${qpkg}.msg
15731580
else
15741581
/bin/rm ${qpkg}.$$
@@ -1606,25 +1613,25 @@ verify_code_signing(){
16061613
https://${QNAP_CODE_SIGNING_SERVER_IP}:${QNAP_CODE_SIGNING_SERVER_PORT}/keys/qnaproot \
16071614
2>/dev/null"
16081615
output="$(eval $curl_cmd)" || err_msg "failed to connect to code signing server"
1609-
server_err=$(echo $output | python -c 'import json,sys;obj=json.load(sys.stdin);print obj["error"]')
1616+
server_err=$(echo $output | $CS_PYTHON -c 'import json,sys;obj=json.load(sys.stdin);print obj["error"]')
16101617
if [ $server_err -ne 0 ]; then
1611-
server_msg=$(echo $output | python -c 'import json,sys;obj=json.load(sys.stdin);print obj["msg"]')
1618+
server_msg=$(echo $output | $CS_PYTHON -c 'import json,sys;obj=json.load(sys.stdin);print obj["msg"]')
16121619
err_msg "error from code signing server: $server_msg"
16131620
fi
1614-
echo $output | python -c 'import json,sys;obj=json.load(sys.stdin);print obj["certificate"]["pem"]' > $ca_cert_file
1621+
echo $output | $CS_PYTHON -c 'import json,sys;obj=json.load(sys.stdin);print obj["certificate"]["pem"]' > $ca_cert_file
16151622

16161623
# Get ca cert (3rd party)
16171624
ca_cert3_file="${qpkg}.ca3"
16181625
curl_cmd="curl -k -X GET -d 'token=${QNAP_CODESIGNING_TOKEN}&third_party=true' \
16191626
https://${QNAP_CODE_SIGNING_SERVER_IP}:${QNAP_CODE_SIGNING_SERVER_PORT}/keys/qnaproot \
16201627
2>/dev/null"
16211628
output="$(eval $curl_cmd)" || err_msg "failed to connect to code signing server"
1622-
server_err=$(echo $output | python -c 'import json,sys;obj=json.load(sys.stdin);print obj["error"]')
1629+
server_err=$(echo $output | $CS_PYTHON -c 'import json,sys;obj=json.load(sys.stdin);print obj["error"]')
16231630
if [ $server_err -ne 0 ]; then
1624-
server_msg=$(echo $output | python -c 'import json,sys;obj=json.load(sys.stdin);print obj["msg"]')
1631+
server_msg=$(echo $output | $CS_PYTHON -c 'import json,sys;obj=json.load(sys.stdin);print obj["msg"]')
16251632
err_msg "error from code signing server: $server_msg"
16261633
fi
1627-
echo $output | python -c 'import json,sys;obj=json.load(sys.stdin);print obj["certificate"]["pem"]' > $ca_cert3_file
1634+
echo $output | $CS_PYTHON -c 'import json,sys;obj=json.load(sys.stdin);print obj["certificate"]["pem"]' > $ca_cert3_file
16281635

16291636
# Verify
16301637
qpkg_data_file="${qpkg}.data"

QDK_2.x/qdk.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
QDK_VERSION=2.3.8
1+
QDK_VERSION=2.3.9

QDK_2.x/scripts/code_signing.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
QPKG_NAME="QDK"
2-
QPKG_VER="2.3.8"
2+
QPKG_VER="2.3.9"
33
QNAP_CODE_SIGNING_SERVER_IP=172.17.21.68
44
QNAP_CODE_SIGNING_SERVER_PORT=5000

QDK_2.x/scripts/codesigning_common.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ def sign_files(kwargs):
236236
url = url + "/" + kwargs["version"]
237237
elif key_type == "qpkg":
238238
url = url + "/" + kwargs["qpkgname"] + "/" + kwargs["version"]
239-
command = "curl %s --connect-timeout 60 --max-time 600 -X POST -F token=%s -F file=@%s https://%s"
239+
command = "curl %s --connect-timeout 60 --max-time 600 --retry 3 -X POST -F token=%s -F file=@%s https://%s"
240240
if "cert" in kwargs:
241241
if not os.path.isfile(kwargs["cert"]):
242242
logging.error("Cannot find certificate file %s" % kwargs["cert"])
@@ -268,7 +268,7 @@ def sign_cms(kwargs):
268268
url = url + "/" + kwargs["version"]
269269
elif key_type == "qpkg":
270270
url = url + "/" + kwargs["qpkgname"] + "/" + kwargs["version"]
271-
command = "curl %s --connect-timeout 60 --max-time 600 -X POST -F token=%s -F file=@%s https://%s"
271+
command = "curl %s --connect-timeout 60 --max-time 600 --retry 3 -X POST -F token=%s -F file=@%s https://%s"
272272
if "cert" in kwargs:
273273
if not os.path.isfile(kwargs["cert"]):
274274
logging.error("Cannot find certificate file %s" % kwargs["cert"])

QDK_2.x/scripts/codesigning_login.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
55
read -p 'username: ' USERNAME
66
read -sp 'password: ' PASSWORD
77
echo
8+
USERNAME=$(python -c "import urllib; print urllib.quote('''$USERNAME''')")
9+
PASSWORD=$(python -c "import urllib; print urllib.quote('''$PASSWORD''')")
810
RESPONSE="$(eval "curl -X POST --cacert ${SCRIPTPATH}/codesigning_cert.pem -d \"username=${USERNAME}&password=${PASSWORD}\" \
911
https://${SERVER}:5000/login 2>/dev/null")"
1012
RET=$?

QDK_2.x/scripts/qinstall.sh

Lines changed: 55 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,11 @@
55
#
66
# A QPKG installation script for QDK
77
#
8+
# QDK V.2.3.9
9+
#
810
# Copyright (C) 2009,2010 QNAP Systems, Inc.
911
# Copyright (C) 2010,2011 Michael Nordstrom
12+
# Copyright (C) 2013,2018 QNAP Systems, Inc.
1013
#
1114
# This program is free software; you can redistribute it and/or
1215
# modify it under the terms of the GNU General Public License
@@ -57,7 +60,7 @@ CMD_WGET="/usr/bin/wget"
5760
CMD_WLOG="/sbin/write_log"
5861
CMD_XARGS="/usr/bin/xargs"
5962
CMD_7Z="/usr/local/sbin/7z"
60-
63+
CMD_QSH="/usr/local/sbin/qsh"
6164

6265
##### System definitions #####
6366
SYS_EXTRACT_DIR="$(pwd)"
@@ -135,6 +138,7 @@ SYS_USB_SHARE=""
135138
SYS_USB_PATH=""
136139
SYS_WEB_SHARE=""
137140
SYS_WEB_PATH=""
141+
SYS_CODESIGNING_TOKEN=""
138142
# Path to ipkg or opkg package tool if installed.
139143
CMD_PKG_TOOL=
140144

@@ -154,6 +158,7 @@ fi
154158
###########################################
155159
SYS_MSG_FILE_NOT_FOUND="Data file not found."
156160
SYS_MSG_FILE_ERROR="[$PREFIX] Failed to install $QPKG_NAME due to data file error."
161+
SYS_MSG_CODESIGNING_ERROR="[$PREFIX] Failed to install $QPKG_NAME due to anti-tampering file error."
157162
SYS_MSG_PUBLIC_NOT_FOUND="Public share not found."
158163
SYS_MSG_FAILED_CONFIG_RESTORE="Failed to restore saved configuration data."
159164

@@ -215,32 +220,47 @@ err_log(){
215220

216221
handle_extract_error(){
217222
if [ -x "/usr/local/sbin/notify" ]; then
218-
/usr/local/sbin/notify send -A A039 -C C001 -M 35 -l error -t 3 "[{0}] {1} install failed du to data file error." "$PREFIX" "$QPKG_DISPLAY_NAME"
223+
/usr/local/sbin/notify send -A A039 -C C001 -M 35 -l error -t 3 "[{0}] {1} install failed due to data file error." "$PREFIX" "$QPKG_DISPLAY_NAME"
219224
set_progress_fail
220225
exit 1
221226
else
222227
err_log "$SYS_MSG_FILE_ERROR"
223228
fi
224229
}
225-
TOKEN=""
230+
231+
handle_codesigning_error(){
232+
if [ -x "/usr/local/sbin/notify" ]; then
233+
/usr/local/sbin/notify send -A A039 -C C001 -M 62 -l error -t 3 "[{0}] Failed to install {1} due to anti-tampering file error." "$PREFIX" "$QPKG_DISPLAY_NAME"
234+
set_progress_fail
235+
exit 1
236+
else
237+
err_log "$SYS_MSG_CODESIGNING_ERROR"
238+
fi
239+
}
240+
226241
codesigning_preinstall(){
227-
local ret="$($CMD_ECHO -n "$QPKG_NAME:$SYS_QPKG_DIR" | qsh -0e cs_qdaemon.verify_qpkg)"
228-
local status=`$CMD_ECHO $ret | awk -F':' '{print $1}'`
229-
TOKEN=`$CMD_ECHO $ret | awk -F':' '{print $2}'`
230-
echo "verify_qpkg return: $ret, status: $status, token: $TOKEN"
231-
if [ "x$status" != "xsuccess" ] || [ "x$TOKEN" = "x" ]; then
232-
handle_extract_error
242+
local ret="$($CMD_ECHO -n "$QPKG_NAME:$SYS_QPKG_DIR" | $CMD_QSH -0e cs_qdaemon.verify_qpkg)"
243+
local status=`$CMD_ECHO $ret | $CMD_AWK -F':' '{print $1}'`
244+
SYS_CODESIGNING_TOKEN=`$CMD_ECHO $ret | $CMD_AWK -F':' '{print $2}'`
245+
$CMD_ECHO "verify_qpkg return: $ret, status: $status, token: $SYS_CODESIGNING_TOKEN"
246+
if [ "x$status" != "xsuccess" ] || [ "x$SYS_CODESIGNING_TOKEN" = "x" ]; then
247+
## is it possible to be here after we have already checked cerficiate first?
248+
handle_codesigning_error
233249
fi
234250
}
251+
235252
codesigning_postinstall(){
236-
echo "codesigning_postinstall token: $TOKEN"
237-
if [ "x$TOKEN" != "x" ]; then
238-
local ret="$($CMD_ECHO -n "$QPKG_NAME:$TOKEN" | qsh -0e cs_qdaemon.qpkg_finish)"
239-
echo "finish return: $ret"
253+
local err="${1:-0}"
254+
$CMD_ECHO "codesigning_postinstall token: $SYS_CODESIGNING_TOKEN, err: $err"
255+
if [ "x$SYS_CODESIGNING_TOKEN" != "x" ]; then
256+
local ret="$($CMD_ECHO -n "$QPKG_NAME:$SYS_CODESIGNING_TOKEN:$err" | $CMD_QSH -0e cs_qdaemon.qpkg_finish)"
257+
$CMD_ECHO "finish return: $ret"
240258
else
241-
handle_extract_error
259+
## is it possible to be here after we have already checked cerficiate first?
260+
handle_codesigning_error
242261
fi
243262
}
263+
244264
codesigning_extract_data(){
245265
[ -n "$1" ] || return 1
246266
local archive="$1"
@@ -256,11 +276,12 @@ codesigning_extract_data(){
256276
*.gz|*.bz2)
257277
$CMD_TAR xf "$archive" "./$codesigning_dir" 2>/dev/null
258278
if [ $? = 0 ]; then
259-
$CMD_MV "$codesigning_dir" "$root_dir/$codesigning_dir"
279+
$CMD_CP -arf "$codesigning_dir" "$root_dir/"
260280
codesigning_preinstall
261281
$CMD_TAR xvf "$archive" --exclude="$codesigning_dir" -C "$root_dir" 2>/dev/null >>$SYS_QPKG_DIR/.list
262282
ret=$?
263-
codesigning_postinstall
283+
codesigning_postinstall $ret
284+
$CMD_RM -rf "$codesigning_dir"
264285
[ $ret = 0 ] || handle_extract_error
265286
else
266287
$CMD_TAR xvf "$archive" -C "$root_dir" 2>/dev/null >>$SYS_QPKG_DIR/.list || handle_extract_error
@@ -269,11 +290,12 @@ codesigning_extract_data(){
269290
*.7z)
270291
$CMD_7Z x -so "$archive" 2>/dev/null | $CMD_TAR x "./$codesigning_dir" 2>/dev/null
271292
if [ $? = 0 ]; then
272-
$CMD_MV "$codesigning_dir" "$root_dir/$codesigning_dir"
293+
$CMD_CP -arf "$codesigning_dir" "$root_dir/"
273294
codesigning_preinstall
274295
$CMD_7Z x -so "$archive" 2>/dev/null | $CMD_TAR xv -C "$root_dir" --exclude="$codesigning_dir" 2>/dev/null >>$SYS_QPKG_DIR/.list
275296
ret=$?
276-
codesigning_postinstall
297+
codesigning_postinstall $ret
298+
$CMD_RM -rf "$codesigning_dir"
277299
[ $ret = 0 ] || handle_extract_error
278300
else
279301
$CMD_7Z x -so "$archive" 2>/dev/null | $CMD_TAR xv -C "$root_dir" 2>/dev/null >>$SYS_QPKG_DIR/.list || handle_extract_error
@@ -283,11 +305,12 @@ codesigning_extract_data(){
283305
$CMD_TAR xf "./xz.tgz"
284306
LD_LIBRARY_PATH=${PWD}/lib $xz_ld_wrapper bin/xzcat "$archive" 2>/dev/null | $CMD_TAR x "./$codesigning_dir" 2>/dev/null
285307
if [ $? = 0 ]; then
286-
$CMD_MV "$codesigning_dir" "$root_dir/$codesigning_dir"
308+
$CMD_CP -arf "$codesigning_dir" "$root_dir"
287309
codesigning_preinstall
288310
$CMD_7Z x -so "$archive" 2>/dev/null | $CMD_TAR xv -C "$root_dir" --exclude="$codesigning_dir" 2>/dev/null >>$SYS_QPKG_DIR/.list
289311
ret=$?
290-
codesigning_postinstall
312+
codesigning_postinstall $ret
313+
$CMD_RM -rf "$codesigning_dir"
291314
[ $ret = 0 ] || handle_extract_error
292315
else
293316
$CMD_TAR xf "./xz.tgz"
@@ -312,23 +335,17 @@ extract_data(){
312335

313336
case "$archive" in
314337
*.gz|*.bz2)
315-
$CMD_TAR xvf "$archive" -C "$root_dir" 2>/dev/null >>$SYS_QPKG_DIR/.list || if [ -x "/usr/local/sbin/notify" ]; then /usr/local/sbin/notify send -A A039 -C C001 -M 35 -l error -t 3 "[{0}] {1} install failed du to data file error." "$PREFIX" "$QPKG_NAME";set_progress_fail;exit 1;else err_log "$SYS_MSG_FILE_ERROR";fi
338+
$CMD_TAR xvf "$archive" -C "$root_dir" 2>/dev/null >>$SYS_QPKG_DIR/.list || handle_extract_error
316339
;;
317340
*.7z)
318-
$CMD_7Z x -so "$archive" 2>/dev/null | $CMD_TAR xv -C "$root_dir" 2>/dev/null >>$SYS_QPKG_DIR/.list || if [ -x "/usr/local/sbin/notify" ]; then /usr/local/sbin/notify send -A A039 -C C001 -M 35 -l error -t 3 "[{0}] {1} install failed du to data file error." "$PREFIX" "$QPKG_NAME";set_progress_fail;exit 1;else err_log "$SYS_MSG_FILE_ERROR";fi
341+
$CMD_7Z x -so "$archive" 2>/dev/null | $CMD_TAR xv -C "$root_dir" 2>/dev/null >>$SYS_QPKG_DIR/.list || handle_extract_error
319342
;;
320343
*.xz)
321344
$CMD_TAR xf "./xz.tgz"
322-
LD_LIBRARY_PATH=${PWD}/lib $xz_ld_wrapper bin/xzcat "$archive" 2>/dev/null | $CMD_TAR xv -C "$root_dir" 2>/dev/null >>$SYS_QPKG_DIR/.list || if [ -x "/usr/local/sbin/notify" ]; then /usr/local/sbin/notify send -A A039 -C C001 -M 35 -l error -t 3 "[{0}] {1} install failed du to data file error." "$PREFIX" "$QPKG_NAME";set_progress_fail;exit 1;else err_log "$SYS_MSG_FILE_ERROR";fi
345+
LD_LIBRARY_PATH=${PWD}/lib $xz_ld_wrapper bin/xzcat "$archive" 2>/dev/null | $CMD_TAR xv -C "$root_dir" 2>/dev/null >>$SYS_QPKG_DIR/.list || handle_extract_error
323346
;;
324347
*)
325-
if [ -x "/usr/local/sbin/notify" ]; then
326-
/usr/local/sbin/notify send -A A039 -C C001 -M 35 -l error -t 3 "[{0}] {1} install failed du to data file error." "$PREFIX" "$QPKG_NAME"
327-
set_progress_fail
328-
exit 1
329-
else
330-
err_log "$SYS_MSG_FILE_ERROR"
331-
fi
348+
handle_extract_error
332349
esac
333350
}
334351

@@ -337,7 +354,7 @@ extract_data(){
337354
#############################
338355
extract_config(){
339356
if [ -f $SYS_QPKG_DATA_CONFIG_FILE ]; then
340-
$CMD_TAR xvf $SYS_QPKG_DATA_CONFIG_FILE -C / 2>/dev/null | $CMD_SED 's/\.//' 2>/dev/null >>$SYS_QPKG_DIR/.list || if [ -x "/usr/local/sbin/notify" ]; then /usr/local/sbin/notify send -A A039 -C C001 -M 35 -l error -t 3 "[{0}] {1} install failed du to data file error." "$PREFIX" "$QPKG_NAME";set_progress_fail;exit 1;else err_log "$SYS_MSG_FILE_ERROR";fi
357+
$CMD_TAR xvf $SYS_QPKG_DATA_CONFIG_FILE -C / 2>/dev/null | $CMD_SED 's/\.//' 2>/dev/null >>$SYS_QPKG_DIR/.list || handle_extract_error
341358
fi
342359
}
343360

@@ -442,7 +459,7 @@ add_qpkg_config(){
442459

443460
$CMD_ECHO "$file" >>$SYS_QPKG_DIR/.list
444461
$CMD_GETCFG "$QPKG_NAME" "cfg:$file" -f $SYS_QPKG_CONFIG_FILE >/dev/null || \
445-
set_qpkg_config $file $md5sum
462+
set_qpkg_config $file $md5sum
446463
}
447464

448465
#################################################
@@ -482,15 +499,15 @@ check_qts_version(){
482499

483500
if [ ${MINI_VERSION} -gt ${NOW_VERSION} ]; then
484501
if [ -x "/usr/local/sbin/notify" ]; then
485-
/usr/local/sbin/notify send -A A039 -C C001 -M 40 -l error -t 3 "[{0}] {1} install failed du to the QTS firmware is not compatible, please upgrade QTS to {2} or newer version." "$PREFIX" "$QPKG_DISPLAY_NAME" "$QTS_MINI_VERSION"
502+
/usr/local/sbin/notify send -A A039 -C C001 -M 40 -l error -t 3 "[{0}] {1} install failed due to the QTS firmware is not compatible, please upgrade QTS to {2} or newer version." "$PREFIX" "$QPKG_DISPLAY_NAME" "$QTS_MINI_VERSION"
486503
set_progress_fail
487504
exit 1
488505
else
489506
err_log "[$PREFIX] Failed to install $QPKG_DISPLAY_NAME. Upgrade QTS to $QTS_MINI_VERSION or a newer compatible version."
490507
fi
491508
elif [ ${MAX_VERSION} -lt ${NOW_VERSION} ]; then
492509
if [ -x "/usr/local/sbin/notify" ]; then
493-
/usr/local/sbin/notify send -A A039 -C C001 -M 41 -l error -t 3 "[{0}] {1} install failed du to the QTS firmware is not compatible, please downgrade QTS to {2} or newer version." "$PREFIX" "$QPKG_DISPLAY_NAME" "$QTS_MAX_VERSION"
510+
/usr/local/sbin/notify send -A A039 -C C001 -M 41 -l error -t 3 "[{0}] {1} install failed due to the QTS firmware is not compatible, please downgrade QTS to {2} or newer version." "$PREFIX" "$QPKG_DISPLAY_NAME" "$QTS_MAX_VERSION"
494511
set_progress_fail
495512
exit 1
496513
else
@@ -631,9 +648,7 @@ start_service(){
631648
}
632649
stop_service(){
633650
if [ -x $SYS_INIT_DIR/$QPKG_SERVICE_PROGRAM ]; then
634-
# Call old service program
635-
#$SYS_INIT_DIR/$QPKG_SERVICE_PROGRAM stop
636-
$SYS_INIT_DIR/$QPKG_SERVICE_PROGRAM stop upgrade
651+
$SYS_INIT_DIR/$QPKG_SERVICE_PROGRAM stop
637652
$CMD_SLEEP 5
638653
$CMD_SYNC
639654
fi
@@ -659,7 +674,7 @@ disable_qpkg(){
659674
}
660675
set_qpkg_name(){
661676
[ -z "$QPKG_NAME" ] || set_qpkg_field $SYS_QPKG_CONF_FIELD_NAME "$QPKG_NAME"
662-
[ -z "$QPKG_DISPLAY_NAME" ] || set_qpkg_field $SYS_QPKG_CONF_FIELD_DISPLAY_NAME "$QPKG_DISPLAY_NAME"
677+
[ -z "$QPKG_DISPLAY_NAME" ] || set_qpkg_field $SYS_QPKG_CONF_FIELD_DISPLAY_NAME "$QPKG_DISPLAY_NAME"
663678
}
664679
set_qpkg_version(){
665680
[ -z "$QPKG_VER" ] || set_qpkg_field $SYS_QPKG_CONF_FIELD_VERSION "$QPKG_VER"
@@ -684,7 +699,7 @@ set_qpkg_service_path(){
684699
if [ $QPKG_DISABLE_APPCENTER_UI_SERVICE -eq "1" ]; then
685700
[ -z "$QPKG_SERVICE_PROGRAM" ] || set_qpkg_field "$SYS_QPKG_CONF_FIELD_SHELL_DISABLE_UI_NO_OFF" "$SYS_QPKG_DIR/$QPKG_SERVICE_PROGRAM"
686701
else
687-
[ -z "$QPKG_SERVICE_PROGRAM" ] || set_qpkg_field $SYS_QPKG_CONF_FIELD_SHELL "$SYS_QPKG_DIR/$QPKG_SERVICE_PROGRAM"
702+
[ -z "$QPKG_SERVICE_PROGRAM" ] || set_qpkg_field $SYS_QPKG_CONF_FIELD_SHELL "$SYS_QPKG_DIR/$QPKG_SERVICE_PROGRAM"
688703
fi
689704
}
690705
set_qpkg_service_port(){
@@ -1371,7 +1386,7 @@ main(){
13711386
SYS_QPKG_DATA_FILE=$SYS_QPKG_DATA_FILE_XZ
13721387
else
13731388
if [ -x "/usr/local/sbin/notify" ]; then
1374-
/usr/local/sbin/notify send -A A039 -C C001 -M 34 -l error -t 3 "[{0}] {1} install failed du to cannot find the data file." "$PREFIX" "$QPKG_DISPLAY_NAME"
1389+
/usr/local/sbin/notify send -A A039 -C C001 -M 34 -l error -t 3 "[{0}] {1} install failed due to cannot find the data file." "$PREFIX" "$QPKG_DISPLAY_NAME"
13751390
set_progress_fail
13761391
exit 1
13771392
else

debian/changelog

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
qdk2 (0.26) trusty; urgency=medium
2+
3+
* Some enhabcement and bug fix for code signing
4+
5+
-- ED Hong <edhongcy@gmail.com> Fri, 19 Apr 2019 10:55:00 +0800
6+
17
qdk2 (0.25) trusty; urgency=medium
28

39
* Support Ubuntu bionic

0 commit comments

Comments
 (0)