Your message dated Tue, 15 Jan 2019 16:50:59 +0000
with message-id <e1gjrvx-000d5c...@fasolo.debian.org>
and subject line Bug#918588: fixed in libtool 2.4.6-8
has caused the Debian Bug report #918588,
regarding libtool: generated libtool script is broken, affecting build on AIX
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
918588: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=918588
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: libtool
Version: 2.4.6-6
Severity: serious

There's a major quoting issue in a recent change of libtool.
This makes the MPFR build fail on AIX:

$ make
Making all in doc
Target "all" is up to date.
Making all in src
        make  all-am
        /bin/sh ../libtool  --tag=CC    --mode=compile 
/tmp/mpfrtests-vinc17-11403832/mpfr-4.0.2-rc1/compile gcc -DMPFR_WANT_ASSERT=2 
-DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DLT_OBJDIR=\".libs/\" 
-DHAVE_DOUBLE_IEEE_BIG_ENDIAN=1 -DHAVE_BIG_ENDIAN=1 -DTIME_WITH_SYS_TIME=1 
-DHAVE_LOCALE_H=1 -DHAVE_WCHAR_H=1 -DHAVE_STDARG=1 -DHAVE_SYS_TIME_H=1 
-DHAVE_STRUCT_LCONV_DECIMAL_POINT=1 -DHAVE_STRUCT_LCONV_THOUSANDS_SEP=1 
-DHAVE_ALLOCA_H=1 -DHAVE_VA_COPY=1 -DHAVE_SETLOCALE=1 -DHAVE_GETTIMEOFDAY=1 
-DHAVE_SIGNAL=1 -DHAVE_SIGACTION=1 -DHAVE_LONG_LONG=1 -DHAVE_INTMAX_T=1 
-DMPFR_HAVE_INTMAX_MAX=1 -DMPFR_PRINTF_MAXLM=\"j\" -DMPFR_HAVE_NORETURN=1 
-DMPFR_HAVE_BUILTIN_UNREACHABLE=1 -DMPFR_HAVE_CONSTRUCTOR_ATTR=1 
-DHAVE_PTHREAD_PRIO_INHERIT=1 -DHAVE_PTHREAD=1 -DMPFR_HAVE_FESETROUND=1 
-DHAVE_DENORMS=1 -DHAVE_DENORMS_FLT=1 -DHAVE_SIGNEDZ=1 -DHAVE_ROUND=1 
-DHAVE_TRUNC=1 -DHAVE_FLOOR=1 -DHAVE_CEIL=1 -DHAVE_NEARBYINT=1 
-DHAVE_LDOUBLE_IS_DOUBLE=1 -DMPFR_USE_STATIC_ASSERT=1 -DHAVE_CLOCK_GETTIME=1 
-DHAVE_ATTRIBUTE_MODE=1 -DPRINTF_L=1 -DPRINTF_T=1 -DPRINTF_GROUPFLAG=1 
-DHAVE___GMPN_SBPI1_DIVAPPR_Q=1 -DHAVE___GMPN_INVERT_LIMB=1 
-DMPFR_LONG_WITHIN_LIMB=1 -DHAVE_GETRUSAGE=1  -I. -I../../mpfr-4.0.2-rc1/src   
-I/opt/cfarm/gmp-latest/include   -Wall -Wmissing-prototypes -Wpointer-arith 
-O2 -pedantic -maix64 -mpowerpc64 -mtune=power8 -MT exceptions.lo -MD -MP -MF 
.deps/exceptions.Tpo -c -o exceptions.lo ../../mpfr-4.0.2-rc1/src/exceptions.c
libtool: compile:  /tmp/mpfrtests-vinc17-11403832/mpfr-4.0.2-rc1/compile gcc 
-DMPFR_WANT_ASSERT=2 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 "" 
-DHAVE_DOUBLE_IEEE_BIG_ENDIAN=1 -DHAVE_BIG_ENDIAN=1 -DTIME_WITH_SYS_TIME=1 
-DHAVE_LOCALE_H=1 -DHAVE_WCHAR_H=1 -DHAVE_STDARG=1 -DHAVE_SYS_TIME_H=1 
-DHAVE_STRUCT_LCONV_DECIMAL_POINT=1 -DHAVE_STRUCT_LCONV_THOUSANDS_SEP=1 
-DHAVE_ALLOCA_H=1 -DHAVE_VA_COPY=1 -DHAVE_SETLOCALE=1 -DHAVE_GETTIMEOFDAY=1 
-DHAVE_SIGNAL=1 -DHAVE_SIGACTION=1 -DHAVE_LONG_LONG=1 -DHAVE_INTMAX_T=1 
-DMPFR_HAVE_INTMAX_MAX=1 "" -DMPFR_HAVE_NORETURN=1 
-DMPFR_HAVE_BUILTIN_UNREACHABLE=1 -DMPFR_HAVE_CONSTRUCTOR_ATTR=1 
-DHAVE_PTHREAD_PRIO_INHERIT=1 -DHAVE_PTHREAD=1 -DMPFR_HAVE_FESETROUND=1 
-DHAVE_DENORMS=1 -DHAVE_DENORMS_FLT=1 -DHAVE_SIGNEDZ=1 -DHAVE_ROUND=1 
-DHAVE_TRUNC=1 -DHAVE_FLOOR=1 -DHAVE_CEIL=1 -DHAVE_NEARBYINT=1 
-DHAVE_LDOUBLE_IS_DOUBLE=1 -DMPFR_USE_STATIC_ASSERT=1 -DHAVE_CLOCK_GETTIME=1 
-DHAVE_ATTRIBUTE_MODE=1 -DPRINTF_L=1 -DPRINTF_T=1 -DPRINTF_GROUPFLAG=1 
-DHAVE___GMPN_SBPI1_DIVAPPR_Q=1 -DHAVE___GMPN_INVERT_LIMB=1 
-DMPFR_LONG_WITHIN_LIMB=1 -DHAVE_GETRUSAGE=1 -I. -I../../mpfr-4.0.2-rc1/src 
-I/opt/cfarm/gmp-latest/include -Wall -Wmissing-prototypes -Wpointer-arith -O2 
-pedantic -maix64 -mpowerpc64 -mtune=power8 -MT exceptions.lo -MD -MP -MF 
.deps/exceptions.Tpo -c ../../mpfr-4.0.2-rc1/src/exceptions.c  -fPIC -DPIC -o 
.libs/exceptions.o
gcc: error: : No such file or directory
gcc: error: : No such file or directory

