1. NAME

dh_python2 - calculates Python dependencies, adds maintainer scripts to byte compile files, etc. .

2. SYNOPSIS



dh_python2 -p PACKAGE [-V [X.Y][-][A.B]] DIR_OR_FILE [-X REGEXPR] .UNINDENT .UNINDENT

3. DESCRIPTION

3.1. QUICK GUIDE FOR MAINTAINERS

2 . if necessary, describe supported Python versions via X-Python-Version field in debian/control,

2 . build-depend on python or python-all or python-all-dev (>= 2.6.6-3~),

2 . build module/application using its standard build system, remember to build extensions for all supported Python versions (loop over pyversions -vr),

2 . install files to the standard locations, add --install-layout=deb to setup.pys install command if your package is using distutils,

2 . add python2 to dhs --with option, or:

2 . include /usr/share/cdbs/1/class/python-distutils.mk in debian/rules and depend on cdbs (>= 0.4.90-1~), or:

2 . call dh_python2 in the binary-* target,

2 . add ${python:Depends} to Depends,

2 . add ${python:Breaks} to Breaks if your package provides public Python module or extension .UNINDENT .UNINDENT .UNINDENT

3.2. NOTES



In order to support more than one Python version in the same binary package, dh_python2 (unlike dh_pycentral and dh_pysupport) creates symlinks to all supported Python versions at build time. It means binNMU (or sourceful upload in case of architecture independent packages) is required once a list of supported Python version is changed. Its faster and more robust than its competitors, though.

dh_python2 tries to translate Python dependencies from requires.txt file to Debian dependencies, use debian/pydist-overrides or --no-guessing-deps option to override it. If you want dh_python2 to generate more strict dependencies (f.e. to avoid ABI problems) create debian/python-foo.pydist file. See /usr/share/doc/python-doc/README.PyDist (provided by python-doc package) for more information.

4. OPTIONS

--version

    . show programs version number and exit

-h, --help

    . show help message and exit

--no-guessing-versions

    . disable guessing other supported Python versions

--no-guessing-deps

    . disable guessing dependencies

--skip-private

    . dont check private directories

-v, --verbose

    . turn verbose mode on

-i, --indep

    . act on architecture independent packages

-a, --arch

    . act on architecture dependent packages

-q, --quiet

    . be quiet

  • -p  PACKAGE,  --package\fB= PACKAGE
        . act on the package named PACKAGE
  • -N  NO_PACKAGE,  --no-package\fB= NO_PACKAGE
        . do not act on the specified package
  • -V  VRANGE
        . specify list of supported Python versions. See pycompile(1) for examples
  • -X  REGEXPR,  --exclude\fB= REGEXPR
        . exclude items that match given REGEXPR. You may use this option multiple times to build up a list of things to exclude.
  • --depends\fB= DEPENDS
        . translate given requirements into Debian dependencies and add them to ${python:Depends}. Use it for missing items in requires.txt
  • --recommends\fB= RECOMMENDS
        . translate given requirements into Debian dependencies and add them to ${python:Recommends}
  • --suggests\fB= SUGGESTS
        . translate given requirements into Debian dependencies and add them to ${python:Suggests} .UNINDENT

5. SEE ALSO

2 . /usr/share/doc/python/python-policy.txt.gz

2 . /usr/share/doc/python-doc/README.PyDist (python-doc package)

2 . pycompile(1), pyclean(1)

2 . dh_python3(1), py3compile(1), py3clean(1)

2 . Wiki page about converting python-support based package to dh_python2: http://wiki.debian.org/Python/support2dhp2 .UNINDENT .