A demo project using pyupdater and wxPython for creating a self updating linux application.
Ubuntu 16.04 & Python2.7:
pip install pyupdater
pip install -U \
-f https://extras.wxpython.org/wxPython4/extras/linux gtk3/ubuntu-16.04 \
wxPython
- Create a keypack. In the repo folder type:
pyupdater keys -c
- Enter the name of you application:
maindemo
- Now initialize the project:
pyupdater init
- Enter projectname: maindemo | Company: maindemo Ltd | Url: localhost:8000 | Backup URL: N | Enable patch update: N | Use current directory: Y
- Import the keys:
pyupdater keys -i
- Now create a spec file for future builds:
pyupdater make-spec -w run.py
- Your project folder should now contain a
/nix64.spec
file. - Next you can start to build a release with the generated spec.
- Open the file
wxpythonupdater/__init__.py
and increase the version to 1.0.0. - Create a release:
pyupdater build --app-version=1.0.0 nix64.spec
- Sign the release:
pyupdater pkg --process --sign
- In
pyu-data/deploy
is now version 1.0.0 and akeys.tar.gz
and aversions.tar.gz
. - Your release is ready and depoyed on your machine
- Now start a fileserver for testing.
Start a fileserver so you are able to check for updates.
- Run:
./run_fileserver
- Open your browser and navigate to:
localhost:8000
- Download and extract the release
- Execute the demo application:
./maindemo
This enables a file for double click execution. Test on Linux Mint:
- Open the
nix64.spec
- Add the
Start.desktop
file to the project like the following
...
added_files = [('assets/Start.desktop', '.')]
a = Analysis(['/home/<username>/Git/wx-python/run.py'],
pathex=['/home/<username>/Git/wx-python', u'/home/<username>/Git/wx-python'],
binaries=[],
datas=added_files,
...
- Replace
<username>
with your linux username. - Now build and sign.
This project was created with the content of the following ressources:
- An example pyupdater project: https://github.com/wettenhj/pyupdater-wx-demo
- Tutorials from the official wxpython documentation: https://wxpython.org/