From f7df187ffb2ae865f751bc32685759d29bb6ff3a Mon Sep 17 00:00:00 2001 From: Boris Pozdena Date: Sun, 21 Aug 2022 22:29:08 +0200 Subject: [PATCH] Reduce AppImage size by about 100MB --- AppImageBuilder.yml | 7 ++++++- src/OneDriveGUI.py | 14 +++++++++----- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/AppImageBuilder.yml b/AppImageBuilder.yml index bc6ec2e..06391f2 100644 --- a/AppImageBuilder.yml +++ b/AppImageBuilder.yml @@ -9,7 +9,12 @@ script: - rm -rf AppDir/usr/lib/python3.8/site-packages/PySide6/Qt/qml/ - rm -rf AppDir/usr/lib/python3.8/site-packages/PySide6/examples/ - rm -rf AppDir/usr/lib/python3.8/site-packages/PySide6/Qt/resources/ - - rm AppDir/usr/lib/python3.8/site-packages/PySide6/{assistant,designer,linguist,lrelease,lupdate} + - rm -rf AppDir/usr/lib/python3.8/site-packages/PySide6/Qt/translations/qtwebengine_locales/ + - rm -f AppDir/usr/lib/python3.8/site-packages/PySide6/{assistant,designer,linguist,lrelease,lupdate} + - rm -f AppDir/usr/lib/python3.8/site-packages/PySide6/{Qt3D*,QtBluetooth*,QtCharts*,QtConcurrent*,QtDataVisualization*,QtDBus*,QtDesigner*,QtHelp*,QtMultimedia*,QtNetwork*,QtOpenGL*,QtPositioning*,QtPrintSupport*,QtQml*,QtQuick*,QtRemoteObjects*,QtScxml*,QtSensors*,QtSerialPort*,QtSql*,QtStateMachine*,QtSvg*,QtTest*,QtWeb*,QtXml*} + - shopt -s extglob + - rm -rf AppDir/usr/lib/python3.8/site-packages/PySide6/Qt/lib/!(libQt6OpenGL*|libQt6XcbQpa*|libQt6Wayland*|libQt6Egl*|libicudata*|libicuuc*|libicui18n*|libQt6DBus*|libQt6Network*|libQt6Qml*|libQt6Core*|libQt6Gui*|libQt6Widgets*|libQt6Svg*|libQt6UiTools*) + AppDir: path: ./AppDir diff --git a/src/OneDriveGUI.py b/src/OneDriveGUI.py index 388dc1e..6a57ee2 100644 --- a/src/OneDriveGUI.py +++ b/src/OneDriveGUI.py @@ -41,9 +41,6 @@ from PySide6.QtWidgets import ( from urllib3 import HTTPSConnectionPool # TODO: Split into multiple files once all main features are implemented. -# Import for login windows. -from ui.ui_login import Ui_LoginWindow -from ui.ui_external_login import Ui_ExternalLoginWindow # Imports for main window. from ui.ui_mainwindow import Ui_MainWindow @@ -58,11 +55,18 @@ from ui.ui_profile_settings_page import Ui_profile_settings # Imports for GUI settings window from ui.ui_gui_settings_window import Ui_gui_settings_window +# Import for login windows. +# Don't use WebEngine login window when running from AppImage. +DIR_PATH = os.path.dirname(os.path.realpath(__file__)) +APPIMAGE = True if "tmp/.mount_One" in DIR_PATH else False +if APPIMAGE: + from ui.ui_external_login import Ui_ExternalLoginWindow +else: + from ui.ui_login import Ui_LoginWindow + PROFILES_FILE = os.path.expanduser("~/.config/onedrive-gui/profiles") GUI_SETTINGS_FILE = os.path.expanduser("~/.config/onedrive-gui/gui_settings") -DIR_PATH = os.path.dirname(os.path.realpath(__file__)) -APPIMAGE = True if "tmp/.mount_One" in DIR_PATH else False class SetupWizard(QWizard):