• Bug#903773: closed by Debian FTP Masters

    From Guillem Jover@1:229/2 to Axel Beckert on Mon Oct 21 04:10:01 2024
    XPost: linux.debian.bugs.dist
    From: guillem@debian.org

    Hi!

    On Wed, 2021-12-29 at 22:32:55 +0100, Axel Beckert wrote:
    I still can reproduce this issue — at least on one machine. And I
    can't reproduce it on another (and probably never could there). And I
    now figured out what's the difference between those two machines:

    As you might know, there are two awk implementations in Debian: mawk
    and gawk. By default only mawk is installed (and is always there due
    to "Priority: required") while gawk is optional (but IIRC default if installed).

    On the system where "dlocate -lsbin" works, the symlinks look like this:

    lrwxrwxrwx 1 root root 21 […] /usr/bin/awk -> /etc/alternatives/awk*
    lrwxrwxrwx 1 root root 13 […] /etc/alternatives/awk -> /usr/bin/gawk*

    On the system where "dlocate -lsbin" gives no output, the symlinks
    look like this:

    lrwxrwxrwx 1 root root 21 […] /usr/bin/awk -> /etc/alternatives/awk*
    lrwxrwxrwx 1 root root 13 […] /etc/alternatives/awk -> /usr/bin/mawk*

    Culprit is this call:

    awk '!/^[^-]/ && /^-.{2,8}[xs]/ {print $2}'

    mawk doesn't know about {x,y} quantifiers in regular expressions, and
    since there is never a { at the second column in the output… Proof:

    $ dlocate -L zsh | xargs -d '\n' -r stat -c '%A %n' | gawk '!/^[^-]/ && /^-.{2,8}[xs]/ {print $2}'
    /bin/zsh
    /bin/zsh5
    /usr/share/bug/zsh
    $ dlocate -L zsh | xargs -d '\n' -r stat -c '%A %n' | mawk '!/^[^-]/ && /^-.{2,8}[xs]/ {print $2}'
    $

    So "dlocate -lsbin" doesn't work with Debian's default awk
    installation.

    I think that was a deficiency in mawk regex support. It seems to be
    working fine now. So I think the main part of this report is no longer relevant, but…

    (And btw. the "!/^[^-]/" is redundant as "/^-…/" is
    equivalent.)

    …I've fixed this part though locally, and will be included in the next upload, closing this report.

    Thanks,
    Guillem

    --- SoupGate-Win32 v1.05
    * Origin: you cannot sedate... all the things you hate (1:229/2)