Skip to content

Enhance AppImage package

Marie Houillon requested to merge appimage_improvements into master

What does this MR do?

This merge request aims at improving the openCARP AppImage package in order to make it easy to use on any Linux system. AppImage is a good alternative to deb or rpm packages on non-supported operating systems and environments where the user doesn't have administration rights.

Feedback is welcome in order to improve this MR which is still a draft.

The following changes are made:

  • Before, the AppImage was released as a single file containing the openCARP binaries (openCARP, bench, etc.). Now, it is released as an archive containing:
    • The AppImage file
    • A README file explaining how to use the AppImage
    • A script allowing to extract all the openCARP and MPI executables, as well as the meshtool executable (they are extracted in a subdirectory named openCARP/bin)
    • A script allowing to install carputils using pip
  • The AppImage now contains MPI executables and meshtool.

In practice, the installation of openCARP can be made the following way:

  • Extract and change directory to the AppImage package.
  • Run bash ./extract_appimage.sh to extract te openCARP binaries in ./openCARP/bin
  • If you want to install carputils additionally, run bash ./install_carputils.sh You can then add $PWD/openCARP/bin to the PATH to run the openCARP executables directly, or use carputils which was configured with the paths to the executables.

Author's checklist

  • Follow the Contribution Guidelines.
  • Describe your change in the CHANGELOG.md file in the top-level folder of the openCARP repository.
  • Apply the appropriate labels.
  • Does this commit add new dependencies? If no, just tick the box. If yes, please evaluate carefully if the additional dependency is a more sustainable option than including the functionality in own code. If the former, describe the dependency clearly, add them to the Software Management Plan and the installation instructions (*.md files, CMake files, Docker files etc.).

Reviewer's checklist

All reviewers can help ensure accuracy, clarity, completeness, and adherence to the Contribution Guidelines.

Reviewer

  • Review by a code reviewer or other selected colleague to confirm accuracy, clarity, and completeness. This can be skipped for minor fixes without substantive content changes.

Maintainer

  • Review by assigned maintainer, who can always request/require the above reviews.

Merge request reports