Overview

Request 1104001 accepted

- Update to version 84.87+git20230815.cab7b44:
* Remove broken autocompletion overrides and restore default bash behavior
* Add foot to DIR_COLORS
* files/u/s/sysconf_addword: avoid bashism, fix shellcheck warnings
* files/u/s/smart_agetty: replace shebang with /bin/sh
* files/u/s/service: avoid bashism, fix shellcheck warnings
* files/u/s/refresh_initrd: make POSIX compliant
* files/u/b/safe-rm: make POSIX compliant
* aaa_base.post: replace shebang with /usr/sh
* files/u/b/old: make POSIX compliant

Loading...

Marcus Rueckert's avatar

mrueckert wrote (1104001) pinged werner about the bash completions change


Dominique Leuenberger's avatar

Werner was part of the PR already on github:

https://github.com/openSUSE/aaa_base/pull/132


Dr. Werner Fink's avatar

Yep and it looks like Mr. Engelhardt does not like minimal bash completion due to a misbehaviour the gdb completion ... but instead of fixing that he simply decides to drop the full stuff regardless if the rest works. This what makes a good community ... es nervt.


Jan Engelhardt's avatar

I very much want minimal bash completion. Obviously I am trying to get a system to work that does not have (the fancier) bash-completion.rpm installed. But I am still getting pestered with completeion, so I went looking.

“Perfection is achieved not when there's nothing to add, but when there's nothing left to take away”. Or succinctly, less is more.

What is the complete.bash file even for? Statistically looking, there is a (measly) 5% source code comment ratio, but even those hold no water. _cdpath_ is documented as # Handle the CDPATH variable. Wow, really? How does it handle CDPATH? It does not say.

Why is function _completion_loader manually defined if absent? It does not say. Had to look at bash source code. That is some bash<4.1 level stuff that is over 10 years old. Coincides nicely with the requires >=4.2 comment at the start of the file. complete.bash with completely useless code, check!

How about function _rootpath_? sbin completion already works with sudo.rpm already. And function _man_? Also already covered by bash-completion.rpm. complete.bash consists of at least 17% completely.useless code, before even getting to bugs.

What is function _ls_ good for? Undocumented too. Does something with dollars. So let's test. mkdir '$asd'; touch '$asf'; ls $as<TAB><TAB>. Result with a unraped bash: $asd/ $asf. Result with complete.bash: \$asd/. Who cares about gdb, you broke an essential command, check!

complete.bash is an alias for complete.mess. If you want to keep this script, move it to a separate package called werners-uncanny-completion so the community can easily sidestep it. There is nothing more annoying than completion which suppresses objects that, in fact, exist.


Dr. Werner Fink's avatar

Ever tried the ls test with standard bash-completion ... same problem:

ls $as<TAB><TAB>
ls ls \$asd/

the _completion_loader is described in the comand

 info bash 'Command Line Editing' 'Programmable Completion'

the CDPATH variable is described in the manual page of bash

       CDPATH The search path for the cd command.
            This is a colon-separated list of directories in
            which the shell looks for destination  directories
            specified  by the cd command.
            A sample value is ".:~:/usr".

Dr. Werner Fink's avatar

Trying to remove it leads to

rm '$asd<TAB><TAB>
rm '$asd'bash: unexpected EOF while looking for matching `''
\$asd/

with standard fancy bash-completion ... in other words you can alwasy construct a trap over which programmable bash completion fails


Jan Engelhardt's avatar

cannot reproduce this single apostrophe-involving issue


Marcus Rueckert's avatar

mrueckert wrote (1104001) unresolved dispute


Jan Engelhardt's avatar

[I don't know what you're doing, but all your comments start with "mrueckert wrote (number)" for some reason.]


Ludwig Nussel's avatar
author source maintainer

Unless there's something wrong with packaging or distro impact I see no reason why opensuse-review-team would interfere here. The completion stuff can be discussed on github and added again if needed.


Marcus Rueckert's avatar

Unless there's something wrong with packaging or distro impact I see no reason why opensuse-review-team would interfere here. The completion stuff can be discussed on github and added again if needed.

well we "break" the established bash completion behavior with this change so sorting that out before accepting it would be useful. But it seems nobody is really working on driving this.

Request History
Ludwig Nussel's avatar

lnussel created request

- Update to version 84.87+git20230815.cab7b44:
* Remove broken autocompletion overrides and restore default bash behavior
* Add foot to DIR_COLORS
* files/u/s/sysconf_addword: avoid bashism, fix shellcheck warnings
* files/u/s/smart_agetty: replace shebang with /bin/sh
* files/u/s/service: avoid bashism, fix shellcheck warnings
* files/u/s/refresh_initrd: make POSIX compliant
* files/u/b/safe-rm: make POSIX compliant
* aaa_base.post: replace shebang with /usr/sh
* files/u/b/old: make POSIX compliant


Factory Auto's avatar

factory-auto added opensuse-review-team as a reviewer

Please review sources


Factory Auto's avatar

factory-auto accepted review

Check script succeeded


Saul Goodman's avatar

licensedigger accepted review

ok


Dominique Leuenberger's avatar

dimstar_suse set openSUSE:Factory:Staging:B as a staging project

Being evaluated by staging project "openSUSE:Factory:Staging:B"


Dominique Leuenberger's avatar

dimstar_suse accepted review

Picked "openSUSE:Factory:Staging:B"


Ana Guerrero's avatar

anag+factory added factory-staging as a reviewer

Being evaluated by group "factory-staging"


Ana Guerrero's avatar

anag+factory accepted review

Unstaged from project "openSUSE:Factory:Staging:B"


Ana Guerrero's avatar

anag+factory set openSUSE:Factory:Staging:C as a staging project

Being evaluated by staging project "openSUSE:Factory:Staging:C"


Ana Guerrero's avatar

anag+factory accepted review

Picked "openSUSE:Factory:Staging:C"


Ana Guerrero's avatar

anag+factory added factory-staging as a reviewer

Being evaluated by group "factory-staging"


Ana Guerrero's avatar

anag+factory accepted review

Unstaged from project "openSUSE:Factory:Staging:C"


Ana Guerrero's avatar

anag+factory set openSUSE:Factory:Staging:O as a staging project

Being evaluated by staging project "openSUSE:Factory:Staging:O"


Ana Guerrero's avatar

anag+factory accepted review

Picked "openSUSE:Factory:Staging:O"


Dominique Leuenberger's avatar

dimstar accepted review

ludwig is maintainer/bugowner of this package and thus ultimate decision carrier for the changes


Ana Guerrero's avatar

anag+factory accepted review

Staging Project openSUSE:Factory:Staging:O got accepted.


Ana Guerrero's avatar

anag+factory approved review

Staging Project openSUSE:Factory:Staging:O got accepted.


Ana Guerrero's avatar

anag+factory accepted request

Staging Project openSUSE:Factory:Staging:O got accepted.

openSUSE Build Service is sponsored by