publish.sh: fix publish.sh [1/1]

PD#SWPL-67525

Problem:
fix publish.sh

Solution:
fix publish.sh

Verify:
ad401_a113l

Signed-off-by: Kelvin Zhang <kelvin.zhang@amlogic.com>
Change-Id: If90c2f742854e19b0cd48e5383deb19f89f2d731
diff --git a/build_all.sh b/build_all.sh
index 96da18b..d2161e2 100755
--- a/build_all.sh
+++ b/build_all.sh
@@ -23,9 +23,6 @@
 	fi
 fi
 
-# Manually cherry pick patches
-./scripts/cherry_pick.sh
-
 source scripts/gen_build_combination.sh
 
 i=0
diff --git a/cherry_pick.sh b/cherry_pick.sh
index 4833a2e..6914162 100755
--- a/cherry_pick.sh
+++ b/cherry_pick.sh
@@ -9,7 +9,7 @@
 	[ -z "$CURRENT_MANIFEST_FILE" ] && CURRENT_MANIFEST_FILE="manifest.xml"
 	[ ! -f $CURRENT_MANIFEST_FILE ] && repo manifest -r -o $CURRENT_MANIFEST_FILE
 
-	echo "$GIT_CHERRY_PICK" | while read line
+	while IFS= read -r line
 	do
 		pattern=":29418/"
 		for keyword in $line; do
@@ -43,5 +43,5 @@
 			exit 1
 		fi
         echo -e "======== Done ========\n"
-	done
+	done <<< "$GIT_CHERRY_PICK"
 fi
diff --git a/jenkins_verify.sh b/jenkins_verify.sh
index de42e61..826a111 100755
--- a/jenkins_verify.sh
+++ b/jenkins_verify.sh
@@ -28,26 +28,40 @@
 MATCH_PATTERN="projects/"
 BRANCH=${MANIFEST_BRANCH#*${MATCH_PATTERN}}
 WORK_DIR=$BUILDCHECK_BASE_PATH/$PROJECT_NAME/$BRANCH
+OUTPUT_DIR=$WORK_DIR/output
 
-LAST_MANIFEST_FILE="manifest_last.xml"
-CURRENT_MANIFEST_FILE="manifest.xml"
-DIFF_MANIFEST_FILE="updates.xml"
+LAST_MANIFEST_FILE="$OUTPUT_DIR/manifest_last.xml"
+CURRENT_MANIFEST_FILE="$OUTPUT_DIR/manifest.xml"
+DIFF_MANIFEST_FILE="$OUTPUT_DIR/updates.xml"
+BUILD_LOG="$OUTPUT_DIR/build.log"
 
-#rm -rf $WORK_DIR
+if [ -n "$EXCLUDE_REPOS" ]; then
+	echo "Exclude repos:"
+	echo "$EXCLUDE_REPOS"
+	while IFS= read -r line
+	do
+		[ -n "$REPO_SYNC_IPATTERN" ] && REPO_SYNC_IPATTERN+="|"
+		REPO_SYNC_IPATTERN+="$line"
+	done <<< "$EXCLUDE_REPOS"
+fi
+
+[ "$FRESH_DOWNLOAD" = "yes" ] && rm -rf $WORK_DIR
+
 if [ ! -d "$WORK_DIR" ]; then
 	echo -e "\n======== Downloading source code ========"
 	mkdir -p $WORK_DIR
+	mkdir -p $OUTPUT_DIR
 	cd $WORK_DIR
 	repo init -u ${MANIFEST_URL} -b ${MANIFEST_BRANCH} --repo-url=git://scgit.amlogic.com/tools/repo.git --no-repo-verify
 else
 	echo -e "\n======== Syncing source code ========"
 	cd $WORK_DIR
-	repo forall -c git reset -q --hard origin/$BRANCH_NAME
+	repo forall -i "$REPO_SYNC_IPATTERN" -c git reset -q --hard origin/$BRANCH_NAME
 	repo manifest -r -o $LAST_MANIFEST_FILE
 fi
 
 repo sync -cq -j8
-repo forall -c git reset -q --hard origin/$BRANCH_NAME
+repo forall -i "$REPO_SYNC_IPATTERN" -c git reset -q --hard origin/$BRANCH_NAME
 repo manifest -r -o $CURRENT_MANIFEST_FILE
 echo -e "======== Done ========\n"
 
@@ -113,21 +127,21 @@
 
 if [[ "$SUBMIT_TYPE" == "release" ]]; then
 	echo "========= Building all packages ========"
-	./scripts/build_all_pkg.sh > build.log 2>&1
+	./scripts/build_all_pkg.sh > $BUILD_LOG 2>&1
 	if [ "$?" -eq 0 ]; then
 		echo "======== Done ========"
 	else
-		cat build.log
+		cat $BUILD_LOG
 		echo -e "\nAborted!"
 		exit 1
 	fi
 else
 	echo "========= Building all projects ========"
-	./scripts/build_all.sh > build.log 2>&1
+	./scripts/build_all.sh > $BUILD_LOG 2>&1
 	if [ "$?" -eq 0 ]; then
 		echo "======== Done ========"
 	else
-		cat build.log
+		cat $BUILD_LOG
 		echo -e "\nAborted!"
 		exit 1
 	fi
diff --git a/package.sh b/package.sh
index 04519ba..71e1bb8 100755
--- a/package.sh
+++ b/package.sh
@@ -195,5 +195,3 @@
 test -n "$BUILD_IMAGE" && build_aml_image
 
 echo "======Done======"
-echo "Image Path: $PROJECT_BUILD_OUT_IMAGE_PATH "
-ls -la $PROJECT_BUILD_OUT_IMAGE_PATH
diff --git a/publish.sh b/publish.sh
index 8ff631c..5d9f193 100755
--- a/publish.sh
+++ b/publish.sh
@@ -35,7 +35,7 @@
 		else
 			echo "Remote image path: $REMOTE_IMAGE_PATH"
 		fi
-		LOCAL_FILES="build.log $CURRENT_MANIFEST_FILE"
+		LOCAL_FILES="$LOCAL_OUTPUT_PATH/build.log $LOCAL_OUTPUT_PATH/manifest.xml"
 		scp $LOCAL_FILES $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_IMAGE_PATH
 		pushd $LOCAL_IMAGE_PATH >/dev/null
 		tar -cJf $KERNEL.tar.xz $KERNEL/$KERNEL.*
@@ -60,7 +60,7 @@
 		else
 			echo "Remote package path: $REMOTE_PACKAGE_PATH"
 		fi
-		LOCAL_FILES="build.log $CURRENT_MANIFEST_FILE"
+		LOCAL_FILES="$LOCAL_OUTPUT_PATH/build.log $LOCAL_OUTPUT_PATH/manifest.xml"
 		scp $LOCAL_FILES $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_PACKAGE_PATH
 		pushd $LOCAL_PACKAGE_PATH >/dev/null
 		scp -r . $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_PACKAGE_PATH