blob: 2b6c07f235bc8600e11e95e639ffe892f43ae506 [file] [log] [blame]
Bouncy Castle on the Android platform.
---
The code in this directory is based on $BOUNCYCASTLE_VERSION in the
file bouncycastle.version. See the in-file change markers for more information
on how the code differs from $BOUNCYCASTLE_VERSION.
Porting New Versions of Bouncy Castle.
--
The following steps are recommended for porting new Bouncy Castle versions.
1) Retrieve the appropriate version of the Bouncy Castle source from
www.bouncycastle.org/latest_releases.html (both bcprov-jdk*-*.tar.gz
and bcpkix-jdk*-*.tar.gz files).
Check the checksum (found at http://bouncycastle.org/checksums.html) with:
md5sum bcprov-jdk*-*.tar.gz
sha1sum bcprov-jdk*-*.tar.gz
md5sum bcpkix-jdk*-*.tar.gz
sha1sum bcpkix-jdk*-*.tar.gz
2) Submit the code to the upstream-master branch:
a) Create a new branch tracking upstream-master
git checkout -b upgrade-to-xxx --track aosp/upstream-master
b) Update the variables in bouncycastle.version.
c) Expand the source from the .tar.gz files
d) Replace bc{prov,pkix}/src/main/java/org with the equivalent source
directory
e) Ensure any new files are added
git add bc{prov,pkix}
f) Commit the change
git commit -a -m 'bouncycastle: Android tree with upstream code for version X.XX'
g) Get the change reviewed
repo upload . -D upstream-master
3) Merge the code into the master branch
a) Create a new branch
repo start merge-xxx
b) Merge the changes in
git fetch aosp upstream-master
git merge aosp/upstream-master
c) Resolve any conflicts. Some common cases:
* If upstream changed a file that's deleted locally, we probably don't
need it
* If upstream added a file to a directory we deleted, we probably don't
need it
d) Confirm all changes
git diff aosp/master
e) Run the tests, commonly at least
cts -m CtsLibcoreTestCases
cts -m CtsLibcoreFileIOTestCases
cts -m CtsLibcoreJsr166TestCases
cts -m CtsLibcoreOjTestCases
cts -m CtsLibcoreOkHttpTestCases
cts -m CtsLibcoreWycheproofBCTestCases
e) Get the change reviewed
repo upload .