Commit 20fa40dd authored by Paul Eggert's avatar Paul Eggert

Improve doc for web pages; reproducible tarballs

* admin/make-tarball.txt: Make the tarballs more reproducible.
Fix instructions for web pages as best I can (they are still
incomplete).
* make-dist (default_gzip): Add --no-name for gzip.
(taropt): Add options to make the build more reproducible.
parent 6c48146f
......@@ -123,7 +123,7 @@ General steps (for each step, check for possible errors):
9. Decide what compression schemes to offer.
For a release, at least gz and xz:
gzip --best -c emacs-NEW.tar > emacs-NEW.tar.gz
gzip --best --no-name -c emacs-NEW.tar > emacs-NEW.tar.gz
xz -c emacs-NEW.tar > emacs-NEW.tar.xz
For pretests, just xz is probably fine (saves bandwidth).
......@@ -197,7 +197,6 @@ The pages to update are:
emacs.html (for a new major release, a more thorough update is needed)
history.html
add the new NEWS file as news/NEWS.xx.y
For every new release, a banner is displayed on top of the emacs.html
page. Uncomment and the release banner in emacs.html. Keep it on the
......@@ -210,15 +209,32 @@ manual/html_node directory, delete any old manual pages that are no
longer present.
Tar up the generated html_node/emacs/ and elisp/ directories and update
the files manual/elisp.html_node.tar.gz and emacs.html_node.tar.gz.
the files manual/elisp.html_node.tar.gz and emacs.html_node.tar.gz.
Use GNU Tar as follows so that the tarballs are reproducible:
Use M-x make-manuals-dist from admin/admin.el to update the
manual/texi/ tarfiles.
Add compressed copies of the main info pages from the tarfile to manual/info/.
cd manual
tar='tar --numeric-owner --owner=0 --group=0 --mode=go+u,go-w --sort=name'
gzip='gzip --best --no-name'
$tar -cf - html_node/emacs | $gzip >emacs.html_node.tar.gz
$tar -cf - html_node/elisp | $gzip >elisp.html_node.tar.gz
Update the refcards/pdf/ and ps/ directories, and also
refcards/emacs-refcards.tar.gz (use make -C etc/refcards pdf ps dist).
Use M-x make-manuals-dist from admin/admin.el to update the
manual/*.tar files.
Add compressed copies of the main info pages from the tarfile to manual/info/
as follows:
cd manual
mkdir info
gzip --best --no-name <../info/eintr.info >info/eintr.info.gz
gzip --best --no-name <../info/elisp.info >info/elisp.info.gz
gzip --best --no-name <../info/emacs.info >info/emacs.info.gz
FIXME: The above instructions are not quite complete, as they do not
specify how to copy the generated files in the 'manual' directory to
the corresponding web files. Also, they are missing some files, e.g.,
they generate manual/html_mono/ada-mode.html but do not generate the
top-level ada-mode.html file for the one-node-per-page version.
Browsing <https://web.cvs.savannah.gnu.org/viewvc/?root=emacs> is one
way to check for any files that still need updating.
......@@ -639,14 +639,14 @@ if [ "${make_tar}" = yes ]; then
case "${default_gzip}" in
bzip2) gzip_extension=.bz2 ;;
xz) gzip_extension=.xz ;;
gzip) gzip_extension=.gz ; default_gzip="gzip --best";;
gzip) gzip_extension=.gz ; default_gzip="gzip --best --no-name";;
*) gzip_extension= ;;
esac
echo "Creating tar file"
taropt=
[ "$verbose" = "yes" ] && taropt=v
taropt='--numeric-owner --owner=0 --group=0 --mode=go+u,go-w --sort=name'
[ "$verbose" = "yes" ] && taropt="$taropt --verbose"
(cd ${tempparent} ; tar c${taropt}f - ${emacsname} ) \
(cd ${tempparent} ; tar $taropt -cf - ${emacsname} ) \
| ${default_gzip} \
> ${emacsname}.tar${gzip_extension}
fi
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment