[PATCH 0 of 7] Build documentation using distutils - v4
Pascal Quantin
pascal.quantin at gmail.com
Tue Dec 1 15:02:07 CST 2009
Hi,
please find below some comments from a Windows user.
Le 01/12/2009 21:33, Dan Villiom Podlaski Christiansen a écrit :
> Hi,
>
> This is yet another round of my build system hackery series. They've
> been adapted to feedback from Martin Geisler as well as Gilles
> Moris.
>
> Both kinds of build appear to work well now. Please note that I still
> can't test the RPM building process, but I hope it works :)
>
> The first patch renames two directories; this may break individual
> patch queues. If so, a line of sed'ing or two will easily fix it!
>
> 2009-12-01 Dan Villiom Podlaski Christiansen<danchr at gmail.com>
>
> [...]
> Remove the `install_package_data' subclass of `install_data' and use
> the `package_data' functionality provided by distutils instead. As
> package data must be located within the package directory, the data
> files are now generated in the build directory.
>
> To simplify the functionality of this change, the top-level `doc'
> and `templates' directories have been moved into the `mercurial'
> package directory.
> [29d52513a530] [install-package-data.diff]
>
This patch will break the build of win32 installer. You should also
update the contrib/win32/mercurial.iss Inno Setup script file to reflect
the directory name change.
> 2009-12-01 Dan Villiom Podlaski Christiansen<danchr at gmail.com>
>
> * setup.py:
> setup: expand configuration variables in data paths.
>
> Subclass the `install_data' in order to allow paths to installed
> data to refer to configuration variables such as $dist_name or
> $dist_version. This is primarily useful for distributors.
>
> Please note that this changeset doesn't actually *use* the new
> functionality; it merely introduces the infrastructure.
> [3f6ef7734ae6] [install-dirs.diff]
>
> 2009-11-26 Dan Villiom Podlaski Christiansen<danchr at gmail.com>
>
> * setup.py:
> setup: add missing `share' directory to install_data on UNIX
> platforms.
>
> Technically, this is a hack; we modify a "constant" in distutils.
> However, `install_data' incorrectly defaults to e.g. "$base" in the
> `unix_home' and `unix_prefix' schemes, rather than the proper
> "$base/share", so we fix it. The paths will not be modified if they
> contain a `/' as it would indicate that the bug was fixed.
> [adebbf903551] [install-data-dir.diff]
>
> 2009-11-30 Dan Villiom Podlaski Christiansen<danchr at gmail.com>
>
> * contrib/bash/hg, contrib/bash_completion, contrib/zsh/_hg,
> contrib/zsh_completion, setup.py:
> setup: install some useful data files.
>
> The selection is somewhat arbitrary. In the case of the Zsh
> completion file, it will not conflict with the builtin Zsh
> completions: they are in a file named `_mercurial', not `_hg'.
> [4a4fa19cd99d] [install-data.diff]
>
Same thing here, the mercurial.iss script should be updated (and we
could add the bash script also).
> 2009-12-01 Dan Villiom Podlaski Christiansen<danchr at gmail.com>
>
> * Makefile, contrib/mercurial.spec, doc/Makefile, doc/__init__.py,
> doc/manpage.py, doc/rst2man.py, setup.py:
> setup: generate, build& install documentation using distutils&
> docutils.
>
> Add a new dedicated build command for generating& installing the
> documentation. Unfortunately, this stage is somewhat complex. The
> motivation for this change is described in the source docstrings in
> `setup.py'.
>
> Add a `doc-format' option, which selects the documentation formats
> to build. The defaults is to install both formats --- manual pages
> as well as HTML --- on UNIX, and only HTML elsewhere.
>
> Turn the `doc' directory into a package by adding an empty
> __init__.py file. Also, rename `rst2man.py' to `manpage.py',
> reflecting its new role.
>
> Remove the Makefile in `doc', as it is now redundant. Strip out
> references to it from the top-level Makefile.
>
> Remove references the `doc' Makefile from the RPM build
> specification. Instead, pass --install-man and --install-html to the
> distutils build. (The latter differs from the Mercurial default by
> adding the version. Note that the build specification hasn't been
> tested thoroughly.)
> [2b45949ca5a9] [install-documentation.diff]
>
> 2009-12-01 Dan Villiom Podlaski Christiansen<danchr at gmail.com>
>
> * Makefile, setup.py:
> setup: build the documentation in a subdirectory of `build_temp'.
> [ad2cffaeaf92] [install-data-temp.diff]
>
> 2009-11-30 Dan Villiom Podlaski Christiansen<danchr at gmail.com>
>
> * setup.py:
> setup: omit manual category in HTML documentation file names.
>
> The manual category --- e.g. the `5' in hgrc.5 --- is not relevant
> when generating the HTML documentation. This tiny change causes the
> generated& installed files to be named only e.g. `hgrc.html' rather
> than `hgrc.5.html'.
>
> Please note that this may require redirects on servers hosting the
> documentation.
> [fd584f300ac6] [install-no-html-category.diff]
>
Same thing.
Regards,
Pascal.
More information about the Mercurial-devel
mailing list