60 lines
1.8 KiB
Bash
60 lines
1.8 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
source "$HOME/bin/scripts/system/style"
|
||
|
|
||
|
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
|