Compare commits
6 Commits
0.4.2
...
6b5d7736b6
Author | SHA1 | Date | |
---|---|---|---|
6b5d7736b6 | |||
6ad9d1a47f | |||
d09b1a3439 | |||
aca10b71fe | |||
9c332106c3 | |||
fbe8944a0f |
@ -1,5 +1,8 @@
|
|||||||
История изменений:
|
История изменений:
|
||||||
|
|
||||||
|
0.4.3:
|
||||||
|
* исправлено обновление префикса при первом запуске
|
||||||
|
|
||||||
0.4.2:
|
0.4.2:
|
||||||
* исправлено создание и восстановление резервных копий с разными именами пользователей
|
* исправлено создание и восстановление резервных копий с разными именами пользователей
|
||||||
|
|
||||||
|
67
autoinstall/t-flex-cad17-applications
Normal file
67
autoinstall/t-flex-cad17-applications
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# info_ru: Приложения для T-FLEX CAD 17 (T-FLEX Анализ 17, T-FLEX Динамика 17, T-FLEX Зубчатые передачи 17, T-FLEX ЧПУ 17, T-FLEX Раскрой 17, T-FLEX Электротехника 17, T-FLEX VR 17, T-FLEX Печатные платы 17)
|
||||||
|
########################################################################
|
||||||
|
export WH_WINDOWS_VER="10"
|
||||||
|
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||||
|
export BASE_PFX="tflex17_pfx_x64_v01"
|
||||||
|
export WINEARCH="win64"
|
||||||
|
export WINEPREFIX="tflex17"
|
||||||
|
|
||||||
|
BASE_URL="https://www.tflex.ru/downloads"
|
||||||
|
FILES=(
|
||||||
|
"T-FLEX Analysis 17.zip"
|
||||||
|
"T-FLEX Dynamics 17.zip"
|
||||||
|
"T-FLEX Gears 17.zip"
|
||||||
|
"T-FLEX CAM 17.zip"
|
||||||
|
"T-FLEX Nesting 17.zip"
|
||||||
|
"T-FLEX Electrical 17.zip"
|
||||||
|
"T-FLEX VR 17.zip"
|
||||||
|
"T-FLEX Circuits 17.zip"
|
||||||
|
)
|
||||||
|
UNPACK_APP="${WH_TMP_DIR}/unpack_applications"
|
||||||
|
|
||||||
|
prepair_wine
|
||||||
|
|
||||||
|
# Функция для распаковки файла
|
||||||
|
unpack_file() {
|
||||||
|
local archive="$1"
|
||||||
|
7z x -y "$archive" -o"${UNPACK_APP}"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Функция для установки .msi файлов
|
||||||
|
install_msi_files() {
|
||||||
|
for msi_file in "${UNPACK_APP}"/*/*.msi; do
|
||||||
|
if [[ -f "$msi_file" ]]; then
|
||||||
|
echo "Установка $msi_file ..."
|
||||||
|
wine_run_install "$msi_file" /q
|
||||||
|
else
|
||||||
|
echo "Нет .msi файлов для установки в ${UNPACK_APP}/*."
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# Функция для кодирования URL
|
||||||
|
encode_url() {
|
||||||
|
local file_name="$1"
|
||||||
|
echo "${file_name// /%20}" # Заменяем пробелы на %20
|
||||||
|
}
|
||||||
|
|
||||||
|
# Скачивание всех файлов
|
||||||
|
download_all() {
|
||||||
|
for file_name in "${FILES[@]}"; do
|
||||||
|
local file_url="$(encode_url "$file_name")"
|
||||||
|
local output="${WH_TMP_DIR}/${file_name// /_}"
|
||||||
|
|
||||||
|
echo "Скачивание $file_name..."
|
||||||
|
if try_download "$BASE_URL/$file_url" "$output"; then
|
||||||
|
unpack_file "$output"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# Автоматически скачиваем и устанавливаем все файлы
|
||||||
|
download_all
|
||||||
|
install_msi_files
|
||||||
|
|
||||||
|
rm -f ${WH_TMP_DIR}/*.zip
|
||||||
|
try_remove_dir "${UNPACK_APP}"
|
65
autoinstall/t-flex-cad17-resources
Normal file
65
autoinstall/t-flex-cad17-resources
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# info_ru: Обучающие материалы, примеры, бесплатные библиотеки для T-FLEX CAD 17 (Учебное пособие 17, Стандартные элементы 17, Элементы уплотнительной техники 17, Станочные приспособления 17, Детали штампов листовой штамповки 17, Детали пресс-форм 17, Примеры 17)
|
||||||
|
########################################################################
|
||||||
|
export WH_WINDOWS_VER="10"
|
||||||
|
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||||
|
export BASE_PFX="tflex17_pfx_x64_v01"
|
||||||
|
export WINEARCH="win64"
|
||||||
|
export WINEPREFIX="tflex17"
|
||||||
|
|
||||||
|
BASE_URL="https://www.tflex.ru/downloads"
|
||||||
|
FILES=(
|
||||||
|
"T-FLEX Tutorial 17.zip"
|
||||||
|
"Standard parts 17.zip"
|
||||||
|
"Elements of sealing technology 17.zip"
|
||||||
|
"Machine tools 17.zip"
|
||||||
|
"Standard parts for sheet metal dies 17.zip"
|
||||||
|
"Standard Mold Parts 17.zip"
|
||||||
|
"Examples 17.zip"
|
||||||
|
)
|
||||||
|
UNPACK_RESOURCES="${WH_TMP_DIR}/unpack_resources"
|
||||||
|
|
||||||
|
prepair_wine
|
||||||
|
# Функция для распаковки файла
|
||||||
|
unpack_file() {
|
||||||
|
local archive="$1"
|
||||||
|
7z x -y "$archive" -o"${UNPACK_RESOURCES}"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Функция для установки .msi файлов
|
||||||
|
install_msi_files() {
|
||||||
|
for msi_file in "${UNPACK_RESOURCES}"/*/*.msi; do
|
||||||
|
if [[ -f "$msi_file" ]]; then
|
||||||
|
echo "Установка $msi_file ..."
|
||||||
|
wine_run_install "$msi_file" /q
|
||||||
|
else
|
||||||
|
echo "Нет .msi файлов для установки в ${UNPACK_RESOURCES}/unpack_dop/*."
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# Функция для кодирования URL
|
||||||
|
encode_url() {
|
||||||
|
local file_name="$1"
|
||||||
|
echo "${file_name// /%20}" # Заменяем пробелы на %20
|
||||||
|
}
|
||||||
|
|
||||||
|
# Скачивание всех файлов
|
||||||
|
download_all() {
|
||||||
|
for file_name in "${FILES[@]}"; do
|
||||||
|
local file_url="$(encode_url "$file_name")"
|
||||||
|
local output="${WH_TMP_DIR}/${file_name// /_}"
|
||||||
|
|
||||||
|
echo "Скачивание $file_name..."
|
||||||
|
if try_download "$BASE_URL/$file_url" "$output"; then
|
||||||
|
unpack_file "$output"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# Автоматически скачиваем и устанавливаем все файлы
|
||||||
|
download_all
|
||||||
|
install_msi_files
|
||||||
|
|
||||||
|
rm -f ${WH_TMP_DIR}/*.zip
|
||||||
|
try_remove_dir "${UNPACK_RESOURCES}"
|
58
winehelper
58
winehelper
@ -6,6 +6,27 @@ if [[ $(id -u) -eq 0 ]] ; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
##### DEFAULT PATH #####
|
||||||
|
SCRIPT_NAME="$(basename "$0")"
|
||||||
|
if [[ "$(realpath "$0")" == "/usr/bin/$SCRIPT_NAME" ]] ; then
|
||||||
|
# переменные для установленного WineHelper в систему
|
||||||
|
USER_WORK_PATH="$HOME/.local/share/$SCRIPT_NAME"
|
||||||
|
RUN_SCRIPT="/usr/bin/$SCRIPT_NAME"
|
||||||
|
DATA_PATH="/usr/share/$SCRIPT_NAME"
|
||||||
|
else
|
||||||
|
# переменные для тестового запуска WineHelper из репозитория
|
||||||
|
USER_WORK_PATH="$HOME/test-$SCRIPT_NAME"
|
||||||
|
RUN_SCRIPT="$(realpath "$0")"
|
||||||
|
DATA_PATH="$(dirname "$RUN_SCRIPT")"
|
||||||
|
|
||||||
|
# минимальная проверка синтаксиса скриптов
|
||||||
|
for self_check_script in "$RUN_SCRIPT" \
|
||||||
|
"$DATA_PATH/dependencies.sh" "$DATA_PATH/autoinstall"/* \
|
||||||
|
"$DATA_PATH/manualinstall"/* "$DATA_PATH/database"/*
|
||||||
|
do /usr/bin/bash -n "$self_check_script" || exit 1
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
##### MESSAGES FUNCTIONS #####
|
##### MESSAGES FUNCTIONS #####
|
||||||
print_error () { printf "\E[31m%s Ошибка: $@ %s\e[0m\n" ;}
|
print_error () { printf "\E[31m%s Ошибка: $@ %s\e[0m\n" ;}
|
||||||
print_warning () { printf "\E[33m%s Предупреждение: $@ %s\e[0m\n" ;}
|
print_warning () { printf "\E[33m%s Предупреждение: $@ %s\e[0m\n" ;}
|
||||||
@ -53,17 +74,6 @@ fi
|
|||||||
WINETRICKS_VERSION="20250102"
|
WINETRICKS_VERSION="20250102"
|
||||||
|
|
||||||
##### DEFAULT VARIABLES #####
|
##### DEFAULT VARIABLES #####
|
||||||
SCRIPT_NAME="$(basename "$0")"
|
|
||||||
if [[ "$(realpath "$0")" == "/usr/bin/$SCRIPT_NAME" ]] ; then
|
|
||||||
USER_WORK_PATH="$HOME/.local/share/$SCRIPT_NAME"
|
|
||||||
RUN_SCRIPT="/usr/bin/$SCRIPT_NAME"
|
|
||||||
DATA_PATH="/usr/share/$SCRIPT_NAME"
|
|
||||||
else
|
|
||||||
USER_WORK_PATH="$HOME/test-$SCRIPT_NAME"
|
|
||||||
RUN_SCRIPT="$(realpath "$0")"
|
|
||||||
DATA_PATH="$(dirname "$RUN_SCRIPT")"
|
|
||||||
fi
|
|
||||||
|
|
||||||
WH_VULKAN_LIBDIR="$USER_WORK_PATH/vulkan"
|
WH_VULKAN_LIBDIR="$USER_WORK_PATH/vulkan"
|
||||||
WH_PREFIXES_DIR="$USER_WORK_PATH/prefixes"
|
WH_PREFIXES_DIR="$USER_WORK_PATH/prefixes"
|
||||||
WH_DIST_DIR="$USER_WORK_PATH/dist"
|
WH_DIST_DIR="$USER_WORK_PATH/dist"
|
||||||
@ -228,18 +238,20 @@ create_new_dir () {
|
|||||||
|
|
||||||
unpack () {
|
unpack () {
|
||||||
print_info "Запуск распаковки архива $1"
|
print_info "Запуск распаковки архива $1"
|
||||||
|
local command outarg
|
||||||
case $1 in
|
case $1 in
|
||||||
*.tar.xz) local command="tar -Jxhf";;
|
*.tar.xz) command="tar -Jxhf" ; outarg="-C " ;;
|
||||||
*.tar.gz) local command="tar -xhzf" ;;
|
*.tar.gz) command="tar -xhzf" ; outarg="-C " ;;
|
||||||
*.tar.zst) local command="tar -I zstd -xhf" ;;
|
*.tar.zst) command="tar -I zstd -xhf" ; outarg="-C " ;;
|
||||||
*.tar) local command="tar -xhf" ;;
|
*.tar) command="tar -xhf" ; outarg="-C " ;;
|
||||||
|
*.zip|*.exe) command="7z x -y" ; outarg="-o" ;;
|
||||||
esac
|
esac
|
||||||
create_new_dir "$2"
|
create_new_dir "$2"
|
||||||
if $command "$1" -C "$2" ; then
|
if $command "$1" ${outarg}"$2" ; then
|
||||||
print_ok "Архив $1 распакован."
|
print_ok "Файл $1 распакован."
|
||||||
return 0
|
return 0
|
||||||
else
|
else
|
||||||
print_error "Распаковать архив $1 не удалось!"
|
print_error "Распаковать файл $1 не удалось!"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@ -889,11 +901,6 @@ init_wineprefix () {
|
|||||||
|
|
||||||
export DRIVE_C="$WINEPREFIX/drive_c"
|
export DRIVE_C="$WINEPREFIX/drive_c"
|
||||||
|
|
||||||
create_new_dir "$WINEPREFIX/dosdevices/"
|
|
||||||
if [[ ! -L "$WINEPREFIX/dosdevices/h:" ]]
|
|
||||||
then try_force_link_dir "$HOME" "$WINEPREFIX/dosdevices/h:"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ ! -f "$WINEPREFIX/.firstboot" ]] ; then
|
if [[ ! -f "$WINEPREFIX/.firstboot" ]] ; then
|
||||||
create_new_dir "$WINEPREFIX"
|
create_new_dir "$WINEPREFIX"
|
||||||
if [[ "$CLEAR_PREFIX" == "1" ]]
|
if [[ "$CLEAR_PREFIX" == "1" ]]
|
||||||
@ -929,10 +936,15 @@ init_wineprefix () {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ! -f "$WINEPREFIX/.update-timestamp" ]] ; then
|
if [[ ! -f "$WINEPREFIX/.update-timestamp" ]] ; then
|
||||||
|
print_info "Обновление префикса $WINEPREFIX."
|
||||||
"$WINELOADER" wineboot -u
|
"$WINELOADER" wineboot -u
|
||||||
wait_wineserver
|
wait_wineserver
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ ! -L "$WINEPREFIX/dosdevices/h:" ]]
|
||||||
|
then try_force_link_dir "$HOME" "$WINEPREFIX/dosdevices/h:"
|
||||||
|
fi
|
||||||
|
|
||||||
try_remove_file "$DRIVE_C/windows/system32/winemenubuilder.exe"
|
try_remove_file "$DRIVE_C/windows/system32/winemenubuilder.exe"
|
||||||
|
|
||||||
# хак для XRDP сессии
|
# хак для XRDP сессии
|
||||||
|
Reference in New Issue
Block a user