|
| 1 | +How to update to newer OpenSSL version, build, and publish a release. |
| 2 | + |
| 3 | +1. **Clone this repository.** |
| 4 | + |
| 5 | + ```shell |
| 6 | + git clone https://github.com/cossacklabs/openssl-apple |
| 7 | + ``` |
| 8 | + |
| 9 | + Make sure you're on the `cossacklabs` branch. |
| 10 | + |
| 11 | +2. **Update OpenSSL version.** |
| 12 | + |
| 13 | + The version number is in the [`Makefile`](Makefile). |
| 14 | + |
| 15 | + Also update tarball checksums in [`build-libssl.sh`](build-libssl.sh). |
| 16 | + |
| 17 | +3. **Update platform configuration.** |
| 18 | + |
| 19 | + Things like minimum OS SDK versions, architectures, etc. |
| 20 | + You can find all this in the [`Makefile`](Makefile). |
| 21 | + |
| 22 | +4. **Build OpenSSL.** |
| 23 | + |
| 24 | + ```shell |
| 25 | + make |
| 26 | + ``` |
| 27 | + |
| 28 | + This can take a while. |
| 29 | + Not only it builds the library, this also packages it, |
| 30 | + and updates the project specs. |
| 31 | + |
| 32 | +5. **Commit, tag, push the release.** |
| 33 | + |
| 34 | + ```shell |
| 35 | + git add carthage |
| 36 | + git commit -S -e -m "OpenSSL 1.1.1g" |
| 37 | + git tag -s -e -m "OpenSSL 1.1.1g" v1.1.107 |
| 38 | + git push origin cossacklabs # Push the branch |
| 39 | + git push origin v1.1.107 # Push the tag |
| 40 | + ``` |
| 41 | + |
| 42 | + Make will remind you how to do this. |
| 43 | + (Use the correct versions there.) |
| 44 | + Take care to make signed commits and tags, this is important for vanity. |
| 45 | + |
| 46 | + Congratulations! |
| 47 | + You have just published a broken Carthage package. |
| 48 | + |
| 49 | +6. **Publish GitHub release with binary framework files.** |
| 50 | + |
| 51 | + Go to GitHub release page for the tag: |
| 52 | + |
| 53 | + https://github.com/cossacklabs/openssl-apple/releases/tag/v1.1.107 |
| 54 | + |
| 55 | + press **Edit tag** and upload `*.zip` packages from `output` directory. |
| 56 | + |
| 57 | + Also, describe the release, press the **Publish release** when done. |
| 58 | + |
| 59 | + Congratulations! |
| 60 | + You should have fixed the Carthage package with this. |
| 61 | + |
| 62 | +7. **Publish podspec.** |
| 63 | + |
| 64 | + ```shell |
| 65 | + pod trunk push cocoapods/CLOpenSSL.podspec |
| 66 | + ``` |
| 67 | + |
| 68 | + This lints the podspec before publishing it. |
| 69 | + If it does not lint then curse at CocoaPods and scrub the release. |
| 70 | + |
| 71 | + Congratulations! |
| 72 | + You have published a CocoaPods package. |
| 73 | + |
| 74 | +Actually, you have published all of the OpenSSL. |
| 75 | +Now is the time to go check if it *actually* works. |
| 76 | +You can use [Themis](https://github.com/cossacklabs/themis) for that. |
0 commit comments