
commit 846a155671ffc7c94e4590b44f3de468fb511b73 Author: Erinn Clark <erinn@torproject.org> Date: Tue Feb 12 16:29:01 2013 +0100 WIN: begin adding FF17 changes to Makefiles --- build-scripts/versions.mk | 22 ++++----- build-scripts/windows-alpha.mk | 32 +++++++------- build-scripts/windows.mk | 90 ++++++++++++++++++++++++++++----------- 3 files changed, 90 insertions(+), 54 deletions(-) diff --git a/build-scripts/versions.mk b/build-scripts/versions.mk index 138b28d..080696b 100644 --- a/build-scripts/versions.mk +++ b/build-scripts/versions.mk @@ -3,17 +3,16 @@ RELEASE_VER=2.3.25 ZLIB_VER=1.2.7 -OPENSSL_VER=1.0.1d +OPENSSL_VER=1.0.0k LIBPNG_VER=1.5.13 QT_VER=4.8.1 VIDALIA_VER=0.2.21 LIBEVENT_VER=2.0.21-stable TOR_VER=0.2.3.25 PIDGIN_VER=2.6.4 -FIREFOX_VER=10.0.12esr +FIREFOX_VER=17.0.2esr MOZBUILD_VER=1.5.1 -PYMAKE_VER=87d436cd8974 -TORBUTTON_VER=1.4.6.3 +TORBUTTON_VER=1.5.0pre6-alpha NOSCRIPT_VER=2.6.4.4 HTTPSEVERYWHERE_VER=3.1.3 OTR_VER=3.2.0 @@ -33,7 +32,6 @@ TOR_PACKAGE=tor-$(TOR_VER).tar.gz PIDGIN_PACKAGE=pidgin-$(PIDGIN_VER).tar.bz2 FIREFOX_PACKAGE=firefox-$(FIREFOX_VER).source.tar.bz2 MOZBUILD_PACKAGE=MozillaBuildSetup-$(MOZBUILD_VER).exe -PYMAKE_PACKAGE=$(PYMAKE_VER).tar.bz2 TORBUTTON_PACKAGE=torbutton-$(TORBUTTON_VER).xpi NOSCRIPT_PACKAGE=addon-722-latest.xpi HTTPSEVERYWHERE_PACKAGE=https-everywhere-$(HTTPSEVERYWHERE_VER).xpi @@ -50,8 +48,8 @@ TOR_URL=https://archive.torproject.org/tor-package-archive/$(TOR_PACKAGE) PIDGIN_URL=http://sourceforge.net/projects/pidgin/files/Pidgin/$(PIDGIN_PACKAGE) FIREFOX_URL=https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/$(FIREFOX_VER)/sour...) MOZBUILD_URL=https://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/$(MOZBUILD_P...) -PYMAKE_URL=https://hg.mozilla.org/users/bsmedberg_mozilla.com/pymake/archive/$(PYMAKE_P...) -TORBUTTON_URL=https://archive.torproject.org/tor-package-archive/torbutton/$(TORBUTTON_PAC...) +#TORBUTTON_URL=https://archive.torproject.org/tor-package-archive/torbutton/$(TORBUTTON_PAC...) +TORBUTTON_URL=https://people.torproject.org/~mikeperry/$(TORBUTTON_PACKAGE) NOSCRIPT_URL=https://addons.mozilla.org/firefox/downloads/latest/722/$(NOSCRIPT_PACKAGE) HTTPSEVERYWHERE_URL=https://eff.org/files/$(HTTPSEVERYWHERE_PACKAGE) OBFSPROXY_URL=https://archive.torproject.org/tor-package-archive/obfsproxy/$(OBFSPROXY_PAC...) @@ -82,7 +80,7 @@ LIBEVENT_DIR=$(BUILD_DIR)/libevent-$(LIBEVENT_VER) TOR_DIR=$(BUILD_DIR)/tor-$(TOR_VER) FIREFOX_DIR=$(BUILD_DIR)/firefox-$(FIREFOX_VER) MOZBUILD_DIR=$(BUILD_DIR)/mozilla-build -PYMAKE_DIR=$(BUILD_DIR)/pymake-$(PYMAKE_VER) +PYMAKE_DIR=$(FIREFOX_DIR)/build/pymake OBFSPROXY_DIR=$(BUILD_DIR)/obfsproxy-$(OBFSPROXY_VER) # Empty targets are written in arch-dependent $(BUILD_DIR). Usual @@ -197,9 +195,9 @@ $(TOR_DIR): $(FETCH_DIR)/$(TOR_PACKAGE) | $(BUILD_DIR) cd $(FETCH_DIR) && tar -xmf $(TOR_PACKAGE) -C $(BUILD_DIR)/ $(FIREFOX_DIR): $(FETCH_DIR)/$(FIREFOX_PACKAGE) ../src/current-patches/firefox/* | $(BUILD_DIR) - rm -rf $(FIREFOX_DIR) $(FETCH_DIR)/mozilla-esr10 + rm -rf $(FIREFOX_DIR) $(FETCH_DIR)/mozilla-esr17 cd $(FETCH_DIR) && tar -xmf $(FIREFOX_PACKAGE) -C $(BUILD_DIR)/ - mv $(BUILD_DIR)/mozilla-esr10 $(FIREFOX_DIR) + mv $(BUILD_DIR)/mozilla-esr17 $(FIREFOX_DIR) cp ../src/current-patches/firefox/* $(FIREFOX_DIR) cp patch-any-src.sh $(FIREFOX_DIR) cd $(FIREFOX_DIR) && ./patch-any-src.sh @@ -224,8 +222,8 @@ $(OBFSPROXY_DIR): $(FETCH_DIR)/$(OBFSPROXY_PACKAGE) | $(BUILD_DIR) # Common build functionality. Modified by variables set in OS-specific makefiles build-tor: build-zlib build-openssl build-libevent $(TOR_DIR) - cd $(TOR_DIR) && CFLAGS=$(TOR_CFLAGS) LDFLAGS=$(TOR_LDFLAGS) ./configure $(TOR_OPTS) --enable-gcc-warnings-advisory --prefix=$(BUILT_DIR) - cd $(TOR_DIR) && make -j $(NUM_CORES) + cd $(TOR_DIR) && CFLAGS=$(TOR_CFLAGS) LDFLAGS=$(TOR_LDFLAGS) ./configure $(TOR_OPTS) --enable-gcc-warnings-advisory --prefix=$(BUILT_DIR) --disable-gcc-hardening 2>&1 | tee configuring.log + cd $(TOR_DIR) && make -j $(NUM_CORES) 2>&1 | tee build.log cd $(TOR_DIR) && make install touch $(STAMP_DIR)/build-tor diff --git a/build-scripts/windows-alpha.mk b/build-scripts/windows-alpha.mk index 8131b88..659333a 100644 --- a/build-scripts/windows-alpha.mk +++ b/build-scripts/windows-alpha.mk @@ -320,10 +320,10 @@ configure-apps: ## Override Firefox extension preferences mkdir -p $(DEST)/FirefoxPortable/App/DefaultData/profile/preferences - cp config/extension-overrides.js \ + cp config/extension-overrides.js \ $(DEST)/FirefoxPortable/App/DefaultData/profile/preferences/ mkdir -p $(DEST)/FirefoxPortable/Data/profile/preferences - cp config/extension-overrides.js \ + cp config/extension-overrides.js \ $(DEST)/FirefoxPortable/Data/profile/preferences/ ## Patch Firefox default home page and omnibox @@ -417,17 +417,17 @@ ifneq ($(LANGCODE), en-US) mv langpack_$(LANGCODE).xpi $(BUNDLE)/FirefoxPortable/Data/profile/extensions/langpack-$(LANGCODE)@firefox.mozilla.org.xpi ## Patch Firefox default home page within language pack LC=$(LANG); \ - PFILE=langpack-$(LANGCODE)@firefox.mozilla.org.xpi; \ + PFILE=langpack-$(LANGCODE)@firefox.mozilla.org.xpi; \ FFDIR=$(BUNDLE)/FirefoxPortable/Data/profile/extensions/; \ - CHROMEDIR="$$FFDIR/chrome/"; \ - mkdir -p "$$CHROMEDIR/$$LC/locale/branding"; \ - mkdir -p "$$CHROMEDIR/$$LC/locale/browser-region"; \ - cp config/region.properties \ - "$$CHROMEDIR/$$LC/locale/browser-region/"; \ + CHROMEDIR="$$FFDIR/chrome/"; \ + mkdir -p "$$CHROMEDIR/$$LC/locale/branding"; \ + mkdir -p "$$CHROMEDIR/$$LC/locale/browser-region"; \ + cp config/region.properties \ + "$$CHROMEDIR/$$LC/locale/browser-region/"; \ sed -e "s/SHPONKA/$$LC/g" config/browserconfig.properties \ > "$$CHROMEDIR/$$LC/locale/branding/browserconfig.properties"; \ - (cd "$$FFDIR"; \ - $(SEVENZIP) u -tzip "$$PFILE" \ + (cd "$$FFDIR"; \ + $(SEVENZIP) u -tzip "$$PFILE" \ "chrome/$$LC/locale/branding/browserconfig.properties" \ "chrome/$$LC/locale/browser-region/region.properties"); \ rm -rf "$$CHROMEDIR" @@ -469,14 +469,14 @@ endif patch-firefox-config: ## Patch Firefox default preferences by adding a patched #tor.js file: PREFSDIR=$(BUNDLE)/FirefoxPortable/App/Firefox/defaults/preferences; \ - mkdir -p "$$PREFSDIR"; \ + mkdir -p "$$PREFSDIR"; \ sed -e "s/SHPONKA/$(LANGCODE)/g" config/pound_tor.js \ - > "$$PREFSDIR/#tor.js"; \ + > "$$PREFSDIR/#tor.js"; \ ./patch-firefox-language.sh "$$PREFSDIR/#tor.js" $(LANGCODE) -e; \ - printf 'pref("torbrowser.version", "%s");\n' \ - "$(RELEASE_VER)-$(BUILD_NUM)-$(PLATFORM)" \ - >> "$$PREFSDIR/#tor.js"; \ - (cd $(BUNDLE)/FirefoxPortable/App/Firefox; \ + printf 'pref("torbrowser.version", "%s");\n' \ + "$(RELEASE_VER)-$(BUILD_NUM)-$(PLATFORM)" \ + >> "$$PREFSDIR/#tor.js"; \ + (cd $(BUNDLE)/FirefoxPortable/App/Firefox; \ $(SEVENZIP) u -tzip omni.ja defaults/preferences/#tor.js); \ rm -rf "$$PREFSDIR" diff --git a/build-scripts/windows.mk b/build-scripts/windows.mk index 876973a..c341ff4 100644 --- a/build-scripts/windows.mk +++ b/build-scripts/windows.mk @@ -17,7 +17,7 @@ BUILD_NUM=3 PLATFORM=Windows ## Location of required libraries -MING=/mingw/bin +MING=/c/mingw/bin QT_LIB=/c/Qt/$(QT_VER)/bin OPENSSL_LIB=$(COMPILED_BINS) WIX_LIB="$(MOZBUILD_DIR)/wix-351728" @@ -31,7 +31,7 @@ PIDGIN=$(BUILD_DIR)/PidginPortable-$(PIDGIN_VER) ## Location of utility applications PWD:=$(shell pwd) PYTHON=$(MOZBUILD_DIR)/python/python.exe -PYMAKE=$(PYMAKE_DIR)/make.py +PYMAKE=$(FIREFOX_DIR)/build/pymake/make.py SEVENZIP="$(MOZBUILD_DIR)/7zip/7z.exe" WGET=wget VIRUSSCAN=$(PYTHON) $(PWD)/virus-scan.py @@ -50,7 +50,7 @@ FETCH_DIR=$(PWD)/build-alpha-windows BUILD_DIR=$(FETCH_DIR)/build ## Location of directory for prefix/destdir/compiles/etc BUILT_DIR=$(BUILD_DIR)/built -TBB_FINAL=$(BUILT_DIR)/tbbwin-alpha-dist +TBB_FINAL=$(BUILT_DIR)/tbbwin-dist ## Include versions (must happen after variable definitions above include $(PWD)/versions.mk @@ -135,7 +135,7 @@ DEST="Generic Bundle" NAME="Tor Browser" ## Where shall we put the finished files for distribution? -DISTDIR=tbbwin-alpha-dist +DISTDIR=tbbwin-dist ## Version and name of the compressed bundle (also used for source) VERSION=$(RELEASE_VER)-$(BUILD_NUM) @@ -280,14 +280,36 @@ endif ## Configure Firefox, FirefoxPortable, Vidalia, and Tor configure-apps: - mkdir -p $(DEST)/FirefoxPortable/Data/profile mkdir -p $(DEST)/FirefoxPortable/App/DefaultData/profile - ## Configure Firefox preferences - cp config/prefs.js $(DEST)/FirefoxPortable/App/DefaultData/profile/prefs.js - cp config/prefs.js $(DEST)/FirefoxPortable/Data/profile/prefs.js + ## Configure Firefox bookmarks cp config/bookmarks.html $(DEST)/FirefoxPortable/App/DefaultData/profile/ + ## Override Firefox extension preferences + mkdir -p $(DEST)/FirefoxPortable/App/DefaultData/profile/preferences + cp config/extension-overrides.js \ + $(DEST)/FirefoxPortable/App/DefaultData/profile/preferences/ + mkdir -p $(DEST)/FirefoxPortable/Data/profile/preferences + cp config/extension-overrides.js \ + $(DEST)/FirefoxPortable/Data/profile/preferences/ + + ## Patch Firefox default home page and omnibox + LC="en-US"; \ + PFILE="omni.ja"; \ + FFDIR=$(DEST)/FirefoxPortable/App/Firefox/; \ + CHROMEDIR="$$FFDIR/chrome/"; \ + mkdir -p "$$CHROMEDIR/$$LC/locale/branding"; \ + mkdir -p "$$CHROMEDIR/$$LC/locale/browser-region"; \ + cp config/region.properties \ + "$$CHROMEDIR/$$LC/locale/browser-region/"; \ + sed -e "s/SHPONKA/$$LC/g" config/browserconfig.properties \ + > "$$CHROMEDIR/$$LC/locale/branding/browserconfig.properties"; \ + (cd "$$FFDIR"; \ + $(SEVENZIP) u -tzip "$$PFILE" \ + "chrome/$$LC/locale/branding/browserconfig.properties" \ + "chrome/$$LC/locale/browser-region/region.properties"); \ + rm -rf "$$CHROMEDIR" + ## Set up alternate launcher mv $(DEST)/FirefoxPortable/App/Firefox/firefox.exe $(DEST)/FirefoxPortable/App/Firefox/tbb-firefox.exe @@ -327,7 +349,7 @@ compressed-bundle_%: bundle-localized_%.stamp: make -f windows.mk copy-files_$* install-extensions install-torbutton install-httpseverywhere install-noscript \ - patch-vidalia-language patch-firefox-language patch-pidgin-language write-tbb-version + patch-vidalia-language patch-firefox-config touch $(STAMP_DIR)/bundle-localized_$*.stamp bundle-localized: bundle-localized_$(LANGCODE).stamp @@ -347,16 +369,30 @@ DUMMYPROFILE=$(BUNDLE)/FirefoxPortable/App/DummyProfile install-extensions: $(filter-out langpack_en-US.xpi,langpack_$(LANGCODE).xpi) ## Make a dummy profile to stop Firefox creating some large files cp -r $(BUNDLE)/FirefoxPortable/App/DefaultData $(DUMMYPROFILE) - mkdir -p $(BUNDLE)/FirefoxPortable/Data/profile/extensions ifneq ($(LANGCODE), en-US) mv langpack_$(LANGCODE).xpi $(BUNDLE)/FirefoxPortable/Data/profile/extensions/langpack-$(LANGCODE)@firefox.mozilla.org.xpi + ## Patch Firefox default home page within language pack + LC=$(LANG); \ + PFILE=langpack-$(LANGCODE)@firefox.mozilla.org.xpi; \ + FFDIR=$(BUNDLE)/FirefoxPortable/Data/profile/extensions/; \ + CHROMEDIR="$$FFDIR/chrome/"; \ + mkdir -p "$$CHROMEDIR/$$LC/locale/branding"; \ + mkdir -p "$$CHROMEDIR/$$LC/locale/browser-region"; \ + cp config/region.properties \ + "$$CHROMEDIR/$$LC/locale/browser-region/"; \ + sed -e "s/SHPONKA/$$LC/g" config/browserconfig.properties \ + > "$$CHROMEDIR/$$LC/locale/branding/browserconfig.properties"; \ + (cd "$$FFDIR"; \ + $(SEVENZIP) u -tzip "$$PFILE" \ + "chrome/$$LC/locale/branding/browserconfig.properties" \ + "chrome/$$LC/locale/browser-region/region.properties"); \ + rm -rf "$$CHROMEDIR" endif rm -fr $(DUMMYPROFILE) install-torbutton: $(SEVENZIP) torbutton.xpi - mkdir -p $(BUNDLE)/FirefoxPortable/Data/profile/extensions/{e0204bd5-9d31-402b-a99d-a6aa8ffebdca} - cp torbutton.xpi $(BUNDLE)/FirefoxPortable/Data/profile/extensions/{e0204bd5-9d31-402b-a99d-a6aa8ffebdca}/torbutton.zip - (cd $(BUNDLE)/FirefoxPortable/Data/profile/extensions/{e0204bd5-9d31-402b-a99d-a6aa8ffebdca} && $(SEVENZIP) x *.zip && rm *.zip) + mkdir -p $(BUNDLE)/FirefoxPortable/Data/profile/extensions/ + cp torbutton.xpi $(BUNDLE)/FirefoxPortable/Data/profile/extensions/torbutton@torproject.org.xpi install-httpseverywhere: $(SEVENZIP) httpseverywhere.xpi mkdir -p $(BUNDLE)/FirefoxPortable/Data/profile/extensions/https-everywhere@eff.org @@ -383,14 +419,19 @@ ifeq ($(USE_PIDGIN),1) $(BUNDLE)/PidginPortable/App/Pidgin/Gtk/share/locale endif -patch-firefox-language: - ## Patch Firefox prefs.js - ./patch-firefox-language.sh $(BUNDLE)/FirefoxPortable/App/DefaultData/profile/prefs.js $(LANGCODE) - ./patch-firefox-language.sh $(BUNDLE)/FirefoxPortable/Data/profile/prefs.js $(LANGCODE) - sed -i -e "s/SHPONKA/$(LANGCODE)/g" $(BUNDLE)/FirefoxPortable/Data/profile/prefs.js - sed -i -e "s/SHPONKA/$(LANGCODE)/g" $(BUNDLE)/FirefoxPortable/App/DefaultData/profile/prefs.js - chmod u+w $(BUNDLE)/FirefoxPortable/Data/profile/prefs.js - chmod u+w $(BUNDLE)/FirefoxPortable/App/DefaultData/profile/prefs.js +patch-firefox-config: + ## Patch Firefox default preferences by adding a patched #tor.js file: + PREFSDIR=$(BUNDLE)/FirefoxPortable/App/Firefox/defaults/preferences; \ + mkdir -p "$$PREFSDIR"; \ + sed -e "s/SHPONKA/$(LANGCODE)/g" config/pound_tor.js \ + > "$$PREFSDIR/#tor.js"; \ + ./patch-firefox-language.sh "$$PREFSDIR/#tor.js" $(LANGCODE) -e; \ + printf 'pref("torbrowser.version", "%s");\n' \ + "$(RELEASE_VER)-$(BUILD_NUM)-$(PLATFORM)" \ + >> "$$PREFSDIR/#tor.js"; \ + (cd $(BUNDLE)/FirefoxPortable/App/Firefox; \ + $(SEVENZIP) u -tzip omni.ja defaults/preferences/#tor.js); \ + rm -rf "$$PREFSDIR" ### ### Utilities @@ -398,15 +439,12 @@ patch-firefox-language: ## Copy Firefox preferences from a run of FirefoxPortable to be the default apply-prefs: - cp $(DEST)/FirefoxPortable/Data/profile/prefs.js config + sed -e "s/^user_//" $(BUNDLE)/FirefoxPortable/Data/profile/prefs.js \ + > config/pound_tor.js print-version: @echo $(RELEASE_VER)-$(BUILD_NUM) -write-tbb-version: - printf 'user_pref("torbrowser.version", "%s");\n' "$(RELEASE_VER)-$(BUILD_NUM)-$(PLATFORM)" >> $(BUNDLE)/FirefoxPortable/App/DefaultData/profile/prefs.js - printf 'user_pref("torbrowser.version", "%s");\n' "$(RELEASE_VER)-$(BUILD_NUM)-$(PLATFORM)" >> $(BUNDLE)/FirefoxPortable/Data/profile/prefs.js - ## Tag the release releasetag: git tag -s torbrowser-$(VERSION) -m "tagging $(VERSION)"