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