[tor-commits] [tor-browser-bundle/hardened-builds] Revert "Bug 15578: drop our Python build"

gk at torproject.org gk at torproject.org
Mon Jan 25 08:56:39 UTC 2016


commit 92d04ecc79e97a3306e12807af289c434be5da00
Author: Georg Koppen <gk at torproject.org>
Date:   Mon Jan 25 08:05:35 2016 +0000

    Revert "Bug 15578: drop our Python build"
    
    This reverts commit 2d57f0452aaa35d1a7e96c9d84af23dd6b785cb2.
---
 gitian/descriptors/linux/gitian-bundle.yml  |    7 ++++++-
 gitian/descriptors/linux/gitian-firefox.yml |    7 ++++++-
 gitian/descriptors/linux/gitian-utils.yml   |   25 +++++++++++++++++++++++++
 gitian/fetch-inputs.sh                      |    7 +++++--
 gitian/mkbundle-linux.sh                    |    6 ++++++
 gitian/verify-tags.sh                       |    5 +++--
 gitian/versions                             |    5 +++++
 gitian/versions.alpha                       |    5 +++++
 gitian/versions.beta                        |    5 +++++
 gitian/versions.nightly                     |    5 +++++
 10 files changed, 71 insertions(+), 6 deletions(-)

diff --git a/gitian/descriptors/linux/gitian-bundle.yml b/gitian/descriptors/linux/gitian-bundle.yml
index d2baacf..8f282e0 100644
--- a/gitian/descriptors/linux/gitian-bundle.yml
+++ b/gitian/descriptors/linux/gitian-bundle.yml
@@ -13,7 +13,6 @@ packages:
 - "libxslt1.1"
 - "libxml2-utils"
 - "sqlite3"
-- "python-lxml"
 reference_datetime: "2000-01-01 00:00:00"
 remotes:
 - "url": "https://git.torproject.org/tor-launcher.git"
@@ -33,6 +32,8 @@ files:
 - "tor-browser-linux64-gbuilt.zip"
 - "tor-linux64-gbuilt.zip"
 - "pluggable-transports-linux64-gbuilt.zip"
+- "python-linux64-utils.zip"
+- "lxml-linux64-utils.zip"
 - "mar-tools-linux64.zip"
 - "torrc-defaults-appendix-linux"
 - "bridge_prefs.js"
@@ -76,6 +77,10 @@ script: |
   mkdir -p ${TB_STAGE_DIR}/Browser/TorBrowser/Data/Browser/profile.meek-http-helper/extensions
   mkdir -p ${TB_STAGE_DIR}/Browser/TorBrowser/Data/Browser/Caches
   mkdir -p ${TB_STAGE_DIR}/Browser/TorBrowser/Docs/sources/
+  # Preparing Python for HTTPS-Everywhere.
+  unzip -d $INSTDIR python-linux$GBUILD_BITS-utils.zip
+  export PATH=$INSTDIR/python/bin:$PATH
+  unzip -d $INSTDIR/python/lib/python2.7 lxml-linux$GBUILD_BITS-utils.zip
   #
   # Extract the MAR tools.
   unzip -d ~/build ~/build/mar-tools-linux${GBUILD_BITS}.zip
diff --git a/gitian/descriptors/linux/gitian-firefox.yml b/gitian/descriptors/linux/gitian-firefox.yml
index c49636a..a0fc8e3 100644
--- a/gitian/descriptors/linux/gitian-firefox.yml
+++ b/gitian/descriptors/linux/gitian-firefox.yml
@@ -16,7 +16,6 @@ packages:
 - "libgstreamer-plugins-base0.10-dev"
 - "libxt-dev"
 - "hardening-wrapper"
-- "python-dev"
 # To pass configure since ESR 31.
 - "libpulse-dev"
 # We built GCC but not the libmpc2, thus we need to install it.
@@ -30,6 +29,7 @@ remotes:
 files:
 - "binutils-linux64-utils.zip"
 - "gcc-linux64-utils.zip"
+- "python-linux64-utils.zip"
 - "re-dzip.sh"
 - "dzip.sh"
 - "versions"
@@ -47,6 +47,11 @@ script: |
   export DEB_BUILD_HARDENING_FORMAT=1
   export DEB_BUILD_HARDENING_PIE=1
   #
