Build The Manifest: Difference between revisions

From MediaWiki
Jump to navigationJump to search
No edit summary
No edit summary
 
(16 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@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@f13-32 repo]# xmllint include/manifest/current.xml > /dev/null
  [nst@nst24-repo repo]$ xmllint include/manifest/current.xml > /dev/null
  [root@f13-32 repo]# svn info
[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: .
  Path: .
  URL: https://nst.svn.sourceforge.net/svnroot/nst/trunk
Working Copy Root Path: /home/nst/repo
  Repository Root: https://nst.svn.sourceforge.net/svnroot/nst
  URL: https://svn.code.sf.net/p/nst/code/repo/24
  Repository UUID: c9574408-7c70-44fe-bb37-9fe24d5f8586
Relative URL: ^/repo/24
  Revision: 2511
  Repository Root: https://svn.code.sf.net/p/nst/code
  Repository UUID: b5e161f0-cc72-4f2a-9017-da5bd5071a9c
  Revision: 7972
  Node Kind: directory
  Node Kind: directory
  Schedule: normal
  Schedule: normal
  Last Changed Author: pblankenbaker
  Last Changed Author: pblankenbaker
  Last Changed Rev: 2511
  Last Changed Rev: 7972
  Last Changed Date: 2011-08-09 16:55:15 -0400 (Tue, 09 Aug 2011)
  Last Changed Date: 2016-07-03 07:32:53 -0400 (Sun, 03 Jul 2016)
   
   
  [root@nst-dev-32 repo]# cp include/manifest/current.xml include/manifest/release-2.15.0-2512.xml
  [nst@nst24-repo repo]$ emacs -nw include/manifest/current.xml # Check/update kernel and SVN numbers
  [root@nst-dev-32 repo]# svn add include/manifest/release-2.15.0-2512.xml
[nst@nst24-repo repo]$ cp include/manifest/current.xml include/manifest/release-24-7973.xml
  [root@nst-dev-32 repo]# svn commit
  [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 ...
  ... Output from the commit ...
   
   
  [root@nst-dev-32 repo]# make -C yum nstwui-remove nstweb-remove nstmenu-remove
  [nst@nst24-repo repo]$
... This remove will force them to be rebuilt ...
[root@nst-dev-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'' command will detect this).
 
'''***Note2:''' You will likely need to update the ''html/welcome.html'' page with the next SVN revision number (''2512'' 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@nst-dev-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]$