This repository provides basic control of the package resolver and package cache components.
To resolve a package, run:
% pkgctl resolve fuchsia-pkg://fuchsia.com/fonts
To open a package (and display its contents) by merkle root, run:
% pkgctl open $MERKLE_ROOT
Prior to resolving a fuchsia-pkg URI into a package directory, the package resolver will first iterate through its rewrite rules in sequence looking for the first rule that matches the given URI and that, when applied to the given URI, produces another valid URI. This rewritten URI is the resolved instead and the given URI is discarded. If no rules match, the given URI is used as-is.
A rewrite rule must match the entire host of the URI and must prefix match the URI‘s path at a /
boundary. If the rewrite rule’s path doesn't end in a /
, it must match the entire URI path.
View all configured static and dynamic rewrite rules:
% pkgctl rule list
Remove all configured dynamic rewrite rules. Any static rewrite rules cannot be removed.
% pkgctl rule clear
Replace the configured dynamic rewrite rules with the rule config present on a device at /tmp/rules.json
:
% pkgctl rule replace file /tmp/rules.json
View the configured rewrite rules:
% pkgctl rule dump-dynamic
Note: The following set of rewrite rules will redirect the “/rolldice” package from “fuchsia.com” to the repository with the hostname “devhost”.
{ "version": "1", "content": [ { "host_match": "fuchsia.com", "host_replacement": "devhost", "path_prefix_match": "/rolldice", "path_prefix_replacement": "/rolldice" } ] }