]> git.donarmstrong.com Git - debian/debian-policy.git/blobdiff - policy.sgml
Specification of date format -- bug #569174.
[debian/debian-policy.git] / policy.sgml
index f246c135a8ab4febb0a8eb426b7686bf4a6d3e57..f0719b95c8beecb8a965ee6bbf05fd70e7e7f601 100644 (file)
        </p>
 
        <p>
-         The <var>date</var> must be in RFC822 format<footnote>
+         The <var>date</var> has the following format<footnote>
              This is generated by <tt>date -R</tt>.
-         </footnote>; it must include the time zone specified
-         numerically, with the time zone name or abbreviation
-         optionally present as a comment in parentheses.
+         </footnote> (compatible and with the same semantics of
+         RFC 2822 and RFC 5322):
+         <example>day-of-week, dd month yyyy hh:mm:ss +zzzz</example>
+         where: 
+         <list compact="compact">
+           <item>day-of week is one of: Mon, Tue, Wed, Thu, Fri, Sat, Sun</item>
+           <item>dd is a one- or two-digit day of the month (01-31)</item>
+           <item>month is one of: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec</item>
+           <item>yyyy is the four-digit year (e.g. 2010)</item>
+           <item>hh is the two-digit hour (00-23</item>
+           <item>mm is the two-digit minutes (00-59)</item>
+           <item>ss is the two-digit seconds (00-60)</item>
+           <item>
+             +zzzz or -zzzz is the the time zone offset from Coordinated Universal
+             Time (UTC).  "+" indicates that the time is ahead of (i.e., east of) UTC
+             and "-" indicates that the time is behind (i.e., west of) UTC.  The
+             first two digits indicate the hour difference from UTC and the last
+             two digits indicate the number of additional minutes difference from
+             UTC.  The last two digits must be in the range 00-59.
+           </item>
+         </list>
        </p>
 
        <p>
@@ -3063,10 +3081,12 @@ Package: libc6
            <em>not</em> intended to cope with version numbers containing
            strings of letters which the package management system cannot
            interpret (such as <tt>ALPHA</tt> or <tt>pre-</tt>), or with
-           silly orderings (the author of this manual has heard of a
-           package whose versions went <tt>1.1</tt>, <tt>1.2</tt>,
-           <tt>1.3</tt>, <tt>1</tt>, <tt>2.1</tt>, <tt>2.2</tt>,
-           <tt>2</tt> and so forth).
+           silly orderings.<footnote>
+             The author of this manual has heard of a package whose
+             versions went <tt>1.1</tt>, <tt>1.2</tt>, <tt>1.3</tt>,
+             <tt>1</tt>, <tt>2.1</tt>, <tt>2.2</tt>, <tt>2</tt> and so
+             forth.
+           </footnote>
          </p>
        </sect1>
 
@@ -3581,15 +3601,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>
 
@@ -7960,51 +7991,10 @@ done
 
        <p>
          If a program needs to specify an <em>architecture specification
-           string</em> in some place, it should select one of the
-          strings provided by <tt>dpkg-architecture -L</tt>. The
-          strings are in the format
-          <tt><var>os</var>-<var>arch</var></tt>, though the OS part
-          is sometimes elided, as when the OS is Linux.<footnote>
-            <p>Currently, the strings are:
-              i386 ia64 alpha amd64 armeb arm hppa m32r m68k mips
-              mipsel powerpc ppc64 s390 s390x sh3 sh3eb sh4 sh4eb
-              sparc darwin-i386 darwin-ia64 darwin-alpha darwin-amd64
-              darwin-armeb darwin-arm darwin-hppa darwin-m32r
-              darwin-m68k darwin-mips darwin-mipsel darwin-powerpc
-              darwin-ppc64 darwin-s390 darwin-s390x darwin-sh3
-              darwin-sh3eb darwin-sh4 darwin-sh4eb darwin-sparc
-              freebsd-i386 freebsd-ia64 freebsd-alpha freebsd-amd64
-              freebsd-armeb freebsd-arm freebsd-hppa freebsd-m32r
-              freebsd-m68k freebsd-mips freebsd-mipsel freebsd-powerpc
-              freebsd-ppc64 freebsd-s390 freebsd-s390x freebsd-sh3
-              freebsd-sh3eb freebsd-sh4 freebsd-sh4eb freebsd-sparc
-              kfreebsd-i386 kfreebsd-ia64 kfreebsd-alpha
-              kfreebsd-amd64 kfreebsd-armeb kfreebsd-arm kfreebsd-hppa
-              kfreebsd-m32r kfreebsd-m68k kfreebsd-mips
-              kfreebsd-mipsel kfreebsd-powerpc kfreebsd-ppc64
-              kfreebsd-s390 kfreebsd-s390x kfreebsd-sh3 kfreebsd-sh3eb
-              kfreebsd-sh4 kfreebsd-sh4eb kfreebsd-sparc knetbsd-i386
-              knetbsd-ia64 knetbsd-alpha knetbsd-amd64 knetbsd-armeb
-              knetbsd-arm knetbsd-hppa knetbsd-m32r knetbsd-m68k
-              knetbsd-mips knetbsd-mipsel knetbsd-powerpc
-              knetbsd-ppc64 knetbsd-s390 knetbsd-s390x knetbsd-sh3
-              knetbsd-sh3eb knetbsd-sh4 knetbsd-sh4eb knetbsd-sparc
-              netbsd-i386 netbsd-ia64 netbsd-alpha netbsd-amd64
-              netbsd-armeb netbsd-arm netbsd-hppa netbsd-m32r
-              netbsd-m68k netbsd-mips netbsd-mipsel netbsd-powerpc
-              netbsd-ppc64 netbsd-s390 netbsd-s390x netbsd-sh3
-              netbsd-sh3eb netbsd-sh4 netbsd-sh4eb netbsd-sparc
-              openbsd-i386 openbsd-ia64 openbsd-alpha openbsd-amd64
-              openbsd-armeb openbsd-arm openbsd-hppa openbsd-m32r
-              openbsd-m68k openbsd-mips openbsd-mipsel openbsd-powerpc
-              openbsd-ppc64 openbsd-s390 openbsd-s390x openbsd-sh3
-              openbsd-sh3eb openbsd-sh4 openbsd-sh4eb openbsd-sparc
-              hurd-i386 hurd-ia64 hurd-alpha hurd-amd64 hurd-armeb
-              hurd-arm hurd-hppa hurd-m32r hurd-m68k hurd-mips
-              hurd-mipsel hurd-powerpc hurd-ppc64 hurd-s390 hurd-s390x
-              hurd-sh3 hurd-sh3eb hurd-sh4 hurd-sh4eb hurd-sparc
-            </p>
-          </footnote>
+         string</em> in some place, it should select one of the strings
+         provided by <tt>dpkg-architecture -L</tt>. The strings are in
+         the format <tt><var>os</var>-<var>arch</var></tt>, though the OS
+         part is sometimes elided, as when the OS is Linux.
        </p>
 
        <p>
@@ -8016,27 +8006,27 @@ done
          <tt><var>arch</var>-unknown-linux</tt>, since the
          <tt>unknown</tt> does not look very good.
        </p>
-      </sect>
 
-      <sect id="arch-wildcard-spec">
-        <heading>Architecture Wildcards</heading>
+       <sect1 id="arch-wildcard-spec">
+          <heading>Architecture wildcards</heading>
 
-        <p>
-         A package may specify an architecture wildcard. Architecture
-         wildcards are in the format <tt>any</tt> (which matches every
-         architecture), <tt><var>os</var></tt>-any, or
-         any-<tt><var>cpu</var></tt>. <footnote>
-           Internally, the package system normalizes the GNU triplets and
-           the Debian arches into Debian arch triplets (which are kind of
-           inverted GNU triplets), with the first component of the
-           triplet representing the libc and ABI in use, and then does
-           matching against those triplets.  However, such triplets are
-           an internal implementation detail that should not be used by
-           packages directly.  The libc and ABI portion is handled
-           internally by the package system based on the <var>os</var>
-           and <var>cpu</var>.
-          </footnote>
-        </p>
+          <p>
+           A package may specify an architecture wildcard. Architecture
+           wildcards are in the format <tt>any</tt> (which matches every
+           architecture), <tt><var>os</var></tt>-any, or
+           any-<tt><var>cpu</var></tt>. <footnote>
+             Internally, the package system normalizes the GNU triplets
+             and the Debian arches into Debian arch triplets (which are
+             kind of inverted GNU triplets), with the first component of
+             the triplet representing the libc and ABI in use, and then
+             does matching against those triplets.  However, such
+             triplets are an internal implementation detail that should
+             not be used by packages directly.  The libc and ABI portion
+             is handled internally by the package system based on
+             the <var>os</var> and <var>cpu</var>.
+            </footnote>
+          </p>
+       </sect1>
       </sect>
 
       <sect>
@@ -9597,9 +9587,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>