Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: reproducing release tarball for 5.0.7

Hash: SHA1

On 2014-10-09 at 21:52 +0100, Peter Stephenson wrote:
> On Thu, 9 Oct 2014 20:16:29 +0000
> Phil Pennock <zsh-workers+phil.pennock@xxxxxxxxxxxx> wrote:
> > Given a clean repository checkout, what is needed to be able to create
> > the release tarballs for verification please?
> To get all the documentation files you'll need to have got as far as
> "make" as well as "make everything" in the Doc directory for the
> targz-doc bundle.

Forgive me my lack of clarity: I only care about `targz-src`.  When I
wrote "release tarballs" I didn't mean all of them, just the source
ones.  Sloppy of me.  The Doc attempt was just to see if this would
create Doc/help/ChangeLog and unwedge the src build.

I think that `Doc/help/ChangeLog` is appearing because the help dir is
empty and this ChangeLog bit is an artifact of mkdisttree.sh; the
directory is empty because of help.txt and zshbuiltins.yo being empty
and it looks like the build process is just not erroring out on a
missing yodl binary.  I missed yodl when installing my new work laptop.

Much head scratching caused by not being able to download tarballs from
sourceforge with a browser signed into my SF account; works fine in a
different profile which isn't.

icmake building requires GNU sed, the character classes aren't supported
by MacOS sed.  Attempts to install to a place other than directly under
/ reveal how buggy this install system is.  yodl also requires GNU sed,
plus hand-holding as it used a bad relative path to find xlatin1.tex and
then removing .dSYM/ dirs from bin because its build system really
doesn't handle MacOS well.

Having gone this far ...  for the documentation, roff2ps is not supplied
by Apple, so installing a full groff package is required; this then
fails on ps generation:
  set mode: no suitable display mode found under ps; at /usr/local/bin/groffer line 1230.
and unfortunately roff2ps swallows the exit status of groffer, so the
exit status of 2 does not make it back and our only indication of
failure is that the .ps files are of length 0.

After installing XQuartz, running it and running `export DISPLAY=:0`
the PS files build.  Using GNU sed is also required for the zsh docs
build; this gets me through to HTML files being missing; the only errors
left are TeX errors around hbox sizing.

- ----------------------------8< cut here >8------------------------------
Output written on zsh.pdf (430 pages, 1698895 bytes).
Transcript written on zsh.log.
roff2ps -ms -P-pa4 < ./intro.ms > intro.a4.ps
ps2pdf intro.a4.ps
roff2ps -ms -P-pletter < ./intro.ms > intro.us.ps
ps2pdf intro.us.ps
mkdir /Users/pdp/src/zsh/code/zsh-5.0.7
chmod 755 /Users/pdp/src/zsh/code/zsh-5.0.7
mkdir /Users/pdp/src/zsh/code/zsh-5.0.7/./Doc
chmod 755 /Users/pdp/src/zsh/code/zsh-5.0.7/./Doc
./Util/mkdisttree.sh: can't find file ./Doc/*.html
make: *** [zsh-5.0.7-doc.tar.gz] Error 1
- ----------------------------8< cut here >8------------------------------

Results of the build of the src tarball?

Yodl is version 3.03.0; autoconf is 2.69 (release used 2.68).

% diff -Bbwur zsh-5.0.7 pdp-zsh-507 |less

My zsh.texi gains a `@noindent` line; a couple of extra `.PP` lines in
man-pages; email addresses are being followed by a dup inside angle
brackets, which sometimes works okay (albeit redundant) and other times
demonstrates a bit of confusion somewhere in the macros around display

- -Submitted-By: coordinator@xxxxxxx (Peter Stephenson)
+Submitted-By: coordinator@xxxxxxx (Peter Stephenson) <coordinator@xxxxxxx (Peter Stephenson)>

Numbering in the FAQ is borked:

- -  1) because of all the options it is not safe to assume a general
+  1. ) because of all the options it is not safe to assume a general

Some changes due to autoconf.  I have not thoroughly audited the shell
differences, but from a skim it looked safe.  Of course, this just means
that autoconf-generated files are ideal places to bury any malicious
changes; however, none of the differences looked like they'd change code
making it into a deployed zsh binary.

So the tarballs I retrieved look like they can be reproducibly tied to
the git tree and have not been tampered with.  Here are the checksums,
I'm PGP-signing this message, my key is in the strong set.

SHA256(zsh-5.0.7.tar.bz2)= 544e27de81740286b916d1d77c9f48ad7c26ad7943ed96d278abee67cf6704b3
SHA1(zsh-5.0.7.tar.bz2)= 1500191d16af8a71aec4f719a92775a074682096

- -Phil


Messages sorted by: Reverse Date, Date, Thread, Author