2 This contains various notes used to import a new OpenSSL version into
3 the FreeBSD base system. It is not expected to be complete but just to
4 contain some hints for imports. Note that this doesn't actually deal
5 with getting OpenSSL to compile...
7 XXX This file currently partly contain CVS and SVN instructions.
9 First, read http://wiki.freebsd.org/SubversionPrimer/VendorImports
12 setenv XLIST /FreeBSD/work/openssl/svn-FREEBSD-files/FREEBSD-Xlist
13 setenv FSVN "svn+ssh://repo.freebsd.org/base"
16 ###setenv OSSLTAG v`echo ${OSSLVER} | tr . _`
18 cd /FreeBSD/work/openssl/merge
19 fetch http://www.openssl.org/source/openssl-${OSSLVER}.tar.gz \
20 http://www.openssl.org/source/openssl-${OSSLVER}.tar.gz.asc
21 gpg --verify openssl-${OSSLVER}.tar.gz.asc openssl-${OSSLVER}.tar.gz
23 svn co $FSVN/vendor-crypto/openssl/dist dist
24 tar -x -X $XLIST -f openssl-${OSSLVER}.tar.gz
27 svn list -R | egrep -v -e '/$' -e '^FREEBSD-(Xlist|upgrade)$' | sort >../old
28 cd ../openssl-${OSSLVER}
29 find . -type f -or -type l | cut -c 3- | sort >../new
32 # See that files to remove makes sense
34 # See that files to add makes sense
37 tar -cf - -C openssl-${OSSLVER} . | tar -xf - -C dist
39 comm -23 ../old ../new | xargs svn rm
40 # Make sure to remove empty directories
41 comm -13 ../old ../new | xargs svn --parents add
45 svn cp ^/vendor-crypto/openssl/dist ^/vendor-crypto/openssl/$OSSLVER
50 svn co $FSVN/head/crypto/openssl crypto/openssl
51 svn merge ^/vendor-crypto/openssl/dist crypto/openssl
53 # Resolve conflicts manually
55 svn co $FSVN/head/secure/lib/libcrypto secure/lib/libcrypto
56 svn co $FSVN/head/secure/lib/libssl secure/lib/libssl
57 svn co $FSVN/head/secure/usr.bin/openssl secure/usr.bin/openssl
59 cd secure/lib/libcrypto
61 # Update version number and release date in Makefile.inc
62 # Update all opensslconf-${MACHINE_CPUARCH}.h
65 # Regen assembly files if necessary
66 make -f Makefile.asm all
67 mv *.[Ss] ${MACHINE_CPUARCH}
68 make -f Makefile.asm clean
71 make man-makefile-update && make man-update
73 make man-makefile-update && make man-update
74 cd ../../usr.bin/openssl
75 make man-makefile-update && make man-update
79 svn ci crypto/openssl secure/lib/libcrypto secure/lib/libssl secure/usr.bin/openssl