Skip to content

Add a DEB repository #882

@versable

Description

@versable

Hey @Try,

After #878 got merged, I though about using GitHub pages to provide a proper
Debian repository. It's feasible to incorporate it into the GitHub Actions
workflow.

I thought about splitting it into two branches. The official release branch
(stable), and the latest commit on master (dev). The build system is pretty
straight forward. The packages should be signed, so I would generate a GPG/PGP
key pair for the "build bot". We would need to use GitHub secrets for the
private key for signing the DEB build files.

There are some kinks and edge cases I need to work out, just give me a
"Go ahead" or a "Not interested" so I can either start implementing it, or
move on.

Here is the basic gh-pages branch overview:

gh-pages branch:
  ├── index.html                              # Optional: landing page/instructions
  ├── KEY.gpg                                 # Public GPG key for apt
  │
  ├── dists/
  │   ├── dev/                                # Latest main branch build
  │   │   ├── Release
  │   │   ├── Release.gpg
  │   │   ├── InRelease
  │   │   └── main/
  │   │       └── binary-amd64/
  │   │           ├── Packages
  │   │           ├── Packages.gz
  │   │           └── Release
  │   │
  │   └── stable/                             # Tagged releases
  │       ├── Release
  │       ├── Release.gpg
  │       ├── InRelease
  │       └── main/
  │           └── binary-amd64/
  │               ├── Packages
  │               ├── Packages.gz
  │               └── Release
  │
  └── pool/
      ├── dev/
      │   └── main/
      │       └── o/
      │           └── opengothic/
      │               └── opengothic_1.0.3639-1_amd64.deb   # latest only
      │
      └── stable/
          └── main/
              └── o/
                  └── opengothic/
                      └── opengothic_1.0.3624-1_amd64.deb   # from tagged release

And here would be the usage:

Add GPG key

curl -fsSL https://try.github.io/OpenGothic/KEY.gpg | sudo gpg --dearmor -o /usr/share/keyrings/opengothic.gpg

Stable releases

echo "deb [signed-by=/usr/share/keyrings/opengothic.gpg] https://try.github.io/OpenGothic stable main" | sudo tee /etc/apt/sources.list.d/opengothic.list

Or dev builds

echo "deb [signed-by=/usr/share/keyrings/opengothic.gpg] https://try.github.io/OpenGothic dev main" | sudo tee /etc/apt/sources.list.d/opengothic.list

Install

sudo apt update && sudo apt install opengothic

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions