Skip to content

Add IPS .p5m manifest parser#18

Merged
andrew merged 1 commit intomainfrom
add-ips-parser
Feb 27, 2026
Merged

Add IPS .p5m manifest parser#18
andrew merged 1 commit intomainfrom
add-ips-parser

Conversation

@andrew
Copy link
Contributor

@andrew andrew commented Feb 26, 2026

Parse dependency information from IPS package manifests (.p5m files) used by OpenIndiana, OmniOS, and Helios.

  • Backslash line continuation for multi-line depend statements
  • require-any emits one dependency per fmri alternative
  • Skips macro references ($()) and __TBD placeholders
  • FMRI parsing strips pkg:/ prefix, publisher, and build metadata after comma
  • Scope mapping: require/require-any/group/incorporate to runtime, optional/conditional to optional

Parse dependency information from IPS package manifests used by
OpenIndiana, OmniOS, and Helios. Handles backslash line continuation,
require-any alternatives, macro and __TBD skipping, and FMRI version
parsing with build metadata stripping.
@andrew andrew mentioned this pull request Feb 26, 2026
@Toasterson
Copy link

Quick note on macros and split lines. If you see such manifests they are incomplete and will go through pipeline programs namely pkgmogrify and pkgdepend the second one resolves elf library dependencies. The final manifests can be fetched from the REST server only in most cases and are also present in the JSON catalog file catalog.dependency.C which has the simplest representation of manifest dependency lines.

@andrew andrew merged commit 343c03a into main Feb 27, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants