changed debian/source/format to native

This commit is contained in:
openKylinBot 2022-05-14 01:23:42 +08:00
parent b197c602e1
commit a3189b9140
28 changed files with 1 additions and 1774 deletions

View File

@ -1,33 +0,0 @@
From: Pavel Raiskup <praiskup@redhat.com>
Date: Fri, 18 Sep 2015 10:36:43 +0200
Subject: [PATCH 01/20] libtool: fix GCC linking with -specs=*
References:
https://bugzilla.redhat.com/show_bug.cgi?id=985592
* build-aux/ltmain.in (func_mode_link): Pass -specs=*
to the linker, Fedora uses this option for hardening.
Signed-off-by: Pavel Raiskup <praiskup@redhat.com>
---
build-aux/ltmain.in | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index d5cf07a..0c40da0 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -5360,10 +5360,12 @@ func_mode_link ()
# -tp=* Portland pgcc target processor selection
# --sysroot=* for sysroot support
# -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+ # -specs=* GCC specs files
# -stdlib=* select c++ std lib with clang
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
- -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*)
+ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
+ -specs=*)
func_quote_for_eval "$arg"
arg=$func_quote_for_eval_result
func_append compile_command " $arg"

View File

@ -1,111 +0,0 @@
From: Pavel Raiskup <praiskup@redhat.com>
Date: Fri, 18 Sep 2015 23:17:07 +0200
Subject: [PATCH 03/20] libtoolize: fix infinite recursion in m4
Some projects use this construct in configure.ac:
m4_define([version], m4_include([version]))
pkg_version=version
When the m4_include builtin is undefined (as was done in
libtoolize and extract-trace scripts), the call to this 'version'
macro enters an infinite recursion (until ENOMEM). So rather
re-define all potentially dangerous macros by empty strings,
suggested by Eric Blake.
While we are on it, merge the macro-"blacklist" with similar list
implemented in gettext, except for 'm4_esyscmd'. It's kept
defined because we already trace AC_INIT macro for package
version, while it is often specified by
m4_esyscmd(git-version-gen). Similarly to m4_include, m4_esyscmd
might be opt-in-blacklisted in future.
References:
http://lists.gnu.org/archive/html/libtool/2015-09/msg00000.html
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=764580
* gl/build-aux/extract-trace (_G_mini): Redefine trace-breaking
macros to empty strings rather than undefining those. Use 'dnl'
for comments.
* bootstrap: Likewise, sync with extract-trace.
* NEWS: Document.
* NO-THANKS: Mention Hiroyuki Sato.
Signed-off-by: Pavel Raiskup <praiskup@redhat.com>
---
bootstrap | 42 +++++++++++++++++++++++++++---------------
1 file changed, 27 insertions(+), 15 deletions(-)
diff --git a/bootstrap b/bootstrap
index 4596413..17fb169 100755
--- a/bootstrap
+++ b/bootstrap
@@ -2472,29 +2472,41 @@ func_extract_trace ()
# arguments to Autocof functions, but without following
# 'm4_s?include' files.
_G_mini='
- # Initialisation.
+ dnl Initialisation.
m4_changequote([,])
m4_define([m4_copy], [m4_define([$2], m4_defn([$1]))])
m4_define([m4_rename], [m4_copy([$1], [$2])m4_undefine([$1])])
- # Disable these macros.
- m4_undefine([m4_dnl])
- m4_undefine([m4_include])
- m4_undefine([m4_m4exit])
- m4_undefine([m4_m4wrap])
- m4_undefine([m4_maketemp])
+ dnl Replace macros which may abort m4 with a no-op variant.
+ m4_pushdef([m4_assert])
+ m4_pushdef([m4_exit])
+ m4_pushdef([m4_fatal])
+ m4_pushdef([m4_m4exit])
- # Copy and rename macros not handled by "m4 --prefix".
+ dnl Replace macros that might break stderr of m4.
+ m4_pushdef([m4_errprint])
+ m4_pushdef([m4_errprintn])
+ m4_pushdef([m4_include])
+ m4_pushdef([m4_warn])
+
+ dnl Avoid side-effects of tracing by extract-trace.
+ m4_pushdef([m4_maketemp])
+ m4_pushdef([m4_mkstemp])
+
+ dnl TODO: reasons for this
+ m4_pushdef([m4_dnl])
+ m4_pushdef([m4_m4wrap])
+
+ dnl Copy and rename macros not handled by "m4 --prefix".
m4_define([dnl], [m4_builtin([dnl])])
m4_copy([m4_define], [m4_defun])
m4_rename([m4_ifelse], [m4_if])
- m4_ifdef([m4_mkstemp], [m4_undefine([m4_mkstemp])])
m4_rename([m4_patsubst], [m4_bpatsubst])
m4_rename([m4_regexp], [m4_bregexp])
- # "m4sugar.mini" - useful m4-time macros for dynamic arguments.
- # If we discover packages that need more m4 macros defined in
- # order to bootstrap correctly, add them here:
+ dnl "m4sugar.mini" - useful m4-time macros for dynamic arguments.
+ dnl If we discover packages that need more m4 macros defined in
+ dnl order to bootstrap correctly, add them here:
m4_define([m4_bmatch],
[m4_if([$#], 0, [], [$#], 1, [], [$#], 2, [$2],
[m4_if(m4_bregexp([$1], [$2]), -1,
@@ -2505,11 +2517,11 @@ func_extract_trace ()
m4_define([m4_require], [$1])
m4_define([m4_shift3], [m4_shift(m4shift(m4shift($@)))])
- # "autoconf.mini" - things from autoconf macros we care about.
+ dnl "autoconf.mini" - things from autoconf macros we care about.
m4_copy([m4_defun], [AC_DEFUN])
- # Dummy definitions for the macros we want to trace.
- # AM_INIT_AUTOMAKE at least produces no trace without this.
+ dnl Dummy definitions for the macros we want to trace.
+ dnl AM_INIT_AUTOMAKE at least produces no trace without this.
'
_G_save=$IFS

View File

@ -1,751 +0,0 @@
From: Pavel Raiskup <praiskup@redhat.com>
Date: Mon, 5 Oct 2015 13:16:08 +0200
Subject: [PATCH] libtool: optimizing options-parser hooks
Its not necessary to (re)func_quote_for_eval in each function in
the hook hierarchy. Usually it is enough if the leaf function
does func_quote_for_eval and its caller just re-uses the
<CALLEE>_return variable.
This is follow up for the previous commit.
* gl/build-aux/options-parser (func_run_hooks): Propagate
$EXIT_SUCCESS return code down to caller if *any* hook succeeded.
Never re-quote the result -- either the arguments are left
untouched, or the options have already been properly quoted by
succeeding hooks.
(func_parse_options): Quote '$@' and return $EXIT_SUCCESS only if
we changed something.
(func_validate_options): Likewise.
(func_options_prep): Likewise.
(func_options_finish): New hook-caller for 'func_options' hooks.
(func_options): Propagate return value down to top-level caller,
but pay attention we have always set $func_options_result.
* build-aux/ltmain.in (libtool_options_prep): Quote '$@' and
return $EXIT_SUCCESS only if we changed something.
(libtool_parse_options): Likewise.
* bootstrap: Sync gl/build-aux/with option-parser.
---
bootstrap | 171 +++++++++++++++++++++++++++++++++--------------
build-aux/ltmain.in | 35 +++++++---
build-aux/options-parser | 171 +++++++++++++++++++++++++++++++++--------------
3 files changed, 271 insertions(+), 106 deletions(-)
diff --git a/bootstrap b/bootstrap
index 17fb169..da84fe1 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1536,7 +1536,7 @@ func_lt_ver ()
#! /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
@@ -1696,6 +1696,8 @@ func_run_hooks ()
{
$debug_cmd
+ _G_rc_run_hooks=false
+
case " $hookable_fns " in
*" $1 "*) ;;
*) func_fatal_error "'$1' does not support hook funcions.n" ;;
@@ -1704,16 +1706,16 @@ func_run_hooks ()
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
}
@@ -1723,10 +1725,16 @@ func_run_hooks ()
## --------------- ##
# 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 ()
# {
@@ -1736,9 +1744,11 @@ func_run_hooks ()
# 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
#
@@ -1747,25 +1757,37 @@ func_run_hooks ()
# {
# $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
#
@@ -1777,16 +1799,32 @@ func_run_hooks ()
# $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
@@ -1796,17 +1834,28 @@ func_options ()
{
$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
- eval func_run_hooks func_options \
- ${func_validate_options_result+"$func_validate_options_result"}
+ 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
- # save modified positional parameters for caller
- func_options_result=$func_run_hooks_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
+
+ $_G_rc_options
}
@@ -1815,9 +1864,9 @@ func_options ()
# 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 ()
{
@@ -1827,10 +1876,14 @@ func_options_prep ()
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
}
@@ -1844,18 +1897,20 @@ func_parse_options ()
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
@@ -1870,7 +1925,10 @@ func_parse_options ()
;;
--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
@@ -1923,15 +1981,25 @@ func_parse_options ()
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
}
@@ -1944,16 +2012,21 @@ func_validate_options ()
{
$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
}
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index 0c40da0..ebc3a0e 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -358,6 +358,8 @@ libtool_options_prep ()
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)
@@ -381,11 +383,18 @@ libtool_options_prep ()
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
@@ -397,9 +406,12 @@ libtool_parse_options ()
{
$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
@@ -474,15 +486,22 @@ libtool_parse_options ()
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
diff --git a/build-aux/options-parser b/build-aux/options-parser
index d651f1d..4c7e9cb 100644
--- a/build-aux/options-parser
+++ b/build-aux/options-parser
@@ -1,7 +1,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
@@ -161,6 +161,8 @@ func_run_hooks ()
{
$debug_cmd
+ _G_rc_run_hooks=false
+
case " $hookable_fns " in
*" $1 "*) ;;
*) func_fatal_error "'$1' does not support hook funcions.n" ;;
@@ -169,16 +171,16 @@ func_run_hooks ()
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
}
@@ -188,10 +190,16 @@ func_run_hooks ()
## --------------- ##
# 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 ()
# {
@@ -201,9 +209,11 @@ func_run_hooks ()
# 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
#
@@ -212,25 +222,37 @@ func_run_hooks ()
# {
# $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
#
@@ -242,16 +264,32 @@ func_run_hooks ()
# $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
@@ -261,17 +299,28 @@ func_options ()
{
$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
- eval func_run_hooks func_options \
- ${func_validate_options_result+"$func_validate_options_result"}
+ 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
- # save modified positional parameters for caller
- func_options_result=$func_run_hooks_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
+
+ $_G_rc_options
}
@@ -280,9 +329,9 @@ func_options ()
# 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 ()
{
@@ -292,10 +341,14 @@ func_options_prep ()
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
}
@@ -309,18 +362,20 @@ func_parse_options ()
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
@@ -335,7 +390,10 @@ func_parse_options ()
;;
--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
@@ -388,15 +446,25 @@ func_parse_options ()
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
}
@@ -409,16 +477,21 @@ func_validate_options ()
{
$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
}

