#!/usr/bin/perl

=head1 NAME

dh_testroot - ensure that a package is built as root

=head1 SYNOPSIS

B<dh_testroot> [S<I<debhelper options>>]

=head1 DESCRIPTION

B<dh_testroot> simply checks to see if you are root. If not, it exits with an
error. Debian packages must be built as root, though you can use 
L<fakeroot(1)>

=cut

use strict;
use warnings;
use Debian::Debhelper::Dh_Lib;

our $VERSION = DH_BUILTIN_VERSION;

inhibit_log();

my $requirements = Debian::Debhelper::Dh_Lib::root_requirements();

# By declaration; nothing requires root and this command must be a no-op in that case.
exit 0 if $requirements eq 'none';
# The builder /can/ choose to ignore the requirements and just call us as root.
# If so, we do not bother checking the requirements any further.
exit 0 if $< == 0;
if ($requirements eq 'legacy-root') {
	error("You must run this as root (or use fakeroot).");
} else {
	my $env = $ENV{'DPKG_GAIN_ROOT_CMD'};
	error("Package needs targetted root but builder has not provided a gain-root command via \${DPKG_GAIN_ROOT_CMD}")
		if not $env;
}

=head1 SEE ALSO

L<debhelper(7)>

This program is a part of debhelper.

=head1 AUTHOR

Joey Hess <joeyh@debian.org>

=cut