+  # Preparing Python for Tor Browser
+  unzip -d $INSTDIR python-linux$GBUILD_BITS-utils.zip
+  # TODO: We might want to have a smarter solution than hard-coding the version.
+  ln -sf $INSTDIR/python/bin/python2.7 $INSTDIR/python/bin/python
+  export PATH=$INSTDIR/python/bin:$PATH
   # 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
diff --git a/gitian/descriptors/linux/gitian-utils.yml b/gitian/descriptors/linux/gitian-utils.yml
index 673dc5a..c581248 100644
--- a/gitian/descriptors/linux/gitian-utils.yml
+++ b/gitian/descriptors/linux/gitian-utils.yml
@@ -32,6 +32,8 @@ files:
 - "binutils.tar.bz2"
 - "gcc.tar.bz2"
 - "openssl.tar.gz"
+- "python.tar.bz2"
+- "lxml.tar.gz"
 - "gmp.tar.bz2"
 - "versions"
 - "dzip.sh"
@@ -112,7 +114,29 @@ script: |
   make install
   cd ..
 
+  # Building Python
+  # Fx 24 ESR and HTTPS Everywhere >= 3.5 do not work with Python < 2.7 anymore.
+  # But 10.04 does only ship with Python 2.6. Thus, we compile 2.7 ourselves...
+  tar xjf python.tar.bz2
+  cd Python-*
+  ./configure
+  make $MAKEOPTS altinstall prefix=$INSTDIR/python exec-prefix=$INSTDIR/python
+  cd ..
+
+  # Building lxml
+  export LD_PRELOAD=""
+  tar xzf lxml.tar.gz
+  cd lxml-*
+  # Make sure we use our freshly built python binary here. Otherwise bad things
+  # may happen when we do so in the bundle step assembling the HTTPS-Everywhere
+  # rules.
+  $INSTDIR/python/bin/python2.7 setup.py build
+  cd build/lib*
+  export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
+  ~/build/dzip.sh lxml-$LXML_VER-linux$GBUILD_BITS-utils.zip lxml
   export LD_PRELOAD=""
+  cp *utils.zip $OUTDIR
+  cd ../../../
 
   # Building GMP
   tar xjf gmp.tar.bz2
