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

Bug#91257: [PROPOSED] changes to X font policy



Package: debian-policy
Version: 3.5.2.0
Severity: wishlist

* Reflects changes in policy due to issues Anton Zinoviev pointed out with
  mkfontdir; we now require packages to invoke "update-fonts-dir" instead
  of calling mkfontdir directly.  This means that all commands that
  maintainer scripts in X fonts packages need to run are provided by Debian
  (in the xutils package) and thus future changes in font policy can be
  directly administrated via these scripts.  This should make life easier
  for people packaging X fonts; the X package maintainer can insulate them
  from changes in the behavior of the tools provided with X itself.
* Some rewording to reflect the new must/should/may policy.
* Removed an ill-considered escape clause for depending on a font package;
  replaced it with a footnote instead.
* xutils (>> 4.0.3) doesn't exist yet, but it soon will, probably long
  before this proposal actually makes it into a policy document.  The new
  update-fonts-dir script does exist in xutils 4.0.2-11.  It has also been
  tested by everyone who upgraded to xfonts-* 4.0.2-11.

--- policy.sgml	Sun Mar 25 01:34:33 2001
+++ policy.sgml.fonts	Sun Mar 25 02:58:30 2001
@@ -6010,66 +6010,75 @@
 
 	<p>
 	  <em>Packages that provide fonts for the X Window System</em>
-	  must do a number of things to ensure that they are both
-	  available without modification of the X or font server
-	  configuration, and that they do not corrupt files used by
-	  other font packages to register information about themselves.
+	  <footnote>
+		For the purposes of Debian Policy, a "font for the X Window
+		System" is one which is accessed via X protocol requests.
+		Fonts for the Linux console, for PostScript renderers, or
+		any other purpose, do not fit this definition.  Any tool
+		which makes such fonts available to the X Window System,
+		however, must abide by this font policy.
+	  </footnote>
+	  must do a number of things to ensure that they are both available
+	  without modification of the X or font server configuration, and
+	  that they do not corrupt files used by other font packages to
+	  register information about themselves.
 	  <enumlist>
 	    <item>
