summaryrefslogtreecommitdiff
path: root/guix/scripts/locate.scm
AgeCommit message (Collapse)Author
2023-11-26locate: Gracefully handle busy-database error conditions.Maciej Kalandyk
* guix/scripts/locate.scm (SQLITE_BUSY): New variable. (call-with-database): Catch 'sqlite-error and call ‘leave’ upon SQLITE_BUSY. Change-Id: Iebe76c75d45e70317bd18d2c176dcdeaf9d6964c Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-11-15locate: Accept ‘--clear’ without additional arguments.Ludovic Courtès
Fixes a bug whereby ‘guix locate --clear’ would end with the “no files to search for” error. Fixes <https://issues.guix.gnu.org/66799>. * guix/scripts/locate.scm (guix-locate): Do not emit “no files to search for” error when 'clear? is set in OPTS. * tests/guix-locate.sh: Test it. Reported-by: Maciej Kalandyk <m.kalandyk@outlook.com> Change-Id: Ib8fa125c18481d7f5408bd89df9503713527641d
2023-10-18locate: Do not return the system database when it is too old.Ludovic Courtès
Fixes a bug whereby ‘guix locate’ would pick the system database, then decide it’s too old, try to update it, and fail because it’s not writable by unprivileged users. Fixes <https://issues.guix.gnu.org/66612>. * guix/scripts/locate.scm (file-age): New procedure. (suitable-database): Add ‘age-update-threshold’ parameter and honor it. (guix-locate): Remove ‘file-age’. Pass ‘age-update-threshold’ to the ‘database’ option. Reported-by: Matt Wette <matt.wette@gmail.com>
2023-10-17scripts: locate: Handle EPIPE errors when displaying help.Simon Tournier
* guix/scripts/locate.scm (%options): Handle EPIPE errors when displaying help.
2023-07-11locate: Ignore unreadable manifests.Ludovic Courtès
Fixes <https://issues.guix.gnu.org/64187>. * guix/scripts/locate.scm (profiles->manifest-entries): Wrap 'profile-manifest' in 'false-if-exception'. Reported-by: Ricardo Wurmus <rekado@elephly.net>
2023-06-18Add 'guix locate'.Ludovic Courtès
* guix/scripts/locate.scm, tests/guix-locate.sh: New files. * Makefile.am (MODULES): Add 'guix/scripts/locate.scm'. (SH_TESTS): Add 'tests/guix-locate.sh'. * po/guix/POTFILES.in: Add it. * doc/guix.texi (Invoking guix locate): New node. Co-authored-by: Antoine R. Dumont <antoine.romain.dumont@gmail.com>