User Tools

Site Tools


devdocs:build_system_infrastructure

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
devdocs:build_system_infrastructure [2018/11/15 20:52]
z5t1 [Build Server]
devdocs:build_system_infrastructure [2018/11/17 16:35] (current)
z5t1 [Bootstrap Server]
Line 12: Line 12:
  
   - Build the initial Cucumber Linux from Scratch build.   - Build the initial Cucumber Linux from Scratch build.
 +  - Create the initial ''​CHANGELOG'',​ ''​contents.bz2'',​ ''​file-list''​ and ''​updates''​ files.
 +  - Upload the initial ports tree and package directories and ''​CHANGELOG'',​ ''​contents.bz2'',​ ''​file-list''​ and ''​updates''​ files to the staging server.
   - Build the initial installation ISO images.   - Build the initial installation ISO images.
-  - Upload the initial ports tree and package directory to the staging server. 
  
  
Line 38: Line 39:
 ==== Staging Server ==== ==== Staging Server ====
  
-A staging server is basically a special distribution server where changes are initially uploaded for testing. All systems that are testing new changes to ensure they are stable use a staging server as their mirror instead of a distribution server. Once the changes on the staging server are deemed to be ready for general release, they are "​pushed"​ out to all of the distribution servers that the staging server is responsible for updating. A staging server can be responsible for updating one or more distribution servers. A staging server stages exactly one version of Cucumber Linux for testing.+A staging server is basically a special distribution server where changes are initially uploaded for testing. All systems that are testing new changes to ensure they are stable use a staging server as their mirror instead of a distribution server. Once the changes on the staging server are deemed to be ready for general release, they are "​pushed"​ out to all of the distribution servers that the staging server is responsible for updating; these distribution servers are known as "​associated distribution servers"​. A staging server can be responsible for updating one or more distribution servers. A staging server stages exactly one version of Cucumber Linux for testing.
  
 +=== Responsibilities ===
 +
 +  - Push appropriate updates out to all of its associated distribution servers.
 +  - Update the ''​CHANGELOG'',​ ''​contents.bz2'',​ ''​file-list''​ and ''​updates''​ files as necessary.
 +
 +
 +===== Special Files =====
 +
 +There are a few special files on the staging and distribution servers. These are their purposes. Substitute the target architecture in for ARCH.
 +
 +==== cucumber-ARCH/​CHANGELOG ====
 +
 +The CHANGELOG file contains a list of changes to the binary packages contains a list of changes to the binary packages for a specific architecture,​ along with a brief explanation of each change. Security fixes are tagged as such by putting a line containing ''​* SECURITY FIX *''​ at the end of the entry.
 +
 +=== History ===
 +
 +The CHANGELOG file used to be located at the root of the cucumber-x.y directory. It also used to track source changes as well as binary changes. In Cucumber Linux 2.0, this changed. The source code was migrated to Git, and Git commits became the primary method for tracking source code changes. This rendered the CHANGELOG file necessary only for tracking the binary changes. Since, with this change, the CHANGELOG became exclusively architecture specific, it made more sense to split it into separate files: one for each architecture.
 +
 +==== cucumber-ARCH/​contents.bz2 ====
 +
 +This file contains a list of all the files contained in each binary package for the entire distribution. Note that this is a lot of files, which results in the contents file being quite large, hence why it is bzipped. It is used by pickle when running ''​pickle --file-search''​.
 +
 +==== cucumber-ARCH/​file-list ====
 +
 +This file contains a list of all the package files (*.txz files) located under the cucumber-ARCH directory. It is used by pickle for determining available packages.
 +
 +==== cucumber-ARCH/​updates ====
 +
 +This file contains a list of updates to the binary packages. It is used by pickle when determining the available updates.
devdocs/build_system_infrastructure.1542315131.txt.gz ยท Last modified: 2018/11/15 20:52 by z5t1