See, the -DLT_OBJDIR=\".libs/\" and -DMPFR_PRINTF_MAXLM=\"j\" have
been transformed to "".

When I do a diff on the libtool script between a working version
(based on 2.4.6-2) and a buggy version (based on 2.4.6-6), I can
see a new function func_quote. This might be related. I've attached
the diff.

In the changelog, I can see:

libtool (2.4.6-6) unstable; urgency=medium

  * Undo broken patch inclusion. Closes: #910076
  * Disable refactor patch 0012-funclib-refactor-quoting-methods-a-bit.patch
    that breaks pkgs  on AIX (no bash optimization). Closes: #900276
  * Add build-dep on libltdl-dev for test 102

but apparently that wasn't enough.

-- System Information:
Debian Release: buster/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'stable-updates'), (500, 
'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.18.0-3-amd64 (SMP w/12 CPU cores)
Locale: LANG=POSIX, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=POSIX 
(charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages libtool depends on:
ii  autotools-dev           20180224.1
ii  clang-3.6 [c-compiler]  1:3.6.2-3
ii  clang-3.7 [c-compiler]  1:3.7.1-3+b2
ii  clang-3.8 [c-compiler]  1:3.8.1-27
ii  clang-3.9 [c-compiler]  1:3.9.1-19+b1
ii  clang-4.0 [c-compiler]  1:4.0.1-10+b1
ii  clang-6.0 [c-compiler]  1:6.0.1-9.2
ii  clang-7 [c-compiler]    1:7.0.1-4
ii  clang-8 [c-compiler]    1:8~svn346586-1~exp1
ii  cpp                     4:8.2.0-2
ii  file                    1:5.34-2
ii  gcc                     4:8.2.0-2
ii  gcc-4.8 [c-compiler]    4.8.5-4
ii  gcc-4.9 [c-compiler]    4.9.4-2
ii  gcc-5 [c-compiler]      5.5.0-12
ii  gcc-6 [c-compiler]      6.5.0-2
ii  gcc-7 [c-compiler]      7.4.0-2
ii  gcc-8 [c-compiler]      8.2.0-13
ii  libc6-dev [libc-dev]    2.28-4
ii  tcc [c-compiler]        0.9.27-8

Versions of packages libtool recommends:
ii  libltdl-dev  2.4.6-6

Versions of packages libtool suggests:
ii  autoconf                         2.69-11+local2
ii  automake [automaken]             1:1.16.1-4
pn  gcj-jdk                          <none>
ii  gfortran                         4:8.2.0-2
ii  gfortran-8 [fortran95-compiler]  8.2.0-13
ii  libtool-doc                      2.4.6-6

-- no debconf information
--- libtool1    2019-01-07 17:31:33.000000000 +0100
+++ libtool2    2019-01-07 16:53:45.000000000 +0100
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Generated automatically by config.status (mpfr) 4.0.1
+# Generated automatically by config.status (mpfr) 4.0.2-rc1
 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
 
 # Provide generalized library-building support services.
@@ -164,7 +164,7 @@
 lock_old_archive_extraction=no
 
 # A C compiler.
-LTCC="/tmp/mpfrtests-vinc17-8978798/mpfr-4.0.1/compile gcc"
+LTCC="/tmp/mpfrtests-vinc17-11403832/mpfr-4.0.2-rc1/compile gcc"
 
 # LTCC compiler flags.
 LTCFLAGS="-Wall -Wmissing-prototypes -Wpointer-arith -O2 -pedantic -maix64 
-mpowerpc64 -mtune=power8"
@@ -317,7 +317,7 @@
 old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$tool_oldlib"
 
 # A language specific compiler.
-CC="/tmp/mpfrtests-vinc17-8978798/mpfr-4.0.1/compile gcc"
+CC="/tmp/mpfrtests-vinc17-11403832/mpfr-4.0.2-rc1/compile gcc"
 
 # Is the compiler the GNU compiler?
 with_gcc=yes
@@ -528,7 +528,7 @@
 
 PROGRAM=libtool
 PACKAGE=libtool
-VERSION="2.4.6 Debian-2.4.6-2+local1"
+VERSION="2.4.6 Debian-2.4.6-6+local1"
 package_revision=2.4.6
 
 
@@ -561,7 +561,7 @@
 # libraries, which are installed to $pkgauxdir.
 
 # Set a version string for this script.
-scriptversion=2015-01-20.17; # UTC
+scriptversion=2015-10-04.22; # UTC
 
 # General shell script boiler plate, and helper functions.
 # Written by Gary V. Vaughan, 2004
@@ -1588,6 +1588,57 @@
 }
 
 
+# func_quote ARG
+# --------------
+# Aesthetically quote one ARG, store the result into $func_quote_result.  Note
+# that we keep attention to performance here (so far O(N) complexity as long as
+# func_append is O(1)).
+func_quote ()
+{
+    $debug_cmd
+
+    func_quote_result=$1
+
+    case $func_quote_result in
+      *[\\\`\"\$]*)
+        case $func_quote_result in
+          *[\[\*\?]*)
+            func_quote_result=`$ECHO "$func_quote_result" | $SED 
"$sed_quote_subst"`
+            return 0
+            ;;
+        esac
+
+        func_quote_old_IFS=$IFS
+        for _G_char in '\' '`' '"' '$'
+        do
+          # STATE($1) PREV($2) SEPARATOR($3)
+          set start "" ""
+          func_quote_result=dummy"$_G_char$func_quote_result$_G_char"dummy
+          IFS=$_G_char
+          for _G_part in $func_quote_result
+          do
+            case $1 in
+            quote)
+              func_append func_quote_result "$3$2"
+              set quote "$_G_part" "\\$_G_char"
+              ;;
+            start)
+              set first "" ""
+              func_quote_result=
+              ;;
+            first)
+              set quote "$_G_part" ""
+              ;;
+            esac
+          done
+          IFS=$func_quote_old_IFS
+        done
+        ;;
+      *) ;;
+    esac
+}
+
+
 # func_quote_for_eval ARG...
 # --------------------------
 # Aesthetically quote ARGs to be evaled later.
