Skip to content

Commit 7d95dce

Browse files
committed
package: add package guidelines
just some general ideas and opinions i had wrt how helium should ~ be packaged
1 parent 2a405b3 commit 7d95dce

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

package/README.md

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

0 commit comments

Comments
 (0)