public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sergei Trofimovich" <slyfox@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/gcc-config:master commit in: /
Date: Fri,  6 Sep 2019 06:53:39 +0000 (UTC)	[thread overview]
Message-ID: <1567752790.4e5b7557ea50bc7e6b037e67ac222fb65766646d.slyfox@gentoo> (raw)

commit:     4e5b7557ea50bc7e6b037e67ac222fb65766646d
Author:     Arfrever Frehtes Taifersar Arahesis <Arfrever <AT> Apache <DOT> Org>
AuthorDate: Fri Sep  6 00:59:02 2019 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Fri Sep  6 06:53:10 2019 +0000
URL:        https://gitweb.gentoo.org/proj/gcc-config.git/commit/?id=4e5b7557

gcc-config: Use findmnt for mountpoint check when available.

Closes: https://bugs.gentoo.org/693588
Signed-off-by: Arfrever Frehtes Taifersar Arahesis <Arfrever <AT> Apache.Org>
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 gcc-config | 37 +++++++++++++++++++++++++++++++++----
 1 file changed, 33 insertions(+), 4 deletions(-)

diff --git a/gcc-config b/gcc-config
index 9e5abf8..169f8bc 100755
--- a/gcc-config
+++ b/gcc-config
@@ -145,6 +145,37 @@ is_cross_compiler() {
 	[[ ${CC_COMP/${CHOST}} == ${CC_COMP} ]]
 }
 