@@ -134,5 +158,6 @@ script: |
   ~/build/dzip.sh gcc-$GCC_VER-linux$GBUILD_BITS-utils.zip gcc
   ~/build/dzip.sh openssl-$OPENSSL_VER-linux$GBUILD_BITS-utils.zip openssl
   ~/build/dzip.sh libevent-${LIBEVENT_TAG#release-}-linux$GBUILD_BITS-utils.zip libevent
+  ~/build/dzip.sh python-$PYTHON_VER-linux$GBUILD_BITS-utils.zip python
   ~/build/dzip.sh gmp-$GMP_VER-linux$GBUILD_BITS-utils.zip gmp
   cp *utils.zip $OUTDIR/
diff --git a/gitian/fetch-inputs.sh b/gitian/fetch-inputs.sh
index 9d6f2f3..206023b 100755
--- a/gitian/fetch-inputs.sh
+++ b/gitian/fetch-inputs.sh
@@ -112,11 +112,12 @@ update_git() {
 
 ##############################################################################
 # Get+verify sigs that exist
-for i in OPENSSL BINUTILS GCC PYCRYPTO PYTHON_MSI GMP
+for i in OPENSSL BINUTILS GCC PYTHON PYCRYPTO PYTHON_MSI GMP LXML
 do
   PACKAGE="${i}_PACKAGE"
   URL="${i}_URL"
-  if [ "${i}" == "PYCRYPTO" -o "${i}" == "PYTHON_MSI" -o "${i}" == "OPENSSL" ]; then
+  if [ "${i}" == "PYTHON" -o "${i}" == "PYCRYPTO" -o "${i}" == "PYTHON_MSI" -o \
+       "${i}" == "LXML" -o "${i}" == "OPENSSL" ]; then
     SUFFIX="asc"
   else
     SUFFIX="sig"
@@ -225,6 +226,7 @@ ln -sf "$NOSCRIPT_PACKAGE" noscript at noscript.net.xpi
 ln -sf "$OPENSSL_PACKAGE" openssl.tar.gz
 ln -sf "$BINUTILS_PACKAGE" binutils.tar.bz2
 ln -sf "$GCC_PACKAGE" gcc.tar.bz2
+ln -sf "$PYTHON_PACKAGE" python.tar.bz2
 ln -sf "$PYTHON_MSI_PACKAGE" python.msi
 ln -sf "$PYCRYPTO_PACKAGE" pycrypto.tar.gz
 ln -sf "$ARGPARSE_PACKAGE" argparse.tar.gz
@@ -234,6 +236,7 @@ ln -sf "$TWISTED_PACKAGE" twisted.tar.bz2
 ln -sf "$PY2EXE_PACKAGE" py2exe.exe
 ln -sf "$SETUPTOOLS_PACKAGE" setuptools.tar.gz
 ln -sf "$GMP_PACKAGE" gmp.tar.bz2
+ln -sf "$LXML_PACKAGE" lxml.tar.gz
 ln -sf "$PARSLEY_PACKAGE" parsley.tar.gz
 ln -sf "$GO_PACKAGE" go.tar.gz
 
diff --git a/gitian/mkbundle-linux.sh b/gitian/mkbundle-linux.sh
index a1674dd..5fa3966 100755
--- a/gitian/mkbundle-linux.sh
+++ b/gitian/mkbundle-linux.sh
@@ -104,6 +104,8 @@ if [ ! -f inputs/binutils-$BINUTILS_VER-linux64-utils.zip -o \
      ! -f inputs/gcc-$GCC_VER-linux64-utils.zip -o \
      ! -f inputs/openssl-$OPENSSL_VER-linux64-utils.zip -o \
      ! -f inputs/libevent-${LIBEVENT_TAG_ORIG#release-}-linux64-utils.zip -o \
+     ! -f inputs/python-$PYTHON_VER-linux64-utils.zip -o \
+     ! -f inputs/lxml-$LXML_VER-linux64-utils.zip -o \
      ! -f inputs/gmp-$GMP_VER-linux64-utils.zip ];
 then
   echo
@@ -123,6 +125,8 @@ then
   ln -sf gcc-$GCC_VER-linux64-utils.zip gcc-linux64-utils.zip
   ln -sf openssl-$OPENSSL_VER-linux64-utils.zip openssl-linux64-utils.zip
   ln -sf libevent-${LIBEVENT_TAG_ORIG#release-}-linux64-utils.zip libevent-linux64-utils.zip
+  ln -sf python-$PYTHON_VER-linux64-utils.zip python-linux64-utils.zip
+  ln -sf lxml-$LXML_VER-linux64-utils.zip lxml-linux64-utils.zip
   ln -sf gmp-$GMP_VER-linux64-utils.zip gmp-linux64-utils.zip
   cd ..
   #cp -a result/utils-linux-res.yml inputs/
@@ -137,6 +141,8 @@ else
   ln -sf gcc-$GCC_VER-linux64-utils.zip gcc-linux64-utils.zip
   ln -sf openssl-$OPENSSL_VER-linux64-utils.zip openssl-linux64-utils.zip
   ln -sf libevent-${LIBEVENT_TAG_ORIG#release-}-linux64-utils.zip libevent-linux64-utils.zip
+  ln -sf python-$PYTHON_VER-linux64-utils.zip python-linux64-utils.zip
+  ln -sf lxml-$LXML_VER-linux64-utils.zip lxml-linux64-utils.zip
   ln -sf gmp-$GMP_VER-linux64-utils.zip gmp-linux64-utils.zip
   cd ..
 fi
diff --git a/gitian/verify-tags.sh b/gitian/verify-tags.sh
index fc62344..82a810a 100755
--- a/gitian/verify-tags.sh
+++ b/gitian/verify-tags.sh
@@ -121,11 +121,12 @@ noto-fonts              $NOTOFONTS_TAG
 EOF
 
 # Verify signatures on signed packages
-for i in OPENSSL BINUTILS GCC PYCRYPTO PYTHON_MSI GMP
+for i in OPENSSL BINUTILS GCC PYTHON PYCRYPTO PYTHON_MSI GMP LXML
 do
   PACKAGE="${i}_PACKAGE"
   URL="${i}_URL"
-  if [ "${i}" == "PYCRYPTO" -o "${i}" == "PYTHON_MSI" -o "${i}" == "OPENSSL" ]; then
+  if [ "${i}" == "PYTHON" -o "${i}" == "PYCRYPTO" -o "${i}" == "PYTHON_MSI" -o \
+       "${i}" == "LXML" -o "${i}" == "OPENSSL" ]; then
     SUFFIX="asc"
   else
     SUFFIX="sig"
diff --git a/gitian/versions b/gitian/versions
index 522b37f..8e35391 100755
--- a/gitian/versions
+++ b/gitian/versions
@@ -55,6 +55,7 @@ TWISTED_VER=13.2.0
 M2CRYPTO_VER=0.21.1
 PY2EXE_VER=0.6.9
 SETUPTOOLS_VER=1.4
+LXML_VER=3.3.5
 PARSLEY_VER=1.2
 GO_VER=1.4.2
 NOTOCJKFONT_VER=1.004
@@ -70,6 +71,7 @@ OSXSDK_OLD_PACKAGE=apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb
 MSVCR100_PACKAGE=msvcr100.dll
 BINUTILS_PACKAGE=binutils-${BINUTILS_VER}.tar.bz2
 GCC_PACKAGE=gcc-${GCC_VER}.tar.bz2
+PYTHON_PACKAGE=Python-${PYTHON_VER}.tar.bz2
 PYTHON_MSI_PACKAGE=python-${PYTHON_VER}.msi
 PYCRYPTO_PACKAGE=pycrypto-${PYCRYPTO_VER}.tar.gz
 ARGPARSE_PACKAGE=argparse-${ARGPARSE_VER}.tar.gz
@@ -79,6 +81,7 @@ TWISTED_PACKAGE=Twisted-${TWISTED_VER}.tar.bz2
 M2CRYPTO_PACKAGE=M2Crypto-${M2CRYPTO_VER}.tar.gz
 PY2EXE_PACKAGE=py2exe-${PY2EXE_VER}.win32-py2.7.exe
 SETUPTOOLS_PACKAGE=setuptools-${SETUPTOOLS_VER}.tar.gz
+LXML_PACKAGE=lxml-${LXML_VER}.tar.gz
 PARSLEY_PACKAGE=Parsley-${PARSLEY_VER}.tar.gz
 GO_PACKAGE=go${GO_VER}.src.tar.gz
 NOTOCJKFONT_PACKAGE=NotoSansCJKsc-Regular.otf
@@ -116,6 +119,7 @@ OSXSDK_URL=https://launchpad.net/~flosoft/+archive/cross-apple/+files/${OSXSDK_P
 BINUTILS_URL=https://ftp.gnu.org/gnu/binutils/${BINUTILS_PACKAGE}
 GCC_URL=https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/${GCC_PACKAGE}
 NOSCRIPT_URL=https://addons.cdn.mozilla.net/user-media/addons/722/${NOSCRIPT_PACKAGE}
+PYTHON_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_PACKAGE}
 PYTHON_MSI_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_MSI_PACKAGE}
 PYCRYPTO_URL=https://pypi.python.org/packages/source/p/pycrypto/${PYCRYPTO_PACKAGE}
 ARGPARSE_URL=https://argparse.googlecode.com/files/${ARGPARSE_PACKAGE}
@@ -126,6 +130,7 @@ TWISTED_URL=https://pypi.python.org/packages/source/T/Twisted/${TWISTED_PACKAGE}
 M2CRYPTO_URL=https://pypi.python.org/packages/source/M/M2Crypto/${M2CRYPTO_PACKAGE}
 PY2EXE_URL=http://liquidtelecom.dl.sourceforge.net/project/py2exe/py2exe/${PY2EXE_VER}/${PY2EXE_PACKAGE}
 SETUPTOOLS_URL=https://pypi.python.org/packages/source/s/setuptools/${SETUPTOOLS_PACKAGE}
+LXML_URL=https://pypi.python.org/packages/source/l/lxml/${LXML_PACKAGE}
 PARSLEY_URL=https://pypi.python.org/packages/source/P/Parsley/${PARSLEY_PACKAGE}
 GO_URL=https://golang.org/dl/${GO_PACKAGE}
 NOTOCJKFONT_URL=https://github.com/googlei18n/noto-cjk/raw/f36eda03dfa5582a6d49abbfb5c83d0209584158/${NOTOCJKFONT_PACKAGE}
diff --git a/gitian/versions.alpha b/gitian/versions.alpha
index 6943f2a..6c6d566 100755
--- a/gitian/versions.alpha
+++ b/gitian/versions.alpha
@@ -56,6 +56,7 @@ ZOPEINTERFACE_VER=4.0.5
 TWISTED_VER=13.2.0
 PY2EXE_VER=0.6.9
 SETUPTOOLS_VER=1.4
+LXML_VER=3.3.5
 PARSLEY_VER=1.2
 GO_VER=1.4.2
 NOTOCJKFONT_VER=1.004
@@ -71,6 +72,7 @@ OSXSDK_OLD_PACKAGE=apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb
 MSVCR100_PACKAGE=msvcr100.dll
 BINUTILS_PACKAGE=binutils-${BINUTILS_VER}.tar.bz2
 GCC_PACKAGE=gcc-${GCC_VER}.tar.bz2
+PYTHON_PACKAGE=Python-${PYTHON_VER}.tar.bz2
 PYTHON_MSI_PACKAGE=python-${PYTHON_VER}.msi
 PYCRYPTO_PACKAGE=pycrypto-${PYCRYPTO_VER}.tar.gz
 ARGPARSE_PACKAGE=argparse-${ARGPARSE_VER}.tar.gz
@@ -79,6 +81,7 @@ ZOPEINTERFACE_PACKAGE=zope.interface-${ZOPEINTERFACE_VER}.zip
 TWISTED_PACKAGE=Twisted-${TWISTED_VER}.tar.bz2
 PY2EXE_PACKAGE=py2exe-${PY2EXE_VER}.win32-py2.7.exe
 SETUPTOOLS_PACKAGE=setuptools-${SETUPTOOLS_VER}.tar.gz
+LXML_PACKAGE=lxml-${LXML_VER}.tar.gz
 PARSLEY_PACKAGE=Parsley-${PARSLEY_VER}.tar.gz
 GO_PACKAGE=go${GO_VER}.src.tar.gz
 NOTOCJKFONT_PACKAGE=NotoSansCJKsc-Regular.otf
@@ -115,6 +118,7 @@ OSXSDK_URL=https://launchpad.net/~flosoft/+archive/cross-apple/+files/${OSXSDK_P
 BINUTILS_URL=https://ftp.gnu.org/gnu/binutils/${BINUTILS_PACKAGE}
 GCC_URL=https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/${GCC_PACKAGE}
 NOSCRIPT_URL=https://addons.cdn.mozilla.net/user-media/addons/722/${NOSCRIPT_PACKAGE}
+PYTHON_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_PACKAGE}
 PYTHON_MSI_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_MSI_PACKAGE}
 PYCRYPTO_URL=https://pypi.python.org/packages/source/p/pycrypto/${PYCRYPTO_PACKAGE}
 ARGPARSE_URL=https://argparse.googlecode.com/files/${ARGPARSE_PACKAGE}
@@ -124,6 +128,7 @@ TWISTED_URL=https://pypi.python.org/packages/source/T/Twisted/${TWISTED_PACKAGE}
 # TWISTED_URL=https://twistedmatrix.com/Releases/Twisted/$(echo ${TWISTED_VER} | awk -F. '{print $1"."$2}')/${TWISTED_PACKAGE}
 PY2EXE_URL=http://liquidtelecom.dl.sourceforge.net/project/py2exe/py2exe/${PY2EXE_VER}/${PY2EXE_PACKAGE}
 SETUPTOOLS_URL=https://pypi.python.org/packages/source/s/setuptools/${SETUPTOOLS_PACKAGE}
+LXML_URL=https://pypi.python.org/packages/source/l/lxml/${LXML_PACKAGE}
 PARSLEY_URL=https://pypi.python.org/packages/source/P/Parsley/${PARSLEY_PACKAGE}
 GO_URL=https://golang.org/dl/${GO_PACKAGE}
 NOTOCJKFONT_URL=https://github.com/googlei18n/noto-cjk/raw/f36eda03dfa5582a6d49abbfb5c83d0209584158/${NOTOCJKFONT_PACKAGE}
diff --git a/gitian/versions.beta b/gitian/versions.beta
index 1bde7e5..43c5fde 100755
--- a/gitian/versions.beta
+++ b/gitian/versions.beta
@@ -48,6 +48,7 @@ TWISTED_VER=13.2.0
 M2CRYPTO_VER=0.21.1
 PY2EXE_VER=0.6.9
 SETUPTOOLS_VER=1.4
+LXML_VER=3.3.5
 PARSLEY_VER=1.2
 GO_VER=1.4.2
 NOTOCJKFONT_VER=1.004
@@ -63,6 +64,7 @@ MINGW_PACKAGE=mingw-w64-svn-snapshot.zip
 MSVCR100_PACKAGE=msvcr100.dll
 BINUTILS_PACKAGE=binutils-${BINUTILS_VER}.tar.bz2
 GCC_PACKAGE=gcc-${GCC_VER}.tar.bz2
+PYTHON_PACKAGE=Python-${PYTHON_VER}.tar.bz2
 PYTHON_MSI_PACKAGE=python-${PYTHON_VER}.msi
 PYCRYPTO_PACKAGE=pycrypto-${PYCRYPTO_VER}.tar.gz
 ARGPARSE_PACKAGE=argparse-${ARGPARSE_VER}.tar.gz
@@ -72,6 +74,7 @@ TWISTED_PACKAGE=Twisted-${TWISTED_VER}.tar.bz2
 M2CRYPTO_PACKAGE=M2Crypto-${M2CRYPTO_VER}.tar.gz
 PY2EXE_PACKAGE=py2exe-${PY2EXE_VER}.win32-py2.7.exe
 SETUPTOOLS_PACKAGE=setuptools-${SETUPTOOLS_VER}.tar.gz
+LXML_PACKAGE=lxml-${LXML_VER}.tar.gz
 PARSLEY_PACKAGE=Parsley-${PARSLEY_VER}.tar.gz
 GO_PACKAGE=go${GO_VER}.src.tar.gz
 NOTOCJKFONT_PACKAGE=NotoSansCJKsc-Regular.otf
@@ -108,6 +111,7 @@ OSXSDK_URL=https://launchpad.net/~flosoft/+archive/cross-apple/+files/${OSXSDK_P
 BINUTILS_URL=https://ftp.gnu.org/gnu/binutils/${BINUTILS_PACKAGE}
 GCC_URL=https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/${GCC_PACKAGE}
 NOSCRIPT_URL=https://addons.cdn.mozilla.net/storage/public-staging/722/${NOSCRIPT_PACKAGE}
+PYTHON_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_PACKAGE}
 PYTHON_MSI_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_MSI_PACKAGE}
 PYCRYPTO_URL=https://pypi.python.org/packages/source/p/pycrypto/${PYCRYPTO_PACKAGE}
 ARGPARSE_URL=https://argparse.googlecode.com/files/${ARGPARSE_PACKAGE}
