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