View File

@ -1,67 +0,0 @@
From: Pavel Raiskup <praiskup@redhat.com>
Date: Sat, 31 Oct 2015 15:49:01 +0100
Subject: [PATCH 15/20] syntax-check: fix sed syntax errors
Multi-line single-quoted shell arguments defined within makefile
rules end up having the trailing backslash. This caused problem
in some sc_* rules as GNU sed does not interpret trailing
backslash the same way as SHELL (== appending next line).
Switching to double quotes means that SHELL will remove the
trailing backslash for subsequent sed call. This silences a lot
of GNU sed warnings seen before like:
sed: -e expression #1, char 96: unterminated address regex
* cfg.mk (sc_libtool_m4_cc_basename): Use $(SED) instead of sed,
use double quotes for sed's multi-line argument.
(sc_prohibit_set_dummy_without_shift): Likewise.
(sc_prohibit_test_const_follows_var): Likewise.
---
cfg.mk | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/cfg.mk b/cfg.mk
index bdf4dd8..2249fd3 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -70,9 +70,9 @@ local-checks-to-skip = \
# Check for correct usage of $cc_basename in libtool.m4.
sc_libtool_m4_cc_basename:
- @sed -n '/case \$$cc_basename in/,/esac/ { \
+ @$(SED) -n "/case \\\$$cc_basename in/,/esac/ { \
/^[ ]*[a-zA-Z][a-zA-Z0-9+]*[^*][ ]*)/p; \
- }' '$(srcdir)/$(macro_dir)/libtool.m4' | grep . && { \
+ }" '$(srcdir)/$(macro_dir)/libtool.m4' | grep . && { \
msg="\$$cc_basename matches should include a trailing '*'." \
$(_sc_say_and_exit) } || :
@@ -135,12 +135,12 @@ sc_prohibit_set_dummy_without_shift:
@files=$$($(VC_LIST_EXCEPT)); \
if test -n "$$files"; then \
grep -nE '(set dummy|shift)' $$files | \
- sed -n '/set[ ][ ]*dummy/{ \
+ $(SED) -n "/set[ ][ ]*dummy/{ \
/set.*dummy.*;.*shift/d; \
N; \
/\n.*shift/D; \
p; \
- }' | grep -n . && { \
+ }" | grep -n . && { \
msg="use 'shift' after 'set dummy'" \
$(_sc_say_and_exit) } || :; \
else :; \
@@ -208,11 +208,11 @@ sc_prohibit_test_const_follows_var:
exclude_file_name_regexp--sc_require_function_nl_brace = (^HACKING|\.[ch]|\.texi)$$
sc_require_function_nl_brace:
@for file in $$($(VC_LIST_EXCEPT)); do \
- sed -n '/^func_[^ ]*[ ]*(/{ \
+ $(SED) -n "/^func_[^ ]*[ ]*(/{ \
N; \
/^func_[^ ]* ()\n{$$/d; \
p; \
- }' $$file | grep -E . && { \
+ }" $$file | grep -E . && { \
msg="found malformed function_definition in $$file" \
$(_sc_say_and_exit) } || :; \
done