@@ -118,6 +122,7 @@ TWISTED_URL=https://pypi.python.org/packages/source/T/Twisted/${TWISTED_PACKAGE}
 M2CRYPTO_URL=https://pypi.python.org/packages/source/M/M2Crypto/${M2CRYPTO_PACKAGE}
 PY2EXE_URL=http://softlayer-dal.dl.sourceforge.net/project/py2exe/py2exe/${PY2EXE_VER}/${PY2EXE_PACKAGE}
 SETUPTOOLS_URL=https://pypi.python.org/packages/source/s/setuptools/${SETUPTOOLS_PACKAGE}
+LXML_URL=https://pypi.python.org/packages/source/l/lxml/${LXML_PACKAGE}
 PARSLEY_URL=https://pypi.python.org/packages/source/P/Parsley/${PARSLEY_PACKAGE}
 GO_URL=https://golang.org/dl/${GO_PACKAGE}
 NOTOCJKFONT_URL=https://github.com/googlei18n/noto-cjk/raw/f36eda03dfa5582a6d49abbfb5c83d0209584158/${NOTOCJKFONT_PACKAGE}
diff --git a/gitian/versions.nightly b/gitian/versions.nightly
index 9325e9d..d209c6a 100755
--- a/gitian/versions.nightly
+++ b/gitian/versions.nightly
@@ -59,6 +59,7 @@ ZOPEINTERFACE_VER=4.0.5
 TWISTED_VER=13.2.0
 PY2EXE_VER=0.6.9
 SETUPTOOLS_VER=1.4
