On 2024-05-21 17:33:24 +0200, Tristan Kohl via wrote: > Hello Felix, > > my last message was not to critizise your help but rather my frustration with > my own limited progress. I really appreciate the help! > > program-file at least results in a usable thing however since the script gets > executed by smard I get the "command not found" in my logs. It seems like > curl is not in PATH for smartd. Do I need to import something into the gexp? > > Also those env variables are defined by smartd during runtime depending on > which drive produced the error. Therefore I need shell expansion/env > variables and have to use system (without *) imho. > > This is the current state: > > (define-smartd-send-ntfy > (program-file "send-ntfy" > #~(system > (string-append "curl " "-H \"Title: $SMARTD_SUBJECT\" " ...))))
Ignoring the obvious quoting issues here (what Felix does with `getenv' seems
much safer, and should produce the same result?),
>
> Note: when using system* the error is:
> In execvp of curl: No such file or directory
This should be solvable by using `file-append', so, basing on the system*
variant, something like:
#~(system* #$(file-append curl "/bin/curl") <other-arguments-here>)
Should invoke curl by absolute path. (You need import (gnu packages curl) of
course.)
Hope this helps,
Tomas
--
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.
signature.asc
Description: PGP signature
