Merge branch 'minor_improvements' (fix conflicts on readme files)

This commit is contained in:
Alessandro
2019-09-08 15:25:22 +02:00
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+
@@ -17,37 +17,24 @@ Artemis 3 .spec files are used by the package **pyinstaller** (https://www.pyins
**IMPORTANT (LINUX COMPILING):** *The executable that PyInstaller builds is not fully static, in that it still depends on the system libc. **Under Linux, the ABI of GLIBC is backward compatible, but not forward compatible. So if you link against a newer GLIBC, you can't run the resulting executable on an older system**. The supplied binary bootloader should work with older GLIBC. However, the libpython.so and other dynamic libraries still depend on the newer GLIBC. The solution is to compile the Python interpreter with its modules (and also probably bootloader) on the oldest system you have around so that it gets linked with the oldest version of GLIBC.* (Source: PyInstaller)
## 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**](https://github.com/marbort "GitHub profile") - *macOS deployment, β Tester*
* [**Pierpaolo Pravatto**](https://github.com/ppravatto "GitHub profile") - *Wiki page, β Tester*
* [**Francesco Capostagno**](https://github.com/fcapostagno "GitHub profile"), **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)