Этот репозиторий содержит Flutter плагины для платформы ОС Аврора.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

74 lines
1.7 KiB

#!/bin/bash
## Build example, sign rpm, upload rpm to device
## Usage
## chmod +x ./build_example.sh
## ./build_example.sh -p xdga_directories -u 192.168.1.59:/home/defaultuser/Downloads -k /home/user/sign/system_keys
## Flatter path
FLATTER="$HOME/.local/opt/flutter-sdk/bin/flutter"
## Install Platform SDK path
PLATFORM_SDK_ROOT="/srv/mer"
## https://community.omprussia.ru/documentation/software_development/psdk/setup.html
## You may not have set the PSDK_DIR environment variable.
export PSDK_DIR="$PLATFORM_SDK_ROOT/sdks/sfossdk"
while getopts p:u:k: flag; do
case "${flag}" in
p) package=${OPTARG} ;;
u) upload=${OPTARG} ;;
k) keys_folder=${OPTARG} ;;
*)
echo "usage: $0 [-v] [-r]" >&2
exit 1
;;
esac
done
if [ -z "$package" ]; then
echo "Specify a build package"
exit
else
cd "../packages/$package" 2>/dev/null || eval 'echo "Package \"$package\" not found." && exit'
## Update dependency
$FLATTER pub get
## Run ffigen if has
$FLATTER pub run ffigen --config ffigen.yaml 2>/dev/null
## Open example dir
cd "example" || exit
## Build aurora example app
$FLATTER build aurora --release
fi
if [ -n "$keys_folder" ]; then
key=$(ls "$keys_folder"/*key.pem)
if [ -z "$key" ]; then
echo "Key *key.pem not found."
exit
fi
cert=$(ls "$keys_folder"/*cert.pem)
if [ -z "$cert" ]; then
echo "Key *cert.pem not found."
exit
fi
## Sign rpm system key
"$PSDK_DIR"/sdk-chroot rpmsign-external sign \
--key "$key" \
--cert "$cert" \
build/aurora/arm/release/RPMS/*.rpm
fi
if [ -n "$upload" ]; then
# shellcheck disable=SC2012
rpm=$(ls "$PWD"/build/aurora/arm/release/RPMS/*.rpm | sort -r | head -n 1)
scp "$rpm" defaultuser@"$upload"
fi