Skip to content
Aaruni Kaushik edited this page Oct 17, 2023 · 2 revisions

MaPS - MaRDI Packaging System

Introduction

MaPS, short for MaRDI Packaging System is the working name for the software system created by TA1 Computer Algebra for Measure 1.4 Predefined software environments. MaPS provides a unified interface both, to package a software inside a functional environment (called a runtime), and to "install" a published runtime onto a computer system in a user friendly way, while still keeping it separate from the computer's host environment.

Requirements

We depend on the following other programs and libraries:

  1. libcairo2-dev
  2. gcc
  3. python3-dev
  4. libgirepository1.0-dev
  5. libostree-dev
  6. fuse-overlayfs
  7. pygobject
  8. bubblewrap
  9. tomli

Technical Overview

Deploying Software

We deploy software in $HOME/.var/maps/app-id/, in directories live, rofs, and rwfs. Ostree repo is checked out in rofs, and marked as read only. Then rwfs is overlayed on rofs, and presented as live. This way the user gets a live mutable tree, but the actual ostree repo is left unmodified and can be reverted to.