Compare commits
6 Commits
Author | SHA1 | Date | |
---|---|---|---|
6b5d7736b6 | |||
6ad9d1a47f | |||
d09b1a3439 | |||
aca10b71fe | |||
9c332106c3 | |||
fbe8944a0f |
@ -1,5 +1,8 @@
|
||||
История изменений:
|
||||
|
||||
0.4.3:
|
||||
* исправлено обновление префикса при первом запуске
|
||||
|
||||
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
|
||||
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 #####
|
||||
print_error () { printf "\E[31m%s Ошибка: $@ %s\e[0m\n" ;}
|
||||
print_warning () { printf "\E[33m%s Предупреждение: $@ %s\e[0m\n" ;}
|
||||
@ -53,17 +74,6 @@ fi
|
||||
WINETRICKS_VERSION="20250102"
|
||||
|
||||
##### 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_PREFIXES_DIR="$USER_WORK_PATH/prefixes"
|
||||
WH_DIST_DIR="$USER_WORK_PATH/dist"
|
||||
@ -228,18 +238,20 @@ create_new_dir () {
|
||||
|
||||
unpack () {
|
||||
print_info "Запуск распаковки архива $1"
|
||||
local command outarg
|
||||
case $1 in
|
||||
*.tar.xz) local command="tar -Jxhf";;
|
||||
*.tar.gz) local command="tar -xhzf" ;;
|
||||
*.tar.zst) local command="tar -I zstd -xhf" ;;
|
||||
*.tar) local command="tar -xhf" ;;
|
||||
*.tar.xz) command="tar -Jxhf" ; outarg="-C " ;;
|
||||
*.tar.gz) command="tar -xhzf" ; outarg="-C " ;;
|
||||
*.tar.zst) command="tar -I zstd -xhf" ; outarg="-C " ;;
|
||||
*.tar) command="tar -xhf" ; outarg="-C " ;;
|
||||
*.zip|*.exe) command="7z x -y" ; outarg="-o" ;;
|
||||
esac
|
||||
create_new_dir "$2"
|
||||
if $command "$1" -C "$2" ; then
|
||||
print_ok "Архив $1 распакован."
|
||||
if $command "$1" ${outarg}"$2" ; then
|
||||
print_ok "Файл $1 распакован."
|
||||
return 0
|
||||
else
|
||||
print_error "Распаковать архив $1 не удалось!"
|
||||
print_error "Распаковать файл $1 не удалось!"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
@ -889,11 +901,6 @@ init_wineprefix () {
|
||||
|
||||
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
|
||||
create_new_dir "$WINEPREFIX"
|
||||
if [[ "$CLEAR_PREFIX" == "1" ]]
|
||||
@ -929,10 +936,15 @@ init_wineprefix () {
|
||||
fi
|
||||
|
||||
if [[ ! -f "$WINEPREFIX/.update-timestamp" ]] ; then
|
||||
print_info "Обновление префикса $WINEPREFIX."
|
||||
"$WINELOADER" wineboot -u
|
||||
wait_wineserver
|
||||
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"
|
||||
|
||||
# хак для XRDP сессии
|
||||
|
Reference in New Issue
Block a user