#!/bin/sh # This file contains functions that are used in multiple other scripts, i.e. # shared functions. The purpose of centralising these, is to deduplicate code # and increase maintainability # # By Dennis Groenen # GPLv3 licensed # # Verbose-aware echo ECHO_VERBOSE() { if test $VERBOSE == 1; then echo -e "$1"; fi } # Detect the current environment CHECK_ENV() { if test -d /scratchbox; then ENVIRONMENT="SDK" else if test -e /proc/component_version; then PROD=$($EXECPWR cat /proc/component_version | $EXECPWR grep product | $EXECPWR cut -d" " -f 6) else PROD=$(/usr/bin/sysinfoclient --get /component/product | $EXECPWR awk '{ print $3 }') fi case $PROD in RX-51) ENVIRONMENT="FREMANTLE" ;; RM-680|RM-696) ENVIRONMENT="HARMATTAN" ;; *) # Unsupported, use the least strict environment (SDK) ENVIRONMENT="SDK" ;; esac fi } # Check whether the user is root CHECK_ROOT() { if test "`$EXECPWR id -u`" -ne 0; then echo "error: you're not running me as root" exit 1 fi } # Get the version string of the package providing /bin/busybox GETBBVERSION() { # XXX We assume the package "busybox" provides /bin/busybox /usr/bin/dpkg -s busybox | $EXECPWR awk '/^Version:/ {print $2}' } # Get the current device mode in Harmattan. Returns "open" or "normal" GETDEVICEMODE() { /usr/bin/accli -I | $EXECPWR awk '/^Current mode:/ {print $3}' } # Get the enforcement status of aegis' source origin check. Returns "1" when # the check is active, otherwise "0" GETORIGINCHECK_STATUS() { /usr/sbin/aegisctl | $EXECPWR sed 's/,.*//' | $EXECPWR grep "s" | $EXECPWR wc -l }