1Bouncy Castle on the Android platform.
2---
3
4The code in this directory is based on $BOUNCYCASTLE_VERSION in the
5file bouncycastle.version. See the in-file change markers for more information
6on how the code differs from $BOUNCYCASTLE_VERSION.
7
8Porting New Versions of Bouncy Castle.
9--
10
11The following steps are recommended for porting new Bouncy Castle versions.
12
131) Retrieve the appropriate version of the Bouncy Castle source from
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:
18
19     md5sum bcprov-jdk*-*.tar.gz
20     sha1sum bcprov-jdk*-*.tar.gz
21     md5sum bcpkix-jdk*-*.tar.gz
22     sha1sum bcpkix-jdk*-*.tar.gz
23
242) Submit the code to the upstream-master branch:
25
26  a) Create a new branch tracking upstream-master
27
28      git checkout -b upgrade-to-xxx --track aosp/upstream-master
29
30  b) Update the variables in bouncycastle.version.
31
32  c) Expand the source from the .tar.gz files
33
34  d) Replace bc{prov,pkix}/src/main/java/org with the equivalent source
35     directory
36
37  e) Ensure any new files are added
38
39      git add bc{prov,pkix}
40
41  f) Commit the change
42
43      git commit -a -m 'bouncycastle: Android tree with upstream code for version X.XX'
44
45  g) Get the change reviewed
46
47      repo upload . -D upstream-master
48
493) Merge the code into the master branch
50
51  a) Create a new branch
52
53      repo start merge-xxx
54
55  b) Merge the changes in
56
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 .
83