Project

General

Profile

Actions

Feature #1833

open

Add possibility to update Replicant from within Replicant / OTA / Over The Air

Added by Wolfgang Wiedmeyer about 7 years ago. Updated over 3 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
Base applications
Target version:
Start date:
09/10/2017
Due date:
% Done:

0%

Estimated time:
Resolution:
Device:
Grant:
Type of work:
Any programming languages (scripts, C, etc), Unknown

Description

LineageOS has the CMUpdater app that handles updates to newer versions. So far, this app was removed in Replicant and no such functionality is available in Replicant. However, this feature gets regularly requested by Replicant users and there would be some advantages of having this working:
  • Automatic checks and notifications if a new update is available
  • Display of Changelog and optionally additional hints
  • No need to connect the device to a PC for the update
  • Automatic signature check of the downloaded update zip
  • Probably more...

The CMUpdater app could be adapted in a way that it works together with a webroot and the release scripts. Replicant doesn't have several release channels and dozens of supported devices, so a lot can be simplified and it would be good if nothing more than a bunch of files on the server side would be necessary (no support for POST requests required).

I could image that this can be implemented by adding a new script to the release scripts that generates a folder with a json file for each device and in the json file are at least entries for the latest release, the Changelog and the release date. The app on the device downloads the json file that belongs to the device it is running on. And the app itself generates the download URL of the update zip from the standard paths that are used for the release images webroot. Maybe the Changelog can also be put in such a standard path (RELEASE_NUMBER/DEVICE_NAME/changelog), so that a Changelog entry in the json wouldn't be nessary.

When testing the app, it is important to check that the signature verification works and the installation with the Replicant recovery is reliable. The app should refuse to install the update if it's not for a new minor release (e.g. 0002 to 0003), but for a major release (e.g. Replicant 6.0 to Replicant 7.1), because these should still be done with a factory reset. It's possible that the CMUpdater app already handles all of this well and only minor adaptations for Replicant are needed.

Actions #1

Updated by Kurtis Hanna about 6 years ago

android_packages_apps_CMUpdater uses a the GNU General Public License v2.0
https://github.com/LineageOS/android_packages_apps_CMUpdater/blob/cm-14.1/LICENSE

It doesn't look like we have this package hosted on our LineageOS mirror: https://git.replicant.us/LineageOS-mirror/?ofs=150

Should we grab it next time we update the mirror so we can maybe dink around with it to see if we can get it to work with Replicant?

Actions #2

Updated by Kurtis Hanna about 6 years ago

  • Target version changed from Replicant 6.0 to Replicant 6.0 0005
Actions #3

Updated by Denis 'GNUtoo' Carikli over 5 years ago

  • Target version changed from Replicant 6.0 0005 to Replicant 9.0
Actions #4

Updated by dl lud over 4 years ago

  • Target version changed from Replicant 9.0 to replicant 10.0
Actions #5

Updated by Kurtis Hanna over 3 years ago

  • Subject changed from Add possibility to update Replicant from within Replicant to Add possibility to update Replicant from within Replicant / OTA / Over The Air
Actions #6

Updated by _I3^ RELATIVISM over 3 years ago

  • Type of work Any programming languages (scripts, C, etc), Unknown added
Actions

Also available in: Atom PDF