View File

@ -1,33 +0,0 @@
From: Jeremy Huddleston Sequoia <jeremyhu@macports.org>
Date: Sun, 18 Oct 2015 21:55:39 -0700
Subject: [PATCH 20/20] libtool: fix GCC/clang linking with -fsanitize=*
References:
https://lists.gnu.org/archive/html/libtool/2014-04/msg00026.html
* build-aux/ltmain.in (func_mode_link): Pass -fsanitize=* to the
linker to allow trivial use of the clang address sanitizer.
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@macports.org>
Copyright-paperwork-exempt: Yes
---
build-aux/ltmain.in | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index ebc3a0e..caf9a76 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -5381,10 +5381,11 @@ func_mode_link ()
# -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
# -specs=* GCC specs files
# -stdlib=* select c++ std lib with clang
+ # -fsanitize=* Clang/GCC memory and address sanitizer
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
-O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
- -specs=*)
+ -specs=*|-fsanitize=*)
func_quote_for_eval "$arg"
arg=$func_quote_for_eval_result
func_append compile_command " $arg"

View File

@ -1,34 +0,0 @@
From: Mike Frysinger <vapier@gentoo.org>
Date: Sat, 14 May 2022 01:23:42 +0800
Subject: libtool: pass through -fuse-ld flags
Starting with gcc-4.8, there's a -fuse-ld flag that can be used to
select between bfd & gold. Make sure we pass it through to the
linking stage.
Last-Updated: 2019-01-28
Origin: http://git.savannah.gnu.org/cgit/libtool.git/commit/?id=f9970d99293faf908fdc153a653fa5781095fb7a
Bug-Debian: https://bugs.debian.orf/920529
Forwarded: not-needed
* build-aux/ltmain.in (func_mode_link): Pass -fuse-ld=* flags
through.
---
build-aux/ltmain.in | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index 2c9b246..fa13107 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -5382,10 +5382,11 @@ func_mode_link ()
# -specs=* GCC specs files
# -stdlib=* select c++ std lib with clang
# -fsanitize=* Clang/GCC memory and address sanitizer
+ # -fuse-ld=* Linker select flags for GCC
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
-O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
- -specs=*|-fsanitize=*)
+ -specs=*|-fsanitize=*|-fuse-ld=*)
func_quote_for_eval "$arg"
arg=$func_quote_for_eval_result
func_append compile_command " $arg"

