[tor-commits] [torbrowser/master] initial test for maint-2.3

erinn at torproject.org erinn at torproject.org
Fri Mar 2 16:05:00 UTC 2012


commit 08094d058eef61fb9a5e34ddec8b94d7bb44dfa9
Author: Erinn Clark <erinn at torproject.org>
Date:   Mon Jan 16 22:19:14 2012 +0100

    initial test for maint-2.3
---
 build-scripts/config/alpha/torrc                   |   11 +
 build-scripts/config/alpha/torrc-linux             |   13 +
 build-scripts/config/alpha/torrc-osx               |   13 +
 build-scripts/config/alpha/vidalia.conf.ff         |   10 +
 build-scripts/config/alpha/vidalia.conf.ff+pidgin  |   13 +
 .../config/alpha/vidalia.conf.ff+pidgin-linux      |   13 +
 build-scripts/config/alpha/vidalia.conf.ff-linux   |   12 +
 build-scripts/config/alpha/vidalia.conf.ff-osx     |   14 +
 build-scripts/osx-alpha.mk                         |  466 ++++++++++++++++++++
 build-scripts/versions-alpha.mk                    |  127 ++++++
 ...for-uitools-so-that-it-builds-correct-lib.patch |   24 +
 11 files changed, 716 insertions(+), 0 deletions(-)

