Commit f3a70607 authored by Marco Simonelli's avatar Marco Simonelli Committed by Richard Pospesel
Browse files

Bug 40397: Create a new build target to package tor daemon, pluggable transports and dependencies

parent fdebcff9
Loading
Loading
Loading
Loading
+36 −7
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ touch "$GENERATEDPREFSPATH"

  DOCSPATH=[% c('var/ProjectName') %]/Docs
  EXTSPATH=[% c('var/ProjectName') %]/Data/Browser/profile.default/extensions
  TORBINPATH=TorBrowser/Tor
  TORCONFIGPATH=TorBrowser/Data/Tor

  mkdir -p "$TBDIR/[% c('var/ProjectName') %]/Data/Browser/Caches"
@@ -48,8 +49,39 @@ MARTOOLS=$rootdir/mar-tools
mv [% c('input_files_by_name/noscript') %] "$TBDIR/$EXTSPATH/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi"

[% IF c("var/tor-browser") -%]
  tar -C "$TBDIR" -xf [% c('input_files_by_name/obfs4') %]
  tar -C "$TBDIR" -xf [% c('input_files_by_name/snowflake') -%]
  tar -xvf [% c('input_files_by_name/tor-expert-bundle') %]

  # geoip(6) and anything else that belongs in the data dir from the expert bundle
  mkdir -p "$TBDIR/$TORCONFIGPATH"
  mv data/{geoip,geoip6} "$TBDIR/$TORCONFIGPATH"

  # Bridge lists will be consumed later in `bridges_conf`
  mv tor/pluggable_transports/bridges_list.*.txt $rootdir

  # Snowflake's README is the only documentation shipped in tor-expert-bundle
  mkdir -p "$TBDIR/$DOCSPATH/snowflake"
  find tor
  mv tor/pluggable_transports/README.SNOWFLAKE.md "$TBDIR/$DOCSPATH/snowflake/README.md"

  # Move the PTs to where TB expects them
  mkdir -p "$TBDIR/$TORBINPATH"
  mv tor/pluggable_transports "$TBDIR/$TORBINPATH/PluggableTransports"

  # Move tor and dependencies to where TB expects them
  mv tor/* "$TBDIR/$TORBINPATH"

  # on linux, libstdc++ lives in it's own directory
  [% IF c("var/linux") %]
    find $TBDIR/$TORBINPATH
    mkdir -p "$TBDIR/$TORBINPATH/libstdc++"
    mv "$TBDIR/$TORBINPATH"/libstdc++.so.* "$TBDIR/$TORBINPATH/libstdc++"
  [% END %]

  # the expert bundle includes tor-gencert, which isn't needed for browser releases
  [% IF c("var/windows") %]
    rm "$TBDIR/$TORBINPATH/tor-gencert.exe"
  [% END %]

[% END -%]

tar -C "$TBDIR[% IF c("var/osx") %]/Contents/Resources[% END %]" -xf [% c('input_files_by_name/fonts') %]
@@ -94,9 +126,6 @@ tar -C ${TB_STAGE_DIR} -xf [% c('input_files_by_name/firefox') %]/browser.tar.gz
  rm -rf $TMP_MANUAL_PATH
[% END -%]

[% IF c("var/tor-browser") -%]
  tar -C "$TBDIR[% IF ! c("var/osx") %]/TorBrowser[% END %]" -xf [% c('input_files_by_name/tor') %]/tor.tar.gz
[% END -%]

[% IF c("var/namecoin") %]
  # Extract Electrum-NMC
@@ -325,8 +354,8 @@ cp $rootdir/[% c('input_files_by_name/firefox') %]/mar-tools-*.zip "$OUTDIR"/
    cp $rootdir/[% c('input_files_by_name/firefox') %]/geckodriver-linux64.tar.xz "$OUTDIR"/
  [% END -%]
[% END -%]
[% IF c("var/linux") && c("var/tor-browser") -%]
  cp $rootdir/[% c('input_files_by_name/tor') %]/tor-debug.tar.xz "$OUTDIR"/tor-[% c("var/mar_osname") %]-debug.tar.xz
[%IF c("var/tor-browser") -%]
  cp $rootdir/[% c("input_files_by_name/tor-expert-bundle") %] "$OUTDIR"/
[% END -%]
[% IF c("var/build_infos_json") -%]
  cp $rootdir/[% c('input_files_by_name/firefox') %]/build-infos.json "$OUTDIR"/build-infos-[% c("var/mar_osname") %].json
+4 −0
Original line number Diff line number Diff line
@@ -40,3 +40,7 @@ zipalign -vp 4 $apk $aligned_apk
apksigner sign --verbose --min-sdk-version [% c("var/android_min_api") %] --ks $rootdir/android-qa.keystore --out $qa_apk --in $aligned_apk --ks-key-alias androidqakey --key-pass pass:android --ks-pass pass:android

apksigner sign --verbose --min-sdk-version [% c("var/android_min_api") %] --ks $rootdir/android-qa.keystore --out $test_out_apk --in $test_in_apk  --ks-key-alias androidqakey --key-pass pass:android --ks-pass pass:android

[%IF c("var/tor-browser") -%]
  cp $rootdir/[% c("input_files_by_name/tor-expert-bundle") %] [% dest_dir %]/[% c('filename') %]/
[% END -%]
+3 −15
Original line number Diff line number Diff line
@@ -70,9 +70,9 @@ input_files:
  - project: fenix
    name: fenix
    enable: '[% c("var/android") %]'
  - project: tor
    name: tor
    enable: '[% ! c("var/android") && c("var/tor-browser") %]'
  - project: tor-expert-bundle
    name: tor-expert-bundle
    enable: '[% c("var/tor-browser") %]'
  - project: firefox-langpacks
    name: firefox-langpacks
    enable: '[% ! c("var/testbuild") && ! c("var/android") %]'
@@ -82,12 +82,6 @@ input_files:
  - project: fonts
    name: fonts
    enable: '[% ! c("var/android") %]'
  - project: obfs4
    name: obfs4
    enable: '[% ! c("var/android") && c("var/tor-browser") %]'
  - project: snowflake
    name: snowflake
    enable: '[% ! c("var/android") && c("var/tor-browser") %]'
  - filename: Bundle-Data
    enable: '[% ! c("var/android") %]'
  - URL: https://addons.mozilla.org/firefox/downloads/file/4002416/noscript-11.4.11.xpi
@@ -126,12 +120,6 @@ input_files:
    enable: '[% c("var/android") %]'
  - filename: verify_allowed_addons.py
    enable: '[% c("var/android") && c("var/verify_allowed_addons") %]'
  - filename: bridges_list.obfs4.txt
    enable: '[% ! c("var/android") && c("var/tor-browser") %]'
  - filename: bridges_list.meek-azure.txt
    enable: '[% ! c("var/android") && c("var/tor-browser") %]'
  - filename: bridges_list.snowflake.txt
    enable: '[% ! c("var/android") && c("var/tor-browser") %]'
  - project: manual
    name: manual
    enable: '[% ! c("var/android") && c("var/tor-browser") %]'
+2 −3
Original line number Diff line number Diff line
@@ -2,8 +2,7 @@
[% c("var/set_default_env") -%]
[% pc('go', 'var/setup', { go_tarfile => c('input_files_by_name/go') }) %]
distdir=/var/tmp/dist/[% project %]
[% c("var/set_PTDIR_DOCSDIR") -%]
mkdir -p $PTDIR
mkdir -p $distdir

[% IF c("var/android") -%]
  [% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %]
@@ -30,7 +29,7 @@ ln -sf "$PWD" "$GOPATH/src/gitlab.com/yawning/obfs4.git"

cd obfs4proxy
go build -ldflags '-s'
cp -a obfs4proxy[% IF c("var/windows") %].exe[% END %] $PTDIR
cp -a obfs4proxy[% IF c("var/windows") %].exe[% END %] $distdir

cd $distdir
[% c('tar', {
+0 −6
Original line number Diff line number Diff line
@@ -18,15 +18,9 @@ mkdir -p "$destdir"
[% END -%]
[% IF c("var/browser-windows-i686") -%]
  mv [% c('input_files_by_name/windows-i686') %]/* "$destdir"/
  [% IF c("var/tor-browser") -%]
    mv [% c('input_files_by_name/windows-expert-bundle') %]/* "$destdir"/
  [% END -%]
[% END -%]
[% IF c("var/browser-windows-x86_64") -%]
  mv [% c('input_files_by_name/windows-x86_64') %]/* "$destdir"/
  [% IF c("var/tor-browser") -%]
    mv [% c('input_files_by_name/windows64-expert-bundle') %]/* "$destdir"/
  [% END -%]
[% END -%]
[% IF c("var/browser-osx-x86_64") -%]
  mv [% c('input_files_by_name/osx-x86_64') %]/* "$destdir"/
Loading