View File

@ -1,27 +0,0 @@
From: Alastair McKinstry <mckinstry@debian.org>
Date: Sat, 14 May 2022 01:23:42 +0800
Subject: Support for Flang Fortran compiler
Last-Updated: 2019-02-18
Forwarded: no
---
m4/libtool.m4 | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index c81e669..9d6dd9f 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -4704,6 +4704,12 @@ m4_if([$1], [CXX], [
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
;;
+ # flang / f18. f95 an alias for gfortran or flang on Debian
+ flang* | f18* | f95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
# icc used to be incompatible with GCC.
# ICC 10 doesn't accept -KPIC any more.
icc* | ifort*)

View File

@ -1,24 +0,0 @@
From: Alastair McKinstry <mckinstry@debian.org>
Date: Sat, 14 May 2022 01:23:42 +0800
Subject: Increment PREREQ needed for gnulib
Bug-Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=948511
Last-Updated: 2020-01-22
Forwarded: no
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 6c66f1e..b8bbbdd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -24,7 +24,7 @@
####
-AC_PREREQ(2.62)
+AC_PREREQ(2.63)
dnl Oldest automake required for bootstrap is below in AM_INIT_AUTOMAKE.

View File

@ -1,39 +0,0 @@
From: Alastair McKinstry <mckinstry@debian.org>
Date: Sat, 14 May 2022 01:23:42 +0800
Subject: minor removal of unsafe shell script
eval in these segements unnecessary
Bug-Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=866631
Last-Updated: 2020-01-22
Forwarded: no
---
build-aux/funclib.sh | 2 +-
build-aux/ltmain.sh | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/build-aux/funclib.sh b/build-aux/funclib.sh
index 39d972e..b4b1ba0 100644
--- a/build-aux/funclib.sh
+++ b/build-aux/funclib.sh
@@ -322,7 +322,7 @@ EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
# putting '$debug_cmd' at the start of all your functions, you can get
# bash to show function call trace with:
#
-# debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name
+# debug_cmd='echo "${FUNCNAME[0]} $*" >&2' bash your-script-name
debug_cmd=${debug_cmd-":"}
exit_cmd=:
diff --git a/build-aux/ltmain.sh b/build-aux/ltmain.sh
index 0f0a2da..12fb956 100644
--- a/build-aux/ltmain.sh
+++ b/build-aux/ltmain.sh
@@ -387,7 +387,7 @@ EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
# putting '$debug_cmd' at the start of all your functions, you can get
# bash to show function call trace with:
#
-# debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name
+# debug_cmd='echo "${FUNCNAME[0]} $*" >&2' bash your-script-name
debug_cmd=${debug_cmd-":"}
exit_cmd=:

View File

@ -1,30 +0,0 @@
From: Alastair McKinstry <mckinstry@debian.org>
Date: Sat, 14 May 2022 01:23:42 +0800
Subject: documentation inconsitent with libltdl3
Last-Updated: 2020-01-22
Forwarded: no
Bug-Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=253904
---
doc/libtool.texi | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/doc/libtool.texi b/doc/libtool.texi
index 0298627..52b2f48 100644
--- a/doc/libtool.texi
+++ b/doc/libtool.texi
@@ -3956,10 +3956,10 @@ portability you should try to ensure that you only pass
@option{-module} flag.}.
Unresolved symbols in the module are resolved using its dependency
-libraries and previously dlopened modules. If the executable using
-this module was linked with the @option{-export-dynamic} flag, then the
-global symbols in the executable will also be used to resolve
-references in the module.
+libraries and, on some platforms, previously dlopened modules. If
+the executable using this module was linked with the
+@option{-export-dynamic} flag, then the global symbols in the executable
+will also be used to resolve references in the module.
If @var{filename} is @code{NULL} and the program was linked with
@option{-export-dynamic} or @option{-dlopen self}, @code{lt_dlopen} will

