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.



  • bug#76141: guix locate --clear tr... yelninei--- via Bug reports for GNU Guix

Reply via email to