@@ -1604,12 +1655,8 @@
     func_quote_for_eval_unquoted_result=
     func_quote_for_eval_result=
     while test 0 -lt $#; do
-      case $1 in
-        *[\\\`\"\$]*)
-         _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;;
-        *)
-          _G_unquoted_arg=$1 ;;
-      esac
+      func_quote "$1"
+      _G_unquoted_arg=$func_quote_result
       if test -n "$func_quote_for_eval_unquoted_result"; then
        func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg"
       else
@@ -1867,7 +1914,7 @@
 #! /bin/sh
 
 # Set a version string for this script.
-scriptversion=2014-01-07.03; # UTC
+scriptversion=2015-10-07.11; # UTC
 
 # A portable, pluggable option parser for Bourne shell.
 # Written by Gary V. Vaughan, 2010
@@ -2027,6 +2074,8 @@
 {
     $debug_cmd
 
+    _G_rc_run_hooks=false
+
     case " $hookable_fns " in
       *" $1 "*) ;;
       *) func_fatal_error "'$1' does not support hook funcions.n" ;;
@@ -2035,16 +2084,16 @@
     eval _G_hook_fns=\$$1_hooks; shift
 
     for _G_hook in $_G_hook_fns; do
-      eval $_G_hook '"$@"'
-
-      # store returned options list back into positional
-      # parameters for next 'cmd' execution.
-      eval _G_hook_result=\$${_G_hook}_result
-      eval set dummy "$_G_hook_result"; shift
+      if eval $_G_hook '"$@"'; then
+        # store returned options list back into positional
+        # parameters for next 'cmd' execution.
+        eval _G_hook_result=\$${_G_hook}_result
+        eval set dummy "$_G_hook_result"; shift
+        _G_rc_run_hooks=:
+      fi
     done
 
-    func_quote_for_eval ${1+"$@"}
-    func_run_hooks_result=$func_quote_for_eval_result
+    $_G_rc_run_hooks && func_run_hooks_result=$_G_hook_result
 }
 
 
@@ -2054,10 +2103,16 @@
 ## --------------- ##
 
 # In order to add your own option parsing hooks, you must accept the
-# full positional parameter list in your hook function, remove any
-# options that you action, and then pass back the remaining unprocessed
+# full positional parameter list in your hook function, you may remove/edit
+# any options that you action, and then pass back the remaining unprocessed
 # options in '<hooked_function_name>_result', escaped suitably for
-# 'eval'.  Like this:
+# 'eval'.  In this case you also must return $EXIT_SUCCESS to let the
+# hook's caller know that it should pay attention to
+# '<hooked_function_name>_result'.  Returning $EXIT_FAILURE signalizes that
+# arguments are left untouched by the hook and therefore caller will ignore the
+# result variable.
+#
+# Like this:
 #
 #    my_options_prep ()
 #    {
@@ -2067,9 +2122,11 @@
 #        usage_message=$usage_message'
 #      -s, --silent       don'\''t print informational messages
 #    '
-#
-#        func_quote_for_eval ${1+"$@"}
-#        my_options_prep_result=$func_quote_for_eval_result
+#        # No change in '$@' (ignored completely by this hook).  There is
+#        # no need to do the equivalent (but slower) action:
+#        # func_quote_for_eval ${1+"$@"}
+#        # my_options_prep_result=$func_quote_for_eval_result
+#        false
 #    }
 #    func_add_hook func_options_prep my_options_prep
 #
@@ -2078,25 +2135,37 @@
 #    {
 #        $debug_cmd
 #
+#        args_changed=false
+#
 #        # Note that for efficiency, we parse as many options as we can
 #        # recognise in a loop before passing the remainder back to the
 #        # caller on the first unrecognised argument we encounter.
 #        while test $# -gt 0; do
 #          opt=$1; shift
 #          case $opt in
-#            --silent|-s) opt_silent=: ;;
+#            --silent|-s) opt_silent=:
+#                         args_changed=:
+#                         ;;
 #            # Separate non-argument short options:
 #            -s*)         func_split_short_opt "$_G_opt"
 #                         set dummy "$func_split_short_opt_name" \
 #                             "-$func_split_short_opt_arg" ${1+"$@"}
 #                         shift
+#                         args_changed=:
 #                         ;;
-#            *)            set dummy "$_G_opt" "$*"; shift; break ;;
+#            *)           # Make sure the first unrecognised option "$_G_opt"
+#                         # is added back to "$@", we could need that later
+#                         # if $args_changed is true.
+#                         set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
 #          esac
 #        done
 #
-#        func_quote_for_eval ${1+"$@"}
-#        my_silent_option_result=$func_quote_for_eval_result
+#        if $args_changed; then
+#          func_quote_for_eval ${1+"$@"}
+#          my_silent_option_result=$func_quote_for_eval_result
+#        fi
+#
+#        $args_changed
 #    }
 #    func_add_hook func_parse_options my_silent_option
 #
@@ -2108,16 +2177,32 @@
 #        $opt_silent && $opt_verbose && func_fatal_help "\
 #    '--silent' and '--verbose' options are mutually exclusive."
 #
-#        func_quote_for_eval ${1+"$@"}
-#        my_option_validation_result=$func_quote_for_eval_result
+#        false
 #    }
 #    func_add_hook func_validate_options my_option_validation
 #
-# You'll alse need to manually amend $usage_message to reflect the extra
+# You'll also need to manually amend $usage_message to reflect the extra
 # options you parse.  It's preferable to append if you can, so that
 # multiple option parsing hooks can be added safely.
 
 
+# func_options_finish [ARG]...
+# ----------------------------
+# Finishing the option parse loop (call 'func_options' hooks ATM).
+func_options_finish ()
+{
+    $debug_cmd
+
+    _G_func_options_finish_exit=false
+    if func_run_hooks func_options ${1+"$@"}; then
+      func_options_finish_result=$func_run_hooks_result
+      _G_func_options_finish_exit=:
+    fi
+
+    $_G_func_options_finish_exit
+}
+
+
 # func_options [ARG]...
 # ---------------------
 # All the functions called inside func_options are hookable. See the
@@ -2127,17 +2212,28 @@
 {
     $debug_cmd
 
-    func_options_prep ${1+"$@"}
-    eval func_parse_options \
-        ${func_options_prep_result+"$func_options_prep_result"}
-    eval func_validate_options \
-        ${func_parse_options_result+"$func_parse_options_result"}
+    _G_rc_options=false
+
+    for my_func in options_prep parse_options validate_options options_finish
+    do
+      if eval func_$my_func '${1+"$@"}'; then
+        eval _G_res_var='$'"func_${my_func}_result"
+        eval set dummy "$_G_res_var" ; shift
+        _G_rc_options=:
+      fi
+    done
 
-    eval func_run_hooks func_options \
-        ${func_validate_options_result+"$func_validate_options_result"}
+    # Save modified positional parameters for caller.  As a top-level
+    # options-parser function we always need to set the 'func_options_result'
+    # variable (regardless the $_G_rc_options value).
+    if $_G_rc_options; then
+      func_options_result=$_G_res_var
+    else
+      func_quote_for_eval ${1+"$@"}
+      func_options_result=$func_quote_for_eval_result
+    fi
 
-    # save modified positional parameters for caller
-    func_options_result=$func_run_hooks_result
+    $_G_rc_options
 }
 
 
@@ -2146,9 +2242,9 @@
 # All initialisations required before starting the option parse loop.
 # Note that when calling hook functions, we pass through the list of
 # positional parameters.  If a hook function modifies that list, and
-# needs to propogate that back to rest of this script, then the complete
+# needs to propagate that back to rest of this script, then the complete
 # modified list must be put in 'func_run_hooks_result' before
-# returning.
+# returning $EXIT_SUCCESS (otherwise $EXIT_FAILURE is returned).
 func_hookable func_options_prep
 func_options_prep ()
 {
@@ -2158,10 +2254,14 @@
     opt_verbose=false
     opt_warning_types=
 
-    func_run_hooks func_options_prep ${1+"$@"}
+    _G_rc_options_prep=false
+    if func_run_hooks func_options_prep ${1+"$@"}; then
+      _G_rc_options_prep=:
+      # save modified positional parameters for caller
+      func_options_prep_result=$func_run_hooks_result
+    fi
 
-    # save modified positional parameters for caller
-    func_options_prep_result=$func_run_hooks_result
+    $_G_rc_options_prep
 }
 
 
@@ -2175,18 +2275,20 @@
 
     func_parse_options_result=
 
+    _G_rc_parse_options=false
     # this just eases exit handling
     while test $# -gt 0; do
       # Defer to hook functions for initial option parsing, so they
       # get priority in the event of reusing an option name.
-      func_run_hooks func_parse_options ${1+"$@"}
-
-      # Adjust func_parse_options positional parameters to match
-      eval set dummy "$func_run_hooks_result"; shift
+      if func_run_hooks func_parse_options ${1+"$@"}; then
+        eval set dummy "$func_run_hooks_result"; shift
+        _G_rc_parse_options=:
+      fi
 
       # Break out of the loop if we already parsed every option.
       test $# -gt 0 || break
 
+      _G_match_parse_options=:
       _G_opt=$1
       shift
       case $_G_opt in
@@ -2201,7 +2303,10 @@
                      ;;
 
         --warnings|--warning|-W)
-                      test $# = 0 && func_missing_arg $_G_opt && break
+                      if test $# = 0 && func_missing_arg $_G_opt; then
+                        _G_rc_parse_options=:
+                        break
+                      fi
                       case " $warning_categories $1" in
                         *" $1 "*)
                           # trailing space prevents matching last $1 above
@@ -2254,15 +2359,25 @@
                       shift
                       ;;
 
-        --)           break ;;
+        --)           _G_rc_parse_options=: ; break ;;
         -*)           func_fatal_help "unrecognised option: '$_G_opt'" ;;
-        *)            set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
+        *)            set dummy "$_G_opt" ${1+"$@"}; shift
+                      _G_match_parse_options=false
+                      break
+                      ;;
       esac
+
+      $_G_match_parse_options && _G_rc_parse_options=:
     done
 
-    # save modified positional parameters for caller
-    func_quote_for_eval ${1+"$@"}
-    func_parse_options_result=$func_quote_for_eval_result
+
+    if $_G_rc_parse_options; then
+      # save modified positional parameters for caller
+      func_quote_for_eval ${1+"$@"}
+      func_parse_options_result=$func_quote_for_eval_result
+    fi
+
+    $_G_rc_parse_options
 }
 
 
@@ -2275,16 +2390,21 @@
 {
     $debug_cmd
 
+    _G_rc_validate_options=false
+
     # Display all warnings if -W was not given.
     test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
 
-    func_run_hooks func_validate_options ${1+"$@"}
+    if func_run_hooks func_validate_options ${1+"$@"}; then
+      # save modified positional parameters for caller
+      func_validate_options_result=$func_run_hooks_result
+      _G_rc_validate_options=:
+    fi
 
     # Bail if the options were screwed!
     $exit_cmd $EXIT_FAILURE
 
-    # save modified positional parameters for caller
-    func_validate_options_result=$func_run_hooks_result
+    $_G_rc_validate_options
 }
 
 
@@ -2565,7 +2685,7 @@
        compiler:       $LTCC
        compiler flags: $LTCFLAGS
        linker:         $LD (gnu? $with_gnu_ld)
-       version:        $progname $scriptversion Debian-2.4.6-2+local1
+       version:        $progname $scriptversion Debian-2.4.6-6+local1
        automake:       `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
        autoconf:       `($AUTOCONF --version) 2>/dev/null |$SED 1q`
 
@@ -2767,6 +2887,8 @@
     nonopt=
     preserve_args=
 
+    _G_rc_lt_options_prep=:
+
     # Shorthand for --mode=foo, only valid as the first argument
     case $1 in
     clean|clea|cle|cl)