View File

@ -1,27 +0,0 @@
From: Vincent Lefevre <vincent@vinc17.net>
Date: Sat, 14 May 2022 01:23:42 +0800
Subject: Pass more flags to the linker unchanged. Closes: #751161.
Last-Updated: 2019-05-03
---
build-aux/ltmain.in | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index fa13107..b0c8722 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -5383,10 +5383,12 @@ func_mode_link ()
# -stdlib=* select c++ std lib with clang
# -fsanitize=* Clang/GCC memory and address sanitizer
# -fuse-ld=* Linker select flags for GCC
+ # -static-* direct GCC to link specific libraries statically
+ # -fcilkplus Cilk Plus language extension features for C/C++
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
-O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
- -specs=*|-fsanitize=*|-fuse-ld=*)
+ -specs=*|-fsanitize=*|-fuse-ld=*|-static-*|-fcilkplus)
func_quote_for_eval "$arg"
arg=$func_quote_for_eval_result
func_append compile_command " $arg"

View File

@ -1,56 +0,0 @@
From: Alastair McKinstry <mckinstry@debian.org>
Date: Sat, 14 May 2022 01:23:42 +0800
Subject: Change default AR flags to 'cr' to silence warning
over default 'D' overriding 'u'
Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=864018
Last-Updated: 2020-02-04
Forwarded: no
---
m4/gnulib-common.m4 | 4 ++--
m4/libtool.m4 | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/m4/gnulib-common.m4 b/m4/gnulib-common.m4
index b301abe..40e82f6 100644
--- a/m4/gnulib-common.m4
+++ b/m4/gnulib-common.m4
@@ -278,12 +278,12 @@ Amsterdam
dnl but prefer ${host}-ar over ar (useful for cross-compiling).
AC_CHECK_TOOL([AR], [ar], [ar])
if test -z "$ARFLAGS"; then
- ARFLAGS='cru'
+ ARFLAGS='cr'
fi
fi
else
if test -z "$ARFLAGS"; then
- ARFLAGS='cru'
+ ARFLAGS='cr'
fi
fi
AC_SUBST([AR])
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index 9d6dd9f..a6d21ae 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -1041,8 +1041,8 @@ int forced_loaded() { return 2;}
_LT_EOF
echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
- echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
- $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
+ echo "$AR cr libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
+ $AR cr libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
$RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
cat > conftest.c << _LT_EOF
@@ -1492,7 +1492,7 @@ need_locks=$enable_libtool_lock
m4_defun([_LT_PROG_AR],
[AC_CHECK_TOOLS(AR, [ar], false)
: ${AR=ar}
-: ${AR_FLAGS=cru}
+: ${AR_FLAGS=cr}
_LT_DECL([], [AR], [1], [The archiver])
_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])

View File

@ -1,22 +0,0 @@
From: Alastair McKinstry <mckinstry@debian.org>
Date: Sat, 14 May 2022 01:23:42 +0800
Subject: bootstrap_options.conf
===================================================================
---
bootstrap.conf | 2 --
1 file changed, 2 deletions(-)
diff --git a/bootstrap.conf b/bootstrap.conf
index 793d368..131710f 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -70,8 +70,6 @@ gnulib_modules='
do-release-commit-and-tag
extract-trace
gendocs
- git-version-gen
- gitlog-to-changelog
gnu-web-doc-update
gnupload
inline-source

View File

