-
Notifications
You must be signed in to change notification settings - Fork 280
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Detect SETUPTOOLS_DEB_LAYOUT properly on non-debian systems. #418
Comments
For OS X and Windows the default value is actually OFF. Can you point to references for the above mentioned platforms which install layout they are using? |
The default value should be OFF, and it should be ON only if the system is debian-based. Manually turning off SETUPTOOLS_DEB_LAYOUT is mentioned at various points in the install instructions for all of them: http://www.ros.org/wiki/groovy/Installation/Gentoo |
This commit makes it impossible to override the default (i.e. disable debian-layout on debian platforms) |
Could you describe a use case where that is desired on a Debian platform? |
As long as you install from sources, you do not have to follow debian rules. Since debian is the only system redefining the python default of 'site-packages', it adds superflous complexity to e.g. environment setup scripts that are shared amongst different arch. (e.g. PYTHONPATH=${HOME}/${MACHTYPE}-${OSTYPE}/lib/python2.7/site-packages would break, it would need a special case for debian). That's why I usually ignore debian's 'dist-packages' and configure a consistent setup. Besides that, if you use another package system than dpkg/apt, you may want to stick to your package system strategy and it may not be the same as 'debian'. I often use pkgsrc to install my packages, and pkgsrc just sticks to the python default of installing to "sites-packages". I do have a few packages for ros in robotpkg, and robotpkg also has a "sites-packages" everywhere strategy. Of course I can have local patches in robotpkg for that, but it becomes a problem when mixing a vanilla .deb catkin with other robotpkg ros packages. Autodetecting --install-layout is just fine as it is, but I feel that turing it into an option (as it's always been) adds no overhead and is more user-friendly in the end. Even on debian, distutils, for instance, has a user-tunable option :) |
Currently, SETUPTOOLS_DEB_LAYOUT defaults to ON. This beaks on non-debain-based systems such as OS X, Windows, Gentoo, Arch, Fedora, etc.
Is it possible to make SETUPTOOLS_DEB_LAYOUT default to OFF, and turn it on if a deb-specific file exists; perhaps /etc/debian_version ?
if(EXISTS /etc/debian_version) ...
The text was updated successfully, but these errors were encountered: