Unverified Commit e76952c3 authored by Georg Koppen's avatar Georg Koppen
Browse files

Bug 24632: Adapt firefox and tor-browser to new macOS toolchain

After building Firefox we now get a 'Tor Browser.app' instead of a
'TorBrowser.app'. This patch makes sure the additional whitespace in the
app name is correctly handled by the build script and the one that deals
with packaging the final bundle.

We need to ship a fix for the Firefox packaging step as well as
|./mach package| wants to build the final .dmg in that step, too, which
breaks: there is no .dmg creation tool available. Setting
`INNER_MAKE_PACKAGE` to `true` does not seem to work anymore. That part
of this patch is currently only a workaround to get the nightly builds
going. We should come up with a better solution that allows us to skip
that part of the Firefox packaging step on all supported platforms.
parent 3db16b9c
......@@ -48,10 +48,13 @@ EOF
# export SELFRANDO_skip_shuffle=
#[% END -%]
[% IF c("var/linux") %]
[% IF ! c("var/windows") %]
mkdir -p /var/tmp/dist
tar -C /var/tmp/dist -xf [% c('input_files_by_name/rust') %]
export PATH="/var/tmp/dist/rust/bin:$PATH"
[% END -%]
[% IF c("var/linux") %]
# Add llvm so stylo can build
tar -C /var/tmp/dist -xf [% c('input_files_by_name/llvm') %]
export LLVM_CONFIG="/var/tmp/dist/llvm/bin/llvm-config"
......@@ -60,7 +63,7 @@ EOF
tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.gz
[% IF c("var/osx") %]
mkdir -p $distdir/TorBrowser.app/Contents/MacOS
mkdir -p "$distdir/Tor Browser.app/Contents/MacOS"
[% ELSE %]
mkdir -p $distdir/Browser
[% END %]
......@@ -118,6 +121,10 @@ fi
patch -p1 < $rootdir/STL_win64.patch
[% END -%]
[% IF c("var/osx") %]
patch -p1 < $rootdir/no-dmg.patch
[% END -%]
rm -f configure
rm -f js/src/configure
......@@ -128,12 +135,12 @@ rm -f js/src/configure
[% IF c("var/osx") %]
cp -a obj-macos/dist/firefox/* $distdir
# Remove firefox-bin (we don't use it, see ticket #10126)
rm -f $distdir/TorBrowser.app/Contents/MacOS/firefox-bin
rm -f "$distdir/Tor Browser.app/Contents/MacOS/firefox-bin"
# Adjust the Info.plist file
INFO_PLIST=$distdir/TorBrowser.app/Contents/Info.plist
mv $INFO_PLIST tmp.plist
python $rootdir/fix-info-plist.py '[% c("var/torbrowser_version") %]' '[% c("var/copyright_year") %]' < tmp.plist > $INFO_PLIST
INFO_PLIST="$distdir/Tor Browser.app/Contents/Info.plist"
mv "$INFO_PLIST" tmp.plist
python $rootdir/fix-info-plist.py '[% c("var/torbrowser_version") %]' '[% c("var/copyright_year") %]' < tmp.plist > "$INFO_PLIST"
rm -f tmp.plist
[% END %]
......@@ -198,8 +205,8 @@ cd $distdir
[% c("var/rezip", { rezip_file => 'Browser/omni.ja' }) %]
[% c("var/rezip", { rezip_file => 'Browser/browser/omni.ja' }) %]
[% ELSIF c("var/osx") %]
[% c("var/rezip", { rezip_file => 'TorBrowser.app/Contents/Resources/omni.ja' }) %]
[% c("var/rezip", { rezip_file => 'TorBrowser.app/Contents/Resources/browser/omni.ja' }) %]
[% c("var/rezip", { rezip_file => '"Tor Browser.app/Contents/Resources/omni.ja"' }) %]
[% c("var/rezip", { rezip_file => '"Tor Browser.app/Contents/Resources/browser/omni.ja"' }) %]
[% END %]
[% IF c("var/windows") %]
......@@ -211,7 +218,7 @@ mkdir -p [% dest_dir _ '/' _ c('filename') %]
[%
IF c("var/osx");
SET browserdir='TorBrowser.app/Contents';
SET browserdir='"Tor Browser.app/Contents"';
ELSE;
SET browserdir='Browser';
END;
......
......@@ -86,6 +86,8 @@ input_files:
# enable: '[% c("var/linux") && ! c("var/release") %]'
- filename: fix-info-plist.py
enable: '[% c("var/osx") %]'
- filename: no-dmg.patch
enable: '[% c("var/osx") %]'
- URL: https://people.torproject.org/~gk/mirrors/sources/msvcr100.dll
sha256sum: 8793353461826fbd48f25ea8b835be204b758ce7510db2af631b28850355bd18
enable: '[% c("var/windows-i686") %]'
......@@ -99,7 +101,7 @@ input_files:
enable: '[% c("var/windows-x86_64") %]'
- project: rust
name: rust
enable: '[% c("var/linux") %]'
enable: '[% ! c("var/windows") %]'
- project: llvm
name: llvm
enable: '[% c("var/linux") %]'
From 7204fc9191a55dbbd3b94ee2d64ece8d9910cf23 Mon Sep 17 00:00:00 2001
From: Georg Koppen <gk@torproject.org>
Date: Thu, 31 May 2018 19:15:18 +0000
Subject: [PATCH] Don't create a .dmg yet
diff --git a/toolkit/mozapps/installer/upload-files.mk b/toolkit/mozapps/installer/upload-files.mk
index 8ace9703a160..82df89d1f431 100644
--- a/toolkit/mozapps/installer/upload-files.mk
+++ b/toolkit/mozapps/installer/upload-files.mk
@@ -216,14 +216,7 @@ ifeq ($(MOZ_PKG_FORMAT),DMG)
_ABS_MOZSRCDIR = $(shell cd $(MOZILLA_DIR) && pwd)
PKG_DMG_SOURCE = $(MOZ_PKG_DIR)
- INNER_MAKE_PACKAGE = \
- $(call py_action,make_dmg, \
- $(if $(MOZ_PKG_MAC_DSSTORE),--dsstore '$(MOZ_PKG_MAC_DSSTORE)') \
- $(if $(MOZ_PKG_MAC_BACKGROUND),--background '$(MOZ_PKG_MAC_BACKGROUND)') \
- $(if $(MOZ_PKG_MAC_ICON),--icon '$(MOZ_PKG_MAC_ICON)') \
- --volume-name '$(MOZ_APP_DISPLAYNAME)' \
- '$(PKG_DMG_SOURCE)' '$(PACKAGE)' \
- )
+ INNER_MAKE_PACKAGE = true
INNER_UNMAKE_PACKAGE = \
$(call py_action,unpack_dmg, \
$(if $(MOZ_PKG_MAC_DSSTORE),--dsstore '$(MOZ_PKG_MAC_DSSTORE)') \
--
2.17.0
......@@ -14,7 +14,7 @@ mkdir -p $OUTDIR
TB_STAGE_DIR=$distdir/tor-browser-stage
[% IF c("var/osx") %]
TBDIR=$TB_STAGE_DIR/TorBrowser.app
TBDIR="$TB_STAGE_DIR/Tor Browser.app"
DOCSPATH=Contents/Resources/TorBrowser/Docs
EXTSPATH=Contents/Resources/distribution/extensions
......@@ -34,11 +34,11 @@ TB_STAGE_DIR=$distdir/tor-browser-stage
EXTOVERRIDESPATH=TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js
MEEKPROFILEPATH=TorBrowser/Data/Browser/profile.meek-http-helper
mkdir -p $TBDIR/TorBrowser/Data/Browser/Caches
mkdir -p "$TBDIR/TorBrowser/Data/Browser/Caches"
[% END %]
mkdir -p $TBDIR/$EXTSPATH
mkdir -p $TBDIR/$MEEKPROFILEPATH/extensions
mkdir -p "$TBDIR/$EXTSPATH"
mkdir -p "$TBDIR/$MEEKPROFILEPATH/extensions"
# Extract the MAR tools.
unzip -d $rootdir $rootdir/[% c('input_files_by_name/firefox') %]/mar-tools-*.zip
......@@ -49,23 +49,23 @@ MARTOOLS=$rootdir/mar-tools
unzip -d $rootdir $rootdir/mar-tools-linux32.zip
[% END -%]
mv [% c('input_files_by_name/tor-launcher') %] $TBDIR/$EXTSPATH/tor-launcher@torproject.org.xpi
mv [% c('input_files_by_name/torbutton') %] $TBDIR/$EXTSPATH/torbutton@torproject.org.xpi
mv [% c('input_files_by_name/https-everywhere') %] $TBDIR/$EXTSPATH/https-everywhere-eff@eff.org.xpi
mv [% c('input_files_by_name/noscript') %] $TBDIR/$EXTSPATH/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi
mv [% c('input_files_by_name/tor-launcher') %] "$TBDIR/$EXTSPATH/tor-launcher@torproject.org.xpi"
mv [% c('input_files_by_name/torbutton') %] "$TBDIR/$EXTSPATH/torbutton@torproject.org.xpi"
mv [% c('input_files_by_name/https-everywhere') %] "$TBDIR/$EXTSPATH/https-everywhere-eff@eff.org.xpi"
mv [% c('input_files_by_name/noscript') %] "$TBDIR/$EXTSPATH/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi"
tar -C $TBDIR -xf [% c('input_files_by_name/obfs4') %]
tar -C $TBDIR -xf [% c('input_files_by_name/meek') %]
mv $TBDIR/meek-http-helper@bamsoftware.com.xpi $TBDIR/$MEEKPROFILEPATH/extensions/
tar -C "$TBDIR" -xf [% c('input_files_by_name/obfs4') %]
tar -C "$TBDIR" -xf [% c('input_files_by_name/meek') %]
mv "$TBDIR/meek-http-helper@bamsoftware.com.xpi" "$TBDIR/$MEEKPROFILEPATH/extensions/"
[% IF c("var/snowflake") %]
tar -C $TBDIR -xf [% c('input_files_by_name/snowflake') -%]
tar -C "$TBDIR" -xf [% c('input_files_by_name/snowflake') -%]
[% END -%]
[% IF c("var/fteproxy") -%]
tar -C $TBDIR -xf [% c('input_files_by_name/fteproxy') %]
tar -C "$TBDIR" -xf [% c('input_files_by_name/fteproxy') %]
[% END -%]
tar -C $TBDIR[% IF c("var/osx") %]/Contents/Resources[% END %] -xf [% c('input_files_by_name/fonts') %]
tar -C "$TBDIR[% IF c("var/osx") %]/Contents/Resources[% END %]" -xf [% c('input_files_by_name/fonts') %]
[% IF c("var/linux") %]
cp RelativeLink/* ${TB_STAGE_DIR}/Browser/
......@@ -77,7 +77,7 @@ RBM_TB_EOF
[% END %]
tar -C ${TB_STAGE_DIR} -xf [% c('input_files_by_name/firefox') %]/tor-browser.tar.gz
tar -C $TBDIR[% IF ! c("var/osx") %]/TorBrowser[% END %] -xf [% c('input_files_by_name/tor') %]/tor.tar.gz
tar -C "$TBDIR[% IF ! c("var/osx") %]/TorBrowser[% END %]" -xf [% c('input_files_by_name/tor') %]/tor.tar.gz
[% IF c("var/linux");
SET bundledata_osname = 'linux';
......@@ -107,8 +107,8 @@ tar -C $TBDIR[% IF ! c("var/osx") %]/TorBrowser[% END %] -xf [% c('input_files_b
mv $SKELETON_TMP Bundle-Data/mac
# Install a "tor" shim that sets the working directory. See #10030.
mv $TBDIR/$TORBINPATH/tor $TBDIR/$TORBINPATH/tor.real
cp Bundle-Data/mac-tor.sh $TBDIR/$TORCONFIGPATH/tor
mv "$TBDIR/$TORBINPATH/tor" "$TBDIR/$TORBINPATH/tor.real"
cp Bundle-Data/mac-tor.sh "$TBDIR/$TORCONFIGPATH/tor"
[% IF ! c("var/release") -%]
SANDBOX_FOLDER="$TB_STAGE_DIR/Sandboxed Tor Browser"
......@@ -118,17 +118,17 @@ tar -C $TBDIR[% IF ! c("var/osx") %]/TorBrowser[% END %] -xf [% c('input_files_b
tar -C Bundle-Data/mac-applications.dmg -c . | tar -C $TB_STAGE_DIR -x
[% END %]
mkdir -p $TBDIR/$DOCSPATH
cp -a Bundle-Data/Docs/* $TBDIR/$DOCSPATH
tar -C Bundle-Data/[% bundledata_osname %] -c . | tar -C $TBDIR[% IF ! c("var/osx") %]/TorBrowser[% END %] -x
mkdir -p "$TBDIR/$DOCSPATH"
cp -a Bundle-Data/Docs/* "$TBDIR/$DOCSPATH"
tar -C Bundle-Data/[% bundledata_osname %] -c . | tar -C "$TBDIR[% IF ! c("var/osx") %]/TorBrowser[% END %]" -x
cat Bundle-Data/PTConfigs/[% bundledata_osname %]/torrc-defaults-appendix >> $TBDIR/$TORCONFIGPATH/torrc-defaults
cat Bundle-Data/PTConfigs/[% bundledata_osname %]/torrc-defaults-appendix >> "$TBDIR/$TORCONFIGPATH/torrc-defaults"
[% IF c("var/linux") -%]
[% IF ! c("var/snowflake") %]
grep -v 'default_bridge\.snowflake' Bundle-Data/PTConfigs/bridge_prefs.js \
>> $TBDIR/$EXTOVERRIDESPATH
>> "$TBDIR/$EXTOVERRIDESPATH"
[% ELSE %]
cat Bundle-Data/PTConfigs/bridge_prefs.js >> $TBDIR/$EXTOVERRIDESPATH
cat Bundle-Data/PTConfigs/bridge_prefs.js >> "$TBDIR/$EXTOVERRIDESPATH"
[% END %]
[% END -%]
[% IF c("var/windows") -%]
......@@ -136,18 +136,18 @@ cat Bundle-Data/PTConfigs/[% bundledata_osname %]/torrc-defaults-appendix >> $TB
# We don't have fte available on Windows x86_64 yet
grep -v 'default_bridge\.snowflake' Bundle-Data/PTConfigs/bridge_prefs.js \
[% IF c("var/windows-x86_64") %]| grep -v 'default_bridge\.fte' [% END %] \
>> $TBDIR/$EXTOVERRIDESPATH
>> "$TBDIR/$EXTOVERRIDESPATH"
[% END -%]
[% IF c("var/osx") -%]
# FTE is temporarily removed due to bug 18495.
grep -Ev 'default_bridge\.fte' Bundle-Data/PTConfigs/bridge_prefs.js \
[% IF ! c("var/snowflake") %]| grep -v 'default_bridge\.snowflake' [% END %] \
>> $TBDIR/$EXTOVERRIDESPATH
>> "$TBDIR/$EXTOVERRIDESPATH"
[% END -%]
cat Bundle-Data/PTConfigs/meek-http-helper-user.js >> $TBDIR/$MEEKPROFILEPATH/user.js
cat Bundle-Data/PTConfigs/meek-http-helper-user.js >> "$TBDIR/$MEEKPROFILEPATH/user.js"
[% IF c("var/osx") %]
pushd $TBDIR
pushd "$TBDIR"
# Create the meek-template-sha256sum.txt file by generating a list
# of hashes (one for each file within the meek-http-helper profile) and
# and then generating one final hash from the contents of the list.
......@@ -156,8 +156,8 @@ cat Bundle-Data/PTConfigs/meek-http-helper-user.js >> $TBDIR/$MEEKPROFILEPATH/us
[% END %]
[% IF ! c("var/multi_lingual") %]
echo 'pref("extensions.torlauncher.prompt_for_locale", false);' >> $TBDIR/$EXTOVERRIDESPATH
echo 'pref("intl.locale.matchOS", false);' >> $TBDIR/$EXTOVERRIDESPATH
echo 'pref("extensions.torlauncher.prompt_for_locale", false);' >> "$TBDIR/$EXTOVERRIDESPATH"
echo 'pref("intl.locale.matchOS", false);' >> "$TBDIR/$EXTOVERRIDESPATH"
[% END %]
[% IF c("var/linux") %]
......@@ -178,7 +178,7 @@ cat Bundle-Data/PTConfigs/meek-http-helper-user.js >> $TBDIR/$MEEKPROFILEPATH/us
[% END %]
pushd $TBDIR[% IF c("var/osx") %]/Contents/Resources[% END %]/browser/
pushd "$TBDIR[% IF c("var/osx") %]/Contents/Resources[% END %]/browser/"
# For the proper search engines in our language packs
unzip omni.ja chrome/en-US/locale/browser/searchplugins* || [ $? -lt 3 ]
mv chrome/en-US/locale/browser/searchplugins $rootdir
......@@ -223,7 +223,7 @@ popd
}) %]
# If we are building a multi-lingual package, add all of the language packs.
[% IF c("var/multi_lingual") %]
cp [% xpi %] $TBDIR/$EXTSPATH/langpack-[% lang %]@firefox.mozilla.org.xpi
cp [% xpi %] "$TBDIR/$EXTSPATH/langpack-[% lang %]@firefox.mozilla.org.xpi"
[% END %]
cd ..
rm -rf prep_[% lang %]
......@@ -232,7 +232,7 @@ popd
[% IF c("var/multi_lingual") %]
# Set the update.locale (it is used to replace %LOCALE% within
# app.update.url).
pushd $TBDIR[% IF c("var/osx") %]/Contents/Resources/[% END %]
pushd "$TBDIR[% IF c("var/osx") %]/Contents/Resources/[% END %]"
echo ${PKG_LOCALE} > update.locale
[% c("var/touch") %] update.locale
zip -Xm omni.ja update.locale
......@@ -253,11 +253,11 @@ popd
cp -a ${TB_STAGE_DIR} $distdir/$PKG_DIR
[% IF c("var/windows") %]
TBDIR=$distdir/$PKG_DIR/"Tor Browser"/Browser
TBDIR="$distdir/$PKG_DIR/Tor Browser/Browser"
[% ELSIF c("var/osx") %]
TBDIR=$distdir/$PKG_DIR/TorBrowser.app
TBDIR="$distdir/$PKG_DIR/Tor Browser.app"
[% ELSE %]
TBDIR=$distdir/$PKG_DIR/Browser
TBDIR="$distdir/$PKG_DIR/Browser"
[% END %]
pushd "$TBDIR[% IF c("var/osx") %]/Contents/Resources/[% END %]"
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment