|
1 | 1 | # Perl Executing Browser - AppImage Support |
2 | 2 |
|
3 | | -## PEB AppImage Maker |
| 3 | +## PEB AppImager |
4 | 4 |
|
5 | | -PEB and any PEB-based application can be easily packed as a 64-bit single-file Linux [AppImage](https://appimage.org/) executable by the [PEB AppImage Maker](https://github.com/ddmitov/perl-executing-browser/blob/master/sdk/appimage-maker.sh) script, which has two modes of operation: |
| 5 | +Any PEB-based application with a PEB executable, Qt libraries and a relocatable Perl distribution can be easily packed as a 64-bit single-file Linux [AppImage](https://appimage.org/) executable by the [PEB AppImager](https://github.com/ddmitov/perl-executing-browser/blob/master/appimager.sh) script, which uses the [linuxdeployqt](https://github.com/probonopd/linuxdeployqt/releases/) tool to detect all Qt dependencies of PEB and build an AppImage. |
6 | 6 |
|
7 | | -* packing a Perl application together with a PEB executable, Qt libraries and a relocatable Perl distribution: |
8 | | - |
9 | | - ```bash |
10 | | - ./appimage-maker.sh --include-resources |
11 | | - ``` |
12 | | - |
13 | | -* packing only a PEB executable and its Qt libraries: |
14 | | - |
15 | | - ```bash |
16 | | - ./appimage-maker.sh --no-resources |
17 | | - ``` |
18 | | - |
19 | | - In this case, a PEB executable from an AppImage will try to find its application files and folders in the directory of the AppImage. |
20 | | - |
21 | | -In both modes of operation, the PEB AppImage uses the [linuxdeployqt](https://github.com/probonopd/linuxdeployqt/releases/) tool to detect all Qt dependencies of PEB and build the final image. |
22 | | - |
23 | | -The PEB AppImage Maker script must be started from the ``{PEB_executable_directory}/sdk`` directory. |
| 7 | +The PEB AppImager must be started from the ``{PEB_executable_directory}``. |
24 | 8 |
|
25 | 9 | ## PEB AppImage Configuration Files |
26 | 10 |
|
27 | 11 | ``{PEB_executable_directory}/resources/app/appimage/{application_name}.desktop`` |
28 | 12 | ``{PEB_executable_directory}/resources/app/appimage/{application_name}.appdata.xml`` |
29 | 13 |
|
30 | 14 | ``{PEB_executable_directory}/resources/app/{application_name}.desktop`` |
31 | | -is mandatory for any PEB-based application which is to be packed by the PEB AppImage Maker. |
32 | | -A minimal example of а ``.desktop`` file is available [here](https://github.com/ddmitov/perl-executing-browser/blob/master/resources/app/peb-demo.desktop). |
| 15 | +is mandatory for any PEB-based application which is to be packed by the PEB AppImager. |
| 16 | +A minimal example of а ``.desktop`` file is available [here](https://github.com/ddmitov/perl-executing-browser/blob/master/resources/app/appimage/peb-demo.desktop). |
33 | 17 | ``Icon=app`` in the ``.desktop`` file must not be changed for the proper display of the application icon. |
34 | 18 | All registered categories in a ``.desktop`` file are available [here](https://standards.freedesktop.org/menu-spec/latest/apa.html). |
35 | 19 | Any ``.desktop`` file can be validated using the ``desktop-file-validate`` tool from the ``desktop-file-utils`` package in all major Linux distributions. |
36 | 20 |
|
37 | | -The [AppStream Generator](http://output.jsbin.com/qoqukof) of [probonopd](https://github.com/probonopd) is the recommended tool for generating AppStream ``.appdata.xml`` files for PEB-based applications. An example AppStream file is available [here](https://github.com/ddmitov/perl-executing-browser/blob/master/resources/app/peb-demo.appdata.xml). An AppStream file is not mandatory, but is highly recommended. |
| 21 | +The [AppStream Generator](http://output.jsbin.com/qoqukof) of [probonopd](https://github.com/probonopd) is the recommended tool for generating AppStream ``.appdata.xml`` files for PEB-based applications. An example AppStream file is available [here](https://github.com/ddmitov/perl-executing-browser/blob/master/resources/app/appimage/peb-demo.appdata.xml). An AppStream file is not mandatory, but is highly recommended. |
38 | 22 |
|
39 | | -Both PEB AppImage configuration files are put on their places in the AppImage directory tree structure by the [PEB AppImage Maker](https://github.com/ddmitov/perl-executing-browser/blob/master/sdk/appimage-maker.sh) script. |
| 23 | +Both PEB AppImage configuration files are put on their places in the AppImage directory tree structure by the [PEB AppImager](https://github.com/ddmitov/perl-executing-browser/blob/master/appimager.sh) script. |
40 | 24 |
|
41 | 25 | ## PEB AppImage Builder Docker Container |
42 | 26 |
|
43 | 27 | An easy building environment for PEB AppImage executables is the [PEB AppImage Builder Docker Container](https://github.com/ddmitov/perl-executing-browser/blob/master/sdk/Dockerfile). |
44 | | -To build it, type the following command in the PEB project root directory (the directory of the README.md): |
| 28 | +To start it, type the following commands in the ``{PEB_executable_directory}``: |
45 | 29 |
|
46 | 30 | ```bash |
47 | 31 | sudo docker build -t peb-appimage-builder . |
48 | | -``` |
49 | | - |
50 | | -To start the PEB AppImage Builder Docker Container, type the following command in the PEB project root directory: |
51 | | - |
52 | | -```bash |
53 | 32 | sudo docker container run --rm -it -v $(pwd):/opt --user $(id -u):$(id -g) peb-appimage-builder |
54 | 33 | ``` |
55 | 34 |
|
56 | 35 | When PEB AppImage Builder Docker Container is running, type: |
57 | 36 |
|
58 | 37 | ```bash |
59 | | -cd /opt/sdk |
| 38 | +cd /opt/ && ./appimager.sh && exit |
60 | 39 | ``` |
61 | 40 |
|
62 | | -To start the PEB AppImage Maker, type either: |
63 | | - |
64 | | -```bash |
65 | | -./appimage-maker.sh --no-resources |
66 | | -``` |
67 | | - |
68 | | -or |
69 | | - |
70 | | -```bash |
71 | | -./appimage-maker.sh --include-resources |
72 | | -``` |
73 | | - |
74 | | -To stop the PEB AppImage Builder Docker Container when AppImage building is complete: |
75 | | -<kbd>Ctrl</kbd> + <kbd>D</kbd> |
76 | | - |
77 | 41 | ## AppImageHub |
78 | 42 |
|
79 | 43 | Perl Executing Browser is also listed at the [AppImageHub](https://appimage.github.io/perl-executing-browser/). |
|
0 commit comments