@@ -2790,11 +2912,18 @@
     uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
       shift; set dummy --mode uninstall ${1+"$@"}; shift
       ;;
+    *)
+      _G_rc_lt_options_prep=false
+      ;;
     esac
 
-    # Pass back the list of options.
-    func_quote_for_eval ${1+"$@"}
-    libtool_options_prep_result=$func_quote_for_eval_result
+    if $_G_rc_lt_options_prep; then
+      # Pass back the list of options.
+      func_quote_for_eval ${1+"$@"}
+      libtool_options_prep_result=$func_quote_for_eval_result
+    fi
+
+    $_G_rc_lt_options_prep
 }
 func_add_hook func_options_prep libtool_options_prep
 
@@ -2806,9 +2935,12 @@
 {
     $debug_cmd
 
+    _G_rc_lt_parse_options=false
+
     # Perform our own loop to consume as many options as possible in
     # each iteration.
     while test $# -gt 0; do
+      _G_match_lt_parse_options=:
       _G_opt=$1
       shift
       case $_G_opt in
@@ -2883,15 +3015,22 @@
                         func_append preserve_args " $_G_opt"
                         ;;
 
-       # An option not handled by this hook function:
-        *)             set dummy "$_G_opt" ${1+"$@"};  shift; break  ;;
+        # An option not handled by this hook function:
+        *)              set dummy "$_G_opt" ${1+"$@"} ; shift
+                        _G_match_lt_parse_options=false
+                        break
+                        ;;
       esac
+      $_G_match_lt_parse_options && _G_rc_lt_parse_options=:
     done
 
+    if $_G_rc_lt_parse_options; then
+      # save modified positional parameters for caller
+      func_quote_for_eval ${1+"$@"}
+      libtool_parse_options_result=$func_quote_for_eval_result
+    fi
 
-    # save modified positional parameters for caller
-    func_quote_for_eval ${1+"$@"}
-    libtool_parse_options_result=$func_quote_for_eval_result
+    $_G_rc_lt_parse_options
 }
 func_add_hook func_parse_options libtool_parse_options
 
@@ -5755,7 +5894,8 @@
   if test \"\$libtool_execute_magic\" != \"$magic\"; then
     file=\"\$0\""
 
-    qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
+    func_quote "$ECHO"
+    qECHO=$func_quote_result
     $ECHO "\
 
 # A function that is used when there is no print builtin or printf.
@@ -11012,8 +11152,8 @@
            relink_command="$var=$func_quote_for_eval_result; export $var; 
$relink_command"
          fi
        done
-       relink_command="(cd `pwd`; $relink_command)"
-       relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
+       func_quote "(cd `pwd`; $relink_command)"
+       relink_command=$func_quote_result
       fi
 
       # Only actually do things if not in dry run mode.
@@ -11259,7 +11399,8 @@
       done
       # Quote the link command for shipping.
       relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args 