+LXML_VER=3.3.5
 PARSLEY_VER=1.2
 GO_VER=1.4.2
 NOTOCJKFONT_VER=1.004
@@ -74,6 +75,7 @@ OSXSDK_OLD_PACKAGE=apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb
 MSVCR100_PACKAGE=msvcr100.dll
 BINUTILS_PACKAGE=binutils-${BINUTILS_VER}.tar.bz2
 GCC_PACKAGE=gcc-${GCC_VER}.tar.bz2
+PYTHON_PACKAGE=Python-${PYTHON_VER}.tar.bz2
 PYTHON_MSI_PACKAGE=python-${PYTHON_VER}.msi
 PYCRYPTO_PACKAGE=pycrypto-${PYCRYPTO_VER}.tar.gz
 ARGPARSE_PACKAGE=argparse-${ARGPARSE_VER}.tar.gz
@@ -82,6 +84,7 @@ ZOPEINTERFACE_PACKAGE=zope.interface-${ZOPEINTERFACE_VER}.zip
 TWISTED_PACKAGE=Twisted-${TWISTED_VER}.tar.bz2
 PY2EXE_PACKAGE=py2exe-${PY2EXE_VER}.win32-py2.7.exe
 SETUPTOOLS_PACKAGE=setuptools-${SETUPTOOLS_VER}.tar.gz
