This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch bugfix/osx
in repository x2goclient.

commit ed0bac51a74ba235200b84bd14f4440b8f9fc57f
Author: Mihai Moldovan <io...@ionic.de>
Date:   Wed Sep 30 23:44:30 2015 +0200

    macbuild.sh: rewrite ID line detection algorithm.
    
    Modules don't seem to be needing one, so skipping the first dependency
    line incidentally skips a "real" dependency for modules.
---
 debian/changelog |    3 +++
 macbuild.sh      |   17 ++++++++++++-----
 2 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 7ed7a23..7a30aca 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -160,6 +160,9 @@ x2goclient (4.0.5.3-0x2go1) UNRELEASED; urgency=medium
     - macbuild.sh: fix removal of base prefix in deduplication if base prefix
       ends in a slash.
     - macbuild.sh: copy "special" files, so that they can be removed later on.
+    - macbuild.sh: rewrite ID line detection algorithm. Modules don't seem to
+      be needing one, so skipping the first dependency line incidentally skips
+      a "real" dependency for modules.
 
  -- X2Go Release Manager <git-ad...@x2go.org>  Mon, 19 Sep 2016 09:07:07 +0200
 
diff --git a/macbuild.sh b/macbuild.sh
index 9bba392..c95955e 100755
--- a/macbuild.sh
+++ b/macbuild.sh
@@ -119,19 +119,26 @@ parse_otool_output() {
   typeset oldifs="${IFS}"
   IFS=''
 
-  # Used for skipping the first matching entry - which should typically be the 
ID line...
-  # That's a very naïve way to do this. Maybe there should be a bit more magic
-  # to catch this more reliably.
-  typeset -i first="1"
+  # Used for skipping the ID entry.
+  # Initialized to the empty string, but the first matching line will set it 
once.
+  # The ID filename is required for subsequent dependency discovery.
+  typeset id=""
 
   typeset line=""
   while read -r line; do
     if [[ "${line}" =~ ${tmp_regex} ]]; then
-      if [ "${first}" -ne "1" ]; then
+      typeset file="${BASH_REMATCH[1]}"
+
+      if [ -z "${id}" ]; then
+        echo "ID unset, something is wrong" >&2
+        return 1
+      elif [ "$(basename "${file}")" != "${id}" ]; then
         echo "${BASH_REMATCH[1]}"
       else
         first="0"
       fi
+    elif [ -z "${id}" ]; then
+      id="$(basename "${line%":"}")"
     fi
   done <<< "${raw_output}"
 

--
Alioth's /srv/git/code.x2go.org/x2goclient.git//..//_hooks_/post-receive-email 
on /srv/git/code.x2go.org/x2goclient.git
_______________________________________________
x2go-commits mailing list
x2go-commits@lists.x2go.org
http://lists.x2go.org/listinfo/x2go-commits

Reply via email to