Skip to content
Snippets Groups Projects

coreutils-replacement: update to reflect current state

Merged Arnaud Ferraris requested to merge wip/aferraris/coreutils-update into master
All threads resolved!
@@ -304,13 +304,20 @@ As part of an initial test using `uutils-coreutils` the following steps have bee
These initial results are promising, however more detailed tests should be planned and executed to spot potential issues.
# Migration
Since `coreutils-gplv2` is a base package special care should be taken. Also the fact that it is outdated adds additions possible security issues, which should be addressed in the short term.
The following guidelines will be followed to assure a smooth transition minimizing risks.
As of `v2022dev3`, `uutils-coreutils` is the default `coreutils` implementation on Apertis. This work involved importing
Debian's [`rust-coreutils`](https://tracker.debian.org/pkg/rust-coreutils) package along with its dependencies.
- Determine the list of tools supported and successfully tested provided by `uutils-coreutils`.
- Create a new package based on `uutils-coreutils` named `coreutils-uutils` with all the tools that are supported and successfully tested.
- For missing tools a replacement will be provided on case by case basis.
- Generate APT and OSTree based images for target and minimal configuration.
The upstream Debian package isn't aimed at replacing `coreutils` yet, meaning some packaging changes were necessary to get Apertis images
to build using `rust-coreutils` only:
- Change the package's priority from `optional` to `required`: this ensures `debootstrap` will pick up this package when bootstrapping the system
- Add Conflicts/Breaks/Provides/Replaces relationships so all dependencies are satisfied and conflicting packages (such as `coreutils-gplv2`) cannot be installed
- Install the binaries to `/bin` and `/usr/bin` instead of `/usr/libexec/rust-coreutils`
Due to the [Apertis release flow]( {{< ref "release-flow.md" >}} ) this process will start on development releases allowing any potential issue to be addressed before a stable point release, with the possibility of switching back to `coreutils-gplv2` if a proper fix cannot be implemented on time.
Additionnally, a few patches were necessary to implement missing command-line options and, for most of them, are in the process of being upstreamed.
Some of our patches still require more work, especially regarding SELinux-related options: for now, we made sure the corresponding command-line
options would be recognized, but the associated behavior isn't implemented yet.
By doing so, we ensured Apertis images could be built successfully, but with some missing security features. Implementing full SELinux support
should therefore be conducted as a follow-up activity.
`coreutils-gplv2` have been consequently removed from Apertis `v2022dev3` and later repository.
Loading