Jeremy's manpath workaround breaks on Fedora

In Fedora, /usr/man and /usr/local/man do not exist. So far, so good,
100% LSB compliant, etc. But in such case Jeremy's workaround tries
to install into /usr/man, so builds fail.

Suggestion: keep 'share/man' as the normal path and only invoke the
workaround when it's needed.

Ironically, if you look at Jeremy's original review patch 1, it worked
properly: it detected if something was symlinked and expanded those.
But then some kind of ridiculously involved problem with package
upgrades in Debian popped up and the condition was quietly inverted.
 See https://review.openstack.org/15146

Bug: 1073766
Change-Id: I78c2d2a0456ac2aa921b4d0720634622569d145d
This commit is contained in:
Pete Zaitcev 2013-03-21 13:47:55 -06:00
parent 88e19bb732
commit 06a036ac91
1 changed files with 4 additions and 3 deletions

View File

@ -18,6 +18,7 @@ from setuptools import setup
from distutils.command.install import install as du_install
from setuptools.command.install import install
import os.path
import sys
# version comes from git-review.
savename = __name__
@ -35,13 +36,13 @@ class git_review_install(install):
git_review_cmdclass = {'install': git_review_install}
manpath = 'man'
if os.path.realpath('/usr/local/man') == '/usr/local/share/man':
manpath = 'share/man'
if os.path.exists(os.path.join(sys.prefix, 'man')):
# This works around a bug with install where it expects every node
# in the relative data directory to be an actual directory, since at
# least Debian derivatives (and probably other platforms as well)
# like to symlink Unixish /usr/local/man to /usr/local/share/man.
manpath = os.path.join('share', manpath)
manpath = 'man'
setup(
name='git-review',