Skip to content

Releases: mherrmann/fbs

Add `repo` command for automatic updates on Linux

30 Nov 11:13
Compare
Choose a tag to compare

The command generates a repository for your app in target/repo. For example:

(venv) michael:~/Temp$ fbs runvm ubuntu
(venv) ubuntu:MyApp$ fbs clean
(venv) ubuntu:MyApp$ fbs freeze
(venv) ubuntu:MyApp$ fbs installer
(venv) ubuntu:MyApp$ fbs repo
Done. You can test the repository with the following commands:
    echo "deb [arch=amd64] file:///root/MyApp/target/repo stable main" | sudo tee /etc/apt/sources.list.d/myapp.list
    sudo apt-key add /root/MyApp/src/sign/linux/public-key.gpg
    sudo apt-get update
    sudo apt-get install myapp
To revert these changes:
    sudo dpkg --purge myapp
    sudo apt-key del 14094467C98844FA757D5BF1E954B8C89764F1AC
    sudo rm /etc/apt/sources.list.d/myapp.list
    sudo apt-get update

The next step is to upload the repository to a web server. Then, your users can simply execute the above commands apt-key add etc. to install your app. What's more, when you publish a new version of your app to the server, your users will automatically receive it.

Add command `gengpgkey` for generating GPG keys

28 Nov 07:47
Compare
Choose a tag to compare

This is in preparation for supporting code signing on Linux.

Support Docker for building Linux apps

26 Nov 09:09
Compare
Choose a tag to compare

Suppose you want your app to run on Ubuntu. Your development machine runs Ubuntu 18. But you also want users on Ubuntu 16 to be able to execute your app.

The (shared) libraries on Linux systems are normally not backwards-compatible. This means that, most likely, when you build your app on Ubuntu 18, then it won't run on Ubuntu 16.

To solve this, fbs now lets you use Docker virtual machines for building your app. This lets you build your app inside a virtual machine (=Docker container) running Ubuntu 14. That way, everyone on Ubuntu 14+ can run your app.

There are now two new commands: fbs buildvm <name> and fbs runvm <name>. The first initializes the given Docker container; the latter runs it. Here's what this looks like:

Initialise the container:

(venv) michael:~/Temp$ fbs buildvm ubuntu
Done. You can now execute:
    fbs runvm ubuntu

Run it:

(venv) michael:~/Temp$ fbs runvm ubuntu
You are now in a Docker container running Ubuntu. To build your app
for this platform, use the normal commands `fbs freeze` etc.

Note that you can't launch GUIs here. So eg. `fbs run` won't work.

Another caveat is that target/ is special here: It symlinks to your
usual target/ubuntu/. So when you are done and type `exit` to leave
this container, you can find the produced binaries there.

Freeze your app. Note how the ubuntu: prefix indicates that you are inside the VM:

(venv) ubuntu:MyApp$ fbs freeze

Exit the container:

(venv) ubuntu:MyApp$ exit

Now, back outside the VM, run the binary that was just produced. Note the ubuntu/ subdirectory of the target/ directory:

(venv) michael:~/Temp$ target/ubuntu/MyApp/MyApp

In addition to ubuntu, fbs currently supports arch and fedora for building for Arch and Fedora Linux, respectively.

Rename setting resources_to_filter to files_to_filter

22 Nov 14:13
Compare
Choose a tag to compare

'Resources' made it sound like it only applies to src/main/resources.
But it also applies to eg. src/freeze/....

Add setting `show_console_window`

22 Nov 13:13
Compare
Choose a tag to compare

... it can be used on Windows and Mac to show a console window besides the GUI app. As usual, you can set it in src/build/settings/windows.json, .../mac.json or .../base.json. It has no effect on Linux though, so the latter is not the best way.

Also removed the parameter extra_pyinstaller_args from the various freeze_windows(...), freeze_mac(...), etc. functions. If you used these functions and the parameter, you'll have to revert to fbs.freeze.run_pyinstaller(...) instead. But nobody seemed to be using the parameter, and so the change should not affect anyone.

You can now write `fbs ...` instead of `python -m fbs ...`

21 Nov 08:46
Compare
Choose a tag to compare
v0.4.3

Set version number for release 0.4.3

Add support for Python 3.6

20 Nov 08:50
Compare
Choose a tag to compare

You can now use either Python 3.5 or 3.6 for fbs projects. The new recommended version is 3.6.

Further changes:

  • Improved the error messages of various python -m fbs ... commands.
  • Fix an SSL problem in frozen apps on Fedora

Update dependency PyInstaller from 3.3.1 to 3.4

16 Nov 15:29
Compare
Choose a tag to compare

This will make it possible in a future release to support Python 3.7.

Improve support for PySide and PyInstaller 3.4

13 Nov 18:17
Compare
Choose a tag to compare
v0.4.0

Set version number for release 0.4.0

Fix FileExistsError during `freeze` on Windows

10 Nov 10:00
Compare
Choose a tag to compare

It only happened when the project directory was on a non-standard drive.