Difference between revisions of "Build The Manifest"

From NST Wiki
Jump to navigationJump to search
 
(22 intermediate revisions by 2 users not shown)
Line 2: Line 2:
  
 
* Use the ''make manifest HOST=IP'' to generate the current manifest.
 
* Use the ''make manifest HOST=IP'' to generate the current manifest.
 +
 +
* You may need to ''edit'' the current release file: "'''include/manifest/current.xml'''" prior to copying it for misbehaved characters. Hopefully the ''xmllint'' and ''grep'' searches for the ''%'' and "\" characters will detect any issues. '''IMPORTANT''': You will need to remove/replace the "%" characters by hand (if any are found). The back slashes can be handled by ''sed'' (shown below).
 +
 +
* Create the file ''include/manifest/release-RELEASE-SVNID.xml'' where ''RELEASE'' is the NST release (like: 24) and ''SVNID'' is ''one more'' than the current revision number reported by Subversion (since our next commit will cause this number to bump up by 1). For example, if the revision number reported is 7972, then use 7973 as the ''SVNID''.
 +
 +
* You only need to update the manifest on one machine (if you are building multiple architectures, you'll need to update).
 +
 +
* You will likely need to update the ''html/welcome.html'' page with the next '''SVN revision number'''. Also check '''kernel versions''', '''dates''' and the '''manifest link'''.
 +
 +
* Probe install the nstweb package and verify that the welcome page and manifest look OK (ie the kernel and top level info).
  
 
* Commit the updated manifest file.
 
* Commit the updated manifest file.
  
* Force the ''nstwui'', ''nstmenu'' and ''nstweb'' packages to be rebuilt.
+
Here is an example of what these steps might look like:
  
  [root@nst-dev-32 repo]# make manifest HOST=nst-probe
+
  [nst@nst24-repo repo]$ make manifest HOST=nst-probe
 
   
 
   
 
  ... Output and re-generation of:
 
  ... Output and re-generation of:
 
     include/manifest/current.xml ...
 
     include/manifest/current.xml ...
 
[root@nst-dev-32 repo]# cp include/manifest/current.xml include/manifest/release-RELEASE.xml
 
[root@nst-dev-32 repo]# svn add include/manifest/release-RELEASE.xml
 
[root@nst-dev-32 repo]# svn commit
 
 
   
 
   
  ... Output from the commit ...
+
  [nst@nst24-repo repo]$ xmllint include/manifest/current.xml > /dev/null
 +
[nst@nst24-repo repo]$ grep '%' include/manifest/current.xml
 +
[nst@nst24-repo repo]$ grep '\\' include/manifest/current.xml
 +
[nst@nst24-repo repo]$ sed -i -e 's,\\,,g' -e 's,%2B,+,' -e 's,%{git,{git,' include/manifest/current.xml # Example of removing back-slashes and changing %2B to +
 +
[nst@nst24-repo repo]$ xmllint include/manifest/current.xml > /dev/null
 +
[nst@nst24-repo repo]$ svn info
 +
Path: .
 +
Working Copy Root Path: /home/nst/repo
 +
URL: https://svn.code.sf.net/p/nst/code/repo/24
 +
Relative URL: ^/repo/24
 +
Repository Root: https://svn.code.sf.net/p/nst/code
 +
Repository UUID: b5e161f0-cc72-4f2a-9017-da5bd5071a9c
 +
Revision: 7972
 +
Node Kind: directory
 +
Schedule: normal
 +
Last Changed Author: pblankenbaker
 +
Last Changed Rev: 7972
 +
Last Changed Date: 2016-07-03 07:32:53 -0400 (Sun, 03 Jul 2016)
 
   
 
   
  [root@nst-dev-32 repo]# make -C yum nstwui-remove nstweb-remove nstmenu-remove
+
  [nst@nst24-repo repo]$ emacs -nw include/manifest/current.xml # Check/update kernel and SVN numbers
 +
[nst@nst24-repo repo]$ cp include/manifest/current.xml include/manifest/release-24-7973.xml
 +
[nst@nst24-repo repo]$ svn add include/manifest/release-24-7973.xml
 +
[nst@nst24-repo repo]$ emacs -nw html/welcome.html # Look for and update SVN number to match 7973 above
 +
[nst@nst24-repo repo]$ svn commit -m "Updated manifest for upcoming release"
 
   
 
   
  ... This remove will force them to be rebuilt ...
+
  ... Output from the commit ...
 
   
 
   
  [root@nst-dev-32 repo]#
+
  [nst@nst24-repo repo]$

Latest revision as of 11:56, 24 August 2018

  • Boot the current build of the NST ISO image.
  • Use the make manifest HOST=IP to generate the current manifest.
  • You may need to edit the current release file: "include/manifest/current.xml" prior to copying it for misbehaved characters. Hopefully the xmllint and grep searches for the % and "\" characters will detect any issues. IMPORTANT: You will need to remove/replace the "%" characters by hand (if any are found). The back slashes can be handled by sed (shown below).
  • Create the file include/manifest/release-RELEASE-SVNID.xml where RELEASE is the NST release (like: 24) and SVNID is one more than the current revision number reported by Subversion (since our next commit will cause this number to bump up by 1). For example, if the revision number reported is 7972, then use 7973 as the SVNID.
  • You only need to update the manifest on one machine (if you are building multiple architectures, you'll need to update).
  • You will likely need to update the html/welcome.html page with the next SVN revision number. Also check kernel versions, dates and the manifest link.
  • Probe install the nstweb package and verify that the welcome page and manifest look OK (ie the kernel and top level info).
  • Commit the updated manifest file.

Here is an example of what these steps might look like:

[nst@nst24-repo repo]$ make manifest HOST=nst-probe

... Output and re-generation of:
    include/manifest/current.xml ...

[nst@nst24-repo repo]$ xmllint include/manifest/current.xml > /dev/null
[nst@nst24-repo repo]$ grep '%' include/manifest/current.xml
[nst@nst24-repo repo]$ grep '\\' include/manifest/current.xml 
[nst@nst24-repo repo]$ sed -i -e 's,\\,,g' -e 's,%2B,+,' -e 's,%{git,{git,' include/manifest/current.xml # Example of removing back-slashes and changing %2B to +
[nst@nst24-repo repo]$ xmllint include/manifest/current.xml > /dev/null
[nst@nst24-repo repo]$ svn info
Path: .
Working Copy Root Path: /home/nst/repo
URL: https://svn.code.sf.net/p/nst/code/repo/24
Relative URL: ^/repo/24
Repository Root: https://svn.code.sf.net/p/nst/code
Repository UUID: b5e161f0-cc72-4f2a-9017-da5bd5071a9c
Revision: 7972
Node Kind: directory
Schedule: normal
Last Changed Author: pblankenbaker
Last Changed Rev: 7972
Last Changed Date: 2016-07-03 07:32:53 -0400 (Sun, 03 Jul 2016)

[nst@nst24-repo repo]$ emacs -nw include/manifest/current.xml # Check/update kernel and SVN numbers
[nst@nst24-repo repo]$ cp include/manifest/current.xml include/manifest/release-24-7973.xml
[nst@nst24-repo repo]$ svn add include/manifest/release-24-7973.xml
[nst@nst24-repo repo]$ emacs -nw html/welcome.html # Look for and update SVN number to match 7973 above
[nst@nst24-repo repo]$ svn commit -m "Updated manifest for upcoming release"

... Output from the commit ...

[nst@nst24-repo repo]$