| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | <!-- $NetBSD: bulk.xml,v 1.34 2021/08/03 08:11:34 nia Exp $ --> | | 1 | <!-- $NetBSD: bulk.xml,v 1.35 2021/08/03 08:16:44 nia Exp $ --> |
2 | | | 2 | |
3 | <chapter id="bulk"> | | 3 | <chapter id="bulk"> |
4 | <title>Creating binary packages for everything in pkgsrc (bulk | | 4 | <title>Creating binary packages for everything in pkgsrc (bulk |
5 | builds)</title> | | 5 | builds)</title> |
6 | | | 6 | |
7 | <para>For a number of reasons, you may want to build binary packages | | 7 | <para>For a number of reasons, you may want to build binary packages |
8 | for a large selected set of packages in pkgsrc, or even for all pkgsrc packages. | | 8 | for a large selected set of packages in pkgsrc, or even for all pkgsrc packages. |
9 | For instance, when you have multiple machines that should run the same software, | | 9 | For instance, when you have multiple machines that should run the same software, |
10 | it is wasted time if they all build their packages themselves from source. | | 10 | it is wasted time if they all build their packages themselves from source. |
11 | Or you may want to build a list of packages you want and check them before | | 11 | Or you may want to build a list of packages you want and check them before |
12 | deploying onto production systems. | | 12 | deploying onto production systems. |
13 | There is a way of getting a set of binary packages: | | 13 | There is a way of getting a set of binary packages: |
14 | the bulk build system, or pbulk ("p" stands for "parallel"). | | 14 | the bulk build system, or pbulk ("p" stands for "parallel"). |
| @@ -147,27 +147,32 @@ and make final amendments, if wanted. | | | @@ -147,27 +147,32 @@ and make final amendments, if wanted. |
147 | &rprompt; <userinput>/usr/pbulk/bin/bulkbuild</userinput> | | 147 | &rprompt; <userinput>/usr/pbulk/bin/bulkbuild</userinput> |
148 | </screen> | | 148 | </screen> |
149 | | | 149 | |
150 | <para>After it finishes, you'll have <filename>/mnt</filename> filled with distribution files, binary packages, and reports, | | 150 | <para>After it finishes, you'll have <filename>/mnt</filename> filled with distribution files, binary packages, and reports, |
151 | plain text summary in <filename>/mnt/bulklog/meta/report.txt</filename> | | 151 | plain text summary in <filename>/mnt/bulklog/meta/report.txt</filename> |
152 | </para> | | 152 | </para> |
153 | | | 153 | |
154 | <note><para>The <filename>pbulk.sh</filename> script does not cover all possible use cases. | | 154 | <note><para>The <filename>pbulk.sh</filename> script does not cover all possible use cases. |
155 | While being ready to run, it serves as a good starting point to understand and build more complex setups. | | 155 | While being ready to run, it serves as a good starting point to understand and build more complex setups. |
156 | The script is kept small enough for better understanding.</para> | | 156 | The script is kept small enough for better understanding.</para> |
157 | </note> | | 157 | </note> |
158 | | | 158 | |
159 | <note><para>The <filename>pbulk.sh</filename> script supports running | | 159 | <note><para>The <filename>pbulk.sh</filename> script supports running |
160 | unprivileged bulk build and helps configuring distributed bulk builds.</para> | | 160 | unprivileged bulk build and helps configuring distributed bulk builds. |
| | | 161 | Distributed bulk builds support either building in worker chroots |
| | | 162 | (each node is a path to a different chroot) |
| | | 163 | that replicate the target system, including the pbulk prefix, |
| | | 164 | or remote machines (each node is |
| | | 165 | an IP address that must be accessible over SSH without a password).</para> |
161 | </note> | | 166 | </note> |
162 | | | 167 | |
163 | </sect2> | | 168 | </sect2> |
164 | | | 169 | |
165 | </sect1> | | 170 | </sect1> |
166 | | | 171 | |
167 | <sect1 id="bulk.req"> | | 172 | <sect1 id="bulk.req"> |
168 | <title>Requirements of a full bulk build</title> | | 173 | <title>Requirements of a full bulk build</title> |
169 | | | 174 | |
170 | <para>A complete bulk build requires lots of disk space. Some of the | | 175 | <para>A complete bulk build requires lots of disk space. Some of the |
171 | disk space can be read-only, some other must be writable. Some can be on | | 176 | disk space can be read-only, some other must be writable. Some can be on |
172 | remote filesystems (such as NFS) and some should be local. Some can be | | 177 | remote filesystems (such as NFS) and some should be local. Some can be |
173 | temporary filesystems, others must survive a sudden reboot.</para> | | 178 | temporary filesystems, others must survive a sudden reboot.</para> |