diff options
| author | 2020-05-15 13:19:26 -0400 | |
|---|---|---|
| committer | 2020-05-16 05:55:23 +0200 | |
| commit | c38d959cb50fb5b0f4af68b1bed36876dc0b3e72 (patch) | |
| tree | a6eb63c0bc02f526d52083f3f4e0bed362b53d1a /Manual.md | |
| parent | zfsbootmenu: update to 1.0. (diff) | |
Manual.md: expand description of virtual packages
Diffstat (limited to 'Manual.md')
| -rw-r--r-- | Manual.md | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/Manual.md b/Manual.md index 576b3d2032e..f6c6f457451 100644 --- a/Manual.md +++ b/Manual.md @@ -1162,10 +1162,16 @@ Dependencies declared via `${depends}` are not installed to the master directory only checked if they exist as binary packages, and are built automatically by `xbps-src` if the specified version is not in the local repository. -There's a special variant of how `virtual` dependencies can be specified as `runtime dependencies` -and is by using the `virtual?` keyword, i.e `depends="virtual?vpkg-0.1_1"`. This declares -a `runtime` virtual dependency to `vpkg-0.1_1`; this `virtual` dependency will be simply ignored -when the package is being built with `xbps-src`. +As a special case, `virtual` dependencies may be specified as runtime dependencies in the +`${depends}` template variable. Several different packages can provide common functionality by +declaring a virtual name and version in the `${provides}` template variable (e.g., +`provides="vpkg-0.1_1"`). Packages that rely on the common functionality without concern for the +specific provider can declare a dependency on the virtual package name with the prefix `virtual?` +(e.g., `depends="virtual?vpkg-0.1_1"`). When a package is built by `xbps-src`, providers for any +virtual packages will be confirmed to exist and will be built if necessary. A map from virtual +packages to their default providers is defined in `etc/default.virtual`. Individual mappings can be +overridden by local preferences in `etc/virtual`. Comments in `etc/default.virtual` provide more +information on this map. <a id="install_remove_files"></a> ### INSTALL and REMOVE files |
