Control: clone 855699 -1
Control: reassign -1 libpsl5
Contro: retitle -1 libpsl should prefer the .dafsa file to the .dat file if 
they have the same timestamp

Hi Tim--

On Tue 2017-02-21 06:31:57 -0500, Tim Ruehsen wrote:
> both, /usr/share/publicsuffix/public_suffix_list.dafsa and
> /usr/share/publicsuffix/public_suffix_list.dat have the same file date 
> (mtime).
>
> Together with a small glitch in libpsl/psl_latest() this leads to .dat
> being loaded which causes lot's of parse/conversion/malloc overhead.

whoops, thanks for catching this!

> There are two possible solutions:
> 1. The .dafsa file should be older than the .dat file by at least 1s.
> This makes sense since the .dafsa file is generated from .dat and thus should
> be older. 

as you said in your followup, the .dafsa should be *newer* than the
.dat.  I'm trying to decide how to package this change most cleanly.

The timestamps for the installed files are "clamped" to the timestamp in
the debian/changelog entry.  This is a relatively new change, in debian,
the result of the reproducible-builds policy, which is the right one.

Since the build daemons are all going to do the build *after* the
debian/changelog entry timestamp, just including a "sleep 1" before
invoking psl-make-dafsa won't provide a fix. 

> Also the .dat file should have the original timestamp from upstream.

What timestamp do you mean by this?  I don't think that the upstream
development includes a specific timestamp aside from those found in the
git commit history.  Do you mean that the .dat should have timestamp
based on the git commit timestamp?  if so, which timestamp -- the author
timestamp or the committer timestamp?  Given that i'm naming the
upstream package version number based on the committer timestamp, that
might be a reasonable way to choose the timestamp for the .dat file.

if we do that, then should we let the .dafsa receive the clamped timestamp
of the debian/changelog?  or should we explicitly set the .dafsa to the
.dat + 1 second?

> 2. Apply a 1-line patch to libpsl (already in upstream git repo) which prefers
> the distribution (.dafsa) file.

I think this is worth applying anyway, since it's the right thing to
do.  thanks!  I've cloned this bug report and reassigned the clone to
libpsl to track that.

  --dkg

Attachment: signature.asc
Description: PGP signature

Reply via email to