--mode=relink $libtool_args @inst_prefix_dir@)"
-      relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
+      func_quote "$relink_command"
+      relink_command=$func_quote_result
       if test yes = "$hardcode_automatic"; then
        relink_command=
       fi

--- End Message ---
--- Begin Message ---
Source: libtool
Source-Version: 2.4.6-8

We believe that the bug you reported is fixed in the latest version of
libtool, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 918...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Alastair McKinstry <mckins...@debian.org> (supplier of updated libtool package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Tue, 15 Jan 2019 13:42:46 +0000
Source: libtool
Binary: libtool libtool-bin libtool-doc libltdl7 libltdl-dev
Architecture: source amd64 all
Version: 2.4.6-8
Distribution: unstable
Urgency: medium
Maintainer: Alastair McKinstry <mckins...@debian.org>
Changed-By: Alastair McKinstry <mckins...@debian.org>
Description:
 libltdl-dev - System independent dlopen wrapper for GNU libtool
 libltdl7   - System independent dlopen wrapper for GNU libtool
 libtool    - Generic library support script
 libtool-bin - Generic library support script (libtool binary)
 libtool-doc - Generic library support script
Closes: 918588 919341
Changes:
 libtool (2.4.6-8) unstable; urgency=medium
 .
   * Fix Typos in sed expressions in d/rules. Closes: #919341
   * Close bug fixed in previous release. Closes: #918588
Checksums-Sha1:
 f96b48f56caf66250db55725360dfe03e73b171e 2479 libtool_2.4.6-8.dsc
 42aefb476baff9ba2816bbff4d8ac709a66e0722 48384 libtool_2.4.6-8.debian.tar.xz
 3ec42758329ccaa75e89ad5dba7b84555db41064 161960 libltdl-dev_2.4.6-8_amd64.deb
 7436b9c3cef2acfa9601f7fe217542a46f1f2012 46820 
libltdl7-dbgsym_2.4.6-8_amd64.deb
 32a89c9878e58948a317f6951ee764b9e0a95466 389928 libltdl7_2.4.6-8_amd64.deb
 e3737e4e8bf9c60700f0c34ea37626d02f0d4912 431308 libtool-bin_2.4.6-8_amd64.deb
 f8f1a55c77e48aafccd43fb17c219425b348beef 582288 libtool-doc_2.4.6-8_all.deb
 fa54656deca22eb74f1b2484167f725d30533bf6 546744 libtool_2.4.6-8_all.deb
 62d3af3127fb81409c72f7cf8c3259332015ed82 7138 libtool_2.4.6-8_amd64.buildinfo
Checksums-Sha256:
 a11bd465bcb30ae0f743d5de06aaba5ad79b3193fe2670fe5c274a4989abe43b 2479 
libtool_2.4.6-8.dsc
 614e8ccbee01ce5ae71899a9afb40804d4d0108cd6cdc88e4aa2a1804c16b3a3 48384 
libtool_2.4.6-8.debian.tar.xz
 39630977b51769822466a91b193fc06231a2537e95c7963deb53da5f84aa84e6 161960 
libltdl-dev_2.4.6-8_amd64.deb
 354d8543e49581364268def03faa77db6e88249d4c200ea64f1b9ede28a2c65c 46820 
libltdl7-dbgsym_2.4.6-8_amd64.deb
 97b933cb8cdf8f2753620d024e4b7b5da749f407d3918dc0f342c52f59aa73d9 389928 
libltdl7_2.4.6-8_amd64.deb
 dde170d093acb64bbe62c763ea89ab59ebcee7a2e8b48c5f25bd93b8784adc4a 431308 
libtool-bin_2.4.6-8_amd64.deb
 550ffdd1ca0526f7d1c08feb8e46088760a5988a64ab17e1c5945ce57a420201 582288 
libtool-doc_2.4.6-8_all.deb
 60b5e9ec2a6e295746a5ecde3d017e1c995d82a64ae88f856e11b23aa9144e11 546744 
libtool_2.4.6-8_all.deb
 58a0dca62054ecc8d5383b1a64ec3b16ea5c236a70293c700b5dba5dec1b7a79 7138 
libtool_2.4.6-8_amd64.buildinfo
Files:
 db1be04531ac7c2ac4276d40ec91774b 2479 devel optional libtool_2.4.6-8.dsc
 d07273af89b576e2949e4550b6d1e4c8 48384 devel optional 
libtool_2.4.6-8.debian.tar.xz
 2af1f21727172ac3c6c9122df81d1c76 161960 libdevel optional 
libltdl-dev_2.4.6-8_amd64.deb
 c29104d3ca218e60ec8c640fd93c01fa 46820 debug optional 
libltdl7-dbgsym_2.4.6-8_amd64.deb
 a50af13602451a5c22df68fecab9f677 389928 libs optional 
libltdl7_2.4.6-8_amd64.deb
 442f9c0cab33f00e36cfa8cc7e1767ae 431308 devel optional 
libtool-bin_2.4.6-8_amd64.deb
 1dc20c7296ab645314fbbd0cd46f7d4f 582288 doc optional 
libtool-doc_2.4.6-8_all.deb
 7ee7f53d1afdcc8c85f524e42e7aea76 546744 devel optional libtool_2.4.6-8_all.deb
 ad11e504d9d95826bdf7da6298eb252d 7138 devel optional 
libtool_2.4.6-8_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEgjg86RZbNHx4cIGiy+a7Tl2a06UFAlw+CcMACgkQy+a7Tl2a
06UuEg/8C4/GaIfdWqW2tzYv788isQGAsITYIGv8a4sMOJaq0J0UWL9B5nuKMwfL
PnKjdYFBYJhUy8MvdNO3TFfCY7WemnW9+lFJL3zET2ycP+H5rh1ADxXy9hmPdlfR
gqSgwWrVWjrWXYw+nA1HTdxojvpIN9KIcweVrGB9UOWVLeg37HxJiGKjHDxzjmX5
QvbURm9jcWmJFnMpw9Kx4rVqxIcZrgyiSNUyAPMzvmnpVO8UBHkwUWX4QK5y2JWh
ikPntzNHeMqGdpUj24tLhd6B+nwWQbcAQWL3hbu8R2v0W+bzjRGIm8nfAzy8PiA+
yNYFnYrUZvMzgT7L4fkKiuo4MQsjFG/aYej5aXOIxRFKWRRJ8UcgeAyhD3cM3/I/
qU6iNzWliGjqBqfJ3MC015pxmGxKnxVJUpXHMh+Bu6YV4kOxCh4UXGczjxhUie2A
+aNZm/FP3ef7sQpEFmmA1PsMrLxg/CIOD8kEc1MyOvOAWJdoi0Ww7r/+bdyEznIX
wsP1RioQ2Mbc3Zv4LiEEOQwSJVzP+ktbQKJMWsNhoR1uPmVoKxEPj8rcJapLLrAD
lkPFc+aBXUBF7jlE4RyNz5S7iO7EcpGRHKxvMCrEuzarX5qiJ2OpHMEFpluRinFR
lTWZjqn28bmLLKiLhAtwo5LE+4w+MzLW3wm5UaZUK06OxCBwt4Q=
=cqTl
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to