dpkg (1.18.25) stretch; urgency=medium
[dpkg] / man / deb-triggers.man
1 .\" dpkg manual page - deb-triggers(5)
2 .\"
3 .\" Copyright © 2008, 2013-2015 Guillem Jover <guillem@debian.org>
4 .\" Copyright © 2011, 2014 Raphaël Hertzog <hertzog@debian.org>
5 .\"
6 .\" This is free software; you can redistribute it and/or modify
7 .\" it under the terms of the GNU General Public License as published by
8 .\" the Free Software Foundation; either version 2 of the License, or
9 .\" (at your option) any later version.
10 .\"
11 .\" This is distributed in the hope that it will be useful,
12 .\" but WITHOUT ANY WARRANTY; without even the implied warranty of
13 .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 .\" GNU General Public License for more details.
15 .\"
16 .\" You should have received a copy of the GNU General Public License
17 .\" along with this program. If not, see <https://www.gnu.org/licenses/>.
18 .
19 .TH deb\-triggers 5 "%RELEASE_DATE%" "%VERSION%" "dpkg suite"
20 .nh
21 .SH NAME
22 deb\-triggers \- package triggers
23 .
24 .SH SYNOPSIS
25 triggers
26 .
27 .SH DESCRIPTION
28 A package declares its relationship to some trigger(s) by including
29 a \fItriggers\fP file in its control archive (i.e. \fIDEBIAN/triggers\fP
30 during package creation).
31 .PP
32 This file contains directives, one per line. Leading and trailing whitespace
33 and everything after the first \fB#\fP on any line will be trimmed, and
34 empty lines will be ignored.
35 .PP
36 The trigger control directives currently supported are:
37 .TP
38 \fBinterest\fP \fItrigger-name\fP
39 .TQ
40 \fBinterest\-await\fP \fItrigger-name\fP
41 .TQ
42 \fBinterest\-noawait\fP \fItrigger-name\fP
43 .IP
44 Specifies that the package is interested in the named trigger. All
45 triggers in which a package is interested must be listed using this
46 directive in the triggers control file. The “noawait” variant does
47 not put the triggering packages in triggers\-awaited state. This should
48 be used when the functionality provided by the trigger is not crucial.
49 .TP
50 \fBactivate\fP \fItrigger-name\fP
51 .TQ
52 \fBactivate\-await\fP \fItrigger-name\fP
53 .TQ
54 \fBactivate\-noawait\fP \fItrigger-name\fP
55 .IP
56 Arranges that changes to this package's state will activate the
57 specified trigger. The trigger will be activated at the start of
58 the following operations: unpack, configure, remove (including for
59 the benefit of a conflicting package), purge and deconfigure.
60 The “noawait” variant does not put the triggering packages in
61 triggers\-awaited state. This should be used when the functionality
62 provided by the trigger is not crucial.
63 .IP
64 If this package disappears during the unpacking of another package
65 the trigger will be activated when the disappearance is noted
66 towards the end of the unpack. Trigger processing, and transition
67 from triggers\-awaited to installed, does not cause activations.
68 In the case of unpack, triggers mentioned in both the old and new
69 versions of the package will be activated.
70 .PP
71 Unknown directives are an error which will prevent installation of the
72 package.
73 .PP
74 The “\-noawait” variants should always be favored when possible since
75 triggering packages are not put in triggers\-awaited state and can thus
76 be immediately configured without requiring the processing of the trigger.
77 If the triggering packages are dependencies of other upgraded packages,
78 it will avoid an early trigger processing run and make it possible
79 to run the trigger only once as one of the last steps of the upgrade.
80 .PP
81 The “\-noawait” variants are only supported since dpkg 1.16.1, and
82 will lead to errors if used with an older dpkg. It is thus recommended
83 to add a “Pre\-Depends: dpkg (>= 1.16.1)” to any package that wish to use
84 those directives.
85 .PP
86 The “\-await” alias variants are only supported since dpkg 1.17.21, and
87 will lead to errors if used with an older dpkg. It is thus recommended
88 to add a “Pre\-Depends: dpkg (>= 1.17.21)” to any package that wish to use
89 those directives.
90 .
91 .SH SEE ALSO
92 .BR dpkg\-trigger (1),
93 .BR dpkg (1),
94 .\" FIXME: Unhardcode the pathname, and use dpkg instead of dpkg-dev.
95 .BR /usr/share/doc/dpkg\-dev/triggers.txt.gz .