AcademySoftwareFoundation / AcademySoftwareFoundation/rez
convention / attribute to expose non-packaged requirements
- Dominant language
- Python
- Stars
- 1.1k
- Forks
- 369
- Avg merge
- 12d 3h
- Merged PRs (30d)
- 5
Description
It can be the case that ensuring a specific requirement is met is the responsibility of the operating system configuration. [Taken to its logical extreme, rez would otherwise need to be capable of packaging and building an entire OS from the ground up, to represent all requirements, which is impractical and silly]
To a certain extent, this is provided for by rez-bind-ing, but every installation of ubuntu12,14,16 might have a different set of user-chosen packages installed depending on any number of reasons, and rez-binding every system-level module would be unwieldy.
It would be preferable to have a mechanism to specify in a package, a system-administrated requirement, which could be queried as the result of a resolve, to learn what non-packaged requirements are assumed to be installed on the system in question for the resolve to evaluate completely, such that otherwise unexpressed requirements can then be met in a system-adminstrated way, rather than attempting to package the universe one module at a time.
I would welcome the presence of any mechanism to allow the package to, themselves, enforce that such a requirement is in fact installed, but doing so for certain items may be impractical.
Contributor guide
Research direction
The issue names rez-binding and the resolve result as relevant entry points, but no files or tests. Start by tracing how rez-binding and resolution represent system-level requirements. Done would require a concrete mechanism to expose those assumed requirements and a defined way to verify or report them.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100