From 749f90bc376243d9cf47163febd925075fb70f81 Mon Sep 17 00:00:00 2001 From: Esteban Date: Mon, 3 Apr 2023 16:44:22 +0200 Subject: [PATCH 1/7] mod: Add post installation fix of OpenCV pathes instead of hot fixing at each run --- innosetup.iss | 1 + patchOpenCV.bat | 13 +++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 patchOpenCV.bat diff --git a/innosetup.iss b/innosetup.iss index 799876ad..1dd67df3 100644 --- a/innosetup.iss +++ b/innosetup.iss @@ -69,6 +69,7 @@ Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{ [Run] Filename: "{tmp}\vc_redist.x64.exe"; StatusMsg: "Installing Visual C++ Redistributable Packages for Visual Studio 2019"; Parameters: "/quiet"; Check: VC2019RedistNeedsInstall ; Flags: waituntilterminated +Filename: "{app}\patchOpenCV.bat"; StatusMsg: "Patching OpenCV"; Parameters: "/quiet"; Flags: waituntilterminated Filename: "{app}\console.bat"; Description: {cm:LaunchProgram,ODM Console}; Flags: nowait postinstall skipifsilent [Code] diff --git a/patchOpenCV.bat b/patchOpenCV.bat new file mode 100644 index 00000000..f9855e51 --- /dev/null +++ b/patchOpenCV.bat @@ -0,0 +1,13 @@ +set ODMBASE=%~dp0 +set VIRTUAL_ENV=%ODMBASE%venv +set PYENVCFG=%VIRTUAL_ENV%\pyvenv.cfg + +rem Hot-patching pyvenv.cfg +echo home = %ODMBASE%venv\Scripts> "%PYENVCFG%" +echo include-system-site-packages = false>> "%PYENVCFG%" + +rem Hot-patching cv2 extension configs +echo BINARIES_PATHS = [r"%SBBIN%"] + BINARIES_PATHS> venv\Lib\site-packages\cv2\config.py +echo PYTHON_EXTENSIONS_PATHS = [r'''%VIRTUAL_ENV%\lib\site-packages\cv2\python-3.8'''] + PYTHON_EXTENSIONS_PATHS> venv\Lib\site-packages\cv2\config-3.8.py + +cls \ No newline at end of file From 59df84f1a816acaadf57a3bffcfa2ea2f5edc34a Mon Sep 17 00:00:00 2001 From: Esteban Date: Mon, 3 Apr 2023 16:51:50 +0200 Subject: [PATCH 2/7] mod: Removing hot fixing --- win32env.bat | 8 -------- 1 file changed, 8 deletions(-) diff --git a/win32env.bat b/win32env.bat index 8428b1b3..2b9eb3b6 100644 --- a/win32env.bat +++ b/win32env.bat @@ -23,14 +23,6 @@ set VIRTUAL_ENV=%ODMBASE%venv set PYTHONPATH=%VIRTUAL_ENV% set PYENVCFG=%VIRTUAL_ENV%\pyvenv.cfg -rem Hot-patching pyvenv.cfg -echo home = %ODMBASE%venv\Scripts> "%PYENVCFG%" -echo include-system-site-packages = false>> "%PYENVCFG%" - -rem Hot-patching cv2 extension configs -echo BINARIES_PATHS = [r"%SBBIN%"] + BINARIES_PATHS> venv\Lib\site-packages\cv2\config.py -echo PYTHON_EXTENSIONS_PATHS = [r'''%VIRTUAL_ENV%\lib\site-packages\cv2\python-3.8'''] + PYTHON_EXTENSIONS_PATHS> venv\Lib\site-packages\cv2\config-3.8.py - if not defined PROMPT set PROMPT=$P$G if defined _OLD_VIRTUAL_PROMPT set PROMPT=%_OLD_VIRTUAL_PROMPT% From 9735c1cff826617513ef3a67d5d6be0e8ba84b33 Mon Sep 17 00:00:00 2001 From: Esteban Date: Wed, 5 Apr 2023 11:21:22 +0200 Subject: [PATCH 3/7] mod: Add parameter to setup ProgramData folder during install --- innosetup.iss | 3 +++ 1 file changed, 3 insertions(+) diff --git a/innosetup.iss b/innosetup.iss index 1dd67df3..4b2c132f 100644 --- a/innosetup.iss +++ b/innosetup.iss @@ -60,6 +60,9 @@ Source: "win32env.bat"; DestDir: "{app}"; Flags: ignoreversion Source: "winrun.bat"; DestDir: "{app}"; Flags: ignoreversion Source: "SuperBuild\download\vc_redist.x64.exe"; DestDir: {tmp}; Flags: dontcopy +[Dirs] +Name: "{commonappdata}\ODM"; Permissions: users-modify + [Icons] Name: {group}\ODM Console; Filename: "{app}\console.bat"; WorkingDir: "{app}" Name: "{userdesktop}\ODM Console"; Filename: "{app}\console.bat"; WorkingDir: "{app}"; Tasks: desktopicon From a11992ab0f211a9e2442c4f191854a22d10f3e61 Mon Sep 17 00:00:00 2001 From: Esteban Date: Wed, 5 Apr 2023 11:21:57 +0200 Subject: [PATCH 4/7] mod: Downloading models to ProgramData folder under windows --- opendm/ai.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/opendm/ai.py b/opendm/ai.py index 834d4043..31c31f81 100644 --- a/opendm/ai.py +++ b/opendm/ai.py @@ -3,11 +3,16 @@ from opendm.net import download from opendm import log import zipfile import time +import sys, platform def get_model(namespace, url, version, name = "model.onnx"): version = version.replace(".", "_") - base_dir = os.path.join(os.path.abspath(os.path.join(os.path.dirname(__file__), "..")), "storage", "models") + base_dir = os.path.join(os.path.dirname(__file__), "..") + if sys.platform == 'win32': + base_dir = os.path.join(os.getenv('PROGRAMDATA'),"ODM") + base_dir = os.path.join(os.path.abspath(base_dir), "storage", "models") + namespace_dir = os.path.join(base_dir, namespace) versioned_dir = os.path.join(namespace_dir, version) From 6c32fc0594859e36433ea530528dcf74ee99900a Mon Sep 17 00:00:00 2001 From: Piero Toffanin Date: Wed, 5 Apr 2023 10:42:40 -0400 Subject: [PATCH 5/7] Fixes, set pycache location --- innosetup.iss | 3 ++- opendm/ai.py | 2 +- win32env.bat | 1 + patchOpenCV.bat => winpostinstall.bat | 0 4 files changed, 4 insertions(+), 2 deletions(-) rename patchOpenCV.bat => winpostinstall.bat (100%) diff --git a/innosetup.iss b/innosetup.iss index 4b2c132f..3fd65132 100644 --- a/innosetup.iss +++ b/innosetup.iss @@ -59,6 +59,7 @@ Source: "settings.yaml"; DestDir: "{app}"; Flags: ignoreversion Source: "win32env.bat"; DestDir: "{app}"; Flags: ignoreversion Source: "winrun.bat"; DestDir: "{app}"; Flags: ignoreversion Source: "SuperBuild\download\vc_redist.x64.exe"; DestDir: {tmp}; Flags: dontcopy +Source: "winpostinstall.bat"; DestDir: "{app}"; Flags: ignoreversion [Dirs] Name: "{commonappdata}\ODM"; Permissions: users-modify @@ -72,7 +73,7 @@ Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{ [Run] Filename: "{tmp}\vc_redist.x64.exe"; StatusMsg: "Installing Visual C++ Redistributable Packages for Visual Studio 2019"; Parameters: "/quiet"; Check: VC2019RedistNeedsInstall ; Flags: waituntilterminated -Filename: "{app}\patchOpenCV.bat"; StatusMsg: "Patching OpenCV"; Parameters: "/quiet"; Flags: waituntilterminated +Filename: "{app}\winpostinstall.bat"; StatusMsg: "Post Install"; Flags: waituntilterminated runhidden Filename: "{app}\console.bat"; Description: {cm:LaunchProgram,ODM Console}; Flags: nowait postinstall skipifsilent [Code] diff --git a/opendm/ai.py b/opendm/ai.py index 31c31f81..eab76499 100644 --- a/opendm/ai.py +++ b/opendm/ai.py @@ -3,7 +3,7 @@ from opendm.net import download from opendm import log import zipfile import time -import sys, platform +import sys def get_model(namespace, url, version, name = "model.onnx"): version = version.replace(".", "_") diff --git a/win32env.bat b/win32env.bat index 2b9eb3b6..a73f63d5 100644 --- a/win32env.bat +++ b/win32env.bat @@ -15,6 +15,7 @@ set GDAL_DRIVER_PATH=%GDALBASE%\gdalplugins set OSFMBASE=%ODMBASE%SuperBuild\install\bin\opensfm\bin set SBBIN=%ODMBASE%SuperBuild\install\bin set PDAL_DRIVER_PATH=%ODMBASE%SuperBuild\install\bin +set PYTHONPYCACHEPREFIX=%PROGRAMDATA%\ODM\pycache set PATH=%GDALBASE%;%SBBIN%;%OSFMBASE% set PROJ_LIB=%GDALBASE%\data\proj diff --git a/patchOpenCV.bat b/winpostinstall.bat similarity index 100% rename from patchOpenCV.bat rename to winpostinstall.bat From a2ee77b11489c7189038d30e6bf1edf639ff364c Mon Sep 17 00:00:00 2001 From: Esteban Date: Wed, 5 Apr 2023 20:28:14 +0200 Subject: [PATCH 6/7] fix: missing variable --- winpostinstall.bat | 1 + 1 file changed, 1 insertion(+) diff --git a/winpostinstall.bat b/winpostinstall.bat index f9855e51..690af9aa 100644 --- a/winpostinstall.bat +++ b/winpostinstall.bat @@ -1,6 +1,7 @@ set ODMBASE=%~dp0 set VIRTUAL_ENV=%ODMBASE%venv set PYENVCFG=%VIRTUAL_ENV%\pyvenv.cfg +set SBBIN=%ODMBASE%SuperBuild\install\bin rem Hot-patching pyvenv.cfg echo home = %ODMBASE%venv\Scripts> "%PYENVCFG%" From 6c94338a853b56ba3113d7b17d05fee60156c539 Mon Sep 17 00:00:00 2001 From: Piero Toffanin Date: Wed, 5 Apr 2023 21:58:17 -0400 Subject: [PATCH 7/7] Bump version --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index fd2a0186..94ff29cc 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.1.0 +3.1.1