search: add --fmt-stdin
commit1633366b7d6f6cdf75deec37cec3aacae5e67c8e
authorAlad Wenter <alad@archlinux.org>
Mon, 25 Apr 2022 14:40:02 +0000 (25 16:40 +0200)
committerAlad Wenter <alad@archlinux.org>
Mon, 25 Apr 2022 14:40:02 +0000 (25 16:40 +0200)
treeed03ad59f5175382bcf560224210c0cb7f819589
parent32c61ca7ac55fb3fe6b6103e4cf2d325246f2ed3
search: add --fmt-stdin

When --fmt-stdin is set, JSON is taken directly from standard input,
instead of from aur-query. This allows in particular to pipe aur-pkglist
--info / --search output to aur-search.

For example, the following pipeline returns all orphan packages whose
name starts in 'r-':

 $ aur pkglist --info | jq -r '{
        "results": [.[] |
            select(.Maintainer == null) |
            select(.Name | test("^r-"))
        ], "type": "search", "version": 5
    }' | aur search --fmt-stdin

This example originates from aurweb returning "Too many results" when
querying an empty maintainer (orphan) search. See:

https://gitlab.archlinux.org/archlinux/aurweb/-/issues/357
lib/aur-search
makepkg/aurutils.changelog
man1/aur-search.1