[tor-commits] [tor-browser-bundle/master] Bug 13359: Revert LD_LIBRARY_PATH + move libstdc++.

gk at torproject.org gk at torproject.org
Thu Oct 9 08:09:42 UTC 2014


commit fb0ffbecae5c102230ee6b789dcc02c11b862689
Author: Georg Koppen <gk at torproject.org>
Date:   Wed Oct 8 21:35:50 2014 +0000

    Bug 13359: Revert LD_LIBRARY_PATH + move libstdc++.
    
    Amending the LD_LIBRARY_PATH in our start script breaks the update from
    a Tor Browser with the older value to a Tor Browser requiring the new
    one. We therefore move the libstdc++ to the directory with the libraries
    tor depends upon and LD_LIBRARY_PATH used to point to and change the
    LD_LIBRARY_PATH value back to the old one.
---
 RelativeLink/RelativeLink.sh                |    2 +-
 gitian/descriptors/linux/gitian-firefox.yml |    2 --
 gitian/descriptors/linux/gitian-tor.yml     |   16 ++++++++++++++++
 3 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/RelativeLink/RelativeLink.sh b/RelativeLink/RelativeLink.sh
index 88f9f8e..e75482a 100755
--- a/RelativeLink/RelativeLink.sh
+++ b/RelativeLink/RelativeLink.sh
@@ -215,7 +215,7 @@ if [ $SYSARCHITECTURE -ne $TORARCHITECTURE ]; then
    exit 1
 fi
 
-LD_LIBRARY_PATH="${HOME}:${HOME}/TorBrowser/Tor/"
+LD_LIBRARY_PATH="${HOME}/TorBrowser/Tor/"
 export LD_LIBRARY_PATH
 
 function setControlPortPasswd() {
diff --git a/gitian/descriptors/linux/gitian-firefox.yml b/gitian/descriptors/linux/gitian-firefox.yml
index 27ba077..5f96b6e 100644
--- a/gitian/descriptors/linux/gitian-firefox.yml
+++ b/gitian/descriptors/linux/gitian-firefox.yml
@@ -155,8 +155,6 @@ script: |
     strip $LIB
     objcopy --add-gnu-debuglink=./Debug/$LIB $LIB
   done
-  # We need to copy the libstdc++.so.6 for older Linux distros.
-  cp $INSTDIR/gcc/lib$ARCH/libstdc++.so.6 Browser
   #
   ~/build/re-dzip.sh Browser/omni.ja
   ~/build/re-dzip.sh Browser/webapprt/omni.ja
diff --git a/gitian/descriptors/linux/gitian-tor.yml b/gitian/descriptors/linux/gitian-tor.yml
index aad9368..e678203 100644
--- a/gitian/descriptors/linux/gitian-tor.yml
+++ b/gitian/descriptors/linux/gitian-tor.yml
@@ -32,6 +32,8 @@ files:
 - "openssl-linux64-utils.zip"
 - "libevent-linux32-utils.zip"
 - "libevent-linux64-utils.zip"
+- "gcc-linux32-utils.zip"
+- "gcc-linux64-utils.zip"
 script: |
   INSTDIR="$HOME/install"
   source versions
@@ -53,9 +55,23 @@ script: |
   mkdir -p $INSTDIR/Debug/Tor/
   unzip -d $INSTDIR openssl-linux$GBUILD_BITS-utils.zip
   unzip -d $INSTDIR libevent-linux$GBUILD_BITS-utils.zip
+  unzip -d $INSTDIR gcc-linux$GBUILD_BITS-utils.zip
   cp $INSTDIR/openssl/lib/libssl.so.1.0.0 $INSTDIR/Tor/
   cp $INSTDIR/openssl/lib/libcrypto.so.1.0.0 $INSTDIR/Tor/
   cp $INSTDIR/libevent/lib/libevent-2.0.so.5 $INSTDIR/Tor/
+  # We need to copy the libstdc++.so.6 for Tor Browser on older Linux distros.
+  # Copying it into /Browser, which feels more natural, and amending
+  # LD_LIBRARY_PATH breaks updates from a Tor Browser with the old
+  # LD_LIBRARY_PATH value to the Tor Browser with the newer one. Thus, we copy
+  # the libstdc++ into the directory with the libs tor depends on, too. See bug
+  # 13359 for further details.
+  ARCH=""
+  if [ $GBUILD_BITS == "64" ];
+  then
+    ARCH="64"
+  fi
+  cp $INSTDIR/gcc/lib$ARCH/libstdc++.so.6 $INSTDIR/Tor/
+
   chmod 700 $INSTDIR/Tor/*so*
   # This is needed to make RPATH unavailable. See bug 9150.
   export LD_LIBRARY_PATH="$INSTDIR/Tor/"



More information about the tor-commits mailing list