tunblick/TunblickDevel.txt

Mon, 16 Jan 2012 23:08:14 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Mon, 16 Jan 2012 23:08:14 +0100
changeset 23
d783b433388d
parent 4
f137c6757b85
permissions
-rw-r--r--

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

mercurial