Difference between revisions of "Build The Manifest"

From NST Wiki
Jump to navigationJump to search
 
(11 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
* Use the ''make manifest HOST=IP'' to generate the current manifest.
 
* Use the ''make manifest HOST=IP'' to generate the current manifest.
  
* Create the file ''include/manifest/release-RELEASE-SVNID.xml'' where ''RELEASE'' is the NST release (like: 2.15.0) 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 2511, then use 2512 as the ''SVNID''.
+
* 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:
 
Here is an example of what these steps might look like:
  
  [root@dev18-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@dev18-32 repo]# xmllint include/manifest/current.xml > /dev/null
+
  [nst@nst24-repo repo]$ xmllint include/manifest/current.xml > /dev/null
  [root@dev18-32 repo]# grep '%' include/manifest/current.xml
+
  [nst@nst24-repo repo]$ grep '%' include/manifest/current.xml
  [root@dev18-32 repo]# grep '\\' include/manifest/current.xml  
+
  [nst@nst24-repo repo]$ grep '\\' include/manifest/current.xml  
  [root@dev18-32 repo]# sed -i -e 's,\\,,g' include/manifest/current.xml # Example of removing back-slashes  
+
  [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 +
  [root@dev18-32 repo]# svn info
+
  [nst@nst24-repo repo]$ xmllint include/manifest/current.xml > /dev/null
 +
[nst@nst24-repo repo]$ svn info
 
  Path: .
 
  Path: .
  Working Copy Root Path: /root/repo
+
  Working Copy Root Path: /home/nst/repo
  URL: https://svn.code.sf.net/p/nst/code/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 Root: https://svn.code.sf.net/p/nst/code
 
  Repository UUID: b5e161f0-cc72-4f2a-9017-da5bd5071a9c
 
  Repository UUID: b5e161f0-cc72-4f2a-9017-da5bd5071a9c
  Revision: 4504
+
  Revision: 7972
 
  Node Kind: directory
 
  Node Kind: directory
 
  Schedule: normal
 
  Schedule: normal
  Last Changed Author: rwhalb
+
  Last Changed Author: pblankenbaker
  Last Changed Rev: 4504
+
  Last Changed Rev: 7972
  Last Changed Date: 2013-04-12 15:13:52 -0400 (Fri, 12 Apr 2013)
+
  Last Changed Date: 2016-07-03 07:32:53 -0400 (Sun, 03 Jul 2016)
 
   
 
   
  [root@dev18-32 repo]# cp include/manifest/current.xml include/manifest/release-18-4505.xml
+
  [nst@nst24-repo repo]$ emacs -nw include/manifest/current.xml # Check/update kernel and SVN numbers
  [root@dev18-32 repo]# svn add include/manifest/release-18-4505.xml
+
[nst@nst24-repo repo]$ cp include/manifest/current.xml include/manifest/release-24-7973.xml
  [root@dev18-32 repo]# emacs -nw html/welcome.html # Look for and update SVN number to match 4505 above
+
  [nst@nst24-repo repo]$ svn add include/manifest/release-24-7973.xml
  [root@dev18-32 repo]# svn commit -m "Updated manifest for upcoming release"
+
  [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 ...
 
  ... Output from the commit ...
 
   
 
   
  [root@dev18-32 repo]# make -C yum nstwui-remove nstweb-remove nstmenu-remove
+
  [nst@nst24-repo repo]$
 
... This remove will force them to be rebuilt ...
 
 
[root@dev18-32 repo]#
 
 
 
'''***Note1:''' One 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.
 
 
 
'''***Note2:''' You will likely need to update the ''html/welcome.html'' page with the next SVN revision number (''4505'' in this example).
 
 
 
'''***Note3:''' You only need to update the manifest on the 32 bit development machine. On the 64 bit machine you will just run ''svn update'' to get the newly committed manifest. Also, it won't hurt to run the following on the 64 bit machine:
 
 
 
[root@dev18-64 repo]# make -C yum nstwui-remove nstweb-remove nstmenu-remove
 

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]$