+is_same_mountpoint() {
+	local file1=$1 file2=$2
+
+	if type -P findmnt > /dev/null ; then
+		local file1_mountpoint=$(findmnt -n -o TARGET -T "${file1}")
+		local file2_mountpoint=$(findmnt -n -o TARGET -T "${file2}")
+
+		[[ ${file1_mountpoint} == ${file2_mountpoint} ]]
+		return
+	else
+		local file1_check_file file2_check_file result
+		if [[ -d ${file1} ]] ; then
+			file1_check_file=${file1}/.gcc.config.mountpoint_check_file1.$$
+		else
+			file1_check_file=${file1%/*}/.gcc.config.mountpoint_check_file1.$$
+		fi
+		if [[ -d ${file2} ]] ; then
+			file2_check_file=${file2}/.gcc.config.mountpoint_check_file2.$$
+		else
+			file2_check_file=${file2%/*}/.gcc.config.mountpoint_check_file2.$$
+		fi
+
+		rm -f "${file1_check_file}" "${file2_check_file}"
+		touch "${file1_check_file}"
+		ln "${file1_check_file}" "${file2_check_file}" 2> /dev/null
+		result=$?
+		rm -f "${file1_check_file}" "${file2_check_file}"
+		return ${result}
+	fi
+}
+
 # Usage: atomic_ln <source file> <destination dir> <destination file name>
 atomic_ln() {
 	local src=$1 dst=$2 dstfile=$3 tmp
@@ -277,13 +308,11 @@ handle_split_usr() {
 	# We use the same ordering logic as mentioned in the MY_LDPATH setup.
 	# We get the libs from the latest version available.
 	local LDPATH
-
 	eval $(grep -h '^LDPATH=' "${GCC_ENV_D}"/${CHOST}-* | tail -1)
 	LDPATH=${LDPATH%%:*}
 
-	# If /usr isn't a sep mount, then don't bother with linking stuff.
-	if ln "${ROOT}/${LDPATH}/libgcc.a" "${EROOT}"/lib/.gcc.config.$$ 2>/dev/null ; then
-		rm -f "${EROOT}"/lib/.gcc.config.$$
+	# If GCC directory is not in separate mountpoint than /lib, then do not bother with copying libraries to /lib.
+	if is_same_mountpoint "${EROOT}/lib" "${ROOT}/${LDPATH}" ; then
 		local lib old_libs=0 saved_nullglob=$(shopt -p nullglob)
 		shopt -s nullglob
 		for lib in "${EROOT}"/lib*/libgcc_s{.so*,*dylib} "${EROOT}"/lib*/libunwind.so.7* ; do


             reply	other threads:[~2019-09-06  6:53 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-06  6:53 Sergei Trofimovich [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-12-08  3:26 [gentoo-commits] proj/gcc-config:master commit in: / Sam James
2024-12-08  3:19 Sam James
2024-12-08  3:18 Sam James
2023-05-31  5:55 Sam James
2023-05-31  5:54 Sam James
2023-05-14 17:25 Sam James
2023-04-30  2:59 Sam James
2023-01-05  0:16 Sam James
2022-12-28 19:12 Sam James
2022-12-28 19:12 Sam James
2022-12-28 19:12 Sam James
2022-10-10 14:09 Sam James
2022-10-09 20:55 Sam James
2022-10-08 22:02 Sam James
2022-09-29 22:36 Sam James
2022-09-29 22:36 Sam James
2022-09-22 23:46 Sam James
2021-11-13  4:49 Sam James
2021-11-13  4:49 Sam James
2021-02-26  9:36 Sergei Trofimovich
2021-02-26  9:36 Sergei Trofimovich
2021-02-26  9:36 Sergei Trofimovich
2021-02-26  9:36 Sergei Trofimovich
2021-02-26  8:40 Sergei Trofimovich
2021-01-23 17:51 Sergei Trofimovich
2020-09-05 18:11 Sergei Trofimovich
2020-06-24 20:47 Sergei Trofimovich
2020-06-21 11:53 Sergei Trofimovich
2020-06-21 11:50 Sergei Trofimovich
2020-05-23  7:28 Sergei Trofimovich
2020-05-22 13:23 Sergei Trofimovich
2020-05-22 13:20 Sergei Trofimovich
2020-05-22 11:33 Sergei Trofimovich
2020-05-22 10:39 Sergei Trofimovich
2020-05-22 10:03 Sergei Trofimovich
2020-05-22  9:40 Sergei Trofimovich
2020-04-10 10:08 Sergei Trofimovich
2020-01-26 13:44 Sergei Trofimovich
2020-01-26 13:26 Sergei Trofimovich
2019-09-08  8:37 Sergei Trofimovich
2019-09-08  8:29 Sergei Trofimovich
2019-09-07 22:08 Sergei Trofimovich
2019-09-07  9:39 Sergei Trofimovich
2019-09-07  9:39 Sergei Trofimovich
2019-09-07  9:15 Sergei Trofimovich
2019-09-07  9:01 Sergei Trofimovich
2019-09-07  8:47 Sergei Trofimovich
2019-09-07  8:22 Sergei Trofimovich
2019-09-06  7:29 Sergei Trofimovich
2019-09-06  7:23 Sergei Trofimovich
2019-09-06  6:53 Sergei Trofimovich
2019-09-05 22:35 Sergei Trofimovich
2019-09-05  7:24 Sergei Trofimovich
2019-09-05  6:47 Sergei Trofimovich
2019-09-05  6:42 Sergei Trofimovich
2019-09-05  6:28 Sergei Trofimovich
2019-09-04 19:00 Sergei Trofimovich
2019-09-04 19:00 Sergei Trofimovich
2018-08-24 16:40 Sergei Trofimovich
2018-08-24  8:50 Sergei Trofimovich
2018-08-24  0:23 Sergei Trofimovich
2018-08-13 22:39 Sergei Trofimovich
2018-08-13 21:55 Sergei Trofimovich
2017-12-16 21:11 Andreas Hüttel
2017-12-16 20:15 Andreas Hüttel
2017-12-15  8:33 Fabian Groffen
2015-08-05  8:12 Mike Frysinger
2015-08-05  7:52 Mike Frysinger
2015-05-13  4:26 Ryan Hill
2013-05-22 23:54 Mike Frysinger
2013-01-12 17:20 Mike Frysinger
2013-01-12 17:17 Mike Frysinger
2013-01-12 17:14 Mike Frysinger
2013-01-12 17:05 Mike Frysinger
2013-01-02 18:30 Mike Frysinger
2013-01-02  3:52 Mike Frysinger
2012-12-29 21:08 Mike Frysinger
2012-11-19  6:52 Mike Frysinger
2012-11-19  1:11 Mike Frysinger
2012-11-19  1:11 Mike Frysinger
2012-06-10  4:00 Mike Frysinger
2012-06-10  4:00 Mike Frysinger
2012-04-14  1:22 Mike Frysinger
2012-04-14  1:22 Mike Frysinger
2012-04-14  1:22 Mike Frysinger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1567752790.4e5b7557ea50bc7e6b037e67ac222fb65766646d.slyfox@gentoo \
    --to=slyfox@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox