summaryrefslogtreecommitdiffstats
path: root/dev/todo
diff options
context:
space:
mode:
authorP. J. McDermott <pehjota>2012-08-04 13:06:37 (EDT)
committer P. J. McDermott <pjm@nac.net>2012-08-04 13:07:13 (EDT)
commit317e08567579b265845b1828c7887dddf79c1007 (patch)
tree5e94d2fc0b918a96fac93457c65e7985a51b7872 /dev/todo
parent463667eb941a80fc1f54907b885626d2f4b958a9 (diff)
Describe proposed build daemon infrastructure.
Diffstat (limited to 'dev/todo')
-rw-r--r--dev/todo/buildd-infra.mdwn40
1 files changed, 40 insertions, 0 deletions
diff --git a/dev/todo/buildd-infra.mdwn b/dev/todo/buildd-infra.mdwn
new file mode 100644
index 0000000..c190031
--- /dev/null
+++ b/dev/todo/buildd-infra.mdwn
@@ -0,0 +1,40 @@
+[[!meta title="Build Daemon Infrastructure"]]
+
+Summary
+=======
+
+This pages documents the proposed infrastructure for handling package uploads,
+builds, and archive inclusions.
+
+
+Process
+=======
+
+The following diagram summarizes the process:
+
+[[!img dev/buildd-infra.png size="x450" alt="buildd infrastructure diagram"]]
+
+The general process is as follows:
+
+ 1. A maintainer uploads a source package (not necessarily his or her own –
+ non-maintainer uploads are allowed) and changes file over SFTP into the
+ review queue. (This can be done by hand or with the assistance of a script
+ similar to Debian's dupload and dput scripts.)
+ 2. A reviewer (whose job is similar to that of Debian's ftpmaster team members)
+ examines the changes file and, if necessary, the source package itself and
+ decides to either accept or reject the upload. If accepted, the package is
+ added to the master build queue and all of the relevant build queues.
+ 3. Each build daemon periodically checks the queues for which it is
+ responsible. If packages are waiting to be built, it attempts to build the
+ oldest one (first in, first out). If the build is successful, the daemon
+ adds the produced binary packages to the archive queue. Either way, the
+ queue run ends with the removal of the processed source package from the
+ relevant queue.
+ 4. When the master build daemon detects that a package no longer exists in any
+ architecture build queue, it moves the source package and changes file into
+ the archive queue.
+ 5. When the archive inclusion daemon finds a source package in the archive
+ queue, it includes in the archive the source package along with all of the
+ built binary packages.
+ 6. Users can finally download the source and binary packages from the archive
+ using opkg.