Fix a bug in the *.spec files and also apply the following major changes:

- Add support for adding the base folder to PATH.
- Only display one pop up window at a time in order to avoid confusion.
- Add automatic updates feature:
	- Windows and Linux versions will be shipped with an updater program used to
	  update both Artemis and the updater itself.
	- MacOs versions will not have the updater. Instead the user will be asked
	  to download the new software version (if present) via browser.
This commit is contained in:
Alessandro
2019-09-21 16:11:53 +02:00
parent 08b3312b23
commit 8e79bf6adf
34 changed files with 1360 additions and 280 deletions

View File

@@ -11,8 +11,9 @@ SRC_PATH = "../../src/"
data_file = [
(f, '.') for f in glob.glob(SRC_PATH + '*.[pu][yi]')
if f.split('/')[-1] != "artemis.py"
].append((SRC_PATH + 'cacert.pem', '.'))
if f.split('/')[-1] != "artemis.py" and f.split('/')[-1] != "updater.py"
]
data_file.append((SRC_PATH + 'cacert.pem', '.'))
a = Analysis([SRC_PATH + 'artemis.py'], # noqa: 821
pathex=[os.getcwd()],

View File

@@ -12,7 +12,8 @@ SRC_PATH = "../../src/"
data_file = [
(f, '.') for f in glob.glob(SRC_PATH + '*.[pu][yi]')
if f.split('/')[-1] != "artemis.py"
].append((SRC_PATH + 'cacert.pem', '.'))
]
data_file.append((SRC_PATH + 'cacert.pem', '.'))
a = Analysis([SRC_PATH + 'artemis.py'], # noqa: 821
pathex=[os.getcwd()],

42
spec_files/Linux/build.sh Normal file
View File

@@ -0,0 +1,42 @@
echo "Build Artemis executable.."
rm -rf output
mkdir output
mkdir output/artemis
pyinstaller Artemis.spec
mv -v ./dist/Artemis ./output/Artemis
rm -rfv dist build
echo "Build _ArtemisUpdater.."
pyinstaller updater.spec
mv -v ./dist/_ArtemisUpdater ./output/_ArtemisUpdater
rm -rfv dist build
echo "Create single archives"
cd output
cp -r ../../../src/themes artemis/themes
rm -f artemis/themes/__current_theme
cp Artemis artemis/Artemis
cp _ArtemisUpdater artemis/_ArtemisUpdater
tar -czvf Artemis_linux.tar.gz Artemis -C artemis themes
tar -czvf _ArtemisUpdater_linux.tar.gz ./_ArtemisUpdater
echo "Create full archive for website"
cp ../artemis3.svg artemis
cp ../create_shortcut.sh artemis
tar -czvf ArtemisWebDownlaod_linux.tar.gz artemis
echo "Get size and sha256"
python ../../__get_hash_code.py Artemis_linux.tar.gz _ArtemisUpdater_linux.tar.gz ArtemisWebDownlaod_linux.tar.gz
cd ..
echo "Done."

View File

@@ -0,0 +1,51 @@
# -*- mode: python ; coding: utf-8 -*-
import os
BASE_FOLDER = "../../src/"
block_cipher = None
data_file = [
(os.path.join(BASE_FOLDER, "download_db_window.ui"), "."),
(os.path.join(BASE_FOLDER, "download_window.py"), "."),
(os.path.join(BASE_FOLDER, "utilities.py"), "."),
(os.path.join(BASE_FOLDER, "versioncontroller.py"), "."),
(os.path.join(BASE_FOLDER, "downloadtargetfactory.py"), "."),
(os.path.join(BASE_FOLDER, "executable_utilities.py"), "."),
(os.path.join(BASE_FOLDER, "os_utilities.py"), "."),
(os.path.join(BASE_FOLDER, "web_utilities.py"), "."),
(os.path.join(BASE_FOLDER, "constants.py"), "."),
(os.path.join(BASE_FOLDER, "threads.py"), "."),
(os.path.join(BASE_FOLDER, "default_imgs_rc.py"), "."),
(os.path.join(BASE_FOLDER, "cacert.pem"), "."),
]
a = Analysis([os.path.join(BASE_FOLDER, 'updater.py')], # noqa: 821
pathex=[os.getcwd()],
binaries=[],
datas=data_file,
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pyz = PYZ(a.pure, # noqa: 821
a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz, # noqa: 821
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='_ArtemisUpdater',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
runtime_tmpdir=None,
console=False,
icon='Artemis3.ico')