Add a GitHub link. Also improve .spec files (no need to copy

source files). Also distinguish from running binary or script
in the displayed version.
This commit is contained in:
Alessandro
2019-09-07 21:37:26 +02:00
parent 1509e04c93
commit 44747464da
12 changed files with 125 additions and 86 deletions

View File

@@ -1,13 +1,20 @@
# -*- mode: python -*-
import glob
import os
block_cipher = None
import glob, os
data_file = [(f, '.') for f in glob.glob('*.[pu][yi]') if f != "artemis.py"]
data_file.append(('cacert.pem', '.'))
SRC_PATH = "../../src/"
a = Analysis(['artemis.py'],
data_file = [
(f, '.') for f in glob.glob(SRC_PATH + '*.[pu][yi]')
if f.split('/')[-1] != "artemis.py"
].append((SRC_PATH + 'cacert.pem', '.'))
a = Analysis([SRC_PATH + 'artemis.py'], # noqa: 821
pathex=[os.getcwd()],
binaries=[],
datas=data_file,
@@ -19,9 +26,10 @@ a = Analysis(['artemis.py'],
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
pyz = PYZ(a.pure, # noqa: 821
a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz, # noqa: 821
a.scripts,
a.binaries,
a.zipfiles,

View File

@@ -1,13 +1,20 @@
# -*- mode: python -*-
import glob
import os
block_cipher = None
import glob, os
data_file = [(f, '.') for f in glob.glob('*.[pu][yi]') if f != "artemis.py"]
data_file.append(('cacert.pem', '.'))
SRC_PATH = "../../src/"
a = Analysis(['artemis.py'],
data_file = [
(f, '.') for f in glob.glob(SRC_PATH + '*.[pu][yi]')
if f.split('/')[-1] != "artemis.py"
].append((SRC_PATH + 'cacert.pem', '.'))
a = Analysis([SRC_PATH + 'artemis.py'], # noqa: 821
pathex=[os.getcwd()],
binaries=[],
datas=data_file,
@@ -19,9 +26,10 @@ a = Analysis(['artemis.py'],
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
pyz = PYZ(a.pure, # noqa: 821
a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz, # noqa: 821
a.scripts,
[],
exclude_binaries=True,
@@ -31,7 +39,7 @@ exe = EXE(pyz,
strip=False,
upx=True,
console=False)
coll = COLLECT(exe,
coll = COLLECT(exe, # noqa: 821
a.binaries,
a.zipfiles,
a.datas,

View File

@@ -6,7 +6,7 @@
## ARTEMIS 3 .SPEC FILES
Artemis 3 .spec files are used by the package **pyinstaller** (https://www.pyinstaller.org/) to build a single standalone executable (or a one-dir package). The extreme versatility of this package is the fact that every external dependency is already embedded into the bundle. The interpreter of Python 3 is also included.
Artemis 3 .spec files are used by the package **pyinstaller** (https://www.pyinstaller.org/) to build a single standalone executable (or a one-dir package). Every external dependency is already embedded into the bundle. The interpreter of Python 3 is also included.
## Requirements
- Python 3.7.0+
@@ -15,37 +15,24 @@ Artemis 3 .spec files are used by the package **pyinstaller** (https://www.pyins
**IMPORTANT:** *To generate the standalone and the one-dir package, you must use an operating system that coincides with the target one (pyinstaller doesn't allow cross-compilation).*
## Package Building (standalone aka one-file, high portability, **suggested**)
1. Download a fresh copy of the git repository.
2. Choose the target OS in `spec_files` folder and copy the whole content (except the Artemis_onedir.spec file) into `src`
3. Open a terminal into `src` and run:
1. Download/clone the git repository.
2. In the `spec_files/<your OS>` folder open a terminal and type
```
pyinstaller Artemis.spec
```
4. Copy the `src/themes` folder into `src/dist`.
5. The ready-to-use compiled software is now present into `src/dist` folder.
3. An Artemis executable should be produced in the `dist/` folder. The `build/` folder
can be deleted.
## Package Building (one-dir, shorter startup time, low portability)
1. Download a fresh copy of the git repository.
2. Choose the target OS in `spec_files` folder and copy the whole content (except the Artemis.spec file) into `src`
3. Open a terminal into `src` and run:
1. Download/clone the git repository.
2. In the `spec_files/<your OS>` folder open a terminal and type
```
pyinstaller Artemis_onedir.spec
```
4. Copy the `src/themes` folder into `src/dist/Artemis`.
5. The ready-to-use compiled software is now present into `src/dist` folder as a bundle. All the libraries are clearly present.
3. An Artemis executable should be produced in `dist/Artemis/`. The `build/` can
be deleted.
## License
This program (ARTEMIS 3, 2014-2019) is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see: www.gnu.org/licenses
## Thanks
* **Marco Dalla Tiezza** - *Artemis I-II developer, DB parsing, Website*
* [**Alessandro Ceccato**](https://github.com/alessandro90 "GitHub profile") - *Artemis III lead developer*
* **Paolo Romani (IZ1MLL)** - *Lead β Tester, RF specialist*
* **Carl Colena** - *Sigidwiki admin, β Tester, Signals expert*
* **Marco Bortoli** - *macOS deployment, β Tester*
* **Pierpaolo Pravatto** - *Wiki page, β Tester*
* **Francesco Capostagno, Luca, Pietro** - *β Tester*
You can save a copy of the executable in a folder of you choice. At startup it will ask you to download
the database and also warn you that the `themes` folder is missing. To avoid this,
copy `src/Data` and `src/themes` in the folder containing the executable.

View File

@@ -1,13 +1,20 @@
# -*- mode: python -*-
import glob
import os
block_cipher = None
import glob,os
data_file = [(f, '.') for f in glob.glob('*.[pu][yi]') if f != "artemis.py"]
data_file.append(('cacert.pem', '.'))
SRC_PATH = "../../src/"
a = Analysis(['artemis.py'],
data_file = [
(f, '.') for f in glob.glob(SRC_PATH + '*.[pu][yi]')
if f.split('/')[-1] != "artemis.py"
].append((SRC_PATH + 'cacert.pem', '.'))
a = Analysis(SRC_PATH + ['artemis.py'], # noqa: 821
pathex=[os.getcwd()],
binaries=[],
datas=data_file,
@@ -19,9 +26,10 @@ a = Analysis(['artemis.py'],
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
pyz = PYZ(a.pure, # noqa: 821
a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz, # noqa: 821
a.scripts,
[],
exclude_binaries=True,
@@ -30,8 +38,9 @@ exe = EXE(pyz,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=False , icon='Artemis3.ico')
coll = COLLECT(exe,
console=False,
icon='Artemis3.ico')
coll = COLLECT(exe, # noqa: 821
a.binaries,
a.zipfiles,
a.datas,

View File

@@ -1,13 +1,20 @@
# -*- mode: python -*-
import glob
import os
block_cipher = None
import glob,os
data_file = [(f, '.') for f in glob.glob('*.[pu][yi]') if f != "artemis.py"]
data_file.append(('cacert.pem', '.'))
SRC_PATH = "../../src/"
a = Analysis(['artemis.py'],
data_file = [
(f, '.') for f in glob.glob(SRC_PATH + '*.[pu][yi]')
if f.split('/')[-1] != "artemis.py"
].append((SRC_PATH + 'cacert.pem', '.'))
a = Analysis([SRC_PATH + 'artemis.py'], # noqa: 821
pathex=[os.getcwd()],
binaries=[],
datas=data_file,
@@ -19,9 +26,10 @@ a = Analysis(['artemis.py'],
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
pyz = PYZ(a.pure, # noqa: 821
a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz, # noqa: 821
a.scripts,
a.binaries,
a.zipfiles,
@@ -33,4 +41,5 @@ exe = EXE(pyz,
strip=False,
upx=True,
runtime_tmpdir=None,
console=False , icon='Artemis3.ico')
console=False,
icon='Artemis3.ico')

View File

@@ -1,13 +1,20 @@
# -*- mode: python -*-
import glob
import os
block_cipher = None
import glob, os
data_file = [(f, '.') for f in glob.glob('*.[pu][yi]') if f != "artemis.py"]
data_file.append(('themes','./themes'))
data_file.append(('cacert.pem', '.'))
a = Analysis(['artemis.py'],
SRC_PATH = "../../src/"
data_file = [
(f, '.') for f in glob.glob(SRC_PATH + '*.[pu][yi]')
if f.split('/')[-1] != "artemis.py"
].extend(((SRC_PATH + 'cacert.pem', '.'), ('themes', './themes')))
a = Analysis([SRC_PATH + 'artemis.py'], # noqa: 821
pathex=[os.getcwd()],
binaries=[],
datas=data_file,
@@ -19,9 +26,10 @@ a = Analysis(['artemis.py'],
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
pyz = PYZ(a.pure, # noqa: 821
a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz, # noqa: 821
a.scripts,
[],
exclude_binaries=True,
@@ -30,15 +38,15 @@ exe = EXE(pyz,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=False )
coll = COLLECT(exe,
console=False)
coll = COLLECT(exe, # noqa: 821
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=True,
name='Artemis')
app = BUNDLE(coll,
app = BUNDLE(coll, # noqa: 821
name='Artemis.app',
icon='Artemis3.icns',
bundle_identifier=None)