AppImage: Difference between revisions

From FreeCAD Documentation
(Created an appimage page)
 
Line 17: Line 17:


=== Using AppImages in your Development Workflow ===
=== Using AppImages in your Development Workflow ===
'''Note:''' This section is specifically for developers
Question: Is there a way to edit files (.py) in an AppImage?

Answer:
A very nice aspect of FreeCAD is that much of it is built in python and doesn't need to use a code compiler (like c++). Essentially, a python file can be modified and upon restarting FreeCAD those changes will be integrated. A developer can quickly work on the latest FreeCAD release using this technique and an appimage. FYI, mentioned procedure doesn't modify the environment in any way, that is nothing gets installed and no environment paths get modified. All one needs to do is the following:

$ <FreeCAD>.AppImage --appimage-extract
$ <FreeCAD>.AppImage --appimage-extract
$ cd squashfs-root/
$ cd squashfs-root/
Line 25: Line 27:


==== Repackaging AppImages ====
==== Repackaging AppImages ====
If you've dones the above and now want to re-package the AppImage with your latest changes proceed as follows:
If you've done the above and now want to re-package the AppImage with your latest changes proceed as follows:

$ cd ..
$ cd ..
$ wget "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage"
$ wget "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage"

Revision as of 12:48, 11 November 2018

What is an AppImage

FreeCAD AppImages

Stable version

Development version

Auto Updating

AppImage has a very smart and economical way of updating. It calculates the delta between the new appimage and the older one and will only download the changes between their versions. So essentially, the user theoretically ends up downloading ~10%-15% instead of a a new appimage each time. This is done via an AppImage application.

via Command Line Interface

appimageupdate

via GUI

appimageguiupdate

Using AppImages in your Development Workflow

Note: This section is specifically for developers

A very nice aspect of FreeCAD is that much of it is built in python and doesn't need to use a code compiler (like c++). Essentially, a python file can be modified and upon restarting FreeCAD those changes will be integrated. A developer can quickly work on the latest FreeCAD release using this technique and an appimage. FYI, mentioned procedure doesn't modify the environment in any way, that is nothing gets installed and no environment paths get modified. All one needs to do is the following:

 $ <FreeCAD>.AppImage --appimage-extract
 $ cd squashfs-root/
 (Open your python file(s) in you favorite code editor and save)
 $ ./AppRun

Repackaging AppImages

If you've done the above and now want to re-package the AppImage with your latest changes proceed as follows:

 $ cd ..
 $ wget "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage"
 $ chmod a+x appimagetool-x86_64.AppImage
 $ ./appimagetool-x86_64.AppImage squashfs-root