Skip to content

Commit 848ac6d

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 848ac6d

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

package/README.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
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
26+
package name should have a `-prerelease` (preferred), `-pre` or
27+
`-beta` suffix.
28+
- If installing the desktop file, it should be named `helium.desktop`
29+
(or `net.imput.helium.desktop` on systems preferring reverse-DNS
30+
naming).
31+
- If installing icons, the icon name should be `helium`
32+
(or `net.imput.helium`).
33+
34+
## Versioning
35+
- Package versions should match the upstream version number.
36+
- Package versions may include a package revision suffix (e.g. `-1` in
37+
`0.8.7.1-1`) for the convenience of package development and
38+
maintenance.
39+
40+
## Tweaks
41+
- Packages should not add environment-specific flags by default,
42+
such as enabling or disabling features via `--enable-features`
43+
or `--disable-features`.
44+
- Packages should replace the `CHROME_VERSION_EXTRA` envvar with their
45+
distribution name (e.g. `Arch Linux`) or method of distribution
46+
(e.g. `rpm`) to assist with easier bug report handling.
47+
48+
## Security
49+
- Packages MUST NOT add default arguments that weaken the security of
50+
Helium, including but not limited to `--no-sandbox`.
51+
- Packagers are encouraged to provide MAC security profiles where
52+
applicable for enhanced security.

0 commit comments

Comments
 (0)