Accepting request 827956 from home:elimat:branches:shells

- Update to version 2.11:
  * _known_hosts_real: check that ruptime is present before calling
    (#390)
  * totem: reuse kaffeine completions (#372)
  * __reassemble_comp_words_by_ref: avoid triggering nounset on
    indirect references
  * lintian: complete paths for Ubuntu's .ddeb and Debian's buildinfo
    files (#397)
  * ip: complete route add table arg
  * ip: style fixes similar to ip-netns
  * ip: add more completions for ip-rule
  * ip: add support for netns (#391)
  * ip: improve completion of route subcommands (#326)
  * unzip, zipinfo: complete *.aar (#428)
  * ssh: add new -Q completions in OpenSSH 8.2p1 (#400)
  * python: support executables with minor version (#389)
  * insmod, modinfo, modprobe: support xz compressed modules (#401)
  * tshark: complete -r arg with all filenames (#422)
  * openssl: update -starttls completions (#403)
  * _filedir*: update link to bug-bash discussion on -X (#404)
  * test/python: add testcase for submodule completion
  * Release 2.11
  * extra/make-changelog: check and output usage message
  * pre-commit: anchor exclude patterns
  * pytest: rewrite in bash, support toplevel funcs, avoid nondef ones
    and classes
  * test/xfreerdp: skip --help failure cases
  * test/tshark: fix multiple -O completion with no http2 support
  * test/ant: avoid complete-ant-cmd.pl interference with ANT_ARGS
  * _xinetd_services: avoid nounset error on bash 4.2
  * pre-commit: upgrade isort to 5.1.4
  * pre-commit: upgrade pyupgrade to 2.7.2
  * pre-commit: add pyupgrade, run it
  * test/ant: gitignore all target cache files
  * _known_hosts_real: exclude Host negations
  * pre-commit: upgrade isort to 5.0.7
  * pre-commit: update shellcheck-py URL
  * test/inputrc: do not set print-completions-horizontally
  * test/inputrc: comment typo fix
  * pytest: complete async test class methods
  * __get_cword_at_cursor_by_ref: fix regression on bash 4.2
  * test: upgrade markdownlint-cli to 0.23.2
  * _known_hosts_real: avoid errors in nounset mode on Ubuntu 14 and
    16
  * _longopt: exclude too many dashes, allow underscores, require ends
    with alnum
  * _included_ssh_config_files: support globs
  * _known_hosts_real: prevent unwanted pathname expansion on host
    entries
  * test/shfmt: upgrade to 3.1.2, reformat with it
  * test/_known_hosts_real: add explicit no globbing test case
  * test: upgrade mypy to 0.782
  * CONTRIBUTING.md: add posix and nounset mode item
  * test: upgrade mypy to 0.781
  * test: upgrade perltidy to 20200619
  * _known_hosts_real: fix completion of Host entries after a wildcard
    etc
  * _known_hosts_real: fix # handling in ssh configs
  * test: upgrade flake8 to 3.8.3
  * test/xhost: multiple expected result handling fixes
  * test/slapt-src: single expected result handling fixes
  * test: partial hostname completion fixes
  * test: simplify completion parsing
  * test/dpkg-query: mark as xfail on non-Debian based systems
  * .gitignore: clean up some no longer needed ignores
  * test/lspci: skip -A arg test if lspci fails -A help, e.g. busybox
    lspci
  * test: regex escape our magic mark for completeness
  * test: upgrade mypy to 0.780
  * test/_known_hosts_real: don't modify class scoped base expected
    list
  * test/_known_hosts_real: reset COMP_KNOWN_HOSTS_WITH_HOSTFILE
    between tests
  * test/_known_hosts_real: tolerate duplicates
  * bash_completion: trivial cleanups
  * gcc: avoid errors in nounset mode
  * pytest: fix test class method completion with BSD awk
  * man, mutt: avoid errors in nounset mode on Ubuntu 14 and 16
  * java, make: avoid errors in nounset mode on Ubuntu 14 and 16
  * README: document GNU make build requirement
  * pytest: add test class method completion
  * _known_hosts: avoid errors in nounset mode and no arguments
  * bash_completion: fix array set checks with empty elements in them
  * *: avoid more errors in nounset mode
  * cfrun: fix $hostfile leak
  * _command_offset, route: cleanups
  * *: avoid more errors in nounset mode
  * qemu: add -machine arg completion
  * qemu, sbopkg: avoid unintentional globbing on option arg
    completions
  * test: enable shellcheck SC2035
  * *: drop support for bash 4.1
  * _init_completion: fix unassigned redirect completion in nounset
    mode
  * ip: route shfmt, arithmetic evaluation
  * _filedir: avoid unbound variable error on Ubuntu 14 and 16
  * _pids, _pgids, _pnames: improve shfmt formatting
  * scp, sftp, ssh: fix completion on options bundled with -4/-6
  * modprobe, tshark, _included_ssh_config_files: use [[ ]] instead of
    [ ]
  * test/runLint: warn about [ ] instead of [[ ]] use
  * test: skip various tests if we don't get a useful usage message
  * *: mark nounset mode as supported, issues with it are bugs now
  * *: avoid more errors in nounset mode
  * *: avoid more errors in nounset mode
  * *: avoid more errors in nounset mode
  * test/inputrc: comment and whitespace tweaks
  * *: avoid more errors in nounset mode
  * test/unit: sort files included in dist
  * test/unit: include test_unit_known_hosts_real.py in dist
  * bash_completion: line wrapping tweaks, NFC
  * 7z: fix -o/-w attached arg completion
  * postfix: try to arrange a fake tty so we can tickle the usage
    message out
  * _bashcomp_try_faketty: new function to try running command with a
    fake tty
  * mr: avoid herestrings, simplify command parsing
  * test/mr: handle missing "clean" with skipif
  * test: mark known non-ASCII issues with test suite as xfail
  * dpkg-deb: add --raw-extract and -X arg completions
  * test: add some dpkg-query test cases
  * dpkg-deb: fix --show/-W completion
  * test: upgrade markdownlint-cli to 0.23.1
  * *: use more arithmetic evaluation
  * test: try harder to restore environment and cwd on failures
  * *: use $ifs for storing/restoring $IFS
  * test/irb: xfail options test if --help is not available
  * test: upgrade flake8 to 3.8.1
  * test: pre-commit config cleanups, ordering
  * test: upgrade pre-commit to 2.4.0+, drop shfmt kludge
  * test: sync shfmt and shellcheck configs
  * test: shfmt bashrc
  * test: remove unused run-shellcheck, shellcheck is in pre-commit
    now
  * test: remove old test suite code no longer used \o/
  * test/_known_hosts_real: port remaining test cases to
    pytest+pexpect
  * test: remove more no longer needed old test suite code
  * test/_known_hosts_real: port more test cases to pytest+pexpect
  * test/_get_cword: port remaining test case to pytest+pexpect
  * test: replace some echos with printfs
  * test/_filedir: fix shutil.rmtree on Python < 3.6
  * test/_expand: port remaining test cases to pytest+pexpect
  * test: drop some no longer needed old test suite code
  * test/_filedir: port remaining test cases to pytest+pexpect
  * test: run all Travis jobs on dist: bionic
  * test: drop not needed sudo on Travis
  * test/_filedir: port more test cases to pytest+pexpect
  * test/__expand_tilde_by_ref: port remaining test cases to
    pytest+pexpect
  * test/_get_comp_words_by_ref: convert remaining test cases to
    pytest+pexpect
  * test: run pytest --verbose in docker
  * lftp: use "bookmark list" command to list bookmarks
  * test: drop some no longer needed old test suite code
  * test/slapt-src: convert remaining test case to pytest+pexpect
  * _xfunc: simplify
  * apt-cache: avoid nonzero exit code from _apt_cache_packages
  * test/slapt-get: convert remaining test case to pytest+pexpect
  * test/secret-tool: add to test command list
  * test/scp: port remaining test case to pytest+pexpect
  * test/umount: convert remaining test case to pytest+pexpect
  * secret-tool: new completion
  * apt-get: complete build-dep with dirs
  * travis: use golang 1.14 for shfmt
  * *: run all shell code through shfmt -s
  * pre-commit etc: add shfmt
  * test: fix incorrect fixtures/shared/default xfails/expectations
  * test: upgrade markdownlint to 0.23.0
  * nmap: simplify help scraping a bit, don't try to emit unnecessary
    newlines
  * test: prefix fake test commands with underscore
  * test: port most umount test cases to pytest+pexpect
  * test: add note about unescaped assert_complete single return
    values
  * editorconfig: apply yaml settings to .yaml too
  * pre-commit: use local perlcritic hook
  * *: doc and comment link updates
  * pre-commit, *.md: add markdownlint, address findings
  * README: clarify loading automatically on demand
  * ssh-keygen: -O arg updates and improvements
  * ssh-keygen: add -b arg completions according to specified -t
  * ssh-keygen: option and arg completion updates for new versions
  * _command: improve commentary
  * reportbug, scp, sftp, svn: use compgen -c instead of _command
  * find: fix -exec etc argument and its completion
  * extra: trigger docker builds only on test-cmd-list.txt changes
  * test: add script to maintain list of executables for full test
    coverage
  * test: run lint tests on Travis in a quickish separate first stage
  * test/make: mark more cases as requiring command
  * make: add bmake alias
  * test: run pre-commit on host instead of docker
  * test: add perlcritic to pre-commit, run on all perl
  * *: remove some unused variables, thanks to shellcheck SC2034
  * *: various loop iteration improvements
  * crontab: fix loop over already given args
  * apt-cache: fix command mode handling
  * doc: add loop variable naming guideline
  * test: make at-point completion tests easier
  * ssh, xsltproc: address shellcheck SC2006
  * scp: work around shellcheck SC1003
  * mutt: address shellchec SC2236
  * wget: address shellcheck SC2116
  * pytest: address shellcheck SC2002
  * bash_completion, java, tipc: for loop whitespace consistency
    tweaks
  * *: more arithmetic evaluation cleanups, thanks to shellcheck
    SC2004
  * __reassemble_comp_words_by_ref, java: address and work around
    shellcheck SC2102
  * test: enable parallel pre-commit shellcheck
  * test: remove shellcheck severity filter, add explicit disables
    instead
  * doc: recommend arithmetic evaluation
  * *: array subscript cleanups
  * ssh-keygen: -s and -n completion improvements
  * *: enable and address shellcheck SC2053
  * bash_completion, invoke-rc.d, svcadm: trivial cleanups
  * *: replace various conditional expressions with arithmetic
    evaluation
  * carton: fix command parsing with BSD sed
  * nmap: fix option parsing with BSD sed
  * test/alias: port remaining test case to pytest+pexpect
  * test: generalize complete at point test
  * test/cd: fix test_dir_at_point for setups that repeat "trailer"
  * pytest: add some option arg (non-)completions
  * pytest: complete test classes
  * pgrep, pkill: add --ns and --nslist arg completions
  * test: run skipif and xfail commands without caring if they output
    or not
  * test: make it possible to not care whether command did output or
    not
  * test/xfreerdp: skip xfreerdp kbd test if kbd-list returns empty
  * test: tolerate duplicates from compgen actions
  * test: bump shellcheck severity to warning + some disables
  * *: address shellcheck SC2046
  * test/lib/library.sh: address shellcheck SC2125
  * java, pkgadd, sysbench: address shellchec SC2124
  * scp: address shellcheck SC2089 and SC2090
  * _filedir_xspec: address shellcheck SC2140
  * rpm, ssh, umount.linux: address shellcheck SC2120
  * cvs, modprobe, sh: address shellcheck SC2209
  * mutt: address shellcheck SC2088
  * _upvar, _upvars, _variables, rpm: address shellcheck SC1083
  * test/run: address shellcheck SC2164
  * renice: address shellcheck SC2254
  * tipc: comment grammar and spelling fixes
  * man, perl, route, tipc: address shellcheck SC2053
  * info, java: address shellcheck SC2153
  * quote_readline: fix $ret leak
  * test: upgrade shellcheck to 0.7.1
  * test/printenv: xfail if --help doesn't contain options (e.g.
    busybox)
  * test/aptitude: require command where necessary
  * _known_hosts_real, op: address shellcheck SC2184
  * test: don't run shellcheck on completions/.gitignore
  * protoc: complete all --*_out without more specific handling with
    dirs
  * sysbench: add --test= deprecation TODO
  * pkgadd: indentation fix
  * chronyc, wvdial: address shellcheck SC2178
  * java, pkgadd, sysbench: address shellcheck SC2124
  * mplayer: address shellcheck SC1078 false positive
  * smartctl: hush shellcheck SC2054 false positives
  * *: address shellcheck SC2221 and SC2222
  * bash_completion: address shellcheck SC2220
  * crontab, wodim: silence shellcheck SC2191 and SC2192
  * aptitude: add some option arg (non)completions
  * aptitude: parse options list from --help, hardcode less
  * test/aptitude: add some test cases
  * *: argument interation improvements
  * *: whitespace tweaks
  * apt-get etc: use _apt_cache_packages from apt-cache
  * pre-commit: run most python checks on helpers/python too
  * test/ldd: xfail if --help is not implemented
  * test/printenv: require command for arg completion test
  * printenv: indentation fixes
  * test: upgrade mypy to 0.770
  * test: split dependencies requiring Python 3.6.1+ to requirements-
    dev.txt
  * git: trigger docker rebuild on pre-commit config change
  * test: require openssl command for option argument tests
  * test: move perltidy to pre-commit, run with --converge
  * test: move shellcheck to pre-commit
  * test: ignore flake8 messages that are in black's domain
  * _xinetd_services: look up from $BASHCOMP_XINETDDIR, add some unit
    tests
  * printenv: new completion
  * copyright: add 2020
  * test: fix CompletionResult.__eq__ UnboundLocalError
  * test: run pre-commit in tools container
  * test: shellcheck tweaks
  * test: add isort to pre-commit, run it
  * test: add flake8-bugbear
  * test: install black for Python 3.6 too
  * pre-commit: add config with black, flake8, and mypy
  * test: drop redundant black args from docker runs
  * *: python type hint fixes and improvements
  * extra/make-changelog: run through black
  * test/totem: add basic test case
  * test/cd: remove unused import
  * openssl: complete -writerand with filenames
  * openssl: parse available options from $command -help
  * openssl: support getting digest list from more recent openssl
    versions
  * nmap: handle options split on equals sign
  * nmap: parse options from -h output
  * test/cd: make dir_at_point produce better debuggable failures
  * test/cd: convert remaining test case to pytest+pexpect
  * test: remove some no longer needed old test suite code
  * test/chown,sudo: parametrize special case test, improve xfail
    targeting
  * test/tsig-keygen: require command for test_options
  * test/upgradepkg: port remaining test case to pytest+pexpect
  * tsig-keygen: new completion
  * test: host helper lint and usage fixes
  * test: port some _known_hosts_real unit tests to pytest+pexpect
  * test: remove some no longer needed tcl/expect code
  * test: fix spurious hosts fixture failure without avahi-browse
    installed
  * test: port some scp test cases to pytest+pexpect
  * test: port remaining finger, sftp, ssh, and xhost cases to
    pytest+pexpect
  * lilo: work around shellcheck false positive
  * test/ipcalc: fix tests with busybox ipcalc
  * chromium-browser, firefox: complete on *.txt (#379)
  * README.md: add introduction
  * ipcalc: new completion
  * *: complete commands when prefixed with a backslash
  * test/wol: don't fail MAC test if test system has /etc/ethers
    entries
  * test/dnssec-keygen: allow more alternatives in algorithm
    completion
  * lilo: don't complete on commented out labels
  * lilo: honor -C when completing labels
  * lilo: add -B and -E completions
  * Source user completion only if it's a file (#409)
  * jarsigner: complete on *.apk too (#386)
  * cryptsetup: add luksChangeKey arg completion (#380)
- Refresh and reorder all patches and use autosetup macro
- Run spec-cleaner
  * Remove rpm groups
- Modify qdbus-qt5.patch: only modify Makefile.am; Makefile.in is
  auto-generated based on the .am file.
- Add libtool BuildRequires and explicitly call autoreconf: unless
  we do this, there is a chance that the build modifies the above
  mentioned .am and .in files with different timestamps, which in
  turn triggers an implicit autoreconf. Without libtool present
  though, this will fail.
- fix extra tokens at the end of %endif directive build errors
- Improve patch to fix lookup of qdbus-qt5 completion, previously
  it was only loaded if qdbus was used first:
  * qdbus-qt5.patch
- Update to version 2.11:
  * _known_hosts_real: check that ruptime is present before calling
    (#390)
  * totem: reuse kaffeine completions (#372)
  * __reassemble_comp_words_by_ref: avoid triggering nounset on
    indirect references
  * lintian: complete paths for Ubuntu's .ddeb and Debian's buildinfo
    files (#397)
  * ip: complete route add table arg
  * ip: style fixes similar to ip-netns
  * ip: add more completions for ip-rule
  * ip: add support for netns (#391)
  * ip: improve completion of route subcommands (#326)
  * unzip, zipinfo: complete *.aar (#428)
  * ssh: add new -Q completions in OpenSSH 8.2p1 (#400)
  * python: support executables with minor version (#389)
  * insmod, modinfo, modprobe: support xz compressed modules (#401)
  * tshark: complete -r arg with all filenames (#422)
  * openssl: update -starttls completions (#403)
  * _filedir*: update link to bug-bash discussion on -X (#404)
  * test/python: add testcase for submodule completion
  * Release 2.11
  * extra/make-changelog: check and output usage message
  * pre-commit: anchor exclude patterns
  * pytest: rewrite in bash, support toplevel funcs, avoid nondef ones
    and classes
  * test/xfreerdp: skip --help failure cases
  * test/tshark: fix multiple -O completion with no http2 support
  * test/ant: avoid complete-ant-cmd.pl interference with ANT_ARGS
  * _xinetd_services: avoid nounset error on bash 4.2
  * pre-commit: upgrade isort to 5.1.4
  * pre-commit: upgrade pyupgrade to 2.7.2
  * pre-commit: add pyupgrade, run it
  * test/ant: gitignore all target cache files
  * _known_hosts_real: exclude Host negations
  * pre-commit: upgrade isort to 5.0.7
  * pre-commit: update shellcheck-py URL
  * test/inputrc: do not set print-completions-horizontally
  * test/inputrc: comment typo fix
  * pytest: complete async test class methods
  * __get_cword_at_cursor_by_ref: fix regression on bash 4.2
  * test: upgrade markdownlint-cli to 0.23.2
  * _known_hosts_real: avoid errors in nounset mode on Ubuntu 14 and
    16
  * _longopt: exclude too many dashes, allow underscores, require ends
    with alnum
  * _included_ssh_config_files: support globs
  * _known_hosts_real: prevent unwanted pathname expansion on host
    entries
  * test/shfmt: upgrade to 3.1.2, reformat with it
  * test/_known_hosts_real: add explicit no globbing test case
  * test: upgrade mypy to 0.782
  * CONTRIBUTING.md: add posix and nounset mode item
  * test: upgrade mypy to 0.781
  * test: upgrade perltidy to 20200619
  * _known_hosts_real: fix completion of Host entries after a wildcard
    etc
  * _known_hosts_real: fix # handling in ssh configs
  * test: upgrade flake8 to 3.8.3
  * test/xhost: multiple expected result handling fixes
  * test/slapt-src: single expected result handling fixes
  * test: partial hostname completion fixes
  * test: simplify completion parsing
  * test/dpkg-query: mark as xfail on non-Debian based systems
  * .gitignore: clean up some no longer needed ignores
  * test/lspci: skip -A arg test if lspci fails -A help, e.g. busybox
    lspci
  * test: regex escape our magic mark for completeness
  * test: upgrade mypy to 0.780
  * test/_known_hosts_real: don't modify class scoped base expected
    list
  * test/_known_hosts_real: reset COMP_KNOWN_HOSTS_WITH_HOSTFILE
    between tests
  * test/_known_hosts_real: tolerate duplicates
  * bash_completion: trivial cleanups
  * gcc: avoid errors in nounset mode
  * pytest: fix test class method completion with BSD awk
  * man, mutt: avoid errors in nounset mode on Ubuntu 14 and 16
  * java, make: avoid errors in nounset mode on Ubuntu 14 and 16
  * README: document GNU make build requirement
  * pytest: add test class method completion
  * _known_hosts: avoid errors in nounset mode and no arguments
  * bash_completion: fix array set checks with empty elements in them
  * *: avoid more errors in nounset mode
  * cfrun: fix $hostfile leak
  * _command_offset, route: cleanups
  * *: avoid more errors in nounset mode
  * qemu: add -machine arg completion
  * qemu, sbopkg: avoid unintentional globbing on option arg
    completions
  * test: enable shellcheck SC2035
  * *: drop support for bash 4.1
  * _init_completion: fix unassigned redirect completion in nounset
    mode
  * ip: route shfmt, arithmetic evaluation
  * _filedir: avoid unbound variable error on Ubuntu 14 and 16
  * _pids, _pgids, _pnames: improve shfmt formatting
  * scp, sftp, ssh: fix completion on options bundled with -4/-6
  * modprobe, tshark, _included_ssh_config_files: use [[ ]] instead of
    [ ]
  * test/runLint: warn about [ ] instead of [[ ]] use
  * test: skip various tests if we don't get a useful usage message
  * *: mark nounset mode as supported, issues with it are bugs now
  * *: avoid more errors in nounset mode
  * *: avoid more errors in nounset mode
  * *: avoid more errors in nounset mode
  * test/inputrc: comment and whitespace tweaks
  * *: avoid more errors in nounset mode
  * test/unit: sort files included in dist
  * test/unit: include test_unit_known_hosts_real.py in dist
  * bash_completion: line wrapping tweaks, NFC
  * 7z: fix -o/-w attached arg completion
  * postfix: try to arrange a fake tty so we can tickle the usage
    message out
  * _bashcomp_try_faketty: new function to try running command with a
    fake tty
  * mr: avoid herestrings, simplify command parsing
  * test/mr: handle missing "clean" with skipif
  * test: mark known non-ASCII issues with test suite as xfail
  * dpkg-deb: add --raw-extract and -X arg completions
  * test: add some dpkg-query test cases
  * dpkg-deb: fix --show/-W completion
  * test: upgrade markdownlint-cli to 0.23.1
  * *: use more arithmetic evaluation
  * test: try harder to restore environment and cwd on failures
  * *: use $ifs for storing/restoring $IFS
  * test/irb: xfail options test if --help is not available
  * test: upgrade flake8 to 3.8.1
  * test: pre-commit config cleanups, ordering
  * test: upgrade pre-commit to 2.4.0+, drop shfmt kludge
  * test: sync shfmt and shellcheck configs
  * test: shfmt bashrc
  * test: remove unused run-shellcheck, shellcheck is in pre-commit
    now
  * test: remove old test suite code no longer used \o/
  * test/_known_hosts_real: port remaining test cases to
    pytest+pexpect
  * test: remove more no longer needed old test suite code
  * test/_known_hosts_real: port more test cases to pytest+pexpect
  * test/_get_cword: port remaining test case to pytest+pexpect
  * test: replace some echos with printfs
  * test/_filedir: fix shutil.rmtree on Python < 3.6
  * test/_expand: port remaining test cases to pytest+pexpect
  * test: drop some no longer needed old test suite code
  * test/_filedir: port remaining test cases to pytest+pexpect
  * test: run all Travis jobs on dist: bionic
  * test: drop not needed sudo on Travis
  * test/_filedir: port more test cases to pytest+pexpect
  * test/__expand_tilde_by_ref: port remaining test cases to
    pytest+pexpect
  * test/_get_comp_words_by_ref: convert remaining test cases to
    pytest+pexpect
  * test: run pytest --verbose in docker
  * lftp: use "bookmark list" command to list bookmarks
  * test: drop some no longer needed old test suite code
  * test/slapt-src: convert remaining test case to pytest+pexpect
  * _xfunc: simplify
  * apt-cache: avoid nonzero exit code from _apt_cache_packages
  * test/slapt-get: convert remaining test case to pytest+pexpect
  * test/secret-tool: add to test command list
  * test/scp: port remaining test case to pytest+pexpect
  * test/umount: convert remaining test case to pytest+pexpect
  * secret-tool: new completion
  * apt-get: complete build-dep with dirs
  * travis: use golang 1.14 for shfmt
  * *: run all shell code through shfmt -s
  * pre-commit etc: add shfmt
  * test: fix incorrect fixtures/shared/default xfails/expectations
  * test: upgrade markdownlint to 0.23.0
  * nmap: simplify help scraping a bit, don't try to emit unnecessary
    newlines
  * test: prefix fake test commands with underscore
  * test: port most umount test cases to pytest+pexpect
  * test: add note about unescaped assert_complete single return
    values
  * editorconfig: apply yaml settings to .yaml too
  * pre-commit: use local perlcritic hook
  * *: doc and comment link updates
  * pre-commit, *.md: add markdownlint, address findings
  * README: clarify loading automatically on demand
  * ssh-keygen: -O arg updates and improvements
  * ssh-keygen: add -b arg completions according to specified -t
  * ssh-keygen: option and arg completion updates for new versions
  * _command: improve commentary
  * reportbug, scp, sftp, svn: use compgen -c instead of _command
  * find: fix -exec etc argument and its completion
  * extra: trigger docker builds only on test-cmd-list.txt changes
  * test: add script to maintain list of executables for full test
    coverage
  * test: run lint tests on Travis in a quickish separate first stage
  * test/make: mark more cases as requiring command
  * make: add bmake alias
  * test: run pre-commit on host instead of docker
  * test: add perlcritic to pre-commit, run on all perl
  * *: remove some unused variables, thanks to shellcheck SC2034
  * *: various loop iteration improvements
  * crontab: fix loop over already given args
  * apt-cache: fix command mode handling
  * doc: add loop variable naming guideline
  * test: make at-point completion tests easier
  * ssh, xsltproc: address shellcheck SC2006
  * scp: work around shellcheck SC1003
  * mutt: address shellchec SC2236
  * wget: address shellcheck SC2116
  * pytest: address shellcheck SC2002
  * bash_completion, java, tipc: for loop whitespace consistency
    tweaks
  * *: more arithmetic evaluation cleanups, thanks to shellcheck
    SC2004
  * __reassemble_comp_words_by_ref, java: address and work around
    shellcheck SC2102
  * test: enable parallel pre-commit shellcheck
  * test: remove shellcheck severity filter, add explicit disables
    instead
  * doc: recommend arithmetic evaluation
  * *: array subscript cleanups
  * ssh-keygen: -s and -n completion improvements
  * *: enable and address shellcheck SC2053
  * bash_completion, invoke-rc.d, svcadm: trivial cleanups
  * *: replace various conditional expressions with arithmetic
    evaluation
  * carton: fix command parsing with BSD sed
  * nmap: fix option parsing with BSD sed
  * test/alias: port remaining test case to pytest+pexpect
  * test: generalize complete at point test
  * test/cd: fix test_dir_at_point for setups that repeat "trailer"
  * pytest: add some option arg (non-)completions
  * pytest: complete test classes
  * pgrep, pkill: add --ns and --nslist arg completions
  * test: run skipif and xfail commands without caring if they output
    or not
  * test: make it possible to not care whether command did output or
    not
  * test/xfreerdp: skip xfreerdp kbd test if kbd-list returns empty
  * test: tolerate duplicates from compgen actions
  * test: bump shellcheck severity to warning + some disables
  * *: address shellcheck SC2046
  * test/lib/library.sh: address shellcheck SC2125
  * java, pkgadd, sysbench: address shellchec SC2124
  * scp: address shellcheck SC2089 and SC2090
  * _filedir_xspec: address shellcheck SC2140
  * rpm, ssh, umount.linux: address shellcheck SC2120
  * cvs, modprobe, sh: address shellcheck SC2209
  * mutt: address shellcheck SC2088
  * _upvar, _upvars, _variables, rpm: address shellcheck SC1083
  * test/run: address shellcheck SC2164
  * renice: address shellcheck SC2254
  * tipc: comment grammar and spelling fixes
  * man, perl, route, tipc: address shellcheck SC2053
  * info, java: address shellcheck SC2153
  * quote_readline: fix $ret leak
  * test: upgrade shellcheck to 0.7.1
  * test/printenv: xfail if --help doesn't contain options (e.g.
    busybox)
  * test/aptitude: require command where necessary
  * _known_hosts_real, op: address shellcheck SC2184
  * test: don't run shellcheck on completions/.gitignore
  * protoc: complete all --*_out without more specific handling with
    dirs
  * sysbench: add --test= deprecation TODO
  * pkgadd: indentation fix
  * chronyc, wvdial: address shellcheck SC2178
  * java, pkgadd, sysbench: address shellcheck SC2124
  * mplayer: address shellcheck SC1078 false positive
  * smartctl: hush shellcheck SC2054 false positives
  * *: address shellcheck SC2221 and SC2222
  * bash_completion: address shellcheck SC2220
  * crontab, wodim: silence shellcheck SC2191 and SC2192
  * aptitude: add some option arg (non)completions
  * aptitude: parse options list from --help, hardcode less
  * test/aptitude: add some test cases
  * *: argument interation improvements
  * *: whitespace tweaks
  * apt-get etc: use _apt_cache_packages from apt-cache
  * pre-commit: run most python checks on helpers/python too
  * test/ldd: xfail if --help is not implemented
  * test/printenv: require command for arg completion test
  * printenv: indentation fixes
  * test: upgrade mypy to 0.770
  * test: split dependencies requiring Python 3.6.1+ to requirements-
    dev.txt
  * git: trigger docker rebuild on pre-commit config change
  * test: require openssl command for option argument tests
  * test: move perltidy to pre-commit, run with --converge
  * test: move shellcheck to pre-commit
  * test: ignore flake8 messages that are in black's domain
  * _xinetd_services: look up from $BASHCOMP_XINETDDIR, add some unit
    tests
  * printenv: new completion
  * copyright: add 2020
  * test: fix CompletionResult.__eq__ UnboundLocalError
  * test: run pre-commit in tools container
  * test: shellcheck tweaks
  * test: add isort to pre-commit, run it
  * test: add flake8-bugbear
  * test: install black for Python 3.6 too
  * pre-commit: add config with black, flake8, and mypy
  * test: drop redundant black args from docker runs
  * *: python type hint fixes and improvements
  * extra/make-changelog: run through black
  * test/totem: add basic test case
  * test/cd: remove unused import
  * openssl: complete -writerand with filenames
  * openssl: parse available options from $command -help
  * openssl: support getting digest list from more recent openssl
    versions
  * nmap: handle options split on equals sign
  * nmap: parse options from -h output
  * test/cd: make dir_at_point produce better debuggable failures
  * test/cd: convert remaining test case to pytest+pexpect
  * test: remove some no longer needed old test suite code
  * test/chown,sudo: parametrize special case test, improve xfail
    targeting
  * test/tsig-keygen: require command for test_options
  * test/upgradepkg: port remaining test case to pytest+pexpect
  * tsig-keygen: new completion
  * test: host helper lint and usage fixes
  * test: port some _known_hosts_real unit tests to pytest+pexpect
  * test: remove some no longer needed tcl/expect code
  * test: fix spurious hosts fixture failure without avahi-browse
    installed
  * test: port some scp test cases to pytest+pexpect
  * test: port remaining finger, sftp, ssh, and xhost cases to
    pytest+pexpect
  * lilo: work around shellcheck false positive
  * test/ipcalc: fix tests with busybox ipcalc
  * chromium-browser, firefox: complete on *.txt (#379)
  * README.md: add introduction
  * ipcalc: new completion
  * *: complete commands when prefixed with a backslash
  * test/wol: don't fail MAC test if test system has /etc/ethers
    entries
  * test/dnssec-keygen: allow more alternatives in algorithm
    completion
  * lilo: don't complete on commented out labels
  * lilo: honor -C when completing labels
  * lilo: add -B and -E completions
  * Source user completion only if it's a file (#409)
  * jarsigner: complete on *.apk too (#386)
  * cryptsetup: add luksChangeKey arg completion (#380)
- Refresh and reorder all patches and use autosetup macro
- Run spec-cleaner
  * Remove rpm groups

OBS-URL: https://build.opensuse.org/request/show/827956
OBS-URL: https://build.opensuse.org/package/show/shells/bash-completion?expand=0&rev=118
This commit is contained in:
Dr. Werner Fink 2020-08-20 05:37:55 +00:00 committed by Git OBS Bridge
parent 3d67701b50
commit 0deb71e5c4
19 changed files with 887 additions and 176 deletions

View File

@ -2,17 +2,19 @@
bash_completion | 47 ++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 46 insertions(+), 1 deletion(-)
--- bash_completion
+++ bash_completion 2017-07-04 07:44:47.556933294 +0000
@@ -555,6 +555,7 @@ _filedir()
Index: bash-completion-2.11/bash_completion
===================================================================
--- bash-completion-2.11.orig/bash_completion
+++ bash-completion-2.11/bash_completion
@@ -566,6 +566,7 @@ _filedir()
local IFS=$'\n'
_tilde "$cur" || return
_tilde "${cur-}" || return
+ _dollar "$cur" || return
local -a toks
local reset
@@ -1006,6 +1007,41 @@ _tilde()
local reset arg=${1-}
@@ -1044,6 +1045,42 @@ _tilde()
return $result
}
@ -51,10 +53,11 @@
+ ((glob == 0)) && shopt -u extglob
+ return ${#COMPREPLY[@]}
+}
+
# Expand variable starting with tilde (~)
# We want to expand ~foo/... to /home/foo/... to avoid problems when
@@ -1720,7 +1756,16 @@ complete -F _known_hosts traceroute traceroute6 \
# word-to-complete starting with a tilde is fed to commands and ending up
@@ -1810,7 +1847,16 @@ complete -F _known_hosts traceroute trac
_cd()
{
local cur prev words cword

View File

@ -22,9 +22,10 @@ Reviewed-by: Lidong Zhong <lzhong@suse.com>
diff --git a/completions/lvm b/completions/lvm
--- a/completions/lvm
+++ b/completions/lvm
Index: bash-completion-2.11/completions/lvm
===================================================================
--- bash-completion-2.11.orig/completions/lvm
+++ bash-completion-2.11/completions/lvm
@@ -6,27 +6,41 @@ _lvm_filedir()
_filedir
}
@ -37,42 +38,42 @@ diff --git a/completions/lvm b/completions/lvm
+
_lvm_volumegroups()
{
- COMPREPLY=( $(compgen -W "$(vgscan 2>/dev/null | \
- COMPREPLY=($(compgen -W "$(vgscan 2>/dev/null |
+ local verbose
+ _lvm_verbose && verbose=-v
+ COMPREPLY=( $(compgen -W "$( vgscan $verbose 2>/dev/null | \
command sed -n -e 's|.*Found.*"\(.*\)".*$|\1|p' )" -- "$cur") )
command sed -n -e 's|.*Found.*"\(.*\)".*$|\1|p')" -- "$cur"))
}
_lvm_physicalvolumes_all()
{
- COMPREPLY=( $(compgen -W "$(pvscan 2>/dev/null | \
- COMPREPLY=($(compgen -W "$(pvscan 2>/dev/null |
+ local verbose
+ _lvm_verbose && verbose=-v
+ COMPREPLY=( $(compgen -W "$( pvscan $verbose 2>/dev/null | \
command sed -n -e 's|^.*PV \([^ ]*\) .*|\1|p' )" -- "$cur") )
command sed -n -e 's|^.*PV \([^ ]*\) .*|\1|p')" -- "$cur"))
}
_lvm_physicalvolumes()
{
- COMPREPLY=( $(compgen -W "$(pvscan 2>/dev/null | \
- COMPREPLY=($(compgen -W "$(pvscan 2>/dev/null |
+ local verbose
+ _lvm_verbose && verbose=-v
+ COMPREPLY=( $(compgen -W "$( pvscan $verbose 2>/dev/null | \
command sed -n -e 's|^.*PV \(.*\) VG.*$|\1|p' )" -- "$cur") )
command sed -n -e 's|^.*PV \(.*\) VG.*$|\1|p')" -- "$cur"))
}
_lvm_logicalvolumes()
{
- COMPREPLY=( $(compgen -W "$(lvscan 2>/dev/null | \
- COMPREPLY=($(compgen -W "$(lvscan 2>/dev/null |
+ local verbose
+ _lvm_verbose && verbose=-v
+ COMPREPLY=( $(compgen -W "$( lvscan $verbose 2>/dev/null | \
command sed -n -e "s|^.*'\(.*\)'.*$|\1|p" )" -- "$cur") )
command sed -n -e "s|^.*'\(.*\)'.*$|\1|p")" -- "$cur"))
if [[ $cur == /dev/mapper/* ]]; then
_filedir
@@ -385,7 +399,7 @@ _vgreduce()
if [[ $args -eq 0 ]]; then
@@ -387,7 +401,7 @@ _vgreduce()
if ((args == 0)); then
_lvm_volumegroups
else
- _lvm_physicalvolumes
@ -80,8 +81,8 @@ diff --git a/completions/lvm b/completions/lvm
fi
fi
} &&
@@ -699,7 +713,7 @@ _lvcreate()
if [[ $args -eq 0 ]]; then
@@ -701,7 +715,7 @@ _lvcreate()
if ((args == 0)); then
_lvm_volumegroups
else
- _lvm_physicalvolumes

View File

@ -2,8 +2,10 @@
bash_completion.sh.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- bash_completion.sh.in
+++ bash_completion.sh.in 2017-07-04 07:42:39.171304553 +0000
Index: bash-completion-2.11/bash_completion.sh.in
===================================================================
--- bash-completion-2.11.orig/bash_completion.sh.in
+++ bash-completion-2.11/bash_completion.sh.in
@@ -1,6 +1,6 @@
# shellcheck shell=sh disable=SC1091,SC2039,SC2166
# Check for interactive bash and that we haven't already been sourced.
@ -11,4 +13,4 @@
+if [[ -n "${BASH_VERSION-}" && $- = *i* && -z "${BASH_COMPLETION_VERSINFO-}" ]]; then
# Check for recent enough version of bash.
if [ "${BASH_VERSINFO[0]}" -gt 4 ] || \
if [ "${BASH_VERSINFO[0]}" -gt 4 ] ||

View File

@ -2,9 +2,11 @@
bash_completion | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
--- bash_completion
+++ bash_completion 2017-07-04 07:46:01.087575561 +0000
@@ -987,16 +987,21 @@ _tilde()
Index: bash-completion-2.11/bash_completion
===================================================================
--- bash-completion-2.11.orig/bash_completion
+++ bash-completion-2.11/bash_completion
@@ -1052,16 +1052,21 @@ _tilde()
_dollar()
{
local s=""
@ -30,7 +32,7 @@
\$\{*)
COMPREPLY=($(compgen -v -P '${' -S "}$s" -- ${1#??})) ;;
\$*)
@@ -1008,7 +1013,7 @@ _dollar()
@@ -1073,7 +1078,7 @@ _dollar()
if ((${#COMPREPLY[@]} > 0)) ; then
((${#COMPREPLY[@]} == 1)) && eval COMPREPLY=\(${COMPREPLY[@]}\)

View File

@ -2,9 +2,11 @@
bash-completion-2.7/bash_completion | 20 ++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
--- bash-completion-2.7/bash_completion
+++ bash-completion-2.7/bash_completion 2017-07-04 07:49:14.823999472 +0000
@@ -994,13 +994,21 @@ _dollar()
Index: bash-completion-2.11/bash_completion
===================================================================
--- bash-completion-2.11.orig/bash_completion
+++ bash-completion-2.11/bash_completion
@@ -1059,13 +1059,21 @@ _dollar()
[[ "$COMP_LINE" == cd* ]] && s="/"
case "$1" in
@ -30,7 +32,7 @@
;;
\$\{*)
COMPREPLY=($(compgen -v -P '${' -S "}$s" -- ${1#??})) ;;
@@ -1013,8 +1021,8 @@ _dollar()
@@ -1078,8 +1086,8 @@ _dollar()
if ((${#COMPREPLY[@]} > 0)) ; then
((${#COMPREPLY[@]} == 1)) && eval COMPREPLY=\(${COMPREPLY[@]}\)

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:123c17998e34b937ce57bb1b111cd817bc369309e9a8047c0bcf06ead4a3ec92
size 310764

BIN
bash-completion-2.11.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -2,9 +2,11 @@
bash_completion | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
--- bash_completion
+++ bash_completion 2017-07-04 07:40:15.221922680 +0000
@@ -1938,12 +1938,13 @@ _longopt()
Index: bash-completion-2.11/bash_completion
===================================================================
--- bash-completion-2.11.orig/bash_completion
+++ bash-completion-2.11/bash_completion
@@ -2031,12 +2031,13 @@ _longopt()
fi
}
# makeinfo and texi2dvi are defined elsewhere.
@ -21,5 +23,5 @@
+ texindex touch tr unexpand uniq vdir wc who
+complete -F _longopt -o default env netstat seq uname units
# declare only knows -g in bash >= 4.2.
if [[ ${BASH_VERSINFO[0]} -gt 4 || ${BASH_VERSINFO[1]} -ge 2 ]]; then
declare -Ag _xspecs

View File

@ -4,18 +4,20 @@ Due legal issue the unRAR part of 7z had been removed (boo#1077978, boo#1090515)
completions/7z | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- completions/7z
+++ completions/7z 2018-04-24 09:17:49.392549710 +0000
@@ -71,7 +71,7 @@ _7z()
Index: bash-completion-2.11/completions/7z
===================================================================
--- bash-completion-2.11.orig/completions/7z
+++ bash-completion-2.11/completions/7z
@@ -76,7 +76,7 @@ _7z()
else
COMPREPLY=( $(compgen -P${cur:0:2} -W '7z apm arj bzip2 cab
COMPREPLY=($(compgen -P${cur:0:2} -W '7z apm arj bzip2 cab
chm cpio cramfs deb dmg elf fat flv gzip hfs iso lzh lzma
- lzma86 macho mbr mslz mub nsis ntfs pe ppmd rar rpm
+ lzma86 macho mbr mslz mub nsis ntfs pe ppmd rpm
squashfs swf swfc tar udf vhd wim xar xz z zip' \
-- "${cur:2}") )
-- "${cur:2}"))
fi
@@ -105,7 +105,7 @@ _7z()
@@ -110,7 +110,7 @@ _7z()
# (assumption: extensions are all lowercase)
[[ $mode == w ]] &&
_filedir '@(7z|bz2|swf|?(g)tar|?(t)[bglx]z|tb?(z)2|wim)' ||

View File

@ -1,3 +1,373 @@
-------------------------------------------------------------------
Tue Aug 18 23:13:19 UTC 2020 - Matthias Eliasson <elimat@opensuse.org>
- Update to version 2.11:
* _known_hosts_real: check that ruptime is present before calling
(#390)
* totem: reuse kaffeine completions (#372)
* __reassemble_comp_words_by_ref: avoid triggering nounset on
indirect references
* lintian: complete paths for Ubuntu's .ddeb and Debian's buildinfo
files (#397)
* ip: complete route add table arg
* ip: style fixes similar to ip-netns
* ip: add more completions for ip-rule
* ip: add support for netns (#391)
* ip: improve completion of route subcommands (#326)
* unzip, zipinfo: complete *.aar (#428)
* ssh: add new -Q completions in OpenSSH 8.2p1 (#400)
* python: support executables with minor version (#389)
* insmod, modinfo, modprobe: support xz compressed modules (#401)
* tshark: complete -r arg with all filenames (#422)
* openssl: update -starttls completions (#403)
* _filedir*: update link to bug-bash discussion on -X (#404)
* test/python: add testcase for submodule completion
* Release 2.11
* extra/make-changelog: check and output usage message
* pre-commit: anchor exclude patterns
* pytest: rewrite in bash, support toplevel funcs, avoid nondef ones
and classes
* test/xfreerdp: skip --help failure cases
* test/tshark: fix multiple -O completion with no http2 support
* test/ant: avoid complete-ant-cmd.pl interference with ANT_ARGS
* _xinetd_services: avoid nounset error on bash 4.2
* pre-commit: upgrade isort to 5.1.4
* pre-commit: upgrade pyupgrade to 2.7.2
* pre-commit: add pyupgrade, run it
* test/ant: gitignore all target cache files
* _known_hosts_real: exclude Host negations
* pre-commit: upgrade isort to 5.0.7
* pre-commit: update shellcheck-py URL
* test/inputrc: do not set print-completions-horizontally
* test/inputrc: comment typo fix
* pytest: complete async test class methods
* __get_cword_at_cursor_by_ref: fix regression on bash 4.2
* test: upgrade markdownlint-cli to 0.23.2
* _known_hosts_real: avoid errors in nounset mode on Ubuntu 14 and
16
* _longopt: exclude too many dashes, allow underscores, require ends
with alnum
* _included_ssh_config_files: support globs
* _known_hosts_real: prevent unwanted pathname expansion on host
entries
* test/shfmt: upgrade to 3.1.2, reformat with it
* test/_known_hosts_real: add explicit no globbing test case
* test: upgrade mypy to 0.782
* CONTRIBUTING.md: add posix and nounset mode item
* test: upgrade mypy to 0.781
* test: upgrade perltidy to 20200619
* _known_hosts_real: fix completion of Host entries after a wildcard
etc
* _known_hosts_real: fix # handling in ssh configs
* test: upgrade flake8 to 3.8.3
* test/xhost: multiple expected result handling fixes
* test/slapt-src: single expected result handling fixes
* test: partial hostname completion fixes
* test: simplify completion parsing
* test/dpkg-query: mark as xfail on non-Debian based systems
* .gitignore: clean up some no longer needed ignores
* test/lspci: skip -A arg test if lspci fails -A help, e.g. busybox
lspci
* test: regex escape our magic mark for completeness
* test: upgrade mypy to 0.780
* test/_known_hosts_real: don't modify class scoped base expected
list
* test/_known_hosts_real: reset COMP_KNOWN_HOSTS_WITH_HOSTFILE
between tests
* test/_known_hosts_real: tolerate duplicates
* bash_completion: trivial cleanups
* gcc: avoid errors in nounset mode
* pytest: fix test class method completion with BSD awk
* man, mutt: avoid errors in nounset mode on Ubuntu 14 and 16
* java, make: avoid errors in nounset mode on Ubuntu 14 and 16
* README: document GNU make build requirement
* pytest: add test class method completion
* _known_hosts: avoid errors in nounset mode and no arguments
* bash_completion: fix array set checks with empty elements in them
* *: avoid more errors in nounset mode
* cfrun: fix $hostfile leak
* _command_offset, route: cleanups
* *: avoid more errors in nounset mode
* qemu: add -machine arg completion
* qemu, sbopkg: avoid unintentional globbing on option arg
completions
* test: enable shellcheck SC2035
* *: drop support for bash 4.1
* _init_completion: fix unassigned redirect completion in nounset
mode
* ip: route shfmt, arithmetic evaluation
* _filedir: avoid unbound variable error on Ubuntu 14 and 16
* _pids, _pgids, _pnames: improve shfmt formatting
* scp, sftp, ssh: fix completion on options bundled with -4/-6
* modprobe, tshark, _included_ssh_config_files: use [[ ]] instead of
[ ]
* test/runLint: warn about [ ] instead of [[ ]] use
* test: skip various tests if we don't get a useful usage message
* *: mark nounset mode as supported, issues with it are bugs now
* *: avoid more errors in nounset mode
* *: avoid more errors in nounset mode
* *: avoid more errors in nounset mode
* test/inputrc: comment and whitespace tweaks
* *: avoid more errors in nounset mode
* test/unit: sort files included in dist
* test/unit: include test_unit_known_hosts_real.py in dist
* bash_completion: line wrapping tweaks, NFC
* 7z: fix -o/-w attached arg completion
* postfix: try to arrange a fake tty so we can tickle the usage
message out
* _bashcomp_try_faketty: new function to try running command with a
fake tty
* mr: avoid herestrings, simplify command parsing
* test/mr: handle missing "clean" with skipif
* test: mark known non-ASCII issues with test suite as xfail
* dpkg-deb: add --raw-extract and -X arg completions
* test: add some dpkg-query test cases
* dpkg-deb: fix --show/-W completion
* test: upgrade markdownlint-cli to 0.23.1
* *: use more arithmetic evaluation
* test: try harder to restore environment and cwd on failures
* *: use $ifs for storing/restoring $IFS
* test/irb: xfail options test if --help is not available
* test: upgrade flake8 to 3.8.1
* test: pre-commit config cleanups, ordering
* test: upgrade pre-commit to 2.4.0+, drop shfmt kludge
* test: sync shfmt and shellcheck configs
* test: shfmt bashrc
* test: remove unused run-shellcheck, shellcheck is in pre-commit
now
* test: remove old test suite code no longer used \o/
* test/_known_hosts_real: port remaining test cases to
pytest+pexpect
* test: remove more no longer needed old test suite code
* test/_known_hosts_real: port more test cases to pytest+pexpect
* test/_get_cword: port remaining test case to pytest+pexpect
* test: replace some echos with printfs
* test/_filedir: fix shutil.rmtree on Python < 3.6
* test/_expand: port remaining test cases to pytest+pexpect
* test: drop some no longer needed old test suite code
* test/_filedir: port remaining test cases to pytest+pexpect
* test: run all Travis jobs on dist: bionic
* test: drop not needed sudo on Travis
* test/_filedir: port more test cases to pytest+pexpect
* test/__expand_tilde_by_ref: port remaining test cases to
pytest+pexpect
* test/_get_comp_words_by_ref: convert remaining test cases to
pytest+pexpect
* test: run pytest --verbose in docker
* lftp: use "bookmark list" command to list bookmarks
* test: drop some no longer needed old test suite code
* test/slapt-src: convert remaining test case to pytest+pexpect
* _xfunc: simplify
* apt-cache: avoid nonzero exit code from _apt_cache_packages
* test/slapt-get: convert remaining test case to pytest+pexpect
* test/secret-tool: add to test command list
* test/scp: port remaining test case to pytest+pexpect
* test/umount: convert remaining test case to pytest+pexpect
* secret-tool: new completion
* apt-get: complete build-dep with dirs
* travis: use golang 1.14 for shfmt
* *: run all shell code through shfmt -s
* pre-commit etc: add shfmt
* test: fix incorrect fixtures/shared/default xfails/expectations
* test: upgrade markdownlint to 0.23.0
* nmap: simplify help scraping a bit, don't try to emit unnecessary
newlines
* test: prefix fake test commands with underscore
* test: port most umount test cases to pytest+pexpect
* test: add note about unescaped assert_complete single return
values
* editorconfig: apply yaml settings to .yaml too
* pre-commit: use local perlcritic hook
* *: doc and comment link updates
* pre-commit, *.md: add markdownlint, address findings
* README: clarify loading automatically on demand
* ssh-keygen: -O arg updates and improvements
* ssh-keygen: add -b arg completions according to specified -t
* ssh-keygen: option and arg completion updates for new versions
* _command: improve commentary
* reportbug, scp, sftp, svn: use compgen -c instead of _command
* find: fix -exec etc argument and its completion
* extra: trigger docker builds only on test-cmd-list.txt changes
* test: add script to maintain list of executables for full test
coverage
* test: run lint tests on Travis in a quickish separate first stage
* test/make: mark more cases as requiring command
* make: add bmake alias
* test: run pre-commit on host instead of docker
* test: add perlcritic to pre-commit, run on all perl
* *: remove some unused variables, thanks to shellcheck SC2034
* *: various loop iteration improvements
* crontab: fix loop over already given args
* apt-cache: fix command mode handling
* doc: add loop variable naming guideline
* test: make at-point completion tests easier
* ssh, xsltproc: address shellcheck SC2006
* scp: work around shellcheck SC1003
* mutt: address shellchec SC2236
* wget: address shellcheck SC2116
* pytest: address shellcheck SC2002
* bash_completion, java, tipc: for loop whitespace consistency
tweaks
* *: more arithmetic evaluation cleanups, thanks to shellcheck
SC2004
* __reassemble_comp_words_by_ref, java: address and work around
shellcheck SC2102
* test: enable parallel pre-commit shellcheck
* test: remove shellcheck severity filter, add explicit disables
instead
* doc: recommend arithmetic evaluation
* *: array subscript cleanups
* ssh-keygen: -s and -n completion improvements
* *: enable and address shellcheck SC2053
* bash_completion, invoke-rc.d, svcadm: trivial cleanups
* *: replace various conditional expressions with arithmetic
evaluation
* carton: fix command parsing with BSD sed
* nmap: fix option parsing with BSD sed
* test/alias: port remaining test case to pytest+pexpect
* test: generalize complete at point test
* test/cd: fix test_dir_at_point for setups that repeat "trailer"
* pytest: add some option arg (non-)completions
* pytest: complete test classes
* pgrep, pkill: add --ns and --nslist arg completions
* test: run skipif and xfail commands without caring if they output
or not
* test: make it possible to not care whether command did output or
not
* test/xfreerdp: skip xfreerdp kbd test if kbd-list returns empty
* test: tolerate duplicates from compgen actions
* test: bump shellcheck severity to warning + some disables
* *: address shellcheck SC2046
* test/lib/library.sh: address shellcheck SC2125
* java, pkgadd, sysbench: address shellchec SC2124
* scp: address shellcheck SC2089 and SC2090
* _filedir_xspec: address shellcheck SC2140
* rpm, ssh, umount.linux: address shellcheck SC2120
* cvs, modprobe, sh: address shellcheck SC2209
* mutt: address shellcheck SC2088
* _upvar, _upvars, _variables, rpm: address shellcheck SC1083
* test/run: address shellcheck SC2164
* renice: address shellcheck SC2254
* tipc: comment grammar and spelling fixes
* man, perl, route, tipc: address shellcheck SC2053
* info, java: address shellcheck SC2153
* quote_readline: fix $ret leak
* test: upgrade shellcheck to 0.7.1
* test/printenv: xfail if --help doesn't contain options (e.g.
busybox)
* test/aptitude: require command where necessary
* _known_hosts_real, op: address shellcheck SC2184
* test: don't run shellcheck on completions/.gitignore
* protoc: complete all --*_out without more specific handling with
dirs
* sysbench: add --test= deprecation TODO
* pkgadd: indentation fix
* chronyc, wvdial: address shellcheck SC2178
* java, pkgadd, sysbench: address shellcheck SC2124
* mplayer: address shellcheck SC1078 false positive
* smartctl: hush shellcheck SC2054 false positives
* *: address shellcheck SC2221 and SC2222
* bash_completion: address shellcheck SC2220
* crontab, wodim: silence shellcheck SC2191 and SC2192
* aptitude: add some option arg (non)completions
* aptitude: parse options list from --help, hardcode less
* test/aptitude: add some test cases
* *: argument interation improvements
* *: whitespace tweaks
* apt-get etc: use _apt_cache_packages from apt-cache
* pre-commit: run most python checks on helpers/python too
* test/ldd: xfail if --help is not implemented
* test/printenv: require command for arg completion test
* printenv: indentation fixes
* test: upgrade mypy to 0.770
* test: split dependencies requiring Python 3.6.1+ to requirements-
dev.txt
* git: trigger docker rebuild on pre-commit config change
* test: require openssl command for option argument tests
* test: move perltidy to pre-commit, run with --converge
* test: move shellcheck to pre-commit
* test: ignore flake8 messages that are in black's domain
* _xinetd_services: look up from $BASHCOMP_XINETDDIR, add some unit
tests
* printenv: new completion
* copyright: add 2020
* test: fix CompletionResult.__eq__ UnboundLocalError
* test: run pre-commit in tools container
* test: shellcheck tweaks
* test: add isort to pre-commit, run it
* test: add flake8-bugbear
* test: install black for Python 3.6 too
* pre-commit: add config with black, flake8, and mypy
* test: drop redundant black args from docker runs
* *: python type hint fixes and improvements
* extra/make-changelog: run through black
* test/totem: add basic test case
* test/cd: remove unused import
* openssl: complete -writerand with filenames
* openssl: parse available options from $command -help
* openssl: support getting digest list from more recent openssl
versions
* nmap: handle options split on equals sign
* nmap: parse options from -h output
* test/cd: make dir_at_point produce better debuggable failures
* test/cd: convert remaining test case to pytest+pexpect
* test: remove some no longer needed old test suite code
* test/chown,sudo: parametrize special case test, improve xfail
targeting
* test/tsig-keygen: require command for test_options
* test/upgradepkg: port remaining test case to pytest+pexpect
* tsig-keygen: new completion
* test: host helper lint and usage fixes
* test: port some _known_hosts_real unit tests to pytest+pexpect
* test: remove some no longer needed tcl/expect code
* test: fix spurious hosts fixture failure without avahi-browse
installed
* test: port some scp test cases to pytest+pexpect
* test: port remaining finger, sftp, ssh, and xhost cases to
pytest+pexpect
* lilo: work around shellcheck false positive
* test/ipcalc: fix tests with busybox ipcalc
* chromium-browser, firefox: complete on *.txt (#379)
* README.md: add introduction
* ipcalc: new completion
* *: complete commands when prefixed with a backslash
* test/wol: don't fail MAC test if test system has /etc/ethers
entries
* test/dnssec-keygen: allow more alternatives in algorithm
completion
* lilo: don't complete on commented out labels
* lilo: honor -C when completing labels
* lilo: add -B and -E completions
* Source user completion only if it's a file (#409)
* jarsigner: complete on *.apk too (#386)
* cryptsetup: add luksChangeKey arg completion (#380)
- Refresh and reorder all patches and use autosetup macro
- Run spec-cleaner
* Remove rpm groups
-------------------------------------------------------------------
Tue Jun 23 13:01:29 UTC 2020 - Dominique Leuenberger <dimstar@opensuse.org>
- Modify qdbus-qt5.patch: only modify Makefile.am; Makefile.in is
auto-generated based on the .am file.
- Add libtool BuildRequires and explicitly call autoreconf: unless
we do this, there is a chance that the build modifies the above
mentioned .am and .in files with different timestamps, which in
turn triggers an implicit autoreconf. Without libtool present
though, this will fail.
-------------------------------------------------------------------
Tue May 12 08:20:39 UTC 2020 - Dirk Mueller <dmueller@suse.com>
- fix extra tokens at the end of %endif directive build errors
-------------------------------------------------------------------
Mon Apr 13 09:54:50 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
- Improve patch to fix lookup of qdbus-qt5 completion, previously
it was only loaded if qdbus was used first:
* qdbus-qt5.patch
-------------------------------------------------------------------
Sat Mar 28 15:01:27 UTC 2020 - Michal Suchanek <msuchanek@suse.de>

View File

@ -16,15 +16,14 @@
#
Name: bash-completion-doc
%define _name bash-completion
# WARNING: Never edit this file!!! Edit bash-completion.spec and call pre_checkin.sh to update bash-completion-doc.spec.
# Always set %%build_doc to 0 before submit to OBS.
Version: 2.10
Name: bash-completion-doc
Version: 2.11
Release: 0
Summary: The Documentation of Programmable Completion for Bash
License: GPL-2.0-or-later
Group: Development/Libraries/C and C++
URL: https://github.com/scop/bash-completion/
Source0: https://github.com/scop/bash-completion/releases/download/%{version}/%{_name}-%{version}.tar.xz
Source1: bash-completion-rpmlintrc
@ -36,10 +35,10 @@ Patch1: tar-completion.patch
Patch2: PS1-completion-boo903362.patch
# PATCH-FIX-SUSE boo#905348 -- tab completion with shell variable changes command line with backslash
Patch3: FOO-dir-completion-boo905348.patch
# PATCH-FIX-SUSE boo#889319
Patch5: ls-completion-boo889319.patch
# PATCH-FIX-SUSE
Patch4: qdbus-qt5.patch
# PATCH-FIX-SUSE boo#889319
Patch5: ls-completion-boo889319.patch
# PATCH-FIX-SUSE boo#940835
Patch6: backtick-completion-boo940835.patch
# PATCH-FIX-SUSE bsc#946875
@ -51,12 +50,12 @@ Patch9: rm-completion-smart-boo958462.patch
# PATCH-FIX-SUSE boo#963140
Patch10: backticks-bsc963140.patch
# PATCH-FIX-SUSE boo#1090515
Patch12: bash-completion-2.7-unRAR-remove.patch
Patch11: bash-completion-2.7-unRAR-remove.patch
# PATCH-FIX-SUSE boo#1167952
Patch13: bash-completion-fix-missing-directory-completion-with-filename-pattern.patch
Patch12: bash-completion-fix-missing-directory-completion-with-filename-pattern.patch
BuildRequires: asciidoc
BuildRequires: libxslt-tools
BuildRequires: pkg-config
BuildRequires: pkgconfig
Provides: bash-completion:%{_defaultdocdir}/%{_name}/AUTHORS
BuildArch: noarch
@ -65,20 +64,7 @@ This package contains the package documentation file of the
package bash-completion.
%prep
%setup -q -n %{_name}-%{version}
%patch0 -b .p0
%patch1 -b .p1
%patch2 -b .p2
%patch3 -b .p3
%patch4 -b .p4 -p1
%patch5 -b .p5
%patch6 -b .p6
%patch7 -b .p7 -p1
%patch8 -b .p8
%patch9 -b .p9
%patch10 -b .p10 -p1
%patch12 -b .p12 -p0
%patch13 -b .p13 -p1
%autosetup -p1 -n %{_name}-%{version}
%build
%configure
@ -96,7 +82,6 @@ install -m 0644 AUTHORS %{buildroot}%{_defaultdocdir}/%{_name}/
install -m 0644 README.md %{buildroot}%{_defaultdocdir}/%{_name}/README
%files
%defattr(-,root,root)
%dir %{_defaultdocdir}/%{_name}
%{_defaultdocdir}/%{_name}/AUTHORS
%{_defaultdocdir}/%{_name}/README

View File

@ -16,18 +16,21 @@ file pattern.
bash_completion | 25 ++++++++-----------------
1 file changed, 8 insertions(+), 17 deletions(-)
diff --git a/bash_completion b/bash_completion
index 0fc89e51..015fea12 100644
--- a/bash_completion
+++ b/bash_completion
@@ -560,34 +560,25 @@ _filedir()
Index: bash-completion-2.11/bash_completion
===================================================================
--- bash-completion-2.11.orig/bash_completion
+++ bash-completion-2.11/bash_completion
@@ -571,34 +571,22 @@ _filedir()
local -a toks
local reset
local reset arg=${1-}
- if [[ "$1" == -d ]]; then
- reset=$(shopt -po noglob); set -o noglob
- toks=( $(compgen -d -- "$cur") )
- IFS=' '; $reset; IFS=$'\n'
- if [[ $arg == -d ]]; then
- reset=$(shopt -po noglob)
- set -o noglob
- toks=($(compgen -d -- "${cur-}"))
- IFS=' '
- $reset
- IFS=$'\n'
- else
+ reset=$(shopt -po noglob); set -o noglob
+ toks=( $(compgen -d -- "$cur") )
@ -35,34 +38,36 @@ index 0fc89e51..015fea12 100644
+
+ if [[ "$1" != -d ]]; then
local quoted
_quote_readline_by_ref "$cur" quoted
_quote_readline_by_ref "${cur-}" quoted
# Munge xspec to contain uppercase version too
# http://thread.gmane.org/gmane.comp.shells.bash.bugs/15294/focus=15306
- local xspec=${1:+"!*.@($1|${1^^})"} plusdirs=()
# https://lists.gnu.org/archive/html/bug-bash/2010-09/msg00036.html
# news://news.gmane.io/4C940E1C.1010304@case.edu
- local xspec=${arg:+"!*.@($arg|${arg^^})"} plusdirs=()
-
- # Use plusdirs to get dir completions if we have a xspec; if we don't,
- # there's no need, dirs come along with other completions. Don't use
- # plusdirs quite yet if fallback is in use though, in order to not ruin
- # the fallback condition with the "plus" dirs.
- local opts=( -f -X "$xspec" )
- local opts=(-f -X "$xspec")
- [[ $xspec ]] && plusdirs=(-o plusdirs)
- [[ ${COMP_FILEDIR_FALLBACK-} ]] || opts+=( "${plusdirs[@]}" )
-
+ local xspec=${1:+"!*.@($1|${1^^})"}
reset=$(shopt -po noglob); set -o noglob
- toks+=( $(compgen "${opts[@]}" -- $quoted) )
+ toks+=( $(compgen -f -X "$xspec" -- $quoted) )
IFS=' '; $reset; IFS=$'\n'
- [[ ${COMP_FILEDIR_FALLBACK-} || -z ${plusdirs-} ]] ||
- opts+=("${plusdirs[@]}")
# Try without filter if it failed to produce anything and configured to
[[ -n ${COMP_FILEDIR_FALLBACK:-} && -n "$1" && ${#toks[@]} -lt 1 ]] && {
reset=$(shopt -po noglob); set -o noglob
- toks+=( $(compgen -f "${plusdirs[@]}" -- $quoted) )
+ local xspec=${1:+"!*.@($1|${1^^})"}
reset=$(shopt -po noglob)
set -o noglob
- toks+=($(compgen "${opts[@]}" -- $quoted))
+ toks+=( $(compgen -f -X "$xspec" -- $quoted) )
IFS=' '
$reset
IFS=$'\n'
@@ -607,7 +595,7 @@ _filedir()
[[ -n ${COMP_FILEDIR_FALLBACK-} && -n $arg && ${#toks[@]} -lt 1 ]] && {
reset=$(shopt -po noglob)
set -o noglob
- toks+=($(compgen -f ${plusdirs+"${plusdirs[@]}"} -- $quoted))
+ toks+=( $(compgen -f -- $quoted) )
IFS=' '; $reset; IFS=$'\n'
}
fi
--
2.25.1
IFS=' '
$reset
IFS=$'\n'

View File

@ -1,3 +1,350 @@
-------------------------------------------------------------------
Tue Aug 18 23:13:19 UTC 2020 - Matthias Eliasson <elimat@opensuse.org>
- Update to version 2.11:
* _known_hosts_real: check that ruptime is present before calling
(#390)
* totem: reuse kaffeine completions (#372)
* __reassemble_comp_words_by_ref: avoid triggering nounset on
indirect references
* lintian: complete paths for Ubuntu's .ddeb and Debian's buildinfo
files (#397)
* ip: complete route add table arg
* ip: style fixes similar to ip-netns
* ip: add more completions for ip-rule
* ip: add support for netns (#391)
* ip: improve completion of route subcommands (#326)
* unzip, zipinfo: complete *.aar (#428)
* ssh: add new -Q completions in OpenSSH 8.2p1 (#400)
* python: support executables with minor version (#389)
* insmod, modinfo, modprobe: support xz compressed modules (#401)
* tshark: complete -r arg with all filenames (#422)
* openssl: update -starttls completions (#403)
* _filedir*: update link to bug-bash discussion on -X (#404)
* test/python: add testcase for submodule completion
* Release 2.11
* extra/make-changelog: check and output usage message
* pre-commit: anchor exclude patterns
* pytest: rewrite in bash, support toplevel funcs, avoid nondef ones
and classes
* test/xfreerdp: skip --help failure cases
* test/tshark: fix multiple -O completion with no http2 support
* test/ant: avoid complete-ant-cmd.pl interference with ANT_ARGS
* _xinetd_services: avoid nounset error on bash 4.2
* pre-commit: upgrade isort to 5.1.4
* pre-commit: upgrade pyupgrade to 2.7.2
* pre-commit: add pyupgrade, run it
* test/ant: gitignore all target cache files
* _known_hosts_real: exclude Host negations
* pre-commit: upgrade isort to 5.0.7
* pre-commit: update shellcheck-py URL
* test/inputrc: do not set print-completions-horizontally
* test/inputrc: comment typo fix
* pytest: complete async test class methods
* __get_cword_at_cursor_by_ref: fix regression on bash 4.2
* test: upgrade markdownlint-cli to 0.23.2
* _known_hosts_real: avoid errors in nounset mode on Ubuntu 14 and
16
* _longopt: exclude too many dashes, allow underscores, require ends
with alnum
* _included_ssh_config_files: support globs
* _known_hosts_real: prevent unwanted pathname expansion on host
entries
* test/shfmt: upgrade to 3.1.2, reformat with it
* test/_known_hosts_real: add explicit no globbing test case
* test: upgrade mypy to 0.782
* CONTRIBUTING.md: add posix and nounset mode item
* test: upgrade mypy to 0.781
* test: upgrade perltidy to 20200619
* _known_hosts_real: fix completion of Host entries after a wildcard
etc
* _known_hosts_real: fix # handling in ssh configs
* test: upgrade flake8 to 3.8.3
* test/xhost: multiple expected result handling fixes
* test/slapt-src: single expected result handling fixes
* test: partial hostname completion fixes
* test: simplify completion parsing
* test/dpkg-query: mark as xfail on non-Debian based systems
* .gitignore: clean up some no longer needed ignores
* test/lspci: skip -A arg test if lspci fails -A help, e.g. busybox
lspci
* test: regex escape our magic mark for completeness
* test: upgrade mypy to 0.780
* test/_known_hosts_real: don't modify class scoped base expected
list
* test/_known_hosts_real: reset COMP_KNOWN_HOSTS_WITH_HOSTFILE
between tests
* test/_known_hosts_real: tolerate duplicates
* bash_completion: trivial cleanups
* gcc: avoid errors in nounset mode
* pytest: fix test class method completion with BSD awk
* man, mutt: avoid errors in nounset mode on Ubuntu 14 and 16
* java, make: avoid errors in nounset mode on Ubuntu 14 and 16
* README: document GNU make build requirement
* pytest: add test class method completion
* _known_hosts: avoid errors in nounset mode and no arguments
* bash_completion: fix array set checks with empty elements in them
* *: avoid more errors in nounset mode
* cfrun: fix $hostfile leak
* _command_offset, route: cleanups
* *: avoid more errors in nounset mode
* qemu: add -machine arg completion
* qemu, sbopkg: avoid unintentional globbing on option arg
completions
* test: enable shellcheck SC2035
* *: drop support for bash 4.1
* _init_completion: fix unassigned redirect completion in nounset
mode
* ip: route shfmt, arithmetic evaluation
* _filedir: avoid unbound variable error on Ubuntu 14 and 16
* _pids, _pgids, _pnames: improve shfmt formatting
* scp, sftp, ssh: fix completion on options bundled with -4/-6
* modprobe, tshark, _included_ssh_config_files: use [[ ]] instead of
[ ]
* test/runLint: warn about [ ] instead of [[ ]] use
* test: skip various tests if we don't get a useful usage message
* *: mark nounset mode as supported, issues with it are bugs now
* *: avoid more errors in nounset mode
* *: avoid more errors in nounset mode
* *: avoid more errors in nounset mode
* test/inputrc: comment and whitespace tweaks
* *: avoid more errors in nounset mode
* test/unit: sort files included in dist
* test/unit: include test_unit_known_hosts_real.py in dist
* bash_completion: line wrapping tweaks, NFC
* 7z: fix -o/-w attached arg completion
* postfix: try to arrange a fake tty so we can tickle the usage
message out
* _bashcomp_try_faketty: new function to try running command with a
fake tty
* mr: avoid herestrings, simplify command parsing
* test/mr: handle missing "clean" with skipif
* test: mark known non-ASCII issues with test suite as xfail
* dpkg-deb: add --raw-extract and -X arg completions
* test: add some dpkg-query test cases
* dpkg-deb: fix --show/-W completion
* test: upgrade markdownlint-cli to 0.23.1
* *: use more arithmetic evaluation
* test: try harder to restore environment and cwd on failures
* *: use $ifs for storing/restoring $IFS
* test/irb: xfail options test if --help is not available
* test: upgrade flake8 to 3.8.1
* test: pre-commit config cleanups, ordering
* test: upgrade pre-commit to 2.4.0+, drop shfmt kludge
* test: sync shfmt and shellcheck configs
* test: shfmt bashrc
* test: remove unused run-shellcheck, shellcheck is in pre-commit
now
* test: remove old test suite code no longer used \o/
* test/_known_hosts_real: port remaining test cases to
pytest+pexpect
* test: remove more no longer needed old test suite code
* test/_known_hosts_real: port more test cases to pytest+pexpect
* test/_get_cword: port remaining test case to pytest+pexpect
* test: replace some echos with printfs
* test/_filedir: fix shutil.rmtree on Python < 3.6
* test/_expand: port remaining test cases to pytest+pexpect
* test: drop some no longer needed old test suite code
* test/_filedir: port remaining test cases to pytest+pexpect
* test: run all Travis jobs on dist: bionic
* test: drop not needed sudo on Travis
* test/_filedir: port more test cases to pytest+pexpect
* test/__expand_tilde_by_ref: port remaining test cases to
pytest+pexpect
* test/_get_comp_words_by_ref: convert remaining test cases to
pytest+pexpect
* test: run pytest --verbose in docker
* lftp: use "bookmark list" command to list bookmarks
* test: drop some no longer needed old test suite code
* test/slapt-src: convert remaining test case to pytest+pexpect
* _xfunc: simplify
* apt-cache: avoid nonzero exit code from _apt_cache_packages
* test/slapt-get: convert remaining test case to pytest+pexpect
* test/secret-tool: add to test command list
* test/scp: port remaining test case to pytest+pexpect
* test/umount: convert remaining test case to pytest+pexpect
* secret-tool: new completion
* apt-get: complete build-dep with dirs
* travis: use golang 1.14 for shfmt
* *: run all shell code through shfmt -s
* pre-commit etc: add shfmt
* test: fix incorrect fixtures/shared/default xfails/expectations
* test: upgrade markdownlint to 0.23.0
* nmap: simplify help scraping a bit, don't try to emit unnecessary
newlines
* test: prefix fake test commands with underscore
* test: port most umount test cases to pytest+pexpect
* test: add note about unescaped assert_complete single return
values
* editorconfig: apply yaml settings to .yaml too
* pre-commit: use local perlcritic hook
* *: doc and comment link updates
* pre-commit, *.md: add markdownlint, address findings
* README: clarify loading automatically on demand
* ssh-keygen: -O arg updates and improvements
* ssh-keygen: add -b arg completions according to specified -t
* ssh-keygen: option and arg completion updates for new versions
* _command: improve commentary
* reportbug, scp, sftp, svn: use compgen -c instead of _command
* find: fix -exec etc argument and its completion
* extra: trigger docker builds only on test-cmd-list.txt changes
* test: add script to maintain list of executables for full test
coverage
* test: run lint tests on Travis in a quickish separate first stage
* test/make: mark more cases as requiring command
* make: add bmake alias
* test: run pre-commit on host instead of docker
* test: add perlcritic to pre-commit, run on all perl
* *: remove some unused variables, thanks to shellcheck SC2034
* *: various loop iteration improvements
* crontab: fix loop over already given args
* apt-cache: fix command mode handling
* doc: add loop variable naming guideline
* test: make at-point completion tests easier
* ssh, xsltproc: address shellcheck SC2006
* scp: work around shellcheck SC1003
* mutt: address shellchec SC2236
* wget: address shellcheck SC2116
* pytest: address shellcheck SC2002
* bash_completion, java, tipc: for loop whitespace consistency
tweaks
* *: more arithmetic evaluation cleanups, thanks to shellcheck
SC2004
* __reassemble_comp_words_by_ref, java: address and work around
shellcheck SC2102
* test: enable parallel pre-commit shellcheck
* test: remove shellcheck severity filter, add explicit disables
instead
* doc: recommend arithmetic evaluation
* *: array subscript cleanups
* ssh-keygen: -s and -n completion improvements
* *: enable and address shellcheck SC2053
* bash_completion, invoke-rc.d, svcadm: trivial cleanups
* *: replace various conditional expressions with arithmetic
evaluation
* carton: fix command parsing with BSD sed
* nmap: fix option parsing with BSD sed
* test/alias: port remaining test case to pytest+pexpect
* test: generalize complete at point test
* test/cd: fix test_dir_at_point for setups that repeat "trailer"
* pytest: add some option arg (non-)completions
* pytest: complete test classes
* pgrep, pkill: add --ns and --nslist arg completions
* test: run skipif and xfail commands without caring if they output
or not
* test: make it possible to not care whether command did output or
not
* test/xfreerdp: skip xfreerdp kbd test if kbd-list returns empty
* test: tolerate duplicates from compgen actions
* test: bump shellcheck severity to warning + some disables
* *: address shellcheck SC2046
* test/lib/library.sh: address shellcheck SC2125
* java, pkgadd, sysbench: address shellchec SC2124
* scp: address shellcheck SC2089 and SC2090
* _filedir_xspec: address shellcheck SC2140
* rpm, ssh, umount.linux: address shellcheck SC2120
* cvs, modprobe, sh: address shellcheck SC2209
* mutt: address shellcheck SC2088
* _upvar, _upvars, _variables, rpm: address shellcheck SC1083
* test/run: address shellcheck SC2164
* renice: address shellcheck SC2254
* tipc: comment grammar and spelling fixes
* man, perl, route, tipc: address shellcheck SC2053
* info, java: address shellcheck SC2153
* quote_readline: fix $ret leak
* test: upgrade shellcheck to 0.7.1
* test/printenv: xfail if --help doesn't contain options (e.g.
busybox)
* test/aptitude: require command where necessary
* _known_hosts_real, op: address shellcheck SC2184
* test: don't run shellcheck on completions/.gitignore
* protoc: complete all --*_out without more specific handling with
dirs
* sysbench: add --test= deprecation TODO
* pkgadd: indentation fix
* chronyc, wvdial: address shellcheck SC2178
* java, pkgadd, sysbench: address shellcheck SC2124
* mplayer: address shellcheck SC1078 false positive
* smartctl: hush shellcheck SC2054 false positives
* *: address shellcheck SC2221 and SC2222
* bash_completion: address shellcheck SC2220
* crontab, wodim: silence shellcheck SC2191 and SC2192
* aptitude: add some option arg (non)completions
* aptitude: parse options list from --help, hardcode less
* test/aptitude: add some test cases
* *: argument interation improvements
* *: whitespace tweaks
* apt-get etc: use _apt_cache_packages from apt-cache
* pre-commit: run most python checks on helpers/python too
* test/ldd: xfail if --help is not implemented
* test/printenv: require command for arg completion test
* printenv: indentation fixes
* test: upgrade mypy to 0.770
* test: split dependencies requiring Python 3.6.1+ to requirements-
dev.txt
* git: trigger docker rebuild on pre-commit config change
* test: require openssl command for option argument tests
* test: move perltidy to pre-commit, run with --converge
* test: move shellcheck to pre-commit
* test: ignore flake8 messages that are in black's domain
* _xinetd_services: look up from $BASHCOMP_XINETDDIR, add some unit
tests
* printenv: new completion
* copyright: add 2020
* test: fix CompletionResult.__eq__ UnboundLocalError
* test: run pre-commit in tools container
* test: shellcheck tweaks
* test: add isort to pre-commit, run it
* test: add flake8-bugbear
* test: install black for Python 3.6 too
* pre-commit: add config with black, flake8, and mypy
* test: drop redundant black args from docker runs
* *: python type hint fixes and improvements
* extra/make-changelog: run through black
* test/totem: add basic test case
* test/cd: remove unused import
* openssl: complete -writerand with filenames
* openssl: parse available options from $command -help
* openssl: support getting digest list from more recent openssl
versions
* nmap: handle options split on equals sign
* nmap: parse options from -h output
* test/cd: make dir_at_point produce better debuggable failures
* test/cd: convert remaining test case to pytest+pexpect
* test: remove some no longer needed old test suite code
* test/chown,sudo: parametrize special case test, improve xfail
targeting
* test/tsig-keygen: require command for test_options
* test/upgradepkg: port remaining test case to pytest+pexpect
* tsig-keygen: new completion
* test: host helper lint and usage fixes
* test: port some _known_hosts_real unit tests to pytest+pexpect
* test: remove some no longer needed tcl/expect code
* test: fix spurious hosts fixture failure without avahi-browse
installed
* test: port some scp test cases to pytest+pexpect
* test: port remaining finger, sftp, ssh, and xhost cases to
pytest+pexpect
* lilo: work around shellcheck false positive
* test/ipcalc: fix tests with busybox ipcalc
* chromium-browser, firefox: complete on *.txt (#379)
* README.md: add introduction
* ipcalc: new completion
* *: complete commands when prefixed with a backslash
* test/wol: don't fail MAC test if test system has /etc/ethers
entries
* test/dnssec-keygen: allow more alternatives in algorithm
completion
* lilo: don't complete on commented out labels
* lilo: honor -C when completing labels
* lilo: add -B and -E completions
* Source user completion only if it's a file (#409)
* jarsigner: complete on *.apk too (#386)
* cryptsetup: add luksChangeKey arg completion (#380)
- Refresh and reorder all patches and use autosetup macro
- Run spec-cleaner
* Remove rpm groups
-------------------------------------------------------------------
Tue Jun 23 13:01:29 UTC 2020 - Dominique Leuenberger <dimstar@opensuse.org>

View File

@ -16,17 +16,16 @@
#
Name: bash-completion
# WARNING: After editing this file please call pre_checkin.sh to update bash-completion-doc.spec.
# Do not change %%build_core.
%define build_core 1
# Always set %%build_doc to 0 before submit to OBS.
%define build_doc 0
Version: 2.10
Name: bash-completion
Version: 2.11
Release: 0
Summary: Programmable Completion for Bash
License: GPL-2.0-or-later
Group: System/Shells
URL: https://github.com/scop/bash-completion/
Source0: https://github.com/scop/bash-completion/releases/download/%{version}/%{name}-%{version}.tar.xz
Source1: bash-completion-rpmlintrc
@ -38,10 +37,10 @@ Patch1: tar-completion.patch
Patch2: PS1-completion-boo903362.patch
# PATCH-FIX-SUSE boo#905348 -- tab completion with shell variable changes command line with backslash
Patch3: FOO-dir-completion-boo905348.patch
# PATCH-FIX-SUSE boo#889319
Patch5: ls-completion-boo889319.patch
# PATCH-FIX-SUSE
Patch4: qdbus-qt5.patch
# PATCH-FIX-SUSE boo#889319
Patch5: ls-completion-boo889319.patch
# PATCH-FIX-SUSE boo#940835
Patch6: backtick-completion-boo940835.patch
# PATCH-FIX-SUSE bsc#946875
@ -53,31 +52,28 @@ Patch9: rm-completion-smart-boo958462.patch
# PATCH-FIX-SUSE boo#963140
Patch10: backticks-bsc963140.patch
# PATCH-FIX-SUSE boo#1090515
Patch12: bash-completion-2.7-unRAR-remove.patch
Patch11: bash-completion-2.7-unRAR-remove.patch
# PATCH-FIX-SUSE boo#1167952
Patch13: bash-completion-fix-missing-directory-completion-with-filename-pattern.patch
%if %build_doc
Patch12: bash-completion-fix-missing-directory-completion-with-filename-pattern.patch
BuildRequires: libtool
BuildRequires: pkgconfig
BuildArch: noarch
%if %{build_doc}
BuildRequires: asciidoc
BuildRequires: libxslt-tools
%endif
BuildRequires: libtool
BuildRequires: pkg-config
%if %build_core
%if %{build_core}
BuildRequires: cmake
BuildRequires: util-linux
Requires: bash
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
%if %build_core
%if %{build_core}
%description
bash-completion is a collection of shell functions that take advantage
of the programmable completion feature of Bash 2.04 and later.
%package devel
Summary: The Configuration of Programmable Completion for Bash
Group: Development/Libraries/C and C++
Provides: bash-completion:%{_datadir}/pkgconfig/bash-completion.pc
%description devel
@ -85,10 +81,10 @@ This package contains the package configuration file of the
package bash-completion.
%endif
%if %build_doc
%if %{build_doc}
%package doc
Summary: The Documentation of Programmable Completion for Bash
Group: Development/Libraries/C and C++
Provides: bash-completion:%{_defaultdocdir}/%{name}/AUTHORS
BuildArch: noarch
@ -97,29 +93,17 @@ This package contains the package documentation file of the
package bash-completion.
%endif
%prep
%setup -q
%patch0 -b .p0
%patch1 -b .p1
%patch2 -b .p2
%patch3 -b .p3
%patch4 -b .p4 -p1
%patch5 -b .p5
%patch6 -b .p6
%patch7 -b .p7 -p1
%patch8 -b .p8
%patch9 -b .p9
%patch10 -b .p10 -p1
%patch12 -b .p12 -p0
%patch13 -b .p13 -p1
%autosetup -p1
%build
autoreconf -fiv
%configure
%if %build_core
make %{?_smp_mflags}
%if %{build_core}
%make_build
%endif
%if %build_doc
%if %{build_doc}
pushd doc
mkdir html
a2x -D html -d book -f xhtml --asciidoc-opts="--unsafe" main.txt
@ -127,7 +111,7 @@ popd
%endif
%install
%if %build_core
%if %{build_core}
%make_install
# shipping in latest systemd now
rm -vf %{buildroot}%{_datadir}/bash-completion/completions/udevadm
@ -158,7 +142,7 @@ rm -vf %{buildroot}%{_datadir}/bash-completion/completions/bts
# Seems to be broken (boo#1161136)
rm -vf %{buildroot}%{_datadir}/bash-completion/completions/_adb
%endif
%if %build_doc
%if %{build_doc}
pushd doc
mkdir -p %{buildroot}%{_defaultdocdir}/%{name}/html
install -m 0644 html/* %{buildroot}%{_defaultdocdir}/%{name}/html/
@ -167,11 +151,10 @@ install -m 0644 AUTHORS %{buildroot}%{_defaultdocdir}/%{name}/
install -m 0644 README.md %{buildroot}%{_defaultdocdir}/%{name}/README
%endif
%if %build_core
%if %{build_core}
%files
%defattr(-,root,root)
%license COPYING
%if %build_doc
%if %{build_doc}
%exclude %{_defaultdocdir}/%{name}/AUTHORS
%exclude %{_defaultdocdir}/%{name}/README
%exclude %{_defaultdocdir}/%{name}/html/
@ -181,7 +164,6 @@ install -m 0644 README.md %{buildroot}%{_defaultdocdir}/%{name}/README
%config %{_sysconfdir}/profile.d/bash_completion.sh
%files devel
%defattr(-,root,root)
%{_datadir}/pkgconfig/bash-completion.pc
# TRICK: bash-completion-devel does not require bash-completion.
# It would cause failure of directory ownership check.
@ -189,9 +171,9 @@ install -m 0644 README.md %{buildroot}%{_defaultdocdir}/%{name}/README
%dir %{_datadir}/bash-completion
%endif
%if %build_doc
%if %{build_doc}
%files doc
%defattr(-,root,root)
%dir %{_defaultdocdir}/%{name}
%{_defaultdocdir}/%{name}/AUTHORS
%{_defaultdocdir}/%{name}/README

View File

@ -2,9 +2,11 @@
bash_completion | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
--- bash_completion
+++ bash_completion 2017-07-04 07:45:25.480233012 +0000
@@ -1940,11 +1940,12 @@ _longopt()
Index: bash-completion-2.11/bash_completion
===================================================================
--- bash-completion-2.11.orig/bash_completion
+++ bash-completion-2.11/bash_completion
@@ -2079,11 +2079,12 @@ _longopt()
# makeinfo and texi2dvi are defined elsewhere.
complete -F _longopt -o filenames a2ps awk base64 bash bc bison cat chroot colordiff cp \
csplit cut date df diff dir du enscript expand fmt fold gperf \
@ -16,5 +18,5 @@
complete -F _longopt -o default env netstat seq uname units
+complete -F _longopt -o bashdefault -o default -o filenames -o nospace ls ll la l ls-l lf
# declare only knows -g in bash >= 4.2.
if [[ ${BASH_VERSINFO[0]} -gt 4 || ${BASH_VERSINFO[1]} -ge 2 ]]; then
declare -Ag _xspecs

View File

@ -3,31 +3,31 @@ Subject: Add completion for qdbus-qt5
qdbus is the Qt 4 variant, also complete for the Qt 5 version.
Index: bash-completion-2.10/completions/qdbus
Index: bash-completion-2.11/completions/qdbus
===================================================================
--- bash-completion-2.10.orig/completions/qdbus
+++ bash-completion-2.10/completions/qdbus
--- bash-completion-2.11.orig/completions/qdbus
+++ bash-completion-2.11/completions/qdbus
@@ -9,6 +9,6 @@ _qdbus()
COMPREPLY=( $(compgen -W '$(command ${words[@]} 2>/dev/null | \
command sed "s/(.*)//")' -- "$cur") )
COMPREPLY=($(compgen -W '$(command ${words[@]} 2>/dev/null | \
command sed "s/(.*)//")' -- "$cur"))
} &&
-complete -F _qdbus qdbus dcop
+complete -F _qdbus qdbus qdbus-qt5 dcop
- complete -F _qdbus qdbus dcop
+ complete -F _qdbus qdbus qdbus-qt5 dcop
# ex: filetype=sh
Index: bash-completion-2.10/completions/Makefile.am
Index: bash-completion-2.11/completions/Makefile.am
===================================================================
--- bash-completion-2.10.orig/completions/Makefile.am
+++ bash-completion-2.10/completions/Makefile.am
@@ -668,6 +668,7 @@ CLEANFILES = \
--- bash-completion-2.11.orig/completions/Makefile.am
+++ bash-completion-2.11/completions/Makefile.am
@@ -680,6 +680,7 @@ CLEANFILES = \
pyvenv-3.6 \
pyvenv-3.7 \
pyvenv-3.8 \
+ qdbus-qt5 \
+ qdbus-qt5 \
qemu-kvm \
qemu-system-i386 \
qemu-system-x86_64 \
@@ -882,7 +883,7 @@ symlinks: $(DATA)
@@ -894,7 +895,7 @@ symlinks: $(DATA)
$(ss) pyvenv \
pyvenv-3.4 pyvenv-3.5 pyvenv-3.6 pyvenv-3.7 pyvenv-3.8
$(ss) qdbus \

View File

@ -8,9 +8,11 @@ commands like `ls' to go further in its completion chain.
bash_completion | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
--- bash_completion
+++ bash_completion 2017-07-04 07:47:32.437889150 +0000
@@ -1886,8 +1886,19 @@ _complete_as_root()
Index: bash-completion-2.11/bash_completion
===================================================================
--- bash-completion-2.11.orig/bash_completion
+++ bash-completion-2.11/bash_completion
@@ -2034,8 +2034,19 @@ _complete_as_root()
_longopt()
{
@ -31,4 +33,4 @@ commands like `ls' to go further in its completion chain.
+ fi
case "${prev,,}" in
--help|--usage|--version)
--help | --usage | --version)

View File

@ -7,9 +7,11 @@ does not return anything.
bash_completion | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
--- bash_completion
+++ bash_completion 2017-07-04 07:48:24.632925756 +0000
@@ -1941,11 +1941,13 @@ _longopt()
Index: bash-completion-2.11/bash_completion
===================================================================
--- bash-completion-2.11.orig/bash_completion
+++ bash-completion-2.11/bash_completion
@@ -2096,11 +2096,13 @@ _longopt()
complete -F _longopt -o filenames a2ps awk base64 bash bc bison cat chroot colordiff cp \
csplit cut date df diff dir du enscript expand fmt fold gperf \
grep grub head irb ld ldd less ln m4 md5sum mkdir mkfifo mknod \
@ -22,5 +24,5 @@ does not return anything.
+complete -F _longopt -o bashdefault -o default -o filenames -o nospace rm rmdir
+
# declare only knows -g in bash >= 4.2.
if [[ ${BASH_VERSINFO[0]} -gt 4 || ${BASH_VERSINFO[1]} -ge 2 ]]; then
declare -Ag _xspecs

View File

@ -4,13 +4,15 @@ boo#1012212 -- bash tab-autocompletion hangs on TAR-archiving with --create key
completions/tar | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- completions/tar
+++ completions/tar 2016-12-14 12:37:15.952363674 +0000
@@ -191,7 +191,7 @@ __tar_preparse_cmdline()
Index: bash-completion-2.11/completions/tar
===================================================================
--- bash-completion-2.11.orig/completions/tar
+++ bash-completion-2.11/completions/tar
@@ -185,7 +185,7 @@ __tar_preparse_cmdline()
first_arg=1
for i in "$@"; do
case "$i" in
- --delete|--test-label)
- --delete | --test-label)
+ --delete|--test-label|--catenate|--concatenate|--extract|--get|--update|--list|--append|--create)
tar_mode=${i:2:100}
tar_mode_arg=$i