When a system wide database exists (at /var/cache/guix/locate/db.sqlite) 'guix locate --clear' invoked as an unprivileged user tries to write to it and fail. Steps to reproduce: - sudo mkdir -p /var/cache/guix/locate - sudo touch /var/cache/guix/locate/db.sqlite - guix locate --clear Observe the exception: ice-9/boot-9.scm:1685:16: In procedure raise-exception: Throw to key `sqlite-error' with args `(sqlite-exec 8 "attempt to write a readonly database")'.
I think the issue is that the 'suitable-database' procedure does not get passed the CREATE? parameter (indicating that we want a writable db) when '--clear' is given. I discovered this because this caused the guix-locate.sh test to fail in an normal checkout. The db in /var/cache/guix/locate/db.sqlite is created and updated via the package-database-service-type. Thanks.
