GNU bug report logs -
#64471
[PATCH 0/2] File database update services
Previous Next
Reported by: Ludovic Courtès <ludo <at> gnu.org>
Date: Wed, 5 Jul 2023 10:01:02 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Hello,
Bruno Victal <mirai <at> makinata.eu> skribis:
> On 2023-07-05 11:16, Ludovic Courtès wrote:
>> +(define-record-type* <file-database-configuration>
>> + file-database-configuration make-file-database-configuration
>> + file-database-configuration?
>> + (package file-database-configuration-package
>> + (default
>> + (let-system (system target)
>> + ;; Unless we're cross-compiling, avoid pulling a
>> + ;; second copy of findutils.
>> + (if target
>> + findutils
>> + (canonical-package findutils)))))
>> + (schedule file-database-configuration-schedule
>> + (default %default-file-database-update-schedule))
>> + (excluded-directories file-database-configuration-excluded-directories
>> + (default %default-file-database-excluded-directories)))
>
> How about using define-configuration instead to have the documentation neatly
> in sync with the fields?
Hmm, good point, I’ll take a look.
>> +(define (file-database-mcron-jobs configuration)
>> + (match-record configuration <file-database-configuration>
>> + (package schedule excluded-directories)
>> + (let ((updatedb (program-file
>> + "updatedb"
>> + #~(execl #$(file-append package "/bin/updatedb")
>> + "updatedb"
>> + #$(string-append "--prunepaths="
>> + (string-join
>> + excluded-directories))))))
>> + (list #~(job #$schedule #$updatedb)))))
>
> I'm afraid #$schedule might be insufficient if this is a _mcron_ time-spec.
> There's an elaborate dance done by fstrim-service-type to handle the more exotic
> mcron time expressions, perhaps you can reuse it here?
I’m not sure what fstrim-service-type is trying to achieve with this:
#~(job
;; Note: The “if” below is to ensure that
;; lists are ungexp'd correctly since @var{schedule}
;; can be either a procedure, a string or a list.
#$(if (list? schedule)
#~'(#$@schedule)
schedule)
…")
If we simply have:
#~(job #$schedule …)
then ‘schedule’ can be anything you might expect, like:
• "0 * * * *" ;string
• #~(next-hour …) ;gexp
• #~(lambda (x) …) ;another gexp
What’s the problem? :-)
Ludo’.
This bug report was last modified 1 year and 347 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.