+LXML_PACKAGE=lxml-${LXML_VER}.tar.gz
 PARSLEY_PACKAGE=Parsley-${PARSLEY_VER}.tar.gz
 GO_PACKAGE=go${GO_VER}.src.tar.gz
 NOTOCJKFONT_PACKAGE=NotoSansCJKsc-Regular.otf
@@ -118,6 +121,7 @@ OSXSDK_URL=https://launchpad.net/~flosoft/+archive/cross-apple/+files/${OSXSDK_P
 BINUTILS_URL=https://ftp.gnu.org/gnu/binutils/${BINUTILS_PACKAGE}
 GCC_URL=https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/${GCC_PACKAGE}
 NOSCRIPT_URL=https://addons.cdn.mozilla.net/user-media/addons/722/${NOSCRIPT_PACKAGE}
+PYTHON_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_PACKAGE}
 PYTHON_MSI_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_MSI_PACKAGE}
 PYCRYPTO_URL=https://pypi.python.org/packages/source/p/pycrypto/${PYCRYPTO_PACKAGE}
 ARGPARSE_URL=https://argparse.googlecode.com/files/${ARGPARSE_PACKAGE}
@@ -127,6 +131,7 @@ TWISTED_URL=https://pypi.python.org/packages/source/T/Twisted/${TWISTED_PACKAGE}
 # TWISTED_URL=https://twistedmatrix.com/Releases/Twisted/$(echo ${TWISTED_VER} | awk -F. '{print $1"."$2}')/${TWISTED_PACKAGE}
 PY2EXE_URL=http://liquidtelecom.dl.sourceforge.net/project/py2exe/py2exe/${PY2EXE_VER}/${PY2EXE_PACKAGE}
 SETUPTOOLS_URL=https://pypi.python.org/packages/source/s/setuptools/${SETUPTOOLS_PACKAGE}
+LXML_URL=https://pypi.python.org/packages/source/l/lxml/${LXML_PACKAGE}
 PARSLEY_URL=https://pypi.python.org/packages/source/P/Parsley/${PARSLEY_PACKAGE}
 GO_URL=https://golang.org/dl/${GO_PACKAGE}
 NOTOCJKFONT_URL=https://github.com/googlei18n/noto-cjk/raw/f36eda03dfa5582a6d49abbfb5c83d0209584158/${NOTOCJKFONT_PACKAGE}





More information about the tor-commits mailing list