DH_TESTROOT(1)                    Debhelper                   DH_TESTROOT(1)

NAME         top

       dh_testroot - ensure that a package is built with necessary level of
       root permissions

SYNOPSIS         top

       dh_testroot [debhelper options]

DESCRIPTION         top

       dh_testroot is used to determine if the target is being run with
       sufficient access to (fake)root.

       The definition of sufficient access depends on whether the builder
       (the tool invoking the debian/rules target) supports the Rules-
       Requires-Root (R³) field.  If the builder supports R³, then it will
       set the environment variable DEB_RULES_REQUIRES_ROOT and dh_testroot
       will validate that the builder followed the minimum requirements for
       the given value of DEB_RULES_REQUIRES_ROOT.

       If the builder does not support Rules-Requires-Root, then it will not
       set the DEB_RULES_REQUIRES_ROOT environment variable.  This will in
       turn make dh_testroot (and the rest of debhelper) fall back to
       assuming that (fake)root is implied.

       The following is a summary of how dh_testroot behaves based on the
       DEB_RULES_REQUIRES_ROOT environment variable (leading and trailing
       whitespace in the variable is ignored).

       -   If unset, or set to "binary-targets", then dh_testroot asserts
           that it is run as root or under fakeroot(1).

       -   If set to "no", then dh_testroot returns successfully (without
           performing any additional checks).

       -   If set to any other value than the above, then dh_testroot
           asserts that it is either run as root (or under fakeroot(1)) or
           the builder has provided the DEB_GAIN_ROOT_CMD environment
           variable (e.g. via dpkg-buildpackage -r).

       Please note that dh_testroot does not read the Rules-Requires-Root
       field.  Which implies that dh_testroot may produce incorrect result
       if the builder lies in DEB_RULES_REQUIRES_ROOT.  On the flip side, it
       also enables things like testing for what will happen when
       DEB_RULES_REQUIRES_ROOT is set to a given value.

SEE ALSO         top


       This program is a part of debhelper.

AUTHOR         top

       Joey Hess <>

COLOPHON         top

       This page is part of the debhelper (helper programs for debian/rules)
       project.  Information about the project can be found at [unknown --
       if you know, please contact] If you have a bug
       report for this manual page, send it to  This
       page was obtained from the project's upstream Git repository
       ⟨⟩ on 2018-10-29.  (At
       that time, the date of the most recent commit that was found in the
       repository was 2018-10-28.)  If you discover any rendering problems
       in this HTML version of the page, or you believe there is a better or
       more up-to-date source for the page, or you have corrections or
       improvements to the information in this COLOPHON (which is not part
       of the original manual page), send a mail to

11.5                             2018-10-28                   DH_TESTROOT(1)