Skip to content
This repository has been archived by the owner on Mar 31, 2024. It is now read-only.

Improve paths: key capability by allowing both path and type of files #1

Open
ermo opened this issue Aug 14, 2022 · 2 comments · Fixed by #3
Open

Improve paths: key capability by allowing both path and type of files #1

ermo opened this issue Aug 14, 2022 · 2 comments · Fixed by #3
Labels
type: enhancement An improvement to an existing feature.

Comments

@ermo
Copy link
Member

ermo commented Aug 14, 2022

In order to better support using glob matches to pattern out paths to (sub)packages, support something like the following YAML snippet:

packages:
    - "%(name)-foo":
        paths:
            - /usr/lib/*.so : symlink
            - /usr/share/%(name)/foo/ : any
            - /usr/share/%(name)/bar/ # ': any' is the default and can be omitted

To facilitate development, add suitable debug { trace(...); } statements such that addition of paths to rules and the .match-ing of said rules against build artefacts can be easily introspected.

@ermo
Copy link
Member Author

ermo commented Aug 15, 2022

Minimally working WiP lives in the boulder add-path-types branch.

Currently, it deliberately and completely ignores the path types. This is obviously set to change.

The current boulder WiP has a hard dependency on the moss-format add-path-types branch, so please ensure both are checked out when compiling.

NB: Currently, boulder build only works when using unconfined builds, so please remember to add the -u flag to your boulder build invocation. Boulder also needs to be configured to use a /usr prefix and then be installed to the system.

I use the following aliases to help me work around these (somewhat onerous) requirements:

# meson aliases -- useful for testing unconfined boulder builds
alias meson-chown="sudo chown -Rc ${USER}:${USER} *"
alias meson-clean="meson-chown ; meson compile --clean -C build/"
alias meson-compile="meson compile -C build/"
alias meson-configure-usr="meson configure --prefix=/usr build/"
alias meson-install="sudo ninja install -C build/"
alias meson-uninstall="sudo ninja uninstall -C build/"
alias meson-build-clean="meson-clean && meson-configure-usr && time meson-compile && meson-install"

@ermo ermo mentioned this issue Aug 15, 2022
@ermo ermo closed this as completed in #3 Aug 15, 2022
@ermo
Copy link
Member Author

ermo commented Aug 15, 2022

In reality, this is only half done, so re-opening. 😄

The only way to get confined builds working is to re-build the protosnek boulder stone and go from there. Which ... ugh. 😣

For now, the majority of the points above still apply, except the branch is now the main branch.

@ermo ermo reopened this Aug 15, 2022
@livingsilver94 livingsilver94 added the type: enhancement An improvement to an existing feature. label Jul 17, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
type: enhancement An improvement to an existing feature.
Projects
Status: No status
Development

Successfully merging a pull request may close this issue.

2 participants