From 9a7c08e0238ba0eebe9e3a7168c5c3446b090a0e Mon Sep 17 00:00:00 2001
From: Thomas Gambier <thomas.gambier@nexedi.com>
Date: Mon, 12 Oct 2020 14:33:47 +0200
Subject: [PATCH] Revert "gcc: make the ld wrapper add paths via -rpath if
 there's already an -rpath arg"

This reverts commit 3d12ddae1a09d06c413d1b32650097a8aa381e19.

The commit was instroducing errors in compilation or at runtime.

Compilation error were like (for cmake in Debian 8 machine):
[ 99%] Built target CTestLib
[100%] Built target ctest
Install the project...
bin/cmake: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by bin/cmake)
bin/cmake: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by bin/cmake)
Makefile:72: recipe for target 'install' failed
make: *** [install] Error 1
cmake: Command 'set -e;make  install' returned non-zero exit status 2
cmake: Compilation error. The package is left as is at /srv/slapgrid/slappart61/srv/runner/shared/cmake/9fc4b0e8f4f03ce17eb7ef43525d2238__compile__/cmake-3.7.2 where you can inspect what went wrong.

Runtime errors were like (for mariadb in Debian 9):
Traceback (most recent call last):
  File "/srv/slapgrid/slappart13/srv/testnode/dfg/soft/e2d325c0fcfb592bc760fe363ac5b17a/parts/slapos.core-repository/slapos/testing/testcase.py", line 168, in setUpModule
    installSoftwareUrlList(cls, [software_url], debug=debug)
  File "/srv/slapgrid/slappart13/srv/testnode/dfg/soft/e2d325c0fcfb592bc760fe363ac5b17a/parts/slapos.core-repository/slapos/testing/testcase.py", line 378, in installSoftwareUrlList
    checkSoftware(cls.slap, software_url)
  File "/srv/slapgrid/slappart13/srv/testnode/dfg/soft/e2d325c0fcfb592bc760fe363ac5b17a/parts/slapos.core-repository/slapos/testing/testcase.py", line 336, in checkSoftware
    raise RuntimeError('\n'.join(error_list))
RuntimeError: /srv/slapgrid/slappart13/srv/testnode/dfg/inst/test0-0/tmp/shared/mariadb/46cf3950f79675ddccafc1c99a13e734/bin/mysql_ldb has some not found libraries:
/srv/slapgrid/slappart13/srv/testnode/dfg/inst/test0-0/tmp/shared/mariadb/46cf3950f79675ddccafc1c99a13e734/bin/mysql_ldb: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by /srv/slapgrid/slappart13/srv/testnode/dfg/inst/test0-0/tmp/shared/mariadb/46cf3950f79675ddccafc1c99a13e734/bin/mysql_ldb)
/srv/slapgrid/slappart13/srv/testnode/dfg/inst/test0-0/tmp/shared/mariadb/46cf3950f79675ddccafc1c99a13e734/bin/sst_dump has some not found libraries:
/srv/slapgrid/slappart13/srv/testnode/dfg/inst/test0-0/tmp/shared/mariadb/46cf3950f79675ddccafc1c99a13e734/bin/sst_dump: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by /srv/slapgrid/slappart13/srv/testnode/dfg/inst/test0-0/tmp/shared/mariadb/46cf3950f79675ddccafc1c99a13e734/bin/sst_dump)
---
 component/gcc/buildout.cfg | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/component/gcc/buildout.cfg b/component/gcc/buildout.cfg
index d1236ec03..a52fed302 100644
--- a/component/gcc/buildout.cfg
+++ b/component/gcc/buildout.cfg
@@ -42,11 +42,13 @@ post-install =
   done
   cat <<EOF >ld
   #!/bin/sh -e
-  for x; do case \$x in -rpath=*)
-    set -- "\$@" $2
-    ! break
+  case \$#:\$1 in 0:|1:-*) ;; *)
+    if [ "\$LD_RUN_PATH" ]
+    then LD_RUN_PATH=\$LD_RUN_PATH$1
+    else set -- "\$@" $2
+    fi
     ;;
-  esac; done && export LD_RUN_PATH=\$${LD_RUN_PATH:+\$LD_RUN_PATH:}$${1#:}
+  esac
   exec ${binutils:location}/bin/ld "\$@"
   EOF
   chmod +x ld
-- 
2.30.9