Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flatpak distribution #244

Open
wants to merge 13 commits into
base: installers
Choose a base branch
from
Open

Conversation

suchinton
Copy link

This PR seeks to provide the implementation of a flatpak-based demo installer for eSim (WIP ⚠️ )

where the following actions are possible :

  • Ability to install python3 packages (Using the pip) in the user space
  • Ability to extract binaries and libraries from pre-compiled packages
  • Ability to compile packages from source and install them in the user space

Approach

The demo application executes the various operations with the following methods:

The installed package method, install_Pip_package(self):
Installs a selected package using pip. It uses a subprocess to check_call system commands and outputs results to a QPlainTextEdit.

The Verilator installation method, intall_Verilator_from_Archive(self):
Installs Verilator from a 7-zip archive file using a system pkexec command. The method extracts files from the archive and moves them to /usr/bin/. It uses a subprocess to check_call system commands and outputs results to a QPlainTextEdit.

The method install_Verilator_SRC(self) installs Verilator from the source:
It triggers a separate thread, InstallThread_SRC(QThread), which executes a shell script containing commands to download the source files and install Verilator. It uses subprocess run and print statements to track the progress of the installation. The thread sends progress updates to the main thread where it is used to update a QPlainTextEdit.

How does this address the problem?

The application is Packaged as a flatpak, which requires the runtime org.kde.Sdk version 5.15-22.08 and the SDK org.kde.Sdk. It is based on the com.riverbankcomputing.PyQt.BaseApp version 5.15-22.08.

The application uses org.kde.Sdk as its runtime to provide various build tools, however, it can be later replaced by org.kde.Platform, and separate modules for additional build tools like git, make, autoconf, etc... can be added to the manifest.

The application's default permissions are specified in its Flatpak Manifest "org.flatpak.FOSSEE_Inst_test.yml", including sharing Inter-Process Communication and network access, an X11 and Wayland socket, access to the host OS filesystem and home directory, DRI device access, and a "talk name" for communication over D-Bus.

Initial commit for flatpak demo installer
Updated runtime to org.kde.Platform, this provides the default build tools in the runtime such as git, autoconf, etc
removed assets (redundant)
converted py7zr to a module (optional for building)
added git module (optional for building)
modified "Install_verilator.sh" script to work in sandbox
-> Improved Success and Error messages
-> Added FOSSEE Logo
-> converted python3-py7zr to json
- Updated "build_new_flatpak" script
- Added ngspice install script
- Added cleanup after verilator installation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant