Here is an updated proposal for wording around BROWSER, the www-browser
and x-www-browser alternatives, and sensible-browser.  Following the
discussion of the previous proposal, this downgrades supporting BROWSER to
a recommendation and downgrades registering the alternatives to should
from must.  It also documents the behavior of sensible-browser with
desktop environments.

Does this answer everyone's objections?  If so, I'm looking for seconds.

diff --git a/policy.sgml b/policy.sgml
index 7c8cfe1..7999182 100644
--- a/policy.sgml
+++ b/policy.sgml
@@ -8675,6 +8675,68 @@ name ["<var>syshostname</var>"]:
          for games (X and non-X games) should be installed in
          <file>/usr/share/man/man6</file>.</p>
       </sect>
+
+      <sect>
+       <heading>Web browsers</heading>
+
+       <p>
+         Some programs have the ability to launch a web browser to
+         display an URL.  Since there are lots of different web browsers
+         available in the Debian distribution, the system administrator
+         and each user should have the possibility to choose a preferred
+         web browser.
+       </p>
+
+       <p>
+         In addition, programs should choose a good default web browser
+         if none is selected by the user or system administrator.
+       </p>
+
+       <p>
+         The recommended way to satisfy these goals is for every program
+         that launches a web browser with a URL to use the BROWSER
+         environment variable to determine what browser the user wishes
+         to use.
+       </p>
+
+       <p>
+         The value of BROWSER may consist of a colon-separated series of
+         browser command parts.  These should be tried in order until one
+         succeeds.  A command part consists of the command to executed
+         followed by 0 or more arguments separated by one or more spaces.
+         The command and arguments should be separated at the spaces, the
+         URL added as a final argument, and the resulting command
+         executed directly (not via the shell).<footnote>
+           This protects against bugs and security problems caused by
+           shell metacharacters in the browser arguments or URL.  This
+           specification is compatible with the
+           <url id="http://www.dwheeler.com/browse/";
+               name="Alternative Secure BROWSER Definition">.
+         </footnote>
+       </p>
+
+       <p>
+         If the BROWSER environment variable is not set, the program can
+         use <file>/usr/bin/x-www-browser</file> if DISPLAY is set, and
+         <file>/usr/bin/www-browser</file> if not.  These two files are
+         managed through the dpkg alternatives mechanism.  Thus every
+         package providing a general-purpose web browser should call the
+         <prgn>update-alternatives</prgn> program to register the
+         appopriate one of these alternatives.
+       </p>
+
+       <p>
+         Instead of implementing the above in every program that runs a
+         web browser, programs in Debian may be configured to use
+         <file>/usr/bin/sensible-browser</file>.  This is a program
+         provided by the Debian base system that checks the BROWSER
+         environment variable, falls back to the configured browser in
+         the user's desktop environment, and then falls back to
+         <file>/usr/bin/x-www-browser</file> or
+         <file>/usr/bin/www-browser</file> if BROWSER is not set and no
+         recognized desktop environment is in use.
+       </p>
+      </sect>
     </chapt>
 
-- 
Russ Allbery ([EMAIL PROTECTED])               <http://www.eyrie.org/~eagle/>



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to