181 lines
6.7 KiB
Bash
Executable File
181 lines
6.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Host danki
|
|
# HostName 192.168.3.11
|
|
# User root
|
|
# IdentityFile ~/.ssh/ssh_host_rsa_key_ok
|
|
# Port 22
|
|
# KexAlgorithms +diffie-hellman-group1-sha1
|
|
# HostkeyAlgorithms +ssh-dss,ssh-rsa
|
|
# PubkeyAcceptedKeyTypes +ssh-dss,ssh-rsa
|
|
# Ciphers +aes128-cbc%
|
|
|
|
cross_compile=true
|
|
TARGET_PATH="/data/sdcard/PassengerStatistics"
|
|
base_path=$(pwd)
|
|
libraries_root="/opt/Libraries"
|
|
if [[ $base_path == /home/* || $base_path == /root/* ]]; then
|
|
build_path=${base_path}/build
|
|
else
|
|
build_path=/tmp/build
|
|
fi
|
|
echo "build directory: $build_path"
|
|
|
|
function cmake_scan() {
|
|
if [ $cross_compile = true ]; then
|
|
toolchain_file=-DCMAKE_TOOLCHAIN_FILE=resources/toolchain.cmake
|
|
else
|
|
toolchain_file="-DCROSS_BUILD=OFF"
|
|
fi
|
|
if [ ! -d ${build_path} ]; then
|
|
mkdir ${build_path}
|
|
fi
|
|
cmake \
|
|
-G Ninja \
|
|
-S ${base_path} \
|
|
-B ${build_path} \
|
|
$toolchain_file \
|
|
-DCMAKE_BUILD_TYPE=Debug
|
|
}
|
|
|
|
function build() {
|
|
if [ ! -f "${build_path}/CMakeCache.txt" ]; then
|
|
cmake_scan
|
|
fi
|
|
if [ $? -ne 0 ]; then
|
|
exit 1
|
|
fi
|
|
cmake \
|
|
--build ${build_path} \
|
|
--target all
|
|
if [ $? -ne 0 ]; then
|
|
exit 1
|
|
fi
|
|
|
|
if [ $cross_compile = true ]; then
|
|
deploy
|
|
fi
|
|
}
|
|
|
|
function init() {
|
|
echo "deploy libs to target ..."
|
|
BOOST_LIBDIR=/opt/aarch64-v01c01-linux-gnu-gcc/lib/boost_1_87_0/lib
|
|
ssh danki "mount -o remount rw /;mount -o remount rw /system/"
|
|
ssh danki "mkdir -p /data/sdcard/PassengerStatistics/lib"
|
|
echo "put /opt/aarch64-v01c01-linux-gnu-gcc/lib/gdb-10.2/bin/gdbserver /system/bin" | sftp -i resources/ssh_host_rsa_key_ok root@${TARGET_IP}
|
|
echo "put 3rdparty/rw_mpp/lib/librw_mpp.so /data/sdcard/PassengerStatistics/lib" | sftp danki
|
|
echo "put 3rdparty/ds_pedestrian_mot_hisi/libs/libds_pedestrian_mot_Hi3516DV500.so /data/sdcard/PassengerStatistics/lib" | sftp danki
|
|
echo "put /opt/aarch64-v01c01-linux-gnu-gcc/lib/openssl-3.4.1/lib/libssl.so.3 /data/sdcard/PassengerStatistics/lib" | sftp danki
|
|
echo "put /opt/aarch64-v01c01-linux-gnu-gcc/lib/openssl-3.4.1/lib/libcrypto.so.3 /data/sdcard/PassengerStatistics/lib" | sftp danki
|
|
echo "put /opt/aarch64-v01c01-linux-gnu-gcc/lib/ZLMediaKit/lib/libmk_api.so /data/sdcard/PassengerStatistics/lib" | sftp danki
|
|
echo "put /opt/aarch64-v01c01-linux-gnu-gcc/lib/opencv-4.11.0/lib/libopencv_world.so.4.11.0 /data/sdcard/PassengerStatistics/lib" | sftp danki
|
|
echo "put /opt/aarch64-v01c01-linux-gnu-gcc/lib/usrsctp-0.9.5.0/lib/libusrsctp.so.2.0.0 /data/sdcard/PassengerStatistics/lib" | sftp danki
|
|
echo "put /opt/aarch64-v01c01-linux-gnu-gcc/lib/libdatachannel-0.22.5/lib/libdatachannel.so.0.22.5 /data/sdcard/PassengerStatistics/lib" | sftp danki
|
|
# echo "put /opt/aarch64-v01c01-linux-gnu-gcc/lib/LeakTracer/libleaktracer.so /data/sdcard/PassengerStatistics/lib" | sftp -i resources/ssh_host_rsa_key_ok root@${TARGET_IP}
|
|
echo "put ${BOOST_LIBDIR}/libboost_container.so.1.87.0 /data/sdcard/PassengerStatistics/lib" | sftp danki
|
|
echo "put ${BOOST_LIBDIR}/libboost_log_setup.so.1.87.0 /data/sdcard/PassengerStatistics/lib" | sftp danki
|
|
echo "put ${BOOST_LIBDIR}/libboost_log.so.1.87.0 /data/sdcard/PassengerStatistics/lib" | sftp danki
|
|
echo "put ${BOOST_LIBDIR}/libboost_atomic.so.1.87.0 /data/sdcard/PassengerStatistics/lib" | sftp danki
|
|
echo "put ${BOOST_LIBDIR}/libboost_chrono.so.1.87.0 /data/sdcard/PassengerStatistics/lib" | sftp danki
|
|
echo "put ${BOOST_LIBDIR}/libboost_system.so.1.87.0 /data/sdcard/PassengerStatistics/lib" | sftp danki
|
|
echo "put ${BOOST_LIBDIR}/libboost_filesystem.so.1.87.0 /data/sdcard/PassengerStatistics/lib" | sftp danki
|
|
echo "put ${BOOST_LIBDIR}/libboost_thread.so.1.87.0 /data/sdcard/PassengerStatistics/lib" | sftp danki
|
|
# echo "put ${BOOST_LIBDIR}/libboost_url.so.1.84.0 /system/lib" | sftp -i resources/ssh_host_rsa_key_ok root@${TARGET_IP}
|
|
echo "put ${BOOST_LIBDIR}/libboost_json.so.1.87.0 /data/sdcard/PassengerStatistics/lib" | sftp danki
|
|
# echo "put ${BOOST_LIBDIR}/libboost_program_options.so.1.84.0 /system/lib" | sftp -i resources/ssh_host_rsa_key_ok root@${TARGET_IP}
|
|
|
|
# ssh -i resources/ssh_host_rsa_key_ok root@${TARGET_IP} "echo 'mount -o remount rw /' >> /etc/profile"
|
|
# ssh -i resources/ssh_host_rsa_key_ok root@${TARGET_IP} "echo 'mount -o remount rw /system/' >> /etc/profile"
|
|
}
|
|
|
|
function deploy() {
|
|
if [ -n "$1" ]; then
|
|
TARGET_IP=$1
|
|
fi
|
|
echo "deploy to target, path: ${TARGET_PATH} ..."
|
|
echo "put ${build_path}/Main/PassengerStatistics ${TARGET_PATH}" | sftp danki
|
|
echo "put ${build_path}/Tools/LeakTracer/LeakTracer ${TARGET_PATH}" | sftp danki
|
|
ssh danki "sync"
|
|
|
|
}
|
|
|
|
function clean() {
|
|
if [ -d ${build_path} ]; then
|
|
rm -fr ${build_path}
|
|
fi
|
|
}
|
|
|
|
function deploy_old() { # svn代码用
|
|
if [ -n "$1" ]; then
|
|
TARGET_IP=$1
|
|
fi
|
|
|
|
pushd source/2.Software/src
|
|
chmod +x ./genDankiMakefiles
|
|
# ./genDankiMakefiles hi3516dv500
|
|
make -j6
|
|
if [ $? -ne 0 ]; then
|
|
exit 1
|
|
fi
|
|
make install-hi3516dv500
|
|
popd
|
|
echo "deply to $TARGET_IP"
|
|
# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/system/lib
|
|
# while [ true ];do sleep 1;free; done
|
|
ssh -i ~/.ssh/ssh_host_rsa_key_ok root@${TARGET_IP} "mount -o remount rw /system/"
|
|
ssh -i ~/.ssh/ssh_host_rsa_key_ok root@${TARGET_IP} "killall start-app.sh; pgrep -f danki | xargs kill -s 9"
|
|
|
|
echo "put $PWD/source/2.Software/libs/danki /system/bin" | sftp -i ~/.ssh/ssh_host_rsa_key_ok root@${TARGET_IP}
|
|
echo "put $PWD/source/2.Software/libs/librwfds.so /system/lib/" | sftp -i ~/.ssh/ssh_host_rsa_key_ok root@${TARGET_IP}
|
|
echo "put $PWD/source/2.Software/libs/librwp2p.so /system/lib/" | sftp -i ~/.ssh/ssh_host_rsa_key_ok root@${TARGET_IP}
|
|
echo "put $PWD/source/2.Software/prebuilt-hi3516dv500/rw_mpp/lib/librw_mpp.so /system/lib/" | sftp -i ~/.ssh/ssh_host_rsa_key_ok root@${TARGET_IP}
|
|
|
|
ssh -i ~/.ssh/ssh_host_rsa_key_ok root@${TARGET_IP} "sync"
|
|
ssh -i ~/.ssh/ssh_host_rsa_key_ok root@${TARGET_IP} "reboot"
|
|
}
|
|
|
|
function clean_old() {
|
|
# svn status | grep "?" | awk '{print $2}'
|
|
rm -fr source/2.Software/libs/*
|
|
rm -fr source/2.Software/pkg
|
|
rm -fr source/2.Software/src/build
|
|
rm -fr source/2.Software/src/netconfig/build
|
|
find . -name "*.o" | xargs rm
|
|
git clean -f -n | grep -E "Makefile"\|"makeEnv" | xargs rm
|
|
}
|
|
|
|
function main() {
|
|
local cmd=$1
|
|
shift 1
|
|
case $cmd in
|
|
build)
|
|
build $@
|
|
;;
|
|
scan)
|
|
cmake_scan
|
|
;;
|
|
clean)
|
|
clean
|
|
;;
|
|
deploy)
|
|
deploy $@
|
|
;;
|
|
init)
|
|
init $@
|
|
;;
|
|
old)
|
|
deploy_old $@
|
|
;;
|
|
clean_old)
|
|
clean_old $@
|
|
;;
|
|
*)
|
|
build
|
|
;;
|
|
esac
|
|
}
|
|
|
|
main $@
|
|
|
|
|