guix/guix
Ludovic Courtès d0fed2f4df
locate: Do not return the system database when it is too old.
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-18 18:21:04 +02:00
..
build build-system/minify: Use esbuild. 2023-10-06 16:37:16 +02:00
build-system build-system/minify: Use esbuild. 2023-10-06 16:37:16 +02:00
import guix: import: opam: Handle list of licenses. 2023-10-17 14:52:06 +02:00
platforms platform: Add powerpc64-linux. 2023-08-12 23:02:31 +02:00
scripts locate: Do not return the system database when it is too old. 2023-10-18 18:21:04 +02:00
store store: Tolerate non-existent GC root directories. 2023-06-18 23:36:25 +02:00
tests tests: http: Allow responses to specify a path. 2023-05-31 23:25:24 +02:00
android-repo-download.scm download: Refer to the 'guile-gnutls' package and not 'gnutls'. 2023-05-11 13:23:08 +02:00
avahi.scm avahi: Fix exception when #:timeout is #f. 2023-07-11 15:47:56 +02:00
base16.scm
base32.scm guix: Strip #:use-module lists. 2023-03-13 15:08:33 +01:00
base64.scm
build-system.scm
bzr-download.scm
cache.scm cache: 'file-expiration-time' uses 'lstat', not 'stat'. 2023-07-11 15:47:56 +02:00
channels.scm channels: Raise an error if dependency's introduction is malformed 2023-06-04 11:30:18 +02:00
ci.scm ci: Reify the timestamps of evaluations. 2023-06-02 15:47:27 +02:00
colors.scm
combinators.scm
config.scm.in build: Add dependency on Git. 2023-09-26 17:36:58 +02:00
cpio.scm cpio: Properly handle Unicode characters in file names. 2023-02-25 14:50:33 -05:00
cpu.scm guix: cpu: Add gcc-architecture->micro-architecture-level mapping. 2023-07-12 16:48:28 +03:00
cve.scm
cvs-download.scm download: Refer to the 'guile-gnutls' package and not 'gnutls'. 2023-05-11 13:23:08 +02:00
d3.v3.js
deprecation.scm
derivations.scm guix: Strip #:use-module lists. 2023-03-13 15:08:33 +01:00
describe.scm
diagnostics.scm diagnostics: Factorize 'absolute-location'. 2023-05-31 23:25:25 +02:00
discovery.scm guix: Strip #:use-module lists. 2023-03-13 15:08:33 +01:00
docker.scm
download.scm gnu-maintenance: Allow mirror URLs to fallback to the generic HTML updater. 2023-08-26 11:38:56 -04:00
elf.scm
ftp-client.scm ftp-client: 'connect*' retries until the timeout has expired. 2023-05-04 13:08:59 +02:00
gexp.scm gexp: computed-file: Do not honor %guile-for-build. 2023-02-27 15:54:09 +01:00
git-authenticate.scm guix: Strip #:use-module lists. 2023-03-13 15:08:33 +01:00
git-download.scm git-download: Use “builtin:git-download” when available. 2023-09-26 17:36:58 +02:00
git.scm git: Restore 'false-if-git-not-found' in 'reference-available?'. 2023-09-25 12:00:18 +02:00
glob.scm
gnu-maintenance.scm gnu-maintenance: Support URI list of mixed mirrors, HTTP URLs. 2023-09-11 23:39:13 -04:00
gnupg.scm
grafts.scm grafts: Run with a UTF-8 locale. 2022-11-11 23:17:42 +01:00
graph.js
graph.scm graph: Add GraphML backend. 2023-08-25 14:24:43 +02:00
hash.scm
hg-download.scm download: Refer to the 'guile-gnutls' package and not 'gnutls'. 2023-05-11 13:23:08 +02:00
http-client.scm
i18n.scm
inferior.scm scripts: time-machine: Error when attempting to visit too old commits. 2023-08-16 21:34:13 -04:00
ipfs.scm guix: Strip #:use-module lists. 2023-03-13 15:08:33 +01:00
least-authority.scm
licenses.scm licenses: Add Arphic-1999 (Aprhic Public License). 2023-08-01 19:40:19 +08:00
lint.scm lint: Check that (cc-for-target) and friends are used. 2023-09-08 19:12:15 +02:00
man-db.scm
memoization.scm
modules.scm modules: Recognize #:declarative?. 2022-12-02 23:20:54 +01:00
monad-repl.scm
monads.scm
nar.scm
narinfo.scm substitute: If a server's nar URL is 404, try the next one(s). 2023-05-30 00:15:29 +02:00
openpgp.scm
packages.scm guix: packages: Support package/inherit by package-field-location. 2023-09-06 16:41:06 -04:00
pki.scm guix: Strip #:use-module lists. 2023-03-13 15:08:33 +01:00
platform.scm guix: platform: Use srfi-34's raise instead of raise-exception. 2023-07-13 19:00:14 +02:00
profiles.scm guix: profiles: Detect TeX Live packages propagated from non-TeX Live inputs. 2023-08-24 16:03:18 +02:00
profiling.scm
progress.scm guix: Show better progress bars. 2023-02-19 10:09:15 +01:00
quirks.scm
read-print.scm read-print: Be more mindful of horizontal space in packages. 2023-09-24 02:00:00 +02:00
records.scm records: Remove "guix" from error message. 2023-06-09 14:19:14 +02:00
remote.scm guix: Strip #:use-module lists. 2023-03-13 15:08:33 +01:00
repl.scm
rpm.scm pack: Register extra /usr/share sub-directories as FHS. 2023-02-22 10:41:35 -05:00
scripts.scm guix: Strip #:use-module lists. 2023-03-13 15:08:33 +01:00
search-paths.scm search-paths: Add GCC search paths. 2023-10-04 23:30:41 -04:00
self.scm build: Add dependency on Git. 2023-09-26 17:36:58 +02:00
serialization.scm guix: Strip #:use-module lists. 2023-03-13 15:08:33 +01:00
sets.scm
ssh.scm ssh: Also print the user when authentication fails. 2023-08-22 11:17:53 +02:00
status.scm status: Guard against a numerical overflow condition. 2023-04-12 08:29:37 -04:00
store.scm guix: Strip #:use-module lists. 2023-03-13 15:08:33 +01:00
substitutes.scm substitute: Gracefully handle TLS termination while fetching narinfos. 2023-03-27 18:48:51 +02:00
svn-download.scm svn-download: Handle the single file case when downloading a nar. 2023-07-18 18:16:55 +02:00
swh.scm
tests.scm
transformations.scm transformations: tuned-package: Use target on cross-compile. 2023-09-17 15:31:03 +02:00
ui.scm ui: Handle EPIPE errors when displaying Guix version. 2023-10-17 14:51:53 +02:00
upstream.scm upstream: Compare symbols to symbols. 2023-09-13 22:17:21 +02:00
utils.scm gnu: Use target-hurd?, system-hurd? instead of hurd-target?, hurd-system?. 2023-06-17 14:38:32 +02:00
workers.scm