AppImage/pl

Czym jest AppImage?


AppImage to "uniwersalny pakiet binarny" przeznaczony do dystrybucji aplikacji do dowolnej dystrybucji Linuksa. Więcej o nim można przeczytać na stronie domowej Appimage i Wikipedii.

Aby go uruchomić, najpierw uczyń go wykonywalnym, a następnie wpisz względną lub pełną ścieżkę.

Inne rodzaje instalacji znajdziesz na stronie pobierania.

AppImages dla FreeCAD
Ważne uwagi:
 * Rozwój postępuje codziennie i szybko, link dla najbardziej aktualnego AppImage jest celem zmieniającym się.
 * Link do wersji rozwojowej powyżej powinien być aktualny, ponieważ jest aktualizowany przez skrypt.
 * Wielu użytkowników na forum korzysta z wersji rozwojowej.
 * Może być uruchomiona na tym samym systemie równolegle z inną wersją FreeCAD.
 * Użytkownicy używają wersji rozwojowej, aby skorzystać z najnowszych funkcji i poprawek błędów (ponieważ FreeCAD ma długi cykl wydawniczy). Używają jej również do testowania i znajdowania błędów, aby stymulować rozwój i ulepszanie FreeCAD.

Obowiązkowe słowo przestrogi
W przeważającej części wersja rozwojowa jest stabilna, ale oczywiście należy dodać obowiązkowe stwierdzenie, aby używać jej na własne ryzyko. Chociaż większość ludzi, którzy wykorzystują kopie zapasowe i "często zapisują" radzi sobie całkiem dobrze.

Automatic updating
AppImage has a smart and economical way of updating. It calculates the difference between the new AppImage and the old one, and will only download the changes between their versions. In theory the user ends up downloading around 15% each time instead of an entirely new AppImage.

Automatic updating is done via several optional methods. Currently there are 4 methods, 2 through the graphical interface (GUI), and 2 through the command-line/terminal interface (CLI).

Experimental in-app updating
Thanks to the efforts of several key devs, there is an ongoing effort to integrate a feature that allows self-updating the AppImage within FreeCAD itself. Starting from FC 0.19.21514 there now exists an AppImage section found via. Please test this capability and report your experience to the forum discussion.

GUI method 1 (official)
This is the official AppImageUpdate GUI application.
 * 1) Download AppImageUpdate-x86_64.AppImage.
 * 2) Make it executable by right clicking on the file, going in to properties and "Run as an executable".
 * 3) Double click on the AppImage icon, a dialog box will appear and you'll be prompted to specify what AppImage you want to update.
 * 4) Specify the path to your existing AppImage.
 * 5) Once the AppImage is updated, press the button.

GUI method 2 (unofficial)
To jest bardziej elegancka, niezależna, nieoficjalna wersja AppImageUpdate o nazwie: AppImageUpdater. Jest jeszcze w fazie rozwoju (w czasie tej edycji wiki), ale mimo to, całkiem przyjemna w użyciu. Wynik: Postępuj zgodnie z podpowiedziami AppImageUpdater
 * 1) Pobierz AppImageUpdater-*-x86_64.AppImage
 * 2) Nadaj mu atrybut wykonywalności:
 * 3) Uruchom go:
 * 4) Znajdź swój aktualny obraz FreeCAD AppImage i przeciągnij go na AppImageUpdater

CLI method 1 (official)
Run the following instructions in your terminal

Notes:
 * The file names will be unique because of the version info is embedded in them. The above instructions are simplified for convenience.
 * Run to learn about functionality like,  and.
 * There is also an i386 version; see the AppImageUpdate release page.

Todo: share a script that can be added as an alias or |cron job.

CLI method 2 (unofficial)
Similarly to the Graphical methods having an official and unofficial approaches to downloading AppImages, the same applies to the command line. This is a sleeker 3rd-party command line option to download AppImages.

Result: Updates specified AppImage file if update exists
 * 1) Download appimageupdater-*-x86_64.AppImage
 * 2) Make it executable:
 * 3) Run it:

= Experimental =

Fixing AppImage zsync
It may happen that an AppImage won't update because it's target file changed in some way. Instead of downloading a whole new AppImage, it's possible to rewrite the zsync file that is used by the AppImage to download the delta. More info can be found at https://github.com/antony-jr/appimage-update-info-writer.

This section needs more details.

Downloading via Bittorrent
An experimental feature that the FreeCAD packaging team is exploring (thanks to the work of Antony-jr) is being able to download an appimage delta of FreeCAD via bittorrent. The repository issue is at https://github.com/FreeCAD/FreeCAD-Bundle/issues/49

= Developer Section =

the following sections are intended for developers

Unpacking AppImages
A very convenient aspect of FreeCAD is that a majority of it is built in Python, which doesn't need to be manually compiled like C++. Essentially, a Python file can be modified, and upon restarting FreeCAD those changes will be integrated into the application. A developer can quickly work on the latest FreeCAD release using this technique and an AppImage. Moreover, using an AppImage doesn't modify your system's environment in any way, that is, nothing is installed and no environmental variables are modified.

Modifying AppImages
An AppImage embeds a file system in it with everything that is required to run the application. In order to modify it, the file system needs to be extracted.

Now open the required Python source files in your preferred code editor, modify them, and save them. Then run the application.

Repackaging AppImages
If you've modified the code, and now want to re-package the AppImage with your latest changes, use the appimagetool-x86_64 tool on the extracted file system.

Personalized AppImages
Thanks to the work of, author of App Link and Assembly3 Workbench, it is possible to build custom AppImages using a set of scripts.

This makes it very convenient to release images for a specific branch of the source code for others to test. Although AppImages only work on Linux, realthunder's scripts make it possible to generate AppImages also on Windows and MacOS.

The repository for these scripts is at realthunder/FreeCADMakeImage. Please read the Readme.md for more details.

Related

 * Snap packages.
 * Flatpak packages.