|
| 1 | +# Helium packaging guidelines |
| 2 | + |
| 3 | +This document provides guidelines for packagers creating Helium packages |
| 4 | +for various Linux distriutions and packaging systems. These guidelines |
| 5 | +aim to ensure consistency across different package formats while |
| 6 | +respecting distribution-specific conventions. |
| 7 | + |
| 8 | +## Installation |
| 9 | +- The installation prefix of Helium packages is not mandated by |
| 10 | + upstream. Note that on FHS-compliant distributions, Chromium-based |
| 11 | + browsers are typically installed into /opt or /usr/lib64. |
| 12 | +- The primary executable should be a symbolic link to |
| 13 | + $prefix/helium-wrapper. On FHS-compliant distributions, it should |
| 14 | + be installed into `/usr/bin` or `/usr/local/bin`. |
| 15 | + |
| 16 | +## Branding |
| 17 | +- The primary executable name should be `helium`. |
| 18 | +- The package name should be `helium` if available; `helium-browser` |
| 19 | + is acceptable otherwise. If the packaging system uses reverse-DNS |
| 20 | + notation as identifiers, the identifier should be `net.imput.helium` |
| 21 | + (all lowercase). |
| 22 | +- If built from GitHub-hosted binaries, the package name should have a |
| 23 | + `-bin` suffix. |
| 24 | +- If built from releases marked as "pre-release", the package name |
| 25 | + should have a `-prerelease` (preferred), `-pre` or `-beta` suffix. |
| 26 | +- If installing the desktop file, it should be named `helium.desktop` |
| 27 | + (or `net.imput.helium.desktop` on systems preferring reverse-DNS |
| 28 | + naming). |
| 29 | +- If installing icons, the icon name should be `helium` |
| 30 | + (or `net.imput.helium`). |
| 31 | + |
| 32 | +## Versioning |
| 33 | +- Package versions should match the upstream version number. |
| 34 | +- Package versions may include a package revision suffix (e.g. `-1` in |
| 35 | + `0.8.7.1-1`) for the convenience of package development and |
| 36 | + maintenance. |
| 37 | + |
| 38 | +## Tweaks |
| 39 | +- Packages should not add environment-specific flags by default, |
| 40 | + such as enabling or disabling features via `--enable-features` |
| 41 | + or `--disable-features`. |
| 42 | +- Packages should replace the `CHROME_VERSION_EXTRA` envvar with their |
| 43 | + distribution name (e.g. `Arch Linux`) or method of distribution |
| 44 | + (e.g. `rpm`) to assist with easier bug report handling. |
| 45 | + |
| 46 | +## Security |
| 47 | +- Packages MUST NOT add default arguments that weaken the security of |
| 48 | + Helium, including but not limited to `--no-sandbox`. |
| 49 | +- Packagers are encouraged to provide MAC security profiles where |
| 50 | + applicable for enhanced security. |
0 commit comments