@ -1,43 +0,0 @@
From: Alastair McKinstry <mckinstry@debian.org>
Date: Sat, 14 May 2022 01:23:41 +0800
Subject: deplib_binary
===================================================================
---
build-aux/ltmain.in | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index 98cb7ae..cd7e946 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -6000,19 +6000,19 @@ func_mode_link ()
# It is a libtool convenience library, so add in its objects.
func_append convenience " $ladir/$objdir/$old_library"
func_append old_convenience " $ladir/$objdir/$old_library"
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ deplibs="$deplib $deplibs"
+ if $opt_preserve_dup_deps; then
+ case "$tmp_libs " in
+ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+ esac
+ fi
+ func_append tmp_libs " $deplib"
+ done
elif test prog != "$linkmode" && test lib != "$linkmode"; then
func_fatal_error "'$lib' is not a convenience library"
fi
- tmp_libs=
- for deplib in $dependency_libs; do
- deplibs="$deplib $deplibs"
- if $opt_preserve_dup_deps; then
- case "$tmp_libs " in
- *" $deplib "*) func_append specialdeplibs " $deplib" ;;
- esac
- fi
- func_append tmp_libs " $deplib"
- done
continue
fi # $pass = conv

View File

@ -1,27 +0,0 @@
From: Alastair McKinstry <mckinstry@debian.org>
Date: Sat, 14 May 2022 01:23:42 +0800
Subject: deplibs-ident
===================================================================
---
tests/deplibs-ident.at | 7 -------
1 file changed, 7 deletions(-)
diff --git a/tests/deplibs-ident.at b/tests/deplibs-ident.at
index b59fb28..c47ef02 100644
--- a/tests/deplibs-ident.at
+++ b/tests/deplibs-ident.at
@@ -67,13 +67,6 @@ int main() { return a1() + a2() + a3() + c(); }
AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o b$EXEEXT b.$OBJEXT ../liba1.la ../liba2.la ../liba3.la ../../c/libcee.la -rpath /nowhere],
[0],[stdout],[ignore])
AT_CHECK([$EGREP 'cee.*cee' stdout], 1, [ignore], [ignore])
- AT_XFAIL_IF([dnl
- eval `$LIBTOOL --config | $EGREP '^hardcode_(direct|direct_absolute|action)='`
- case $hardcode_action,$hardcode_direct,$hardcode_direct_absolute in
- relink,yes,no) :;;
- *,no,*) :;;
- *) false;;
- esac])
dnl This is currently broken in libtool
)

View File

@ -1,28 +0,0 @@
From: Alastair McKinstry <mckinstry@debian.org>
Date: Sat, 14 May 2022 01:23:42 +0800
Subject: deplibs_test_disable
## This test is broken for several reasons:
## This test is broken for several reasons:
## - It's linking a shared lib against a static lib. This is not
## portable, and we even give a warning about this.
## - The shared lib is not using any symbols from the static lib.
## - The test program is linked against the shared lib and using
## symbols from the static lib.
---
tests/demo.at | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tests/demo.at b/tests/demo.at
index 28a2801..548a88b 100644
--- a/tests/demo.at
+++ b/tests/demo.at
@@ -436,6 +436,8 @@ AT_CLEANUP
AT_SETUP([deplibs_check_method])
+AT_CHECK([(exit 77)])
+
_LT_DEMO_SETUP
AT_DATA([demo.mk],

View File

@ -1,22 +0,0 @@
From: Alastair McKinstry <mckinstry@debian.org>
Date: Sat, 14 May 2022 01:23:42 +0800
Subject: disable-link-order2
===================================================================
---
tests/link-order2.at | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tests/link-order2.at b/tests/link-order2.at
index 7e48d76..c86cd75 100644
--- a/tests/link-order2.at
+++ b/tests/link-order2.at
@@ -47,6 +47,8 @@ AT_SETUP([Link order of deplibs])
AT_KEYWORDS([libtool])
AT_KEYWORDS([interactive])dnl running 'wrong' may cause a popup window.
+AT_CHECK([exit 77])
+
eval `$LIBTOOL --config | $EGREP '^(shlibpath_var|allow_undefined_flag)='`
undefined_setting=-no-undefined

View File

@ -1,70 +0,0 @@
From: Alastair McKinstry <mckinstry@debian.org>
Date: Sat, 14 May 2022 01:23:42 +0800
Subject: Add spaces before -L in Grep searches
Current searching for "-L" in link paths is over-greedy and incorrectly handles paths with -L in them
See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=896861 for example
Last-Updated: 2018-09-08
Forwarded: no
---
m4/libtool.m4 | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index ee80844..e67ed69 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -6438,7 +6438,7 @@ if test yes != "$_lt_caught_CXX_error"; then
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
else
GXX=no
@@ -6813,7 +6813,7 @@ if test yes != "$_lt_caught_CXX_error"; then
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
*)
if test yes = "$GXX"; then
@@ -6878,7 +6878,7 @@ if test yes != "$_lt_caught_CXX_error"; then
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
*)
if test yes = "$GXX"; then
@@ -7217,7 +7217,7 @@ if test yes != "$_lt_caught_CXX_error"; then
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
else
# FIXME: insert proper C++ library support
@@ -7301,7 +7301,7 @@ if test yes != "$_lt_caught_CXX_error"; then
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
else
# g++ 2.7 appears to require '-G' NOT '-shared' on this
# platform.
@@ -7312,7 +7312,7 @@ if test yes != "$_lt_caught_CXX_error"; then
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
- output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
fi
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'