-		Fonts of any type supported by the X Window System
-		should be be in a separate binary package from any
-		executables, libraries, or documentation (except that
-		specific to the fonts shipped); if a program or
-		library is <em>unusable</em> without one or more
-		specific fonts, the package containing the program or
-		library should declare a dependency on the package(s)
-		containing the font(s) it requires.
-	    </item>
-	    <item>
-		BDF fonts should be converted to PCF fonts with the
-		<tt>bdftopcf</tt> utility (available in the
-		<tt>xutils</tt> package, <tt>gzip</tt>ped, and
-		placed in a directory that corresponds to their
-		resolution:
+		Fonts of any type supported by the X Window System must be
+		be in a separate binary package from any executables,
+		libraries, or documentation (except that specific to the
+		fonts shipped).
+		<footnote>
+			This is because the X server may retrieve fonts
+			from the local filesystem or over the network from
+			an X font server; the Debian package system is
+			empowered to deal only with the local filesystem.
+		</footnote>
+	    </item>
+	    <item>
+		BDF fonts must be converted to PCF fonts with the
+		<tt>bdftopcf</tt> utility (available in the <tt>xutils</tt>
+		package, <tt>gzip</tt>ped, and placed in a directory that
+		corresponds to their resolution:
 		<list>
 		  <item>
-		      100 dpi fonts should be placed in
+		      100 dpi fonts must be placed in
 		      <tt>/usr/X11R6/lib/X11/fonts/100dpi/</tt>.
 		  </item>
 		  <item>
-		      75 dpi fonts should be placed in
+		      75 dpi fonts must be placed in
 		      <tt>/usr/X11R6/lib/X11/fonts/75dpi/</tt>.
 		  </item>
 		  <item>
 		      Character-cell fonts, cursor fonts, and other
-		      low-resolution fonts should be placed in
+		      low-resolution fonts must be placed in
 		      <tt>/usr/X11R6/lib/X11/fonts/misc/</tt>.
 		  </item>
 		</list>
 	    </item>
 	    <item>
-		Speedo fonts should be placed in
+		Speedo fonts must be placed in
 		<tt>/usr/X11R6/lib/X11/fonts/Speedo/</tt>.
 	    </item>
 	    <item>
-		Type 1 fonts should be placed in
-		<tt>/usr/X11R6/lib/X11/fonts/Type1/</tt>.  If font
-		metric files are available, they may be placed here as
-		well.
-	    </item>
-	    <item>
-		Subdirectories of <tt>/usr/X11R6/lib/X11/fonts/</tt>
-		other than those listed above should be neither created nor
-		used.  (The <tt>PEX</tt> and <tt>cyrillic</tt> directories are
-		excepted for historical reasons, but installation of files into
-		these directories remains discouraged.)
-	    </item>
-	    <item>
-		Font packages may, instead of placing files directly in
-		the X font directories listed above, provide symbolic links in
-		the font directory which point to the files' actual location
-		in the filesystem.  Such a location should comply with the
-		FHS.
+		Type 1 fonts must be placed in
+		<tt>/usr/X11R6/lib/X11/fonts/Type1/</tt>.  If font metric
+		files are available, they must be placed here as well.
+	    </item>
+	    <item>
+		Subdirectories of <tt>/usr/X11R6/lib/X11/fonts/</tt> other
+		than those listed above must be neither created nor used.
+		(The <tt>PEX</tt>, <tt>CID</tt>, and <tt>cyrillic</tt>
+		directories are excepted for historical reasons, but
+		installation of files into these directories remains
+		discouraged.)
+	    </item>
+	    <item>
+		Font packages may, instead of placing files directly in the
+		X font directories listed above, provide symbolic links in
+		the font directory which point to the files' actual
+		location in the filesystem.  Such a location must comply
+		with the FHS.
 	    </item>
 	    <item>
 		Font packages should not contain both 75dpi and 100dpi
@@ -6085,57 +6094,57 @@
 		"-misc" appended to its name.
 	    </item>
 	    <item>
-		Font packages <em>must not</em> provide the files
+		Font packages must not provide the files
 		<tt>fonts.dir</tt>, <tt>fonts.alias</tt>, or
 		<tt>fonts.scale</tt> in a font directory.
 		<list>
 		  <item>
-		      <tt>fonts.dir</tt> files must not be provided at
-		      all.
+		      <tt>fonts.dir</tt> files must not be provided at all.
 		  </item>
 		  <item>
-		      <tt>fonts.alias</tt> and <tt>fonts.scale</tt>
-		      files, if needed, should be provided in the
-		      directory
+		      <tt>fonts.alias</tt> and <tt>fonts.scale</tt> files,
+		      if needed, should be provided in the directory
 		      <tt>/etc/X11/fonts/<em>fontdir</em>/<em>package</em>.<em>extension</em></tt>,
 		      where <em>fontdir</em> is the name of the
-		      subdirectory of
-		      <tt>/usr/X11R6/lib/X11/fonts/</tt> where the
-		      package's corresponding fonts are stored (e.g.,
-		      <tt>75dpi</tt> or <tt>misc</tt>),
+		      subdirectory of <tt>/usr/X11R6/lib/X11/fonts/</tt>
+		      where the package's corresponding fonts are stored
+		      (e.g., <tt>75dpi</tt> or <tt>misc</tt>),
 		      <em>package</em> is the name of the package that
 		      provides these fonts, and <em>extension</em> is
-		      either <tt>scale</tt> or <tt>alias</tt>,
-		      whichever corresponds to the file
-		      contents.
+		      either <tt>scale</tt> or <tt>alias</tt>, whichever
+		      corresponds to the file contents.
 		  </item>
 		</list>
 	    </item>
 	    <item>
-		Font packages must declare a dependency on
-		<tt>xutils</tt> and, in the package
-		post-installation and post-removal scripts, invoke the
-		<tt>mkfontdir</tt> command on each directory into
-		which they installed fonts.
-	    </item>
-	    <item>
-		Font packages that provide one or more
-		<tt>fonts.scale</tt> files as described above must declare a
-		versioned dependency on <tt>xutils (&gt;=
-		  4.0.2)</tt> and invoke <tt>update-fonts-scale</tt> on each
-		directory into which they installed fonts
-		<em>before</em> invoking <tt>mkfontdir</tt> on that
-		directory.  This invocation must occur in both the
-		post-installation and post-removal scripts.
-	    </item>
-	    <item>
-		Font packages that provide one or more
-		<tt>fonts.alias</tt> files as described above must
-		declare a versioned dependency on <tt>xutils
-		  (&gt;= 4.0.2)</tt> and, in the package
-		post-installation and post-removal scripts, invoke
-		<tt>update-fonts-alias</tt> on each directory into
-		which they installed fonts.
+		Font packages must declare a dependency on <tt>xutils
+		(&gt;&gt; 4.0.3)</tt> in their control data.
+	    </item>
+	    <item>
+		Font packages that provide one or more <tt>fonts.scale</tt>
+		files as described above must invoke
+		<tt>update-fonts-scale</tt> on each directory into which
+		they installed fonts <em>before</em> invoking
+		<tt>update-fonts-dir</tt> on that directory.  This
+		invocation must occur in both the <tt>postinst</tt> (for
+		all arguments) and <tt>postrm</tt> (for all arguments
+		except <tt>upgrade</tt>) scripts.
+	    </item>
+	    <item>
+		Font packages that provide one or more <tt>fonts.alias</tt>
+		files as described above must invoke
+		<tt>update-fonts-alias</tt> on each directory into which
+		they installed fonts.  This invocation must occur in both
+		the <tt>postinst</tt> (for all arguments) and
+		<tt>postrm</tt> (for all arguments except <tt>upgrade</tt>)
+		scripts.
+	    </item>
+	    <item>
+		Font packages must invoke <tt>update-fonts-dir</tt> on each
+		directory into which they installed fonts.  This invocation
+		must occur in both the <tt>postinst</tt> (for all
+		arguments) and <tt>postrm</tt> (for all arguments except
+		<tt>upgrade</tt>) scripts.
 	    </item>
 	    <item>
 		Font packages must not provide alias names for the

-- 
G. Branden Robinson             |     To stay young requires unceasing
Debian GNU/Linux                |     cultivation of the ability to unlearn
branden@debian.org              |     old falsehoods.
http://www.debian.org/~branden/ |     -- Robert Heinlein

Attachment: pgp4fiaPWsvG6.pgp
Description: PGP signature


Reply to: