[tor-commits] [tor-browser-bundle/master] Create separate debuginfo files for our Linux build.

mikeperry at torproject.org mikeperry at torproject.org
Tue Sep 17 20:38:51 UTC 2013


commit 4330efe4dab4be54cc5db528d2c1cba5e6e0f567
Author: Mike Perry <mikeperry-git at torproject.org>
Date:   Tue Sep 17 13:31:56 2013 -0700

    Create separate debuginfo files for our Linux build.
---
 gitian/descriptors/linux/gitian-firefox.yml |   16 ++++++++++--
 gitian/descriptors/linux/gitian-tor.yml     |   36 ++++++++++++++++++++++-----
 gitian/mkbundle-linux.sh                    |    2 ++
 3 files changed, 46 insertions(+), 8 deletions(-)

diff --git a/gitian/descriptors/linux/gitian-firefox.yml b/gitian/descriptors/linux/gitian-firefox.yml
index f45d71e..013e972 100644
--- a/gitian/descriptors/linux/gitian-firefox.yml
+++ b/gitian/descriptors/linux/gitian-firefox.yml
@@ -54,6 +54,7 @@ script: |
   export PATH=$PATH:$INSTDIR/build/bin
   #
   mkdir -p $INSTDIR/App/Firefox/
+  mkdir -p $INSTDIR/Debug/App/Firefox/
   #
   cd tor-browser
   grep -v '^pref(\"torbrowser.version\",' browser/app/profile/000-tor-browser.js > browser/app/profile/000-tor-browser.js.fixed
@@ -68,9 +69,7 @@ script: |
   make -f client.mk configure
   find -type f | xargs touch --date="$REFERENCE_DATETIME"
   #
-  # The build sometimes randomly fails (faketime issues?) Just restart it until success
   make $MAKEOPTS -f client.mk build
