From: ludo@gnu.org (Ludovic Courtès)
To: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Cc: guix-devel <guix-devel@gnu.org>
Subject: Re: [PATCH] profiles: Generate database file for manpages
Date: Tue, 04 Apr 2017 14:29:37 +0200 [thread overview]
Message-ID: <87efx8s6dq.fsf@gnu.org> (raw)
In-Reply-To: <8760il4iie.fsf@gmail.com> (Maxim Cournoyer's message of "Mon, 03 Apr 2017 08:29:13 -0700")
Hi Maxim,
Maxim Cournoyer <maxim.cournoyer@gmail.com> 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’.
next prev parent reply other threads:[~2017-04-04 12:29 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-30 8:35 [PATCH] profiles: Generate database file for manpages Maxim Cournoyer
2017-03-30 15:53 ` Ludovic Courtès
2017-03-31 7:12 ` Maxim Cournoyer
2017-03-31 22:44 ` Ludovic Courtès
2017-04-03 15:29 ` Maxim Cournoyer
2017-04-04 12:29 ` Ludovic Courtès [this message]
2017-04-04 14:20 ` Maxim Cournoyer
2017-04-05 0:59 ` Maxim Cournoyer
2017-04-05 7:45 ` Ludovic Courtès
2017-04-05 7:47 ` Ludovic Courtès
2017-04-05 8:09 ` Maxim Cournoyer
2017-04-05 21:00 ` Ludovic Courtès
2017-04-06 6:32 ` Maxim Cournoyer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87efx8s6dq.fsf@gnu.org \
--to=ludo@gnu.org \
--cc=guix-devel@gnu.org \
--cc=maxim.cournoyer@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.