Skip to content

Commit a9d1ea8

Browse files
committed
Packaging Practices: Link to full list of -devel patterns
Plus some minor clean-ups/corrections Signed-off-by: Thomas Staudinger <Staudi.Kaos@gmail.com>
1 parent d9f44c4 commit a9d1ea8

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

docs/packaging/packaging-practices.md

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ This is invariably created for packages that provide libraries and development h
4343
/usr/share/vala
4444
```
4545

46+
For the full list of rules see [here](https://github.com/getsolus/ypkg/blob/v34/ypkg2/packages.py#L166-L254).
47+
4648
Note that for some packages, `/usr/$lib/lib*.so` files are not symlinks. In this instance, the main package will be broken with no library files present. This can quickly be determined by looking at the resulting `pspec_*.xml` file generated after running the build.
4749
If this happens, simply override with `patterns` or set `libsplit` to “no”.
4850

@@ -91,20 +93,21 @@ All new packages or updates to packages should abide by the [SPDX 3.x](https://s
9193
## Build dependencies
9294

9395
:::note
94-
Build dependencies should be ordered according to the following rules in `package.yml`:
96+
Build dependencies in a `package.yml` should be ordered according to the following rules:
9597

96-
1. `pkgconfig` dependencies before explicitly named dependencies
97-
2. Each of these two groups in so-called ASCIIbetical order (that is, alphabetical order with all uppercase letters before lowercase letters, and digits/punctuation before letters, [see here](https://en.wikipedia.org/wiki/ASCII#Character_order))
98+
1. `pkgconfig32` dependencies before `pkgconfig` dependencies
99+
2. `pkgconfig` dependencies before explicitly named dependencies
100+
3. Each of these groups in so-called ASCIIbetical order (that is, alphabetical order with all uppercase letters before lowercase letters, and digits/punctuation before letters, [see here](https://en.wikipedia.org/wiki/ASCII#Character_order))
98101

99102
Example:
100103

101104
<!-- prettier-ignore -->
102105
```yaml
103106
builddeps :
107+
- pkgconfig32(dri)
104108
- pkgconfig(MYGUI)
105109
- pkgconfig(Qt5Core)
106110
- pkgconfig(ayatana-appindicator-0.1)
107-
- pkgconfig(dri)
108111
- pkgconfig(gtk+-3.0)
109112
- The-Powder-Toy
110113
- abcMIDI
@@ -240,17 +243,15 @@ When a package is part of an automatic build sequence, these dependencies will *
240243

241244
The package `cbindgen` includes `cython` in `checkdeps` to run tests in the `check` phase.
242245

243-
[cbindgen package.yml file](https://github.com/getsolus/packages/blob/main/packages/c/cbindgen/package.yml)
246+
See the [cbindgen package.yml file](https://github.com/getsolus/packages/blob/main/packages/c/cbindgen/package.yml).
244247

245248
## Patching / extra files
246249

247-
Files that may be required during the build can be accessed via the `$pkgfiles` variable. Note that you must store your files in the `./files` directory relative to your `package.yml`
250+
Files that may be required during the build can be accessed via the `$pkgfiles` variable. Note that you must store your files in the `./files` directory relative to your `package.yml`.
248251

249-
Both patches and extra files (such as systemd units) are stored in this directory. Note that if your patch is to address a **CVE**, you must use the following naming scheme: `./files/security/cve-xxxx-xxxx.patch`
252+
Both patches and extra files (such as systemd units) are stored in this directory. Note that if your patch is to address a **CVE**, you must use the following naming scheme: `./files/security/cve-xxxx-xxxx.patch`, where `xxxx-xxxx` is replaced with the full CVE ID. Complying with this simple rule ensures that we can know at any time the security status of packages when using tools such as `cve-check-tool`.
250253

251-
Where `xxxx-xxxx` is replaced with the full CVE ID. Complying with this simple rule ensures that we can know at any time the security status of packages when using tools such as `cve-check-tool`
252-
kept
253-
Solus tooling allows the use of `./files/security/cve-xxxx-xxxx.nopatch` (which isn't applied in the build) to indicate that a CVE has been validated as not applicable to the Solus package. This can be because another patch resolves this CVE, or there is a false positive via `cve-check-tool`. The contents of the file can describe why it doesn't apply without requiring a patch (i.e. Resolved by cve-xxxx-xxxx.patch).
254+
Solus tooling allows the use of `./files/security/cve-xxxx-xxxx.nopatch` (which isn't applied in the build) to indicate that a CVE has been validated as not applicable to the Solus package. This can be because another patch resolves this CVE, or there is a false positive via `cve-check-tool`. The contents of the file can describe why it doesn't apply without requiring a patch (for example, "Resolved by cve-xxxx-xxxx.patch").
254255

255256
### Applying a patch
256257

0 commit comments

Comments
 (0)