guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] profiles: Generate database file for manpages


From: Ludovic Courtès
Subject: Re: [PATCH] profiles: Generate database file for manpages
Date: Tue, 04 Apr 2017 14:29:37 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux)

Hi Maxim,

Maxim Cournoyer <address@hidden> skribis:

> Unfortunately I cannot reproduce the problem on my side, although you seem to 
> be
> right that this is caused by the `string-contains` not matching
> "/share/man/" in the manpage-path and returning #f...
>
> The only reason I'd suspect this could happen was if the `find-files`
> method (used io list all the files contained under
> "$manifest-inputs/share/man/") somehow returned bogus paths (I saw that
> this function has a "fail-on-error?" argument which is disabled by default).
>
> To help further troubleshoot this, could you please use the provided
> patch instead, where I inserted:
>
>  
>          (define (get-manpage-tail-path manpage-path)
>            (let ((index (string-contains manpage-path "/share/man/")))
> +            (unless index
> +              (error "Manual path doesn't contain \"/share/man/\":"
> +                     manpage-path))
>              (substring manpage-path (+ index (string-length 
> "/share/man/")))))
>  
>          (define (populate-manpages-collection-dir entries)
>
> to print the unexpectedly formed manpage-path.

The problem happens with 
"/gnu/store/rn3vri602z3jpwqnha0r5nwxi6v0qpnx-texlive-2016/share/man" (no
trailing slash):

--8<---------------cut here---------------start------------->8---
$ ls -l "/gnu/store/rn3vri602z3jpwqnha0r5nwxi6v0qpnx-texlive-2016/share/man"
lrwxrwxrwx 2 root root 70 Jan  1  1970 
/gnu/store/rn3vri602z3jpwqnha0r5nwxi6v0qpnx-texlive-2016/share/man -> 
/gnu/store/8mhqravbd3pv7x1y2qfjlv0bdjchszn0-texlive-bin-2016/share/man
--8<---------------cut here---------------end--------------->8---

‘find-files’ uses ‘lstat’ by default, which means it does not follow
symlinks, and I guess that’s what’s happening here.  Perhaps
‘find-files’ needs to be called with #:stat stat to use ‘stat’ instead
of ‘lstat’?

Thanks,
Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]