Brian Carlstrom | 8113f6d | 2010-06-17 16:46:35 -0700 | [diff] [blame] | 1 | Bouncy Castle on the Android platform. |
| 2 | --- |
| 3 | |
| 4 | The code in this directory is based on $BOUNCYCASTLE_VERSION in the |
Adam Vartanian | 8ba9ca5 | 2017-10-20 12:18:11 +0100 | [diff] [blame] | 5 | file bouncycastle.version. See the in-file change markers for more information |
| 6 | on how the code differs from $BOUNCYCASTLE_VERSION. |
Brian Carlstrom | 8113f6d | 2010-06-17 16:46:35 -0700 | [diff] [blame] | 7 | |
| 8 | Porting New Versions of Bouncy Castle. |
| 9 | -- |
| 10 | |
| 11 | The following steps are recommended for porting new Bouncy Castle versions. |
| 12 | |
| 13 | 1) Retrieve the appropriate version of the Bouncy Castle source from |
Brian Carlstrom | e6bf3e8 | 2012-09-17 16:04:47 -0700 | [diff] [blame] | 14 | www.bouncycastle.org/latest_releases.html (both bcprov-jdk*-*.tar.gz |
| 15 | and bcpkix-jdk*-*.tar.gz files). |
| 16 | |
| 17 | Check the checksum (found at http://bouncycastle.org/checksums.html) with: |
Brian Carlstrom | 8113f6d | 2010-06-17 16:46:35 -0700 | [diff] [blame] | 18 | |
| 19 | md5sum bcprov-jdk*-*.tar.gz |
| 20 | sha1sum bcprov-jdk*-*.tar.gz |
Brian Carlstrom | e6bf3e8 | 2012-09-17 16:04:47 -0700 | [diff] [blame] | 21 | md5sum bcpkix-jdk*-*.tar.gz |
| 22 | sha1sum bcpkix-jdk*-*.tar.gz |
Brian Carlstrom | 8113f6d | 2010-06-17 16:46:35 -0700 | [diff] [blame] | 23 | |
Adam Vartanian | 8ba9ca5 | 2017-10-20 12:18:11 +0100 | [diff] [blame] | 24 | 2) Submit the code to the upstream-master branch: |
Brian Carlstrom | 8113f6d | 2010-06-17 16:46:35 -0700 | [diff] [blame] | 25 | |
Adam Vartanian | 8ba9ca5 | 2017-10-20 12:18:11 +0100 | [diff] [blame] | 26 | a) Create a new branch tracking upstream-master |
Brian Carlstrom | 8113f6d | 2010-06-17 16:46:35 -0700 | [diff] [blame] | 27 | |
Adam Vartanian | 8ba9ca5 | 2017-10-20 12:18:11 +0100 | [diff] [blame] | 28 | git checkout -b upgrade-to-xxx --track aosp/upstream-master |
Brian Carlstrom | 8113f6d | 2010-06-17 16:46:35 -0700 | [diff] [blame] | 29 | |
Adam Vartanian | 8ba9ca5 | 2017-10-20 12:18:11 +0100 | [diff] [blame] | 30 | b) Update the variables in bouncycastle.version. |
Brian Carlstrom | e6bf3e8 | 2012-09-17 16:04:47 -0700 | [diff] [blame] | 31 | |
Adam Vartanian | 8ba9ca5 | 2017-10-20 12:18:11 +0100 | [diff] [blame] | 32 | c) Expand the source from the .tar.gz files |
Brian Carlstrom | 8113f6d | 2010-06-17 16:46:35 -0700 | [diff] [blame] | 33 | |
Adam Vartanian | 8ba9ca5 | 2017-10-20 12:18:11 +0100 | [diff] [blame] | 34 | d) Replace bc{prov,pkix}/src/main/java/org with the equivalent source |
| 35 | directory |
Brian Carlstrom | 8113f6d | 2010-06-17 16:46:35 -0700 | [diff] [blame] | 36 | |
Adam Vartanian | 8ba9ca5 | 2017-10-20 12:18:11 +0100 | [diff] [blame] | 37 | e) Ensure any new files are added |
Brian Carlstrom | 8113f6d | 2010-06-17 16:46:35 -0700 | [diff] [blame] | 38 | |
Adam Vartanian | 8ba9ca5 | 2017-10-20 12:18:11 +0100 | [diff] [blame] | 39 | git add bc{prov,pkix} |
Brian Carlstrom | 8113f6d | 2010-06-17 16:46:35 -0700 | [diff] [blame] | 40 | |
Adam Vartanian | 8ba9ca5 | 2017-10-20 12:18:11 +0100 | [diff] [blame] | 41 | f) Commit the change |
Brian Carlstrom | 8113f6d | 2010-06-17 16:46:35 -0700 | [diff] [blame] | 42 | |
Adam Vartanian | 8ba9ca5 | 2017-10-20 12:18:11 +0100 | [diff] [blame] | 43 | git commit -a -m 'bouncycastle: Android tree with upstream code for version X.XX' |
Brian Carlstrom | 8113f6d | 2010-06-17 16:46:35 -0700 | [diff] [blame] | 44 | |
Adam Vartanian | 8ba9ca5 | 2017-10-20 12:18:11 +0100 | [diff] [blame] | 45 | g) Get the change reviewed |
Brian Carlstrom | 8113f6d | 2010-06-17 16:46:35 -0700 | [diff] [blame] | 46 | |
Adam Vartanian | 8ba9ca5 | 2017-10-20 12:18:11 +0100 | [diff] [blame] | 47 | repo upload . -D upstream-master |
Brian Carlstrom | 8113f6d | 2010-06-17 16:46:35 -0700 | [diff] [blame] | 48 | |
Adam Vartanian | 8ba9ca5 | 2017-10-20 12:18:11 +0100 | [diff] [blame] | 49 | 3) Merge the code into the master branch |
Brian Carlstrom | 8113f6d | 2010-06-17 16:46:35 -0700 | [diff] [blame] | 50 | |
Adam Vartanian | 8ba9ca5 | 2017-10-20 12:18:11 +0100 | [diff] [blame] | 51 | a) Create a new branch |
Brian Carlstrom | 517da5b | 2012-09-14 00:21:37 -0700 | [diff] [blame] | 52 | |
Adam Vartanian | 8ba9ca5 | 2017-10-20 12:18:11 +0100 | [diff] [blame] | 53 | repo start merge-xxx |
Brian Carlstrom | 8113f6d | 2010-06-17 16:46:35 -0700 | [diff] [blame] | 54 | |
Adam Vartanian | 8ba9ca5 | 2017-10-20 12:18:11 +0100 | [diff] [blame] | 55 | b) Merge the changes in |
Brian Carlstrom | 8113f6d | 2010-06-17 16:46:35 -0700 | [diff] [blame] | 56 | |
Adam Vartanian | 8ba9ca5 | 2017-10-20 12:18:11 +0100 | [diff] [blame] | 57 | git fetch aosp upstream-master |
| 58 | git merge aosp/upstream-master |
| 59 | |
| 60 | c) Resolve any conflicts. Some common cases: |
| 61 | |
| 62 | * If upstream changed a file that's deleted locally, we probably don't |
| 63 | need it |
| 64 | * If upstream added a file to a directory we deleted, we probably don't |
| 65 | need it |
| 66 | |
| 67 | d) Confirm all changes |
| 68 | |
| 69 | git diff aosp/master |
| 70 | |
| 71 | e) Run the tests, commonly at least |
| 72 | |
| 73 | cts -m CtsLibcoreTestCases |
| 74 | cts -m CtsLibcoreFileIOTestCases |
| 75 | cts -m CtsLibcoreJsr166TestCases |
| 76 | cts -m CtsLibcoreOjTestCases |
| 77 | cts -m CtsLibcoreOkHttpTestCases |
| 78 | cts -m CtsLibcoreWycheproofBCTestCases |
| 79 | |
| 80 | e) Get the change reviewed |
| 81 | |
| 82 | repo upload . |