[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#224509: Don't require a TTY during maintainer script execution



On Thu, 2010-06-03 at 09:34 -0700, Russ Allbery wrote:
> 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>

Seconded.

This is definitely in the right direction and I think the wording has
enough of an escape clause in it, but with just the right amount of
deterrent.

Cheers,
					Andrew.

-- 
------------------------------------------------------------------------
andrew (AT) morphoss (DOT) com                            +64(272)DEBIAN
                Fine day for friends.
So-so day for you.
------------------------------------------------------------------------

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: