blob: c190031deb05effdccc1db860eaab97c667d71f8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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.
|