implement provides
Packages should be able to export tags which can be used in dependencies.
E.g. vlc could export tag plugin-api=2. And clients could depend on vlc(plugin-api)>=2 instead of exact version number.
This is basically same as “provides”. Provides support is just more generic, especially if we allow versioned provides, e.g. “provides=vlc-plugin-api=2”. If we don’t want to pollute the regular package namespace we can allow some special character in provides, e.g. “provides=vlc:plugin-api=2”.
(from redmine: issue id 574, created on 2011-04-08, closed on 2012-04-26)
- Relations:
- relates #511 (closed)
- Changesets:
- Revision e128c95f by Timo Teräs on 2012-02-24T08:13:05Z:
pkg: add field for provides as 'p'
ref #574
- Revision 99145e2c by Timo Teräs on 2012-02-24T14:31:40Z:
all: introduce apk_provides and use it in apk_name
in preparation for provides support. implements also some
dependency satisfaction helper routines.
ref #574.
- Revision 12bdec38 by Timo Teräs on 2012-02-24T16:29:30Z:
solver, dot: elementary provides fixes
implementation is still not near finished, but now at least it
can handle it to a minimum degree. many cases are not done right
yet, though. ref #574.
- Revision 1074c4d3 by Timo Teräs on 2012-02-27T08:26:30Z:
solver: have most inherited things per-package and clean ups
Required for provides support as package might be pulled in via
non-primary package name. This allows relatively easily to pass
through inherited flags via the provided names. ref #574.
- Revision b7a22e55 by Timo Teräs on 2012-02-27T14:35:04Z:
solver, test: implements more provides things, add tests
ref #574
- Revision 536c2197 by Timo Teräs on 2012-02-28T07:39:35Z:
solver: allow multiple packages with same virtual provides
ref #574
- Revision 179b453a by Timo Teräs on 2012-02-28T08:28:39Z:
solver: fix conflicting provides detection
ref #574
- Revision 2655d27e by Timo Teräs on 2012-02-28T09:27:17Z:
solver: consider provided names also for preference
ref #574
- Revision 52dcc2d72d64266246f6d6253b8c9804d4d538c6 by Natanael Copa on 2012-08-16T12:50:06Z:
main/abuild: start add 'provides' info
ref #574