[windows installer] fix #1668

check python version
add Gpg4win installation
This commit is contained in:
Bezleputh 2014-11-24 17:02:30 +01:00 committed by Florent
commit 2aa44acd20
2 changed files with 234 additions and 170 deletions

View file

@ -1,6 +1,9 @@
set WEBOOB_VERSION=0.i set WEBOOB_VERSION=1.0
set WEBOOB=weboob-0.i-py2.7.egg set WEBOOB=weboob-1.0-py2.7.egg
set LIST_APPLIQUATIONS_QT=qboobmsg qcineoob qcookboob qflatboob qhandjoob qhavedate qvideoob qwebcontentedit weboob-config-qt set LIST_APPLIQUATIONS_QT=qboobmsg qcineoob qcookboob qflatboob qhandjoob qhavedate qvideoob qwebcontentedit weboob-config-qt
REM x32 | x64 REM x32 | x64
set ARCHITECTURE=x32 set ARCHITECTURE=x64
set LOCAL_ARCHITECTURE=x64 set LOCAL_ARCHITECTURE=x64
REM version required for WEBOOB
set PYTHON_VERSION=2.7
set PYTHON_MINOR_VERSION=6

View file

@ -1,164 +1,225 @@
@echo off @echo off
setlocal enableextensions enabledelayedexpansion setlocal enableextensions enabledelayedexpansion
call settings.cmd call settings.cmd
echo. echo.
echo 0.Set proxy echo 0.Set proxy
set/P HTTP_PROXY=Enter HTTP_PROXY if needed : set/P HTTP_PROXY=Enter HTTP_PROXY if needed :
set/P HTTPS_PROXY=Enter HTTPS_PROXY if needed : set/P HTTPS_PROXY=Enter HTTPS_PROXY if needed :
echo. echo.
echo 1.GNU/WGET Init echo 1.GNU/WGET Init
set WGET=wget-%ARCHITECTURE%.exe set WGET=wget-%ARCHITECTURE%.exe
echo. echo.
echo 2.Check Python 2.7 Installation echo 2.Check Python Installation
set KEY_NAME=HKLM\Software\Python\PythonCore\2.7\InstallPath rem check first possible key
if %ARCHITECTURE% == x64 ( set KEY_NAME=HKLM\Software\Python\PythonCore\2.7\InstallPath
set KEY_NAME=HKLM\SOFTWARE\Python\PythonCore\2.7\InstallPath if %ARCHITECTURE% == x64 (
) set KEY_NAME=HKLM\SOFTWARE\Python\PythonCore\2.7\InstallPath
)
REG QUERY !KEY_NAME! > nul || (
set PYTHON_MSI=python-2.7.5.msi set IsPythonInstalled=0
if %ARCHITECTURE% == x64 (
set PYTHON_MSI=python-2.7.5.amd64.msi REG QUERY !KEY_NAME! >NUL 2>NUL
) if %ERRORLEVEL% EQU 0 (
set IsPythonInstalled=1
echo 2.1 Download !PYTHON_MSI! ) else (
"%WGET%" -o python_donwload --no-check-certificate "http://www.python.org/ftp/python/2.7.5/!PYTHON_MSI!" rem first key doesn't exist, test the second possible key
set KEY_NAME=HKCU\Software\Python\PythonCore\2.7\InstallPath
echo 2.2 Setup !PYTHON_MSI! REG QUERY !KEY_NAME! >NUL 2>NUL
!PYTHON_MSI! if %ERRORLEVEL% EQU 0 (
set IsPythonInstalled=1
del !PYTHON_MSI! )
del python_donwload )
)
if %IsPythonInstalled% EQU 1 (
for /F "tokens=4" %%A IN ('REG QUERY !KEY_NAME!') do ( rem check installed python version
set PythonPath=%%A for /F "tokens=4" %%A IN ('REG QUERY !KEY_NAME!') do (
) set PythonPath=%%A
)
echo.
echo 3.Check PyQt4 Installation !PythonPath!python.exe --version 2>&1 | find /i "!PYTHON_VERSION!" > tmp.txt
set KEY_NAME=HKLM\Software\PyQt4\Py2.7\InstallPath if %ERRORLEVEL% EQU 1 (
REG QUERY %KEY_NAME% > nul || ( set IsPythonInstalled=0
) else (
echo 3.1 Download PyQt4 FOR /F "eol=; tokens=3 delims=." %%i in (tmp.txt) do set minor_version=%%i
"%WGET%" -o qt_download http://heanet.dl.sourceforge.net/project/pyqt/PyQt4/PyQt-4.10.3/PyQt4-4.10.3-gpl-Py2.7-Qt4.8.5-%ARCHITECTURE%.exe if !minor_version! LSS !PYTHON_MINOR_VERSION! (
set IsPythonInstalled=0
echo 3.2 Setup PyQt4 )
PyQt4-4.10.3-gpl-Py2.7-Qt4.8.5-%ARCHITECTURE%.exe )
del PyQt4-4.10.3-gpl-Py2.7-Qt4.8.5-%ARCHITECTURE%.exe del tmp.txt
del qt_download )
)
if %IsPythonInstalled% EQU 0 (
echo. rem Python is not installed
echo 4.Check EasyInstall set PYTHON_MSI=python-!PYTHON_VERSION!.msi
if exist "%PythonPath%Scripts\easy_install.exe" ( if %ARCHITECTURE% == x64 (
goto :InstallWeboobDependances set PYTHON_MSI=python-!PYTHON_VERSION!.amd64.msi
) else ( )
echo 4.1 Setup setuptools echo 2.1 Download !PYTHON_MSI!
%PythonPath%python.exe ez_setup.py || goto :InstallFailed "%WGET%" -o python_donwload --no-check-certificate "http://www.python.org/ftp/python/!PYTHON_VERSION!/!PYTHON_MSI!"
del setuptools-1.1.6.tar.gz echo 2.2 Setup !PYTHON_MSI!
!PYTHON_MSI!
goto :InstallWeboobDependances
) del !PYTHON_MSI!
del python_donwload
:InstallWeboobDependances )
echo.
echo 5.Install Weboob Dependances for /F "tokens=4" %%A IN ('REG QUERY !KEY_NAME!') do (
echo. set PythonPath=%%A
echo -- cssselect )
%PythonPath%Scripts\easy_install.exe cssselect || goto :InstallFailed
echo. echo.
echo -- lxml echo 3.Check PyQt4 Installation
%PythonPath%Scripts\easy_install.exe lxml==3.2.5 || goto :InstallFailed set KEY_NAME=HKLM\Software\PyQt4\Py2.7\InstallPath
echo. REG QUERY %KEY_NAME% > nul || (
echo -- dateutils
%PythonPath%Scripts\easy_install.exe dateutils || goto :InstallFailed echo 3.1 Download PyQt4
echo. "%WGET%" -o qt_download http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.11.3/PyQt4-4.11.3-gpl-Py2.7-Qt4.8.6-%ARCHITECTURE%.exe
echo -- pyyaml
%PythonPath%Scripts\easy_install.exe pyyaml || goto :InstallFailed echo 3.2 Setup PyQt4
echo. PyQt4-4.11.3-gpl-Py2.7-Qt4.8.6-%ARCHITECTURE%.exe
echo -- html2text
%PythonPath%Scripts\easy_install.exe html2text || goto :InstallFailed del PyQt4-4.11.3-gpl-Py2.7-Qt4.8.6-%ARCHITECTURE%.exe
echo. del qt_download
echo -- mechanize )
%PythonPath%Scripts\easy_install.exe mechanize || goto :InstallFailed
echo. echo.
echo -- gdata echo 4.Check Gpg4win Installation
%PythonPath%Scripts\easy_install.exe gdata || goto :InstallFailed set ShouldReboot=0
echo. set KEY_NAME=HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\GPG4Win
echo -- feedparser REG QUERY %KEY_NAME% > nul || (
%PythonPath%Scripts\easy_install.exe feedparser || goto :InstallFailed
echo. echo 4.1 Download Gpg4win
echo -- pillow "%WGET%" -o gpg4win_download http://files.gpg4win.org/gpg4win-2.2.2.exe
%PythonPath%Scripts\easy_install.exe pillow==2.3.0 || goto :InstallFailed
echo. echo 4.2 Setup Gpg4win
echo -- requests gpg4win-2.2.2.exe
%PythonPath%Scripts\easy_install.exe requests==2.3.0 || goto :InstallFailed
set ShouldReboot=1
echo.
echo 6.Install WeBoob del gpg4win-2.2.2.exe
%PythonPath%Scripts\easy_install.exe %WEBOOB% || goto :InstallFailed del gpg4win_download
)
set StartupFolder=%AppData%\Microsoft\Windows\Start Menu\Programs
if exist "%StartupFolder%" Goto :FoundStartup echo.
set StartupFolder=%UserProfile%\Start Menu\Programs echo 5.Check EasyInstall
if exist "%StartupFolder%" Goto :FoundStartup if exist "%PythonPath%Scripts\easy_install.exe" (
echo Cannot find Startup folder. goto :InstallWeboobDependances
echo do not create launchers ) else (
goto :InstallSucceed
echo 5.1 Setup setuptools
:FoundStartup %PythonPath%python.exe ez_setup.py || goto :InstallFailed
if exist "%StartupFolder%\Weboob" (
goto :CreateLauncher del setuptools-1.1.6.tar.gz
) else (
md "%StartupFolder%\Weboob" goto :InstallWeboobDependances
goto :CreateLauncher )
)
:InstallWeboobDependances
:CreateLauncher echo.
for %%i in (%LIST_APPLIQUATIONS_QT%) do ( echo 6.Install Weboob Dependances
echo Process %%i echo.
echo -- cssselect
( %PythonPath%Scripts\easy_install.exe cssselect || goto :InstallFailed
echo @echo off echo.
echo start %PythonPath%pythonw.exe %PythonPath%Scripts\%%i echo -- lxml
) > %%i.bat %PythonPath%Scripts\easy_install.exe lxml==3.2.5 || goto :InstallFailed
echo.
%PythonPath%python.exe convertPNG2ICO.py "%PythonPath%\Lib\site-packages\%WEBOOB%\share\icons\hicolor\64x64\apps\%%i.png" > nul echo -- dateutils
%PythonPath%Scripts\easy_install.exe dateutils || goto :InstallFailed
if exist "%StartupFolder%\Weboob\%%i.exe" ( echo.
del "%StartupFolder%\Weboob\%%i.exe" echo -- pyyaml
) %PythonPath%Scripts\easy_install.exe pyyaml || goto :InstallFailed
echo.
"Bat_To_Exe_Converter_%ARCHITECTURE%.exe" -bat "%%i.bat" -save "%StartupFolder%\Weboob\%%i.exe" -icon "%PythonPath%\Lib\site-packages\%WEBOOB%\share\icons\hicolor\64x64\apps\%%i.ico" "%%i" echo -- html2text
del "%%i.bat" %PythonPath%Scripts\easy_install.exe html2text || goto :InstallFailed
del "%PythonPath%\Lib\site-packages\%WEBOOB%\share\icons\hicolor\64x64\apps\%%i.ico" echo.
) echo -- mechanize
%PythonPath%Scripts\easy_install.exe mechanize || goto :InstallFailed
goto :InstallSucceed echo.
echo -- gdata
:InstallSucceed %PythonPath%Scripts\easy_install.exe gdata || goto :InstallFailed
echo.
del ez_setup.py echo -- feedparser
del convertPNG2ICO.py %PythonPath%Scripts\easy_install.exe feedparser || goto :InstallFailed
echo.
echo. echo -- pillow
echo INSTALLATION PROCESS SUCCEED %PythonPath%Scripts\easy_install.exe pillow==2.3.0 || goto :InstallFailed
goto :Quit echo.
echo -- requests
:InstallFailed %PythonPath%Scripts\easy_install.exe requests==2.3.0 || goto :InstallFailed
echo.
echo INSTALLATION PROCESS FAILED echo.
goto :Quit echo 6.Install WeBoob
%PythonPath%Scripts\easy_install.exe %WEBOOB% || goto :InstallFailed
:Quit
pause set StartupFolder=%AppData%\Microsoft\Windows\Start Menu\Programs
if exist "%StartupFolder%" Goto :FoundStartup
set StartupFolder=%UserProfile%\Start Menu\Programs
if exist "%StartupFolder%" Goto :FoundStartup
echo Cannot find Startup folder.
echo do not create launchers
goto :InstallSucceed
:FoundStartup
if exist "%StartupFolder%\Weboob" (
goto :CreateLauncher
) else (
md "%StartupFolder%\Weboob"
goto :CreateLauncher
)
:CreateLauncher
for %%i in (%LIST_APPLIQUATIONS_QT%) do (
echo Process %%i
(
echo @echo off
echo start %PythonPath%pythonw.exe %PythonPath%Scripts\%%i
) > %%i.bat
%PythonPath%python.exe convertPNG2ICO.py "%PythonPath%\Lib\site-packages\%WEBOOB%\share\icons\hicolor\64x64\apps\%%i.png" > nul
if exist "%StartupFolder%\Weboob\%%i.exe" (
del "%StartupFolder%\Weboob\%%i.exe"
)
"Bat_To_Exe_Converter_%ARCHITECTURE%.exe" -bat "%%i.bat" -save "%StartupFolder%\Weboob\%%i.exe" -icon "%PythonPath%\Lib\site-packages\%WEBOOB%\share\icons\hicolor\64x64\apps\%%i.ico" "%%i"
del "%%i.bat"
del "%PythonPath%\Lib\site-packages\%WEBOOB%\share\icons\hicolor\64x64\apps\%%i.ico"
)
goto :InstallSucceed
:InstallSucceed
echo.
echo INSTALLATION PROCESS SUCCEED
if %ShouldReboot% EQU 1 (
echo.
echo YOU SHOULD REBOOT BEFORE USING WEBOOB
)
goto :Quit
:InstallFailed
echo.
echo INSTALLATION PROCESS FAILED
goto :Quit
:Quit
del "%WEBOOB%"
del ez_setup.py
del convertPNG2ICO.py
del settings.cmd
pause