Difference between revisions of "System Upgrade"

From WebOS-Ports
Jump to navigation Jump to search
Line 26: Line 26:
 
   "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
   [...]
+
   "changeLog": [
 +
      {"platformVersion": <number>, changes: ["Upgraded system UI, "New application 1", ...] },
 +
  },
 
}
 
}
 
</pre>
 
</pre>

Revision as of 17:13, 22 August 2013

This page describes the update process of the core system.

Links

Involvded components

  • luna-next
  • org.webosinternals.service.update
  • org.webosports.app.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 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.

{
   "version": <number> # Simple version number of the manifest
   "platformVersion": <number> # Platform version number (should be the number of the last merged stage
   "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.