aboutsummaryrefslogtreecommitdiffstats
path: root/FREEBSD-upgrade
blob: 0be4e3f6246028940712e45af3beadbe1dbc27ff (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70

This contains various notes used to import a new OpenSSL version into
the FreeBSD base system.  It is not expected to be complete but just to
contain some hints for imports.  Note that this doesn't actually deal
with getting OpenSSL to compile...

XXX This file currently partly contain CVS and SVN instructions.

First, read http://wiki.freebsd.org/SubversionPrimer/VendorImports

# Xlist
setenv XLIST /FreeBSD/work/openssl/svn-FREEBSD-files/FREEBSD-Xlist
setenv FSVN "svn+ssh://svn.freebsd.org/base"
setenv OSSLVER 0.9.8k
# OSSLTAG format: v0_9_8k

###setenv OSSLTAG v`echo ${OSSLVER} | tr . _`

cd /FreeBSD/work/openssl/merge
fetch  http://www.openssl.org/source/openssl-${OSSLVER}.tar.gz \
	http://www.openssl.org/source/openssl-${OSSLVER}.tar.gz.asc
gpg --verify openssl-${OSSLVER}.tar.gz.asc openssl-${OSSLVER}.tar.gz

svn co $FSVN/vendor-crypto/openssl/dist dist
tar -x -X $XLIST -f openssl-${OSSLVER}.tar.gz

cd dist
svn list -R | grep -v '/$' | sort >../old
cd ../openssl-${OSSLVER}
find . -type f -or -type l | cut -c 3- | sort >../new
cd ..

# See that files to remove makes sense
# FREEBSD-Xlist FREEBSD-upgrade will show up - ignore that.
comm -23 old new
# See that files to add makes sense
comm -13 old new

tar -cf - -C openssl-${OSSLVER} . | tar xf - -C dist
cd dist
comm -23 ../old ../new | xargs svn rm
comm -13 ../old ../new | xargs svn --parents add

svn ci
echo svn cp $FSVN/vendor-crypto/openssl/dist $FSVN/vendor-crypto/openssl/$OSSLVER

# XXX, below this point it's very WIP.

# Resolve conflicts manually
cd src/crypto/openssl
cvs ci -m "Resolve conflicts after import of OpenSSL ${OSSLVER}."

cd ../../secure
# Do something so it actually compiles...
# Update version number in lib/libcrypto/Makefile.inc
cd lib/libcrypto
make man-makefile-update && make man-update
cd ../libssl
make man-makefile-update && make man-update
cd ../../usr.bin/openssl
make man-makefile-update && make man-update
cd ../..
cvs add lib/libcrypto/man/*.3 lib/libssl/man/*.3 usr.bin/openssl/man/*.1
cvs update
# check for files not added
cvs ci -m "Upgrade to OpenSSL ${OSSLVER}."

					-- simon@

$FreeBSD$