Commits

mastbaum committed fb0f35d

document SHRINKWRAP_NEVER_SKIP and system include paths

  • Participants
  • Parent commits 7597d0e

Comments (0)

Files changed (2)

    fftw
    nose
 
+Disabling system software autodetection
+'''''''''''''''''''''''''''''''''''''''
+
+Some shrinkwrap packages will auto-detect whether the software is already
+installed system-wide. If it is, installation is skipped and the package is
+marked as installed since the dependency is satisfied.
+
+To force installation into the virtual environment, this auto-detection can be
+disabled with an environment variable:
+
+.. envvar:: SHRINKWRAP_NEVER_SKIP
+
+   Set this variable to '1' to forego system package detection and always
+   install the shrinkwrap package. Unset or change to '0' to restore the
+   default behavior.
 
 .. _limitations:
 
 * We do not provide any mechanism to have build options selected at
   installation time (such as 
   `variants in MacPorts <http://guide.macports.org/chunked/reference.variants.html>`_ or 
-  `USE variables in Gentoo emerge <http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2&chap=1#doc_chap2_sect5>`_ ).  Repositories of shrinkwrapped packages are easy to make with the
+  `USE variables in Gentoo emerge <http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2&chap=1#doc_chap2_sect5>`_).
+  Repositories of shrinkwrapped packages are easy to make with the
   ``shrinkwrap`` command line tool, so we encourage you to have different
   repositories for different kinds of deployment environments.  Then you can
   tailor the build options of your source packages for each one.

shrinkwrap/install.py

 import collections
 from distutils.errors import DistutilsSetupError
 
+#: Standard system-wide include paths
 SYSTEM_INCLUDE_PATHS = ['/usr/include', '/usr/local/include', '/opt/local/include', '/sw/include/']
 
 def assert_string(dist, attr, value):
     def check_header(self, filename, extra_paths=[]):
         '''Search for a header by filename.
 
-        Searches in standard locations as well as any paths provided in
+        Searches in standard locations defined in
+        :py:data:`SYSTEM_INCLUDE_PATHS` as well as any paths provided in
         ``extra_paths``, returning True if the file is found and False
         if not.
         '''
         '''setuptools install command that install dependencies in
         before calling the installer function provided in the shrinkwrap_installer
         keyword argument to setup().
+
+        Disable installer ``skip`` functions by setting 
+        :envvar:`SHRINKWRAP_NEVER_SKIP` to 1. 
         '''
         # Install dependencies
         build_deps = getattr(self.distribution, 'shrinkwrap_requires', None)