mission-improbable icon indicating copy to clipboard operation
mission-improbable copied to clipboard

Add docker-based update system

Open jinnko opened this issue 6 years ago • 3 comments

We get a Dockerfile and associated .dockerignore to create an Ubuntu 16.04 LTS container that can be used for generating updates. A Makefile is used with a few targets to make invocation of docker related tasks easier.

The README is updated to reflect the docker implementation.

Several scripts are updated to:

  • support set -x debugging when the DEBUG env var is set
  • be quieter when running

The .gitignore gets some changes to ignore artefacts generated during the docker-update process.

A new update-wrapper.sh script is used as the docker entry point.

The get-release-image.py script will now only validate if it's downloaded, and will exit 1 if the validation failed.

The install-su.sh script forces the copy of keys, which would otherwise break the set -e mode.

The strip-cpio tool is inherently noisy. The easy workaround here is to simply send all stderr output from it to /dev/null.

Add usage output to the update.sh script, along with a trap handler to inform the user of an error if the script unexpectedly exits. There's also a new --scheduled argument to change the behaviour when the new signed image is ready: without --scheduled the behaviour is the same as before; with the flag set instructions are provided for what to do next. The script will also clone the helper repos if they're not already in place.

The make_keys.sh script is also moved as it makes it hard to manage our keys in the folder. With only keys in that folder we can handle those secrets as we please, for example as a git repository with blackbox GPG encryption.

jinnko avatar Aug 12 '17 19:08 jinnko

The changes here also benefit from the changes in https://github.com/mikeperry-tor/super-bootimg/pull/1

jinnko avatar Aug 12 '17 19:08 jinnko

Have made some changes to accommodate the 2017-09 CopperheadOS images that contain some new vdex files that were causing problems for applying gapps-delta.

Older commits that are added here have had commit author corrected and signed.

jinnko avatar Sep 25 '17 22:09 jinnko

Latest updates handle changes to how CopperheadOS make update metadata available, and fix regressions in angler updates. I don't have any other device to test with, but it's likely that the update-binary for other devices will need to be updated to successfully apply updates of android 8.

jinnko avatar Sep 29 '17 21:09 jinnko