Skip to content
Snippets Groups Projects
Simon McVittie's avatar
Simon McVittie authored
In older Debian releases, sudo's prerm needed lsb-base.

Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
b28738b0
History
flatdeb
=======

flatdeb is a proof of concept for building Flatpak runtimes and apps
from Debian packages.

Walkthrough
-----------

On a Debian 11 'bullseye' or Debian 12 'bookworm' machine:

    apt install \
    binutils \
    cpp \
    debootstrap \
    debos \
    dpkg-dev \
    flatpak \
    flatpak-builder \
    libarchive-tools \
    linux-image-amd64 \
    mount \
    ostree \
    pigz \
    python3 \
    python3-debian \
    python3-gi \
    python3-yaml \
    systemd-container \
    time \
    ${NULL}

    # Required in Debian >= bookworm
    test -x /lib/systemd/systemd-resolved || apt install systemd-resolved

Also edit org.debian.packages.openarena.yaml to specify where you have
put local clones of ioquake3 and openarena if you can't (or don't
want to) clone them via https.

You will probably want to use a caching proxy such as apt-cacher-ng to
download `.deb` packages, which you can do by prefixing all the commands
below with `env http_proxy=http://192.168.122.1:3142` or similar.

Finally, put a copy of debian-archive-keyring.gpg in this directory.

Then you can run:

    ./run.py --suite=stretch --arch=amd64 base
    ./run.py --suite=stretch --arch=amd64 runtimes \
        runtimes/net.debian.flatpak.Base.yaml
    ./run.py --suite=stretch --arch=amd64 runtimes \
        runtimes/net.debian.flatpak.Games.yaml
    ./run.py --suite=stretch --arch=amd64 app \
        apps/org.debian.packages.hello.yaml
    ./run.py --suite=stretch --arch=amd64 app \
        apps/org.debian.packages.openarena.yaml
    ./run.py --suite=stretch --arch=amd64 app \
        apps/org.debian.packages.mesa_utils.yaml

To use the ./run.py app subcommand, you must include python3 and python3-debian
in the SDK.

On the same machine, or a test machine onto which you have copied
`$HOME/.cache/flatdeb/repo` with `rsync` or similar:

    flatpak --user remote-add --no-gpg-verify flatdeb $HOME/.cache/flatdeb/repo
    flatpak --user install flatdeb org.debian.packages.hello
    flatpak run org.debian.packages.hello
    flatpak --user install flatdeb org.debian.packages.openarena
    flatpak run org.debian.packages.openarena