feat!: install by FHS path, keeping man pages and completions - #964
Merged
Conversation
QaidVoid
force-pushed
the
install-map
branch
3 times, most recently
from
August 1, 2026 06:26
a6e8883 to
3857dfe
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Needs pkgforge/sbuilder#16 and pkgforge/soar#186.
Packages installed everything an archive happened to contain, and
[source.install]only ever located the binary. A recipe could ask for a file to be renamed and nothing happened: fd's licence mapping was filtered out of the index and the file landed under its original name. Fifteen recipes carried such instructions that did nothing.Licences keep the names upstream gave them rather than being renamed to
LICENSE, so a package offering a choice keeps both: fd installsLICENSE-APACHEandLICENSE-MIT.Install targets are now FHS paths inside the package directory, and the list is what the package installs:
Where a file lands says what it is, so soar links
bin/ontoPATH, manual pages beside it, and completions into the per-shell directories.Every artifact was downloaded and listed to decide what each recipe should keep, 121 archives in all. 77 packages were dropping files: 277 manual pages, 91 completions and 21 licences are now kept, while READMEs and changelogs are not.
providesis removed from all 532 recipes. Nothing reads it anymore: link names come from the install entry, and the six packages that relied on it for extra commands (dunst,android-tools,pueue,tealdeer,gpu-screen-recorder,zenity-gtk3) now say so directly.Two recipes were wrong and are fixed. 7zip pointed at
7zzs, which is not in the artifact at all; upstream ships a single7zz, now installed with7z,7zaand7zras aliases.dunstandgpu-screen-recorderdeclared onlyX=>Ypairs, so their main command was never linked.Checked with
sbuild validate: 0 errors, 0 warnings, and the generated index has no duplicate targets and no completion that would be linked ontoPATHin place of a binary.