Files
NoIdle/BUILD_LINUX.sh

128 lines
3.4 KiB
Bash
Raw Permalink Normal View History

#!/bin/bash
# Script para compilar NoIdle no Linux usando Docker
set -e
echo "========================================"
echo "NoIdle - Build Script (Linux → Windows)"
echo "========================================"
echo ""
# Verificar se Docker está instalado
if ! command -v docker &> /dev/null; then
echo "❌ Docker não está instalado!"
echo "Instale com: sudo apt install docker.io"
exit 1
fi
echo "✅ Docker encontrado"
echo ""
# Verificar se o arquivo fonte existe
if [ ! -f "CLIENTE_CORRIGIDO.py" ]; then
echo "❌ Arquivo CLIENTE_CORRIGIDO.py não encontrado!"
exit 1
fi
echo "✅ Arquivo fonte encontrado"
echo ""
# Opção 1: Usar imagem pronta
echo "Escolha o método de build:"
echo "1) Usar imagem Docker pronta (cdrx/pyinstaller-windows)"
echo "2) Construir imagem customizada"
read -p "Opção (1 ou 2): " opcao
if [ "$opcao" == "2" ]; then
echo ""
echo "Construindo imagem Docker..."
docker build -f Dockerfile.build -t noidle-builder .
echo "✅ Imagem construída"
echo ""
echo "Compilando NoIdle.exe..."
docker run --rm -v "$(pwd):/src" noidle-builder
else
echo ""
echo "Compilando NoIdle.exe com imagem pronta..."
docker run --rm -v "$(pwd):/src" cdrx/pyinstaller-windows:python3 \
/bin/bash -c "pip install pywin32 psutil requests pystray pillow schedule && \
pyinstaller --onefile --windowed --name NoIdle CLIENTE_CORRIGIDO.py"
fi
echo ""
echo "========================================"
echo "✅ BUILD CONCLUÍDO!"
echo "========================================"
echo ""
# Verificar se o executável foi criado
if [ -f "dist/NoIdle.exe" ]; then
SIZE=$(du -h "dist/NoIdle.exe" | cut -f1)
echo "📦 Executável: dist/NoIdle.exe"
echo "📏 Tamanho: $SIZE"
echo ""
echo "Próximos passos:"
echo "1. Teste em uma máquina Windows"
echo "2. Distribua junto com os scripts PowerShell"
echo ""
else
echo "❌ Erro: dist/NoIdle.exe não foi criado!"
exit 1
fi
# Oferecer criar pacote
read -p "Criar pacote ZIP para distribuição? (s/n): " criar_zip
if [ "$criar_zip" == "s" ]; then
echo ""
echo "Criando pacote..."
# Criar diretório temporário
mkdir -p NoIdle-Package
# Copiar arquivos
cp dist/NoIdle.exe NoIdle-Package/
cp CONFIGURAR_AUTOSTART_NOIDLE.ps1 NoIdle-Package/ 2>/dev/null || true
cp VERIFICAR_E_CORRIGIR_NOIDLE.ps1 NoIdle-Package/ 2>/dev/null || true
cp GUIA_RAPIDO_AUTOSTART.md NoIdle-Package/ 2>/dev/null || true
cp LEIA_PRIMEIRO.md NoIdle-Package/ 2>/dev/null || true
# Criar README
cat > NoIdle-Package/README.txt << 'EOF'
# NoIdle - Pacote de Instalação v1.0
## Conteúdo:
- NoIdle.exe - Cliente principal
- CONFIGURAR_AUTOSTART_NOIDLE.ps1 - Script de configuração
- VERIFICAR_E_CORRIGIR_NOIDLE.ps1 - Script de diagnóstico
- GUIA_RAPIDO_AUTOSTART.md - Guia do usuário
- LEIA_PRIMEIRO.md - Documentação completa
## Instalação Rápida:
1. Execute NoIdle.exe
2. Insira a chave de ativação
3. Reinicie o computador
4. O NoIdle iniciará automaticamente!
## Resolver Problemas:
Se não iniciar automaticamente:
1. Execute: VERIFICAR_E_CORRIGIR_NOIDLE.ps1 -AutoFix
2. Reinicie novamente
Leia LEIA_PRIMEIRO.md para mais informações.
EOF
# Criar ZIP
zip -r NoIdle-v1.0.zip NoIdle-Package/
# Limpar
rm -rf NoIdle-Package
echo "✅ Pacote criado: NoIdle-v1.0.zip"
echo ""
fi
echo "Pronto! 🚀"