73 lines
1.9 KiB
Bash
Executable File
73 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
RESET_COLOR="\033[0m"
|
|
BOLD="\033[1m"
|
|
ITALIC="\033[3m"
|
|
|
|
BLACK="\033[30m"
|
|
RED="\033[31m"
|
|
GREEN="\033[32m"
|
|
YELLOW="\033[33m"
|
|
BLUE="\033[34m"
|
|
MAGENTA="\033[35m"
|
|
CYAN="\033[36m"
|
|
WHITE="\033[37m"
|
|
PURPLE="\033[35m"
|
|
|
|
|
|
BUILDING_DIR="build"
|
|
|
|
# Script Termination #
|
|
exit_on_signal_SIGINT () {
|
|
{ printf "\n\n%s\n" "Script interrupted." 2>&1; echo; }
|
|
exit 0
|
|
}
|
|
|
|
exit_on_signal_SIGTERM () {
|
|
{ printf "\n\n%s\n" "Script terminated." 2>&1; echo; }
|
|
exit 0
|
|
}
|
|
|
|
# Этот скрипт устанавливает ловушку (trap) для сигнала SIGINT и SIGTERM.
|
|
# Когда скрипт получает сигнал SIGINT (например, когда пользователь нажимает Ctrl+C), он будет вызывать функцию
|
|
trap exit_on_signal_SIGINT SIGINT
|
|
trap exit_on_signal_SIGTERM SIGTERM
|
|
|
|
CLEANINH_BUILDING_DIR (){
|
|
cd ..
|
|
rm -rf ${BUILDING_DIR}
|
|
sleep 0.5
|
|
}
|
|
|
|
BUILD_PKG () {
|
|
echo -e "\n ${BOLD}${GREEN}[+] создаем дирректорию сборки... ${RESET_COLOR}"
|
|
mkdir -p ${BUILDING_DIR}
|
|
sleep 0.5
|
|
|
|
echo -e "\n ${CYAN} ==> копируем файлы в дирректорию сборки... ${RESET_COLOR}"
|
|
cp -r `ls | grep -v '^build$'` ${BUILDING_DIR}
|
|
sleep 0.5
|
|
|
|
echo -e "\n ${CYAN} ==> копируем файлы в дирректорию сборки... ${RESET_COLOR}"
|
|
cd ${BUILDING_DIR}
|
|
sleep 0.5
|
|
|
|
# Building #
|
|
echo -e "\n ${CYAN}[+] собираем пакет... ${RESET_COLOR}"
|
|
makepkg -s -f
|
|
sleep 0.5
|
|
|
|
if ls *.pkg.tar.zst 1> /dev/null 2>&1; then
|
|
echo -e "\n ${CYAN}[+] переносим пакеты и очищаем дирректорию... ${RESET_COLOR}"
|
|
mv ./*.pkg.tar.zst ../../tarch-bin/x86_64/
|
|
sleep 0.5
|
|
CLEANINH_BUILDING_DIR
|
|
echo -e "\n ${BOLD}${GREEN}[✔] завершено... ${RESET_COLOR}"
|
|
else
|
|
echo -e "\n ${BOLD}${RED}[✘] сборка не удалась... ${RESET_COLOR}"
|
|
fi
|
|
echo -e "\n"
|
|
}
|
|
|
|
BUILD_PKG
|