# dpkg manual page - dpkg-trigger(1)
#
# Copyright © 2008-2015 Guillem Jover <guillem@debian.org>
#
# This is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <https://www.gnu.org/licenses/>.

=encoding utf8

=head1 NAME

dpkg-trigger - a package trigger utility

=head1 SYNOPSIS

B<dpkg-trigger>
[I<option>...] I<trigger-name>

B<dpkg-trigger>
[I<option>...] I<command>

=head1 DESCRIPTION

B<dpkg-trigger> is a tool to explicitly activate triggers and check
for its support on the running B<dpkg>.

This can be used by maintainer scripts in complex and conditional
situations where the file triggers, or the declarative B<activate>
triggers control file directive, are insufficiently rich. It can also
be used for testing and by system administrators (but note that the
triggers won't actually be run by B<dpkg-trigger>).

Unrecognized trigger name syntaxes are an error for B<dpkg-trigger>.

=head1 COMMANDS

=over

=item B<--check-supported>

Check if the running B<dpkg> supports triggers (usually called from a
postinst). Will exit B<0> if a triggers-capable B<dpkg> has run,
or B<1> with an error message to stderr if not. Normally, however,
it is better just to activate the desired trigger with B<dpkg-trigger>.

=item B<-?>, B<--help>

Show the usage message and exit.

=item B<--version>

Show the version and exit.

=back

=head1 OPTIONS

=over

=item B<--admindir=>I<dir>

Change the location of the B<dpkg> database.
Defaults to I<%ADMINDIR%> if B<DPKG_ADMINDIR> has not been set.

=item B<--root=>I<directory>

Set the root directory to I<directory>, which sets the administrative
directory to «I<directory>%ADMINDIR%» (since dpkg 1.21.0).

=item B<--by-package=>I<package>

Override trigger awaiter (normally set by B<dpkg> through the
B<DPKG_MAINTSCRIPT_PACKAGE> environment variable of the maintainer scripts,
naming the package to which the script belongs, and this will be used
by default).

=item B<--no-await>

This option arranges that the calling package I<T> (if any) need not await
the processing of this trigger; the interested package(s) I<I>, will not be
added to I<T>'s trigger processing awaited list and I<T>'s status is unchanged.
I<T> may be considered installed even though I<I> may not yet have
processed the trigger.

=item B<--await>

This option does the inverse of B<--no-await> (since dpkg 1.17.21).
If the interested package has declared a “noawait” directive, then this
option will not be effective.
It is currently the default behavior.

=item B<--no-act>

Just test, do not actually change anything.

=back

=head1 EXIT STATUS

=over

=item B<0>

The requested action was successfully performed.
Or a check or assertion command returned true.

=item B<1>

A check or assertion command returned false.

=item B<2>

Fatal or unrecoverable error due to invalid command-line usage, or
interactions with the system, such as accesses to the database,
memory allocations, etc.

=back

=head1 ENVIRONMENT

=over

=item B<DPKG_ROOT>

If set and the B<--root> option has not been specified, it will be used as
the filesystem root directory (since dpkg 1.21.0).

=item B<DPKG_ADMINDIR>

If set and the B<--admindir> option has not been specified, it will
be used as the B<dpkg> data directory.

=item B<DPKG_COLORS>

Sets the color mode (since dpkg 1.18.5).
The currently accepted values are: B<auto> (default), B<always> and
B<never>.

=back

=head1 SEE ALSO

B<dpkg>(1),
B<deb-triggers>(5),
B<%PKGDOCDIR%/triggers.txt.gz>.