diff --git a/build-scripts/config/alpha/torrc b/build-scripts/config/alpha/torrc
new file mode 100644
index 0000000..2d63da9
--- /dev/null
+++ b/build-scripts/config/alpha/torrc
@@ -0,0 +1,11 @@
+# If non-zero, try to write to disk less frequently than we would otherwise.
+AvoidDiskWrites 1
+# Store working data, state, keys, and caches here.
+DataDirectory .\Data\Tor
+GeoIPFile .\Data\Tor\geoip
+# Where to send logging messages.  Format is minSeverity[-maxSeverity]
+# (stderr|stdout|syslog|file FILENAME).
+Log notice stdout
+# Bind to this address to listen to connections from SOCKS-speaking
+# applications.
+SocksListenAddress 127.0.0.1
diff --git a/build-scripts/config/alpha/torrc-linux b/build-scripts/config/alpha/torrc-linux
new file mode 100644
index 0000000..05f5345
--- /dev/null
+++ b/build-scripts/config/alpha/torrc-linux
@@ -0,0 +1,13 @@
+# If non-zero, try to write to disk less frequently than we would otherwise.
+AvoidDiskWrites 1
+# Store working data, state, keys, and caches here.
+DataDirectory ./Data/Tor
+GeoIPFile ./Data/Tor/geoip
+# Where to send logging messages.  Format is minSeverity[-maxSeverity]
+# (stderr|stdout|syslog|file FILENAME).
+Log notice stdout
+# Bind to this address to listen to connections from SOCKS-speaking
+# applications.
+SocksPort auto
+SocksListenAddress 127.0.0.1
+ControlPort auto
diff --git a/build-scripts/config/alpha/torrc-osx b/build-scripts/config/alpha/torrc-osx
new file mode 100644
index 0000000..4c7f0d9
--- /dev/null
+++ b/build-scripts/config/alpha/torrc-osx
@@ -0,0 +1,13 @@
+# If non-zero, try to write to disk less frequently than we would otherwise.
+AvoidDiskWrites 1
+# Store working data, state, keys, and caches here.
+DataDirectory ../../Contents/Resources/Data/Tor
+GeoIPFile ../../Contents/Resources/Data/Tor/geoip
+# Where to send logging messages.  Format is minSeverity[-maxSeverity]
+# (stderr|stdout|syslog|file FILENAME).
+Log notice stdout
+# Bind to this address to listen to connections from SOCKS-speaking
+# applications.
+SocksPort auto
+SocksListenAddress 127.0.0.1
+ControlPort auto
diff --git a/build-scripts/config/alpha/vidalia.conf.ff b/build-scripts/config/alpha/vidalia.conf.ff
new file mode 100644
index 0000000..d03289e
--- /dev/null
+++ b/build-scripts/config/alpha/vidalia.conf.ff
@@ -0,0 +1,10 @@
+[General]
+BrowserDirectory=FirefoxPortable
+BrowserExecutable=tbb-firefox.exe
+LanguageCode=en
+
+[Tor]
+ControlPort=9051
+TorExecutable=.\\App\\tor.exe
+Torrc=.\\Data\\Tor\\torrc
+DataDirectory=.\\Data\\Tor
diff --git a/build-scripts/config/alpha/vidalia.conf.ff+pidgin b/build-scripts/config/alpha/vidalia.conf.ff+pidgin
new file mode 100644
index 0000000..d5d4a9b
--- /dev/null
+++ b/build-scripts/config/alpha/vidalia.conf.ff+pidgin
@@ -0,0 +1,13 @@
+[General]
+BrowserDirectory=FirefoxPortable
+BrowserExecutable=tbb-firefox.exe
+IMExecutable=PidginPortable\\PidginPortable.exe
+LanguageCode=en
+ProxyExecutable=.\\App\\polipo.exe
+ProxyExecutableArguments=-c .\\Data\\Polipo\\polipo.conf
+RunProxyAtStart=true
+
+[Tor]
+ControlPort=9051
+TorExecutable=.\\App\\tor.exe
+Torrc=.\\Data\\Tor\\torrc
diff --git a/build-scripts/config/alpha/vidalia.conf.ff+pidgin-linux b/build-scripts/config/alpha/vidalia.conf.ff+pidgin-linux
new file mode 100644
index 0000000..8354f0b
--- /dev/null
+++ b/build-scripts/config/alpha/vidalia.conf.ff+pidgin-linux
@@ -0,0 +1,13 @@
+[General]
+BrowserDirectory=.
+BrowserExecutable=firefox
+LanguageCode=en
+IMExecutable=./App/pidgin
+ProxyExecutable=./App/polipo
+ProxyExecutableArguments=-c Data/Polipo/polipo.conf
+RunProxyAtStart=true
+
+[Tor]
+ControlPort=9051
+TorExecutable=./App/tor
+Torrc=./Data/Tor/torrc
diff --git a/build-scripts/config/alpha/vidalia.conf.ff-linux b/build-scripts/config/alpha/vidalia.conf.ff-linux
new file mode 100644
index 0000000..4535b7b
--- /dev/null
+++ b/build-scripts/config/alpha/vidalia.conf.ff-linux
@@ -0,0 +1,12 @@
+[General]
+BrowserDirectory=.
+BrowserExecutable=firefox
+InterfaceStyle=Cleanlooks
+LanguageCode=en
+
+[Tor]
+ControlPort=9051
+TorExecutable=./App/tor
+Torrc=./Data/Tor/torrc
+AutoControl=true
+DataDirectory=./Data/Tor
diff --git a/build-scripts/config/alpha/vidalia.conf.ff-osx b/build-scripts/config/alpha/vidalia.conf.ff-osx
new file mode 100644
index 0000000..a02a7dc
--- /dev/null
+++ b/build-scripts/config/alpha/vidalia.conf.ff-osx
@@ -0,0 +1,14 @@
+[General]
+PluginPath=../../Library/Vidalia/plugins
+LanguageCode=en
+
+[Tor]
+ControlPort=9051
+TorExecutable=../../Contents/MacOS/tor
+Torrc=../../Library/Vidalia/torrc
+AutoControl=true
+DataDirectory=../../Contents/Resources/Data/Tor
+
+[TBB]
+BrowserDirectory=../../
+BrowserExecutable=firefox-bin
diff --git a/build-scripts/osx-alpha.mk b/build-scripts/osx-alpha.mk
new file mode 100644
index 0000000..b52a3f5
--- /dev/null
+++ b/build-scripts/osx-alpha.mk
@@ -0,0 +1,466 @@
+###
+### Makefile for building Tor USB bundle on Mac OS X
+###
+### Copyright 2007 Steven J. Murdoch <http://www.cl.cam.ac.uk/users/sjm217/>
+### Copyright 2009, 2010 Jacob Appelbaum <jacob at appelbaum.net>
+### Copyright 2010 Erinn Clark <erinn at torproject.org>
+###
+### You want to do the following currently supported activities:
+# This downloads and compiles everything
+### make -f osx-alpha.mk build-all-binaries
+# This makes a generic bundle
+### make -f osx-alpha.mk generic-bundle
+# This makes the English bundle
+### make -f osx-alpha.mk bundle_en-US
+# This makes the German bundle
+### make -f osx-alpha.mk bundle_de
+# This makes the German compressed bundle
+### make -f osx-alpha.mk compressed-bundle_de 
+# It's possible you may also want to do:
+### make -f osx-alpha.mk build-all-binaries
+### make -f osx-alpha.mk all-compressed-bundles
+### ...
+### Look in tbbosx-alpha-dist/ for your files.
+###
+### See LICENSE for licensing information
+###
+### $Id: Makefile 19973 2009-07-12 02:26:03Z phobos $
+###
+
+#####################
+### Configuration ###
+#####################
+
+## Include versions
+include $(PWD)/versions-alpha.mk
+
+## Architecture
+ARCH_TYPE=i386
+BUILD_NUM=1
+PLATFORM=MacOS
+
+## Location of directory for source unpacking
+FETCH_DIR=$(PWD)/build-alpha-$(ARCH_TYPE)
+## Location of directory for prefix/destdir/compiles/etc
+BUILT_DIR=$(FETCH_DIR)/built
+TBB_FINAL=$(BUILT_DIR)/tbbosx-alpha-dist
+
+source-dance: fetch-source unpack-source
+	echo "We're ready for building now."
+
+ZLIB_DIR=$(FETCH_DIR)/zlib-$(ZLIB_VER)
+ZLIB_OPTS=--prefix=$(BUILT_DIR)
+ZLIB_CFLAGS="-arch $(ARCH_TYPE)"
+build-zlib:
+	cd $(ZLIB_DIR) && CFLAGS=$(ZLIB_CFLAGS) ./configure $(ZLIB_OPTS)
+	cd $(ZLIB_DIR) && make
+	cd $(ZLIB_DIR) && make install
+
+OPENSSL_DIR=$(FETCH_DIR)/openssl-$(OPENSSL_VER)
+OPENSSL_OPTS=-no-rc5 -no-md2 -no-man shared zlib -mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk -Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk --prefix=$(BUILT_DIR) --openssldir=$(BUILT_DIR) -L$(BUILT_DIR)/lib -I$(BUILT_DIR)/include
+build-openssl:
+	cp ../src/current-patches/openssl/000* $(OPENSSL_DIR)
+	cp patch-any-src.sh $(OPENSSL_DIR)
+	cd $(OPENSSL_DIR) && ./patch-any-src.sh
+ifeq (x86_64,$(ARCH_TYPE))
+	cd $(OPENSSL_DIR) && ./Configure darwin64-x86_64-cc $(OPENSSL_OPTS)
+else
+	cd $(OPENSSL_DIR) && ./Configure darwin-i386-cc $(OPENSSL_OPTS)
+endif
+	cd $(OPENSSL_DIR) && make depend
+	cd $(OPENSSL_DIR) && make
+	cd $(OPENSSL_DIR) && make install
+
+QT_DIR=$(FETCH_DIR)/qt-everywhere-opensource-src-$(QT_VER)
+QT_BUILD_PREFS=-qt-zlib -universal -confirm-license -opensource -openssl-linked -no-qt3support \
+	-fast -release -no-framework -nomake demos -nomake examples -sdk /Developer/SDKs/MacOSX10.5.sdk/
+QT_OPTS=$(QT_BUILD_PREFS) -prefix $(BUILT_DIR) -I $(BUILT_DIR)/include -I $(BUILT_DIR)/include/openssl/ -L $(BUILT_DIR)/lib
+build-qt:
+	cd $(QT_DIR) && ./configure $(QT_OPTS)
+	cd $(QT_DIR) && make -j2
+	cd $(QT_DIR) && make install
+
+QTSCRIPT_DIR=$(FETCH_DIR)/qtscriptgenerator
+QTSCRIPT_OPTS=
+build-qtscript:
+	cd $(QTSCRIPT_DIR)/generator && qmake -spec macx-g++
+	cd $(QTSCRIPT_DIR)/generator && make -j4
+	cd $(QTSCRIPT_DIR)/generator && ./generator --include-paths=/usr/include/
+	cp ../src/current-patches/qt/000* $(QTSCRIPT_DIR)/qtbindings/qtscript_uitools
+	cp patch-any-src.sh $(QTSCRIPT_DIR)/qtbindings/qtscript_uitools
+	cd $(QTSCRIPT_DIR)/qtbindings/qtscript_uitools && ./patch-any-src.sh
+	cd $(QTSCRIPT_DIR)/generator && qmake -spec macx-g++
+	cd $(QTSCRIPT_DIR)/generator && make -j4
+	cd $(QTSCRIPT_DIR)/qtbindings && qmake  -spec macx-g++ -recursive CONFIG+="release"
+build-qtfoo:
+	cd $(QTSCRIPT_DIR)/qtbindings && for i in $(ls -d qtscript_*); do make -C $i release; done
+
+VIDALIA_DIR=$(FETCH_DIR)/vidalia-$(VIDALIA_VER)
+VIDALIA_OPTS=-DQT_QMAKE_EXECUTABLE=/usr/bin/qmake -DSCRIPT_DIR=$(QTSCRIPT_DIR)/plugins/script -DTOR_SOURCE_DIR=$(TOR_DIR) ..
+build-vidalia:
+	export MACOSX_DEPLOYMENT_TARGET=10.5
+	-mkdir $(VIDALIA_DIR)/build
+	cd $(VIDALIA_DIR)/build && cmake $(VIDALIA_OPTS) \
+	&& make && make dist-osx-bundle
+	cd $(VIDALIA_DIR)/build && DESTDIR=$(BUILT_DIR) make install
+
+LIBEVENT_DIR=$(FETCH_DIR)/libevent-$(LIBEVENT_VER)
+LIBEVENT_CFLAGS="-O -g -arch $(ARCH_TYPE) -mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk -arch $(ARCH_TYPE)"
+LIBEVENT_LDFLAGS="-L$(BUILT_DIR)/lib -Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk"
+LIBEVENT_OPTS=--prefix=$(BUILT_DIR) --enable-static --disable-shared --disable-dependency-tracking CC="gcc-4.0"
+build-libevent:
+	cd $(LIBEVENT_DIR) && CFLAGS=$(LIBEVENT_CFLAGS) LDFLAGS=$(LIBEVENT_LDFLAGS) ./configure $(LIBEVENT_OPTS)
+	cd $(LIBEVENT_DIR) && make -j2
+	cd $(LIBEVENT_DIR) && sudo make install
+
+TOR_DIR=$(FETCH_DIR)/tor-$(TOR_VER)
+TOR_CFLAGS="-O -g -arch $(ARCH_TYPE) -I$(BUILT_DIR)/include -mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk"
+TOR_LDFLAGS="-L$(BUILT_DIR)/lib -Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk"
+TOR_OPTS=--enable-static-openssl --enable-static-libevent --with-openssl-dir=$(BUILT_DIR)/lib --with-libevent-dir=$(BUILT_DIR)/lib --prefix=$(BUILT_DIR) --disable-dependency-tracking CC="gcc-4.0"
+build-tor:
+	cd $(TOR_DIR) && CFLAGS=$(TOR_CFLAGS) LDFLAGS=$(TOR_LDFLAGS) ./configure $(TOR_OPTS)
+	cd $(TOR_DIR) && make
+	cd $(TOR_DIR) && make install
+
+FIREFOX_DIR=$(FETCH_DIR)/mozilla-release
+build-firefox:
+	cp ../src/current-patches/firefox/* $(FIREFOX_DIR)
+	cp patch-any-src.sh $(FIREFOX_DIR)
+	cp $(CONFIG_SRC)/mozconfig-osx-$(ARCH_TYPE) $(FIREFOX_DIR)/mozconfig
+	cd $(FIREFOX_DIR) && ./patch-any-src.sh
+	cd $(FIREFOX_DIR) && make -f client.mk build
+
+copy-firefox:
+	-rm -rf $(FETCH_DIR)/Firefox.app
+	cp -r $(FIREFOX_DIR)/obj*/dist/*.app $(FETCH_DIR)/Firefox.app
+
+build-all-binaries: build-zlib build-openssl build-vidalia build-libevent build-tor build-firefox
+	echo "If we're here, we've done something right."
+
+## Location of compiled libraries
+COMPILED_LIBS=$(BUILT_DIR)/lib
+## Location of compiled binaries
+COMPILED_BINS=$(BUILT_DIR)/bin/
+
+## Location of the libraries we've built
+QT=$(COMPILED_LIBS)
+OPENSSL=$(COMPILED_LIBS)
+ZLIB=$(COMPILED_LIBS)
+LIBEVENT=$(COMPILED_LIBS)
+
+## Location of binary bundle components
+VIDALIA=$(BUILT_DIR)/usr/local/bin/Vidalia.app/
+TOR=$(COMPILED_BINS)/tor
+## Someday, this will be our custom Firefox
+FIREFOX=$(FETCH_DIR)/Firefox.app
+PIDGIN=$(COMPILED_BINS)/pidgin
+
+## Location of utility applications
+WGET:=$(shell which wget)
+
+## Size of split archive volumes for WinRAR
+SPLITSIZE=1440k
+
+## Location of config files
+CONFIG_SRC=config
+
+## Destination for the generic bundle
+DEST=generic-bundle
+
+## Name of the bundle
+NAME=TorBrowser
+
+## Where shall we put the finished files for distribution?
+DISTDIR=tbbosx-alpha-dist
+
+## Version and name of the compressed bundle (also used for source)
+VERSION=$(RELEASE_VER)-$(BUILD_NUM)-dev
+DEFAULT_COMPRESSED_BASENAME=TorBrowser-$(VERSION)-osx-$(ARCH_TYPE)-
+IM_COMPRESSED_BASENAME=TorBrowser-IM-$(VERSION)-
+DEFAULT_COMPRESSED_NAME=$(DEFAULT_COMPRESSED_BASENAME)
+IM_COMPRESSED_NAME=$(IM_COMPRESSED_BASENAME)$(VERSION)
+
+ifeq ($(USE_PIDGIN),1)
+COMPRESSED_NAME=$(IM_COMPRESSED_NAME)
+else
+COMPRESSED_NAME=$(DEFAULT_COMPRESSED_NAME)
+endif
+
+## Extensions to install by default
+DEFAULT_EXTENSIONS=torbutton.xpi
+
+## Where to download Mozilla language packs
+MOZILLA_LANGUAGE=http://releases.mozilla.org/pub/mozilla.org/firefox/releases/latest/mac/xpi
+
+## Put more extensions here
+EXTENSIONS_DIR=extensions
+
+## Local overrides
+-include local.makefile
+
+#############
+### Rules ###
+#############
+
+##
+## Default rule
+##
+
+bundle: bundle_en-US
+
+all-bundles-both:
+	USE_PIDGIN=1 make -f osx-alpha.mk all-bundles
+	make -f osx-alpha.mk clean
+	USE_PIDGIN=0 make -f osx-alpha.mk all-bundles
+	make -f osx-alpha.mk clean
+	USE_SANDBOX=1 make -f osx-alpha.mk all-bundles
+	make -f osx-alpha.mk clean
+	USE_SANDBOX=0 make -f osx-alpha.mk all-bundles
+	make -f osx-alpha.mk clean
+
+all-bundles: all-compressed-bundles
+
+all-compressed-bundles: compressed-bundle_ar \
+	compressed-bundle_de \
+	compressed-bundle_en-US \
+	compressed-bundle_es-ES \
+	compressed-bundle_fa \
+	compressed-bundle_fr \
+	compressed-bundle_nl \
+	compressed-bundle_pl \
+	compressed-bundle_pt-PT \
+	compressed-bundle_ru \
+	compressed-bundle_zh-CN \
+	compressed-bundle_it
+
+##
+## Cleanup
+##
+
+clean:
+	rm -fr *.app
+	rm -fr $(DEST) *.stamp
+	rm -f *~
+	rm -fr *.xpi *.jar *.zip
+	rm -fr $(NAME)_*
+	cd ../src/RelativeLink/ && $(MAKE) clean
+
+##
+## Generate a non-localized bundle and put in $(DEST)
+##
+
+## Install binaries, documentation, FirefoxPortable, PidginPortable, and launcher into $(DEST)
+generic-bundle.stamp:
+	make -f osx-alpha.mk generic-bundle
+generic-bundle: directory-structure install-binaries install-docs install-firefox configure-apps launcher strip-it-stripper
+	touch generic-bundle.stamp
+
+APPDIR=$(DEST)/Contents/MacOS
+DOCSDIR=$(DEST)/Contents/Resources/Docs
+DATADIR=$(DEST)/Contents/Resources/Data
+TB_TMPDIR=$(DEST)/Contents/SharedSupport
+
+## Build directory structure
+directory-structure: 
+	rm -fr $(DEST)
+	mkdir -p $(APPDIR)
+	mkdir -p $(APPDIR)/Firefox.app/Contents/MacOS/Data/profile
+	mkdir -p $(APPDIR)/Firefox.app/Contents/MacOS/Data/plugins
+	mkdir -p $(DATADIR)/Tor
+	mkdir -p $(DATADIR)/Vidalia
+	mkdir -p $(DOCSDIR)
+	mkdir -p $(TB_TMPDIR)
+
+## Package up all the Vidalia and Tor pre-requisites
+## Firefox and Pidgin are installed in their own targets
+install-binaries: 
+	# Vidalia
+	cp -R $(VIDALIA) $(APPDIR)/Vidalia.app
+	# Tor (perhaps we want tor-resolve too?)
+	cp $(TOR) $(APPDIR)
+
+## Fixup
+## Collect up license files
+install-docs:
+	mkdir -p $(DOCSDIR)/Vidalia
+	mkdir -p $(DOCSDIR)/Tor
+	mkdir -p $(DOCSDIR)/Qt
+	cp $(VIDALIA_DIR)/LICENSE* $(VIDALIA_DIR)/CREDITS $(DOCSDIR)/Vidalia
+	cp $(TOR_DIR)/LICENSE $(TOR_DIR)/README $(DOCSDIR)/Tor
+	#cp $(QT_DIR)/LICENSE.GPL* $(QT_DIR)/LICENSE.LGPL $(DOCSDIR)/Qt
+	cp ../changelog.osx-2.2 $(DOCSDIR)/changelog
+	cp ../LICENSE $(DEST)
+	cp ../README.OSX-2.2 $(DEST)/README-TorBrowserBundle
+
+## Copy over Firefox
+install-firefox:
+	cp -R $(FIREFOX) $(APPDIR)
+
+## Configure Firefox, Vidalia, Polipo and Tor
+configure-apps:
+	## Configure Firefox preferences
+	#mkdir -p $(DEST)/.mozilla/Firefox/firefox.default
+	cp -R $(CONFIG_SRC)/firefox-profiles.ini $(DEST)/Contents/MacOS/Firefox.app/Contents/MacOS/Data/profiles.ini
+	cp $(CONFIG_SRC)/bookmarks.html $(DEST)/Contents/MacOS/Firefox.app/Contents/MacOS/Data/profile
+	cp $(CONFIG_SRC)/no-polipo-4.0.js $(DEST)/Contents/MacOS/Firefox.app/Contents/MacOS/Data/profile/prefs.js
+	cp $(CONFIG_SRC)/Info.plist $(DEST)/Contents
+	cp $(CONFIG_SRC)/PkgInfo $(DEST)/Contents
+	cp $(CONFIG_SRC)/qt.conf $(DEST)/Contents/Resources
+	cp $(CONFIG_SRC)/vidalia.icns $(DEST)/Contents/Resources
+
+	## Configure Vidalia
+	mkdir -p $(DEST)/Library/Vidalia/plugins
+	cp -r $(FETCH_DIR)/vidalia-plugins/tbb $(DEST)/Library/Vidalia/plugins
+ifeq ($(USE_SANDBOX),1)
+	cp $(CONFIG_SRC)/alpha/vidalia.conf.ff-osx-sandbox $(DEST)/Library/Vidalia/vidalia.conf
+else
+	cp $(CONFIG_SRC)/alpha/vidalia.conf.ff-osx $(DEST)/Library/Vidalia/vidalia.conf
+endif
+
+	## Configure Tor
+	cp $(CONFIG_SRC)/torrc-osx $(DEST)/Library/Vidalia/torrc
+	cp $(TOR_DIR)/src/config/geoip $(DEST)/Contents/Resources/Data/Tor/geoip
+	chmod 700 $(DATADIR)/Tor
+
+# We've replaced the custom C program with a shell script for now...
+launcher:
+	cp ../src/RelativeLink/RelativeLinkOSX.sh $(DEST)/Contents/MacOS/TorBrowserBundle
+	chmod +x $(DEST)/Contents/MacOS/TorBrowserBundle
+
+strip-it-stripper:
+	strip $(APPDIR)/tor
+	strip $(APPDIR)/Vidalia.app/Contents/MacOS/Vidalia
+
+##
+## How to create required extensions
+##
+
+## Torbutton development version
+torbutton.xpi:
+	$(WGET) --no-check-certificate -O $@ $(TORBUTTON)
+
+## BetterPrivacy
+betterprivacy.xpi:
+	$(WGET) --no-check-certificate -O $@ $(BETTERPRIVACY)
+
+## NoScript development version
+noscript.xpi: 
+	$(WGET) --no-check-certificate -O $@ $(NOSCRIPT)
+
+## HTTPS Everywhere
+httpseverywhere.xpi:
+	$(WGET) --no-check-certificate -O $@ $(HTTPSEVERYWHERE)
+
+## Generic language pack rule
+langpack_%.xpi:
+	$(WGET) --no-check-certificate -O $@ $(MOZILLA_LANGUAGE)/$*.xpi
+
+## English comes as default
+#langpack_en-US.xpi:
+#	touch $@
+
+##
+## Customize the bundle
+##
+
+bundle_%:
+	LANGCODE=$* make -f osx-alpha.mk bundle-localized
+compressed-bundle_%:
+	LANGCODE=$* make -f osx-alpha.mk compressed-bundle-localized
+bundle-localized_%.stamp:
+	make -f osx-alpha.mk copy-files_$* install-extensions install-httpseverywhere install-noscript install-lang-extensions patch-vidalia-language patch-firefox-language patch-pidgin-language update-extension-pref write-tbb-version final
+	touch bundle-localized_$*.stamp
+
+bundle-localized: bundle-localized_$(LANGCODE).stamp
+
+compressed-bundle-localized: bundle-localized_$(LANGCODE).stamp
+	-rm -f $(DISTDIR)/$(COMPRESSED_NAME)_$(LANGCODE).zip
+	-mkdir $(DISTDIR)
+	#hdiutil create -volname "Tor Browser Bundle for OS X" -format UDBZ -imagekey zlib-level=9 -srcfolder $(DISTDIR)/tmp/ $(DISTDIR)/$(DEFAULT_COMPRESSED_BASENAME)$(LANGCODE).dmg
+	zip -r $(DISTDIR)/$(DEFAULT_COMPRESSED_BASENAME)$(LANGCODE).zip $(NAME)_$(LANGCODE).app
+	rm *.zip *.xpi
+
+copy-files_%: generic-bundle.stamp
+	rm -fr $(NAME)_$*
+	#mkdir $(NAME)_$*
+	cp -r $(DEST) $(NAME)_$*
+
+BUNDLE=$(NAME)_$(LANGCODE)
+DUMMYPROFILE=$(BUNDLE)/Library
+
+## This is a little overcomplicated, but I'm keeping it here in case there are
+## extensions we want to use in the future
+install-extensions: $(DEFAULT_EXTENSIONS)
+	for extension in torbutton.xpi; \
+		do \
+			cp $$extension $$extension.zip; \
+			ext_id=$$(unzip -p $$extension.zip install.rdf | sed -n '/<em:id>/{s#[^<]*<em:id>\(.*\)</em:id>#\1#p;q;}'); \
+			mkdir -p $(BUNDLE)/Library/Application\ Support/Firefox/Profiles/profile/extensions/$$ext_id; \
+			cp $$extension $(BUNDLE)/Library/Application\ Support/Firefox/Profiles/profile/extensions/$$ext_id/$$extension.zip; \
+			(cd $(BUNDLE)/Library/Application\ Support/Firefox/Profiles/profile/extensions/$$ext_id/ && unzip *.zip && rm *.zip); \
+		done
+
+## Language extensions need to be handled differently from other extensions
+
+fix-install-rdf: $(filter-out langpack_en-US.xpi,langpack_$(LANGCODE).xpi)
+ifneq ($(LANGCODE), en-US)
+	rm -fr xx
+	mkdir xx
+	(cd xx && unzip ../langpack_$(LANGCODE).xpi && sed -i -e "s/em:maxVersion>6.0.1/em:maxVersion>6.0.*/" install.rdf && zip  -r ../langpack_$(LANGCODE).xpi .)
+endif
+
+install-lang-extensions: $(filter-out langpack_en-US.xpi,langpack_$(LANGCODE).xpi)
+ifneq ($(LANGCODE), en-US)
+	mkdir -p $(BUNDLE)/Library/Application\ Support/Firefox/Profiles/profile/extensions/
+	cp langpack_$(LANGCODE).xpi $(BUNDLE)/Library/Application\ Support/Firefox/Profiles/profile/extensions/langpack-$(LANGCODE)@firefox.mozilla.org.xpi
+endif
+
+install-betterprivacy: betterprivacy.xpi
+	mkdir -p $(BUNDLE)/Library/Application\ Support/Firefox/Profiles/profile/extensions/\{d40f5e7b-d2cf-4856-b441-cc613eeffbe3\}
+	cp betterprivacy.xpi $(BUNDLE)/Library/Application\ Support/Firefox/Profiles/profile/extensions/\{d40f5e7b-d2cf-4856-b441-cc613eeffbe3\}/betterprivacy.zip
+	(cd $(BUNDLE)/Library/Application\ Support/Firefox/Profiles/profile/extensions/\{d40f5e7b-d2cf-4856-b441-cc613eeffbe3\} && unzip *.zip && rm *.zip)
+	
+install-httpseverywhere: httpseverywhere.xpi
+	mkdir -p $(BUNDLE)/Library/Application\ Support/Firefox/Profiles/profile/extensions/https-everywhere at eff.org
+	cp httpseverywhere.xpi $(BUNDLE)/Library/Application\ Support/Firefox/Profiles/profile/extensions/https-everywhere at eff.org/httpseverywhere.zip
+	(cd $(BUNDLE)/Library/Application\ Support/Firefox/Profiles/profile/extensions/https-everywhere at eff.org && unzip *.zip && rm *.zip)
+	
+install-noscript: noscript.xpi
+	mkdir -p $(BUNDLE)/Library/Application\ Support/Firefox/Profiles/profile/extensions/\{73a6fe31-595d-460b-a920-fcc0f8843232\}
+	cp noscript.xpi $(BUNDLE)/Library/Application\ Support/Firefox/Profiles/profile/extensions/\{73a6fe31-595d-460b-a920-fcc0f8843232\}/noscript.zip
+	(cd $(BUNDLE)/Library/Application\ Support/Firefox/Profiles/profile/extensions/\{73a6fe31-595d-460b-a920-fcc0f8843232\} && unzip *.zip && rm *.zip)
+
+## Set the language for Vidalia
+patch-vidalia-language:
+	## Patch Vidalia
+	./patch-vidalia-language.sh $(BUNDLE)/Library/Vidalia/vidalia.conf $(LANGCODE) -e
+
+## Set the language for Pidgin
+patch-pidgin-language:
+	## Patch Pidgin
+ifeq ($(USE_PIDGIN),1)
+	./patch-pidgin-language.sh $(BUNDLE)/PidginPortable/Data/settings/PidginPortableSettings.ini $(LANGCODE) \
+                                   $(BUNDLE)/PidginPortable/App/Pidgin/locale \
+                                   $(BUNDLE)/PidginPortable/App/GTK/share/locale
+endif
+
+patch-firefox-language:
+	## Patch the default Firefox prefs.js
+	## Don't use {} because they aren't always interpreted correctly. Thanks, sh. 
+	cp $(CONFIG_SRC)/no-polipo-4.0.js $(BUNDLE)/Library/Application\ Support/Firefox/Profiles/profile/prefs.js
+	cp $(CONFIG_SRC)/bookmarks.html $(BUNDLE)/Library/Application\ Support/Firefox/Profiles/profile
+	./patch-firefox-language.sh $(BUNDLE)/Library/Application\ Support/Firefox/Profiles/profile/prefs.js $(LANGCODE) -e
+
+## Fix prefs.js since extensions.checkCompatibility, false doesn't work
+update-extension-pref:
+	sed -i -e "s/SHPONKA/$(LANGCODE)/g" $(BUNDLE)/Library/Application\ Support/Firefox/Profiles/profile/prefs.js
+	sed -i -e "s/SHPONKA/$(LANGCODE)/g" $(BUNDLE)/Contents/MacOS/Firefox.app/Contents/MacOS/Data/profile/prefs.js
+
+print-version:
+	@echo $(RELEASE_VER)-$(BUILD_NUM)
+
+write-tbb-version:
+	printf 'user_pref("torbrowser.version", "%s");\n' "$(RELEASE_VER)-$(BUILD_NUM)-$(PLATFORM)-$(ARCH_TYPE)" >> $(BUNDLE)/Library/Application\ Support/Firefox/Profiles/profile/prefs.js
+
+final: 
+	mv $(BUNDLE) $(BUNDLE).app
diff --git a/build-scripts/versions-alpha.mk b/build-scripts/versions-alpha.mk
new file mode 100644
index 0000000..2995c86
--- /dev/null
+++ b/build-scripts/versions-alpha.mk
@@ -0,0 +1,127 @@
+#!/usr/bin/make
+
+RELEASE_VER=2.3.10-alpha
+
+HTTPSEVERY_VER=2.0development.4
+FIREFOX_VER=9.0.1
+LIBEVENT_VER=2.0.16-stable
+LIBPNG_VER=1.5.7
+NOSCRIPT_VER=2.2.5
+OPENSSL_VER=1.0.1-beta1
+OTR_VER=3.2.0
+PIDGIN_VER=2.6.4
+QT_VER=4.7.4
+TOR_VER=0.2.3.10-alpha
+TORBUTTON_VER=1.4.5.1
+VIDALIA_VER=0.3.1-alpha
+ZLIB_VER=1.2.5
+
+## Extension IDs
+FF_VENDOR_ID:=\{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
+
+## Extensions
+TORBUTTON=https://www.torproject.org/dist/torbutton/torbutton-$(TORBUTTON_VER).xpi
+NOSCRIPT=https://addons.mozilla.org/firefox/downloads/latest/722/addon-722-latest.xpi
+BETTERPRIVACY=https://addons.mozilla.org/en-US/firefox/downloads/latest/6623/addon-6623-latest.xpi
+HTTPSEVERYWHERE=https://eff.org/files/https-everywhere-$(HTTPSEVERY_VER).xpi
+
+## File names for the source packages
+ZLIB_PACKAGE=zlib-$(ZLIB_VER).tar.gz
+OPENSSL_PACKAGE=openssl-$(OPENSSL_VER).tar.gz
+LIBPNG_PACKAGE=libpng-$(LIBPNG_VER).tar.bz2
+QT_PACKAGE=qt-everywhere-opensource-src-$(QT_VER).tar.gz
+VIDALIA_PACKAGE=vidalia-$(VIDALIA_VER).tar.gz
+LIBEVENT_PACKAGE=libevent-$(LIBEVENT_VER).tar.gz
+TOR_PACKAGE=tor-$(TOR_VER).tar.gz
+PIDGIN_PACKAGE=pidgin-$(PIDGIN_VER).tar.bz2
+FIREFOX_PACKAGE=firefox-$(FIREFOX_VER).source.tar.bz2
+
+## Location of files for download
+ZLIB_URL=http://www.zlib.net/$(ZLIB_PACKAGE)
+OPENSSL_URL=http://www.openssl.org/source/$(OPENSSL_PACKAGE)
+LIBPNG_URL=ftp://ftp.simplesystems.org/pub/libpng/png/src/$(LIBPNG_PACKAGE)
+QT_URL=ftp://ftp.qt.nokia.com/qt/source/$(QT_PACKAGE)
+VIDALIA_URL=http://www.torproject.org/dist/vidalia/$(VIDALIA_PACKAGE)
+LIBEVENT_URL=https://github.com/downloads/libevent/libevent/$(LIBEVENT_PACKAGE)
+TOR_URL=http://www.torproject.org/dist/$(TOR_PACKAGE)
+PIDGIN_URL=http://sourceforge.net/projects/pidgin/files/Pidgin/$(PIDGIN_PACKAGE)
+FIREFOX_URL=http://releases.mozilla.org/pub/mozilla.org/firefox/releases/$(FIREFOX_VER)/source/$(FIREFOX_PACKAGE)
+
+fetch-source: fetch-zlib fetch-openssl fetch-libpng fetch-qt fetch-vidalia fetch-libevent fetch-tor fetch-firefox clone-qtscript clone-vidalia
+fetch-source-osx: fetch-zlib fetch-openssl fetch-vidalia fetch-libevent fetch-tor fetch-firefox
+	-mkdir $(FETCH_DIR)
+
+fetch-zlib:
+	-rm -f $(FETCH_DIR)/$(ZLIB_PACKAGE)
+	$(WGET) --no-check-certificate --directory-prefix=$(FETCH_DIR) $(ZLIB_URL)
+
+fetch-libpng:
+	-rm -f $(FETCH_DIR)/$(LIBPNG_PACKAGE)
+	$(WGET) --no-check-certificate --directory-prefix=$(FETCH_DIR) $(LIBPNG_URL)
+
+fetch-qt:
+	-rm -f $(FETCH_DIR)/$(QT_PACKAGE)
+	$(WGET) --no-check-certificate --directory-prefix=$(FETCH_DIR) $(QT_URL)
+
+fetch-openssl:
+	-rm -f $(FETCH_DIR)/$(OPENSSL_PACKAGE)
+	$(WGET) --no-check-certificate --directory-prefix=$(FETCH_DIR) $(OPENSSL_URL)
+
+fetch-vidalia:
+	-rm -f $(FETCH_DIR)/$(VIDALIA_PACKAGE)
+	$(WGET) --no-check-certificate --directory-prefix=$(FETCH_DIR) $(VIDALIA_URL)
+
+fetch-libevent:
+	-rm -f $(FETCH_DIR)/$(LIBEVENT_PACKAGE)
+	$(WGET) --no-check-certificate --directory-prefix=$(FETCH_DIR) $(LIBEVENT_URL)
+
+fetch-tor:
+	-rm -f $(FETCH_DIR)/$(TOR_PACKAGE)
+	$(WGET) --no-check-certificate --directory-prefix=$(FETCH_DIR) $(TOR_URL)
+
+fetch-firefox:
+	-rm -f $(FETCH_DIR)/$(FIREFOX_PACKAGE)
+	$(WGET) --no-check-certificate --directory-prefix=$(FETCH_DIR) $(FIREFOX_URL)
+
+clone-qtscript:
+	git clone git://gitorious.org/qt-labs/qtscriptgenerator.git $(FETCH_DIR)/qtscriptgenerator
+
+clone-vidalia:
+	-rm -rf $(FETCH_DIR)/vidalia-$(VIDALIA_VER)
+	git clone https://git.torproject.org/vidalia.git $(FETCH_DIR)/vidalia-$(VIDALIA_VER)
+	cd $(FETCH_DIR)/vidalia-$(VIDALIA_VER) && git fetch origin
+	cd $(FETCH_DIR)/vidalia-$(VIDALIA_VER) && git checkout alpha
+
+clone-vidalia-plugins:
+	-rm -rf $(FETCH_DIR)/vidalia-plugins
+	git clone https://git.torproject.org/vidalia-plugins.git $(FETCH_DIR)/vidalia-plugins
+
+unpack-source: unpack-zlib unpack-openssl unpack-libpng unpack-qt unpack-vidalia unpack-libevent unpack-tor unpack-firefox
+
+unpack-zlib:
+	-rm -rf $(FETCH_DIR)/zlib-$(ZLIB_VER)
+	cd $(FETCH_DIR) && tar -xvzf $(ZLIB_PACKAGE)
+
+unpack-libpng:
+	-rm -rf $(FETCH_DIR)/libpng-$(LIBPNG_VER)
+	cd $(FETCH_DIR) && tar -xvjf $(LIBPNG_PACKAGE)
+
+unpack-openssl:
+	-rm -rf $(FETCH_DIR)/openssl-$(OPENSSL_VER)
+	cd $(FETCH_DIR) && tar -xvzf $(OPENSSL_PACKAGE)
+
+unpack-vidalia:
+	-rm -rf $(FETCH_DIR)/vidalia-$(VIDALIA_VER)
+	cd $(FETCH_DIR) && tar -xvzf $(VIDALIA_PACKAGE)
+
+unpack-libevent:
+	-rm -rf $(FETCH_DIR)/libevent-$(LIBEVENT_VER)
+	cd $(FETCH_DIR) && tar -xvzf $(LIBEVENT_PACKAGE)
+
+unpack-tor:
+	-rm -rf $(FETCH_DIR)/tor-$(TOR-VER)
+	cd $(FETCH_DIR) && tar -xvzf $(TOR_PACKAGE)
+
+unpack-firefox:
+	-rm -rf $(FETCH_DIR)/mozilla-release
+	cd $(FETCH_DIR) && tar -xvjf $(FIREFOX_PACKAGE)
diff --git a/src/current-patches/qt/0001-Add-config-options-for-uitools-so-that-it-builds-correct-lib.patch b/src/current-patches/qt/0001-Add-config-options-for-uitools-so-that-it-builds-correct-lib.patch
new file mode 100644
index 0000000..d0fb5ca
--- /dev/null
+++ b/src/current-patches/qt/0001-Add-config-options-for-uitools-so-that-it-builds-correct-lib.patch
@@ -0,0 +1,24 @@
+From 56450c3fdb8a26b4fc66fbcbd699c523ab960ed3 Mon Sep 17 00:00:00 2001
+From: Erinn Clark <erinn at torproject.org>
+Date: Fri, 6 Jan 2012 13:58:22 +0100
+Subject: [PATCH] Add config options for uitools so that it builds the right
+ library for the Vidalia plugin infrastructure.
+
+---
+ qtscript_uitools.pro |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/qtscript_uitools.pro b/qtscript_uitools.pro
+index 2f48778..84e4893 100644
+--- a/qtscript_uitools.pro
++++ b/qtscript_uitools.pro
+@@ -1,5 +1,5 @@
+ TARGET = qtscript_uitools
+ include(../qtbindingsbase.pri)
+-CONFIG += uitools
++CONFIG += uitools plugin link_prl
+ SOURCES += $$GENERATEDCPP/com_trolltech_qt_uitools/plugin.cpp
+ include($$GENERATEDCPP/com_trolltech_qt_uitools/com_trolltech_qt_uitools.pri)
+-- 
+1.7.7.4
+





More information about the tor-commits mailing list