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:
@@ -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()],
|
||||
|
||||
@@ -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
42
spec_files/Linux/build.sh
Normal 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."
|
||||
51
spec_files/Linux/updater.spec
Normal file
51
spec_files/Linux/updater.spec
Normal 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')
|
||||
Reference in New Issue
Block a user