xiaoxiang781216 commented on a change in pull request #1382:
URL: https://github.com/apache/incubator-nuttx/pull/1382#discussion_r454804482



##########
File path: tools/checkrelease.sh
##########
@@ -19,114 +19,208 @@
 #
 #############################################################################
 
-set -e
+RETURN_CODE=0
 
 BASE_URL="https://dist.apache.org/repos/dist/dev/incubator/nuttx";
-TEMPDIR="dist.apache.org"
-ORIGINAL_DIR="$(pwd)"
-trap "{ cd $ORIGINAL_DIR; rm -rf $TEMPDIR; }" EXIT
+TEMPDIR="/tmp/nuttx-checkrelease"
+
+function validate_url() {
+  if [[ `wget -S --spider $1 2>&1 | grep 'HTTP/1.1 200 OK'` ]]; then echo 
"true"; fi
+}
 
 function download_release() {
-    wget -r -np -R "index.html*" -P . --cut-dirs 7 "$URL"
-    cd "$TEMPDIR"
+  rm -rf "$TEMPDIR"
+  mkdir "$TEMPDIR"
+  cd "$TEMPDIR"
+
+  if [[ -n "$URL" ]]; then
+    if [[ $(validate_url "$URL") ]]; then
+      echo "Downloading release files from $URL"
+      wget -q -r -nd -np "$URL"
+    else
+      echo "The $URL given doesn't return HTTP 200 OK return code— exiting."
+      exit 1
+    fi
+  else
+    cp -r "$DIRECTORY"/* .
+  fi
 }
 
 function check_sha512() {
-    # check release sha512
     RELEASE_FILE=$1
     echo "Checking $RELEASE_FILE sha512..."
-    sha512sum -c "$RELEASE_FILE.sha512"
+    output="$(sha512sum -c $RELEASE_FILE.sha512)" 2>&1
+    return_value=$?
+    if [ $return_value -eq 0 ]; then
+      echo " OK: $RELEASE_FILE sha512 hash matches."
+    else
+      RETURN_CODE=1
+      echo "$output"
+      echo " - $RELEASE_FILE sha512 hash does not match."
+    fi
+    echo
 }
 
 function check_gpg() {
-    # check nuttx sha512 and gpg
     RELEASE_FILE=$1
     echo "Checking $RELEASE_FILE GPG signature:"
-    gpg --verify "$RELEASE_FILE.asc" "$RELEASE_FILE"
+    gpg --verify $RELEASE_FILE.asc $RELEASE_FILE
+    return_value=$?
+    if [ $return_value -eq 0 ]; then
+      echo " OK: $RELEASE_FILE gpg signature matches."
+    else
+      RETURN_CODE=1
+      echo " - Error checking $RELEASE_FILE gpg signature."
+    fi
     echo
 }
 
 function check_required_files() {
-    # check nuttx for required files
-    RELEASE_FILE=$1
-    RELEASE_DIR=$2 
-    rm -rf "$RELEASE_DIR"
-    tar xf "$RELEASE_FILE"
-    ERROR=0
+    RELEASE_DIR=$1
+    MISSING_FILE=0
+    echo "Checking $RELEASE_FILE for required files:"
     if [ ! -f "$RELEASE_DIR/LICENSE" ]; then
-        echo "LICENSE file not present."
-        ERROR=1
+      echo " - LICENSE file not present."
+      MISSING_FILE=1
     fi
     if [ ! -f "$RELEASE_DIR/NOTICE" ]; then
-        echo "NOTICE file not present."
-        ERROR=1
+      echo " - NOTICE file not present."
+      MISSING_FILE=1
     fi
     if [ ! -f "$RELEASE_DIR/README.txt" ]; then
-        echo "README.txt file not present."
-        ERROR=1
+      echo " - README.txt file not present."
+      MISSING_FILE=1
     fi
     if [ ! -f "$RELEASE_DIR/DISCLAIMER-WIP" ]; then
-        echo "DISCLAIMER-WIP file not present."
-        ERROR=1
+      echo " - DISCLAIMER-WIP file not present."
+      MISSING_FILE=1
     fi
-    if [ 0 -eq $ERROR ]; then
-        echo "OK: All required files exist."
+    if [ 0 -eq $MISSING_FILE ]; then
+      echo " OK: all required files exist in $RELEASE_DIR."
+    else
+      RETURN_CODE=$MISSING_FILE
     fi
+    echo
 }
 
 function check_nuttx() {
-    # check nuttx sha512 and gpg
     RELEASE_FILE="$(ls *.tar.gz|head -1)"
-    check_sha512 "$RELEASE_FILE" 
+    RELEASE_DIR="nuttx"
+    check_sha512 "$RELEASE_FILE"
     check_gpg "$RELEASE_FILE"
-    check_required_files "$RELEASE_FILE" "nuttx"
-    mv "$RELEASE_FILE" ..
+    tar xf "$RELEASE_FILE"
+    check_required_files "$RELEASE_DIR"
 }
 
 function check_nuttx_apps() {
-    # check nuttx-apps sha512 and gpg
     RELEASE_FILE="$(ls *.tar.gz|head -2| tail -1)"
+    RELEASE_DIR="apps"
     check_sha512 "$RELEASE_FILE"
     check_gpg "$RELEASE_FILE"
-    check_required_files "$RELEASE_FILE" "apps"
-    mv "$RELEASE_FILE" ..
+    tar xf "$RELEASE_FILE"
+    check_required_files "$RELEASE_DIR"
+}
+
+function check_sim_nsh_build() {
+    RELEASE_DIR="nuttx"
+    echo "Trying to build $RELEASE_DIR sim:nsh..."
+    cd "$RELEASE_DIR"
+    output=$(make distclean; ./tools/configure.sh sim:nsh; make) 2>&1
+    return_value=$?
+    if [ $return_value -eq 0 ]; then
+      echo " OK: we were able to build sim:nsh."
+    else
+      RETURN_CODE=1
+      echo "$output"
+      echo " - Error building sim:nsh."
+    fi
+    echo
 }
 
+function check_sim_nsh_build() {

Review comment:
       Duplicate with line 124, remove?
   Let's squash the commit to make the history clear. Other change looks good.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to