summaryrefslogtreecommitdiffstats
path: root/debian/_buildscripts/local/internals/_build_common.sh
diff options
context:
space:
mode:
authorMichele Calgaro <michele.calgaro@yahoo.it>2023-06-19 13:48:40 +0900
committerMichele Calgaro <michele.calgaro@yahoo.it>2023-06-19 13:48:40 +0900
commit1028598a976efc5206b8bffacf547337928cc627 (patch)
tree12bb47fc92719a35b51115943a4888deada5033d /debian/_buildscripts/local/internals/_build_common.sh
parent73972eeb1fc6374053819de94866f7570383a87b (diff)
downloadtde-packaging-1028598a.tar.gz
tde-packaging-1028598a.zip
DEB buildscripts: removed from R14.1.x branch. These scripts are kept up to date on master branch only, to avoid unnecessary repetition.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Diffstat (limited to 'debian/_buildscripts/local/internals/_build_common.sh')
-rwxr-xr-xdebian/_buildscripts/local/internals/_build_common.sh270
1 files changed, 0 insertions, 270 deletions
diff --git a/debian/_buildscripts/local/internals/_build_common.sh b/debian/_buildscripts/local/internals/_build_common.sh
deleted file mode 100755
index 0a17cb700..000000000
--- a/debian/_buildscripts/local/internals/_build_common.sh
+++ /dev/null
@@ -1,270 +0,0 @@
-#!/bin/bash
-
-set -a
-
-#----------------------------
-# Color table
-# Black 0;30 Dark Gray 1;30
-# Blue 0;34 Light Blue 1;34
-# Green 0;32 Light Green 1;32
-# Cyan 0;36 Light Cyan 1;36
-# Red 0;31 Light Red 1;31
-# Purple 0;35 Light Purple 1;35
-# Brown 0;33 Yellow 1;33
-# Light Gray 0;37 White 1;37
-# No Color 0
-#----------------------------
-CBlack='\e[0;30m'
-CDarkGray='\e[1;30m'
-CBlue='\e[0;34m'
-CLightBlue='\e[1;34m'
-CGreen='\e[0;32m'
-CLightGreen='\e[1;32m'
-CCyan='\e[0;36m'
-CLightCyan='\e[1;36m'
-CRed='\e[0;31m'
-CLightRed='\e[1;31m'
-CPurple='\e[0;35m'
-CLightPurple='\e[1;35m'
-CBrown='\e[0;33m'
-CYellow='\e[1;33m'
-CGray='\e[0;37m'
-CWhite='\e[1;37m'
-CNone='\e[0m'
-
-set +a
-
-#----------------------------
-# Echo a colored string to tty and tee-append it to a file without color codes
-# Parameters:
-# $1 - string to echo
-# $2 - log filename
-# $3 - if "y" create a new file.
-function echo_and_tee()
-{
- if [ "$3" = "y" ]; then
- echo -e "$1" | tee /dev/tty | sed -r "s|\x1b\[[0-9]+(;[0-9]+)?m||g" >"$2"
- else
- echo -e "$1" | tee /dev/tty | sed -r "s|\x1b\[[0-9]+(;[0-9]+)?m||g" >>"$2"
- fi
-}
-
-#----------------------------
-function _set_path_variables()
-{
- # Set useful path variables
- set -a
-
- #-- get desired distribution and architecture
- [[ "$DISTRO" = "" ]] && DISTRO=$(lsb_release -is | sed -e 's/\(.*\)/\L\1/')
- [[ "$DISTRO_NAME" = "" ]] && DISTRO_NAME=$(lsb_release -cs | sed -e 's/\(.*\)/\L\1/')
- [[ "$ARCHITECTURE" = "" ]] && ARCHITECTURE=$(dpkg --print-architecture)
-
- REPO_DIR="$TDE_DIR/$CFG_GIT_DIR"
- if [ "${USE_GIT_WORKTREES}" = "y" ]; then
- REPOS_DIR="$TDE_DIR/$CFG_GIT_DIR/repos"
- WORKTREES_DIR="$TDE_DIR/$CFG_GIT_DIR/worktrees"
- REPO_TDE="$WORKTREES_DIR/master/tde"
- REPO_EXTRA_DEPENDENCIES="$WORKTREES_DIR/master/$CFG_EXTRA_DEPS_DIR"
- else
- REPO_TDE="$TDE_DIR/$CFG_GIT_DIR/tde"
- REPO_EXTRA_DEPENDENCIES="$TDE_DIR/$CFG_GIT_DIR/$CFG_EXTRA_DEPS_DIR"
- fi
- REPO_TDE_MAIN="$REPO_TDE/main"
- REPO_TDE_PACKAGING="$REPO_TDE/packaging/$DISTRO/$DISTRO_NAME"
-
- BUILD_DIR="$TDE_DIR/$CFG_BUILD_DIR"
- TDE_BUILD_DIR="$BUILD_DIR/build"
- TDE_DEBS_DIR="$BUILD_DIR/debs"
-
- HOOK_DIR="$TDE_DIR/$CFG_GIT_DIR/$CFG_HOOKS_DIR"
-
- SCRIPT_LOG_DIR="$TDE_DIR/$CFG_SCRIPT_LOG_DIR"
- LOG_BUILD_RESULT_FILENAME="$SCRIPT_LOG_DIR/build_result.log" # Common build logfile
- LOG_UPDATE_REPO_FILENAME="$SCRIPT_LOG_DIR/update_repo.log" # Update repository logfile
-
- set +a
-}
-
-#----------------------------
-function init_common()
-{
- local CURR_DIR=`pwd`
-
- # Check script folder
- export SCRIPT_DIR=$(dirname $(readlink -f "$0"))
-
- # Prevent the script to be run from TDE packaging repo
- REPO_URL=$(git config --get remote.origin.url 2>/dev/null)
- if [ ! -z "$REPO_URL" ] && [ -z "${REPO_URL##*tde/packaging}" ]; then
- echo -e "${CLightRed} --- ERROR ---${CNone}"
- echo "This script cannot be run from the TDE packaging repository."
- echo "Please follow the instructions provided, then rerun this script."
- exit 1
- fi
-
- # Read config settings
- CFG_FILE=$SCRIPT_DIR/_config.sh
- if [ -f "$CFG_FILE" ]; then
- . "$CFG_FILE"
- _set_path_variables
- else
- echo -e "${CLightRed} --- NOTE ---${CNone}"
- echo -e "Creating TDE build configuration file from template as ${CLightPurple}$CFG_FILE${CNone}."
- echo "Please check and modify as required, then rerun this script."
- cp "$SCRIPT_DIR/internals/_config_template.sh" "$CFG_FILE"
- exit 2
- fi
-
- # Make sure we have selected a supported distribution
- DISTROS_FILE="$SCRIPT_DIR/internals/distro_list.txt"
- if [ ! -f "$DISTROS_FILE" ]; then
- echo -e "${CLightRed} --- ERROR ---${CNone}"
- echo "Could not find the list of supported distributions."
- echo -e "Please check the file ${CLightPurple}$DISTROS_FILE${CNone} exists, then rerun this script."
- exit 3
- fi
- # -- Need to use a "here string" otherwise if the DISTRO_FOUND value is modified
- # -- inside the while loop, this would not remember after the loop.
- DISTRO_FOUND="n"
- OLD_IFS=$IFS && IFS=$' \t'
- while read l_distro l_version l_name l_rel_suffix l_packaging_path; do
- if [ "$l_distro" = "$DISTRO" -a "$l_name" = "$DISTRO_NAME" ]; then
- DISTRO_FOUND="y"
- l_rel_suffix=`echo "$l_rel_suffix" | perl -pe "s|^[\"-]?(.*?)[\"]?$|\1|g"`
- l_packaging_path=`echo "$l_packaging_path" | perl -pe "s|^[\"-]?(.*?)[\"]?$|\1|g"`
- export DISTRO_VERSION="$l_version"
- export REL_SUFFIX="$l_rel_suffix"
- if [[ ! -z "$l_packaging_path" ]]; then
- REPO_TDE_PACKAGING="$TDE_DIR/$CFG_GIT_DIR/tde/packaging/$l_packaging_path"
- fi
- break
- fi
- done <<< $(sed -n "s|\(^[\s]*[^#\s]\+.*$\)|\1|p" < $DISTROS_FILE)
- IFS=$OLD_IFS
- if [ "$DISTRO_FOUND" != "y" ]; then
- echo -e "${CLightRed} --- ERROR ---${CNone}"
- echo -e "The specified distribution (${CYellow}$DISTRO $DISTRO_NAME${CNone}) is not supported."
- echo -e "Something is wrong with your configuration (${CLightPurple}$CFG_FILE${CNone})"
- echo -e "or with the list of supported distributions (${CLightPurple}$DISTROS_FILE${CNone})."
- echo -e "Please check the ${CLightCyan}DISTRO${CNone} and ${CLightCyan}DISTRO_NAME${CNone} variables, then rerun this script."
- exit 4
- fi
-
- # TDE root folder must exist
- if [ ! -d "$TDE_DIR" ]; then
- echo -e "${CLightRed} --- ERROR ---${CNone}"
- echo "A valid TDE root folder could not be located. Something is wrong with your configuration"
- echo -e "in the config file ${CLightPurple}$CFG_FILE${CNone}"
- echo -e "Please check and modify the ${CLightCyan}TDE_DIR${CNone} variable as required, then rerun this script."
- exit 5
- fi
-
- # Search for TDE repo
- found=0
- tde_config_file=""
- if [ "${USE_GIT_WORKTREES}" = "y" ]; then
- tde_config_file="$REPOS_DIR/tde.git/config"
- else
- tde_config_file="${REPO_TDE}/.git/config"
- fi
- [ -f "${tde_config_file}" ] && [ "`grep \"\\[core\\]\" ${tde_config_file}`" = "[core]" ] && found=1
- if [[ found -ne 1 ]]; then
- echo -e "${CLightRed} --- ERROR ---${CNone}"
- echo "The main TDE repo could not be located. Something is wrong with your configuration"
- echo -e "in the config file ${CLightPurple}$CFG_FILE${CNone}"
- echo -e "Please check and modify the ${CLightCyan}TDE_DIR${CNone} and ${CLightCyan}USE_GIT_WORKTREES${CNone} variables as required."
- echo -e "Then rerun this script."
- exit 6
- fi
-
- # Check branch configuration
- # - branch existance
- UPDATE_BRANCHES="${OVERRIDE_UPDATE_BRANCHES:-$UPDATE_BRANCHES}"
- if [ "${USE_GIT_WORKTREES}" = "y" ]; then
- cd "$REPOS_DIR/tde.git"
- else
- cd "$REPO_TDE"
- fi
- BRANCHES=()
- local REMOTE_BRANCHES=(`git branch --remote | grep -v "HEAD" | sed "s|origin/||g"`)
- for br in $UPDATE_BRANCHES; do
- branch=`echo "$br" | sed -e "s|^[[:space:]]*||" -e "s|[[:space:]]*$||"`
- found=0
- for rem_br in "${REMOTE_BRANCHES[@]}"; do
- if [[ "$rem_br" == "$branch" ]]; then
- found=1
- break
- fi
- done
- if [[ found -eq 1 ]]; then
- BRANCHES+=($branch)
- else
- echo -e "${CLightRed} --- ERROR ---${CNone}"
- echo -e "Invalid branch specified (${CYellow}$branch${CNone}). Something is wrong with your configuration"
- echo -e "in the config file ${CLightPurple}$CFG_FILE${CNone}"
- echo -e "Please check and modify the ${CLightCyan}UPDATE_BRANCHES${CNone} variable as required, then rerun this script."
- exit 8
- fi
- done
- if [ ${#BRANCHES[@]} -eq 0 ]; then
- echo -e "${CLightRed} --- ERROR ---${CNone}"
- echo -e "No valid branch was specified. Something is wrong with your configuration"
- echo -e "in the config file ${CLightPurple}$CFG_FILE${CNone}"
- echo -e "Please check and modify the ${CLightCyan}UPDATE_BRANCHES${CNone} variable as required, then rerun this script."
- exit 9
- fi
- export BRANCHES
- # - default branch
- DEFAULT_REPO_BRANCH=${OVERRIDE_DEFAULT_REPO_BRANCH:-"$DEFAULT_REPO_BRANCH"}
- found=0
- for branch in "${BRANCHES[@]}"; do
- if [[ "$DEFAULT_REPO_BRANCH" == "$branch" ]]; then
- found=1
- break
- fi
- done
- if [[ found -ne 1 ]]; then
- echo -e "${CLightRed} --- ERROR ---${CNone}"
- echo -e "Invalid default repo branch specified (${CYellow}$DEFAULT_REPO_BRANCH${CNone}). Something is wrong with your configuration"
- echo -e "in the config file ${CLightPurple}$CFG_FILE${CNone}"
- echo -e "Please check and modify the ${CLightCyan}DEFAULT_REPO_BRANCH${CNone} variable as required, then rerun this script."
- exit 10
- fi
-
- cd "${CURR_DIR}"
-}
-
-
-#----------------------------
-# Save execution start time
-# Parameters:
-# $1 - timer number
-function exec_time_start()
-{
- _ET_start_var="_ET_start_$1"
- eval "$_ET_start_var=`date +%s.%N`"
-}
-
-
-#----------------------------
-# Save execution stop time and set $2 to the execution time
-# in the format: dd/hh:mm:ss.mmm
-# Parameters:
-# $1 - timer number
-# $2 - result variable name
-function exec_time_stop()
-{
- _ET_start_var="_ET_start_$1"
- _ET_stop_var="_ET_stop_$1"
- eval "$_ET_stop_var=`date +%s.%N`"
- _ET_diff=`echo "${!_ET_stop_var} - ${!_ET_start_var}" | bc`
- _ET_days=`echo "$_ET_diff/86400" | bc`
- _ET_diff_day=`echo "$_ET_diff-86400*$_ET_days" | bc`
- _ET_hours=`echo "$_ET_diff_day/3600" | bc`
- _ET_diff_hour=`echo "$_ET_diff_day-3600*$_ET_hours" | bc`
- _ET_mins=`echo "$_ET_diff_hour/60" | bc`
- _ET_secs=`echo "$_ET_diff_hour-60*$_ET_mins" | bc`
- local _resultvar=$2
- eval "$_resultvar=`printf \"%02d/%02d:%02d:%06.3f\" $_ET_days $_ET_hours $_ET_mins $_ET_secs`"
-}