| 1 | = Packaging = |
| 2 | |
| 3 | We want to package Tahoe for people to download and use and we want to use 3rd-party libraries. The following are our current desiderata: |
| 4 | |
| 5 | * We can produce a Tahoe binary package for a given deployment target, ship that package to a user using that platform, they can install that package, and it will work. That is: user doesn't have to manually satisfy any dependencies. The only deployment target that we currently support is Ubuntu Feisty or newer. |
| 6 | |
| 7 | For libraries that Tahoe uses, we have these desiderata: |
| 8 | |
| 9 | * We use the source code as it is written by upstream. That is: no patching required. |
| 10 | |
| 11 | * Use it as it is packaged by upstream. That is: we prefer to get a copy of the source code of the package as upstream prefers to distribute such source code, rather than by pulling from their revision control tool or so on. |
| 12 | |
| 13 | * The user doesn't have to manually resolve any conflicts (this means that we either have to automatically use a 3rd-party library if it is already installed or else we have to automatically force Tahoe to use the copy that it came bundled with). |
| 14 | |
| 15 | * Make it convenient for someone to use other versions of the packages that we use e.g. system-wide packages or newer or alternate versions, etc.. |