#!/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