From 06a036ac91c5a182dcd6460d43ef8da2b5323fee Mon Sep 17 00:00:00 2001 From: Pete Zaitcev Date: Thu, 21 Mar 2013 13:47:55 -0600 Subject: [PATCH] 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 --- setup.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/setup.py b/setup.py index 27765fb..b05a57a 100755 --- a/setup.py +++ b/setup.py @@ -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',