|
1 Tunnelblick Build Notes |
|
2 Michael Schloh von Bennewitz |
|
3 28 July 2009 |
|
4 ---------------------------- |
|
5 |
|
6 These instructions for building Tunnelblick describe a release |
|
7 engineering environment using Mac OS X 10.5.7, XCode 3.1.3, and |
|
8 the API from 'MacOSX10.5.sdk'. |
|
9 |
|
10 Workflow |
|
11 |
|
12 - Read the project's source building guidance [01] documentation. |
|
13 - Fetch the latest Tunnelblick sources [02] from SVN. |
|
14 - Fetch the third party software [03][04][05][06] distributions. |
|
15 - Possibly test Growl [07] integration (not sure if integrated.) |
|
16 - |
|
17 - Unpack the Tunnelblick source distribution. |
|
18 - Change directory to tunnelblick/third_party |
|
19 - Move all dirs (sparkle, lzo, pkcs11, tuntap, openvpn) away. |
|
20 - Unpack the freshly downloaded third party distributions. Be |
|
21 careful to use the Sparkle source code rather than binary. |
|
22 - |
|
23 - Replace the Makefile [08] and inspect the differences. |
|
24 Pay attention to the versions of unpackaged software |
|
25 distributions and those hard coded in the Makefile. |
|
26 - Move 'openvpn-<version>' to simply 'openvpn'. |
|
27 - Execute make as usual [09]. |
|
28 - Inspect the resulting universal binaries [10]. |
|
29 - |
|
30 - Change directory to tunnelblick/tunnelblick |
|
31 - Start XCode, usually found in /Developer/Applications/Xcode.app/ |
|
32 - Load the Sparkle XCode project and build the Sparkle.framework [11]. |
|
33 - Load the Tunnelblick XCode project file Tunnelblick.xcodeproj [12]. |
|
34 - Change the target to 'Release' as suggested in [01]. |
|
35 - Clean and build the product as usual, pressing the build button. |
|
36 - Verify the build result, warnings can be expected and are normal. |
|
37 - Inspect build/Release/Tunnelblick.dmg by mounting it and verify |
|
38 that the directory contents of Tunnelblick.app correspond to the |
|
39 OS X application bundle standard hierarchy. |
|
40 - |
|
41 - Read the companion document to this one 'tunnelblick_install.txt'. |
|
42 - Inspect the directory contents of ~/Library/openvpn and |
|
43 ~/Library/Preferences/com.openvpn.tunnelblick.plist. |
|
44 - Install by copying Tunnelblick.app to /Applications/. |
|
45 - Execute from a terminal as usual [13]. |
|
46 - Compare the directory contents and preferences with previous results. |
|
47 |
|
48 [01] http://groups.google.com/group/tunnelblick-discuss/web/compiling-tunnelblick-from-source |
|
49 [02] http://tunnelblick.googlecode.com/svn/trunk/ |
|
50 [03] http://www.oberhumer.com/opensource/lzo/download/ |
|
51 [04] http://www.opensc-project.org/files/pkcs11-helper/ |
|
52 [05] http://freefr.dl.sourceforge.net/sourceforge/tuntaposx/tuntap_20080804.tar.gz |
|
53 [06] http://sparkle.andymatuschak.org/files/ |
|
54 [07] http://www.growl.info/ |
|
55 [08] http://scm.europalab.com/tunnelblick/thirdparty/Makefile |
|
56 [09] $ time make 2>&1 | build.txt |
|
57 [10] $ lipo -info tuntap/tun.kext/Contents/MacOS/tun \ |
|
58 pkcs11-helper-1.07/staging/lib/libpkcs11-helper.a \ |
|
59 lzo-2.03/staging/lib/liblzo.a \ |
|
60 openvpn/openvpn |
|
61 [11] Changes to the buildconf are needed, see project files in SCM. |
|
62 [12] Changes to the buildconf are needed, see project files in SCM. |
|
63 [13] $ /Applications/Tunnelblick.app/Contents/MacOS/Tunnelblick |
|
64 |
|
65 ---- |
|
66 |
|
67 Tunnelblick Installation Notes |
|
68 Michael Schloh von Bennewitz |
|
69 28 July 2009 |
|
70 ------------------------------ |
|
71 |
|
72 Tunnelblick contains a system independent self built copy of OpenVPN, |
|
73 which is statically linked to the LZO and PKCS11Helper libraries. The |
|
74 OpenVPN configuration is found in: |
|
75 |
|
76 ~/Library/openvpn/openvpn.conf |
|
77 |
|
78 ...which may eventually conflict with other software installations. |
|
79 |
|
80 Tunnelblick contains a system independent self built copy of TUN/TAP. |
|
81 This means that Tunnelblick does not use the TUN/TAP drivers of other |
|
82 products, most notably the main vendor's: |
|
83 |
|
84 /Library/Extensions/tap.kext |
|
85 /Library/Extensions/tun.kext |
|
86 /Library/StartupItems/tap |
|
87 /Library/StartupItems/tun |
|
88 |
|
89 Tunnelblick user preferences are stored in: |
|
90 |
|
91 ~/Library/Preferences/com.openvpn.tunnelblick.plist |
|
92 |
|
93 Tunnelblick certificates are stored in: |
|
94 |
|
95 ~/Library/openvpn |
|
96 |
|
97 Because Tunnelblick encapsulates all software components and drivers |
|
98 that it needs in the Tunnelblick application bundle, to uninstall simply |
|
99 delete the application bundle named Tunnelblick.app. |
|
100 |
|
101 Manifest |
|
102 |
|
103 /Applications/Tunnelblick.app/ |
|
104 ~/Library/openvpn/* |
|
105 ~/Library/Preferences/com.openvpn.tunnelblick.plist |