ilp32 rebase #5

Description

Used to automate maintenance of the ilp32 kernel found at ppa:ce-hyperscale/ppa


Overview

This charm is used to help maintain the ilp32-enabled arm64 kernel in ppa:ce-hyperscale/ilp32-proposed. As the Ubuntu 14.04 kernel is updated, the ilp32 patches need to be rebased and packaged. On deployment, this charm will install all the necessary packages to do the job and seed content from various git locations. A user can then login and run a single command that will:
1. Query launchpad to find the version of the current kernel package in trusty-proposed
2. Pull updates for all relevant git branches
3. Create a new git branch based on the tag of the kernel currently in trusty-proposed
4. Rebase ILP32 patches from a reference tree onto this tag
5. Prepare a source package suitable for upload to a test PPA
6. Repeat for the linux-meta package

Usage

Step by step instructions on using the charm:

juju deploy ilp32-rebase
juju set user-email="user@example.org" user-fullname="Example User"
juju ssh ilp32-rebase/0
/usr/bin/do-ilp32-rebase

The config allows a user to set the URI where the ILP32 patches are located and pointers to the start and end of the patch set.

Scale out Usage

The serial nature of this charm does not lend itself to scaling out.

Known Limitations and Issues

This charm assumes that the ILP32 patches can be automatically rebased. If this assumption is broken by an Ubuntu update, then the reference tree will need to be manually updated.

Configuration

user-email
(string) E-mail address to use in commits and changelogs
user@example.org
ilp32-ref-tree
(string) GIT reference tree containing the ilp32 support patches
git://kernel.ubuntu.com/dannf/trusty-xgene.git
ilp32-start-ref
(string) GIT reference to the first ilp32 support commit
ilp32/ilp32-start
ilp32-end-ref
(string) GIT reference to the end ilp32 support commit
ilp32/ilp32
user-fullname
(string) Full name to use in commits and changelogs
Example User
release
(string) The trusty release to use as the base for the ilp32 kernel
proposed