~sircmpwn/sr.ht-docs

4360cc7ab197c01344ba23286c8ba883c8989e4b — Drew DeVault 2 years ago 6675d47
Update builds.sr.ht/compatibility.md
2 files changed, 194 insertions(+), 38 deletions(-)

M builds.sr.ht/compatibility.md
M builds.sr.ht/manifest.md
M builds.sr.ht/compatibility.md => builds.sr.ht/compatibility.md +187 -6
@@ 43,6 43,28 @@ suffer from poor performance.
  </tbody>
</table>

**packages**

The packages array is installed with `apk add`.

**repositories**

To add custom apk repositories, use `repo-url key-url key-name` (separated with
spaces), where `repo-url` is the URL of the package repository and `key-url` is
a URL from where the signing key may be downloaded, and `key-name` is the name
of the file written to `/etc/apk/keys/`. If the name of the repo is prefixed
with an @, it will use that prefix in apk.

Example:

```yaml
repositories:
  sr.ht: >
    https://mirror.sr.ht/alpine/sr.ht/
    https://mirror.sr.ht/alpine/sr.ht/alpine%40sr.ht.rsa.pub
    alpine@sr.ht.rsa.pub
```

## Arch Linux

<table class="table table-sm table-hover">


@@ 70,6 92,17 @@ suffer from poor performance.
  </tbody>
</table>

**packages**

The package array is installed with `yay -Syu` (AUR packages are transparently
installed).

**repositories**

To add custom pacman repositories, use `url#key-id`, where `url` is the URL of
the package repository and `key-id` is the ID of the published PGP key the
packages are signed with.

## Debian

<table class="table table-sm table-hover">


@@ 77,8 110,8 @@ suffer from poor performance.
    <tr>
      <th>Debian Stretch (stable)</th>
      <th colspan="3" style="font-weight: normal; text-align: center">
        <code>image: debian/stretch</code> <strong>or</strong>
        <code>image: debian/stable</code>
        <code>image: debian/stable</code> <strong>or</strong>
        <code>image: debian/stretch</code>
      </th>
    </tr>
    <tr>


@@ 112,8 145,8 @@ suffer from poor performance.
    <tr>
      <th>Debian Buster (testing)</th>
      <th colspan="3" style="font-weight: normal; text-align: center">
        <code>image: debian/buster</code> <strong>or</strong>
        <code>image: debian/testing</code>
        <code>image: debian/testing</code> <strong>or</strong>
        <code>image: debian/buster</code>
      </th>
    </tr>
    <tr>


@@ 147,8 180,8 @@ suffer from poor performance.
    <tr>
      <th>Debian Sid (unstable)</th>
      <th colspan="3" style="font-weight: normal; text-align: center">
        <code>image: debian/sid</code> <strong>or</strong>
        <code>image: debian/unstable</code>
        <code>image: debian/unstable</code> <strong>or</strong>
        <code>image: debian/sid</code>
      </th>
    </tr>
    <tr>


@@ 182,6 215,22 @@ suffer from poor performance.
  </tbody>
</table>

**packages**

The packages array is installed with `apt-get install`.

**repositories**

To add custom repositories, specify `url distro component key-id` (separated by
spaces), where `url` is the URL of the package repository, `distro` is e.g.
`jessie` or `stretch`, `component` is e.g. `main` or `non-free`, and `key-id` is
an optional PGP key ID to add to `apt-key`. Example:

```yaml
repositories:
  sr.ht: https://mirror.sr.ht/debian/sr.ht/ stretch main DEADBEEFCAFEF00D
```

## FreeBSD

<table class="table table-sm table-hover">


@@ 214,6 263,14 @@ suffer from poor performance.
  </tbody>
</table>

**packages**

The packages array is installed with `pkg install`.

**repositories**

Custom package repositories are not supported on FreeBSD builds.

## NixOS

<table class="table table-sm table-hover">


@@ 272,3 329,127 @@ suffer from poor performance.
    </tr>
  </tbody>
</table>

**packages**

The packages array is installed with with `nix-env -iA`. Since it's possible to
specify multiple channels, you must provide the full selection path, for example
`nixpkgs.hello`. Note that the `nixpkgs` channel is **not** added by default.

**repositories**

To add custom channels, use `repo-name: channel-url`. The repo name is relevant,
since `repo-name: repo-url` will execute the commands `nix-channel --add
repo-url repo-name` and `nix-channel --update repo-name`. Given the nature of
nix, no channels are added by default.

## Ubuntu

<table class="table table-sm table-hover">
  <thead>
    <tr>
      <th>Ubuntu Bionic (18.04)</th>
      <th colspan="3" style="font-weight: normal; text-align: center">
        <code>image: ubuntu/lts</code> <strong>or</strong>
        <code>image: ubuntu/bionic</code> <strong>or</strong>
        <code>image: ubuntu/18.04</code>
      </th>
    </tr>
    <tr>
      <th>arch</th>
      <th style="text-align: center">supported</th>
      <th style="text-align: center">native</th>
      <th>updated</th>
    </tr>
  </thead>
  <tbody>
    <tr><td><code>arch: arm64</code></td><td style="text-align: center">✗</td><td></td><td></td></tr>
    <tr class="table-primary">
      <td><code>arch: amd64</code> (default)</td>
      <td style="text-align: center; color: green">✓</td>
      <td style="text-align: center; color: green">✓</td>
      <td>weekly</td>
    </tr>
    <tr><td><code>arch: i386</code></td><td style="text-align: center">✗</td><td></td><td></td></tr>
    <tr><td><code>arch: ppc64el</code></td><td style="text-align: center">✗</td><td></td><td></td></tr>
    <tr><td><code>arch: s390x</code></td><td style="text-align: center">✗</td><td></td><td></td></tr>
  </tbody>
