-
Notifications
You must be signed in to change notification settings - Fork 0
/
ajr.sh
executable file
·93 lines (74 loc) · 2.77 KB
/
ajr.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#!/bin/bash
# Билдер
# Определение родной директории скрипта
SCRIPT_DIR="$( cd "$( dirname $(readlink -e "${BASH_SOURCE[0]}") )" && pwd )"
# подключаем служебные файлы
source $SCRIPT_DIR/lib.sh
source $SCRIPT_DIR/config.cfg
# подключаем пользовательский конфиг, если есть
if [ -e $HOME/.ajr/local.cfg ]; then
source $HOME/.ajr/local.cfg
fi
# переменные пути пакета
source $SCRIPT_DIR/pkgvars.cfg
echo "${bold}AJ Builder ${version}${reset}"
tail "$SCRIPT_DIR/readme.txt"
echo
# Не случайно ли запустили?
ask_YN "Собрать пакет ${package}?" "[ ] y - да,
${bold}[ * ] n - пропустить,${reset}
[ ] Y - быстрая сборка,
[ ] q - прекратить работу." "n"
WAY=$?
if [ $WAY -eq 255 ]; then
exit $WAY
fi
if [ $WAY -ne 254 ]; then
# Полезная работа
build
BUILD_STATUS=$?
fi
BUILD_STATUS=${BUILD_STATUS:-0}
# Если не пропустили сборку и отсроили новый пакет, не "быстрой сборкой"
if [[ $BUILD_STATUS -eq 0 && $WAY -ne 1 && $WAY -ne 254 ]]; then
if [ "$distrib" == 'stable' ] || [ "$distrib" == 'unstable' ]; then
# Хотим ли класть в репозиторий?
ask_YN "${red}Записать пакет ${package} в репозиторий (${distrib})?${reset}" "[ ] y - да,
${bold}[ * ] n - пропустить,${reset}
[ ] q - прекратить работу." "n"
WAY=$?
elif [ "$distrib" == 'UNRELEASED' ]; then
echo "${red}Запись в репозиторий невозможна: статус пакета UNRELEASED.${reset}"
else
echo "${yellow}Пропускаем запись в репозиторий: операция должна быть выполнена вручную.${reset}"
fi
if [ $WAY -eq 255 ]; then
exit $WAY
fi
if [ $WAY -eq 0 ] || [ $WAY -eq 1 ]; then
put2rep $pkgpath
fi
fi
if [ $WAY -ne 1 ]; then
# Хотим ли ставить?
echo $pkgpath
ask_YN "Установить пакет ${package}?" "[ ] y - да,
${bold}[ * ] n - пропустить,${reset}
[ ] q - прекратить работу." "n"
WAY=$?
fi
if [ $WAY -eq 0 ] || [ $WAY -eq 1 ]; then
install $pkgpath
fi
if [ $WAY -ne 1 ]; then
# Надо ли удалить?
ask_YN "Удалить файлы сборки $pkginfo*?" "[ ] y - да,
${bold}[ * ] n - пропустить,${reset}
[ ] q - прекратить работу." "n"
WAY=$?
fi
if [ $WAY -eq 0 ] || [ $WAY -eq 1 ]; then
deldeb "${pkg_dir}/${pkginfo}*"
fi
exit 0
# TODO: реализовать механизм ключей, подобно этому: https://habrahabr.ru/post/158971/