scripts: publish.sh: Reorganize the dailybuild dir structure on firmware server [1/1]

PD#SWPL-67525

Problem:
Reorganize the dailybuild dir structure on firmware server

Solution:
Reorganize the dailybuild dir structure on firmware server

Verify:
ad401_a113l

Change-Id: I4df7d33618fe1375fd09670d30d4f0b5f0b49e9b
Signed-off-by: Kelvin Zhang <kelvin.zhang@amlogic.com>
diff --git a/build_all.sh b/build_all.sh
index 23a030d..67dbc0a 100755
--- a/build_all.sh
+++ b/build_all.sh
@@ -96,6 +96,6 @@
 	fi
 done <"$BUILD_COMBINATION"
 
-[[ "$SUBMIT_TYPE" == "daily" ]] && post_publish_images >> $BUILD_LOG 2>&1
+[[ "$SUBMIT_TYPE" == "daily" ]] && post_publish_images >> $BUILD_LOG 2>&1 && show_download_url
 
 echo -e "======== Done ========\n" | tee -a $BUILD_LOG
diff --git a/publish.sh b/publish.sh
index fecb628..c4246be 100755
--- a/publish.sh
+++ b/publish.sh
@@ -18,24 +18,28 @@
 }
 
 [ -z "$OUTPUT_DIR" ] && OUTPUT_DIR=$PWD/output
-LOCAL_OUTPUT_PATH=$OUTPUT_DIR
+LOCAL_PATH=$OUTPUT_DIR
 
 BUILD_DATE=$(date +%F)