View File

@ -1,33 +0,0 @@
From: Vincent Lefevre <vincent@vinc17.net>
Date: Sat, 14 May 2022 01:23:42 +0800
Subject: Avoid a broken AC_TRY_EVAL macro
As said in the Autoconf source, the AC_TRY_EVAL macro is dangerous and
undocumented, and should not be used.
In particular, the one related to nm yields binary data in the config.log
file with dash, where "echo \\1" (echo with the argument \1) produces the
control character ^A instead of the usual \1 with most shells (POSIX says
that the result is implementation-defined). See:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=910076
This patch attempts to replace this AC_TRY_EVAL occurrence by code with
similar behavior, but using $ECHO instead of echo in order to avoid the
backslash issue.
Last-Updated: 2018-10-02
---
m4/libtool.m4 | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index e67ed69..c81e669 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -4063,7 +4063,8 @@ _LT_EOF
if AC_TRY_EVAL(ac_compile); then
# Now try to grab the symbols.
nlist=conftest.nm
- if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
+ $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD
+ if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&AS_MESSAGE_LOG_FD && test -s "$nlist"; then
# Try sorting and uniquifying the output.
if sort "$nlist" | uniq > "$nlist"T; then
mv -f "$nlist"T "$nlist"

View File

@ -1,61 +0,0 @@
From: Alastair McKinstry <mckinstry@debian.org>
Date: Sat, 14 May 2022 01:23:41 +0800
Subject: link_all_deplibs
## Do not link against deplibs. This is not needed for shared libs
## on atleast ELF systems since those already know which libs they
## need themself. This seems to break a few things and will be fixed
## in a better way in a future upstream version.
---
build-aux/ltmain.in | 5 ++++-
m4/libtool.m4 | 7 +++++++
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index caf9a76..98cb7ae 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -5678,7 +5678,10 @@ func_mode_link ()
case $pass in
dlopen) libs=$dlfiles ;;
dlpreopen) libs=$dlprefiles ;;
- link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
+ link)
+ libs="$deplibs %DEPLIBS%"
+ test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
+ ;;
esac
fi
if test lib,dlpreopen = "$linkmode,$pass"; then
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index a3bc337..a2c7a84 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -4936,6 +4936,9 @@ m4_if([$1], [CXX], [
;;
esac
;;
+ linux* | k*bsd*-gnu | gnu*)
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ ;;
*)
_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
;;
@@ -4998,6 +5001,9 @@ dnl Note also adjust exclude_expsyms for C++ above.
openbsd* | bitrig*)
with_gnu_ld=no
;;
+ linux* | k*bsd*-gnu | gnu*)
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ ;;
esac
_LT_TAGVAR(ld_shlibs, $1)=yes
@@ -5773,6 +5779,7 @@ _LT_EOF
if test yes = "$lt_cv_irix_exported_symbol"; then
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
fi
+ _LT_TAGVAR(link_all_deplibs, $1)=no
else
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'

View File

@ -1,25 +0,0 @@
From: Alastair McKinstry <mckinstry@debian.org>
Date: Sat, 14 May 2022 01:23:42 +0800
Subject: man-add-whatis-info
===================================================================
---
Makefile.am | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 13dfc63..6a13f72 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -417,9 +417,9 @@ update_mans = \
# manual pages if the sources for the build-tree files we want to
# run have changed.
$(libtool_1): $(ltmain_sh)
- $(AM_V_GEN)$(update_mans) --help-option=--help-all libtool
+ $(AM_V_GEN)$(update_mans) -n 'Provide generalized library-building support services' --help-option=--help-all libtool
$(libtoolize_1): $(libtoolize_in)
- $(AM_V_GEN)$(update_mans) libtoolize
+ $(AM_V_GEN)$(update_mans) -n 'Prepare a package to use libtool' libtoolize
## ------------- ##

View File

