Я сделал следующий скрипт
postinstall
, и сделал на его основе
.pkg
:
#!/bin/bash
# Настройка сетевого времени
ntp="time.euro.apple.com"
sudo /usr/sbin/systemsetup -setusingnetworktime on
sudo /usr/sbin/systemsetup -setnetworktimeserver "$ntp"
# Установка Homebrew в тихом режиме, логирование ошибок
NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 2>~/mypackage/error.log
# Установка пакета Python через Homebrew в тихом режиме, логирование ошибок
brew install --quiet python 2>>~/mypackage/error.log
# Установка пакетов через pip в тихом режиме, логирование ошибок
/usr/local/bin/pip3 install nuitka 2>>~/mypackage/error.log
/usr/local/bin/pip3 install imageio 2>>~/mypackage/error.log
# Работа с Python скриптом и его компиляция
cd ~/mypackage
/usr/local/bin/python3 --version 1>~/mypackage/log.log
/usr/local/bin/python3 -m nuitka "Main.py" --standalone --onefile --remove-output --enable-plugin=pyside6 --disable-console --macos-create-app-bundle --macos-app-icon="Icon.png" --deploy --quiet --disable-cache=all --disable-ccache 2>>~/mypackage/error.log
mv Main.app "Test.app" 2>>~/mypackage/error.log
mv Info.plist "Test.app/Contents" 2>>~/mypackage/error.log
mv Resources "Test.app/Contents" 2>>~/mypackage/error.log
# Перемещение скомпилированного приложения
sudo mv "Test.app" ~/Applications 2>>~/mypackage/error.log
# Удаление Homebrew и чистка
sudo /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)" 2>>~/mypackage/error.log
sudo rm -rf /opt/homebrew
# Опциональная чистка папки mypackage
# rm -rf ~/mypackage
exit 0
А получаю вот такую ошибку:
Don't run this as root!
/tmp/PKInstallSandbox.aviyyK/Scripts/com.universe.test.OtWaoJ/postinstall: line 12: brew: command not found
/tmp/PKInstallSandbox.aviyyK/Scripts/com.universe.test.OtWaoJ/postinstall: line 15: /usr/local/bin/pip3: No such file or directory
/tmp/PKInstallSandbox.aviyyK/Scripts/com.universe.test.OtWaoJ/postinstall: line 16: /usr/local/bin/pip3: No such file or directory
/tmp/PKInstallSandbox.aviyyK/Scripts/com.universe.test.OtWaoJ/postinstall: line 21: /usr/local/bin/python3: No such file or directory
mv: rename Main.app to Test.app: No such file or directory
mv: rename Info.plist to Test.app/Contents: No such file or directory
mv: rename Resources to Test.app/Contents: No such file or directory
mv: rename Test.app to /Users/elisey/Applications/Test.app: No such file or directory
/bin/bash: line 250: /opt/homebrew/bin/brew: No such file or directory
Failed to locate Homebrew!
Почему
Homebrew
не установился нормально?
Если
Homebrew
нельзя установить без
stdin
, то какие альтернативы?