-LATEST_REMOTE_PATH=/data/shanghai/image/RTOS/latest
-REMOTE_PATH="$([ "$SUBMIT_TYPE" == "patch" ] && echo "/data/shanghai/image/RTOS/patchbuild" || echo "/data/shanghai/image/RTOS/$BUILD_DATE")"
-REMOTE_IMAGES_PATH=$REMOTE_PATH/images
-REMOTE_PACKAGES_PATH=$REMOTE_PATH/packages
+REMOTE_BASE=/data/shanghai/image/RTOS
+if [[ "$SUBMIT_TYPE" == "daily" || "$SUBMIT_TYPE" == "release" ]]; then
+	REMOTE_PATH=$REMOTE_BASE/$SUBMIT_TYPE/$BUILD_DATE
+else
+	REMOTE_PATH=$REMOTE_BASE/$SUBMIT_TYPE
+fi
+LATEST_PATH=$REMOTE_BASE/$SUBMIT_TYPE/latest
 
 FIRMWARE_ACCOUNT=autobuild
 FIRMWARE_SERVER=firmware.amlogic.com
 
 make_image() {
+	LOCAL_IMAGE_PATH=$LOCAL_PATH/$ARCH-$BOARD-$PRODUCT
 	mkimage -A $ARCH -O u-boot -T standalone -C none -a 0x10000 -e 0x10000 -n rtos -d $LOCAL_IMAGE_PATH/images/freertos-signed.bin $LOCAL_IMAGE_PATH/images/rtos-uImage
 }
 
 publish_images() {
-	LOCAL_IMAGE_PATH=$LOCAL_OUTPUT_PATH/$ARCH-$BOARD-$PRODUCT
-	REMOTE_IMAGE_PATH=$REMOTE_IMAGES_PATH/$ARCH-$BOARD-$PRODUCT
+	LOCAL_IMAGE_PATH=$LOCAL_PATH/$ARCH-$BOARD-$PRODUCT
+	REMOTE_IMAGE_PATH=$REMOTE_PATH/$ARCH-$BOARD-$PRODUCT
 	echo "publish to $REMOTE_IMAGE_PATH"
 	if [ -d $LOCAL_IMAGE_PATH ]; then
 		ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "mkdir -p $REMOTE_IMAGE_PATH"
@@ -47,8 +51,6 @@
 			echo "Remote image path: $REMOTE_IMAGE_PATH"
 		fi
 		pushd $LOCAL_IMAGE_PATH >/dev/null
-		tar -cJf $KERNEL.tar.xz $KERNEL/$KERNEL.*
-		scp $KERNEL.tar.xz $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_IMAGE_PATH
 		scp images/* $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_IMAGE_PATH
 		popd >/dev/null
 		echo "Images publish done."
@@ -58,29 +60,29 @@
 }
 
 post_publish_images() {
-	ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "mkdir -p $REMOTE_IMAGES_PATH"
+	ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "mkdir -p $REMOTE_PATH"
 	if [ $? -ne 0 ]; then
-		echo "Failed to create remote image path! $REMOTE_IMAGES_PATH"
+		echo "Failed to create remote image path! $REMOTE_PATH"
 		exit 1
 	else
-		echo "Remote image path: $REMOTE_IMAGES_PATH"
+		echo "Remote image path: $REMOTE_PATH"
 	fi
 
-	LOCAL_FILES="$LOCAL_OUTPUT_PATH/build.log"
+	LOCAL_FILES="$LOCAL_PATH/build.log"
 	[ -z "$MANIFEST" ] && MANIFEST="$OUTPUT_DIR/manifest.xml"
 	[ -f $MANIFEST ] && LOCAL_FILES+=" $MANIFEST"
 	[ -z "$JENKINS_TRIGGER" ] && JENKINS_TRIGGER="$OUTPUT_DIR/jenkins_trigger.txt"
 	[ -f $JENKINS_TRIGGER ] && LOCAL_FILES+=" $JENKINS_TRIGGER"
-	scp $LOCAL_FILES $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_IMAGES_PATH
+	scp $LOCAL_FILES $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_PATH
 
-	ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "rm -f $LATEST_REMOTE_PATH"
-	ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "ln -s $REMOTE_PATH $LATEST_REMOTE_PATH"
+	ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "rm -f $LATEST_PATH"
+	ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "ln -s $REMOTE_PATH $LATEST_PATH"
 	echo "Post images publish done."
 }
 
 publish_packages() {
-	LOCAL_PACKAGE_PATH=$LOCAL_OUTPUT_PATH/packages/$CURRENT_PRODUCTS_DIR_NAME
-	REMOTE_PACKAGE_PATH=$REMOTE_PACKAGES_PATH/$CURRENT_PRODUCTS_DIR_NAME
+	LOCAL_PACKAGE_PATH=$LOCAL_PATH/packages/$CURRENT_PRODUCTS_DIR_NAME
+	REMOTE_PACKAGE_PATH=$REMOTE_PATH/$CURRENT_PRODUCTS_DIR_NAME
 
 	if [ -d $LOCAL_PACKAGE_PATH ]; then
 		ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "mkdir -p $REMOTE_PACKAGE_PATH"
@@ -101,14 +103,20 @@
 }
 
 post_publish_packages() {
-	ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "mkdir -p $REMOTE_PACKAGES_PATH"
+	ssh -n $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER "mkdir -p $REMOTE_PATH"
 	if [ $? -ne 0 ]; then
-		echo "Failed to create remote package path! $REMOTE_PACKAGES_PATH"
+		echo "Failed to create remote package path! $REMOTE_PATH"
 		exit 1
 	else
-		echo "Remote package path: $REMOTE_PACKAGES_PATH"
+		echo "Remote package path: $REMOTE_PATH"
 	fi
-	LOCAL_FILES="$LOCAL_OUTPUT_PATH/build.log $LOCAL_OUTPUT_PATH/manifest.xml"
-	scp $LOCAL_FILES $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_PACKAGES_PATH
+	LOCAL_FILES="$LOCAL_PATH/build.log $LOCAL_PATH/manifest.xml"
+	scp $LOCAL_FILES $FIRMWARE_ACCOUNT@$FIRMWARE_SERVER:$REMOTE_PATH
 	echo "Post packages publish done."
 }
+
+show_download_url() {
+	WEB_PATH=`echo ${LATEST_PATH#*data}`
+	DOWNLOAD_URL="http://$FIRMWARE_SERVER$WEB_PATH"
+	echo "<Download Address> $DOWNLOAD_URL"
+}