see also wiki:OSPackages, wiki:Manual, and wiki:NewbieDeveloperSetup

[Imported from Trac: page Packaging, version 36]
zooko 2012-03-27 05:02:49 +00:00
parent 1de90d38f9
commit ee4c99f01d

@ -1,8 +1,29 @@
*Attention: this page is for Tahoe-LAFS developers. If you are not a Tahoe-LAFS developer, then the page you want is [quickstart.rst](http://tahoe-lafs.org/trac/tahoe-lafs/browser/trunk/docs/quickstart.rst).* *Attention: this page is for Tahoe-LAFS developers. If you are not a Tahoe-LAFS developer, then the page you want is [quickstart.rst](http://tahoe-lafs.org/trac/tahoe-lafs/browser/trunk/docs/quickstart.rst).*
see also [OSPackages](OSPackages) see also [OSPackages](OSPackages), [Manual](Manual), and [NewbieDeveloperSetup](NewbieDeveloperSetup)
# Packaging # Build Types and Goals
## Novice User
In this build type, a user downloads the Tahoe-LAFS source and everything is as automatic as possible. Internet access is assumed, and there is nothing wrong with using it.
## Developer
In this build type, someone would like to make changes to Tahoe-LAFS, and gets source from git. TODO
## Packaging System
In this build type, the build user is a packager of rpms/debs or pkgsrc. Rather than convenience, the concern is a stable and repeatable build that produces exactly the same output bits regardless of which prereqs were already installed. Using the network is not acceptable.
Within a packaging system, there are typically build phases, loosely derived from how autoconf works.
* fetch: obtain the "distfiles" (tarballs published by e.g. the tahoe project)
* patch: apply OS-local/pkgsrc-local changes (goal is to drive these to zero)
* configure: search for dependencies and configure paths
* build: compile sources to object form, run nroff to make man pages, etc.
* install: place bits either in the running system or in a destdir, suitable for running
* package: create a binary package from the installed bits
## quickstart.rst ## quickstart.rst