-  #
   make -C obj-* package INNER_MAKE_PACKAGE=true
   cp -a obj-*/dist/firefox/* $INSTDIR/App/Firefox/
   # TODO: There goes FIPS-140.. We could upload these somewhere unique and
@@ -79,10 +78,23 @@ script: |
   rm -f $INSTDIR/App/Firefox/*.chk
   #
   cd $INSTDIR
+  # Strip and generate debuginfo for libs
+  objcopy --only-keep-debug $INSTDIR/App/Firefox/firefox $INSTDIR/Debug/App/Firefox/firefox
+  strip $INSTDIR/App/Firefox/firefox
+  objcopy --add-gnu-debuglink=./Debug/App/Firefox/firefox $INSTDIR/App/Firefox/firefox
+  for i in $INSTDIR/App/Firefox/*.so
+  do
+    LIB=`basename $i`
+    objcopy --only-keep-debug $INSTDIR/App/Firefox/$LIB $INSTDIR/Debug/App/Firefox/$LIB
+    strip $INSTDIR/App/Firefox/$LIB
+    objcopy --add-gnu-debuglink=./Debug/App/Firefox/$LIB $INSTDIR/App/Firefox/$LIB
+  done
   ~/build/re-dzip.sh App/Firefox/omni.ja
   ~/build/re-dzip.sh App/Firefox/webapprt/omni.ja
   ~/build/dzip.sh tor-browser-linux$GBUILD_BITS-gbuilt.zip App/
+  ~/build/dzip.sh tor-browser-linux$GBUILD_BITS-debug.zip Debug/
   cp tor-browser-linux$GBUILD_BITS-gbuilt.zip $OUTDIR/
+  cp tor-browser-linux$GBUILD_BITS-debug.zip $OUTDIR/
   #
   # XXX: Output the exact dpkgs we used to a txt file. Should this be
   # part of gitian?
diff --git a/gitian/descriptors/linux/gitian-tor.yml b/gitian/descriptors/linux/gitian-tor.yml
index d8f4460..f431222 100644
--- a/gitian/descriptors/linux/gitian-tor.yml
+++ b/gitian/descriptors/linux/gitian-tor.yml
@@ -43,6 +43,8 @@ script: |
   export DEB_BUILD_HARDENING_PIE=1
   #
   mkdir -p $INSTDIR/App
+  mkdir -p $INSTDIR/Debug/Lib/libz
+  mkdir -p $INSTDIR/Debug/App
   mkdir -p $INSTDIR/Data/Tor/
   mkdir -p $INSTDIR/Lib/libz/
   #
@@ -51,7 +53,7 @@ script: |
   ./configure --prefix=$INSTDIR/zlib
   make $MAKEOPTS SHARED_MODE=1
   make $MAKEOPTS SHARED_MODE=1 install
-  cp $INSTDIR/zlib/lib/libz*so* $INSTDIR/Lib/libz/
+  cp $INSTDIR/zlib/lib/libz.so.1 $INSTDIR/Lib/libz/
   cd ..
   #
   cd libevent
@@ -60,7 +62,7 @@ script: |
   ./configure --disable-static --prefix=$INSTDIR/libevent
   make $MAKEOPTS
   make install
-  cp $INSTDIR/libevent/lib/lib*so* $INSTDIR/Lib/
+  cp $INSTDIR/libevent/lib/libevent-2.0.so.5 $INSTDIR/Lib/
   cd ..
   #
   tar xzf openssl.tar.gz
@@ -70,9 +72,13 @@ script: |
   ./config -shared --prefix=$INSTDIR/openssl
   make
   make install
-  cp $INSTDIR/openssl/lib/lib*so* $INSTDIR/Lib/
+  cp $INSTDIR/openssl/lib/libssl.so.1.0.0 $INSTDIR/Lib/
+  cp $INSTDIR/openssl/lib/libcrypto.so.1.0.0 $INSTDIR/Lib/
   cd ..
   #
+  chmod 700 $INSTDIR/Lib/*so*
+  chmod 700 $INSTDIR/Lib/libz/*so*
+  #
   cd tor
   mkdir -p $OUTDIR/src
   #git archive HEAD | tar -x -C $OUTDIR/src
@@ -81,10 +87,28 @@ script: |
   ./configure --disable-asciidoc --with-libevent-dir=$INSTDIR/libevent --with-openssl-dir=$INSTDIR/openssl --prefix=$INSTDIR --with-zlib-dir=$INSTDIR/zlib/
   make $MAKEOPTS
   make install
-  cd ..
-  install -s $INSTDIR/bin/tor $INSTDIR/App/
   cp $INSTDIR/share/tor/geoip $INSTDIR/Data/Tor/
-  #
+  # Strip and generate debuginfo for libs
   cd $INSTDIR
+  objcopy --only-keep-debug $INSTDIR/bin/tor $INSTDIR/Debug/App/tor
+  install -s $INSTDIR/bin/tor $INSTDIR/App/
+  objcopy --add-gnu-debuglink=./Debug/App/tor $INSTDIR/App/tor
+  for i in $INSTDIR/Lib/*so*
+  do
+    LIB=`basename $i`
+    objcopy --only-keep-debug $INSTDIR/Lib/$LIB $INSTDIR/Debug/Lib/$LIB
+    strip $INSTDIR/Lib/$LIB
+    objcopy --add-gnu-debuglink=./Debug/Lib/$LIB $INSTDIR/Lib/$LIB
+  done
+  for i in $INSTDIR/Lib/libz/*so*
+  do
+    LIB=`basename $i`
+    objcopy --only-keep-debug $INSTDIR/Lib/libz/$LIB $INSTDIR/Debug/Lib/libz/$LIB
+    strip $INSTDIR/Lib/libz/$LIB
+    objcopy --add-gnu-debuglink=./Debug/Lib/libz/$LIB $INSTDIR/Lib/libz/$LIB
+  done
+  #
   ~/build/dzip.sh tor-linux$GBUILD_BITS-gbuilt.zip Data/ App/ Lib/
+  ~/build/dzip.sh tor-linux$GBUILD_BITS-debug.zip Debug/
   cp tor-linux$GBUILD_BITS-gbuilt.zip $OUTDIR/
+  cp tor-linux$GBUILD_BITS-debug.zip $OUTDIR/
diff --git a/gitian/mkbundle-linux.sh b/gitian/mkbundle-linux.sh
index be2eacf..2f4d526 100755
--- a/gitian/mkbundle-linux.sh
+++ b/gitian/mkbundle-linux.sh
@@ -76,6 +76,7 @@ then
   fi
   
   cp -a build/out/tor-linux*-gbuilt.zip $GITIAN_DIR/inputs/
+  cp -a build/out/tor-linux*-debug.zip $GITIAN_DIR/inputs/
   #cp -a result/tor-linux-res.yml $GITIAN_DIR/inputs/
 else
   echo 
@@ -99,6 +100,7 @@ then
   fi
 
   cp -a build/out/tor-browser-linux*-gbuilt.zip $GITIAN_DIR/inputs/
+  cp -a build/out/tor-browser-linux*-debug.zip $GITIAN_DIR/inputs/
   #cp -a result/torbrowser-linux-res.yml $GITIAN_DIR/inputs/
 else
   echo 



More information about the tor-commits mailing list