Skip to content
Snippets Groups Projects
gitian-firefox.yml 5.17 KiB
---
name: "torbrowser-linux"
distro: "debian"
suites:
- "wheezy"
architectures:
- "i386"
- "amd64"
packages:
- "unzip"
- "zip"
- "autoconf2.13"
- "libgtk2.0-dev"
- "libdbus-glib-1-dev"
- "yasm"
- "libxt-dev"
- "hardening-wrapper"
# To pass configure since ESR 31.
- "libpulse-dev"
# To pass configure since ESR 45.
- "libgconf2-dev"
# To pass configure since ESR 52.
- "libx11-xcb-dev"
# We built GCC but not the libmpc2, thus we need to install it.
- "libmpc2"
reference_datetime: "2000-01-01 00:00:00"
remotes:
- "url": "https://git.torproject.org/tor-browser.git"
  "dir": "tor-browser"
files:
- "binutils-linux32-utils.zip"
- "binutils-linux64-utils.zip"
- "gcc-linux32-utils.zip"
- "gcc-linux64-utils.zip"
- "get-moz-build-date"
- "gio.patch"
- "re-dzip.sh"
- "dzip.sh"
- "versions"
script: |
  source versions
  INSTDIR="$HOME/install"
  export REFERENCE_DATETIME
  export CFLAGS="-frandom-seed=tor"
  export CXXFLAGS="-frandom-seed=tor"
  export TZ=UTC
  export LC_ALL=C
  umask 0022
  #
  # Config options for hardening-wrapper
  export DEB_BUILD_HARDENING=1
  export DEB_BUILD_HARDENING_STACKPROTECTOR=1
  export DEB_BUILD_HARDENING_FORTIFY=1
  export DEB_BUILD_HARDENING_FORMAT=1
  export DEB_BUILD_HARDENING_PIE=1
  #
  # Preparing Binutils and GCC for Tor Browser
  unzip -d $INSTDIR binutils-linux$GBUILD_BITS-utils.zip
  # Make sure gold is used with the hardening wrapper for full RELRO, see
  # #13031.
  cd $INSTDIR/binutils/bin
  rm ld
  cp /usr/bin/hardened-ld ./
  mv ld.gold ld.gold.real
  ln -sf hardened-ld ld.gold
  ln -sf ld.gold ld
  cd ~/build
  unzip -d $INSTDIR gcc-linux$GBUILD_BITS-utils.zip
  # Make sure we use the hardening wrapper when compiling Tor Browser.
  cd $INSTDIR/gcc/bin