[PATCH 0 of 6] Build documentation using distutils - v3

Dan Villiom Podlaski Christiansen danchr at gmail.com
Sun Nov 29 16:37:39 CST 2009


On 29 Nov 2009, at 22:21, Gilles Moris wrote:

> On Sunday 29 November 2009 08:11:53 pm Martin Geisler wrote:
>>> * The RPM build specification has been updated to use distutils
>>>   exclusively. In theory, it works; I haven't been able to test it.
>> 
>> Okay, I have also no clue about RPM packages... What does our RPM guys
>> say to this?
> 
> Without being a RPM guy, the change in mercurial.spec seems OK, but I am 
> having problems with 'setup.py install --install-doc' on my Fedora 8.
> 
> It runs Python 2.5.1 but does not seem to recognize the --install-man option:
> 
> + python setup.py 
> install --root /var/tmp/mercurial-1.4+55-093befa89ec7-root --prefix /usr --install-doc /doc/- --install-man /usr/share/man
> running install
> error: error in command line: command 'install' has no such 
> option 'install_man'
> error: Bad exit status from /var/tmp/rpm-tmp.39462 (%install)
> 
> Curiously, the help for install reference --install-doc as a valid option.
> Looking at the sources of distutils, it seems that the option is commented. At 
> first, I thought it could be Fedora specific, but it seems it's already 
> commented in the pristine Python 2.5.1 sources.
> 
> So I think I will rely on the distutils guys to understand what could be the 
> problem, but it seems that the '--install-doc' suffers some compatibility 
> issue. What version of Python are you running ? Could be worth trying on 
> Python 2.4.

I did try the patches on Python 2.4, but not the actual arguments :) I can reproduce this on my machine, so I'll look into it!

Thanks for pointing out the commented mentions of install_man in the Python sources; I wasn't aware of them. Both flags are home-grown, but I'll change the definitions to match those in the comments.

For what it's worth, I've included the actual occurrences of install_man from all four (!) Python versions I have on my system.

--

Dan Villiom Podlaski Christiansen
danchr at gmail.com


--
/opt/local/lib/python2.4/distutils/command/install.py
Python 2.4 (MacPorts)
--
        ('force', 'f',
         "force installation (overwrite any existing files)"),
        ('skip-build', None,
         "skip rebuilding everything (for testing/debugging)"),

        # Where to install documentation (eventually!)
        #('doc-format=', None, "format of documentation to generate"),
        #('install-man=', None, "directory for Unix man pages"),
        #('install-html=', None, "directory for HTML documentation"),
        #('install-info=', None, "directory for GNU info files"),

        ('record=', None,
         "filename in which to record list of installed files"),
--
        self.build_base = None
        self.build_lib = None

        # Not defined yet because we don't know anything about
        # documentation yet.
        #self.install_man = None
        #self.install_html = None
        #self.install_info = None

        self.record = None

--
/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/distutils/command/install.py
Python 2.3 (Apple)
--
        ('force', 'f',
         "force installation (overwrite any existing files)"),
        ('skip-build', None,
         "skip rebuilding everything (for testing/debugging)"),

        # Where to install documentation (eventually!)
        #('doc-format=', None, "format of documentation to generate"),
        #('install-man=', None, "directory for Unix man pages"),
        #('install-html=', None, "directory for HTML documentation"),
        #('install-info=', None, "directory for GNU info files"),

        ('record=', None,
         "filename in which to record list of installed files"),
--
        self.build_base = None
        self.build_lib = None

        # Not defined yet because we don't know anything about
        # documentation yet.
        #self.install_man = None
        #self.install_html = None
        #self.install_info = None

        self.record = None

--
/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/distutils/command/install.py
Python 2.5 (Apple)
--
        ('force', 'f',
         "force installation (overwrite any existing files)"),
        ('skip-build', None,
         "skip rebuilding everything (for testing/debugging)"),

        # Where to install documentation (eventually!)
        #('doc-format=', None, "format of documentation to generate"),
        #('install-man=', None, "directory for Unix man pages"),
        #('install-html=', None, "directory for HTML documentation"),
        #('install-info=', None, "directory for GNU info files"),

        ('record=', None,
         "filename in which to record list of installed files"),
--
        self.build_base = None
        self.build_lib = None

        # Not defined yet because we don't know anything about
        # documentation yet.
        #self.install_man = None
        #self.install_html = None
        #self.install_info = None

        self.record = None

--
/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/command/install.py
Python 2.6 (Apple)
--
        ('force', 'f',
         "force installation (overwrite any existing files)"),
        ('skip-build', None,
         "skip rebuilding everything (for testing/debugging)"),

        # Where to install documentation (eventually!)
        #('doc-format=', None, "format of documentation to generate"),
        #('install-man=', None, "directory for Unix man pages"),
        #('install-html=', None, "directory for HTML documentation"),
        #('install-info=', None, "directory for GNU info files"),

        ('record=', None,
         "filename in which to record list of installed files"),
--
        self.build_base = None
        self.build_lib = None

        # Not defined yet because we don't know anything about
        # documentation yet.
        #self.install_man = None
        #self.install_html = None
        #self.install_info = None

        self.record = None
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 1943 bytes
Desc: not available
URL: <http://selenic.com/pipermail/mercurial-devel/attachments/20091129/630046f9/attachment.bin>


More information about the Mercurial-devel mailing list