Difference between revisions of "System Upgrade"

From WebOS-Ports
Jump to: navigation, search
(General process)
(Involvded components)
 
(2 intermediate revisions by one other user not shown)
Line 11: Line 11:
  
 
* luna-next
 
* luna-next
* org.webosinternals.service.update
+
* org.webosports.update
* org.webosports.app.update
+
* org.webosports.app.settings
 +
* webos-system-update
  
 
= General process =
 
= General process =
Line 20: Line 21:
 
The update service checks http://build.webos-ports.org/webos-ports/ipk/manifest.json continously for a new update and compares the platformVersion from the manifest against the platformVersion stored in /etc/platform-version (FIXME use another file?). If the local platformVersion is less then the platformVersion of the manifest.json the available update is announced to the user through a notification.
 
The update service checks http://build.webos-ports.org/webos-ports/ipk/manifest.json continously for a new update and compares the platformVersion from the manifest against the platformVersion stored in /etc/platform-version (FIXME use another file?). If the local platformVersion is less then the platformVersion of the manifest.json the available update is announced to the user through a notification.
  
The manifest.json file allows us to add additional information about a udpate on top of the package feeds. For example we can hold off a client (assuming it's not using the opkg command line tools) to upgrade it's system until we're fine for him to do so.
+
The manifest.json file allows us to add additional meta information about an udpate on top of the package feeds like a list of changes or warnings for the user if he has to do something special after an update.
  
 
<pre>
 
<pre>
 
{
 
{
 
   "version": <number> # Simple version number of the manifest
 
   "version": <number> # Simple version number of the manifest
   "platformVersion": <number> # Platform version number (should be the number of the last merged stage
+
   "platformVersion": <number> # Platform version number (should be the number of the last merged stage and needs to be changed once a client should upgrade again)
 
   "changeLog": [
 
   "changeLog": [
 
       {"platformVersion": <number>, changes: ["Upgraded system UI, "New application 1", ...] },
 
       {"platformVersion": <number>, changes: ["Upgraded system UI, "New application 1", ...] },

Latest revision as of 08:06, 18 May 2016

This page describes the update process of the core system.

Links

Involvded components

  • luna-next
  • org.webosports.update
  • org.webosports.app.settings
  • webos-system-update

General process

Overal the process is based on top of the concept of having staging feeds (see http://www.shr-project.org/trac/wiki/Stabilizing)

The update service checks http://build.webos-ports.org/webos-ports/ipk/manifest.json continously for a new update and compares the platformVersion from the manifest against the platformVersion stored in /etc/platform-version (FIXME use another file?). If the local platformVersion is less then the platformVersion of the manifest.json the available update is announced to the user through a notification.

The manifest.json file allows us to add additional meta information about an udpate on top of the package feeds like a list of changes or warnings for the user if he has to do something special after an update.

{
   "version": <number> # Simple version number of the manifest
   "platformVersion": <number> # Platform version number (should be the number of the last merged stage and needs to be changed once a client should upgrade again)
   "changeLog": [
       {"platformVersion": <number>, changes: ["Upgraded system UI, "New application 1", ...] },
   ],
}

Once a update is found and the user acknowledged it's installation the update service will start to download all upgradable packages and place them on the device storage (in general / should be read-only until we do a system upgrade so we have to place things somewhere else).

cd /media/internal/.upgrade-storage/
opkg upgrade --download-only

As next step the system will reboot into special state where the update will be performend without any service or application running. After the update has finished the system will reboot into a usable system again.