From 84d8ed4bf6055093b70b37033d43f66805e215fb Mon Sep 17 00:00:00 2001 From: krzywon Date: Wed, 24 Apr 2024 17:15:39 -0400 Subject: [PATCH 1/5] Use contents-directory pyinstaller option to not create '_internal' directory to alleviate cross-platform pathing issues --- .github/workflows/ci.yml | 2 +- installers/installer.iss | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 99b1654ae0..13dda599c4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -204,7 +204,7 @@ jobs: cd installers rm -rf build/ dist/ mkdir -p dist - pyinstaller sasview.spec + pyinstaller sasview.spec --contents-directory '.' cd dist # the following builds a symlink farm in the package; it should # not be necessary, but without it, there will be lots of errors diff --git a/installers/installer.iss b/installers/installer.iss index a48e4af3a9..8ee3a6408c 100644 --- a/installers/installer.iss +++ b/installers/installer.iss @@ -26,7 +26,7 @@ UsedUserAreasWarning=no LicenseFile=license.txt ArchitecturesInstallIn64BitMode=x64 OutputBaseFilename=setupSasView -SetupIconFile=dist\sasview\_internal\images\ball.ico +SetupIconFile=dist\sasview\images\ball.ico ; Uncomment the following line to run in non administrative install mode (install for current user only.) @@ -56,8 +56,8 @@ end; [Files] Source: "dist\sasview\sasview.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "dist\sasview\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs -Source: "dist\sasview\_internal\plugin_models\*"; DestDir: "{%USERPROFILE}\.sasview\plugin_models" -Source: "dist\sasview\_internal\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs +Source: "dist\sasview\plugin_models\*"; DestDir: "{%USERPROFILE}\.sasview\plugin_models" +Source: "dist\sasview\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs [Icons] Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon From 981c98efff038da31983626fa9698c00e171c35c Mon Sep 17 00:00:00 2001 From: krzywon Date: Wed, 24 Apr 2024 17:49:19 -0400 Subject: [PATCH 2/5] Put contents directory in EXE command as intended --- .github/workflows/ci.yml | 2 +- installers/sasview.spec | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 13dda599c4..99b1654ae0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -204,7 +204,7 @@ jobs: cd installers rm -rf build/ dist/ mkdir -p dist - pyinstaller sasview.spec --contents-directory '.' + pyinstaller sasview.spec cd dist # the following builds a symlink farm in the package; it should # not be necessary, but without it, there will be lots of errors diff --git a/installers/sasview.spec b/installers/sasview.spec index 9b091c13bf..ef8defbdb4 100644 --- a/installers/sasview.spec +++ b/installers/sasview.spec @@ -101,6 +101,7 @@ if platform.system() == 'Darwin': a.scripts, exclude_binaries=True, name='sasview', + contents-directory='.', debug=False, upx=True, icon=os.path.join("../src/sas/qtgui/images","ball.icns"), @@ -113,6 +114,7 @@ else: [], exclude_binaries=True, name='sasview', + contents-directory='.', debug=False, bootloader_ignore_signals=False, icon=os.path.join("../src/sas/qtgui/images","ball.ico"), From ad7faba1d504e1a6775c52061e01e7a581c59a6d Mon Sep 17 00:00:00 2001 From: krzywon Date: Wed, 24 Apr 2024 18:01:40 -0400 Subject: [PATCH 3/5] Underscored name, not dash --- installers/sasview.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/installers/sasview.spec b/installers/sasview.spec index ef8defbdb4..b43d6867a2 100644 --- a/installers/sasview.spec +++ b/installers/sasview.spec @@ -101,7 +101,7 @@ if platform.system() == 'Darwin': a.scripts, exclude_binaries=True, name='sasview', - contents-directory='.', + contents_directory='.', debug=False, upx=True, icon=os.path.join("../src/sas/qtgui/images","ball.icns"), @@ -114,7 +114,7 @@ else: [], exclude_binaries=True, name='sasview', - contents-directory='.', + contents_directory='.', debug=False, bootloader_ignore_signals=False, icon=os.path.join("../src/sas/qtgui/images","ball.ico"), From ae021b31edfa40c65a1972c32cdd902ba12bf766 Mon Sep 17 00:00:00 2001 From: krzywon Date: Tue, 21 May 2024 15:45:04 -0400 Subject: [PATCH 4/5] Move all doc files into user directory on installation --- installers/installer.iss | 1 + 1 file changed, 1 insertion(+) diff --git a/installers/installer.iss b/installers/installer.iss index 8ee3a6408c..72b4068ef1 100644 --- a/installers/installer.iss +++ b/installers/installer.iss @@ -56,6 +56,7 @@ end; [Files] Source: "dist\sasview\sasview.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "dist\sasview\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs +Source: "dist\sasview\doc\*"; DestDir: "{%USERPROFILE}\.sasview\doc\{#MyAppVersion}" Flags: ignoreversion recursesubdirs createallsubdirs Source: "dist\sasview\plugin_models\*"; DestDir: "{%USERPROFILE}\.sasview\plugin_models" Source: "dist\sasview\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs From d1f6ac25c469a8d3c8ff87288c714efbbe84f577 Mon Sep 17 00:00:00 2001 From: krzywon Date: Tue, 21 May 2024 16:08:38 -0400 Subject: [PATCH 5/5] Fix syntax error in installer.iss --- installers/installer.iss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installers/installer.iss b/installers/installer.iss index 72b4068ef1..ea33eb8e9f 100644 --- a/installers/installer.iss +++ b/installers/installer.iss @@ -56,7 +56,7 @@ end; [Files] Source: "dist\sasview\sasview.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "dist\sasview\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs -Source: "dist\sasview\doc\*"; DestDir: "{%USERPROFILE}\.sasview\doc\{#MyAppVersion}" Flags: ignoreversion recursesubdirs createallsubdirs +Source: "dist\sasview\doc\*"; DestDir: "{%USERPROFILE}\.sasview\doc\{#MyAppVersion}"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "dist\sasview\plugin_models\*"; DestDir: "{%USERPROFILE}\.sasview\plugin_models" Source: "dist\sasview\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs