[tahoe-lafs-trac-stream] [tahoe-lafs] #1343: how does a packager find version requirements for indirect dependencies?
tahoe-lafs
trac at tahoe-lafs.org
Thu Oct 10 19:53:55 UTC 2013
#1343: how does a packager find version requirements for indirect dependencies?
----------------------------+-----------------------
Reporter: davidsarah | Owner: somebody
Type: defect | Status: new
Priority: major | Milestone: undecided
Component: packaging | Version: 1.8.1
Resolution: | Keywords: docs
Launchpad Bug: |
----------------------------+-----------------------
Old description:
> The method of finding Tahoe's indirect requirements documented at [http
> ://tahoe-lafs.org/trac/tahoe-lafs/wiki/AdvancedInstall#Dependencies],
> * requires a built copy of Tahoe, and
> * only prints the versions being used by that copy, not the requirements.
>
> The indirect dependencies are pyutil, zbase32, and argparse. It might be
> easier just to document that (with minimum version requirements if any)
> and update the documentation manually.
New description:
The method of finding Tahoe's indirect requirements documented at [http
://tahoe-lafs.org/trac/tahoe-lafs/wiki/AdvancedInstall#Dependencies],
* requires a built copy of Tahoe, and
* only prints the versions being used by that copy, not the requirements.
The indirect dependencies are pyutil, zbase32, and argparse. It might be
easier just to document that (with minimum version requirements if any)
and update the documentation manually.
--
Comment (by dstufft):
This is actually a pretty hard problem to solve. The issue is that
indirect dependencies are not a concrete thing and can depend on what
version of direct dependencies get installed (or are already installed).
For instance:
{{{
tahoe-lafs depends on foo, foo 1.0 depends on bar, foo 2.0 depends on wat
}}}
In the above example there isn't a single set of requirements, it's a tree
where the final set depends on what version of foo ends up being selected
for installation. It *can* be expressed of course but it can be a very
confusing representation if the version specifiers of anything but the
root of the tree varies. If they are static then you can collapse the
branches into a single branch and you may (in a simple case) get a single
set because every combination of dependencies ends up having the same
requirement specifiers.
--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1343#comment:1>
tahoe-lafs <https://tahoe-lafs.org>
secure decentralized storage
More information about the tahoe-lafs-trac-stream
mailing list