The previous discussion on this bug didn't reach a final consensus on wording, but I still believe we have a consensus that this is the right general direction. Here's an updated patch that includes the permission suggested by Steve Langasek for maintainer scripts to abort for high-priority questions without a reasonable default, but with a caution against setting up that situation.
I'm looking for seconds or further discussion if people don't believe that this is the right direction to go. diff --git a/policy.sgml b/policy.sgml index af00c0e..3f6b82d 100644 --- a/policy.sgml +++ b/policy.sgml @@ -3557,15 +3557,26 @@ Files: <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> + + <p> + For high-priority prompts without a reasonable default answer, + maintainer scripts may abort if there is no controlling + terminal. However, this situation should be avoided if at all + possible, since it prevents automated or unattended installs. + In most cases, users will consider this to be a bug in the + package. </p> </sect> + <sect id="exitstatus"> <heading>Exit status</heading> @@ -9537,9 +9548,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 (r...@debian.org) <http://www.eyrie.org/~eagle/> -- To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87y6ewt6qv....@windlord.stanford.edu