commit fb0ffbecae5c102230ee6b789dcc02c11b862689
Author: Georg Koppen <gk(a)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/"