I had just gotten back into easejs development and must not have had git
configured to automatically sign commits.
More notably, though, is that all of my old commits are signed with a
now-revoked signature. I'll have to come up with a plan for that with
regards to signature verification; not dealing with that right now.
* tools/signchk-ignore: Add hashes of two commits I mistakenly did not sign.
GNU ease.js is a pretty trivial case with respect to reproducibility---not
much goes on during the build aside from concatenation and minification.
Non-determinism is essentially confined to filesystem operations, which can
be rectified by sorting using a static locale's collation sequence (which is
done here).
This does not resolve any concerns with autoconf-installed scripts (those in
tools/), or the distribution tarball file metadata.
This was motivated by Git itself, which uses `git describe` output to
generate the version number relative to the last tag. The format of it fits
fairly cleanly into the existing ease.js versioning scheme, but the m4
macro had to modified slightly to handle additional dashes.
I feel like I originally did this because older versions of node didn't like
relative paths (unless maybe the cwd wasn't in NODE_PATH). Regardless, it works
now, and this is cleaner.
Further, I noticed that __dirname didn't seem to be working properly with
browserify. While GNU ease.js does not make use of it (ease.js uses its own
scripts), other projects may.
This increases file size even further, so eventually we may want to add
ranges. That said, it's not that significant, and helps to make the life of
the project prominant.
As suggested by RMS in The JavaScript Trap:
<https://gnu.org/philosophy/javascript-trap.html>
This does increase the size of the minified file a bit---the header is now
about 1kB of uncompressed text (which will hopefully comprses nicely with
the rest of the minified file). That said, ease.js will be continuing to
grow in size, bandwidth is becoming less and less important, and the license
is very important, especially in our goal to spread the philosophy of
software freedom.
On Sun, Dec 22, 2013 at 03:31:08AM -0500, Richard Stallman wrote:
> I hereby dub ease.js a GNU package, and you its maintainer.
>
> Please don't forget to mention prominently in the README file and
> other suitable documentation places that it is a GNU program.
Thanks again to Brandon Inverson for providing this patch. All changes are his
except for the comment in configure.ac and the version.js.tpl move/changes.
Copyright-paperwork-exempt: Yes
This greatly simplfies rebasing and other operations while working in a branch;
signing each and every commit that is not in master can be overkill (even if it
does give peace of mind).