Server: appserver-7f0f8755-nginx-15961cad18524ec5a9db05f2a6a7e440
Current directory: /usr/bin
Software: nginx/1.27.5
Shell Command
Create a new file
Upload file
File: libtoolize
#! /usr/bin/env sh ## DO NOT EDIT - This file generated from libtoolize ## by inline-source v2019-02-19.15 # Prepare a package to use libtool. # Written by Gary V. Vaughan
, 2003 # Copyright (C) 2003-2019, 2021-2022 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # Libtoolize is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # Libtoolize is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see
. ## ------ ## ## Usage. ## ## ------ ## # Run './libtoolize --help' for help with using this script from the # command line. ## ------------------------------- ## ## User overridable command paths. ## ## ------------------------------- ## # After configure completes, it has a better idea of some of the # shell tools we need than the defaults used by the functions shared # with bootstrap, so set those here where they can still be over- # ridden by the user, but otherwise take precedence. : ${AUTOCONF="autoconf"} : ${AUTOMAKE="automake"} : ${EGREP="/bin/grep -E"} : ${FGREP="/bin/grep -F"} : ${GREP="/bin/grep"} : ${LN_S="ln -s"} : ${SED="/bin/sed"} ## -------------------------- ## ## Source external libraries. ## ## -------------------------- ## # Much of our low-level functionality needs to be sourced from external # libraries, which are installed to $pkgauxdir under normal use, though # we also need to be able to find them in $srcdir during testing, or if # executed directly from the build tree. # Set a version string for this script. scriptversion=2019-02-19.15; # UTC # General shell script boiler plate, and helper functions. # Written by Gary V. Vaughan, 2004 # This is free software. There is NO warranty; not even for # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # # Copyright (C) 2004-2019, 2021 Bootstrap Authors # # This file is dual licensed under the terms of the MIT license #
, and GPL version 2 or later #
. You must apply one of # these licenses when using or redistributing this software or any of # the files within it. See the URLs above, or the file `LICENSE` # included in the Bootstrap distribution for the full license texts. # Please report bugs or propose patches to: #
## ------ ## ## Usage. ## ## ------ ## # Evaluate this file near the top of your script to gain access to # the functions and variables defined here: # # . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh # # If you need to override any of the default environment variable # settings, do that before evaluating this file. ## -------------------- ## ## Shell normalisation. ## ## -------------------- ## # Some shells need a little help to be as Bourne compatible as possible. # Before doing anything else, make sure all that help has been provided! DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # NLS nuisances: We save the old values in case they are required later. _G_user_locale= _G_safe_locale= for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test set = \"\${$_G_var+set}\"; then save_$_G_var=\$$_G_var $_G_var=C export $_G_var _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\" _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" fi" done # These NLS vars are set unconditionally (bootstrap issue #24). Unset those # in case the environment reset is needed later and the $save_* variant is not # defined (see the code above). LC_ALL=C LANGUAGE=C export LANGUAGE LC_ALL # Make sure IFS has a sensible default sp=' ' nl=' ' IFS="$sp $nl" # There are apparently some retarded systems that use ';' as a PATH separator! if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # func_unset VAR # -------------- # Portably unset VAR. # In some shells, an 'unset VAR' statement leaves a non-zero return # status if VAR is already unset, which might be problematic if the # statement is used at the end of a function (thus poisoning its return # value) or when 'set -e' is active (causing even a spurious abort of # the script in this case). func_unset () { { eval $1=; (eval unset $1) >/dev/null 2>&1 && eval unset $1 || : ; } } # Make sure CDPATH doesn't cause `cd` commands to output the target dir. func_unset CDPATH # Make sure ${,E,F}GREP behave sanely. func_unset GREP_OPTIONS ## ------------------------- ## ## Locate command utilities. ## ## ------------------------- ## # func_executable_p FILE # ---------------------- # Check that FILE is an executable regular file. func_executable_p () { test -f "$1" && test -x "$1" } # func_path_progs PROGS_LIST CHECK_FUNC [PATH] # -------------------------------------------- # Search for either a program that responds to --version with output # containing "GNU", or else returned by CHECK_FUNC otherwise, by # trying all the directories in PATH with each of the elements of # PROGS_LIST. # # CHECK_FUNC should accept the path to a candidate program, and # set $func_check_prog_result if it truncates its output less than # $_G_path_prog_max characters. func_path_progs () { _G_progs_list=$1 _G_check_func=$2 _G_PATH=${3-"$PATH"} _G_path_prog_max=0 _G_path_prog_found=false _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:} for _G_dir in $_G_PATH; do IFS=$_G_save_IFS test -z "$_G_dir" && _G_dir=. for _G_prog_name in $_G_progs_list; do for _exeext in '' .EXE; do _G_path_prog=$_G_dir/$_G_prog_name$_exeext func_executable_p "$_G_path_prog" || continue case `"$_G_path_prog" --version 2>&1` in *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;; *) $_G_check_func $_G_path_prog func_path_progs_result=$func_check_prog_result ;; esac $_G_path_prog_found && break 3 done done done IFS=$_G_save_IFS test -z "$func_path_progs_result" && { echo "no acceptable sed could be found in \$PATH" >&2 exit 1 } } # We want to be able to use the functions in this file before configure # has figured out where the best binaries are kept, which means we have # to search for them ourselves - except when the results are already set # where we skip the searches. # Unless the user overrides by setting SED, search the path for either GNU # sed, or the sed that truncates its output the least. test -z "$SED" && { _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for _G_i in 1 2 3 4 5 6 7; do _G_sed_script=$_G_sed_script$nl$_G_sed_script done echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed _G_sed_script= func_check_prog_sed () { _G_path_prog=$1 _G_count=0 printf 0123456789 >conftest.in while : do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo '' >> conftest.nl "$_G_path_prog" -f conftest.sed
conftest.out 2>/dev/null || break diff conftest.out conftest.nl >/dev/null 2>&1 || break _G_count=`expr $_G_count + 1` if test "$_G_count" -gt "$_G_path_prog_max"; then # Best one so far, save it but keep looking for a better one func_check_prog_result=$_G_path_prog _G_path_prog_max=$_G_count fi # 10*(2^10) chars as input seems more than enough test 10 -lt "$_G_count" && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out } func_path_progs "sed gsed" func_check_prog_sed "$PATH:/usr/xpg4/bin" rm -f conftest.sed SED=$func_path_progs_result } # Unless the user overrides by setting GREP, search the path for either GNU # grep, or the grep that truncates its output the least. test -z "$GREP" && { func_check_prog_grep () { _G_path_prog=$1 _G_count=0 _G_path_prog_max=0 printf 0123456789 >conftest.in while : do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo 'GREP' >> conftest.nl "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-'
conftest.out 2>/dev/null || break diff conftest.out conftest.nl >/dev/null 2>&1 || break _G_count=`expr $_G_count + 1` if test "$_G_count" -gt "$_G_path_prog_max"; then # Best one so far, save it but keep looking for a better one func_check_prog_result=$_G_path_prog _G_path_prog_max=$_G_count fi # 10*(2^10) chars as input seems more than enough test 10 -lt "$_G_count" && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out } func_path_progs "grep ggrep" func_check_prog_grep "$PATH:/usr/xpg4/bin" GREP=$func_path_progs_result } ## ------------------------------- ## ## User overridable command paths. ## ## ------------------------------- ## # All uppercase variable names are used for environment variables. These # variables can be overridden by the user before calling a script that # uses them if a suitable command of that name is not already available # in the command search PATH. : ${CP="cp -f"} : ${ECHO="printf %s\n"} : ${EGREP="$GREP -E"} : ${FGREP="$GREP -F"} : ${LN_S="ln -s"} : ${MAKE="make"} : ${MKDIR="mkdir"} : ${MV="mv -f"} : ${RM="rm -f"} : ${SHELL="${CONFIG_SHELL-/bin/sh}"} ## -------------------- ## ## Useful sed snippets. ## ## -------------------- ## sed_dirname='s|/[^/]*$||' sed_basename='s|^.*/||' # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. sed_quote_subst='s|\([`"$\\]\)|\\\1|g' # Same as above, but do not quote variable references. sed_double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution that turns a string into a regex matching for the # string literally. sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g' # Sed substitution that converts a w32 file name or path # that contains forward slashes, into one that contains # (escaped) backslashes. A very naive implementation. sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' # Re-'\' parameter expansions in output of sed_double_quote_subst that # were '\'-ed in input to the same. If an odd number of '\' preceded a # '$' in input to sed_double_quote_subst, that '$' was protected from # expansion. Since each input '\' is now two '\'s, look for any number # of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'. _G_bs='\\' _G_bs2='\\\\' _G_bs4='\\\\\\\\' _G_dollar='\$' sed_double_backslash="\ s/$_G_bs4/&\\ /g s/^$_G_bs2$_G_dollar/$_G_bs&/ s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g s/\n//g" # require_check_ifs_backslash # --------------------------- # Check if we can use backslash as IFS='\' separator, and set # $check_ifs_backshlash_broken to ':' or 'false'. require_check_ifs_backslash=func_require_check_ifs_backslash func_require_check_ifs_backslash () { _G_save_IFS=$IFS IFS='\' _G_check_ifs_backshlash='a\\b' for _G_i in $_G_check_ifs_backshlash do case $_G_i in a) check_ifs_backshlash_broken=false ;; '') break ;; *) check_ifs_backshlash_broken=: break ;; esac done IFS=$_G_save_IFS require_check_ifs_backslash=: } ## ----------------- ## ## Global variables. ## ## ----------------- ## # Except for the global variables explicitly listed below, the following # functions in the '^func_' namespace, and the '^require_' namespace # variables initialised in the 'Resource management' section, sourcing # this file will not pollute your global namespace with anything # else. There's no portable way to scope variables in Bourne shell # though, so actually running these functions will sometimes place # results into a variable named after the function, and often use # temporary variables in the '^_G_' namespace. If you are careful to # avoid using those namespaces casually in your sourcing script, things # should continue to work as you expect. And, of course, you can freely # overwrite any of the functions or variables defined here before # calling anything to customize them. EXIT_SUCCESS=0 EXIT_FAILURE=1 EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. # Allow overriding, eg assuming that you follow the convention of # putting '$debug_cmd' at the start of all your functions, you can get # bash to show function call trace with: # # debug_cmd='echo "${FUNCNAME[0]} $*" >&2' bash your-script-name debug_cmd=${debug_cmd-":"} exit_cmd=: # By convention, finish your script with: # # exit $exit_status # # so that you can set exit_status to non-zero if you want to indicate # something went wrong during execution without actually bailing out at # the point of failure. exit_status=$EXIT_SUCCESS # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh # is ksh but when the shell is invoked as "sh" and the current value of # the _XPG environment variable is not equal to 1 (one), the special # positional parameter $0, within a function call, is the name of the # function. progpath=$0 # The name of this program. progname=`$ECHO "$progpath" |$SED "$sed_basename"` # Make sure we have an absolute progpath for reexecution: case $progpath in [\\/]*|[A-Za-z]:\\*) ;; *[\\/]*) progdir=`$ECHO "$progpath" |$SED "$sed_dirname"` progdir=`cd "$progdir" && pwd` progpath=$progdir/$progname ;; *) _G_IFS=$IFS IFS=${PATH_SEPARATOR-:} for progdir in $PATH; do IFS=$_G_IFS test -x "$progdir/$progname" && break done IFS=$_G_IFS test -n "$progdir" || progdir=`pwd` progpath=$progdir/$progname ;; esac ## ----------------- ## ## Standard options. ## ## ----------------- ## # The following options affect the operation of the functions defined # below, and should be set appropriately depending on run-time para- # meters passed on the command line. opt_dry_run=false opt_quiet=false opt_verbose=false # Categories 'all' and 'none' are always available. Append any others # you will pass as the first argument to func_warning from your own # code. warning_categories= # By default, display warnings according to 'opt_warning_types'. Set # 'warning_func' to ':' to elide all warnings, or func_fatal_error to # treat the next displayed warning as a fatal error. warning_func=func_warn_and_continue # Set to 'all' to display all warnings, 'none' to suppress all # warnings, or a space delimited list of some subset of # 'warning_categories' to display only the listed warnings. opt_warning_types=all ## -------------------- ## ## Resource management. ## ## -------------------- ## # This section contains definitions for functions that each ensure a # particular resource (a file, or a non-empty configuration variable for # example) is available, and if appropriate to extract default values # from pertinent package files. Call them using their associated # 'require_*' variable to ensure that they are executed, at most, once. # # It's entirely deliberate that calling these functions can set # variables that don't obey the namespace limitations obeyed by the rest # of this file, in order that that they be as useful as possible to # callers. # require_term_colors # ------------------- # Allow display of bold text on terminals that support it. require_term_colors=func_require_term_colors func_require_term_colors () { $debug_cmd test -t 1 && { # COLORTERM and USE_ANSI_COLORS environment variables take # precedence, because most terminfo databases neglect to describe # whether color sequences are supported. test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"} if test 1 = "$USE_ANSI_COLORS"; then # Standard ANSI escape sequences tc_reset='[0m' tc_bold='[1m'; tc_standout='[7m' tc_red='[31m'; tc_green='[32m' tc_blue='[34m'; tc_cyan='[36m' else # Otherwise trust the terminfo database after all. test -n "`tput sgr0 2>/dev/null`" && { tc_reset=`tput sgr0` test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold` tc_standout=$tc_bold test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso` test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1` test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2` test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4` test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5` } fi } require_term_colors=: } ## ----------------- ## ## Function library. ## ## ----------------- ## # This section contains a variety of useful functions to call in your # scripts. Take note of the portable wrappers for features provided by # some modern shells, which will fall back to slower equivalents on # less featureful shells. # func_append VAR VALUE # --------------------- # Append VALUE onto the existing contents of VAR. # _G_HAVE_PLUSEQ_OP # Can be empty, in which case the shell is probed, "yes" if += is # useable or anything else if it does not work. if test -z "$_G_HAVE_PLUSEQ_OP" && \ __PLUSEQ_TEST="a" && \ __PLUSEQ_TEST+=" b" 2>/dev/null && \ test "a b" = "$__PLUSEQ_TEST"; then _G_HAVE_PLUSEQ_OP=yes fi if test yes = "$_G_HAVE_PLUSEQ_OP" then # This is an XSI compatible shell, allowing a faster implementation... eval 'func_append () { $debug_cmd eval "$1+=\$2" }' else # ...otherwise fall back to using expr, which is often a shell builtin. func_append () { $debug_cmd eval "$1=\$$1\$2" } fi # func_append_quoted VAR VALUE # ---------------------------- # Quote VALUE and append to the end of shell variable VAR, separated # by a space. if test yes = "$_G_HAVE_PLUSEQ_OP"; then eval 'func_append_quoted () { $debug_cmd func_quote_arg pretty "$2" eval "$1+=\\ \$func_quote_arg_result" }' else func_append_quoted () { $debug_cmd func_quote_arg pretty "$2" eval "$1=\$$1\\ \$func_quote_arg_result" } fi # func_append_uniq VAR VALUE # -------------------------- # Append unique VALUE onto the existing contents of VAR, assuming # entries are delimited by the first character of VALUE. For example: # # func_append_uniq options " --another-option option-argument" # # will only append to $options if " --another-option option-argument " # is not already present somewhere in $options already (note spaces at # each end implied by leading space in second argument). func_append_uniq () { $debug_cmd eval _G_current_value='`$ECHO $'$1'`' _G_delim=`expr "$2" : '\(.\)'` case $_G_delim$_G_current_value$_G_delim in *"$2$_G_delim"*) ;; *) func_append "$@" ;; esac } # func_arith TERM... # ------------------ # Set func_arith_result to the result of evaluating TERMs. test -z "$_G_HAVE_ARITH_OP" \ && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \ && _G_HAVE_ARITH_OP=yes if test yes = "$_G_HAVE_ARITH_OP"; then eval 'func_arith () { $debug_cmd func_arith_result=$(( $* )) }' else func_arith () { $debug_cmd func_arith_result=`expr "$@"` } fi # func_basename FILE # ------------------ # Set func_basename_result to FILE with everything up to and including # the last / stripped. if test yes = "$_G_HAVE_XSI_OPS"; then # If this shell supports suffix pattern removal, then use it to avoid # forking. Hide the definitions single quotes in case the shell chokes # on unsupported syntax... _b='func_basename_result=${1##*/}' _d='case $1 in */*) func_dirname_result=${1%/*}$2 ;; * ) func_dirname_result=$3 ;; esac' else # ...otherwise fall back to using sed. _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`' _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"` if test "X$func_dirname_result" = "X$1"; then func_dirname_result=$3 else func_append func_dirname_result "$2" fi' fi eval 'func_basename () { $debug_cmd '"$_b"' }' # func_dirname FILE APPEND NONDIR_REPLACEMENT # ------------------------------------------- # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. eval 'func_dirname () { $debug_cmd '"$_d"' }' # func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT # -------------------------------------------------------- # Perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" # For efficiency, we do not delegate to the functions above but instead # duplicate the functionality here. eval 'func_dirname_and_basename () { $debug_cmd '"$_b"' '"$_d"' }' # func_echo ARG... # ---------------- # Echo program name prefixed message. func_echo () { $debug_cmd _G_message=$* func_echo_IFS=$IFS IFS=$nl for _G_line in $_G_message; do IFS=$func_echo_IFS $ECHO "$progname: $_G_line" done IFS=$func_echo_IFS } # func_echo_all ARG... # -------------------- # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "$*" } # func_echo_infix_1 INFIX ARG... # ------------------------------ # Echo program name, followed by INFIX on the first line, with any # additional lines not showing INFIX. func_echo_infix_1 () { $debug_cmd $require_term_colors _G_infix=$1; shift _G_indent=$_G_infix _G_prefix="$progname: $_G_infix: " _G_message=$* # Strip color escape sequences before counting printable length for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan" do test -n "$_G_tc" && { _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"` _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"` } done _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes func_echo_infix_1_IFS=$IFS IFS=$nl for _G_line in $_G_message; do IFS=$func_echo_infix_1_IFS $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2 _G_prefix=$_G_indent done IFS=$func_echo_infix_1_IFS } # func_error ARG... # ----------------- # Echo program name prefixed message to standard error. func_error () { $debug_cmd $require_term_colors func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2 } # func_fatal_error ARG... # ----------------------- # Echo program name prefixed message to standard error, and exit. func_fatal_error () { $debug_cmd func_error "$*" exit $EXIT_FAILURE } # func_grep EXPRESSION FILENAME # ----------------------------- # Check whether EXPRESSION matches any line of FILENAME, without output. func_grep () { $debug_cmd $GREP "$1" "$2" >/dev/null 2>&1 } # func_len STRING # --------------- # Set func_len_result to the length of STRING. STRING may not # start with a hyphen. test -z "$_G_HAVE_XSI_OPS" \ && (eval 'x=a/b/c; test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ && _G_HAVE_XSI_OPS=yes if test yes = "$_G_HAVE_XSI_OPS"; then eval 'func_len () { $debug_cmd func_len_result=${#1} }' else func_len () { $debug_cmd func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` } fi # func_mkdir_p DIRECTORY-PATH # --------------------------- # Make sure the entire path to DIRECTORY-PATH is available. func_mkdir_p () { $debug_cmd _G_directory_path=$1 _G_dir_list= if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then # Protect directory names starting with '-' case $_G_directory_path in -*) _G_directory_path=./$_G_directory_path ;; esac # While some portion of DIR does not yet exist... while test ! -d "$_G_directory_path"; do # ...make a list in topmost first order. Use a colon delimited # list incase some portion of path contains whitespace. _G_dir_list=$_G_directory_path:$_G_dir_list # If the last portion added has no slash in it, the list is done case $_G_directory_path in */*) ;; *) break ;; esac # ...otherwise throw away the child directory and loop _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"` done _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'` func_mkdir_p_IFS=$IFS; IFS=: for _G_dir in $_G_dir_list; do IFS=$func_mkdir_p_IFS # mkdir can fail with a 'File exist' error if two processes # try to create one of the directories concurrently. Don't # stop in that case! $MKDIR "$_G_dir" 2>/dev/null || : done IFS=$func_mkdir_p_IFS # Bail out if we (or some other process) failed to create a directory. test -d "$_G_directory_path" || \ func_fatal_error "Failed to create '$1'" fi } # func_mktempdir [BASENAME] # ------------------------- # Make a temporary directory that won't clash with other running # libtool processes, and avoids race conditions if possible. If # given, BASENAME is the basename for that directory. func_mktempdir () { $debug_cmd _G_template=${TMPDIR-/tmp}/${1-$progname} if test : = "$opt_dry_run"; then # Return a directory name, but don't create it in dry-run mode _G_tmpdir=$_G_template-$$ else # If mktemp works, use that first and foremost _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null` if test ! -d "$_G_tmpdir"; then # Failing that, at least try and use $RANDOM to avoid a race _G_tmpdir=$_G_template-${RANDOM-0}$$ func_mktempdir_umask=`umask` umask 0077 $MKDIR "$_G_tmpdir" umask $func_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure test -d "$_G_tmpdir" || \ func_fatal_error "cannot create temporary directory '$_G_tmpdir'" fi $ECHO "$_G_tmpdir" } # func_normal_abspath PATH # ------------------------ # Remove doubled-up and trailing slashes, "." path components, # and cancel out any ".." path components in PATH after making # it an absolute path. func_normal_abspath () { $debug_cmd # These SED scripts presuppose an absolute path with a trailing slash. _G_pathcar='s|^/\([^/]*\).*$|\1|' _G_pathcdr='s|^/[^/]*||' _G_removedotparts=':dotsl s|/\./|/|g t dotsl s|/\.$|/|' _G_collapseslashes='s|/\{1,\}|/|g' _G_finalslash='s|/*$|/|' # Start from root dir and reassemble the path. func_normal_abspath_result= func_normal_abspath_tpath=$1 func_normal_abspath_altnamespace= case $func_normal_abspath_tpath in "") # Empty path, that just means $cwd. func_stripname '' '/' "`pwd`" func_normal_abspath_result=$func_stripname_result return ;; # The next three entries are used to spot a run of precisely # two leading slashes without using negated character classes; # we take advantage of case's first-match behaviour. ///*) # Unusual form of absolute path, do nothing. ;; //*) # Not necessarily an ordinary path; POSIX reserves leading '//' # and for example Cygwin uses it to access remote file shares # over CIFS/SMB, so we conserve a leading double slash if found. func_normal_abspath_altnamespace=/ ;; /*) # Absolute path, do nothing. ;; *) # Relative path, prepend $cwd. func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath ;; esac # Cancel out all the simple stuff to save iterations. We also want # the path to end with a slash for ease of parsing, so make sure # there is one (and only one) here. func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"` while :; do # Processed it all yet? if test / = "$func_normal_abspath_tpath"; then # If we ascended to the root using ".." the result may be empty now. if test -z "$func_normal_abspath_result"; then func_normal_abspath_result=/ fi break fi func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$_G_pathcar"` func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$_G_pathcdr"` # Figure out what to do with it case $func_normal_abspath_tcomponent in "") # Trailing empty path component, ignore it. ;; ..) # Parent dir; strip last assembled component from result. func_dirname "$func_normal_abspath_result" func_normal_abspath_result=$func_dirname_result ;; *) # Actual path component, append it. func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent" ;; esac done # Restore leading double-slash if one was found on entry. func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result } # func_notquiet ARG... # -------------------- # Echo program name prefixed message only when not in quiet mode. func_notquiet () { $debug_cmd $opt_quiet || func_echo ${1+"$@"} # A bug in bash halts the script if the last line of a function # fails when set -e is in force, so we need another command to # work around that: : } # func_relative_path SRCDIR DSTDIR # -------------------------------- # Set func_relative_path_result to the relative path from SRCDIR to DSTDIR. func_relative_path () { $debug_cmd func_relative_path_result= func_normal_abspath "$1" func_relative_path_tlibdir=$func_normal_abspath_result func_normal_abspath "$2" func_relative_path_tbindir=$func_normal_abspath_result # Ascend the tree starting from libdir while :; do # check if we have found a prefix of bindir case $func_relative_path_tbindir in $func_relative_path_tlibdir) # found an exact match func_relative_path_tcancelled= break ;; $func_relative_path_tlibdir*) # found a matching prefix func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" func_relative_path_tcancelled=$func_stripname_result if test -z "$func_relative_path_result"; then func_relative_path_result=. fi break ;; *) func_dirname $func_relative_path_tlibdir func_relative_path_tlibdir=$func_dirname_result if test -z "$func_relative_path_tlibdir"; then # Have to descend all the way to the root! func_relative_path_result=../$func_relative_path_result func_relative_path_tcancelled=$func_relative_path_tbindir break fi func_relative_path_result=../$func_relative_path_result ;; esac done # Now calculate path; take care to avoid doubling-up slashes. func_stripname '' '/' "$func_relative_path_result" func_relative_path_result=$func_stripname_result func_stripname '/' '/' "$func_relative_path_tcancelled" if test -n "$func_stripname_result"; then func_append func_relative_path_result "/$func_stripname_result" fi # Normalisation. If bindir is libdir, return '.' else relative path. if test -n "$func_relative_path_result"; then func_stripname './' '' "$func_relative_path_result" func_relative_path_result=$func_stripname_result fi test -n "$func_relative_path_result" || func_relative_path_result=. : } # func_quote_portable EVAL ARG # ---------------------------- # Internal function to portably implement func_quote_arg. Note that we still # keep attention to performance here so we as much as possible try to avoid # calling sed binary (so far O(N) complexity as long as func_append is O(1)). func_quote_portable () { $debug_cmd $require_check_ifs_backslash func_quote_portable_result=$2 # one-time-loop (easy break) while true do if $1; then func_quote_portable_result=`$ECHO "$2" | $SED \ -e "$sed_double_quote_subst" -e "$sed_double_backslash"` break fi # Quote for eval. case $func_quote_portable_result in *[\\\`\"\$]*) # Fallback to sed for $func_check_bs_ifs_broken=:, or when the string # contains the shell wildcard characters. case $check_ifs_backshlash_broken$func_quote_portable_result in :*|*[\[\*\?]*) func_quote_portable_result=`$ECHO "$func_quote_portable_result" \ | $SED "$sed_quote_subst"` break ;; esac func_quote_portable_old_IFS=$IFS for _G_char in '\' '`' '"' '$' do # STATE($1) PREV($2) SEPARATOR($3) set start "" "" func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy IFS=$_G_char for _G_part in $func_quote_portable_result do case $1 in quote) func_append func_quote_portable_result "$3$2" set quote "$_G_part" "\\$_G_char" ;; start) set first "" "" func_quote_portable_result= ;; first) set quote "$_G_part" "" ;; esac done done IFS=$func_quote_portable_old_IFS ;; *) ;; esac break done func_quote_portable_unquoted_result=$func_quote_portable_result case $func_quote_portable_result in # double-quote args containing shell metacharacters to delay # word splitting, command substitution and variable expansion # for a subsequent eval. # many bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") func_quote_portable_result=\"$func_quote_portable_result\" ;; esac } # func_quotefast_eval ARG # ----------------------- # Quote one ARG (internal). This is equivalent to 'func_quote_arg eval ARG', # but optimized for speed. Result is stored in $func_quotefast_eval. if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then printf -v _GL_test_printf_tilde %q '~' if test '\~' = "$_GL_test_printf_tilde"; then func_quotefast_eval () { printf -v func_quotefast_eval_result %q "$1" } else # Broken older Bash implementations. Make those faster too if possible. func_quotefast_eval () { case $1 in '~'*) func_quote_portable false "$1" func_quotefast_eval_result=$func_quote_portable_result ;; *) printf -v func_quotefast_eval_result %q "$1" ;; esac } fi else func_quotefast_eval () { func_quote_portable false "$1" func_quotefast_eval_result=$func_quote_portable_result } fi # func_quote_arg MODEs ARG # ------------------------ # Quote one ARG to be evaled later. MODEs argument may contain zero or more # specifiers listed below separated by ',' character. This function returns two # values: # i) func_quote_arg_result # double-quoted (when needed), suitable for a subsequent eval # ii) func_quote_arg_unquoted_result # has all characters that are still active within double # quotes backslashified. Available only if 'unquoted' is specified. # # Available modes: # ---------------- # 'eval' (default) # - escape shell special characters # 'expand' # - the same as 'eval'; but do not quote variable references # 'pretty' # - request aesthetic output, i.e. '"a b"' instead of 'a\ b'. This might # be used later in func_quote to get output like: 'echo "a b"' instead # of 'echo a\ b'. This is slower than default on some shells. # 'unquoted' # - produce also $func_quote_arg_unquoted_result which does not contain # wrapping double-quotes. # # Examples for 'func_quote_arg pretty,unquoted string': # # string | *_result | *_unquoted_result # ------------+-----------------------+------------------- # " | \" | \" # a b | "a b" | a b # "a b" | "\"a b\"" | \"a b\" # * | "*" | * # z="${x-$y}" | "z=\"\${x-\$y}\"" | z=\"\${x-\$y}\" # # Examples for 'func_quote_arg pretty,unquoted,expand string': # # string | *_result | *_unquoted_result # --------------+---------------------+-------------------- # z="${x-$y}" | "z=\"${x-$y}\"" | z=\"${x-$y}\" func_quote_arg () { _G_quote_expand=false case ,$1, in *,expand,*) _G_quote_expand=: ;; esac case ,$1, in *,pretty,*|*,expand,*|*,unquoted,*) func_quote_portable $_G_quote_expand "$2" func_quote_arg_result=$func_quote_portable_result func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result ;; *) # Faster quote-for-eval for some shells. func_quotefast_eval "$2" func_quote_arg_result=$func_quotefast_eval_result ;; esac } # func_quote MODEs ARGs... # ------------------------ # Quote all ARGs to be evaled later and join them into single command. See # func_quote_arg's description for more info. func_quote () { $debug_cmd _G_func_quote_mode=$1 ; shift func_quote_result= while test 0 -lt $#; do func_quote_arg "$_G_func_quote_mode" "$1" if test -n "$func_quote_result"; then func_append func_quote_result " $func_quote_arg_result" else func_append func_quote_result "$func_quote_arg_result" fi shift done } # func_stripname PREFIX SUFFIX NAME # --------------------------------- # strip PREFIX and SUFFIX from NAME, and store in func_stripname_result. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). if test yes = "$_G_HAVE_XSI_OPS"; then eval 'func_stripname () { $debug_cmd # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are # positional parameters, so assign one to ordinary variable first. func_stripname_result=$3 func_stripname_result=${func_stripname_result#"$1"} func_stripname_result=${func_stripname_result%"$2"} }' else func_stripname () { $debug_cmd case $2 in .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;; *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;; esac } fi # func_show_eval CMD [FAIL_EXP] # ----------------------------- # Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. func_show_eval () { $debug_cmd _G_cmd=$1 _G_fail_exp=${2-':'} func_quote_arg pretty,expand "$_G_cmd" eval "func_notquiet $func_quote_arg_result" $opt_dry_run || { eval "$_G_cmd" _G_status=$? if test 0 -ne "$_G_status"; then eval "(exit $_G_status); $_G_fail_exp" fi } } # func_show_eval_locale CMD [FAIL_EXP] # ------------------------------------ # Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. Use the saved locale for evaluation. func_show_eval_locale () { $debug_cmd _G_cmd=$1 _G_fail_exp=${2-':'} $opt_quiet || { func_quote_arg expand,pretty "$_G_cmd" eval "func_echo $func_quote_arg_result" } $opt_dry_run || { eval "$_G_user_locale $_G_cmd" _G_status=$? eval "$_G_safe_locale" if test 0 -ne "$_G_status"; then eval "(exit $_G_status); $_G_fail_exp" fi } } # func_tr_sh # ---------- # Turn $1 into a string suitable for a shell variable name. # Result is stored in $func_tr_sh_result. All characters # not in the set a-zA-Z0-9_ are replaced with '_'. Further, # if $1 begins with a digit, a '_' is prepended as well. func_tr_sh () { $debug_cmd case $1 in [0-9]* | *[!a-zA-Z0-9_]*) func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'` ;; * ) func_tr_sh_result=$1 ;; esac } # func_verbose ARG... # ------------------- # Echo program name prefixed message in verbose mode only. func_verbose () { $debug_cmd $opt_verbose && func_echo "$*" : } # func_warn_and_continue ARG... # ----------------------------- # Echo program name prefixed warning message to standard error. func_warn_and_continue () { $debug_cmd $require_term_colors func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2 } # func_warning CATEGORY ARG... # ---------------------------- # Echo program name prefixed warning message to standard error. Warning # messages can be filtered according to CATEGORY, where this function # elides messages where CATEGORY is not listed in the global variable # 'opt_warning_types'. func_warning () { $debug_cmd # CATEGORY must be in the warning_categories list! case " $warning_categories " in *" $1 "*) ;; *) func_internal_error "invalid warning category '$1'" ;; esac _G_category=$1 shift case " $opt_warning_types " in *" $_G_category "*) $warning_func ${1+"$@"} ;; esac } # func_sort_ver VER1 VER2 # ----------------------- # 'sort -V' is not generally available. # Note this deviates from the version comparison in automake # in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a # but this should suffice as we won't be specifying old # version formats or redundant trailing .0 in bootstrap.conf. # If we did want full compatibility then we should probably # use m4_version_compare from autoconf. func_sort_ver () { $debug_cmd printf '%s\n%s\n' "$1" "$2" \ | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n } # func_lt_ver PREV CURR # --------------------- # Return true if PREV and CURR are in the correct order according to # func_sort_ver, otherwise false. Use it like this: # # func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..." func_lt_ver () { $debug_cmd test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q` } # Local variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" # time-stamp-time-zone: "UTC" # End: #! /bin/sh # A portable, pluggable option parser for Bourne shell. # Written by Gary V. Vaughan, 2010 # This is free software. There is NO warranty; not even for # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # # Copyright (C) 2010-2019, 2021 Bootstrap Authors # # This file is dual licensed under the terms of the MIT license #
, and GPL version 2 or later #
. You must apply one of # these licenses when using or redistributing this software or any of # the files within it. See the URLs above, or the file `LICENSE` # included in the Bootstrap distribution for the full license texts. # Please report bugs or propose patches to: #
# Set a version string for this script. scriptversion=2019-02-19.15; # UTC ## ------ ## ## Usage. ## ## ------ ## # This file is a library for parsing options in your shell scripts along # with assorted other useful supporting features that you can make use # of too. # # For the simplest scripts you might need only: # # #!/bin/sh # . relative/path/to/funclib.sh # . relative/path/to/options-parser # scriptversion=1.0 # func_options ${1+"$@"} # eval set dummy "$func_options_result"; shift # ...rest of your script... # # In order for the '--version' option to work, you will need to have a # suitably formatted comment like the one at the top of this file # starting with '# Written by ' and ending with '# Copyright'. # # For '-h' and '--help' to work, you will also need a one line # description of your script's purpose in a comment directly above the # '# Written by ' line, like the one at the top of this file. # # The default options also support '--debug', which will turn on shell # execution tracing (see the comment above debug_cmd below for another # use), and '--verbose' and the func_verbose function to allow your script # to display verbose messages only when your user has specified # '--verbose'. # # After sourcing this file, you can plug in processing for additional # options by amending the variables from the 'Configuration' section # below, and following the instructions in the 'Option parsing' # section further down. ## -------------- ## ## Configuration. ## ## -------------- ## # You should override these variables in your script after sourcing this # file so that they reflect the customisations you have added to the # option parser. # The usage line for option parsing errors and the start of '-h' and # '--help' output messages. You can embed shell variables for delayed # expansion at the time the message is displayed, but you will need to # quote other shell meta-characters carefully to prevent them being # expanded when the contents are evaled. usage='$progpath [OPTION]...' # Short help message in response to '-h' and '--help'. Add to this or # override it after sourcing this library to reflect the full set of # options your script accepts. usage_message="\ --debug enable verbose shell tracing -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] -v, --verbose verbosely report processing --version print version information and exit -h, --help print short or long help message and exit " # Additional text appended to 'usage_message' in response to '--help'. long_help_message=" Warning categories include: 'all' show all warnings 'none' turn off all the warnings 'error' warnings are treated as fatal errors" # Help message printed before fatal option parsing errors. fatal_help="Try '\$progname --help' for more information." ## ------------------------- ## ## Hook function management. ## ## ------------------------- ## # This section contains functions for adding, removing, and running hooks # in the main code. A hook is just a list of function names that can be # run in order later on. # func_hookable FUNC_NAME # ----------------------- # Declare that FUNC_NAME will run hooks added with # 'func_add_hook FUNC_NAME ...'. func_hookable () { $debug_cmd func_append hookable_fns " $1" } # func_add_hook FUNC_NAME HOOK_FUNC # --------------------------------- # Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must # first have been declared "hookable" by a call to 'func_hookable'. func_add_hook () { $debug_cmd case " $hookable_fns " in *" $1 "*) ;; *) func_fatal_error "'$1' does not accept hook functions." ;; esac eval func_append ${1}_hooks '" $2"' } # func_remove_hook FUNC_NAME HOOK_FUNC # ------------------------------------ # Remove HOOK_FUNC from the list of hook functions to be called by # FUNC_NAME. func_remove_hook () { $debug_cmd eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`' } # func_propagate_result FUNC_NAME_A FUNC_NAME_B # --------------------------------------------- # If the *_result variable of FUNC_NAME_A _is set_, assign its value to # *_result variable of FUNC_NAME_B. func_propagate_result () { $debug_cmd func_propagate_result_result=: if eval "test \"\${${1}_result+set}\" = set" then eval "${2}_result=\$${1}_result" else func_propagate_result_result=false fi } # func_run_hooks FUNC_NAME [ARG]... # --------------------------------- # Run all hook functions registered to FUNC_NAME. # It's assumed that the list of hook functions contains nothing more # than a whitespace-delimited list of legal shell function names, and # no effort is wasted trying to catch shell meta-characters or preserve # whitespace. func_run_hooks () { $debug_cmd _G_rc_run_hooks=false case " $hookable_fns " in *" $1 "*) ;; *) func_fatal_error "'$1' does not support hook functions." ;; esac eval _G_hook_fns=\$$1_hooks; shift for _G_hook in $_G_hook_fns; do func_unset "${_G_hook}_result" eval $_G_hook '${1+"$@"}' func_propagate_result $_G_hook func_run_hooks if $func_propagate_result_result; then eval set dummy "$func_run_hooks_result"; shift fi done } ## --------------- ## ## Option parsing. ## ## --------------- ## # In order to add your own option parsing hooks, you must accept the # full positional parameter list from your hook function. You may remove # or edit any options that you action, and then pass back the remaining # unprocessed options in '
_result', escaped # suitably for 'eval'. # # The '
_result' variable is automatically unset # before your hook gets called; for best performance, only set the # *_result variable when necessary (i.e. don't call the 'func_quote' # function unnecessarily because it can be an expensive operation on some # machines). # # Like this: # # my_options_prep () # { # $debug_cmd # # # Extend the existing usage message. # usage_message=$usage_message' # -s, --silent don'\''t print informational messages # ' # # No change in '$@' (ignored completely by this hook). Leave # # my_options_prep_result variable intact. # } # func_add_hook func_options_prep my_options_prep # # # my_silent_option () # { # $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=: # 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=: # ;; # *) # Make sure the first unrecognised option "$_G_opt" # # is added back to "$@" in case we need it later, # # if $args_changed was set to 'true'. # set dummy "$_G_opt" ${1+"$@"}; shift; break ;; # esac # done # # # Only call 'func_quote' here if we processed at least one argument. # if $args_changed; then # func_quote eval ${1+"$@"} # my_silent_option_result=$func_quote_result # fi # } # func_add_hook func_parse_options my_silent_option # # # my_option_validation () # { # $debug_cmd # # $opt_silent && $opt_verbose && func_fatal_help "\ # '--silent' and '--verbose' options are mutually exclusive." # } # func_add_hook func_validate_options my_option_validation # # 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 func_run_hooks func_options ${1+"$@"} func_propagate_result func_run_hooks func_options_finish } # func_options [ARG]... # --------------------- # All the functions called inside func_options are hookable. See the # individual implementations for details. func_hookable func_options func_options () { $debug_cmd _G_options_quoted=false for my_func in options_prep parse_options validate_options options_finish do func_unset func_${my_func}_result func_unset func_run_hooks_result eval func_$my_func '${1+"$@"}' func_propagate_result func_$my_func func_options if $func_propagate_result_result; then eval set dummy "$func_options_result"; shift _G_options_quoted=: fi done $_G_options_quoted || { # As we (func_options) are top-level options-parser function and # nobody quoted "$@" for us yet, we need to do it explicitly for # caller. func_quote eval ${1+"$@"} func_options_result=$func_quote_result } } # func_options_prep [ARG]... # -------------------------- # 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 propagate that back to rest of this script, then the complete # modified list must be put in 'func_run_hooks_result' before returning. func_hookable func_options_prep func_options_prep () { $debug_cmd # Option defaults: opt_verbose=false opt_warning_types= func_run_hooks func_options_prep ${1+"$@"} func_propagate_result func_run_hooks func_options_prep } # func_parse_options [ARG]... # --------------------------- # The main option parsing loop. func_hookable func_parse_options func_parse_options () { $debug_cmd _G_parse_options_requote=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+"$@"} func_propagate_result func_run_hooks func_parse_options if $func_propagate_result_result; then eval set dummy "$func_parse_options_result"; shift # Even though we may have changed "$@", we passed the "$@" array # down into the hook and it quoted it for us (because we are in # this if-branch). No need to quote it again. _G_parse_options_requote=false fi # Break out of the loop if we already parsed every option. test $# -gt 0 || break # We expect that one of the options parsed in this function matches # and thus we remove _G_opt from "$@" and need to re-quote. _G_match_parse_options=: _G_opt=$1 shift case $_G_opt in --debug|-x) debug_cmd='set -x' func_echo "enabling shell trace mode" >&2 $debug_cmd ;; --no-warnings|--no-warning|--no-warn) set dummy --warnings none ${1+"$@"} shift ;; --warnings|--warning|-W) if test $# = 0 && func_missing_arg $_G_opt; then _G_parse_options_requote=: break fi case " $warning_categories $1" in *" $1 "*) # trailing space prevents matching last $1 above func_append_uniq opt_warning_types " $1" ;; *all) opt_warning_types=$warning_categories ;; *none) opt_warning_types=none warning_func=: ;; *error) opt_warning_types=$warning_categories warning_func=func_fatal_error ;; *) func_fatal_error \ "unsupported warning category: '$1'" ;; esac shift ;; --verbose|-v) opt_verbose=: ;; --version) func_version ;; -\?|-h) func_usage ;; --help) func_help ;; # Separate optargs to long options (plugins may need this): --*=*) func_split_equals "$_G_opt" set dummy "$func_split_equals_lhs" \ "$func_split_equals_rhs" ${1+"$@"} shift ;; # Separate optargs to short options: -W*) func_split_short_opt "$_G_opt" set dummy "$func_split_short_opt_name" \ "$func_split_short_opt_arg" ${1+"$@"} shift ;; # Separate non-argument short options: -\?*|-h*|-v*|-x*) func_split_short_opt "$_G_opt" set dummy "$func_split_short_opt_name" \ "-$func_split_short_opt_arg" ${1+"$@"} shift ;; --) _G_parse_options_requote=: ; break ;; -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; *) set dummy "$_G_opt" ${1+"$@"}; shift _G_match_parse_options=false break ;; esac if $_G_match_parse_options; then _G_parse_options_requote=: fi done if $_G_parse_options_requote; then # save modified positional parameters for caller func_quote eval ${1+"$@"} func_parse_options_result=$func_quote_result fi } # func_validate_options [ARG]... # ------------------------------ # Perform any sanity checks on option settings and/or unconsumed # arguments. func_hookable func_validate_options func_validate_options () { $debug_cmd # 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+"$@"} func_propagate_result func_run_hooks func_validate_options # Bail if the options were screwed! $exit_cmd $EXIT_FAILURE } ## ----------------- ## ## Helper functions. ## ## ----------------- ## # This section contains the helper functions used by the rest of the # hookable option parser framework in ascii-betical order. # func_fatal_help ARG... # ---------------------- # Echo program name prefixed message to standard error, followed by # a help hint, and exit. func_fatal_help () { $debug_cmd eval \$ECHO \""Usage: $usage"\" eval \$ECHO \""$fatal_help"\" func_error ${1+"$@"} exit $EXIT_FAILURE } # func_help # --------- # Echo long help message to standard output and exit. func_help () { $debug_cmd func_usage_message $ECHO "$long_help_message" exit 0 } # func_missing_arg ARGNAME # ------------------------ # Echo program name prefixed message to standard error and set global # exit_cmd. func_missing_arg () { $debug_cmd func_error "Missing argument for '$1'." exit_cmd=exit } # func_split_equals STRING # ------------------------ # Set func_split_equals_lhs and func_split_equals_rhs shell variables # after splitting STRING at the '=' sign. test -z "$_G_HAVE_XSI_OPS" \ && (eval 'x=a/b/c; test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ && _G_HAVE_XSI_OPS=yes if test yes = "$_G_HAVE_XSI_OPS" then # This is an XSI compatible shell, allowing a faster implementation... eval 'func_split_equals () { $debug_cmd func_split_equals_lhs=${1%%=*} func_split_equals_rhs=${1#*=} if test "x$func_split_equals_lhs" = "x$1"; then func_split_equals_rhs= fi }' else # ...otherwise fall back to using expr, which is often a shell builtin. func_split_equals () { $debug_cmd func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` func_split_equals_rhs= test "x$func_split_equals_lhs=" = "x$1" \ || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` } fi #func_split_equals # func_split_short_opt SHORTOPT # ----------------------------- # Set func_split_short_opt_name and func_split_short_opt_arg shell # variables after splitting SHORTOPT after the 2nd character. if test yes = "$_G_HAVE_XSI_OPS" then # This is an XSI compatible shell, allowing a faster implementation... eval 'func_split_short_opt () { $debug_cmd func_split_short_opt_arg=${1#??} func_split_short_opt_name=${1%"$func_split_short_opt_arg"} }' else # ...otherwise fall back to using expr, which is often a shell builtin. func_split_short_opt () { $debug_cmd func_split_short_opt_name=`expr "x$1" : 'x\(-.\)'` func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` } fi #func_split_short_opt # func_usage # ---------- # Echo short help message to standard output and exit. func_usage () { $debug_cmd func_usage_message $ECHO "Run '$progname --help |${PAGER-more}' for full usage" exit 0 } # func_usage_message # ------------------ # Echo short help message to standard output. func_usage_message () { $debug_cmd eval \$ECHO \""Usage: $usage"\" echo $SED -n 's|^# || /^Written by/{ x;p;x } h /^Written by/q' < "$progpath" echo eval \$ECHO \""$usage_message"\" } # func_version # ------------ # Echo version message to standard output and exit. # The version message is extracted from the calling file's header # comments, with leading '# ' stripped: # 1. First display the progname and version # 2. Followed by the header comment line matching /^# Written by / # 3. Then a blank line followed by the first following line matching # /^# Copyright / # 4. Immediately followed by any lines between the previous matches, # except lines preceding the intervening completely blank line. # For example, see the header comments of this file. func_version () { $debug_cmd printf '%s\n' "$progname $scriptversion" $SED -n ' /^# Written by /!b s|^# ||; p; n :fwd2blnk /./ { n b fwd2blnk } p; n :holdwrnt s|^# || s|^# *$|| /^Copyright /!{ /./H n b holdwrnt } s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| G s|\(\n\)\n*|\1|g p; q' < "$progpath" exit $? } # Local variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-pattern: "30/scriptversion=%:y-%02m-%02d.%02H; # UTC" # time-stamp-time-zone: "UTC" # End: #! /bin/sh # Extract macro arguments from autotools input with GNU M4. # Written by Gary V. Vaughan, 2010 # # This is free software. There is NO warranty; not even for # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # # Copyright (C) 2010-2019, 2021 Bootstrap Authors # # This file is dual licensed under the terms of the MIT license #
, and GPL version 2 or later #
. You must apply one of # these licenses when using or redistributing this software or any of # the files within it. See the URLs above, or the file `LICENSE` # included in the Bootstrap distribution for the full license texts. # Please report bugs or propose patches to: #
# Make sure we've evaluated scripts we depend on. test -z "$progpath" && . `echo "$0" |${SED-sed} 's|[^/]*$||'`/funclib.sh test extract-trace = "$progname" && . `echo "$0" |${SED-sed} 's|[^/]*$||'`/options-parser # Set a version string. scriptversion=2019-02-19.15; # UTC ## ------ ## ## Usage. ## ## ------ ## # Run './extract-trace --help' for help with using this script from the # command line. # # Or source first 'options-parser' and then this file into your own # scripts in order to make use of the function and variable framework # they define, and also to avoid the overhead of forking to run this # script in its own process on every call. ## ----------------- ## ## Helper functions. ## ## ----------------- ## # This section contains the helper functions used by the rest of # 'extract-trace'. # func_autoconf_configure MAYBE-CONFIGURE-FILE # -------------------------------------------- # Ensure that MAYBE-CONFIGURE-FILE is the name of a file in the current # directory that contains an uncommented call to AC_INIT. func_autoconf_configure () { $debug_cmd _G_sed_no_comment=' s|#.*$|| s|^dnl .*$|| s| dnl .*$||' _G_ac_init= # If we were passed a genuine file, make sure it calls AC_INIT. test -f "$1" \ && _G_ac_init=`$SED "$_G_sed_no_comment" "$1" |$GREP AC_INIT` # Otherwise it is not a genuine Autoconf input file. test -n "$_G_ac_init" _G_status=$? test 0 -ne "$_G_status" \ && func_verbose "'$1' not using Autoconf" (exit $_G_status) } # func_tool_version_output CMD [FATAL-ERROR-MSG] # ---------------------------------------------- # Attempt to run 'CMD --version', discarding errors. The output can be # ignored by redirecting stdout, and this function used simply to test # whether the command exists and exits normally when passed a # '--version' argument. # When FATAL-ERROR-MSG is given, then this function will display the # message and exit if running 'CMD --version' returns a non-zero exit # status. func_tool_version_output () { $debug_cmd _G_cmd=$1 _G_fatal_error_msg=$2 # Some tools, like 'git2cl' produce thousands of lines of output # unless stdin is /dev/null - in that case we want to return # successfully without saving all of that output. Other tools, # such as 'help2man' exit with a non-zero status when stdin comes # from /dev/null, so we re-execute without /dev/null if that # happens. This means that occasionally, the output from both calls # ends up in the result, but the alternative would be to discard the # output from one call, and hope the other produces something useful. { $_G_cmd --version /dev/null _G_status=$? test 0 -ne "$_G_status" && test -n "$_G_fatal_error_msg" \ && func_fatal_error "$_G_fatal_error_msg" (exit $_G_status) } # func_tool_version_number CMD [FATAL-ERROR-MSG] # ---------------------------------------------- # Pass arguments to func_tool_version_output, but set # $func_tool_version_number_result to the last dot delimited digit string # on the first line of output. func_tool_version_number () { $debug_cmd _G_verout=`func_tool_version_output "$@"` _G_status=$? # A version number starts with a digit following a space on the first # line of output from `--version`. _G_verout=`echo "$_G_verout" |sed 1q` if test -n "$_G_verout"; then _G_vernum=`expr "$_G_verout" : '.* \([0-9][^ ]*\)'` fi if test -n "$_G_vernum"; then printf '%s\n' "$_G_vernum" else printf '%s\n' "$_G_verout" fi (exit $_G_status) } # func_find_tool ENVVAR NAMES... # ------------------------------ # Search for a required program. Use the value of ENVVAR, if set, # otherwise find the first of the NAMES that can be run (i.e., # supports --version). If found, set ENVVAR to the program name, # die otherwise. func_find_tool () { $debug_cmd _G_find_tool_envvar=$1 shift _G_find_tool_names=$@ eval "_G_find_tool_res=\$$_G_find_tool_envvar" if test -n "$_G_find_tool_res"; then _G_find_tool_error_prefix="\$$find_tool_envvar: " else _G_find_tool_res= _G_bestver= for _G_prog do _G_find_tool_save_IFS=$IFS IFS=${PATH_SEPARATOR-:} for _G_dir in $PATH; do IFS=$_G_find_tool_save_IFS _G_progpath=$_G_dir/$_G_prog test -r "$_G_progpath" && { _G_curver=`func_tool_version_number $_G_progpath` case $_G_bestver,$_G_curver in ,) # first non--version responsive prog sticks! test -n "$_G_progpath" || _G_find_tool_res=$_G_progpath ;; ,*) # first --version responsive prog beats non--version responsive! _G_find_tool_res=$_G_progpath _G_bestver=$_G_curver ;; *,*) # another --version responsive prog must be newer to beat previous one! test "x$_G_curver" = "x$_G_bestver" \ || func_lt_ver "$_G_curver" "$_G_bestver" \ || { _G_find_tool_res=$_G_progpath _G_bestver=$_G_curver } ;; esac } done IFS=$_G_find_tool_save_IFS done fi if test -n "$_G_find_tool_res"; then func_tool_version_number >/dev/null $_G_find_tool_res "\ ${_G_find_tool_error_prefix}Cannot run '$_G_find_tool_res --version'" # Make sure the result is exported to the environment for children # to use. eval "$_G_find_tool_envvar=\$_G_find_tool_res" eval "export $_G_find_tool_envvar" else func_error "\ One of these is required: $_G_find_tool_names" fi } ## -------------------- ## ## Resource management. ## ## -------------------- ## # This section contains definitions for functions that each ensure a # particular resource (a file, or a non-empty configuration variable for # example) is available, and if appropriate to extract default values # from pertinent package files. Where a variable already has a non- # empty value (as set by the package's 'bootstrap.conf'), that value is # used in preference to deriving the default. Call them using their # associated 'require_*' variable to ensure that they are executed, at # most, once. # # It's entirely deliberate that calling these functions can set # variables that don't obey the namespace limitations obeyed by the rest # of this file, in order that that they be as useful as possible to # callers. # require_configure_ac # -------------------- # Ensure that there is a 'configure.ac' or 'configure.in' file in the # current directory that contains an uncommented call to AC_INIT, and # that '$configure_ac' contains its name. require_configure_ac=func_require_configure_ac func_require_configure_ac () { $debug_cmd test -z "$configure_ac" \ && func_autoconf_configure configure.ac && configure_ac=configure.ac test -z "$configure_ac" \ && func_autoconf_configure configure.in && configure_ac=configure.in test -z "$configure_ac" \ || func_verbose "found '$configure_ac'" require_configure_ac=: } # require_gnu_m4 # -------------- # Search for GNU M4, and export it in $M4. require_gnu_m4=func_require_gnu_m4 func_require_gnu_m4 () { $debug_cmd test -n "$M4" || { # Find the first m4 binary that responds to --version. func_find_tool M4 gm4 gnum4 m4 } test -n "$M4" || func_fatal_error "\ Please install GNU M4, or 'export M4=/path/to/gnu/m4'." func_verbose "export M4='$M4'" # Make sure the search result is visible to subshells export M4 require_gnu_m4=: } ## --------------- ## ## Core functions. ## ## --------------- ## # This section contains the high level functions used when calling this # file as a script. 'func_extract_trace' is probably the only one that you # won't want to replace if you source this file into your own script. # func_extract_trace MACRO_NAMES [FILENAME]... # -------------------------------------------- # set '$func_extract_trace_result' to a colon delimited list of arguments # to any of the comma separated list of MACRO_NAMES in FILENAME. If no # FILENAME is given, then '$configure_ac' is assumed. func_extract_trace () { $debug_cmd $require_configure_ac $require_gnu_m4 _G_m4_traces=`$ECHO "--trace=$1" |$SED 's%,% --trace=%g'` _G_re_macros=`$ECHO "($1)" |$SED 's%,%|%g'` _G_macros="$1"; shift test $# -gt 0 || { set dummy $configure_ac shift } # Generate an error if the first file is missing <"$1" # Sadly, we can't use 'autom4te' tracing to extract macro arguments, # because it complains about things we want to ignore at bootstrap # time - like missing m4_include files; AC_PREREQ being newer than # the installed autoconf; and returns nothing when tracing # 'AM_INIT_AUTOMAKE' when aclocal hasn't been generated yet. # # The following tries to emulate a less persnickety version of (and # due to not having to wait for Perl startup on every invocation, # it's probably faster too): # # autom4te --language=Autoconf --trace=$my_macro:\$% "$@" # # First we give a minimal set of macro declarations to M4 to prime # it for reading Autoconf macros, while still providing some of the # functionality generally used at m4-time to supply dynamic # arguments to Autocof functions, but without following # 'm4_s?include' files. _G_mini=' 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])]) 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]) 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_rename([m4_patsubst], [m4_bpatsubst]) m4_rename([m4_regexp], [m4_bregexp]) 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, [$0([$1], m4_shift3($@))], [$3])])]) m4_define([m4_ifndef], [m4_ifdef([$1], [$3], [$2])]) m4_define([m4_ifset], [m4_ifdef([$1], [m4_ifval(m4_defn([$1]), [$2], [$3])], [$3])]) m4_define([m4_require], [$1]) m4_define([m4_shift3], [m4_shift(m4shift(m4shift($@)))]) dnl "autoconf.mini" - things from autoconf macros we care about. m4_copy([m4_defun], [AC_DEFUN]) dnl Dummy definitions for the macros we want to trace. dnl AM_INIT_AUTOMAKE at least produces no trace without this. ' _G_save=$IFS IFS=, for _G_macro in $_G_macros; do IFS=$_G_save func_append _G_mini "AC_DEFUN([$_G_macro])$nl" done IFS=$_G_save # We discard M4's stdout, but the M4 trace output from reading our # "autoconf.mini" followed by any other files passed to this # function is then scanned by sed to transform it into a colon # delimited argument list assigned to a shell variable. _G_transform='s|#.*$||; s|^dnl .*$||; s| dnl .*$||;' # Unfortunately, alternation in regexp addresses doesn't work in at # least BSD (and hence Mac OS X) sed, so we have to append a capture # and print block for each traced macro to the sed transform script. _G_save=$IFS IFS=, for _G_macro in $_G_macros; do IFS=$_G_save func_append _G_transform ' /^m4trace: -1- '"$_G_macro"'/ { s|^m4trace: -1- '"$_G_macro"'[([]*|| s|], [[]|:|g s|[])]*$|:| s|\(.\):$|\1| p }' done IFS=$_G_save # Save the command pipeline results for further use by callers of # this function. func_extract_trace_result=`$ECHO "$_G_mini" \ |$M4 -daq --prefix $_G_m4_traces - "$@" 2>&1 1>/dev/null \ |$SED -n -e "$_G_transform"` } # func_extract_trace_first MACRO_NAMES [FILENAME]... # -------------------------------------------------- # Exactly like func_extract_trace, except that only the first argument # to the first invocation of one of the comma separated MACRO_NAMES is # returned in '$func_extract_trace_first_result'. func_extract_trace_first () { $debug_cmd func_extract_trace ${1+"$@"} func_extract_trace_first_result=`$ECHO "$func_extract_trace_result" \ |$SED -e 's|:.*$||g' -e 1q` } # func_main [ARG]... # ------------------ func_main () { $debug_cmd # Configuration. usage='$progname MACRO_NAME FILE [...]' long_help_message=' The first argument to this program is the name of an autotools macro whose arguments you want to extract by examining the files listed in the remaining arguments using the same tool that Autoconf and Automake use, GNU M4. The arguments are returned separated by colons, with each traced call on a separate line.' # Option processing. func_options "$@" eval set dummy "$func_options_result"; shift # Validate remaining non-option arguments. test $# -gt 1 \ || func_fatal_help "not enough arguments" # Pass non-option arguments to extraction function. func_extract_trace "$@" # Display results. test -n "$func_extract_trace_result" \ && $ECHO "$func_extract_trace_result" # The End. exit $EXIT_SUCCESS } ## --------------------------- ## ## Actually perform the trace. ## ## --------------------------- ## # Only call 'func_main' if this script was called directly. test extract-trace = "$progname" && func_main "$@" # Local variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-pattern: "50/scriptversion=%:y-%02m-%02d.%02H; # UTC" # time-stamp-time-zone: "UTC" # End: # Set a version string. scriptversion='(GNU libtool) 2.4.7' ## ---------------- ## ## Options parsing. ## ## ---------------- ## # Hook in the functions to make sure our own options are parsed during # the option parsing loop. usage='$progpath [OPTION]...' # Short help message in response to '-h'. usage_message="Options: -c, --copy copy files rather than symlinking them --debug enable verbose shell tracing -n, --dry-run print commands rather than running them -f, --force replace existing files -i, --install copy missing auxiliary files --ltdl[=DIR] install libltdl sources [default: libltdl] --no-warnings equivalent to '-Wnone' --nonrecursive prepare ltdl for non-recursive make -q, --quiet work silently --recursive prepare ltdl for recursive make --subproject prepare ltdl to configure and build independently -v, --verbose verbosely report processing --version print version information and exit -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] -h, --help print short or long help message " # Additional text appended to 'usage_message' in response to '--help'. func_help () { $debug_cmd func_usage_message $ECHO "$long_help_message 'environment' show warnings about LIBTOOLIZE_OPTIONS content 'file' show warnings about file copying and linking The following space or comma delimited options can be passed to $progname via the environment variable LIBTOOLIZE_OPTIONS, unknown environment options are ignored: --debug enable verbose shell tracing --no-warnings don't display warning messages --quiet work silently --verbose verbosely report processing You must 'cd' to the top directory of your package before you run '$progname'. When reporting a bug, please describe a test case to reproduce it and include the following information: host-triplet: x86_64-pc-linux-gnu version: $progname $scriptversion Debian-2.4.7-7~deb12u1 automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` Report bugs to
. GNU libtool home page:
. General help using GNU software:
." exit 0 } warning_categories='environment file' # libtoolize_environment_options [ARG]... # --------------------------------------- # Parse environment options. libtoolize_environment_options () { $debug_mode my_sed_env_opt='1s/^\([^,:; ]*\).*$/\1/;q' my_sed_env_rest='1s/^[^,:; ]*[,:; ]*\(.*\)$/\1/;q' while test -n "$LIBTOOLIZE_OPTIONS"; do opt=`echo "$LIBTOOLIZE_OPTIONS" | $SED "$my_sed_env_opt"` LIBTOOLIZE_OPTIONS=`echo "$LIBTOOLIZE_OPTIONS" | $SED "$my_sed_env_rest"` case $opt in --debug|--no-warn|--no-warning|--no-warnings|--quiet|--verbose) envopts="${envopts+$envopts }$opt" ;; --*) env_warning="${env_warning+$env_warning }unrecognized environment option '$opt'" ;; *) func_fatal_help "garbled LIBTOOLIZE_OPTIONS near '$opt'" ;; esac done # Pass back the updated list of options. if test -n "$envopts"; then func_quote eval "$envopts" ${1+"$@"} else func_quote eval ${1+"$@"} fi libtoolize_environment_options_result=$func_quote_result } func_add_hook func_options_prep libtoolize_environment_options # libtoolize_options_prep [ARG]... # -------------------------------- # Preparation for options parsed by libtoolize. libtoolize_options_prep () { $debug_cmd # Option defaults: opt_copy=false opt_dry_run=false opt_force=false opt_install=false opt_ltdl=false opt_nonrecursive=false opt_quiet=false opt_recursive=false opt_subproject=false ltdl_mode= } func_add_hook func_options_prep libtoolize_options_prep # libtoolize_parse_options [ARG]... # --------------------------------- # Provide handling for libtoolize specific options. libtoolize_parse_options () { $debug_cmd # Perform our own loop to consume as many options as possible in # each iteration. while test $# -gt 0; do _G_opt=$1 shift case $_G_opt in --copy|-c) opt_copy=: ;; --dry-run|--dryrun|-n) $opt_dry_run || { opt_dry_run=: CP="func_echo_all $CP" test -n "$LN_S" && LN_S="func_echo_all $LN_S" MKDIR="func_echo_all $MKDIR" RM="func_echo_all $RM" } ;; --force|-f) opt_force=: ;; --install|-i) opt_install=: ;; --ltdl) opt_ltdl=: if test 0 -lt $#; then case $1 in -*) ;; *) ltdl_dir=`$ECHO "$1" | $SED 's|/*$||'` shift ;; esac fi ;; --nonrecursive|--non-recursive) opt_nonrecursive=: ;; --quiet|--automake|-q) # --automake is for 1.5 compatibility opt_quiet=: ;; --recursive) opt_recursive=: ;; --subproject) opt_subproject=: ;; # Separate non-argument short options: -c*|-f*|-i*|-n*|-q*) func_split_short_opt "$_G_opt" set dummy "$func_split_short_opt_name" \ "-$func_split_short_opt_arg" ${1+"$@"} shift ;; # An option not handled by this hook function: *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; esac done # save modified positional parameters for caller func_quote eval ${1+"$@"} libtoolize_parse_options_result=$func_quote_result } func_add_hook func_parse_options libtoolize_parse_options # libtoolize_validate_options [ARG]... # ------------------------------------ # Perform any sanity checks on option settings and/or unconsumed # arguments. libtoolize_validate_options () { # show any warnings saved by LIBTOOLIZE_OPTIONS parsing test -n "$env_warning" && func_warning environment "$env_warning" # validate $opt_nonrecursive, $opt_recursive and $opt_subproject if $opt_nonrecursive; then if $opt_recursive || $opt_subproject; then func_error "you can have at most one of --non-recursive, --recursive and --subproject" fi ltdl_mode=nonrecursive elif $opt_recursive; then $opt_subproject && func_error "you can have at most one of --non-recursive, --recursive and --subproject" ltdl_mode=recursive elif $opt_subproject; then ltdl_mode=subproject fi # any remaining arguments are an error test 0 -lt $# && func_fatal_help "unknown additional arguments: '${1+$@}'" # Pass back the empty argument list func_quote eval ${1+"$@"} libtoolize_validate_options_result=$func_quote_result } func_add_hook func_validate_options libtoolize_validate_options # Process options as early as possible so that --help and --version # can return quickly. func_options ${1+"$@"} eval set dummy "$func_options_result"; shift # func_notquiet_once MSG_VAR # -------------------------- # Call func_notquiet with the value of MSG_VAR, and then set MSG_VAR='' so # that subsequent calls will have no effect. func_notquiet_once () { $debug_cmd if test -n "$1"; then eval my_msg=\$$1 if test -n "$my_msg"; then func_notquiet "$my_msg" eval $1= fi fi } # func_notquiet_hdr MSG_VAR ARG... # -------------------------------- # With at least 1 non-empty ARG, call func_notquiet_once with MSG_VAR, # and then func_notquiet with the remaining arguments. func_notquiet_hdr () { $debug_cmd my_msg_var=$1; shift test -n "$*" || return func_notquiet_once "$my_msg_var" func_notquiet "$*" } # func_notquiet_error_hdr MSG_VAR ARG... # -------------------------------------- # Much the same as func_notquiet_header, but for (non-fatal) error # messages. func_notquiet_error_hdr () { $debug_cmd my_msg_var=$1; shift test -n "$*" || return func_notquiet_once "$my_msg_var" func_error "$*" exit_status=$EXIT_FAILURE } # func_copy FILENAME SRCDIR DESTDIR [MSG_VAR [FILTER]] # ---------------------------------------------------- # If option '--copy' was specified, or soft-linking SRCFILE to DESTFILE # fails, then try to copy SRCFILE to DESTFILE (making sure to update the # timestamp so that a series of files with dependencies can be copied # in the right order that their timestamps won't trigger rebuilds). If # FILTER is non-empty, it is a sed script to apply to SRCFILE as it is # copied. MSG_VAR names a variable for use with func_notquiet_hdr. func_copy () { $debug_cmd my_filename=$1 my_srcdir=$2 my_destdir=$3 my_msg_var=$4 my_filter=$5 my_srcfile=$my_srcdir/$my_filename my_destfile=$my_destdir/$my_filename # Libtool is probably misinstalled if this happens: test -f "$my_srcfile" || { func_notquiet_error_hdr "$my_msg_var" "'$my_srcfile' not found" return 1 } # Require --force to remove existing $my_destfile. $opt_force && $RM "$my_destfile" test -f "$my_destfile" && { func_notquiet_error_hdr "$my_msg_var" \ "'$my_destfile' exists: use '--force' to overwrite" return 1 } # Be careful to support 'func_copy dir/target srcbase destbase'. func_dirname "$my_destfile" func_mkdir_p "$func_dirname_result" # Filters always take priority. if test -n "$my_filter"; then if $opt_dry_run || $SED -e "$my_filter" "$my_srcfile" > "$my_destfile" 2>/dev/null then func_notquiet_once "$my_msg_var" if $opt_verbose; then func_notquiet "$SED -e '$my_filter' $my_srcfile > $my_destfile" else func_notquiet "creating file '$my_destfile'" fi else func_notquiet_error_hdr "$my_msg_var" "creating '$my_destfile' from '$my_srcfile' failed" return 1 fi return 0 fi # Otherwise copy or link according to '--copy' option. if $opt_copy; then my_copycmd=$CP my_copy_type=copying else my_copycmd=$LN_S my_copy_type=linking fi my_copy_msg="$my_copy_type file '$my_destfile'" $opt_verbose && my_copy_msg="$my_copycmd $my_srcfile $my_destdir" if $opt_dry_run || $my_copycmd "$my_srcfile" "$my_destfile" 2>/dev/null then func_notquiet_hdr "$my_msg_var" "$my_copy_msg" else func_notquiet_error_hdr "$my_msg_var" \ "$my_copy_type '$my_srcdir/$my_filename' to '$my_destdir/' failed" return 1 fi } # func_included_files SEARCHFILE # ------------------------------ # Output INCLUDEFILE if SEARCHFILE m4_includes it, else output SEARCHFILE. func_included_files () { $debug_cmd my_searchfile=$1 my_include_regex= my_sed_include=' /^m4_include(\[.*\])$/ { s|^m4_include(\[\(.*\)\])$|\1| p } d' if test -f "$my_searchfile"; then $ECHO "$my_searchfile" # Only recurse when we don't care if all the variables we use get # trashed, since they are in global scope. for my_filename in `$SED "$my_sed_include" "$my_searchfile"`; do func_included_files $my_filename done fi } # func_serial FILENAME [MACRO_REGEX] # ---------------------------------- # Output the value of the serial number comment in FILENAME, where the # comment line must also match MACRO_REGEX, if given. func_serial () { $debug_cmd my_filename=$1 my_macro_regex=$2 my_sed_serial=' /^# serial [1-9][0-9.]*[ ]*'"$my_macro_regex"'[ ]*$/ { s|^# serial \([1-9][0-9.]*\).*$|\1| q } d' # Search FILENAME and all the files it m4_includes for a serial number # in the file that AC_DEFUNs MACRO_REGEX. my_serial= func_dirname_and_basename "$my_filename" my_filebase=$func_basename_result for my_file in `func_included_files "$my_filename"`; do if test -z "$my_macro_regex" || test aclocal.m4 = "$my_filename" || test "X$my_macro_regex" = "X$my_filebase" || func_grep '^AC_DEFUN(\['"$my_macro_regex" "$my_file" then my_serial=`$SED -e "$my_sed_serial" "$my_file"` break fi done # If the file has no serial number, we assume it's ancient. test -n "$my_serial" || my_serial=0 $ECHO "$my_serial" } # func_serial_max SERIAL1 SERIAL2 # ------------------------------- # Compare (possibly multi-part, '.' delimited) serial numbers, and # return the largest in $func_serial_max_result. If they are the # same, func_serial_max_result will be empty. func_serial_max () { $debug_cmd my_serial1=$1 my_serial2=$2 my_sed_dot='s/\..*$//g' my_sed_rest='s/^[0-9][1-9]*\.*//' my_sed_digits='s/[^0-9.]//g' # Incase they turn out to be the same, we'll set it to empty func_serial_max_result= test "X$1$2" = X`$ECHO "$1$2" | $SED "$my_sed_digits"` || { func_error "serial numbers '$1' or '$2' contain non-digit chars" return } while test -n "$my_serial1$my_serial2"; do my_serial1_part=`$ECHO "$my_serial1" | $SED "$my_sed_dot"` my_serial2_part=`$ECHO "$my_serial2" | $SED "$my_sed_dot"` test -z "$my_serial1_part$my_serial2_part" \ && break test -z "$my_serial1_part" \ && { func_serial_max_result=$2; break; } test -z "$my_serial2_part" \ && { func_serial_max_result=$1; break; } test "$my_serial1_part" -gt "$my_serial2_part" \ && { func_serial_max_result=$1; break; } test "$my_serial2_part" -gt "$my_serial1_part" \ && { func_serial_max_result=$2; break; } my_serial1=`$ECHO "$my_serial1" | $SED "$my_sed_rest"` my_serial2=`$ECHO "$my_serial2" | $SED "$my_sed_rest"` done } # func_serial_update_check SRCFILE SRC_SERIAL DESTFILE DEST_SERIAL # ---------------------------------------------------------------- # Unless SRC_SERIAL is newer than DEST_SERIAL set $func_serial_update_check # to 'false'. func_serial_update_check () { $debug_cmd $require_ac_ltdl_dir $require_ac_macro_dir my_srcfile=$1 my_src_serial=$2 my_destfile=$3 my_dest_serial=$4 my_update_p=: if test -f "$my_destfile"; then test 0 = "$my_src_serial" && { func_warning file "no serial number on '$my_srcfile', not copying." return } # Determine whether the destination has an older serial. func_serial_max "$my_src_serial" "$my_dest_serial" test "X$my_src_serial" = "X$func_serial_max_result" || my_update_p=false test "X$my_src_serial" = "X$func_serial_max_result" \ && func_verbose "'$my_srcfile' is serial $my_src_serial, greater than $my_dest_serial in '$my_destfile'" if test "X$my_dest_serial" = "X$func_serial_max_result"; then func_verbose "'$my_srcfile' is serial $my_src_serial, less than $my_dest_serial in '$my_destfile'" $opt_force || if test -n "$ac_macro_dir$ac_ltdl_dir"; then func_error "'$my_destfile' is newer: use '--force' to overwrite" fi fi fi func_serial_update_check_result=$my_update_p } # func_aclocal_update_check FILENAME # ---------------------------------- # Unless serial number of FILENAME is newer than the matching serial number # in aclocal.m4, set $func_aclocal_update_check to 'false'. func_aclocal_update_check () { $debug_cmd my_filename=$1 my_srcfile=$aclocaldir/$1 my_destfile=aclocal.m4 case $my_filename in libtool.m4) my_src_serial=`func_serial "$my_srcfile" LT_INIT` my_dest_serial=`func_serial "$my_destfile" LT_INIT` # Strictly, this libtoolize ought not to have to deal with ancient # serial formats, but we accept them here to be complete: test 0 = "$my_src_serial" && my_src_serial=`func_serial "$my_srcfile" 'A[CM]_PROG_LIBTOOL'` test 0 = "$my_dest_serial" && my_dest_serial=`func_serial "$my_destfile" 'A[CM]_PROG_LIBTOOL'` ;; ltdl.m4) my_src_serial=`func_serial "$my_srcfile" LTDL_INIT` my_dest_serial=`func_serial "$my_destfile" LTDL_INIT` ;; *) my_src_serial=`func_serial "$my_srcfile" "$my_filename"` my_dest_serial=`func_serial "$my_destfile" "$my_filename"` ;; esac func_serial_update_check \ "$my_srcfile" "$my_src_serial" "$my_destfile" "$my_dest_serial" func_aclocal_update_check_result=$func_serial_update_check_result } # func_serial_update FILENAME SRCDIR DESTDIR [MSG_VAR] [MACRO_RE] [OLD_MACRO_RE] # ------------------------------------------------------------------------------ # Copy the FILENAME from a SRCDIR to DESTDIR provided that either FILENAME # has a newer serial number, or DESTFILE does not yet exist, or the user # specified '--force' at the command line. If given, MACRO_REGEX or # OLD_MACRO_REGEX must match any text after "# serial N" in both files. func_serial_update () { $debug_cmd my_filename=$1 my_srcdir=$2 my_destdir=$3 my_msg_var=$4 my_macro_regex=$5 my_old_macro_regex=$6 my_serial_update_p=: my_return_status=1 my_srcfile=$my_srcdir/$my_filename my_destfile=$my_destdir/$my_filename test -f "$my_srcfile" || func_fatal_error "'$my_srcfile' does not exist." if test -f "$my_destfile"; then my_src_serial=`func_serial "$my_srcfile" "$my_macro_regex"` my_dest_serial=`func_serial "$my_destfile" "$my_macro_regex"` # Strictly, this libtoolize ought not to have to deal with ancient # serial formats, but we accept them here to be complete: test 0 = "$my_src_serial" && my_src_serial=`func_serial "$my_srcfile" "$my_old_macro_regex"` test 0 = "$my_dest_serial" && my_dest_serial=`func_serial "$my_destfile" "$my_old_macro_regex"` func_serial_update_check \ "$my_srcfile" "$my_src_serial" "$my_destfile" "$my_dest_serial" my_serial_update_p=$func_serial_update_check_result fi if $my_serial_update_p || $opt_force; then $RM "$my_destfile" func_copy "$my_filename" "$my_srcdir" "$my_destdir" "$my_msg_var" my_return_status=$? elif $opt_force && test "X$my_dest_serial" = "X$my_src_serial"; then func_notquiet_hdr "$my_msg_var" "'$my_destfile' is already up to date." fi # Do this after the copy for hand maintained 'aclocal.m4', incase # it has 'm4_include([DESTFILE])', so the copy effectively already # updated 'aclocal.m4'. my_included_files=`func_included_files aclocal.m4` case `echo " "$my_included_files" "` in # Skip included files: *" $my_destfile "*) ;; # Otherwise compare to aclocal.m4 serial number (func_serial # returns 0 for older macro serial numbers before we provided # serial tags, so the update message will be correctly given # if aclocal.m4 contains an untagged --i.e older-- macro file): *) if test -f aclocal.m4; then func_serial_max \ "$my_src_serial" `func_serial aclocal.m4 "$my_macro_regex"` if test "X$my_src_serial" = "X$func_serial_max_result"; then func_notquiet_hdr "$my_msg_var" \ "You should add the contents of '$my_destfile' to 'aclocal.m4'." fi fi ;; esac return $my_return_status } # func_keyword_update FILENAME SRCDIR DESTDIR SED_SCRIPT [MSG_VAR] # ---------------------------------------------------------------- # Copy the FILENAME from a SRCDIR to DESTDIR provided that either FILENAME # has a newer revision according to the serial number extracted by # SED_SCRIPT, or DESTFILE does not yet exist, or the user specified # '--force' at the command line. func_keyword_update () { $debug_cmd my_filename=$1 my_srcdir=$2 my_destdir=$3 my_sed_script=$4 my_msg_var=$5 my_srcfile=$my_srcdir/$my_filename my_destfile=$my_destdir/$my_filename my_keyword_update_p=: test -f "$my_srcfile" || func_fatal_error "'$my_srcfile' does not exist." if test -f "$my_destfile"; then my_src_serial=`$SED -e "$my_sed_script" "$my_srcfile"` test -z "$my_src_serial" && { func_warning file "no serial number in '$my_srcfile', not copying." return } my_dest_serial=`$SED -e "$my_sed_script" "$my_destfile"` test -n "$my_dest_serial" || my_dest_serial=0 func_serial_update_check \ "$my_srcfile" "$my_src_serial" "$my_destfile" "$my_dest_serial" my_keyword_update_p=$func_serial_update_check_result fi if $my_keyword_update_p || $opt_force; then $RM "$my_destfile" func_copy "$my_filename" "$my_srcdir" "$my_destdir" "$my_msg_var" elif $opt_verbose || $opt_force && test "X$my_dest_serial" = "X$my_src_serial"; then func_notquiet_hdr "$my_msg_var" "'$my_destfile' is already up to date." fi } # func_ltmain_update FILENAME SRCDIR DESTDIR [MSG_VAR] # ---------------------------------------------------- # Copy the FILENAME from a SRCDIR to DESTDIR provided that either FILENAME # has a newer revision, or DESTFILE does not yet exist, or the user # specified '--force' at the command line. func_ltmain_update () { $debug_cmd my_sed_ltmain=' /^package_revision='\''*[0-9][1-9.]*'\''*/ { s|^package_revision='\''*\([0-9.]*\)'\''*[ ]*$|\1| p } d' func_keyword_update "$1" "$2" "$3" "$my_sed_ltmain" "$4" return $my_return_status } # func_config_update FILENAME SRCDIR DESTDIR [MSG_VAR] # ---------------------------------------------------- # Copy the FILENAME from a SRCDIR to DESTDIR provided that either FILENAME # has a newer timestamp, or DESTFILE does not yet exist, or the user # specified '--force' at the command line. func_config_update () { $debug_cmd my_sed_config=' /^timestamp='\''*[0-9][1-9-]*'\''*/ { s|^timestamp='\''*\([0-9-]*\)'\''*|\1| s|-|.|g p } d' func_keyword_update "$1" "$2" "$3" "$my_sed_config" "$4" return $my_return_status } # func_install_update FILENAME SRCDIR DESTDIR [MSG_VAR] # ----------------------------------------------------- # Copy the FILENAME from a SRCDIR to DESTDIR provided that either FILENAME # has a newer timestamp, or DESTFILE does not yet exist, or the user # specified '--force' at the command line. func_install_update () { $debug_cmd my_sed_install=' /^scriptversion='\''*[0-9][1-9.-]*'\''*/ { s|[#;].*|| s|^scriptversion='\''*\([0-9.-]*\)'\''*|\1| s|-|.|g p } d' func_keyword_update "$1" "$2" "$3" "$my_sed_install" "$4" return $my_return_status } # func_install_pkgmacro_files # --------------------------- # Install copies of the libtool and libltdl m4 macros into this package. func_install_pkgmacro_files () { $debug_cmd $require_ac_macro_dir $require_am_macro_dir $require_ltdl_mode $require_macro_dir $opt_ltdl || test -n "$ac_macro_dir$am_macro_dir" || return # Remove any lingering files that my have been installed by some # previous libtoolize release: $opt_force && for file in $all_pkgmacro_files; do test -f "$macro_dir/$file" && func_verbose "rm -f '$macro_dir/$file'" rm -f "$macro_dir/$file" done # Install the libltdl autoconf macros to this project's source tree. $opt_quiet || if test -n "$ac_macro_dir"; then my_pkgmacro_header="putting macros in AC_CONFIG_MACRO_DIRS, '$ac_macro_dir'." else my_pkgmacro_header="putting macros in '$macro_dir'." fi for file in $pkgmacro_files; do case $file in libtool.m4) func_serial_update "$file" "$aclocaldir" "$macro_dir" \ my_pkgmacro_header LT_INIT 'A[CM]_PROG_LIBTOOL' ;; ltdl.m4) if $opt_ltdl; then func_serial_update "$file" "$aclocaldir" "$macro_dir" \ my_pkgmacro_header 'LTDL_INIT' else func_verbose "Not copying '$macro_dir/$file', libltdl not used." fi ;; ltoptions.m4|ltsugar.m4|ltversion.m4|lt~obsolete.m4) func_serial_update "$file" "$aclocaldir" "$macro_dir" \ my_pkgmacro_header "$file" ;; *) if $opt_ltdl; then func_serial_update "$file" "$aclocaldir" "$macro_dir" \ my_pkgmacro_header "$file" else func_verbose "Not copying '$macro_dir/$file', libltdl not used." fi ;; esac done } # func_install_pkgltdl_files # -------------------------- # Install copies of the libltdl files into this package. Any auxiliary # or m4 macro files needed in the libltdl tree will also be copied by # func_install_pkgaux_files and func_install_pkgmacro_files resp. func_install_pkgltdl_files () { $debug_cmd $opt_ltdl || return $require_ac_ltdl_dir $require_ltdl_dir $require_ltdl_mode # Remove any lingering files that my have been installed by some # previous libtoolize release: $opt_force && for file in $all_pkgltdl_files; do test -f "$ltdl_dir/$file" && func_verbose "rm -f '$ltdl_dir/$file'" rm -f "$ltdl_dir/$file" done # Copy all the files from installed libltdl to this project, if the # user specified '--ltdl'. $opt_quiet || if test -n "$ac_ltdl_dir"; then pkgltdl_header="putting libltdl files in LT_CONFIG_LTDL_DIR, '$ac_ltdl_dir'." else pkgltdl_header="putting libltdl files in '$ltdl_dir'." fi $require_filter_Makefile_am $require_filter_ltdl_mk # Copy ltdl sources appropriate to the requested ltdl_mode. for file in $pkgltdl_files; do my_copy_filter= case $file in Makefile.am|Makefile.in) test nonrecursive = "$ltdl_mode" && continue my_copy_filter=$filter_Makefile_am ;; ltdl.mk) test nonrecursive = "$ltdl_mode" || continue my_copy_filter=$filter_ltdl_mk ;; aclocal.m4) test subproject = "$ltdl_mode" && { $require_filter_aclocal_m4 # Always copy aclocal.m4, otherwise regenerating it can # overwrite the destination if it is symlinked. ( opt_copy=: func_copy "$file" "$pkgltdldir" "$ltdl_dir" \ pkgltdl_header "$filter_aclocal_m4" ) } continue ;; config-h.in) test subproject = "$ltdl_mode" || continue ;; configure) test subproject = "$ltdl_mode" && { $require_filter_configure_ac # Always copy configure, otherwise regenerating it can # overwrite the destination if it is symlinked. ( opt_copy=: func_copy "$file" "$pkgltdldir" "$ltdl_dir" \ pkgltdl_header "$filter_configure_ac" ) } continue ;; configure.ac) test subproject = "$ltdl_mode" || continue $require_filter_configure_ac my_copy_filter=$filter_configure_ac ;; esac # Still here? Copy the file then, with selected filters. func_copy "$file" "$pkgltdldir" "$ltdl_dir" \ pkgltdl_header "$my_copy_filter" # FIXME: Remove in 2013 # (along with deprecation warning in func_check_macros) test ltdl.mk = "$file" \ && func_grep "^-\?include $ltdl_dir/Makefile.inc\$" Makefile.am \ && mv "$ltdl_dir/$file" "$ltdl_dir/Makefile.inc" \ && func_notquiet "renaming file '$ltdl_dir/Makefile.inc'" done } # func_install_pkgaux_files # ------------------------- # Install copies of the auxiliary files into this package according to # the whether libltdl is included as a subproject, and whether the parent # shares the AC_CONFIG_AUX_DIR setting. func_install_pkgaux_files () { $debug_cmd $require_ac_aux_dir $require_aux_dir $require_configure_ac $require_ltdl_mode # Remove any lingering files that my have been installed by some # previous libtoolize release: $opt_force && for file in $all_pkgaux_files; do test -f "$aux_dir/$file" && func_verbose "rm -f '$aux_dir/$file'" rm -f "$aux_dir/$file" done if test -n "$ac_aux_dir"; then pkgaux_header="putting auxiliary files in AC_CONFIG_AUX_DIR, '$ac_aux_dir'." else pkgaux_header="putting auxiliary files in '$aux_dir'." fi for file in $pkgaux_files; do case $file in config.guess|config.sub) $opt_install || test subproject = "$ltdl_mode" || continue func_config_update "$file" "$pkgauxdir" "$aux_dir" pkgaux_header ;; install-sh) $opt_install || test subproject = "$ltdl_mode" || continue func_install_update "$file" "$pkgauxdir" "$aux_dir" pkgaux_header ;; ltmain.sh) func_ltmain_update "$file" "$pkgauxdir" "$aux_dir" pkgaux_header ;; *) test subproject = "$ltdl_mode" || continue func_copy "$file" "$pkgauxdir" "$aux_dir" pkgaux_header ;; esac done # If the parent project is using Autoconf and linking with Libtool, # even if subproject libltdl already has a copy, the parent project # will still need to build libtool for its own purposes, and might # need another copy of ltmain.sh if the parent didn't declare an # AC_CONFIG_AUX_DIR. pkgaux_hdr="putting another copy of auxiliary files in '.'" test -f "$configure_ac" \ && test -z "$ac_aux_dir" \ && test subproject = "$ltdl_mode" \ && test "$aux_dir" = "$ltdl_dir" \ && func_ltmain_update "$file" "$pkgauxdir" . pkgaux_hdr # FIXME: Remove in 2013. # Very old parent projects using 'libtoolize --install --ltdl', and # a top-level $configure_ac to build the ltdl subproject, but not # using Automake themselves, might still be relying on the old # behaviour of libtoolize to put a second copy of some 'Auxiliary # Programs' needed by the top-level configure (instead of using # the recommended method: 'automake --add-missing'). test -f "$configure_ac" \ && test subproject = "$ltdl_mode" \ && test "$aux_dir" = "$ltdl_dir" \ && func_config_update config.guess "$pkgauxdir" . pkgaux_hdr \ && func_config_update config.sub "$pkgauxdir" . pkgaux_hdr \ && func_install_update install-sh "$pkgauxdir" . pkgaux_hdr } # func_nonemptydir_p DIRVAR # ------------------------- # DIRVAR is the name of a variable to evaluate. Unless DIRVAR names # a directory that exists and is non-empty abort with a diagnostic. func_nonemptydir_p () { $debug_cmd my_dirvar=$1 my_dir=`eval echo "\\\$$my_dirvar"` # Is it a directory at all? test -d "$my_dir" \ || func_fatal_error "\$$my_dirvar is not a directory: '$my_dir'" # check that the directories contents can be ls'ed test -n "`{ cd $my_dir && ls; } 2>/dev/null`" \ || func_fatal_error "cannot list files: '$my_dir'" } # func_check_macros # ----------------- # Sanity check macros from aclocal.m4 against installed versions. func_check_macros () { $debug_cmd $require_ac_ltdl_dir $require_ac_macro_dir $require_am_macro_dir $require_aux_dir $require_configure_ac $require_ltdl_dir $require_ltdl_mode $require_macro_dir $require_seen_ltdl $require_seen_libtool $opt_quiet && return test -n "$configure_ac" || return ac_config_macro_dir_advised=false if test -z "$ac_macro_dir$am_macro_dir"; then my_missing= for file in $pkgmacro_files; do case $file in ltargz.m4|ltdl.m4) $opt_ltdl || continue ;; esac if test -f "aclocal.m4"; then func_aclocal_update_check $file $func_aclocal_update_check_result || continue fi my_missing="$my_missing $file" done if test -n "$my_missing"; then func_echo "You should add the contents of the following files to 'aclocal.m4':" for need in $my_missing; do func_echo " '$aclocaldir/$need'" done fi fi ## ---------------------------------------------------------- ## ## Since we return early here when --no-warn was given: ## ## DO NOT PUT ANYTHING BUT UPGRADE ADVICE MESSAGES BELOW HERE ## ## ---------------------------------------------------------- ## test " none" = "$opt_warning_types" && return $seen_libtool || func_echo "Remember to add 'LT_INIT' to $configure_ac." # Suggest using LTDL_INIT if appropriate: $opt_ltdl && if test : != "$seen_ltdl"; then case $ltdl_mode in subproject) ltdl_init_args= ;; *) ltdl_init_args="([$ltdl_mode])" ;; esac func_echo "Remember to add 'LTDL_INIT$ltdl_init_args' to $configure_ac." fi if $opt_ltdl; then # Remind the user to call LT_CONFIG_LTDL_DIR: test -n "$ac_ltdl_dir" || func_echo "Remember to add 'LT_CONFIG_LTDL_DIR([$ltdl_dir])' to '$configure_ac'." # For nonrecursive mode, warn about continued use of Makefile.inc: # FIXME: Remove in 2013 # (along with last minute rename in func_install_pkgltdl_files) if test nonrecursive = "$ltdl_mode"; then if func_grep "^-\?include $ltdl_dir/Makefile.inc\$" Makefile.am; then func_error "Use of 'include $ltdl_dir/Makefile.inc' is deprecated!" func_echo "Consider updating to use of 'include $ltdl_dir/ltdl.mk' in Makefile.am." fi fi fi # Suggest modern idioms for storing autoconf macros: $ac_config_macro_dir_advised || if test -z "$macro_dir" || test . = "$macro_dir"; then func_echo "Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to $configure_ac and" func_echo "rerunning $progname, to keep the correct libtool macros in-tree." ac_config_macro_dir_advised=: elif test -z "$ac_macro_dir"; then func_echo "Consider adding 'AC_CONFIG_MACRO_DIRS([$macro_dir])' to $configure_ac," func_echo "and rerunning $progname and aclocal." ac_config_macro_dir_advised=: fi if test -z "$am_macro_dir$ac_macro_dir"; then func_echo "Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am." elif test -z "$am_macro_dir"; then func_echo "Consider adding '-I $macro_dir' to ACLOCAL_AMFLAGS in Makefile.am." fi # Don't trace for this, we're just checking the user didn't invoke it # directly from configure.ac. $SED 's|dnl .*$||; s|# .*$||' "$configure_ac" | $GREP AC_PROG_RANLIB >/dev/null && func_echo "'AC_PROG_RANLIB' is rendered obsolete by 'LT_INIT'" # FIXME: Ensure ltmain.sh, libtool.m4 and ltdl.m4 are from the same release } ## ------------------## ## Helper functions. ## ## ------------------## # This section contains the helper functions used by the rest of # this script. # func_autoconf_configure MAYBE-CONFIGURE-FILE # -------------------------------------------- # Ensure that MAYBE-CONFIGURE-FILE is the name of a file in the current # directory that contains an uncommented call to AC_INIT. func_autoconf_configure () { $debug_cmd _G_sed_no_comment='s|#.*$||; s|^dnl .*$||; s| dnl .*$||;' _G_ac_init= # If we were passed a genuine file, make sure it calls AC_INIT. test -f "$1" \ && _G_ac_init=`$SED "$_G_sed_no_comment" "$1" |$GREP AC_INIT` # Otherwise it is not a genuine Autoconf input file. test -n "$_G_ac_init" _G_status=$? test 0 -ne "$_G_status" \ && func_verbose "'$1' not using Autoconf" (exit $_G_status) } # func_make_relative_dir_filter CURRDIR SRCDIR DESTDIR [PREFIX [SUFFIX]] # ---------------------------------------------------------------------- # Make a sed script suitable for appending to a copy filter, which will # replace occurrences of CURRDIR with the relative path from SRCDIR to # DESTDIR if they are different, otherwise the result is the empty # string: # # func_make_relative_dir_filter ltdl config ../build-aux # => 's|\.\./build-aux|../config|g' # func_make_relative_dir_filter ltdl ltdl/m4 ../m4 # => 's|\.\./m4|m4|g' # func_make_relative_dir_filter libltdl build-aux ../build-aux # => '' # # If PREFIX (and SUFFIX) are passed they are prepended (and appended) # to the match and replacement expressions literally: # # func_make_relative_dir_filter ltdl ltdl/m4 ../m4 '-I ' ' ' # => 's|-I \.\./m4 |-I m4 |g' func_make_relative_dir_filter () { $debug_cmd my_currdir=$1 my_srcdir=$2 my_destdir=$3 func_relative_path "$my_srcdir" "$my_destdir" if test "$my_currdir" = "$func_relative_path_result"; then func_make_relative_dir_filter_result= else my_match_currdir=`$ECHO "$my_currdir" |$SED "$sed_make_literal_regex"` # Avoid substituting with 'dir/./file' when current dir is '.'. if test . = "$my_currdir"; then func_make_relative_dir_filter_result=" s|$4$my_match_currdir/$5|$4$5|g" else func_make_relative_dir_filter_result=" s|$4$my_match_currdir$5|$4$func_relative_path_result$5|g" fi fi } # func_make_relative_ltdl_filter CURRDIR DESTDIR [PREFIX [SUFFIX]] # ---------------------------------------------------------------- # As 'func_make_relative_dir_filter' optimised for the common case where # SRCDIR is '$ltdl_dir'. func_make_relative_ltdl_filter () { $debug_cmd $require_ltdl_dir func_make_relative_dir_filter "$1" "$ltdl_dir" "$2" "$3" "$4" func_make_relative_ltdl_filter_result=$func_make_relative_dir_filter_result } ## -------------------- ## ## Resource management. ## ## -------------------- ## # This section contains definitions for functions that each ensure a # particular resource (a file, or a non-empty configuration variable for # example) is available, and if appropriate to extract default values # from pertinent package files. Where a variable already has a non- # empty value (as set by the package's 'bootstrap.conf'), that value is # used in preference to deriving the default. Call them using their # associated 'require_*' variable to ensure that they are executed, at # most, once. # # Some of the require functions are very similar, so we generate those # as this file is sourced. They look complicated, but they are the same # as normal function declarations wrapped in "eval '
'", so # that embedded single quotes need to be escaped, and wherever a symbol # is generated, we drop out of the single quotes and expand a variable # that holds the symbol. # # After that, the rest appear in asciibetical order. for base in '' ltdl_; do if test ltdl_ = "$base"; then p='$pkgltdldir/'; else p=; fi # require_Makefile_am # require_ltdl_Makefile_am # ------------------------ # If not already set, set Makefile_am to 'Makefile.am' if that file is # present in the current directory, and similarly for # '$pkgltdldir/Makefile.am'. r=${base}Makefile_am v=require_$r f=func_$v eval $v'='$f' '$f' () { $debug_cmd test -n "$'$r'" || '$r'='$p'Makefile.am if test -f "$'$r'"; then func_verbose "found '\'\$$r\''" else '$r'= fi '$v'=: }' o=$r # require_aclocal_amflags # require_ltdl_aclocal_amflags # ---------------------------- # Extract '$aclocal_amflags' from 'Makefile.am' if present, and # similarly for 'libltdl/Makefile.am'. r=${base}aclocal_amflags v=require_$r f=func_$v eval $v'='$f' '$f' () { $debug_cmd $require_'$o' test -n "$'$o'" && { _G_sed_extract_aclocal_amflags='\''s|#.*$|| /^[ ]*ACLOCAL_AMFLAGS[ ]*=/ { s|^.*=[ ]*\(.*\)|'$r'="\1"| p }'\'' _G_aclocal_flags_cmd=`$SED -n "$_G_sed_extract_aclocal_amflags" \ "$'$o'"` eval "$_G_aclocal_flags_cmd" test -n "$'$r'" && func_verbose "'$r'='\$$r\''" } '$v'=: }' o=$r # require_am_macro_dir # require_ltdl_am_macro_dir # ------------------------- # Set am_macro_dir to the first directory specified in # ACLOCAL_AMFLAGS from 'Makefile.am', and similarly for # 'libltdl/Makefile.am'. r=${base}am_macro_dir v=require_$r f=func_$v eval $v'='$f' '$f' () { $debug_cmd $require_'$o' _G_minus_I_seen=false for _G_arg in $'$o'; do case $_G_minus_I_seen,$_G_arg in :,*) '$r'=$_G_arg; break ;; *,-I) _G_minus_I_seen=: ;; *,-I*) '$r'=`expr x$_G_arg : '\''x-I\(.*\)$'\''`; break ;; esac done test -n "$'$r'" && func_verbose "'$r'='\'\$$r\''" '$v'=: }' o=$r done # require_ac_aux_dir # ------------------ # Extract ac_aux_dir from AC_CONFIG_AUX_DIR. require_ac_aux_dir=func_require_ac_aux_dir func_require_ac_aux_dir () { $debug_cmd $require_configure_ac test -n "$configure_ac" && { func_extract_trace_first AC_CONFIG_AUX_DIR ac_aux_dir=$func_extract_trace_first_result case $ac_aux_dir in *\$*) func_fatal_error "\ cannot expand unknown variable in AC_CONFIG_AUX_DIR argument." ;; esac } test -n "$ac_aux_dir" && func_verbose "ac_aux_dir='$ac_aux_dir'" require_ac_aux_dir=: } # require_ac_ltdl_dir # ------------------- # Extract ac_ltdl_dir from LT_CONFIG_LTDL_DIR. require_ac_ltdl_dir=func_require_ac_ltdl_dir func_require_ac_ltdl_dir () { $debug_cmd $require_configure_ac if test -n "$configure_ac"; then func_extract_trace_first LT_CONFIG_LTDL_DIR ac_ltdl_dir=$func_extract_trace_first_result case $ac_ltdl_dir in *\$*) func_fatal_error "\ cannot expand unknown variable in LT_CONFIG_LTDL_DIR argument." ;; esac fi # Strip trailing slashes. ac_ltdl_dir=`echo "$ac_ltdl_dir" |$SED 's|/*$||'` require_ac_ltdl_dir=: } # require_ac_ltdl_mode # -------------------- # Extract mode name from LTDL_INIT options. require_ac_ltdl_mode=func_require_ac_ltdl_mode func_require_ac_ltdl_mode () { $debug_cmd $require_ac_ltdl_options case " $ac_ltdl_options " in *" nonrecursive "*) ac_ltdl_mode=nonrecursive ;; *" recursive "*) ac_ltdl_mode=recursive ;; *" subproject "*) ac_ltdl_mode=subproject ;; esac require_ac_ltdl_mode=: } # require_ac_ltdl_options # ----------------------- # Extract ac_ltdl_options from LTDL_INIT. require_ac_ltdl_options=func_require_ac_ltdl_options func_require_ac_ltdl_options () { $debug_cmd $require_configure_ac if test -n "$configure_ac"; then func_extract_trace_first LTDL_INIT ac_ltdl_options=$func_extract_trace_first_result case $ac_ltdl_options in *\$*) func_fatal_error "\ cannot expand unknown variable in LTDL_INIT argument." ;; esac fi require_ac_ltdl_mode=: } # require_ac_macro_dir # -------------------- # Extract ac_macro_dir from AC_CONFIG_MACRO_DIRS. require_ac_macro_dir=func_require_ac_macro_dir func_require_ac_macro_dir () { $debug_cmd $require_configure_ac if test -n "$configure_ac"; then func_extract_trace_first AC_CONFIG_MACRO_DIRS ac_macro_dir=`expr "x$func_extract_trace_first_result" : 'x\([^ ]*\)'` test -n "$ac_macro_dir" || { func_extract_trace_first AC_CONFIG_MACRO_DIR ac_macro_dir=$func_extract_trace_first_result } fi require_ac_macro_dir=: } # require_aux_dir # --------------- # Set aux_dir according to AC_CONFIG_AUX_DIR or else use the same # heuristics as Autoconf to intuit an appropriate setting. require_aux_dir=func_require_aux_dir func_require_aux_dir () { $debug_cmd $require_ac_aux_dir test -z "$aux_dir" && aux_dir=$ac_aux_dir # Subproject ltdl without $configure_ac keeps pkgauxfiles in # specified --ltdl optarg directory. test -z "$aux_dir" && $opt_ltdl && { $require_configure_ac test -n "$configure_ac" || { $require_ltdl_dir $require_ltdl_mode test subproject = "$ltdl_mode" && aux_dir=$ltdl_dir } } test -z "$aux_dir" && { # Try to intuit aux_dir using the same heuristic as Autoconf. for _G_dir in . .. ../..; do if test -f "$_G_dir/install-sh" || test -f "$_G_dir/install.sh" then aux_dir=$_G_dir break fi done } # Use the current directory if all else fails. test -z "$aux_dir" && aux_dir=. require_aux_dir=: } # require_configure_ac # -------------------- # Ensure that there is a 'configure.ac' or 'configure.in' file in this # directory, and that '$configure_ac' contains its name. require_configure_ac=func_require_configure_ac func_require_configure_ac () { $debug_cmd test -z "$configure_ac" \ && func_autoconf_configure configure.ac && configure_ac=configure.ac test -z "$configure_ac" \ && func_autoconf_configure configure.in && configure_ac=configure.in test -z "$configure_ac" \ || func_verbose "found '$configure_ac'" require_configure_ac=: } # require_filter_Makefile_am # -------------------------- # Set 'filter_Makefile_am' ready for passing to func_copy when libltdl's # stock Makefile.am contents need to be filtered to work in recursive # mode. require_filter_Makefile_am=func_require_filter_Makefile_am func_require_filter_Makefile_am () { $debug_cmd $require_ltdl_mode case $ltdl_mode in recursive) filter_Makefile_am=' /^[^#]/{ s|(LIBOBJS)|(ltdl_LIBOBJS)|g s|(LTLIBOBJS)|(ltdl_LTLIBOBJS)|g }' ;; subproject) # Adjust default relative macro_dir paths. $require_ltdl_am_macro_dir func_make_relative_ltdl_filter "$ltdl_am_macro_dir" "$macro_dir" '-I ' test -z "$func_make_relative_ltdl_filter_result" || { func_append filter_Makefile_am " /^ACLOCAL_AMFLAGS = /{ $func_make_relative_ltdl_filter_result }" } func_make_relative_ltdl_filter "$ltdl_am_macro_dir" "$macro_dir" 'dir)' func_append filter_Makefile_am "$func_make_relative_ltdl_filter_result" # Adjust default relative aux_dir paths. $require_ltdl_ac_aux_dir func_make_relative_ltdl_filter "$ltdl_ac_aux_dir" "$aux_dir" func_append filter_Makefile_am "$func_make_relative_ltdl_filter_result" ;; esac require_filter_Makefile_am=: } # require_filter_aclocal_m4 # ------------------------- # Set 'filter_aclocal_m4' ready for passing to func_copy when libltdl's # stock aclocal.m4 contents need to be filtered to work in recursive # mode. require_filter_aclocal_m4=func_require_filter_aclocal_m4 func_require_filter_aclocal_m4 () { $debug_cmd $require_ltdl_am_macro_dir func_make_relative_ltdl_filter "$ltdl_am_macro_dir" "$macro_dir" test -z "$func_make_relative_ltdl_filter_result" || { func_append filter_aclocal_m4 " /^[m]4_include(/{ $func_make_relative_ltdl_filter_result }" } require_filter_aclocal_m4=: } # require_filter_configure_ac # --------------------------- # Set 'filter_configure_ac' ready for passing to func_copy when # libltdl's stock configure.ac contents need to be filtered to work in # subproject mode. require_filter_configure_ac=func_require_filter_configure_ac func_require_filter_configure_ac () { $debug_cmd $require_ltdl_ac_aux_dir func_make_relative_ltdl_filter "$ltdl_ac_aux_dir" "$aux_dir" func_append filter_configure_ac "$func_make_relative_ltdl_filter_result" require_filter_configure_ac=: } # require_filter_ltdl_mk # ---------------------- # Set 'filter_ltdl_mk' ready for passing to func_copy in order for the # contents of ltdl.mk to match the nonrecursive libltdl directory into # which it is copied. require_filter_ltdl_mk=func_require_filter_ltdl_mk func_require_filter_ltdl_mk () { $debug_cmd $require_ltdl_dir # Note that we strip comments right here, rather than rely on # using a $SED that allows comments. my_uscore=`$ECHO "$ltdl_dir" | $SED 's|[/.+-]|_|g'` filter_ltdl_mk=`$ECHO ' /^[^#]/{ # Use only libltdl conditional objects. s|(LIBOBJS)|(ltdl_LIBOBJS)|g s|(LTLIBOBJS)|(ltdl_LTLIBOBJS)|g # Convert libltdl path and variable sections to $ltdl_dir. s|libltdl_|@my_uscore@_| s|libltdl/|@ltdl_dir@/| s|: libltdl/|: @ltdl_dir@/| s| -Ilibltdl | -I@ltdl_dir@ | s|\$(libltdl_|\$(@my_uscore@_| s|)/libltdl |)/@ltdl_dir@ | s|@my_uscore@|'"$my_uscore"'|g s|@ltdl_dir@|'"$ltdl_dir"'|g }' | $SED '/^[ ]*#/d;/^$/d'` require_filter_ltdl_mk=: } # require_ltdl_ac_aux_dir # ----------------------- # This needs to work in subproject mode, when GNU M4 may not be # available and hence extract-trace can't be used. But since we # installed libltdl/configure.ac, then we already know what value # we used. require_ltdl_ac_aux_dir=func_require_ltdl_ac_aux_dir func_require_ltdl_ac_aux_dir () { $debug_cmd ltdl_ac_aux_dir="../build-aux" func_verbose "ltdl_ac_aux_dir='$ltdl_ac_aux_dir'" require_ltdl_ac_aux_dir=: } # require_ltdl_dir # ---------------- # If both are specified, ensure both --ltdl=LTDL_DIR and # LT_CONFIG_LTDL_DIR agree, and set ltdl_dir to the value of either. require_ltdl_dir=func_require_ltdl_dir func_require_ltdl_dir () { $debug_cmd $require_ac_ltdl_dir test -z "$ltdl_dir" && ltdl_dir=$ac_ltdl_dir test -z "$ltdl_dir" && $opt_ltdl && ltdl_dir=libltdl if test -n "$ac_ltdl_dir"; then test "$ac_ltdl_dir" = "$ltdl_dir" || func_fatal_error "\ --ltdl='$ltdl_dir' does not match LT_CONFIG_LTDL_DIR($ac_ltdl_dir)" fi require_ltdl_dir=: } # require_ltdl_mode # ----------------- # If both are specified, ensure both command line setting and LTDL_INIT # option agree, and set ltdl_mode to the value of either. require_ltdl_mode=func_require_ltdl_mode func_require_ltdl_mode () { $debug_cmd $require_ac_ltdl_mode test -z "$ltdl_mode" && ltdl_mode=$ac_ltdl_mode test -z "$ltdl_mode" && { $require_ltdl_dir test -n "$ltdl_dir" && ltdl_mode=subproject } if test -n "$ac_ltdl_mode"; then test "$ac_ltdl_mode" = "$ltdl_mode" || func_fatal_error "\ --$ltdl_mode does not match LTDL_INIT($ac_ltdl_mode)" fi func_verbose "ltdl mode='$ltdl_mode'" require_ltdl_mode=: } # require_macro_dir # ----------------- # If both are specified, ensure both ACLOCAL_AMFLAGS and # AC_CONFIG_MACRO_DIRS agree, and set macro_dir to the value of either. require_macro_dir=func_require_macro_dir func_require_macro_dir () { $debug_cmd $require_ac_macro_dir $require_am_macro_dir # AC_CONFIG_MACRO_DIRS takes precedence. macro_dir=$ac_macro_dir # Followed by first -I optarg from ACLOCAL_AMFLAGS. test -z "$macro_dir" && macro_dir=$am_macro_dir # Subproject ltdl without either of the above keeps macros in # specified --ltdl optarg subdirectory. test -z "$macro_dir" && $opt_ltdl && { $require_ltdl_dir $require_ltdl_mode test subproject = "$ltdl_mode" && macro_dir=$ltdl_dir/m4 } # Use ./m4 as the last resort. test -z "$macro_dir" && macro_dir=m4 # Diagnose conflicts. if test -n "$ac_macro_dir" && test -n "$am_macro_dir"; then test "$ac_macro_dir" = "$am_macro_dir" || func_fatal_error "\ AC_CONFIG_MACRO_DIRS([$ac_macro_dir]) conflicts with ACLOCAL_AMFLAGS=-I $am_macro_dir." fi require_macro_dir=: } # require_seen_ltdl # ----------------- # Determine from contents of $configure_ac whether this project contains # libltdl. require_seen_ltdl=func_require_seen_ltdl func_require_seen_ltdl () { $debug_cmd $require_configure_ac if test -n "$configure_ac"; then func_extract_trace AC_LIB_LTDL,AC_WITH_LTDL,LT_WITH_LTDL,LTDL_INIT test -n "$func_extract_trace_result" && seen_ltdl=: fi test -n "$seen_ltdl" || seen_ltdl=false $seen_ltdl && func_verbose "found LTDL_INIT invocation" require_seen_ltdl=: } # require_seen_libtool # -------------------- # Determine from contents of $configure_ac whether this project is using # Libtool to compile (some of) its objects. require_seen_libtool=func_require_seen_libtool func_require_seen_libtool () { $debug_cmd $require_configure_ac if test -n "$configure_ac"; then func_extract_trace AM_PROG_LIBTOOL,AC_PROG_LIBTOOL,LT_INIT test -n "$func_extract_trace_result" && seen_libtool=: fi test -n "$seen_libtool" || seen_libtool=false $seen_libtool && func_verbose "found LT_INIT invocation" require_seen_libtool=: } ## ----------- ## ## Main. ## ## ----------- ## { # Lists of all files libtoolize has ever installed. These are removed # before installing the latest files when --force was passed to help # ensure a clean upgrade. # Do not remove config.guess, config.sub or install-sh, we don't # install them without --install, and the project may not be using # Automake. Similarly, do not remove Gnulib files. all_pkgaux_files="compile depcomp missing ltmain.sh" all_pkgmacro_files="libtool.m4 ltargz.m4 ltdl.m4 ltoptions.m4 ltsugar.m4 ltversion.in ltversion.m4 lt~obsolete.m4" all_pkgltdl_files="COPYING.LIB Makefile Makefile.in Makefile.inc Makefile.am README acinclude.m4 aclocal.m4 argz_.h argz.c config.h.in config-h.in configure configure.ac configure.in libltdl/lt__alloc.h libltdl/lt__argz.h libltdl/lt__dirent.h libltdl/lt__glibc.h libltdl/lt__private.h libltdl/lt__strl.h libltdl/lt_dlloader.h libltdl/lt_error.h libltdl/lt_system.h libltdl/slist.h loaders/dld_link.c loaders/dlopen.c loaders/dyld.c loaders/load_add_on.c loaders/loadlibrary.c loaders/preopen.c loaders/shl_load.c lt__alloc.c lt__argz.c lt__dirent.c lt__strl.c lt_dlloader.c lt_error.c ltdl.c ltdl.h ltdl.mk slist.c" # Files installed by func_install_*, some files are missing from these # lists deliberately because their respective func_install has to handle # the missing filenames specially. pkgaux_files="compile config.guess config.sub depcomp install-sh missing ltmain.sh" pkgltdl_files="COPYING.LIB Makefile.am README configure.ac aclocal.m4 Makefile.in config-h.in configure libltdl/lt__alloc.h libltdl/lt__argz_.h libltdl/lt__dirent.h libltdl/lt__glibc.h libltdl/lt__private.h libltdl/lt__strl.h libltdl/lt_dlloader.h libltdl/lt_error.h libltdl/lt_system.h libltdl/slist.h loaders/dld_link.c loaders/dlopen.c loaders/dyld.c loaders/load_add_on.c loaders/loadlibrary.c loaders/preopen.c loaders/shl_load.c lt__alloc.c lt__argz.c lt__dirent.c lt__strl.c lt_dlloader.c lt_error.c ltdl.c ltdl.h ltdl.mk slist.c" pkgmacro_files="libtool.m4 ltargz.m4 ltdl.m4 ltoptions.m4 ltsugar.m4 ltversion.m4 lt~obsolete.m4" # Locations for important files: prefix="/usr" datadir="/usr/share" pkgauxdir="/usr/share/libtool/build-aux" pkgltdldir="/usr/share/libtool" aclocaldir="/usr/share/aclocal" # Allow the user to override the master libtoolize repository: if test -n "$_lt_pkgdatadir"; then pkgauxdir=$_lt_pkgdatadir/build-aux pkgltdldir=$_lt_pkgdatadir/libltdl aclocaldir=$_lt_pkgdatadir/m4 fi func_nonemptydir_p pkgauxdir func_nonemptydir_p pkgltdldir func_nonemptydir_p aclocaldir extract_trace=$pkgauxdir/extract-trace # :::BE CAREFUL HERE::: # func_check_macros needs to check whether --ltdl was specified when # LTDL_INIT was not seen, so we can't just use one variable for both # conditions, or that check will be impossible. No need to clutter the # rest of the code with '$opt_ltdl || $seen_ltdl' though, because we CAN # safely set opt_ltdl to true if LTDL_INIT was seen: $require_seen_ltdl $seen_ltdl && opt_ltdl=: func_install_pkgaux_files func_install_pkgmacro_files func_install_pkgltdl_files func_check_macros } exit $exit_status # Local Variables: # mode:shell-script # sh-indentation:2 # End:
.
1487 Items
Change directory
Remove directory
Rename directory
..
10 Items
Change directory
Remove directory
Rename directory
2to3-2.7
0.09 KB
Edit
Delete
Copy
Move
Remame
Magick++-config
1.44 KB
Edit
Delete
Copy
Move
Remame
Magick-config
1.33 KB
Edit
Delete
Copy
Move
Remame
MagickCore-config
1.47 KB
Edit
Delete
Copy
Move
Remame
MagickWand-config
1.48 KB
Edit
Delete
Copy
Move
Remame
Wand-config
1.33 KB
Edit
Delete
Copy
Move
Remame
X11
1487 Items
Change directory
Remove directory
Rename directory
[
66.89 KB
Edit
Delete
Copy
Move
Remame
a2ping
98.28 KB
Edit
Delete
Copy
Move
Remame
a5toa4
1.07 KB
Edit
Delete
Copy
Move
Remame
aclocal
35.18 KB
Edit
Delete
Copy
Move
Remame
aclocal-1.16
35.18 KB
Edit
Delete
Copy
Move
Remame
acyclic
14.31 KB
Edit
Delete
Copy
Move
Remame
addftinfo
42.41 KB
Edit
Delete
Copy
Move
Remame
addpart
30.31 KB
Edit
Delete
Copy
Move
Remame
addr2line
23.14 KB
Edit
Delete
Copy
Move
Remame
adhocfilelist
8.41 KB
Edit
Delete
Copy
Move
Remame
afm2afm
13.09 KB
Edit
Delete
Copy
Move
Remame
afm2pl
39.01 KB
Edit
Delete
Copy
Move
Remame
afm2tfm
53.33 KB
Edit
Delete
Copy
Move
Remame
afmtodit
161.91 KB
Edit
Delete
Copy
Move
Remame
aleph
544.53 KB
Edit
Delete
Copy
Move
Remame
alien
16.15 KB
Edit
Delete
Copy
Move
Remame
allcm
3.4 KB
Edit
Delete
Copy
Move
Remame
allec
3.4 KB
Edit
Delete
Copy
Move
Remame
allneeded
0.88 KB
Edit
Delete
Copy
Move
Remame
animate
34.7 KB
Edit
Delete
Copy
Move
Remame
apropos
51.29 KB
Edit
Delete
Copy
Move
Remame
apt
18.31 KB
Edit
Delete
Copy
Move
Remame
apt-cache
86.38 KB
Edit
Delete
Copy
Move
Remame
apt-cdrom
22.38 KB
Edit
Delete
Copy
Move
Remame
apt-config
26.31 KB
Edit
Delete
Copy
Move
Remame
apt-get
50.38 KB
Edit
Delete
Copy
Move
Remame
apt-key
27.32 KB
Edit
Delete
Copy
Move
Remame
apt-mark
58.38 KB
Edit
Delete
Copy
Move
Remame
ar
51.17 KB
Edit
Delete
Copy
Move
Remame
arara
0.56 KB
Edit
Delete
Copy
Move
Remame
arch
42.86 KB
Edit
Delete
Copy
Move
Remame
arlatex
9.69 KB
Edit
Delete
Copy
Move
Remame
as
897.41 KB
Edit
Delete
Copy
Move
Remame
authorindex
20.06 KB
Edit
Delete
Copy
Move
Remame
autoconf
14.85 KB
Edit
Delete
Copy
Move
Remame
autoheader
8.82 KB
Edit
Delete
Copy
Move
Remame
autoinst
157.8 KB
Edit
Delete
Copy
Move
Remame
autom4te
32.69 KB
Edit
Delete
Copy
Move
Remame
automake
255.91 KB
Edit
Delete
Copy
Move
Remame
automake-1.16
255.91 KB
Edit
Delete
Copy
Move
Remame
autopoint
26.38 KB
Edit
Delete
Copy
Move
Remame
autoreconf
26.3 KB
Edit
Delete
Copy
Move
Remame
autoscan
16.77 KB
Edit
Delete
Copy
Move
Remame
autosp
46.52 KB
Edit
Delete
Copy
Move
Remame
autoupdate
33.22 KB
Edit
Delete
Copy
Move
Remame
awk
696.44 KB
Edit
Delete
Copy
Move
Remame
axohelp
80.45 KB
Edit
Delete
Copy
Move
Remame
b2sum
58.98 KB
Edit
Delete
Copy
Move
Remame
base32
46.89 KB
Edit
Delete
Copy
Move
Remame
base64
46.89 KB
Edit
Delete
Copy
Move
Remame
basename
42.83 KB
Edit
Delete
Copy
Move
Remame
basenc
54.89 KB
Edit
Delete
Copy
Move
Remame
bash
1235.98 KB
Edit
Delete
Copy
Move
Remame
bashbug
6.7 KB
Edit
Delete
Copy
Move
Remame
bats
1.63 KB
Edit
Delete
Copy
Move
Remame
bcomps
22.48 KB
Edit
Delete
Copy
Move
Remame
bdftopcf
42.45 KB
Edit
Delete
Copy
Move
Remame
bdftruncate
10.22 KB
Edit
Delete
Copy
Move
Remame
bibtex
122.77 KB
Edit
Delete
Copy
Move
Remame
bibtex.original
122.77 KB
Edit
Delete
Copy
Move
Remame
bibtex8
139.23 KB
Edit
Delete
Copy
Move
Remame
bibtexu
143.29 KB
Edit
Delete
Copy
Move
Remame
brotli
754.51 KB
Edit
Delete
Copy
Move
Remame
bundledoc
30.6 KB
Edit
Delete
Copy
Move
Remame
bunzip2
38.3 KB
Edit
Delete
Copy
Move
Remame
busctl
90.5 KB
Edit
Delete
Copy
Move
Remame
bzcat
38.3 KB
Edit
Delete
Copy
Move
Remame
bzcmp
2.17 KB
Edit
Delete
Copy
Move
Remame
bzdiff
2.17 KB
Edit
Delete
Copy
Move
Remame
bzegrep
3.69 KB
Edit
Delete
Copy
Move
Remame
bzexe
4.78 KB
Edit
Delete
Copy
Move
Remame
bzfgrep
3.69 KB
Edit
Delete
Copy
Move
Remame
bzgrep
3.69 KB
Edit
Delete
Copy
Move
Remame
bzip2
38.3 KB
Edit
Delete
Copy
Move
Remame
bzip2recover
14.23 KB
Edit
Delete
Copy
Move
Remame
bzless
1.27 KB
Edit
Delete
Copy
Move
Remame
bzmore
1.27 KB
Edit
Delete
Copy
Move
Remame
c++
1274.99 KB
Edit
Delete
Copy
Move
Remame
c++filt
18.51 KB
Edit
Delete
Copy
Move
Remame
c89
0.42 KB
Edit
Delete
Copy
Move
Remame
c89-gcc
0.42 KB
Edit
Delete
Copy
Move
Remame
c99
0.44 KB
Edit
Delete
Copy
Move
Remame
c99-gcc
0.44 KB
Edit
Delete
Copy
Move
Remame
c_rehash
6.73 KB
Edit
Delete
Copy
Move
Remame
cachepic
7.79 KB
Edit
Delete
Copy
Move
Remame
cal
36.84 KB
Edit
Delete
Copy
Move
Remame
captoinfo
90.34 KB
Edit
Delete
Copy
Move
Remame
cat
42.98 KB
Edit
Delete
Copy
Move
Remame
catman
42.77 KB
Edit
Delete
Copy
Move
Remame
cc
1270.99 KB
Edit
Delete
Copy
Move
Remame
ccomps
26.65 KB
Edit
Delete
Copy
Move
Remame
certtool
211.41 KB
Edit
Delete
Copy
Move
Remame
chage
78.49 KB
Edit
Delete
Copy
Move
Remame
chardet
0.22 KB
Edit
Delete
Copy
Move
Remame
chardetect
0.22 KB
Edit
Delete
Copy
Move
Remame
chattr
14.24 KB
Edit
Delete
Copy
Move
Remame
chcon
67.11 KB
Edit
Delete
Copy
Move
Remame
checkcites
25.34 KB
Edit
Delete
Copy
Move
Remame
checklistings
10.94 KB
Edit
Delete
Copy
Move
Remame
chem
28.49 KB
Edit
Delete
Copy
Move
Remame
chfn
61.2 KB
Edit
Delete
Copy
Move
Remame
chgrp
67.05 KB
Edit
Delete
Copy
Move
Remame
chkdvifont
31.12 KB
Edit
Delete
Copy
Move
Remame
chklref
10.66 KB
Edit
Delete
Copy
Move
Remame
chmod
62.98 KB
Edit
Delete
Copy
Move
Remame
choom
54.31 KB
Edit
Delete
Copy
Move
Remame
chown
71.05 KB
Edit
Delete
Copy
Move
Remame
chrt
66.31 KB
Edit
Delete
Copy
Move
Remame
chsh
51.64 KB
Edit
Delete
Copy
Move
Remame
cifsiostat
22.38 KB
Edit
Delete
Copy
Move
Remame
circo
14.31 KB
Edit
Delete
Copy
Move
Remame
cksum
139.05 KB
Edit
Delete
Copy
Move
Remame
clambc
14462.72 KB
Edit
Delete
Copy
Move
Remame
clamscan
170.34 KB
Edit
Delete
Copy
Move
Remame
clamsubmit
154.32 KB
Edit
Delete
Copy
Move
Remame
clear
14.24 KB
Edit
Delete
Copy
Move
Remame
clear_console
14.15 KB
Edit
Delete
Copy
Move
Remame
cluster
556.64 KB
Edit
Delete
Copy
Move
Remame
cluttex
113.62 KB
Edit
Delete
Copy
Move
Remame
cmp
50.95 KB
Edit
Delete
Copy
Move
Remame
col
34.31 KB
Edit
Delete
Copy
Move
Remame
colcrt
14.31 KB
Edit
Delete
Copy
Move
Remame
colrm
30.31 KB
Edit
Delete
Copy
Move
Remame
column
54.31 KB
Edit
Delete
Copy
Move
Remame
comm
46.92 KB
Edit
Delete
Copy
Move
Remame
compare
35.17 KB
Edit
Delete
Copy
Move
Remame
compile_et
1.32 KB
Edit
Delete
Copy
Move
Remame
compose
18.06 KB
Edit
Delete
Copy
Move
Remame
composite
34.6 KB
Edit
Delete
Copy
Move
Remame
conjure
34.61 KB
Edit
Delete
Copy
Move
Remame
convert
34.61 KB
Edit
Delete
Copy
Move
Remame
corelist
15.01 KB
Edit
Delete
Copy
Move
Remame
cp
147.61 KB
Edit
Delete
Copy
Move
Remame
cpan
8.16 KB
Edit
Delete
Copy
Move
Remame
cpan5.36-x86_64-linux-gnu
8.18 KB
Edit
Delete
Copy
Move
Remame
cpio
158.56 KB
Edit
Delete
Copy
Move
Remame
cpp
1270.99 KB
Edit
Delete
Copy
Move
Remame
cpp-12
1270.99 KB
Edit
Delete
Copy
Move
Remame
crc32
1.04 KB
Edit
Delete
Copy
Move
Remame
crontab
42.63 KB
Edit
Delete
Copy
Move
Remame
csplit
119.17 KB
Edit
Delete
Copy
Move
Remame
ctan-o-mat
19.22 KB
Edit
Delete
Copy
Move
Remame
ctanbib
6.27 KB
Edit
Delete
Copy
Move
Remame
ctangle
51.32 KB
Edit
Delete
Copy
Move
Remame
ctanify
23.83 KB
Edit
Delete
Copy
Move
Remame
ctanupload
16.4 KB
Edit
Delete
Copy
Move
Remame
ctie
18.59 KB
Edit
Delete
Copy
Move
Remame
ctwill
103.32 KB
Edit
Delete
Copy
Move
Remame
ctwill-refsort
14.36 KB
Edit
Delete
Copy
Move
Remame
ctwill-twinx
14.42 KB
Edit
Delete
Copy
Move
Remame
curl
274.22 KB
Edit
Delete
Copy
Move
Remame
curl-config
6.32 KB
Edit
Delete
Copy
Move
Remame
cut
46.98 KB
Edit
Delete
Copy
Move
Remame
cweave
95.32 KB
Edit
Delete
Copy
Move
Remame
cwebp
63.23 KB
Edit
Delete
Copy
Move
Remame
danetool
171.41 KB
Edit
Delete
Copy
Move
Remame
dash
122.7 KB
Edit
Delete
Copy
Move
Remame
date
119.05 KB
Edit
Delete
Copy
Move
Remame
dd
87.15 KB
Edit
Delete
Copy
Move
Remame
de-macro
28.16 KB
Edit
Delete
Copy
Move
Remame
deb-systemd-helper
23.79 KB
Edit
Delete
Copy
Move
Remame
deb-systemd-invoke
6.09 KB
Edit
Delete
Copy
Move
Remame
debconf
2.79 KB
Edit
Delete
Copy
Move
Remame
debconf-apt-progress
11.27 KB
Edit
Delete
Copy
Move
Remame
debconf-communicate
0.59 KB
Edit
Delete
Copy
Move
Remame
debconf-copydb
1.68 KB
Edit
Delete
Copy
Move
Remame
debconf-escape
0.63 KB
Edit
Delete
Copy
Move
Remame
debconf-gettextize
15.97 KB
Edit
Delete
Copy
Move
Remame
debconf-set-selections
2.92 KB
Edit
Delete
Copy
Move
Remame
debconf-show
1.78 KB
Edit
Delete
Copy
Move
Remame
debconf-updatepo
4.46 KB
Edit
Delete
Copy
Move
Remame
debsums
24.86 KB
Edit
Delete
Copy
Move
Remame
debugedit
64.37 KB
Edit
Delete
Copy
Move
Remame
delpart
30.31 KB
Edit
Delete
Copy
Move
Remame
depythontex
0.78 KB
Edit
Delete
Copy
Move
Remame
derb
22.8 KB
Edit
Delete
Copy
Move
Remame
detex
58.55 KB
Edit
Delete
Copy
Move
Remame
devnag
44.68 KB
Edit
Delete
Copy
Move
Remame
df
99.8 KB
Edit
Delete
Copy
Move
Remame
dh
28.85 KB
Edit
Delete
Copy
Move
Remame
dh_assistant
20.34 KB
Edit
Delete
Copy
Move
Remame
dh_auto_build
1.37 KB
Edit
Delete
Copy
Move
Remame
dh_auto_clean
1.51 KB
Edit
Delete
Copy
Move
Remame
dh_auto_configure
1.63 KB
Edit
Delete
Copy
Move
Remame
dh_auto_install
3.22 KB
Edit
Delete
Copy
Move
Remame
dh_auto_test
1.65 KB
Edit
Delete
Copy
Move
Remame
dh_autoreconf
6.46 KB
Edit
Delete
Copy
Move
Remame
dh_autoreconf_clean
2.1 KB
Edit
Delete
Copy
Move
Remame
dh_autotools-dev_restoreconfig
1.79 KB
Edit
Delete
Copy
Move
Remame
dh_autotools-dev_updateconfig
1.81 KB
Edit
Delete
Copy
Move
Remame
dh_bugfiles
3.58 KB
Edit
Delete
Copy
Move
Remame
dh_builddeb
4.79 KB
Edit
Delete
Copy
Move
Remame
dh_clean
5.03 KB
Edit
Delete
Copy
Move
Remame
dh_compress
7.67 KB
Edit
Delete
Copy
Move
Remame
dh_doxygen
4.13 KB
Edit
Delete
Copy
Move
Remame
dh_dwz
4.99 KB
Edit
Delete
Copy
Move
Remame
dh_fixperms
5.29 KB
Edit
Delete
Copy
Move
Remame
dh_gencontrol
5.88 KB
Edit
Delete
Copy
Move
Remame
dh_icons
2.04 KB
Edit
Delete
Copy
Move
Remame
dh_install
12.16 KB
Edit
Delete
Copy
Move
Remame
dh_installalternatives
6.61 KB
Edit
Delete
Copy
Move
Remame
dh_installcatalogs
3.33 KB
Edit
Delete
Copy
Move
Remame
dh_installchangelogs
11.57 KB
Edit
Delete
Copy
Move
Remame
dh_installcron
1.65 KB
Edit
Delete
Copy
Move
Remame
dh_installdeb
12.71 KB
Edit
Delete
Copy
Move
Remame
dh_installdebconf
6.69 KB
Edit
Delete
Copy
Move
Remame
dh_installdirs
3.09 KB
Edit
Delete
Copy
Move
Remame
dh_installdocs
14.65 KB
Edit
Delete
Copy
Move
Remame
dh_installemacsen
3.74 KB
Edit
Delete
Copy
Move
Remame
dh_installexamples
5.65 KB
Edit
Delete
Copy
Move
Remame
dh_installgsettings
2.24 KB
Edit
Delete
Copy
Move
Remame
dh_installifupdown
1.47 KB
Edit
Delete
Copy
Move
Remame
dh_installinfo
3.38 KB
Edit
Delete
Copy
Move
Remame
dh_installinit
13.96 KB
Edit
Delete
Copy
Move
Remame
dh_installinitramfs
2.5 KB
Edit
Delete
Copy
Move
Remame
dh_installlogcheck
1.94 KB
Edit
Delete
Copy
Move
Remame
dh_installlogrotate
1.14 KB
Edit
Delete
Copy
Move
Remame
dh_installman
13.37 KB
Edit
Delete
Copy
Move
Remame
dh_installmanpages
4.89 KB
Edit
Delete
Copy
Move
Remame
dh_installmenu
2.15 KB
Edit
Delete
Copy
Move
Remame
dh_installmime
1.3 KB
Edit
Delete
Copy
Move
Remame
dh_installmodules
2.66 KB
Edit
Delete
Copy
Move
Remame
dh_installpam
1.42 KB
Edit
Delete
Copy
Move
Remame
dh_installppp
1.38 KB
Edit
Delete
Copy
Move
Remame
dh_installsystemd
14.06 KB
Edit
Delete
Copy
Move
Remame
dh_installsystemduser
8.36 KB
Edit
Delete
Copy
Move
Remame
dh_installsysusers
2.98 KB
Edit
Delete
Copy
Move
Remame
dh_installtex
17.96 KB
Edit
Delete
Copy
Move
Remame
dh_installtmpfiles
3.24 KB
Edit
Delete
Copy
Move
Remame
dh_installudev
2.1 KB
Edit
Delete
Copy
Move
Remame
dh_installwm
3.3 KB
Edit
Delete
Copy
Move
Remame
dh_installxfonts
2.8 KB
Edit
Delete
Copy
Move
Remame
dh_installxmlcatalogs
9.22 KB
Edit
Delete
Copy
Move
Remame
dh_link
4.32 KB
Edit
Delete
Copy
Move
Remame
dh_lintian
1.29 KB
Edit
Delete
Copy
Move
Remame
dh_listpackages
0.81 KB
Edit
Delete
Copy
Move
Remame
dh_makeshlibs
15.12 KB
Edit
Delete
Copy
Move
Remame
dh_md5sums
3.46 KB
Edit
Delete
Copy
Move
Remame
dh_missing
8.75 KB
Edit
Delete
Copy
Move
Remame
dh_movefiles
4.69 KB
Edit
Delete
Copy
Move
Remame
dh_perl
5.03 KB
Edit
Delete
Copy
Move
Remame
dh_prep
1.87 KB
Edit
Delete
Copy
Move
Remame
dh_shlibdeps
6.24 KB
Edit
Delete
Copy
Move
Remame
dh_sphinxdoc
17.32 KB
Edit
Delete
Copy
Move
Remame
dh_strip
14.85 KB
Edit
Delete
Copy
Move
Remame
dh_strip_nondeterminism
3.12 KB
Edit
Delete
Copy
Move
Remame
dh_systemd_enable
8.98 KB
Edit
Delete
Copy
Move
Remame
dh_systemd_start
8.57 KB
Edit
Delete
Copy
Move
Remame
dh_testdir
1.31 KB
Edit
Delete
Copy
Move
Remame
dh_testroot
2.91 KB
Edit
Delete
Copy
Move
Remame
dh_ucf
2.38 KB
Edit
Delete
Copy
Move
Remame
dh_update_autotools_config
1.84 KB
Edit
Delete
Copy
Move
Remame
dh_usrlocal
4.2 KB
Edit
Delete
Copy
Move
Remame
diff
151.58 KB
Edit
Delete
Copy
Move
Remame
diff3
67.14 KB
Edit
Delete
Copy
Move
Remame
diffimg
14.34 KB
Edit
Delete
Copy
Move
Remame
dijkstra
14.51 KB
Edit
Delete
Copy
Move
Remame
dir
147.8 KB
Edit
Delete
Copy
Move
Remame
dircolors
50.92 KB
Edit
Delete
Copy
Move
Remame
dirmngr
586.13 KB
Edit
Delete
Copy
Move
Remame
dirmngr-client
106.87 KB
Edit
Delete
Copy
Move
Remame
dirname
38.83 KB
Edit
Delete
Copy
Move
Remame
disdvi
26.45 KB
Edit
Delete
Copy
Move
Remame
display
34.7 KB
Edit
Delete
Copy
Move
Remame
dmesg
86.58 KB
Edit
Delete
Copy
Move
Remame
dnsdomainname
22.15 KB
Edit
Delete
Copy
Move
Remame
docutils
0.94 KB
Edit
Delete
Copy
Move
Remame
domainname
22.15 KB
Edit
Delete
Copy
Move
Remame
dosepsbin
11.87 KB
Edit
Delete
Copy
Move
Remame
dot
14.31 KB
Edit
Delete
Copy
Move
Remame
dot2gxl
38.98 KB
Edit
Delete
Copy
Move
Remame
dot_builtins
18.46 KB
Edit
Delete
Copy
Move
Remame
dotty
2.04 KB
Edit
Delete
Copy
Move
Remame
doxygen
18298.92 KB
Edit
Delete
Copy
Move
Remame
doxyindexer
180.28 KB
Edit
Delete
Copy
Move
Remame
doxysearch.cgi
50.89 KB
Edit
Delete
Copy
Move
Remame
dpkg
310.64 KB
Edit
Delete
Copy
Move
Remame
dpkg-architecture
14.85 KB
Edit
Delete
Copy
Move
Remame
dpkg-buildflags
8.14 KB
Edit
Delete
Copy
Move
Remame
dpkg-buildpackage
32.63 KB
Edit
Delete
Copy
Move
Remame
dpkg-checkbuilddeps
7.45 KB
Edit
Delete
Copy
Move
Remame
dpkg-deb
166.52 KB
Edit
Delete
Copy
Move
Remame
dpkg-distaddfile
2.72 KB
Edit
Delete
Copy
Move
Remame
dpkg-divert
154.55 KB
Edit
Delete
Copy
Move
Remame
dpkg-genbuildinfo
18.48 KB
Edit
Delete
Copy
Move
Remame
dpkg-genchanges
17.39 KB
Edit
Delete
Copy
Move
Remame
dpkg-gencontrol
14.2 KB
Edit
Delete
Copy
Move
Remame
dpkg-gensymbols
10.65 KB
Edit
Delete
Copy
Move
Remame
dpkg-maintscript-helper
20.71 KB
Edit
Delete
Copy
Move
Remame
dpkg-mergechangelogs
8.88 KB
Edit
Delete
Copy
Move
Remame
dpkg-name
6.62 KB
Edit
Delete
Copy
Move
Remame
dpkg-parsechangelog
4.83 KB
Edit
Delete
Copy
Move
Remame
dpkg-query
158.58 KB
Edit
Delete
Copy
Move
Remame
dpkg-realpath
4.09 KB
Edit
Delete
Copy
Move
Remame
dpkg-scanpackages
8.47 KB
Edit
Delete
Copy
Move
Remame
dpkg-scansources
8.98 KB
Edit
Delete
Copy
Move
Remame
dpkg-shlibdeps
31.17 KB
Edit
Delete
Copy
Move
Remame
dpkg-source
22.91 KB
Edit
Delete
Copy
Move
Remame
dpkg-split
126.48 KB
Edit
Delete
Copy
Move
Remame
dpkg-statoverride
62.33 KB
Edit
Delete
Copy
Move
Remame
dpkg-trigger
86.48 KB
Edit
Delete
Copy
Move
Remame
dpkg-vendor
3.18 KB
Edit
Delete
Copy
Move
Remame
dt2dv
48.8 KB
Edit
Delete
Copy
Move
Remame
dtxgen
13.51 KB
Edit
Delete
Copy
Move
Remame
du
171.33 KB
Edit
Delete
Copy
Move
Remame
dumpsexp
18.23 KB
Edit
Delete
Copy
Move
Remame
dv2dt
23.98 KB
Edit
Delete
Copy
Move
Remame
dvi2fax
1.07 KB
Edit
Delete
Copy
Move
Remame
dvi2tty
67.18 KB
Edit
Delete
Copy
Move
Remame
dviasm
43.54 KB
Edit
Delete
Copy
Move
Remame
dvibook
35.34 KB
Edit
Delete
Copy
Move
Remame
dviconcat
27.38 KB
Edit
Delete
Copy
Move
Remame
dvicopy
58.66 KB
Edit
Delete
Copy
Move
Remame
dvihp
4.38 KB
Edit
Delete
Copy
Move
Remame
dviinfox
10.37 KB
Edit
Delete
Copy
Move
Remame
dvilj
55.23 KB
Edit
Delete
Copy
Move
Remame
dvilj2p
55.23 KB
Edit
Delete
Copy
Move
Remame
dvilj4
67.27 KB
Edit
Delete
Copy
Move
Remame
dvilj4l
67.27 KB
Edit
Delete
Copy
Move
Remame
dvilj6
67.27 KB
Edit
Delete
Copy
Move
Remame
dvilualatex
6646.84 KB
Edit
Delete
Copy
Move
Remame
dvilualatex-dev
6646.84 KB
Edit
Delete
Copy
Move
Remame
dviluatex
6646.84 KB
Edit
Delete
Copy
Move
Remame
dvipdf
0.98 KB
Edit
Delete
Copy
Move
Remame
dvipdfm
822.05 KB
Edit
Delete
Copy
Move
Remame
dvipdfmx
822.05 KB
Edit
Delete
Copy
Move
Remame
dvipdft
2.63 KB
Edit
Delete
Copy
Move
Remame
dvipos
51.07 KB
Edit
Delete
Copy
Move
Remame
dvips
237.01 KB
Edit
Delete
Copy
Move
Remame
dvired
3.01 KB
Edit
Delete
Copy
Move
Remame
dviselect
35.31 KB
Edit
Delete
Copy
Move
Remame
dvispc
55.88 KB
Edit
Delete
Copy
Move
Remame
dvitodvi
35.38 KB
Edit
Delete
Copy
Move
Remame
dvitomp
845.56 KB
Edit
Delete
Copy
Move
Remame
dvitype
50.71 KB
Edit
Delete
Copy
Move
Remame
dwebp
34.76 KB
Edit
Delete
Copy
Move
Remame
dwp
1836.66 KB
Edit
Delete
Copy
Move
Remame
dwz
237.66 KB
Edit
Delete
Copy
Move
Remame
e2pall
2.66 KB
Edit
Delete
Copy
Move
Remame
ebb
822.05 KB
Edit
Delete
Copy
Move
Remame
echo
42.83 KB
Edit
Delete
Copy
Move
Remame
echo_supervisord_conf
0.97 KB
Edit
Delete
Copy
Move
Remame
edgepaint
412.31 KB
Edit
Delete
Copy
Move
Remame
edit
18.06 KB
Edit
Delete
Copy
Move
Remame
editor
3561.49 KB
Edit
Delete
Copy
Move
Remame
egrep
0.04 KB
Edit
Delete
Copy
Move
Remame
elfedit
35.03 KB
Edit
Delete
Copy
Move
Remame
enc2xs
40.96 KB
Edit
Delete
Copy
Move
Remame
encguess
3 KB
Edit
Delete
Copy
Move
Remame
env
47.4 KB
Edit
Delete
Copy
Move
Remame
env_parallel
4.99 KB
Edit
Delete
Copy
Move
Remame
env_parallel.bash
13.78 KB
Edit
Delete
Copy
Move
Remame
env_parallel.csh
5.26 KB
Edit
Delete
Copy
Move
Remame
env_parallel.dash
13.56 KB
Edit
Delete
Copy
Move
Remame
env_parallel.fish
6.49 KB
Edit
Delete
Copy
Move
Remame
env_parallel.ksh
12.88 KB
Edit
Delete
Copy
Move
Remame
env_parallel.mksh
12.91 KB
Edit
Delete
Copy
Move
Remame
env_parallel.sh
13.55 KB
Edit
Delete
Copy
Move
Remame
env_parallel.tcsh
5.26 KB
Edit
Delete
Copy
Move
Remame
env_parallel.zsh
12.89 KB
Edit
Delete
Copy
Move
Remame
envsubst
34.31 KB
Edit
Delete
Copy
Move
Remame
eps2eps
0.62 KB
Edit
Delete
Copy
Move
Remame
epspdf
75.65 KB
Edit
Delete
Copy
Move
Remame
epspdftk
24.03 KB
Edit
Delete
Copy
Move
Remame
epstopdf
34.19 KB
Edit
Delete
Copy
Move
Remame
eptex
533.28 KB
Edit
Delete
Copy
Move
Remame
eqn
205.42 KB
Edit
Delete
Copy
Move
Remame
eqn2graph
3.16 KB
Edit
Delete
Copy
Move
Remame
etex
2305.14 KB
Edit
Delete
Copy
Move
Remame
euptex
540.02 KB
Edit
Delete
Copy
Move
Remame
ex
3561.49 KB
Edit
Delete
Copy
Move
Remame
exceltex
18.53 KB
Edit
Delete
Copy
Move
Remame
expand
42.92 KB
Edit
Delete
Copy
Move
Remame
expiry
30.45 KB
Edit
Delete
Copy
Move
Remame
expr
115.05 KB
Edit
Delete
Copy
Move
Remame
extractbb
822.05 KB
Edit
Delete
Copy
Move
Remame
factor
83.2 KB
Edit
Delete
Copy
Move
Remame
faillog
22.53 KB
Edit
Delete
Copy
Move
Remame
fallocate
34.31 KB
Edit
Delete
Copy
Move
Remame
false
34.83 KB
Edit
Delete
Copy
Move
Remame
fc-cache
18.59 KB
Edit
Delete
Copy
Move
Remame
fc-cat
18.52 KB
Edit
Delete
Copy
Move
Remame
fc-conflist
14.34 KB
Edit
Delete
Copy
Move
Remame
fc-list
14.4 KB
Edit
Delete
Copy
Move
Remame
fc-match
14.47 KB
Edit
Delete
Copy
Move
Remame
fc-pattern
14.39 KB
Edit
Delete
Copy
Move
Remame
fc-query
14.36 KB
Edit
Delete
Copy
Move
Remame
fc-scan
14.42 KB
Edit
Delete
Copy
Move
Remame
fc-validate
14.41 KB
Edit
Delete
Copy
Move
Remame
fdp
14.31 KB
Edit
Delete
Copy
Move
Remame
fftw-wisdom
52.02 KB
Edit
Delete
Copy
Move
Remame
fftw-wisdom-to-conf
2.23 KB
Edit
Delete
Copy
Move
Remame
fftwf-wisdom
52.02 KB
Edit
Delete
Copy
Move
Remame
fftwl-wisdom
52.02 KB
Edit
Delete
Copy
Move
Remame
fftwq-wisdom
52.02 KB
Edit
Delete
Copy
Move
Remame
fgrep
0.04 KB
Edit
Delete
Copy
Move
Remame
fig4latex
4.6 KB
Edit
Delete
Copy
Move
Remame
filan
96.02 KB
Edit
Delete
Copy
Move
Remame
file
26.48 KB
Edit
Delete
Copy
Move
Remame
file-rename
4.21 KB
Edit
Delete
Copy
Move
Remame
fincore
34.36 KB
Edit
Delete
Copy
Move
Remame
find
219.58 KB
Edit
Delete
Copy
Move
Remame
find-debuginfo
21.27 KB
Edit
Delete
Copy
Move
Remame
findhyph
9.71 KB
Edit
Delete
Copy
Move
Remame
findmnt
83.59 KB
Edit
Delete
Copy
Move
Remame
flock
34.39 KB
Edit
Delete
Copy
Move
Remame
fmt
46.89 KB
Edit
Delete
Copy
Move
Remame
fmtutil
54.11 KB
Edit
Delete
Copy
Move
Remame
fmtutil-sys
0.91 KB
Edit
Delete
Copy
Move
Remame
fmtutil-user
0.9 KB
Edit
Delete
Copy
Move
Remame
fold
42.89 KB
Edit
Delete
Copy
Move
Remame
fontinst
0.54 KB
Edit
Delete
Copy
Move
Remame
fonttosfnt
34.41 KB
Edit
Delete
Copy
Move
Remame
free
26.3 KB
Edit
Delete
Copy
Move
Remame
freshclam
66.16 KB
Edit
Delete
Copy
Move
Remame
fribidi
23.23 KB
Edit
Delete
Copy
Move
Remame
funzip
22.46 KB
Edit
Delete
Copy
Move
Remame
fuser
39.83 KB
Edit
Delete
Copy
Move
Remame
fusermount
34.3 KB
Edit
Delete
Copy
Move
Remame
g++
1274.99 KB
Edit
Delete
Copy
Move
Remame
g++-12
1274.99 KB
Edit
Delete
Copy
Move
Remame
gapplication
22.31 KB
Edit
Delete
Copy
Move
Remame
gawk
696.44 KB
Edit
Delete
Copy
Move
Remame
gawkbug
6.54 KB
Edit
Delete
Copy
Move
Remame
gc
14.41 KB
Edit
Delete
Copy
Move
Remame
gcc
1270.99 KB
Edit
Delete
Copy
Move
Remame
gcc-12
1270.99 KB
Edit
Delete
Copy
Move
Remame
gcc-ar
34.54 KB
Edit
Delete
Copy
Move
Remame
gcc-ar-12
34.54 KB
Edit
Delete
Copy
Move
Remame
gcc-nm
34.54 KB
Edit
Delete
Copy
Move
Remame
gcc-nm-12
34.54 KB
Edit
Delete
Copy
Move
Remame
gcc-ranlib
34.54 KB
Edit
Delete
Copy
Move
Remame
gcc-ranlib-12
34.54 KB
Edit
Delete
Copy
Move
Remame
gcov
720.16 KB
Edit
Delete
Copy
Move
Remame
gcov-12
720.16 KB
Edit
Delete
Copy
Move
Remame
gcov-dump
568.02 KB
Edit
Delete
Copy
Move
Remame
gcov-dump-12
568.02 KB
Edit
Delete
Copy
Move
Remame
gcov-tool
588.09 KB
Edit
Delete
Copy
Move
Remame
gcov-tool-12
588.09 KB
Edit
Delete
Copy
Move
Remame
gdbus
50.31 KB
Edit
Delete
Copy
Move
Remame
gdbus-codegen
1.99 KB
Edit
Delete
Copy
Move
Remame
gdiffmk
7.51 KB
Edit
Delete
Copy
Move
Remame
gdk-pixbuf-csource
14.26 KB
Edit
Delete
Copy
Move
Remame
gdk-pixbuf-pixdata
14.24 KB
Edit
Delete
Copy
Move
Remame
gdk-pixbuf-thumbnailer
18.32 KB
Edit
Delete
Copy
Move
Remame
genbrk
18.72 KB
Edit
Delete
Copy
Move
Remame
gencat
26.75 KB
Edit
Delete
Copy
Move
Remame
gencfu
14.67 KB
Edit
Delete
Copy
Move
Remame
gencnval
26.56 KB
Edit
Delete
Copy
Move
Remame
gendict
26.79 KB
Edit
Delete
Copy
Move
Remame
gendiff
0.49 KB
Edit
Delete
Copy
Move
Remame
genrb
167.98 KB
Edit
Delete
Copy
Move
Remame
geqn
205.42 KB
Edit
Delete
Copy
Move
Remame
getconf
26.5 KB
Edit
Delete
Copy
Move
Remame
getent
35.47 KB
Edit
Delete
Copy
Move
Remame
getmapdl
21.7 KB
Edit
Delete
Copy
Move
Remame
getopt
34.31 KB
Edit
Delete
Copy
Move
Remame
gettext
34.31 KB
Edit
Delete
Copy
Move
Remame
gettext.sh
5.07 KB
Edit
Delete
Copy
Move
Remame
gettextize
41.28 KB
Edit
Delete
Copy
Move
Remame
gftodvi
46.65 KB
Edit
Delete
Copy
Move
Remame
gftopk
26.64 KB
Edit
Delete
Copy
Move
Remame
gftype
30.62 KB
Edit
Delete
Copy
Move
Remame
ghostscript
14.23 KB
Edit
Delete
Copy
Move
Remame
gif2webp
30.84 KB
Edit
Delete
Copy
Move
Remame
gio
90.33 KB
Edit
Delete
Copy
Move
Remame
gio-querymodules
14.23 KB
Edit
Delete
Copy
Move
Remame
git
3626.38 KB
Edit
Delete
Copy
Move
Remame
git-latexdiff
25.09 KB
Edit
Delete
Copy
Move
Remame
git-receive-pack
3626.38 KB
Edit
Delete
Copy
Move
Remame
git-shell
2091.59 KB
Edit
Delete
Copy
Move
Remame
git-upload-archive
3626.38 KB
Edit
Delete
Copy
Move
Remame
git-upload-pack
3626.38 KB
Edit
Delete
Copy
Move
Remame
glib-compile-resources
50.15 KB
Edit
Delete
Copy
Move
Remame
glib-compile-schemas
62.3 KB
Edit
Delete
Copy
Move
Remame
glib-genmarshal
40.14 KB
Edit
Delete
Copy
Move
Remame
glib-gettextize
5.31 KB
Edit
Delete
Copy
Move
Remame
glib-mkenums
30.21 KB
Edit
Delete
Copy
Move
Remame
glilypond
18.19 KB
Edit
Delete
Copy
Move
Remame
gmake
234.65 KB
Edit
Delete
Copy
Move
Remame
gml2gv
42.77 KB
Edit
Delete
Copy
Move
Remame
gnutls-cli
130.95 KB
Edit
Delete
Copy
Move
Remame
gnutls-cli-debug
110.82 KB
Edit
Delete
Copy
Move
Remame
gnutls-serv
98.32 KB
Edit
Delete
Copy
Move
Remame
gobject-query
14.24 KB
Edit
Delete
Copy
Move
Remame
gold
3064.69 KB
Edit
Delete
Copy
Move
Remame
gp-archive
159.06 KB
Edit
Delete
Copy
Move
Remame
gp-collect-app
175.27 KB
Edit
Delete
Copy
Move
Remame
gp-display-html
578.29 KB
Edit
Delete
Copy
Move
Remame
gp-display-src
150.81 KB
Edit
Delete
Copy
Move
Remame
gp-display-text
257.3 KB
Edit
Delete
Copy
Move
Remame
gpasswd
86.42 KB
Edit
Delete
Copy
Move
Remame
gperl
6.87 KB
Edit
Delete
Copy
Move
Remame
gpg
1082.46 KB
Edit
Delete
Copy
Move
Remame
gpg-agent
425.22 KB
Edit
Delete
Copy
Move
Remame
gpg-connect-agent
154.96 KB
Edit
Delete
Copy
Move
Remame
gpg-wks-server
203 KB
Edit
Delete
Copy
Move
Remame
gpg-zip
3.43 KB
Edit
Delete
Copy
Move
Remame
gpg2
1082.46 KB
Edit
Delete
Copy
Move
Remame
gpgcompose
910.27 KB
Edit
Delete
Copy
Move
Remame
gpgconf
174.73 KB
Edit
Delete
Copy
Move
Remame
gpgparsemail
34.3 KB
Edit
Delete
Copy
Move
Remame
gpgrt-config
13.28 KB
Edit
Delete
Copy
Move
Remame
gpgsm
527.66 KB
Edit
Delete
Copy
Move
Remame
gpgsplit
74.56 KB
Edit
Delete
Copy
Move
Remame
gpgtar
147.52 KB
Edit
Delete
Copy
Move
Remame
gpgv
463 KB
Edit
Delete
Copy
Move
Remame
gpic
220.27 KB
Edit
Delete
Copy
Move
Remame
gpinyin
5.28 KB
Edit
Delete
Copy
Move
Remame
gprof
108.35 KB
Edit
Delete
Copy
Move
Remame
gprofng
146.59 KB
Edit
Delete
Copy
Move
Remame
grap2graph
3.08 KB
Edit
Delete
Copy
Move
Remame
graphml2gv
22.64 KB
Edit
Delete
Copy
Move
Remame
gregorio
675.11 KB
Edit
Delete
Copy
Move
Remame
grep
198.39 KB
Edit
Delete
Copy
Move
Remame
gresource
22.23 KB
Edit
Delete
Copy
Move
Remame
grn
113.86 KB
Edit
Delete
Copy
Move
Remame
grodvi
141.45 KB
Edit
Delete
Copy
Move
Remame
groff
125.45 KB
Edit
Delete
Copy
Move
Remame
groffer
8.04 KB
Edit
Delete
Copy
Move
Remame
grog
2.71 KB
Edit
Delete
Copy
Move
Remame
grolbp
142.48 KB
Edit
Delete
Copy
Move
Remame
grolj4
137.45 KB
Edit
Delete
Copy
Move
Remame
gropdf
70.69 KB
Edit
Delete
Copy
Move
Remame
grops
185.86 KB
Edit
Delete
Copy
Move
Remame
grotty
137.48 KB
Edit
Delete
Copy
Move
Remame
groups
42.89 KB
Edit
Delete
Copy
Move
Remame
gs
14.23 KB
Edit
Delete
Copy
Move
Remame
gsbj
0.34 KB
Edit
Delete
Copy
Move
Remame
gsdj
0.34 KB
Edit
Delete
Copy
Move
Remame
gsdj500
0.34 KB
Edit
Delete
Copy
Move
Remame
gsettings
26.31 KB
Edit
Delete
Copy
Move
Remame
gsftopk
34.94 KB
Edit
Delete
Copy
Move
Remame
gslj
0.34 KB
Edit
Delete
Copy
Move
Remame
gslp
0.34 KB
Edit
Delete
Copy
Move
Remame
gsnd
0.27 KB
Edit
Delete
Copy
Move
Remame
gtbl
146.43 KB
Edit
Delete
Copy
Move
Remame
gtester
30.26 KB
Edit
Delete
Copy
Move
Remame
gtester-report
18.64 KB
Edit
Delete
Copy
Move
Remame
gtk-update-icon-cache
38.55 KB
Edit
Delete
Copy
Move
Remame
gunzip
2.29 KB
Edit
Delete
Copy
Move
Remame
gv2gml
22.45 KB
Edit
Delete
Copy
Move
Remame
gv2gxl
38.98 KB
Edit
Delete
Copy
Move
Remame
gvcolor
48.66 KB
Edit
Delete
Copy
Move
Remame
gvgen
26.27 KB
Edit
Delete
Copy
Move
Remame
gvmap
564.64 KB
Edit
Delete
Copy
Move
Remame
gvmap.sh
2.13 KB
Edit
Delete
Copy
Move
Remame
gvpack
26.88 KB
Edit
Delete
Copy
Move
Remame
gvpr
14.16 KB
Edit
Delete
Copy
Move
Remame
gxditview
141.62 KB
Edit
Delete
Copy
Move
Remame
gxl2dot
38.98 KB
Edit
Delete
Copy
Move
Remame
gxl2gv
38.98 KB
Edit
Delete
Copy
Move
Remame
gzexe
6.3 KB
Edit
Delete
Copy
Move
Remame
gzip
95.84 KB
Edit
Delete
Copy
Move
Remame
h2ph
28.54 KB
Edit
Delete
Copy
Move
Remame
h2xs
59.51 KB
Edit
Delete
Copy
Move
Remame
hardlink
50.39 KB
Edit
Delete
Copy
Move
Remame
hd
58.32 KB
Edit
Delete
Copy
Move
Remame
head
46.95 KB
Edit
Delete
Copy
Move
Remame
helpztags
2.46 KB
Edit
Delete
Copy
Move
Remame
hexdump
58.32 KB
Edit
Delete
Copy
Move
Remame
hishrink
96.85 KB
Edit
Delete
Copy
Move
Remame
histretch
124.52 KB
Edit
Delete
Copy
Move
Remame
hitex
393.96 KB
Edit
Delete
Copy
Move
Remame
hmac256
18.63 KB
Edit
Delete
Copy
Move
Remame
hostid
38.83 KB
Edit
Delete
Copy
Move
Remame
hostname
22.15 KB
Edit
Delete
Copy
Move
Remame
hostnamectl
30.38 KB
Edit
Delete
Copy
Move
Remame
hpftodit
260.52 KB
Edit
Delete
Copy
Move
Remame
ht
1 KB
Edit
Delete
Copy
Move
Remame
htcontext
1.12 KB
Edit
Delete
Copy
Move
Remame
htlatex
2.46 KB
Edit
Delete
Copy
Move
Remame
htmex
1.91 KB
Edit
Delete
Copy
Move
Remame
httex
1.91 KB
Edit
Delete
Copy
Move
Remame
httexi
2.4 KB
Edit
Delete
Copy
Move
Remame
htxelatex
2.5 KB
Edit
Delete
Copy
Move
Remame
htxetex
1.95 KB
Edit
Delete
Copy
Move
Remame
i386
26.58 KB
Edit
Delete
Copy
Move
Remame
iconv
63.13 KB
Edit
Delete
Copy
Move
Remame
icuexportdata
53.22 KB
Edit
Delete
Copy
Move
Remame
icuinfo
14.56 KB
Edit
Delete
Copy
Move
Remame
id
47.02 KB
Edit
Delete
Copy
Move
Remame
identify
34.79 KB
Edit
Delete
Copy
Move
Remame
ifnames
4.08 KB
Edit
Delete
Copy
Move
Remame
img2webp
47.23 KB
Edit
Delete
Copy
Move
Remame
import
34.7 KB
Edit
Delete
Copy
Move
Remame
indxbib
58.47 KB
Edit
Delete
Copy
Move
Remame
infocmp
62.31 KB
Edit
Delete
Copy
Move
Remame
infotocap
90.34 KB
Edit
Delete
Copy
Move
Remame
inimf
404.71 KB
Edit
Delete
Copy
Move
Remame
initex
404.59 KB
Edit
Delete
Copy
Move
Remame
innochecksum
196.23 KB
Edit
Delete
Copy
Move
Remame
install
155.8 KB
Edit
Delete
Copy
Move
Remame
installfont-tl
18.39 KB
Edit
Delete
Copy
Move
Remame
instmodsh
4.27 KB
Edit
Delete
Copy
Move
Remame
ionice
34.31 KB
Edit
Delete
Copy
Move
Remame
iostat
50.37 KB
Edit
Delete
Copy
Move
Remame
ipcmk
34.38 KB
Edit
Delete
Copy
Move
Remame
ipcrm
34.31 KB
Edit
Delete
Copy
Move
Remame
ipcs
74.31 KB
Edit
Delete
Copy
Move
Remame
ischroot
14.32 KB
Edit
Delete
Copy
Move
Remame
isql
38.24 KB
Edit
Delete
Copy
Move
Remame
iusql
30.23 KB
Edit
Delete
Copy
Move
Remame
java
14.05 KB
Edit
Delete
Copy
Move
Remame
jdupes
58.26 KB
Edit
Delete
Copy
Move
Remame
jexec
14.05 KB
Edit
Delete
Copy
Move
Remame
join
54.98 KB
Edit
Delete
Copy
Move
Remame
journalctl
74.64 KB
Edit
Delete
Copy
Move
Remame
jpackage
14.07 KB
Edit
Delete
Copy
Move
Remame
jq
30.08 KB
Edit
Delete
Copy
Move
Remame
json_pp
4.88 KB
Edit
Delete
Copy
Move
Remame
kbxutil
162.77 KB
Edit
Delete
Copy
Move
Remame
kernel-install
12.75 KB
Edit
Delete
Copy
Move
Remame
ketcindy
5 KB
Edit
Delete
Copy
Move
Remame
keytool
14.07 KB
Edit
Delete
Copy
Move
Remame
kill
22.3 KB
Edit
Delete
Copy
Move
Remame
killall
31.95 KB
Edit
Delete
Copy
Move
Remame
kpseaccess
14.35 KB
Edit
Delete
Copy
Move
Remame
kpsepath
3.38 KB
Edit
Delete
Copy
Move
Remame
kpsereadlink
14.36 KB
Edit
Delete
Copy
Move
Remame
kpsestat
14.37 KB
Edit
Delete
Copy
Move
Remame
kpsetool
3.38 KB
Edit
Delete
Copy
Move
Remame
kpsewhere
1.41 KB
Edit
Delete
Copy
Move
Remame
kpsewhich
27.68 KB
Edit
Delete
Copy
Move
Remame
kpsexpand
3.38 KB
Edit
Delete
Copy
Move
Remame
krb5-config
6.72 KB
Edit
Delete
Copy
Move
Remame
krb5-config.mit
6.72 KB
Edit
Delete
Copy
Move
Remame
l3build
6.4 KB
Edit
Delete
Copy
Move
Remame
last
50.31 KB
Edit
Delete
Copy
Move
Remame
lastb
50.31 KB
Edit
Delete
Copy
Move
Remame
lastlog
31.75 KB
Edit
Delete
Copy
Move
Remame
latex
2305.14 KB
Edit
Delete
Copy
Move
Remame
latex-dev
2305.14 KB
Edit
Delete
Copy
Move
Remame
latex-git-log
11.45 KB
Edit
Delete
Copy
Move
Remame
latex-papersize
10 KB
Edit
Delete
Copy
Move
Remame
latex-wordcount
3.1 KB
Edit
Delete
Copy
Move
Remame
latex2man
54.44 KB
Edit
Delete
Copy
Move
Remame
latex2nemeth
0.12 KB
Edit
Delete
Copy
Move
Remame
latexdef
32.33 KB
Edit
Delete
Copy
Move
Remame
latexfileversion
3.1 KB
Edit
Delete
Copy
Move
Remame
latexindent
3.41 KB
Edit
Delete
Copy
Move
Remame
latexpand
19.89 KB
Edit
Delete
Copy
Move
Remame
lcf
7.6 KB
Edit
Delete
Copy
Move
Remame
ld
1305.27 KB
Edit
Delete
Copy
Move
Remame
ld.bfd
1305.27 KB
Edit
Delete
Copy
Move
Remame
ld.gold
3064.69 KB
Edit
Delete
Copy
Move
Remame
ld.so
209.96 KB
Edit
Delete
Copy
Move
Remame
ldapadd
78.39 KB
Edit
Delete
Copy
Move
Remame
ldapcompare
70.39 KB
Edit
Delete
Copy
Move
Remame
ldapdelete
74.42 KB
Edit
Delete
Copy
Move
Remame
ldapexop
74.39 KB
Edit
Delete
Copy
Move
Remame
ldapmodify
78.39 KB
Edit
Delete
Copy
Move
Remame
ldapmodrdn
70.39 KB
Edit
Delete
Copy
Move
Remame
ldappasswd
74.39 KB
Edit
Delete
Copy
Move
Remame
ldapsearch
102.42 KB
Edit
Delete
Copy
Move
Remame
ldapurl
22.23 KB
Edit
Delete
Copy
Move
Remame
ldapwhoami
66.39 KB
Edit
Delete
Copy
Move
Remame
ldd
5.28 KB
Edit
Delete
Copy
Move
Remame
lefty
291.38 KB
Edit
Delete
Copy
Move
Remame
less
194.3 KB
Edit
Delete
Copy
Move
Remame
lessecho
14.24 KB
Edit
Delete
Copy
Move
Remame
lessfile
8.83 KB
Edit
Delete
Copy
Move
Remame
lesskey
23.63 KB
Edit
Delete
Copy
Move
Remame
lesspipe
8.83 KB
Edit
Delete
Copy
Move
Remame
lexgrog
107.48 KB
Edit
Delete
Copy
Move
Remame
libgcrypt-config
4.52 KB
Edit
Delete
Copy
Move
Remame
libnetcfg
15.41 KB
Edit
Delete
Copy
Move
Remame
libpng-config
2.41 KB
Edit
Delete
Copy
Move
Remame
libpng16-config
2.41 KB
Edit
Delete
Copy
Move
Remame
libtoolize
133.12 KB
Edit
Delete
Copy
Move
Remame
libwmf-config
1.28 KB
Edit
Delete
Copy
Move
Remame
link
38.83 KB
Edit
Delete
Copy
Move
Remame
linux32
26.58 KB
Edit
Delete
Copy
Move
Remame
linux64
26.58 KB
Edit
Delete
Copy
Move
Remame
listings-ext
12.08 KB
Edit
Delete
Copy
Move
Remame
lkbib
62.45 KB
Edit
Delete
Copy
Move
Remame
ln
71.12 KB
Edit
Delete
Copy
Move
Remame
lneato
1.51 KB
Edit
Delete
Copy
Move
Remame
locale
46.16 KB
Edit
Delete
Copy
Move
Remame
localectl
26.38 KB
Edit
Delete
Copy
Move
Remame
localedef
291.91 KB
Edit
Delete
Copy
Move
Remame
logger
54.9 KB
Edit
Delete
Copy
Move
Remame
login
51.78 KB
Edit
Delete
Copy
Move
Remame
loginctl
58.48 KB
Edit
Delete
Copy
Move
Remame
logname
38.83 KB
Edit
Delete
Copy
Move
Remame
look
18.31 KB
Edit
Delete
Copy
Move
Remame
lookbib
62.45 KB
Edit
Delete
Copy
Move
Remame
ls
147.8 KB
Edit
Delete
Copy
Move
Remame
lsattr
14.24 KB
Edit
Delete
Copy
Move
Remame
lsb_release
2.59 KB
Edit
Delete
Copy
Move
Remame
lsblk
202.31 KB
Edit
Delete
Copy
Move
Remame
lscpu
126.31 KB
Edit
Delete
Copy
Move
Remame
lsfd
120.3 KB
Edit
Delete
Copy
Move
Remame
lsipc
98.31 KB
Edit
Delete
Copy
Move
Remame
lsirq
34.48 KB
Edit
Delete
Copy
Move
Remame
lslocks
70.7 KB
Edit
Delete
Copy
Move
Remame
lslogins
94.31 KB
Edit
Delete
Copy
Move
Remame
lsmem
66.31 KB
Edit
Delete
Copy
Move
Remame
lsns
82.31 KB
Edit
Delete
Copy
Move
Remame
lspgpot
1.06 KB
Edit
Delete
Copy
Move
Remame
lto-dump
31196.32 KB
Edit
Delete
Copy
Move
Remame
lto-dump-12
31196.32 KB
Edit
Delete
Copy
Move
Remame
ltxfileinfo
13.46 KB
Edit
Delete
Copy
Move
Remame
ltximg
131.76 KB
Edit
Delete
Copy
Move
Remame
lua
263.19 KB
Edit
Delete
Copy
Move
Remame
lua5.4
263.19 KB
Edit
Delete
Copy
Move
Remame
luac
178.82 KB
Edit
Delete
Copy
Move
Remame
luac5.4
178.82 KB
Edit
Delete
Copy
Move
Remame
luahbtex
6691.72 KB
Edit
Delete
Copy
Move
Remame
luajithbtex
6583.78 KB
Edit
Delete
Copy
Move
Remame
luajittex
6534.94 KB
Edit
Delete
Copy
Move
Remame
lualatex
6691.72 KB
Edit
Delete
Copy
Move
Remame
lualatex-dev
6691.72 KB
Edit
Delete
Copy
Move
Remame
luaotfload-tool
52.56 KB
Edit
Delete
Copy
Move
Remame
luatex
6646.84 KB
Edit
Delete
Copy
Move
Remame
lwarpmk
29.14 KB
Edit
Delete
Copy
Move
Remame
lz4_decompress
71.43 KB
Edit
Delete
Copy
Move
Remame
lzcat
82.7 KB
Edit
Delete
Copy
Move
Remame
lzcmp
7.25 KB
Edit
Delete
Copy
Move
Remame
lzdiff
7.25 KB
Edit
Delete
Copy
Move
Remame
lzegrep
10.09 KB
Edit
Delete
Copy
Move
Remame
lzfgrep
10.09 KB
Edit
Delete
Copy
Move
Remame
lzgrep
10.09 KB
Edit
Delete
Copy
Move
Remame
lzless
1.77 KB
Edit
Delete
Copy
Move
Remame
lzma
82.7 KB
Edit
Delete
Copy
Move
Remame
lzmainfo
14.3 KB
Edit
Delete
Copy
Move
Remame
lzmore
2.14 KB
Edit
Delete
Copy
Move
Remame
m4
271.52 KB
Edit
Delete
Copy
Move
Remame
mag
14.38 KB
Edit
Delete
Copy
Move
Remame
make
234.65 KB
Edit
Delete
Copy
Move
Remame
make-first-existing-target
4.79 KB
Edit
Delete
Copy
Move
Remame
make4ht
4.11 KB
Edit
Delete
Copy
Move
Remame
makeconv
51.03 KB
Edit
Delete
Copy
Move
Remame
makedtx
24.53 KB
Edit
Delete
Copy
Move
Remame
makeglossaries
52.98 KB
Edit
Delete
Copy
Move
Remame
makeglossaries-lite
13.15 KB
Edit
Delete
Copy
Move
Remame
makeindex
80.91 KB
Edit
Delete
Copy
Move
Remame
makejvf
42.58 KB
Edit
Delete
Copy
Move
Remame
man
121.36 KB
Edit
Delete
Copy
Move
Remame
man-recode
35.38 KB
Edit
Delete
Copy
Move
Remame
mandb
147.61 KB
Edit
Delete
Copy
Move
Remame
manpath
34.78 KB
Edit
Delete
Copy
Move
Remame
mariadb-config
14.7 KB
Edit
Delete
Copy
Move
Remame
mariadb_config
14.7 KB
Edit
Delete
Copy
Move
Remame
match_parens
6.59 KB
Edit
Delete
Copy
Move
Remame
mathspic
125.53 KB
Edit
Delete
Copy
Move
Remame
mawk
154.66 KB
Edit
Delete
Copy
Move
Remame
mcookie
34.38 KB
Edit
Delete
Copy
Move
Remame
md5sum
50.95 KB
Edit
Delete
Copy
Move
Remame
md5sum.textutils
50.95 KB
Edit
Delete
Copy
Move
Remame
mendex
113.55 KB
Edit
Delete
Copy
Move
Remame
mesg
18.3 KB
Edit
Delete
Copy
Move
Remame
mf
404.71 KB
Edit
Delete
Copy
Move
Remame
mf-nowin
396.16 KB
Edit
Delete
Copy
Move
Remame
mf2pt1
40.46 KB
Edit
Delete
Copy
Move
Remame
mflua
1380.15 KB
Edit
Delete
Copy
Move
Remame
mflua-nowin
1380.15 KB
Edit
Delete
Copy
Move
Remame
mfluajit
1380.15 KB
Edit
Delete
Copy
Move
Remame
mfluajit-nowin
1380.15 KB
Edit
Delete
Copy
Move
Remame
mfplain
845.56 KB
Edit
Delete
Copy
Move
Remame
mft
46.67 KB
Edit
Delete
Copy
Move
Remame
migrate-pubring-from-classic-gpg
2.99 KB
Edit
Delete
Copy
Move
Remame
mingle
412.66 KB
Edit
Delete
Copy
Move
Remame
mk4ht
16.73 KB
Edit
Delete
Copy
Move
Remame
mkdir
95.27 KB
Edit
Delete
Copy
Move
Remame
mkfifo
67.17 KB
Edit
Delete
Copy
Move
Remame
mkfontdir
0.06 KB
Edit
Delete
Copy
Move
Remame
mkfontscale
39.05 KB
Edit
Delete
Copy
Move
Remame
mkindex
1.07 KB
Edit
Delete
Copy
Move
Remame
mkjobtexmf
23.68 KB
Edit
Delete
Copy
Move
Remame
mknod
71.2 KB
Edit
Delete
Copy
Move
Remame
mkocp
0.17 KB
Edit
Delete
Copy
Move
Remame
mkofm
0.08 KB
Edit
Delete
Copy
Move
Remame
mkpic
25.18 KB
Edit
Delete
Copy
Move
Remame
mkt1font
33.44 KB
Edit
Delete
Copy
Move
Remame
mktemp
42.92 KB
Edit
Delete
Copy
Move
Remame
mktexfmt
54.11 KB
Edit
Delete
Copy
Move
Remame
mktexlsr
8.03 KB
Edit
Delete
Copy
Move
Remame
mktexmf
3.91 KB
Edit
Delete
Copy
Move
Remame
mktexpk
9.66 KB
Edit
Delete
Copy
Move
Remame
mktextfm
5.77 KB
Edit
Delete
Copy
Move
Remame
mlock
14.39 KB
Edit
Delete
Copy
Move
Remame
mm2gv
86.72 KB
Edit
Delete
Copy
Move
Remame
mmroff
3.75 KB
Edit
Delete
Copy
Move
Remame
mogrify
34.59 KB
Edit
Delete
Copy
Move
Remame
montage
34.61 KB
Edit
Delete
Copy
Move
Remame
more
58.31 KB
Edit
Delete
Copy
Move
Remame
mount
58.3 KB
Edit
Delete
Copy
Move
Remame
mountpoint
18.3 KB
Edit
Delete
Copy
Move
Remame
mpicalc
22.23 KB
Edit
Delete
Copy
Move
Remame
mpost
845.56 KB
Edit
Delete
Copy
Move
Remame
mpstat
46.38 KB
Edit
Delete
Copy
Move
Remame
mptopdf
4.37 KB
Edit
Delete
Copy
Move
Remame
msgattrib
26.3 KB
Edit
Delete
Copy
Move
Remame
msgcat
22.3 KB
Edit
Delete
Copy
Move
Remame
msgcmp
26.3 KB
Edit
Delete
Copy
Move
Remame
msgcomm
22.3 KB
Edit
Delete
Copy
Move
Remame
msgconv
22.3 KB
Edit
Delete
Copy
Move
Remame
msgen
22.3 KB
Edit
Delete
Copy
Move
Remame
msgexec
18.3 KB
Edit
Delete
Copy
Move
Remame
msgfilter
30.3 KB
Edit
Delete
Copy
Move
Remame
msgfmt
86.5 KB
Edit
Delete
Copy
Move
Remame
msggrep
114.42 KB
Edit
Delete
Copy
Move
Remame
msginit
66.65 KB
Edit
Delete
Copy
Move
Remame
msgmerge
70.68 KB
Edit
Delete
Copy
Move
Remame
msgunfmt
34.32 KB
Edit
Delete
Copy
Move
Remame
msguniq
22.3 KB
Edit
Delete
Copy
Move
Remame
msxlint
18.48 KB
Edit
Delete
Copy
Move
Remame
mt
83.38 KB
Edit
Delete
Copy
Move
Remame
mt-gnu
83.38 KB
Edit
Delete
Copy
Move
Remame
mv
139.62 KB
Edit
Delete
Copy
Move
Remame
mvn
5.65 KB
Edit
Delete
Copy
Move
Remame
mvnDebug
1.56 KB
Edit
Delete
Copy
Move
Remame
myisam_ftdump
6486.03 KB
Edit
Delete
Copy
Move
Remame
mysql
7457.22 KB
Edit
Delete
Copy
Move
Remame
mysql_config
14.7 KB
Edit
Delete
Copy
Move
Remame
mysqladmin
7142 KB
Edit
Delete
Copy
Move
Remame
mysqlanalyze
7146.69 KB
Edit
Delete
Copy
Move
Remame
mysqlcheck
7146.69 KB
Edit
Delete
Copy
Move
Remame
mysqldump
7245.28 KB
Edit
Delete
Copy
Move
Remame
mysqldumpslow
1.73 KB
Edit
Delete
Copy
Move
Remame
mysqlimport
7134.31 KB
Edit
Delete
Copy
Move
Remame
mysqloptimize
7146.69 KB
Edit
Delete
Copy
Move
Remame
mysqlpump
7580.47 KB
Edit
Delete
Copy
Move
Remame
mysqlrepair
7146.69 KB
Edit
Delete
Copy
Move
Remame
mysqlshow
7136.88 KB
Edit
Delete
Copy
Move
Remame
mysqlslap
7151.63 KB
Edit
Delete
Copy
Move
Remame
namei
34.31 KB
Edit
Delete
Copy
Move
Remame
nawk
696.44 KB
Edit
Delete
Copy
Move
Remame
nc
216.13 KB
Edit
Delete
Copy
Move
Remame
nc.traditional
34.13 KB
Edit
Delete
Copy
Move
Remame
ncal
36.84 KB
Edit
Delete
Copy
Move
Remame
ncat
216.13 KB
Edit
Delete
Copy
Move
Remame
neato
14.31 KB
Edit
Delete
Copy
Move
Remame
neqn
0.89 KB
Edit
Delete
Copy
Move
Remame
netcat
216.13 KB
Edit
Delete
Copy
Move
Remame
networkctl
106.38 KB
Edit
Delete
Copy
Move
Remame
newgrp
47.75 KB
Edit
Delete
Copy
Move
Remame
ngettext
34.31 KB
Edit
Delete
Copy
Move
Remame
nice
42.86 KB
Edit
Delete
Copy
Move
Remame
niceload
32.51 KB
Edit
Delete
Copy
Move
Remame
nisdomainname
22.15 KB
Edit
Delete
Copy
Move
Remame
nl
111.11 KB
Edit
Delete
Copy
Move
Remame
nm
44.03 KB
Edit
Delete
Copy
Move
Remame
nohup
42.89 KB
Edit
Delete
Copy
Move
Remame
nop
14.32 KB
Edit
Delete
Copy
Move
Remame
normalizer
0.24 KB
Edit
Delete
Copy
Move
Remame
nproc
42.89 KB
Edit
Delete
Copy
Move
Remame
nroff
3.22 KB
Edit
Delete
Copy
Move
Remame
nsenter
34.54 KB
Edit
Delete
Copy
Move
Remame
numfmt
67.02 KB
Edit
Delete
Copy
Move
Remame
objcopy
155.66 KB
Edit
Delete
Copy
Move
Remame
objdump
362.56 KB
Edit
Delete
Copy
Move
Remame
ocsptool
106.3 KB
Edit
Delete
Copy
Move
Remame
od
79.02 KB
Edit
Delete
Copy
Move
Remame
odvicopy
66.66 KB
Edit
Delete
Copy
Move
Remame
odvitype
50.71 KB
Edit
Delete
Copy
Move
Remame
ofm2opl
121.38 KB
Edit
Delete
Copy
Move
Remame
omfonts
121.38 KB
Edit
Delete
Copy
Move
Remame
open
25.46 KB
Edit
Delete
Copy
Move
Remame
openssl
953.26 KB
Edit
Delete
Copy
Move
Remame
opl2ofm
121.38 KB
Edit
Delete
Copy
Move
Remame
optex
6646.84 KB
Edit
Delete
Copy
Move
Remame
osage
14.31 KB
Edit
Delete
Copy
Move
Remame
ot2kpx
27.01 KB
Edit
Delete
Copy
Move
Remame
otangle
46.65 KB
Edit
Delete
Copy
Move
Remame
otp2ocp
38.48 KB
Edit
Delete
Copy
Move
Remame
outocp
14.7 KB
Edit
Delete
Copy
Move
Remame
ovf2ovp
121.38 KB
Edit
Delete
Copy
Move
Remame
ovp2ovf
121.38 KB
Edit
Delete
Copy
Move
Remame
p11tool
331.45 KB
Edit
Delete
Copy
Move
Remame
pager
194.3 KB
Edit
Delete
Copy
Move
Remame
pamphletangler
4.53 KB
Edit
Delete
Copy
Move
Remame
pango-list
18.23 KB
Edit
Delete
Copy
Move
Remame
pango-segmentation
18.31 KB
Edit
Delete
Copy
Move
Remame
pango-view
66.36 KB
Edit
Delete
Copy
Move
Remame
paperconf
14.34 KB
Edit
Delete
Copy
Move
Remame
parallel
430.36 KB
Edit
Delete
Copy
Move
Remame
parcat
4.9 KB
Edit
Delete
Copy
Move
Remame
parset
4.38 KB
Edit
Delete
Copy
Move
Remame
parsort
11.08 KB
Edit
Delete
Copy
Move
Remame
partx
118.31 KB
Edit
Delete
Copy
Move
Remame
passwd
66.65 KB
Edit
Delete
Copy
Move
Remame
paste
42.89 KB
Edit
Delete
Copy
Move
Remame
patch
187.44 KB
Edit
Delete
Copy
Move
Remame
patchwork
14.31 KB
Edit
Delete
Copy
Move
Remame
patgen
34.6 KB
Edit
Delete
Copy
Move
Remame
pathchk
42.86 KB
Edit
Delete
Copy
Move
Remame
pbibtex
126.91 KB
Edit
Delete
Copy
Move
Remame
pcre-config
2.29 KB
Edit
Delete
Copy
Move
Remame
pcre2-config
1.93 KB
Edit
Delete
Copy
Move
Remame
pdb2.7
45.02 KB
Edit
Delete
Copy
Move
Remame
pdb3
62.4 KB
Edit
Delete
Copy
Move
Remame
pdb3.11
62.4 KB
Edit
Delete
Copy
Move
Remame
pdf2dsc
0.68 KB
Edit
Delete
Copy
Move
Remame
pdf2ps
0.89 KB
Edit
Delete
Copy
Move
Remame
pdfannotextractor
4.79 KB
Edit
Delete
Copy
Move
Remame
pdfatfi
6.44 KB
Edit
Delete
Copy
Move
Remame
pdfbook2
10.35 KB
Edit
Delete
Copy
Move
Remame
pdfclose
18.49 KB
Edit
Delete
Copy
Move
Remame
pdfcrop
39.36 KB
Edit
Delete
Copy
Move
Remame
pdfetex
2305.14 KB
Edit
Delete
Copy
Move
Remame
pdfjam
41.42 KB
Edit
Delete
Copy
Move
Remame
pdflatex
2305.14 KB
Edit
Delete
Copy
Move
Remame
pdflatex-dev
2305.14 KB
Edit
Delete
Copy
Move
Remame
pdflatexpicscale
7.27 KB
Edit
Delete
Copy
Move
Remame
pdfmom
3.03 KB
Edit
Delete
Copy
Move
Remame
pdfopen
26.61 KB
Edit
Delete
Copy
Move
Remame
pdfroff
20.96 KB
Edit
Delete
Copy
Move
Remame
pdftex
2305.14 KB
Edit
Delete
Copy
Move
Remame
pdftex-quiet
4.27 KB
Edit
Delete
Copy
Move
Remame
pdftosrc
1459.91 KB
Edit
Delete
Copy
Move
Remame
pdfxup
45.89 KB
Edit
Delete
Copy
Move
Remame
pdvitomp
853.69 KB
Edit
Delete
Copy
Move
Remame
pdvitype
54.82 KB
Edit
Delete
Copy
Move
Remame
peekfd
14.5 KB
Edit
Delete
Copy
Move
Remame
percona-release
39.37 KB
Edit
Delete
Copy
Move
Remame
perl
3715.3 KB
Edit
Delete
Copy
Move
Remame
perl5.36-x86_64-linux-gnu
14.41 KB
Edit
Delete
Copy
Move
Remame
perl5.36.0
3715.3 KB
Edit
Delete
Copy
Move
Remame
perlbug
44.12 KB
Edit
Delete
Copy
Move
Remame
perldoc
0.12 KB
Edit
Delete
Copy
Move
Remame
perlivp
10.61 KB
Edit
Delete
Copy
Move
Remame
perltex
14.65 KB
Edit
Delete
Copy
Move
Remame
perlthanks
44.12 KB
Edit
Delete
Copy
Move
Remame
pf2afm
0.49 KB
Edit
Delete
Copy
Move
Remame
pfarrei
4.88 KB
Edit
Delete
Copy
Move
Remame
pfb2pfa
14.45 KB
Edit
Delete
Copy
Move
Remame
pfbtopfa
0.5 KB
Edit
Delete
Copy
Move
Remame
pfbtops
30.34 KB
Edit
Delete
Copy
Move
Remame
pg_config
6.24 KB
Edit
Delete
Copy
Move
Remame
pgrep
34.42 KB
Edit
Delete
Copy
Move
Remame
phar
14.88 KB
Edit
Delete
Copy
Move
Remame
phar.phar
14.88 KB
Edit
Delete
Copy
Move
Remame
phar.phar8.2
14.88 KB
Edit
Delete
Copy
Move
Remame
phar8.2
14.88 KB
Edit
Delete
Copy
Move
Remame
phar8.2.phar
14.88 KB
Edit
Delete
Copy
Move
Remame
php
5529.71 KB
Edit
Delete
Copy
Move
Remame
php-config
4.24 KB
Edit
Delete
Copy
Move
Remame
php-config8.2
4.24 KB
Edit
Delete
Copy
Move
Remame
php8.2
5529.71 KB
Edit
Delete
Copy
Move
Remame
phpize
4.83 KB
Edit
Delete
Copy
Move
Remame
phpize8.2
4.83 KB
Edit
Delete
Copy
Move
Remame
pic
220.27 KB
Edit
Delete
Copy
Move
Remame
pic2graph
3.66 KB
Edit
Delete
Copy
Move
Remame
piconv
8.16 KB
Edit
Delete
Copy
Move
Remame
pidof
26.31 KB
Edit
Delete
Copy
Move
Remame
pidproxy
0.95 KB
Edit
Delete
Copy
Move
Remame
pidstat
50.38 KB
Edit
Delete
Copy
Move
Remame
pidwait
34.42 KB
Edit
Delete
Copy
Move
Remame
pigz
134.2 KB
Edit
Delete
Copy
Move
Remame
pinentry
70.57 KB
Edit
Delete
Copy
Move
Remame
pinentry-curses
70.57 KB
Edit
Delete
Copy
Move
Remame
ping
88.45 KB
Edit
Delete
Copy
Move
Remame
ping4
88.45 KB
Edit
Delete
Copy
Move
Remame
ping6
88.45 KB
Edit
Delete
Copy
Move
Remame
pinky
47.05 KB
Edit
Delete
Copy
Move
Remame
pk2bm
18.4 KB
Edit
Delete
Copy
Move
Remame
pkfix
26.76 KB
Edit
Delete
Copy
Move
Remame
pkfix-helper
70.25 KB
Edit
Delete
Copy
Move
Remame
pkg-config
44.04 KB
Edit
Delete
Copy
Move
Remame
pkgconf
44.04 KB
Edit
Delete
Copy
Move
Remame
pkgdata
47.49 KB
Edit
Delete
Copy
Move
Remame
pkill
34.42 KB
Edit
Delete
Copy
Move
Remame
pktogf
26.61 KB
Edit
Delete
Copy
Move
Remame
pktype
22.57 KB
Edit
Delete
Copy
Move
Remame
pl2pm
4.43 KB
Edit
Delete
Copy
Move
Remame
pldd
22.69 KB
Edit
Delete
Copy
Move
Remame
pltotf
54.61 KB
Edit
Delete
Copy
Move
Remame
pmap
34.34 KB
Edit
Delete
Copy
Move
Remame
pmpost
853.69 KB
Edit
Delete
Copy
Move
Remame
pmxab
602.91 KB
Edit
Delete
Copy
Move
Remame
pn2pdf
4.14 KB
Edit
Delete
Copy
Move
Remame
po2debconf
8.47 KB
Edit
Delete
Copy
Move
Remame
pod2html
4.04 KB
Edit
Delete
Copy
Move
Remame
pod2man
14.68 KB
Edit
Delete
Copy
Move
Remame
pod2text
10.55 KB
Edit
Delete
Copy
Move
Remame
pod2usage
4.01 KB
Edit
Delete
Copy
Move
Remame
podchecker
3.57 KB
Edit
Delete
Copy
Move
Remame
podebconf-display-po
12.67 KB
Edit
Delete
Copy
Move
Remame
podebconf-report-po
31.76 KB
Edit
Delete
Copy
Move
Remame
pooltype
14.56 KB
Edit
Delete
Copy
Move
Remame
post-grohtml
237.45 KB
Edit
Delete
Copy
Move
Remame
pphs
0.39 KB
Edit
Delete
Copy
Move
Remame
ppltotf
66.75 KB
Edit
Delete
Copy
Move
Remame
pr
79.11 KB
Edit
Delete
Copy
Move
Remame
pre-grohtml
125.48 KB
Edit
Delete
Copy
Move
Remame
preconv
66.43 KB
Edit
Delete
Copy
Move
Remame
prename
4.21 KB
Edit
Delete
Copy
Move
Remame
prepmx
131.76 KB
Edit
Delete
Copy
Move
Remame
print
18.06 KB
Edit
Delete
Copy
Move
Remame
printafm
0.39 KB
Edit
Delete
Copy
Move
Remame
printenv
34.83 KB
Edit
Delete
Copy
Move
Remame
printf
62.92 KB
Edit
Delete
Copy
Move
Remame
prlimit
38.83 KB
Edit
Delete
Copy
Move
Remame
procan
79.91 KB
Edit
Delete
Copy
Move
Remame
prove
13.34 KB
Edit
Delete
Copy
Move
Remame
proxysql
96785.41 KB
Edit
Delete
Copy
Move
Remame
prtstat
18.57 KB
Edit
Delete
Copy
Move
Remame
prune
14.45 KB
Edit
Delete
Copy
Move
Remame
ps
142.93 KB
Edit
Delete
Copy
Move
Remame
ps2ascii
0.62 KB
Edit
Delete
Copy
Move
Remame
ps2epsi
1.23 KB
Edit
Delete
Copy
Move
Remame
ps2frag
0.22 KB
Edit
Delete
Copy
Move
Remame
ps2pdf
0.27 KB
Edit
Delete
Copy
Move
Remame
ps2pdf12
0.21 KB
Edit
Delete
Copy
Move
Remame
ps2pdf13
0.21 KB
Edit
Delete
Copy
Move
Remame
ps2pdf14
0.21 KB
Edit
Delete
Copy
Move
Remame
ps2pdfwr
1.05 KB
Edit
Delete
Copy
Move
Remame
ps2pk
150.09 KB
Edit
Delete
Copy
Move
Remame
ps2ps
0.63 KB
Edit
Delete
Copy
Move
Remame
ps2ps2
0.65 KB
Edit
Delete
Copy
Move
Remame
ps2txt
0.62 KB
Edit
Delete
Copy
Move
Remame
psktool
26.3 KB
Edit
Delete
Copy
Move
Remame
pslatex
1.41 KB
Edit
Delete
Copy
Move
Remame
pslog
14.45 KB
Edit
Delete
Copy
Move
Remame
pstree
35.78 KB
Edit
Delete
Copy
Move
Remame
pstree.x11
35.78 KB
Edit
Delete
Copy
Move
Remame
ptar
3.48 KB
Edit
Delete
Copy
Move
Remame
ptardiff
2.58 KB
Edit
Delete
Copy
Move
Remame
ptargrep
4.29 KB
Edit
Delete
Copy
Move
Remame
ptex
461.16 KB
Edit
Delete
Copy
Move
Remame
ptftopl
54.74 KB
Edit
Delete
Copy
Move
Remame
ptx
135.23 KB
Edit
Delete
Copy
Move
Remame
pwd
42.92 KB
Edit
Delete
Copy
Move
Remame
pwdx
14.3 KB
Edit
Delete
Copy
Move
Remame
pwmake
14.24 KB
Edit
Delete
Copy
Move
Remame
pwscore
14.24 KB
Edit
Delete
Copy
Move
Remame
py3clean
7.63 KB
Edit
Delete
Copy
Move
Remame
py3compile
13 KB
Edit
Delete
Copy
Move
Remame
py3versions
12.52 KB
Edit
Delete
Copy
Move
Remame
pybabel
0.93 KB
Edit
Delete
Copy
Move
Remame
pybabel-python3
0.93 KB
Edit
Delete
Copy
Move
Remame
pydoc2.7
0.08 KB
Edit
Delete
Copy
Move
Remame
pydoc3
0.08 KB
Edit
Delete
Copy
Move
Remame
pydoc3.11
0.08 KB
Edit
Delete
Copy
Move
Remame
pygettext2.7
21.58 KB
Edit
Delete
Copy
Move
Remame
pygettext3
23.67 KB
Edit
Delete
Copy
Move
Remame
pygettext3.11
23.67 KB
Edit
Delete
Copy
Move
Remame
pygmentex
15.88 KB
Edit
Delete
Copy
Move
Remame
pygmentize
0.95 KB
Edit
Delete
Copy
Move
Remame
python2.7
3690.93 KB
Edit
Delete
Copy
Move
Remame
python3
6671.62 KB
Edit
Delete
Copy
Move
Remame
python3.11
6671.62 KB
Edit
Delete
Copy
Move
Remame
pythontex
2.95 KB
Edit
Delete
Copy
Move
Remame
r-mpost
845.56 KB
Edit
Delete
Copy
Move
Remame
r-pmpost
853.69 KB
Edit
Delete
Copy
Move
Remame
r-upmpost
853.72 KB
Edit
Delete
Copy
Move
Remame
ranlib
51.17 KB
Edit
Delete
Copy
Move
Remame
rbash
1235.98 KB
Edit
Delete
Copy
Move
Remame
rdebsums
2.61 KB
Edit
Delete
Copy
Move
Remame
readelf
751.38 KB
Edit
Delete
Copy
Move
Remame
readlink
50.89 KB
Edit
Delete
Copy
Move
Remame
realpath
50.92 KB
Edit
Delete
Copy
Move
Remame
recode-sr-latin
14.3 KB
Edit
Delete
Copy
Move
Remame
redis-benchmark
738.63 KB
Edit
Delete
Copy
Move
Remame
redis-check-aof
2331.14 KB
Edit
Delete
Copy
Move
Remame
redis-check-rdb
2331.14 KB
Edit
Delete
Copy
Move
Remame
redis-cli
366.27 KB
Edit
Delete
Copy
Move
Remame
refer
147.89 KB
Edit
Delete
Copy
Move
Remame
rename
4.21 KB
Edit
Delete
Copy
Move
Remame
rename.ul
22.3 KB
Edit
Delete
Copy
Move
Remame
renice
14.3 KB
Edit
Delete
Copy
Move
Remame
repstopdf
34.19 KB
Edit
Delete
Copy
Move
Remame
reset
30.24 KB
Edit
Delete
Copy
Move
Remame
resizepart
70.31 KB
Edit
Delete
Copy
Move
Remame
rev
14.3 KB
Edit
Delete
Copy
Move
Remame
rgrep
0.03 KB
Edit
Delete
Copy
Move
Remame
rm
71.05 KB
Edit
Delete
Copy
Move
Remame
rmdir
54.92 KB
Edit
Delete
Copy
Move
Remame
rmiregistry
14.08 KB
Edit
Delete
Copy
Move
Remame
roff2dvi
5.58 KB
Edit
Delete
Copy
Move
Remame
roff2html
5.58 KB
Edit
Delete
Copy
Move
Remame
roff2pdf
5.58 KB
Edit
Delete
Copy
Move
Remame
roff2ps
5.58 KB
Edit
Delete
Copy
Move
Remame
roff2text
5.58 KB
Edit
Delete
Copy
Move
Remame
roff2x
5.58 KB
Edit
Delete
Copy
Move
Remame
rpcgen
95 KB
Edit
Delete
Copy
Move
Remame
rpdfcrop
39.36 KB
Edit
Delete
Copy
Move
Remame
rpm
22.71 KB
Edit
Delete
Copy
Move
Remame
rpm2archive
18.38 KB
Edit
Delete
Copy
Move
Remame
rpm2cpio
14.23 KB
Edit
Delete
Copy
Move
Remame
rpmbuild
32.9 KB
Edit
Delete
Copy
Move
Remame
rpmdb
18.82 KB
Edit
Delete
Copy
Move
Remame
rpmgraph
18.52 KB
Edit
Delete
Copy
Move
Remame
rpmkeys
18.68 KB
Edit
Delete
Copy
Move
Remame
rpmlua
14.52 KB
Edit
Delete
Copy
Move
Remame
rpmquery
22.71 KB
Edit
Delete
Copy
Move
Remame
rpmsign
19.01 KB
Edit
Delete
Copy
Move
Remame
rpmspec
18.98 KB
Edit
Delete
Copy
Move
Remame
rpmverify
22.71 KB
Edit
Delete
Copy
Move
Remame
rrsync
12.34 KB
Edit
Delete
Copy
Move
Remame
rst-buildhtml
11.17 KB
Edit
Delete
Copy
Move
Remame
rst2html
0.58 KB
Edit
Delete
Copy
Move
Remame
rst2html4
0.7 KB
Edit
Delete
Copy
Move
Remame
rst2html5
1.03 KB
Edit
Delete
Copy
Move
Remame
rst2latex
0.77 KB
Edit
Delete
Copy
Move
Remame
rst2man
0.6 KB
Edit
Delete
Copy
Move
Remame
rst2odt
0.76 KB
Edit
Delete
Copy
Move
Remame
rst2odt_prepstyles
2.01 KB
Edit
Delete
Copy
Move
Remame
rst2pseudoxml
0.58 KB
Edit
Delete
Copy
Move
Remame
rst2s5
0.62 KB
Edit
Delete
Copy
Move
Remame
rst2xetex
0.85 KB
Edit
Delete
Copy
Move
Remame
rst2xml
0.59 KB
Edit
Delete
Copy
Move
Remame
rstpep2html
0.65 KB
Edit
Delete
Copy
Move
Remame
rsvg-convert
5558.7 KB
Edit
Delete
Copy
Move
Remame
rsync
502.38 KB
Edit
Delete
Copy
Move
Remame
rsync-ssl
5.02 KB
Edit
Delete
Copy
Move
Remame
run-mailcap
18.06 KB
Edit
Delete
Copy
Move
Remame
run-parts
26.91 KB
Edit
Delete
Copy
Move
Remame
runcon
42.95 KB
Edit
Delete
Copy
Move
Remame
rview
3561.49 KB
Edit
Delete
Copy
Move
Remame
rvim
3561.49 KB
Edit
Delete
Copy
Move
Remame
sadf
382.24 KB
Edit
Delete
Copy
Move
Remame
sar
133.3 KB
Edit
Delete
Copy
Move
Remame
sar.sysstat
133.3 KB
Edit
Delete
Copy
Move
Remame
savelog
10.24 KB
Edit
Delete
Copy
Move
Remame
scalar
2148.1 KB
Edit
Delete
Copy
Move
Remame
sccmap
22.48 KB
Edit
Delete
Copy
Move
Remame
scor2prt
89.45 KB
Edit
Delete
Copy
Move
Remame
scp
266.63 KB
Edit
Delete
Copy
Move
Remame
script
70.3 KB
Edit
Delete
Copy
Move
Remame
scriptlive
54.3 KB
Edit
Delete
Copy
Move
Remame
scriptreplay
46.3 KB
Edit
Delete
Copy
Move
Remame
sdiff
55.08 KB
Edit
Delete
Copy
Move
Remame
sed
123.46 KB
Edit
Delete
Copy
Move
Remame
see
18.06 KB
Edit
Delete
Copy
Move
Remame
select-editor
2.39 KB
Edit
Delete
Copy
Move
Remame
sem
430.36 KB
Edit
Delete
Copy
Move
Remame
sensible-browser
1.26 KB
Edit
Delete
Copy
Move
Remame
sensible-editor
1.24 KB
Edit
Delete
Copy
Move
Remame
sensible-pager
0.55 KB
Edit
Delete
Copy
Move
Remame
sepdebugcrcfix
18.48 KB
Edit
Delete
Copy
Move
Remame
seq
58.92 KB
Edit
Delete
Copy
Move
Remame
setarch
26.58 KB
Edit
Delete
Copy
Move
Remame
setpriv
78.31 KB
Edit
Delete
Copy
Move
Remame
setsid
14.3 KB
Edit
Delete
Copy
Move
Remame
setterm
46.31 KB
Edit
Delete
Copy
Move
Remame
sfdp
14.31 KB
Edit
Delete
Copy
Move
Remame
sftp
282.59 KB
Edit
Delete
Copy
Move
Remame
sg
47.75 KB
Edit
Delete
Copy
Move
Remame
sh
122.7 KB
Edit
Delete
Copy
Move
Remame
sha1sum
54.95 KB
Edit
Delete
Copy
Move
Remame
sha224sum
58.95 KB
Edit
Delete
Copy
Move
Remame
sha256sum
58.95 KB
Edit
Delete
Copy
Move
Remame
sha384sum
62.95 KB
Edit
Delete
Copy
Move
Remame
sha512sum
62.95 KB
Edit
Delete
Copy
Move
Remame
shasum
9.75 KB
Edit
Delete
Copy
Move
Remame
shred
63.14 KB
Edit
Delete
Copy
Move
Remame
shtool
138.76 KB
Edit
Delete
Copy
Move
Remame
shtoolize
15.16 KB
Edit
Delete
Copy
Move
Remame
shuf
58.98 KB
Edit
Delete
Copy
Move
Remame
sigtool
14522.73 KB
Edit
Delete
Copy
Move
Remame
simpdftex
21.68 KB
Edit
Delete
Copy
Move
Remame
size
26.86 KB
Edit
Delete
Copy
Move
Remame
skill
30.33 KB
Edit
Delete
Copy
Move
Remame
slabtop
22.37 KB
Edit
Delete
Copy
Move
Remame
sleep
42.86 KB
Edit
Delete
Copy
Move
Remame
slogin
1099.03 KB
Edit
Delete
Copy
Move
Remame
snice
30.33 KB
Edit
Delete
Copy
Move
Remame
socat
401.98 KB
Edit
Delete
Copy
Move
Remame
soelim
50.43 KB
Edit
Delete
Copy
Move
Remame
sort
115.68 KB
Edit
Delete
Copy
Move
Remame
sphinx-apidoc
0.21 KB
Edit
Delete
Copy
Move
Remame
sphinx-autogen
0.22 KB
Edit
Delete
Copy
Move
Remame
sphinx-build
0.21 KB
Edit
Delete
Copy
Move
Remame
sphinx-quickstart
0.21 KB
Edit
Delete
Copy
Move
Remame
splain
18.99 KB
Edit
Delete
Copy
Move
Remame
split
59.55 KB
Edit
Delete
Copy
Move
Remame
splitindex
6.2 KB
Edit
Delete
Copy
Move
Remame
sql
35.78 KB
Edit
Delete
Copy
Move
Remame
sqlite3
299.7 KB
Edit
Delete
Copy
Move
Remame
srcredact
11.85 KB
Edit
Delete
Copy
Move
Remame
srptool
26.3 KB
Edit
Delete
Copy
Move
Remame
ssh
1099.03 KB
Edit
Delete
Copy
Move
Remame
ssh-add
518.44 KB
Edit
Delete
Copy
Move
Remame
ssh-agent
474.38 KB
Edit
Delete
Copy
Move
Remame
ssh-argv0
1.42 KB
Edit
Delete
Copy
Move
Remame
ssh-copy-id
12.38 KB
Edit
Delete
Copy
Move
Remame
ssh-keygen
646.44 KB
Edit
Delete
Copy
Move
Remame
ssh-keyscan
622.47 KB
Edit
Delete
Copy
Move
Remame
stat
95.2 KB
Edit
Delete
Copy
Move
Remame
stdbuf
58.92 KB
Edit
Delete
Copy
Move
Remame
stream
34.59 KB
Edit
Delete
Copy
Move
Remame
streamzip
7.75 KB
Edit
Delete
Copy
Move
Remame
strings
30.98 KB
Edit
Delete
Copy
Move
Remame
strip
155.7 KB
Edit
Delete
Copy
Move
Remame
stty
83.02 KB
Edit
Delete
Copy
Move
Remame
sty2dtx
30.15 KB
Edit
Delete
Copy
Move
Remame
su
70.31 KB
Edit
Delete
Copy
Move
Remame
sum
50.96 KB
Edit
Delete
Copy
Move
Remame
supervisorctl
0.96 KB
Edit
Delete
Copy
Move
Remame
supervisord
0.95 KB
Edit
Delete
Copy
Move
Remame
svn-multi
10.72 KB
Edit
Delete
Copy
Move
Remame
sync
38.89 KB
Edit
Delete
Copy
Move
Remame
synctex
34.68 KB
Edit
Delete
Copy
Move
Remame
systemctl
1321.65 KB
Edit
Delete
Copy
Move
Remame
systemd
90.38 KB
Edit
Delete
Copy
Move
Remame
systemd-analyze
182.61 KB
Edit
Delete
Copy
Move
Remame
systemd-ask-password
18.48 KB
Edit
Delete
Copy
Move
Remame
systemd-cat
18.38 KB
Edit
Delete
Copy
Move
Remame
systemd-cgls
22.48 KB
Edit
Delete
Copy
Move
Remame
systemd-cgtop
38.4 KB
Edit
Delete
Copy
Move
Remame
systemd-creds
42.61 KB
Edit
Delete
Copy
Move
Remame
systemd-cryptenroll
58.6 KB
Edit
Delete
Copy
Move
Remame
systemd-delta
26.38 KB
Edit
Delete
Copy
Move
Remame
systemd-detect-virt
18.37 KB
Edit
Delete
Copy
Move
Remame
systemd-escape
18.37 KB
Edit
Delete
Copy
Move
Remame
systemd-firstboot
50.59 KB
Edit
Delete
Copy
Move
Remame
systemd-id128
22.37 KB
Edit
Delete
Copy
Move
Remame
systemd-inhibit
22.39 KB
Edit
Delete
Copy
Move
Remame
systemd-machine-id-setup
18.48 KB
Edit
Delete
Copy
Move
Remame
systemd-mount
50.59 KB
Edit
Delete
Copy
Move
Remame
systemd-notify
18.38 KB
Edit
Delete
Copy
Move
Remame
systemd-path
18.37 KB
Edit
Delete
Copy
Move
Remame
systemd-repart
150.69 KB
Edit
Delete
Copy
Move
Remame
systemd-run
58.57 KB
Edit
Delete
Copy
Move
Remame
systemd-socket-activate
26.38 KB
Edit
Delete
Copy
Move
Remame
systemd-stdio-bridge
18.38 KB
Edit
Delete
Copy
Move
Remame
systemd-sysext
42.49 KB
Edit
Delete
Copy
Move
Remame
systemd-sysusers
62.68 KB
Edit
Delete
Copy
Move
Remame
systemd-tmpfiles
110.57 KB
Edit
Delete
Copy
Move
Remame
systemd-tty-ask-password-agent
34.38 KB
Edit
Delete
Copy
Move
Remame
systemd-umount
50.59 KB
Edit
Delete
Copy
Move
Remame
t1ascii
42.38 KB
Edit
Delete
Copy
Move
Remame
t1asm
51.41 KB
Edit
Delete
Copy
Move
Remame
t1binary
42.35 KB
Edit
Delete
Copy
Move
Remame
t1disasm
46.31 KB
Edit
Delete
Copy
Move
Remame
t1mac
54.45 KB
Edit
Delete
Copy
Move
Remame
t1unmac
50.52 KB
Edit
Delete
Copy
Move
Remame
t4ht
34.63 KB
Edit
Delete
Copy
Move
Remame
tabs
18.23 KB
Edit
Delete
Copy
Move
Remame
tac
111.05 KB
Edit
Delete
Copy
Move
Remame
tail
75.14 KB
Edit
Delete
Copy
Move
Remame
tangle
50.74 KB
Edit
Delete
Copy
Move
Remame
tapestat
26.37 KB
Edit
Delete
Copy
Move
Remame
tar
519.52 KB
Edit
Delete
Copy
Move
Remame
taskset
62.31 KB
Edit
Delete
Copy
Move
Remame
tbl
146.43 KB
Edit
Delete
Copy
Move
Remame
tee
42.95 KB
Edit
Delete
Copy
Move
Remame
tempfile
14.18 KB
Edit
Delete
Copy
Move
Remame
test
58.89 KB
Edit
Delete
Copy
Move
Remame
tex
404.59 KB
Edit
Delete
Copy
Move
Remame
tex2aspc
18.61 KB
Edit
Delete
Copy
Move
Remame
tex4ebook
5.59 KB
Edit
Delete
Copy
Move
Remame
tex4ht
102.77 KB
Edit
Delete
Copy
Move
Remame
texconfig
43.07 KB
Edit
Delete
Copy
Move
Remame
texconfig-dialog
12.95 KB
Edit
Delete
Copy
Move
Remame
texconfig-sys
1.01 KB
Edit
Delete
Copy
Move
Remame
texcount
133.62 KB
Edit
Delete
Copy
Move
Remame
texdef
32.33 KB
Edit
Delete
Copy
Move
Remame
texdiff
18.93 KB
Edit
Delete
Copy
Move
Remame
texdirflatten
10.84 KB
Edit
Delete
Copy
Move
Remame
texdoc
1.35 KB
Edit
Delete
Copy
Move
Remame
texdoctk
60.42 KB
Edit
Delete
Copy
Move
Remame
texfot
15.41 KB
Edit
Delete
Copy
Move
Remame
texhash
8.03 KB
Edit
Delete
Copy
Move
Remame
texlinks
10.03 KB
Edit
Delete
Copy
Move
Remame
texliveonfly
16.92 KB
Edit
Delete
Copy
Move
Remame
texloganalyser
12.41 KB
Edit
Delete
Copy
Move
Remame
texlua
6646.84 KB
Edit
Delete
Copy
Move
Remame
texluac
6646.84 KB
Edit
Delete
Copy
Move
Remame
texluajit
6534.94 KB
Edit
Delete
Copy
Move
Remame
texluajitc
6534.94 KB
Edit
Delete
Copy
Move
Remame
texosquery
0.33 KB
Edit
Delete
Copy
Move
Remame
texosquery-jre5
0.33 KB
Edit
Delete
Copy
Move
Remame
texosquery-jre8
0.36 KB
Edit
Delete
Copy
Move
Remame
texplate
0.56 KB
Edit
Delete
Copy
Move
Remame
tfmtodit
50.66 KB
Edit
Delete
Copy
Move
Remame
tftopl
42.63 KB
Edit
Delete
Copy
Move
Remame
thumbpdf
41.81 KB
Edit
Delete
Copy
Move
Remame
tic
90.34 KB
Edit
Delete
Copy
Move
Remame
tidy
46.07 KB
Edit
Delete
Copy
Move
Remame
tie
18.41 KB
Edit
Delete
Copy
Move
Remame
tikztosvg
4.39 KB
Edit
Delete
Copy
Move
Remame
timedatectl
42.37 KB
Edit
Delete
Copy
Move
Remame
timeout
47.49 KB
Edit
Delete
Copy
Move
Remame
tl-paper
4.46 KB
Edit
Delete
Copy
Move
Remame
tlmgr
339.2 KB
Edit
Delete
Copy
Move
Remame
tload
18.32 KB
Edit
Delete
Copy
Move
Remame
toe
22.23 KB
Edit
Delete
Copy
Move
Remame
top
131.58 KB
Edit
Delete
Copy
Move
Remame
touch
107.05 KB
Edit
Delete
Copy
Move
Remame
tpic2pdftex
12.33 KB
Edit
Delete
Copy
Move
Remame
tput
26.27 KB
Edit
Delete
Copy
Move
Remame
tr
54.89 KB
Edit
Delete
Copy
Move
Remame
tracepath
22.45 KB
Edit
Delete
Copy
Move
Remame
tred
14.41 KB
Edit
Delete
Copy
Move
Remame
troff
755.83 KB
Edit
Delete
Copy
Move
Remame
true
34.83 KB
Edit
Delete
Copy
Move
Remame
truncate
42.89 KB
Edit
Delete
Copy
Move
Remame
tset
30.24 KB
Edit
Delete
Copy
Move
Remame
tsort
54.89 KB
Edit
Delete
Copy
Move
Remame
ttf2afm
44.71 KB
Edit
Delete
Copy
Move
Remame
ttf2pk
111.31 KB
Edit
Delete
Copy
Move
Remame
ttf2tfm
141.64 KB
Edit
Delete
Copy
Move
Remame
ttfdump
107.73 KB
Edit
Delete
Copy
Move
Remame
tty
34.86 KB
Edit
Delete
Copy
Move
Remame
twill
74.65 KB
Edit
Delete
Copy
Move
Remame
twopi
14.31 KB
Edit
Delete
Copy
Move
Remame
typeoutfileinfo
2.13 KB
Edit
Delete
Copy
Move
Remame
tzselect
14.99 KB
Edit
Delete
Copy
Move
Remame
ucf
40.69 KB
Edit
Delete
Copy
Move
Remame
ucfq
18.91 KB
Edit
Delete
Copy
Move
Remame
ucfr
10.85 KB
Edit
Delete
Copy
Move
Remame
uclampset
62.31 KB
Edit
Delete
Copy
Move
Remame
uconv
54.84 KB
Edit
Delete
Copy
Move
Remame
ucs2any
18.32 KB
Edit
Delete
Copy
Move
Remame
ul
22.31 KB
Edit
Delete
Copy
Move
Remame
ulockmgr_server
14.23 KB
Edit
Delete
Copy
Move
Remame
umount
34.3 KB
Edit
Delete
Copy
Move
Remame
uname
42.86 KB
Edit
Delete
Copy
Move
Remame
uncompress
2.29 KB
Edit
Delete
Copy
Move
Remame
unexpand
42.92 KB
Edit
Delete
Copy
Move
Remame
unflatten
14.41 KB
Edit
Delete
Copy
Move
Remame
uniq
46.95 KB
Edit
Delete
Copy
Move
Remame
unlink
38.83 KB
Edit
Delete
Copy
Move
Remame
unlzma
82.7 KB
Edit
Delete
Copy
Move
Remame
unpigz
134.2 KB
Edit
Delete
Copy
Move
Remame
unshare
82.54 KB
Edit
Delete
Copy
Move
Remame
unxz
82.7 KB
Edit
Delete
Copy
Move
Remame
unzip
175.05 KB
Edit
Delete
Copy
Move
Remame
unzipsfx
82.86 KB
Edit
Delete
Copy
Move
Remame
upbibtex
129.69 KB
Edit
Delete
Copy
Move
Remame
update-alternatives
58.31 KB
Edit
Delete
Copy
Move
Remame
update-mime-database
59.27 KB
Edit
Delete
Copy
Move
Remame
updmap
86.31 KB
Edit
Delete
Copy
Move
Remame
updmap-sys
0.9 KB
Edit
Delete
Copy
Move
Remame
updmap-user
0.9 KB
Edit
Delete
Copy
Move
Remame
updvitomp
853.72 KB
Edit
Delete
Copy
Move
Remame
updvitype
61.56 KB
Edit
Delete
Copy
Move
Remame
upmendex
139.8 KB
Edit
Delete
Copy
Move
Remame
upmpost
853.72 KB
Edit
Delete
Copy
Move
Remame
uppltotf
69.53 KB
Edit
Delete
Copy
Move
Remame
uptex
467.89 KB
Edit
Delete
Copy
Move
Remame
uptftopl
57.53 KB
Edit
Delete
Copy
Move
Remame
uptime
14.3 KB
Edit
Delete
Copy
Move
Remame
users
38.89 KB
Edit
Delete
Copy
Move
Remame
utmpdump
30.3 KB
Edit
Delete
Copy
Move
Remame
vdir
147.8 KB
Edit
Delete
Copy
Move
Remame
vftovp
58.67 KB
Edit
Delete
Copy
Move
Remame
vi
3561.49 KB
Edit
Delete
Copy
Move
Remame
view
3561.49 KB
Edit
Delete
Copy
Move
Remame
vim
3561.49 KB
Edit
Delete
Copy
Move
Remame
vim.basic
3561.49 KB
Edit
Delete
Copy
Move
Remame
vimdiff
3561.49 KB
Edit
Delete
Copy
Move
Remame
vimdot
1.06 KB
Edit
Delete
Copy
Move
Remame
vimtutor
2.1 KB
Edit
Delete
Copy
Move
Remame
vlna
18.55 KB
Edit
Delete
Copy
Move
Remame
vmstat
34.72 KB
Edit
Delete
Copy
Move
Remame
vpe
9.4 KB
Edit
Delete
Copy
Move
Remame
vpl2ovp
40.05 KB
Edit
Delete
Copy
Move
Remame
vpl2vpl
37.07 KB
Edit
Delete
Copy
Move
Remame
vptovf
62.65 KB
Edit
Delete
Copy
Move
Remame
vwebp
26.87 KB
Edit
Delete
Copy
Move
Remame
w
22.3 KB
Edit
Delete
Copy
Move
Remame
wall
38.3 KB
Edit
Delete
Copy
Move
Remame
watch
26.71 KB
Edit
Delete
Copy
Move
Remame
watchgnupg
18.23 KB
Edit
Delete
Copy
Move
Remame
wc
51.05 KB
Edit
Delete
Copy
Move
Remame
wdctl
70.34 KB
Edit
Delete
Copy
Move
Remame
weave
66.66 KB
Edit
Delete
Copy
Move
Remame
webpinfo
30.54 KB
Edit
Delete
Copy
Move
Remame
webpmux
38.7 KB
Edit
Delete
Copy
Move
Remame
webquiz
44.31 KB
Edit
Delete
Copy
Move
Remame
whatis
51.29 KB
Edit
Delete
Copy
Move
Remame
whereis
30.77 KB
Edit
Delete
Copy
Move
Remame
which
0.92 KB
Edit
Delete
Copy
Move
Remame
which.debianutils
0.92 KB
Edit
Delete
Copy
Move
Remame
who
59.02 KB
Edit
Delete
Copy
Move
Remame
whoami
38.86 KB
Edit
Delete
Copy
Move
Remame
wofm2opl
62.63 KB
Edit
Delete
Copy
Move
Remame
wopl2ofm
118.61 KB
Edit
Delete
Copy
Move
Remame
wovf2ovp
74.67 KB
Edit
Delete
Copy
Move
Remame
wovp2ovf
130.65 KB
Edit
Delete
Copy
Move
Remame
write
22.31 KB
Edit
Delete
Copy
Move
Remame
x86_64
26.58 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-addr2line
23.14 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-ar
51.17 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-as
897.41 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-c++filt
18.51 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-cpp
1270.99 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-cpp-12
1270.99 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-dwp
1836.66 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-elfedit
35.03 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-g++
1274.99 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-g++-12
1274.99 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-gcc
1270.99 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-gcc-12
1270.99 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-gcc-ar
34.54 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-gcc-ar-12
34.54 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-gcc-nm
34.54 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-gcc-nm-12
34.54 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-gcc-ranlib
34.54 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-gcc-ranlib-12
34.54 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-gcov
720.16 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-gcov-12
720.16 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-gcov-dump
568.02 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-gcov-dump-12
568.02 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-gcov-tool
588.09 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-gcov-tool-12
588.09 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-gold
3064.69 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-gp-archive
159.06 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-gp-collect-app
175.27 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-gp-display-html
578.29 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-gp-display-src
150.81 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-gp-display-text
257.3 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-gprof
108.35 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-gprofng
146.59 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-ld
1305.27 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-ld.bfd
1305.27 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-ld.gold
3064.69 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-lto-dump
31196.32 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-lto-dump-12
31196.32 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-nm
44.03 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-objcopy
155.66 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-objdump
362.56 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-pkg-config
44.04 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-pkgconf
44.04 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-ranlib
51.17 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-readelf
751.38 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-size
26.86 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-strings
30.98 KB
Edit
Delete
Copy
Move
Remame
x86_64-linux-gnu-strip
155.7 KB
Edit
Delete
Copy
Move
Remame
xargs
70.45 KB
Edit
Delete
Copy
Move
Remame
xdg-desktop-icon
20.16 KB
Edit
Delete
Copy
Move
Remame
xdg-desktop-menu
42.27 KB
Edit
Delete
Copy
Move
Remame
xdg-email
26.3 KB
Edit
Delete
Copy
Move
Remame
xdg-icon-resource
29.33 KB
Edit
Delete
Copy
Move
Remame
xdg-mime
41.14 KB
Edit
Delete
Copy
Move
Remame
xdg-open
25.46 KB
Edit
Delete
Copy
Move
Remame
xdg-screensaver
37.11 KB
Edit
Delete
Copy
Move
Remame
xdg-settings
37.5 KB
Edit
Delete
Copy
Move
Remame
xdvi
2.96 KB
Edit
Delete
Copy
Move
Remame
xdvi-xaw
757.4 KB
Edit
Delete
Copy
Move
Remame
xdvi.bin
757.4 KB
Edit
Delete
Copy
Move
Remame
xdvipdfmx
822.05 KB
Edit
Delete
Copy
Move
Remame
xetex
839.08 KB
Edit
Delete
Copy
Move
Remame
xgettext
292.78 KB
Edit
Delete
Copy
Move
Remame
xhlatex
2.48 KB
Edit
Delete
Copy
Move
Remame
xindex
9.71 KB
Edit
Delete
Copy
Move
Remame
xml2-config
1.4 KB
Edit
Delete
Copy
Move
Remame
xml2pmx
131.29 KB
Edit
Delete
Copy
Move
Remame
xmlcatalog
22.23 KB
Edit
Delete
Copy
Move
Remame
xmllint
74.91 KB
Edit
Delete
Copy
Move
Remame
xslt-config
2.1 KB
Edit
Delete
Copy
Move
Remame
xsltproc
30.16 KB
Edit
Delete
Copy
Move
Remame
xsubpp
5.05 KB
Edit
Delete
Copy
Move
Remame
xtotroff
98.41 KB
Edit
Delete
Copy
Move
Remame
xz
82.7 KB
Edit
Delete
Copy
Move
Remame
xzcat
82.7 KB
Edit
Delete
Copy
Move
Remame
xzcmp
7.25 KB
Edit
Delete
Copy
Move
Remame
xzdiff
7.25 KB
Edit
Delete
Copy
Move
Remame
xzegrep
10.09 KB
Edit
Delete
Copy
Move
Remame
xzfgrep
10.09 KB
Edit
Delete
Copy
Move
Remame
xzgrep
10.09 KB
Edit
Delete
Copy
Move
Remame
xzless
1.77 KB
Edit
Delete
Copy
Move
Remame
xzmore
2.14 KB
Edit
Delete
Copy
Move
Remame
yes
38.83 KB
Edit
Delete
Copy
Move
Remame
ypdomainname
22.15 KB
Edit
Delete
Copy
Move
Remame
yplan
10.75 KB
Edit
Delete
Copy
Move
Remame
zcat
1.94 KB
Edit
Delete
Copy
Move
Remame
zcmp
1.64 KB
Edit
Delete
Copy
Move
Remame
zdiff
6.31 KB
Edit
Delete
Copy
Move
Remame
zdump
22.52 KB
Edit
Delete
Copy
Move
Remame
zegrep
0.03 KB
Edit
Delete
Copy
Move
Remame
zfgrep
0.03 KB
Edit
Delete
Copy
Move
Remame
zforce
2.03 KB
Edit
Delete
Copy
Move
Remame
zgrep
7.91 KB
Edit
Delete
Copy
Move
Remame
zip
212.27 KB
Edit
Delete
Copy
Move
Remame
zipcloak
92.48 KB
Edit
Delete
Copy
Move
Remame
zipdetails
68.55 KB
Edit
Delete
Copy
Move
Remame
zipgrep
2.89 KB
Edit
Delete
Copy
Move
Remame
zipinfo
175.05 KB
Edit
Delete
Copy
Move
Remame
zipnote
84.16 KB
Edit
Delete
Copy
Move
Remame
zipsplit
88.19 KB
Edit
Delete
Copy
Move
Remame
zless
2.15 KB
Edit
Delete
Copy
Move
Remame
zlib_decompress
83.43 KB
Edit
Delete
Copy
Move
Remame
zmore
1.8 KB
Edit
Delete
Copy
Move
Remame
znew
4.47 KB
Edit
Delete
Copy
Move
Remame