Bug#224509: Don't require a TTY during maintainer script execution
I think at this point, now that debconf is mandatory for all but essential
packages, removing the guarantee of a controlling terminal is
uncontroversial. This bug has been open for a while and I'd like to put
it to bed. Here's proposed wording. I'm looking for feedback or seconds.
diff --git a/policy.sgml b/policy.sgml
index 27deaa7..bf99884 100644
--- a/policy.sgml
+++ b/policy.sgml
@@ -3529,15 +3529,17 @@ Package: libc6
<heading>Controlling terminal for maintainer scripts</heading>
<p>
- The maintainer scripts are guaranteed to run with a
- controlling terminal and can interact with the user.
- Because these scripts may be executed with standard output
- redirected into a pipe for logging purposes, Perl scripts
- should set unbuffered output by setting <tt>$|=1</tt> so
- that the output is printed immediately rather than being
- buffered.
+ Maintainer scripts are not guaranteed to run with a controlling
+ terminal and may not be able to interact with the user. They
+ must be able to fall back to noninteractive behavior if no
+ controlling terminal is available. Maintainer scripts that
+ prompt via a program conforming to the Debian Configuration
+ Management Specification (see <ref id="maintscriptprompt">) may
+ assume that program will handle falling back to noninteractive
+ behavior.
</p>
</sect>
+
<sect id="exitstatus">
<heading>Exit status</heading>
@@ -9397,9 +9399,9 @@ END-INFO-DIR-ENTRY
</p>
<p>
- The maintainer scripts are guaranteed to run with a
- controlling terminal and can interact with the user.
- See <ref id="controllingterminal">.
+ The maintainer scripts are not guaranteed to run with a
+ controlling terminal and may not be able to interact with
+ the user. See <ref id="controllingterminal">.
</p>
</item>
--
Russ Allbery (rra@debian.org) <http://www.eyrie.org/~eagle/>
Reply to: