darling-openssl/README.apple.rtf
2023-04-22 20:08:12 -07:00

49 lines
3.3 KiB
Plaintext

{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf210
{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset0 Monaco;}
{\colortbl;\red255\green255\blue255;\red255\green0\blue0;}
\margl1440\margr1440\vieww19820\viewh22160\viewkind0
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\li1441\fi-1442\ri-5038\pardirnatural
\f0\fs24 \cf0 All local changes
\b \cf2 MUST
\b0 \cf0 be present as patch files in ./patches. If you make local changes, you can generate a patch file by running:\
\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\li1441\fi-1442\ri-5038\pardirnatural
\f1\fs20 \cf0 \CocoaLigature0 ./bin/generate-patch.sh ./patches/RADARNUM-SOME_DESCRIPTIVE_NAME.patch\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\li1441\fi-1442\ri-5038\pardirnatural
\f0\fs24 \cf0 \CocoaLigature1 \
If you would like to update to a newer version of OpenSSL:\
\
1) Delete the existing source tarball and the existing "src" directory`\
2) Download the new source tarball and save it into the current directory\
3) Extract source and re-apply all local patches:\
\f1\fs20 \CocoaLigature0 ./bin/extract-source.sh .\
\f0\fs24 \CocoaLigature1 4) Add any new source files and remove any obsolete source files from the Xcode project. Determine whether there are new headers that should be installed. Determine whether there are any new test targets that should be added.\
5) Some patches may not apply cleanly. In that case, you will have to determine whether the patch is still relevant, and if so, you will have to manually re-create the patch. You can do this by deleting the patch file from the patches directory, manually modifying the relevant source files, then running generate-patch.sh as mentioned above.\
6)
\b \cf2 IMPORTANT
\b0 \cf0 : After making sure the project compiles, carefully look at any changes to the installed headers. OpenSSL occasionally makes binary-incompatible changes in minor releases, which can cause existing code to fail in unexpected ways.\
7)
\b \cf2 IMPORTANT
\b0 \cf0 : Make sure that the project builds on both OSX and Windows. On OSX, test with buildit. On Windows, if you have the right version of Visual Studio (whichever version B&I is currently using) and ActiveState Perl (you need this for the OpenSSL build system), you should be able to start a Visual Studio command prompt, cd to the root of the source directory, and run "
\f1\fs20 \CocoaLigature0 nmake -f NMakefile install
\f0\fs24 \CocoaLigature1 ". You can also test with builditwin:\
\f1\fs20 \CocoaLigature0 perl \\\\xs-smb.apple.com\\release\\wbs\\bin\\builditwin .
\f0\fs24 \CocoaLigature1 \
8)
\b \cf2 IMPORTANT
\b0 \cf0 : Run all unit tests. On OSX, you can run:\
\f1\fs20 \CocoaLigature0 xcodebuild -target test ARCHS="i386 x86_64"
\f0\fs24 \CocoaLigature1 \
and on Windows you can run:\
\f1\fs20 \CocoaLigature0 nmake -f NMakefile install TEST=test
\f0\fs24 \CocoaLigature1 \
9) Make sure to update OpenSSL098.plist to indicate the new source version. Update OpenSourceModifications to describe any newly created patches, or to remove mention of patches that are no longer relevant.\
}