</table>

<table class="table table-sm table-hover">
  <thead>
    <tr>
      <th>Ubuntu Cosmic (18.10)</th>
      <th colspan="3" style="font-weight: normal; text-align: center">
        <code>image: ubuntu/latest</code> <strong>or</strong>
        <code>image: ubuntu/cosmic</code> <strong>or</strong>
        <code>image: ubuntu/18.10</code>
      </th>
    </tr>
    <tr>
      <th>arch</th>
      <th style="text-align: center">supported</th>
      <th style="text-align: center">native</th>
      <th>updated</th>
    </tr>
  </thead>
  <tbody>
    <tr><td><code>arch: arm64</code></td><td style="text-align: center">✗</td><td></td><td></td></tr>
    <tr class="table-primary">
      <td><code>arch: amd64</code> (default)</td>
      <td style="text-align: center; color: green">✓</td>
      <td style="text-align: center; color: green">✓</td>
      <td>daily</td>
    </tr>
    <tr><td><code>arch: i386</code></td><td style="text-align: center">✗</td><td></td><td></td></tr>
    <tr><td><code>arch: ppc64el</code></td><td style="text-align: center">✗</td><td></td><td></td></tr>
    <tr><td><code>arch: s390x</code></td><td style="text-align: center">✗</td><td></td><td></td></tr>
  </tbody>
</table>

<table class="table table-sm table-hover">
  <thead>
    <tr>
      <th>Ubuntu Disco (19.04)</th>
      <th colspan="3" style="font-weight: normal; text-align: center">
        <code>image: ubuntu/next</code> <strong>or</strong>
        <code>image: ubuntu/disco</code> <strong>or</strong>
        <code>image: ubuntu/19.04</code>
      </th>
    </tr>
    <tr>
      <th>arch</th>
      <th style="text-align: center">supported</th>
      <th style="text-align: center">native</th>
      <th>updated</th>
    </tr>
  </thead>
  <tbody>
    <tr><td><code>arch: arm64</code></td><td style="text-align: center">✗</td><td></td><td></td></tr>
    <tr class="table-primary">
      <td><code>arch: amd64</code> (default)</td>
      <td style="text-align: center; color: green">✓</td>
      <td style="text-align: center; color: green">✓</td>
      <td>daily</td>
    </tr>
    <tr><td><code>arch: i386</code></td><td style="text-align: center">✗</td><td></td><td></td></tr>
    <tr><td><code>arch: ppc64el</code></td><td style="text-align: center">✗</td><td></td><td></td></tr>
    <tr><td><code>arch: s390x</code></td><td style="text-align: center">✗</td><td></td><td></td></tr>
  </tbody>
</table>

**packages**

The packages array is installed with `apt-get install`.

**repositories**

To add custom repositories, specify `url distro component key-id` (separated by
spaces), where `url` is the URL of the package repository, `distro` is e.g.
`bionic` or `cosmic`, `component` is e.g. `main` or `non-free`, and `key-id` is
an optional PGP key ID to add to `apt-key`. Example:

```yaml
repositories:
  sr.ht: https://mirror.sr.ht/debian/sr.ht/ cosmic main DEADBEEFCAFEF00D
```

M builds.sr.ht/manifest.md => builds.sr.ht/manifest.md +7 -32
@@ 33,48 33,23 @@ properties available are described here:

*string*

Which OS image to build in. A list of available build images can be found
[here](/builds.sr.ht/#build-images).
Which OS image to build in. A list of available build images can be found on the
[compatibility page](/builds.sr.ht/compatibility.md).

## packages

*list* (of *string*)

A list of package names to install on the image.

- **Alpine** installs these packages with `apk`
- **Arch Linux** installs these packages with `yay`
- **Debian** installs these packages with `apt-get install`
- **FreeBSD** installs these packages with `pkg`
- **NixOS** installs these packages with `nix-env -iA`. Since it's possible to
  specify multiple channels, you must provide the full selection path,
  for example `nixpkgs.hello`. Note that the `nixpkgs` channel is **not**
  added by default.
A list of packages to install on the image. For image-specific details,
consult the [compatibility list](/builds.sr.ht/compatibility.md)

## repositories

*dictionary* (of *string: string*)

A list of extra repositories to enable with the image's package manager.
The format is name: url, and the syntax of url varies between images.

- **Alpine** uses `repo-url key-url key-name`, where `repo-url` is the URL of
  the package repository and `key-url` is a URL from where the signing key may
  be downloaded, and `key-name` is the name of the file written to
  `/etc/apk/keys/`. If the name of the repo is prefixed with an @, it will use
  that prefix in apk.
- **Arch Linux** uses `url#key-id`, where `url` is the URL of the package
  repository and `key-id` is the ID of the published PGP key the packages are
  signed with.
- **Debian** uses `url distro component key-id`, where `url` is the URL of the
  package repository, `distro` is e.g. `jessie` or `stretch`, `component` is
  e.g. `main` or `non-free`, and `key-id` is an optional PGP key ID to add to
  apt-key.
- **FreeBSD** images do not support extra package repositories.
- **NixOS** uses `channel-url`. The repo name is relevant, since
  `repo-name: repo-url` wil execute the commands
  `nix-channel --add repo-url repo-name` and `nix-channel --update repo-name`.
  Given the nature of nix, no channel is added by default.
A list of extra repositories to enable with the image's package manager. The
specific format varies by base image, [consult the compatibility
page](/builds.sr.ht/compatibility.md) for details.

## sources