A script for packaging precompiled binaries into an installable package.
Find a file
2025-11-01 00:34:10 -04:00
aramis.sh Sat Nov 1 12:34:10 AM EDT 2025 2025-11-01 00:34:10 -04:00
Makefile Fri Oct 31 08:57:13 PM EDT 2025 2025-10-31 20:57:13 -04:00
README.md Sat Nov 1 12:34:10 AM EDT 2025 2025-11-01 00:34:10 -04:00

Aramis

A script for packaging precompiled binaries into an installable package.

Installation

sudo make install

Uninstallation

sudo make uninstall

Usage

Use aramis init [package name] [version] to initialize a temporary directory for a new package.

Use aramis import [file] [path] to import a file into the package. Note that the file can also be a command. The path should be where the file should exist after the prefix, such as, the path is most commonly bin.

Use aramis mkdir [path] to create an empty directy inside of the package.

Use aramis tree to see the current file structure of the package.

Use aramis build [tar|deb] to build the package as a TAR (any Linux distribution) or a DEB (Debian-based distribution) file.

Use aramis clean to remove the temporary directory.

Example

Below is a complete example of packaging whatever version of wget happens to be installed onto your system into a DEB package.

ver=$(wget --version | grep 'GNU W' | cut -d " " -f 3)
aramis init wget $ver
aramis import wget bin
aramis build deb
aramis clean

For a more complicated example, we can build Flatpak 1.16.1, which is sufficient to run Steam and Lossless Scaling.

#Since Flatpak calls other programs, you need to specify the Aramis prefix when compiling it
prefix=/opt/aramis/flatpak/1.16.1
#Download Flatpak 1.16.1 and compile it
wget https://github.com/flatpak/flatpak/releases/download/1.16.1/flatpak-1.16.1.tar.xz
tar -xvf flatpak-1.16.1.tar.xz
cd flatpak-1.16.1
meson setup --prefix=$prefix builddir
ninja -C builddir
#Create a default repo config file                        
echo '[core]
repo_version=1
mode=bare-user-only
min-free-space-size=500MB
'>config
cd ..
#Create the aramis package
aramis init flatpak 1.16.1
aramis import flatpak-1.16.1/builddir/app/flatpak bin                        
aramis import flatpak-1.16.1/builddir/subprojects/bubblewrap/flatpak-bwrap libexec
aramis import flatpak-1.16.1/builddir/subprojects/dbus-proxy/flatpak-dbus-proxy libexec
aramis import flatpak-1.16.1/builddir/portal/flatpak-portal libexec
aramis import flatpak-1.16.1/config var/lib/flatpak/repo
aramis mkdir var/lib/flatpak/repo/tmp
aramis mkdir var/lib/flatpak/repo/objects
aramis build deb
aramis clean

Installing Aramis Packages

If the package is built as a TAR file, it can be installed with the command shown below.

sudo tar -xvf [tar file] -C /

If the package is built as a DEB file, it can be installed with the command shown below.

sudo apt install [deb file]

The DEB package will add the environment variables to /etc/bash.bashrc. For the TAR package, you must add the environment variables manually.