@ -1,82 +0,0 @@
From: Alastair McKinstry <mckinstry@debian.org>
Date: Sat, 14 May 2022 01:23:42 +0800
Subject: netbsdelf
## Add support for netbsdelf*-gnu
---
m4/libtool.m4 | 20 ++++++++++++++++----
m4/ltdl.m4 | 2 +-
2 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index a2c7a84..10ab284 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -2887,6 +2887,18 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
dynamic_linker='GNU/Linux ld.so'
;;
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
netbsd*)
version_type=sunos
need_lib_prefix=no
@@ -3546,7 +3558,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
lt_cv_deplibs_check_method=pass_all
;;
-netbsd*)
+netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
else
@@ -4424,7 +4436,7 @@ m4_if([$1], [CXX], [
;;
esac
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
;;
*qnx* | *nto*)
# QNX uses GNU C++, but need to define -shared option too, otherwise
@@ -5258,7 +5270,7 @@ _LT_EOF
fi
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
@@ -5801,7 +5813,7 @@ _LT_EOF
esac
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
diff --git a/m4/ltdl.m4 b/m4/ltdl.m4
index bde587a..560522a 100644
--- a/m4/ltdl.m4
+++ b/m4/ltdl.m4
@@ -496,7 +496,7 @@ AC_CACHE_CHECK([whether deplibs are loaded by dlopen],
# at 6.2 and later dlopen does load deplibs.
lt_cv_sys_dlopen_deplibs=yes
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
lt_cv_sys_dlopen_deplibs=yes
;;
openbsd*)

View File

@ -1,21 +0,0 @@
From: Alastair McKinstry <mckinstry@debian.org>
Date: Sat, 14 May 2022 01:23:42 +0800
Subject: no_hostname
===================================================================
---
m4/libtool.m4 | 1 -
1 file changed, 1 deletion(-)
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index 10ab284..ee80844 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -728,7 +728,6 @@ _LT_CONFIG_SAVE_COMMANDS([
cat <<_LT_EOF >> "$cfgfile"
#! $SHELL
# Generated automatically by $as_me ($PACKAGE) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
# Provide generalized library-building support services.

View File

@ -1,22 +0,0 @@
From: Alastair McKinstry <mckinstry@debian.org>
Date: Sat, 14 May 2022 01:23:42 +0800
Subject: nopic
===================================================================
---
tests/demo.at | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/demo.at b/tests/demo.at
index 7c6f5dc..28a2801 100644
--- a/tests/demo.at
+++ b/tests/demo.at
@@ -510,7 +510,7 @@ AT_CLEANUP
AT_SETUP([force non-PIC objects])
AT_CHECK([case $host in
-hppa*|x86_64*|s390*)
+hppa*|x86_64*|s390*|mips*|arm*|sparc64*)
# These hosts cannot use non-PIC shared libs
exit 77 ;;
*-solaris*|*-sunos*)

26
debian/patches/series vendored
View File

@ -1,26 +0,0 @@
0001-libtool-fix-GCC-linking-with-specs.patch
0003-libtoolize-fix-infinite-recursion-in-m4.patch
0011-libtool-optimizing-options-parser-hooks.patch
0015-syntax-check-fix-sed-syntax-errors.patch
0020-libtool-fix-GCC-clang-linking-with-fsanitize.patch
link_all_deplibs.patch
deplib_binary.patch
netbsdelf.patch
version_type.patch
nopic.patch
deplibs_test_disable.patch
disable-link-order2.patch
deplibs-ident.patch
man-add-whatis-info.diff
no_hostname.patch
bootstrap_options.conf
version_string.patch
grep-spaces.patch
libtool-eval-nm.patch
0025-libtool-pass-use-ld.patch
0030-flang-support.patch
0035-ac-prereq.patch
0040-unsafe-eval.patch
0050-documentation.patch
0055-pass-flags-unchanged.patch
0060-ar.patch

View File

@ -1,36 +0,0 @@
From: Alastair McKinstry <mckinstry@debian.org>
Date: Sat, 14 May 2022 01:23:42 +0800
Subject: version_string
===================================================================
---
build-aux/ltmain.in | 2 +-
libtoolize.in | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index 8c119f1..2c9b246 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -156,7 +156,7 @@ include the following information:
compiler: $LTCC
compiler flags: $LTCFLAGS
linker: $LD (gnu? $with_gnu_ld)
- version: $progname (GNU @PACKAGE@) @VERSION@
+ version: $progname $scriptversion
automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
diff --git a/libtoolize.in b/libtoolize.in
index 798bd0a..766f7d1 100644
--- a/libtoolize.in
+++ b/libtoolize.in
@@ -114,7 +114,7 @@ When reporting a bug, please describe a test case to reproduce it and
include the following information:
host-triplet: @host_triplet@
- version: $progname (GNU @PACKAGE@) @VERSION@
+ version: $progname $scriptversion
automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`

View File

@ -1,23 +0,0 @@
From: Alastair McKinstry <mckinstry@debian.org>
Date: Sat, 14 May 2022 01:23:42 +0800
Subject: version_type
===================================================================
---
build-aux/ltmain.in | 3 +++
1 file changed, 3 insertions(+)
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index cd7e946..8c119f1 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -6936,6 +6936,9 @@ func_mode_link ()
revision=$number_minor
lt_irix_increment=no
;;
+ *)
+ func_fatal_configuration "$modename: unknown library version type '$version_type'"
+ ;;
esac
;;
no)

View File

@ -1 +1 @@
3.0 (quilt)
3.0 (native)