AcademySoftwareFoundation / AcademySoftwareFoundation/rez

convention / attribute to expose non-packaged requirements

Open
#298 1 comment 0 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.