[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