added network repo (--network)

parent 89c66c35
...@@ -6,6 +6,7 @@ NVIDIA=false ...@@ -6,6 +6,7 @@ NVIDIA=false
VM=false VM=false
CLEAN=false CLEAN=false
DESKTOP_ENVS=() # Список выбранных рабочих окружений (например, gnome, hyprland) DESKTOP_ENVS=() # Список выбранных рабочих окружений (например, gnome, hyprland)
NETWORK=false
# базовые функции # базовые функции
. $(dirname $0)/common . $(dirname $0)/common
...@@ -135,7 +136,7 @@ makebuild() { ...@@ -135,7 +136,7 @@ makebuild() {
revert_temp_commit revert_temp_commit
} }
OPTS=$(getopt -o h --long help,nvidia,debug,clean,all,vm,gnome,hyprland,repos: -- "$@") OPTS=$(getopt -o h --long help,nvidia,debug,clean,all,vm,gnome,hyprland,net,network,repos: -- "$@")
if [ $? != 0 ]; then if [ $? != 0 ]; then
print_error "Ошибка обработки опций." print_error "Ошибка обработки опций."
exit 1 exit 1
...@@ -158,7 +159,7 @@ while true; do ...@@ -158,7 +159,7 @@ while true; do
printf " --gnome Собрать дистрибутив с GNOME (по умолчанию)\n" printf " --gnome Собрать дистрибутив с GNOME (по умолчанию)\n"
printf " --hyprland Собрать дистрибутив с Hyprland\n" printf " --hyprland Собрать дистрибутив с Hyprland\n"
printf " -h, --help Вывод этой справки\n" printf " -h, --help Вывод этой справки\n"
shift exit 0
;; ;;
--nvidia) --nvidia)
NVIDIA=true NVIDIA=true
...@@ -189,6 +190,10 @@ while true; do ...@@ -189,6 +190,10 @@ while true; do
DESKTOP_ENVS+=("hyprland") DESKTOP_ENVS+=("hyprland")
shift shift
;; ;;
--net|--network)
NETWORK="--network"
shift
;;
--repos) --repos)
REPOS="$2" REPOS="$2"
shift shift
...@@ -212,9 +217,11 @@ if [ -z "REPOS" ]; then ...@@ -212,9 +217,11 @@ if [ -z "REPOS" ]; then
REPOS="sisyphus,ximper" REPOS="sisyphus,ximper"
fi fi
buildertmp=$(create_tmp) if [ -z "$APTCONF" ]; then
APTCONF=$($(dirname $0)/gen-apt-conf -d $buildertmp -r $REPOS) buildertmp=$(create_tmp)
APTTMP=$(dirname $APTCONF) APTCONF=$($(dirname $0)/gen-apt-conf $NETWORK -d $buildertmp -r $REPOS)
APTTMP=$(dirname $APTCONF)
fi
# Установить GNOME по умолчанию, если ничего не выбрано # Установить GNOME по умолчанию, если ничего не выбрано
if [ ${#DESKTOP_ENVS[@]} -eq 0 ]; then if [ ${#DESKTOP_ENVS[@]} -eq 0 ]; then
......
#!/bin/bash #!/bin/bash
NETWORK=false
# базовые функции # базовые функции
. $(dirname $0)/common . $(dirname $0)/common
OPTS=$(getopt -o h,d:,r: --long help,dir:,repos: -- "$@") OPTS=$(getopt -o h,d:,r: --long help,net,network,dir:,repos: -- "$@")
if [ $? != 0 ]; then if [ $? != 0 ]; then
print_error "Ошибка обработки опций." print_error "Ошибка обработки опций."
exit 1 exit 1
...@@ -17,10 +19,15 @@ while true; do ...@@ -17,10 +19,15 @@ while true; do
-h|--help) -h|--help)
printf "Использование: $0 [опции]\n\n" printf "Использование: $0 [опции]\n\n"
printf "Опции:\n" printf "Опции:\n"
printf " -h, --help Вывод этой справки\n" printf " -h, --help Вывод этой справки\n"
printf " -d, --dir Путь к tmp\n" printf " -d, --dir Путь к tmp\n"
printf " -r, --repos Список репозиториев\n" printf " -r, --repos Список репозиториев\n"
shift printf " --net, --network Использовать сетевые репозитории\n\n"
printf "Репозитории:\n"
printf " sisyphus\n"
printf " ximper\n"
printf " hasher\n"
exit 0
;; ;;
-d|--dir) -d|--dir)
buildertmp="$2" buildertmp="$2"
...@@ -47,23 +54,30 @@ gen_sources() { ...@@ -47,23 +54,30 @@ gen_sources() {
for repo in $REPOS; do for repo in $REPOS; do
case "$repo" in case "$repo" in
*sisyphus*) *sisyphus*)
base_url="http://ftp.altlinux.org/pub/distributions/ALTLinux Sisyphus"
local_path="file:/var/ftp/ pub/ALTLinux/Sisyphus"
if [ "$NETWORK" == "true" ]; then
repo_path="$base_url"
else
repo_path="$local_path"
fi
cat <<EOF >> "$SOURCES" cat <<EOF >> "$SOURCES"
rpm [alt] file:/var/ftp/ pub/ALTLinux/Sisyphus/x86_64 classic rpm [alt] $repo_path/x86_64 classic
rpm [alt] file:/var/ftp/ pub/ALTLinux/Sisyphus/noarch classic rpm [alt] $repo_path/x86_64-i586 classic
rpm [alt] file:/var/ftp/ pub/ALTLinux/Sisyphus/x86_64-i586 classic rpm [alt] $repo_path/noarch classic
EOF
;;
*etersoft*)
cat <<EOF >> "$SOURCES"
rpm file:/var/ftp/pub/Etersoft/WINE@Etersoft/9-testing/WINE x86_64/ALTLinux/Sisyphus main
rpm file:/var/ftp/pub/Etersoft/WINE@Etersoft/9-testing/WINE/x86_64 ALTLinux/Sisyphus/extra main
#rpm file:/var/ftp/pvt/Etersoft/WINE@Etersoft/9-testing/WINE-Network x86_64/ALTLinux/Sisyphus main
EOF EOF
;; ;;
*ximper*) *ximper*)
base_url="https://download.etersoft.ru/pub/download/ximper"
local_path="file:/var/ftp/pub/download/ximper"
if [ "$NETWORK" == "true" ]; then
repo_path="$base_url"
else
repo_path="$local_path"
fi
cat <<EOF >> "$SOURCES" cat <<EOF >> "$SOURCES"
rpm file:/var/ftp/pub/download/ximper/ XimperLinuxRepository/x86_64 addon rpm $repo_path/x86_64 addon
rpm file:/var/ftp/pub/download/ximper/ XimperLinuxRepository/noarch addon rpm $repo_path/noarch addon
EOF EOF
;; ;;
*hasher*) *hasher*)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment