On Tue, 19 May 2015 at 15:44:15 -0400, Joey Hess wrote:
> Daniel Kahn Gillmor wrote:
> > And ikiwiki defaults to sorting the inlined pages by age, if i'm reading
> > IkiWiki/Plugin/inline.pm correctly.  I suppose the source documentation
> > is unpacked from the tarball with non-deterministic timestamps, which
> > makes sorting by age non-deterministic.
> 
> sort=age uses the ctime of the page. Which will vary between unpacks of
> the source I guess. If the source were a git repository, ikiwiki would
> get the actual ctime from git, which would be stable. Pity Debian
> doesn't use git repositories as source..

ikiwiki/3.20150610 uses min(inode change time, mtime) as the creation time,
so a build with mtimes in the tarball should be somewhat more deterministic.

The next ikiwiki release will additionally change the default sort order for
inlines from sort="age" (reverse ctime) to sort="age title", so that
if an inline contains >= 2 pages with the same creation time, they will
be sorted by unescaped filename instead of randomly. This seems like a
reasonable last-resort sort order for websites, not just for reproducible
documentation, and doesn't seem likely to be a performance burden, so I
haven't made it conditional on $config{deterministic}; I'm reserving
that for things that are a functional regression (making haiku and polygen
deterministic) or are really expensive (nothing yet).

Hopefully that will resolve most of the unreproducibility in git-annex,
ikiwiki-hosting and other projects whose documentation uses ikiwiki.

    S


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to