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



##########
File path: tools/checkrelease.sh
##########
@@ -19,114 +19,218 @@
 #
 #############################################################################
 
-set -e
-
+VERBOSE=0
+RETURN_CODE=0
 BASE_URL="https://dist.apache.org/repos/dist/dev/incubator/nuttx";
-TEMPDIR="dist.apache.org"
+DIST_DIR="dist.apache.org"
+TMP="/tmp"
+TEMPDIR="$TMP/nuttx-checkrelease"
 ORIGINAL_DIR="$(pwd)"
 trap "{ cd $ORIGINAL_DIR; rm -rf $TEMPDIR; }" EXIT
 
 function download_release() {
-    wget -r -np -R "index.html*" -P . --cut-dirs 7 "$URL"
+  rm -rf "$TEMPDIR"
+  if [[ -n "$URL" ]]; then
+    mkdir "$TEMPDIR"
+    wget -r --no-parent -P "$TEMPDIR" --cut-dirs 8 "$URL"
     cd "$TEMPDIR"
+    mv $DIST_DIR/apache-nuttx-* .
+  else
+    if [[ -n "$DIRECTORY" ]]; then
+      cp -r "$DIRECTORY" "$TEMPDIR"
+      cd "$TEMPDIR"
+    else
+      echo "One of --dir or --url is required!"
+      exit 1
+    fi
+  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)"
+    return_value=$?
+    if [ $return_value -eq 0 ]; then
+      echo " OK: $RELEASE_FILE sha512 hash matches."
+    else
+      RETURN_CODE=1
+      echo " - $RELEASE_FILE sha512 hash does not match:"
+      echo "$output"
+    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"
+    output="$(gpg --quiet --verify $RELEASE_FILE.asc $RELEASE_FILE 2>&1)"
+    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:"
+      echo "$output"
+      echo
+    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"
+    RELEASE_DIR=$1
+    echo "Checking $RELEASE_FILE for required files:"
     ERROR=0
     if [ ! -f "$RELEASE_DIR/LICENSE" ]; then
-        echo "LICENSE file not present."
-        ERROR=1
+      echo " - LICENSE file not present."
+      ERROR=1
     fi
     if [ ! -f "$RELEASE_DIR/NOTICE" ]; then
-        echo "NOTICE file not present."
-        ERROR=1
+      echo " - NOTICE file not present."
+      ERROR=1
     fi
     if [ ! -f "$RELEASE_DIR/README.txt" ]; then
-        echo "README.txt file not present."
-        ERROR=1
+      echo " - README.txt file not present."
+      ERROR=1
     fi
     if [ ! -f "$RELEASE_DIR/DISCLAIMER-WIP" ]; then
-        echo "DISCLAIMER-WIP file not present."
-        ERROR=1
+      echo " - DISCLAIMER-WIP file not present."
+      ERROR=1
     fi
     if [ 0 -eq $ERROR ]; then
-        echo "OK: All required files exist."
+      echo " OK: all required files exist in $RELEASE_DIR."
+    else
+      RETURN_CODE=1
     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" ..
+    rm -rf "$RELEASE_DIR"
+    tar xf "$RELEASE_FILE"
+    check_required_files "$RELEASE_DIR"
+    mv "$RELEASE_FILE" "$TMP"
 }
 
 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" ..
+    rm -rf "$RELEASE_DIR"
+    tar xf "$RELEASE_FILE"
+    check_required_files "$RELEASE_DIR"
+    mv "$RELEASE_FILE" "$TMP"
 }
 
+function check_sim_nsh_build() {
+    RELEASE_DIR="nuttx"
+    echo "Trying to build $RELEASE_DIR sim:nsh..."
+    cd "$RELEASE_DIR"
+    if [[ $VERBOSE -eq 0 ]]; then

Review comment:
       @xiaoxiang781216 I tried it the way you suggest— what happens is all the 
newlines get stripped out when being captured, so the output is unreadable for 
long things like the nuttx compilation. The `--verbose` option lets you see the 
compilation formatted like you normally see it, it's a lot more readable. I'd 
like to leave the verbose switch in. But if you feel strongly about it, I'll do 
it your way, let me know.




----------------------------------------------------------------
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