This is the mail archive of the glibc-bugs@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug admin/832] New: ldd contains a bashism


This patch makes ldd work with any shell.

Ash doesn't continue after a set -o blah. The used method correctly identifies
bash 3 and higher.

Patch is tested with bash, zsh, ash and pdksh.

--- ldd.orig    2005-03-29 12:35:17.820676992 +0200
+++ ldd 2005-03-29 12:34:36.324985296 +0200
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /bin/sh
 # Copyright (C) 1996-2001, 2002, 2003, 2004 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
@@ -116,10 +116,12 @@
 fi
 
 # The following use of cat is needed to make ldd work in SELinux
-# environments where the executed program might not have permissions
-# to write to the console/tty.  But only bash 3.x supports the pipefail
-# option, and we don't bother to handle the case for older bash versions.
-if set -o pipefail 2> /dev/null; then
+# environments where the executed program might not have
+# permissions to write to the console/tty. But only bash 3.x
+# supports the pipefail option, and we don't bother to handle the
+# case for older bash versions.
+if [ "${BASH_VERSION%%.*}" -ge 3 ]; then
+  set -o pipefail
   try_trace() {
     eval $add_env '"$@"' | cat
   }

-- 
           Summary: ldd contains a bashism
           Product: glibc
           Version: 2.3.4
            Status: NEW
          Severity: normal
          Priority: P2
         Component: admin
        AssignedTo: roland at gnu dot org
        ReportedBy: han at mijncomputer dot nl
                CC: glibc-bugs at sources dot redhat dot com


http://sources.redhat.com/bugzilla/show_bug.cgi?id=832

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]