**Summary**
Many updates added since 1.5.1 (released in 2012!)
Full change log available [here](https://github.com/libtcod/libtcod/blob/1.24.0/CHANGELOG.md)
**Test Plan**
Built and ran the few samples in the repo
**Checklist**
- [x] Package was built and tested against unstable
**Summary**
- Previous commit handled all the renames, this commit chnages:
- Comment text in some monitoring files
- The taskfile task for a new monitoring file
- The CI check for monitoring file existence
**Summary**
/usr/bin/new{g,u}idmap were not being set setuid for some reason, which
broke boulder's use of user namespaces.
Add verbose chmod command to the recipe that shows the change at the end
of the build.
**Test Plan**
Build shadow, check that the installed /usr/bin/new{g,u}idmap are setuid,
successfully build a recipe with boulder.
Signed-off-by: Rune Morling <ermo@serpentos.com>
**Summary**
Change loader/dumper to ruamel to enable putting out dependency lists
with proper offset and colon spacing. This way the output can directly
be copied and pasted into the recipe.
Note: I couldn't find a way to do this with pyyaml; Dumper
implementation [adopted from ruamel
docs](https://yaml.readthedocs.io/en/latest/example/#output-of-dump-as-a-string).
I also couldn't get `top_level_colon_align` to work for some reason, so
in cases of very short subpackage names with dependencies the colon
might be placed too far to the left (not 100% sure if there is such a
case in the repo; the "^g++" case happens to perfectly align)
Resolves https://github.com/getsolus/packages/issues/3924
**Test Plan**
Old output `budgie-desktop-branding`:
```
- breeze-cursor-theme
- budgie-backgrounds
- budgie-desktop
- font-hack-ttf
- livecd:
- budgie-desktop-branding
- test
- materia-gtk-theme
- materia-gtk-theme-dark
- noto-sans-ttf
- noto-serif-ttf
- papirus-icon-theme
- qtstyleplugins
- solus-artwork
- test
```
New output `budgie-desktop-branding`:
```
- breeze-cursor-theme
- budgie-backgrounds
- budgie-desktop
- font-hack-ttf
- livecd :
- budgie-desktop-branding
- test
- materia-gtk-theme
- materia-gtk-theme-dark
- noto-sans-ttf
- noto-serif-ttf
- papirus-icon-theme
- qtstyleplugins
- solus-artwork
- test
```
Old output `gcc` rundeps:
```
- ^g++: gcc
- ^gfortran:
- gcc
- libgfortran
- ^libgcc-32bit: libgcc
- ^libgfortran-32bit: libgfortran
- ^libgomp-32bit:
- libgcc-32bit
- libgomp
- ^libstdc++-32bit: libstdc++
- mpc
- mpfr
- test
```
New output `gcc` rundeps:
```
- ^g++ : gcc
- ^gfortran :
- gcc
- libgfortran
- ^libgcc-32bit : libgcc
- ^libgfortran-32bit : libgfortran
- ^libgomp-32bit :
- libgcc-32bit
- libgomp
- ^libstdc++-32bit : libstdc++
- mpc
- mpfr
- test
```
**Checklist**
- [x] Package was built and tested against unstable
**Summary**
Add a check that fails when static libraries are included.
Packages or paths that should contain static libraries can be allow-listed in the CI configuration.
**Summary**
Change loader/dumper to ruamel to enable putting out dependency lists with proper offset.
This way the output can directly be copied and pasted into the recipe.
Resolves https://github.com/getsolus/packages/issues/3924
Signed-off-by: Thomas Staudinger <Staudi.Kaos@gmail.com>
**Summary**
Add an exception for `EULA`, as that is used by the following packages:
```
hsa-amd-aqlprofile
intel-microcode
nvidia-470-glx-driver
nvidia-beta-driver
nvidia-developer-driver
nvidia-glx-driver
opencv
```
This is not a valid SPDX license identifier, but there is no valid alternative.
Resolves#2423
**Summary**
Fix `pkgconfig32` entries not being sorted in a separate section by
sorting them *before* `pkgconfig` (as that is currently most common).
Resolves#921
**Test Plan**
- Run checks against `packages/a/avahi/package.yml`, see no dependency
order violation.
- Run checks against `packages/c/cups/package.yml`, see dependency order
violation (it has `pkgconfig` before `pkgconfig32`).
**Checklist**
- [x] ~~Package was built and tested against unstable~~ n/a
**Summary**
SPDX license identifiers may be a 'simple' or 'compound' expression,
meaning that the following formats are also allowed:
- A document reference instead of license identifier.
- `+` after the license identifier.
- License identifier followed `WITH` and an exception identifier.
- The above split by `AND` or `OR`.
- The above contained between `()`.
All but the first case should now be valid according to the package
checks. The first case is still invalid, as we want license identifiers
and not document references in our packages.
See: https://spdx.github.io/spdx-spec/v2.3/SPDX-license-expressions/Resolves#956
**Test Plan**
Manually run the package checks against all packages with `WITH/AND/OR`
in the license:
```console
> common/CI/package_checks.py (rg 'license *:.* (WITH|AND|OR) ' -l |rg yml)
Checking files: packages/w/wxsqlite3/package.yml, packages/w/wxwidgets/package.yml, packages/w/wxPython/package.yml, packages/w/wxwidgets30/package.yml, packages/o/openscenegraph/package.yml, packages/l/libabigail/package.yml, packages/o/openjdk-17/package.yml, packages/o/openjdk-11/package.yml, packages/o/opencascade/package.yml, packages/o/opam/package.yml, packages/j/jtreg/package.yml
Found 0 result(s), 0 error(s)
```
Manually invalidate one of the licenses and run the check again:
```console
./common/CI/package_checks.py (rg 'license *:.* (WITH|AND|OR) ' -l |rg yml)
Checking files: packages/w/wxsqlite3/package.yml, packages/w/wxwidgets30/package.yml, packages/w/wxwidgets/package.yml, packages/w/wxPython/package.yml, packages/o/openscenegraph/package.yml, packages/o/openjdk-11/package.yml, packages/o/openjdk-17/package.yml, packages/l/libabigail/package.yml, packages/o/opencascade/package.yml, packages/o/opam/package.yml, packages/j/jtreg/package.yml
Found 1 result(s), 0 error(s)
::warning file=packages/l/libabigail/package.yml,line=7::invalid license identifier: 'Apache-2.0 WITH LLVM-exceptionx'
```
**Checklist**
- [x] ~~Package was built and tested against unstable~~ n/a
**Summary**
Ensure that package versions are always strings and not numbers, as
might happen with versions like '1.2' and '20230102'.
**Test Plan**
Manually run check against repo:
```shell
$ ./common/CI/package_checks.py **/package.yml
Checking files: <snip>
Found 234 result(s), 234 error(s)
::error file=packages/a/a2jmidid/package.yml,line=2::Package version is not a string
::error file=packages/a/accounts-qml-module/package.yml,line=2::Package version is not a string
<etc>
```
**Checklist**
- [x] ~~Package was built and tested against unstable~~ n/a
Add a simple configuration file for the CI checks,
that includes dates for a package freeze.
Packages updates for packages in `common/iso_packages.txt` result in
either a notice outside of freeze periods, or a warning in freeze periods.
SPDX license identifiers may be a 'simple' or 'compound' expression,
meaning that the following formats are also allowed:
- A document reference instead of license identifier.
- `+` after the license identifier.
- License identifier followed `WITH` and an exception identifier.
- The above split by `AND` or `OR`.
- The above contained between `()`.
All but the first case should now be valid according to the package checks.
The first case is still invalid, as we want license identifiers and not document references in our packages.
See: https://spdx.github.io/spdx-spec/v2.3/SPDX-license-expressions/Resolves#956