From 52d859b134000966c9372ba8ffa7b43bcfe2db23 Mon Sep 17 00:00:00 2001
From: Bill Allombert /lib/triplet
and
should instead create them in postinst and remove them in prerm or postrm.
/sys
and /selinux
directories are explicitly allowed as an
exception to the FHS.
*.changes
file.
/usr/include/X11
and /usr/lib/X11
.
/etc/X11/XF86Config-4
.
/var/mail
.
debian/control
allows comment lines starting with # with no
preceding whitespace.
/bin/sh
regardless of
the #! line. This brings Policy in line with the long-standing
behavior of the init system in Debian.
/var/run
and /var/lock
may be mounted as temporary filesystems,
+and init scripts must therefore create any necessary subdirectories
dynamically.
/bin/sh
scripts may assume that local can take multiple variable
arguments and supports assignment.
debian/README.source
file explaining how to generate the patched
source, add a new modification, and remove an existing
modification. This file may also be used to document packaging a
new upstream release and any other complexity of the Debian build
process.
debian/control
may be wrapped.
/etc/cron.{hourly,daily,weekly,monthly}
must be
configuration files (upgraded from should). Mention the hourly
directory.
/etc/X11/Xresources
files need not conflict
+with xbase (<< 3.3.2.3a-2), which is long-obsolete.
debian/copyright
.
/bin/sh
supports local (at a basic level)
and that its test builtin (if any) supports -a and -o binary
logical operators.
debian/copyright
.
/usr/include/X11/
and /usr/lib/X11/
, but if they do so, they
must pre-depend on x11-common (>= 1:7.0.0)
/usr/lib/cgi-lib/
directories. This location change
perhaps should be documented in NEWS
/usr/lib/cgi-lib
.
/media
, /srv
, etc may be of
interest.
/usr/X11R6
, since we have
migrated away to using Xorg paths. This means, for one thing, fonts
-live in usr/share/fonts/X11 now, and /usr/X11R6 is gone.
+live in /usr/share/fonts/X11/
now, and /usr/X11R6
is gone.
/usr/lib/
or /usr/share
, and preferably the shared lib is named
the same as the package name (to avoid name collisions).
/images
to
allow packages to share image files with the web server
/usr/bin/x-window-manager
/usr/share/doc
, and
+not via /usr/doc/
as was the policy previously
/usr/doc
versus /usr/share/doc
is now
a ``serious'' policy violation.
/usr/share/doc
hierarchy. If one can't provide access controls for
the http://localhost/doc/ directory, then it is preferred that one
ask permission to expose that information during the install.
/usr/X11R6/lib/X11/app-defaults/
/var/mail
, no longer
+/var/spool/mail
. Any packages accessing the mail spool should
+access it via /var/mail
and include a suitable Depends field;
details in
/usr/share/<package>
or /usr/lib/<package>
, with
+symbolic links from /usr/share/doc/<package>/examples
as
needed
/usr/X11R6/lib/X11/app-defaults
to /etc/X11/app-defaults
/etc/init.d/
should not contain
modifiable parameters; these should be moved to a file in
-etc/default
+/etc/default/
/usr/share/doc
must not be referenced by any
program. If such files are needed, they must be placed in
-usr/share/<package>, and symbolic links created as required
-in usr/share/doc/<package>
+/usr/share/<package>/
, and symbolic links created as required
+in /usr/share/doc/<package>/
/usr/bin/x-window-manager
alternative, with priority
calculation guidelines)
/usr/doc/<package>
has to be a symlink pointing to
+/usr/share/doc/<package>
, to be maintained by postinst
and prerm scripts. Details are in defunct
/etc/rc.boot
has been deprecated in favour of /etc/rcS.d
.
(Packages should not be touching this directory, but should use
update-rc.d instead)
/etc/rc?.d/[SK]??*
links. Any scripts which manipulate them
directly must be changed to use update-rc.d instead. (This is
because the file-rc package handles this information in an
incompatible way.)
/usr/lib/<package>/examples
+with symlinks from /usr/share/doc/<package>/examples/*
or from
+/usr/share/doc/<package>/examples
itself
/var/state
to
+/var/lib
/usr/share/common-licenses
. This may require changing the
copyright files to point to the correct location of the GPL and
other major licenses
/var/run/utmp
,
+/var/log/wtmp
and /var/log/lastlog
must be installed setgid utmp
@@ -1406,9 +1407,9 @@ gap.
/usr/doc/package/changelog.html.gz
/usr/doc/package/copyright
/usr/man/man6
(cf., Policy Weekly Issue#6, topic 3)
/bin/sh
may be any POSIX compatible shell
/bin/bash
as
interpreter
/tmp
) should use tempfile or mktemp for creating
the directory
/dev/tty*
serial devices should be used instead of /dev/cu*
/etc/init.d
:
/etc/init.d
scripts have to provide the following options:
start, stop, restart, force-reload
/etc/cron.d
/etc/news/organization
and /etc/news/server
should be supported
by all news servers and clients
/usr/games
, just as
non-X games
/etc/services
, /etc/protocols
, /etc/rpc
, and /etc/inetd.conf
/usr/local
Date: 2010-01-25 21:41:30 CET
+Date: 2010-01-26 13:43:10 CET
HTML generated by org-mode 6.33f in emacs 23
diff --git a/upgrading-checklist.org b/upgrading-checklist.org index 12cf7d7..884852d 100644 --- a/upgrading-checklist.org +++ b/upgrading-checklist.org @@ -69,7 +69,7 @@ Released Jan 2010. ~/usr/lib/triplet~ directories. + *10.6* : Explicitly state that packages may not contain named pipes and should instead create them in postinst and remove them in prerm or postrm. -+ *9.1.1* : /sys and /selinux directories are explicitly allowed as an ++ *9.1.1* : ~/sys~ and ~/selinux~ directories are explicitly allowed as an exception to the FHS. *** 3.8.3.0 @@ -86,7 +86,7 @@ Released Aug 2009. combination with other architectures. Clarify when /all/ and /any/ may be used in different versions of the field. + *5.6.14* : The Debian archive software does not support uploading - to multiple distributions with one \*.changes file. + to multiple distributions with one ~*.changes~ file. + *5.6.19* : The Binary field may span multiple lines. + *10.2* : Remove the permission for shared library packages to install libraries in a non-standard location and modify ld.so.conf. @@ -94,7 +94,7 @@ Released Aug 2009. or packages using them should be built with RPATH. + *11.8.7* : Clarify installation directories for X programs and remove the requirement to pre-depend on x11-common before installing - into /usr/include/X11 and /usr/lib/X11. + into ~/usr/include/X11~ and ~/usr/lib/X11~. + *12.1* : Remove the requirement that all characters in a manual page be representable in the legacy encoding for that language. + *12.1* : Localized man pages should either be kept up-to-date with @@ -127,9 +127,9 @@ Released Jun 2009. + *5.6.1*: The requirements for source package names are now explicitly spelled out. + *9.1*: Legacy XFree86 servers no longer get a special exception from the - FHS permitting /etc/X11/XF86Config-4. + FHS permitting ~/etc/X11/XF86Config-4~. + *9.1.3*: Removed obsolete dependency requirements for packages that use - /var/mail. + ~/var/mail~. + *11.8.5*: Speedo fonts are now deprecated. The X backend was disabled starting in lenny. + *12.5*: The GNU Free Documentation License version 1.3 is included in @@ -154,18 +154,18 @@ Released Mar 2009. + *4.9.1*: New nocheck option for DEB\_BUILD\_OPTIONS indicating any build-time test suite provided by the package should not be run. + *5.1*: All control files must be encoded in UTF-8. -+ *5.2*: debian/control allows comment lines starting with # with no ++ *5.2*: ~debian/control~ allows comment lines starting with # with no preceding whitespace. + *9.3*: Init scripts ending in .sh are not handled specially. They are not - sourced and are not guaranteed to be run by /bin/sh regardless of + sourced and are not guaranteed to be run by ~/bin/sh~ regardless of the #! line. This brings Policy in line with the long-standing behavior of the init system in Debian. + *9.3.2*: The start action of an init script must exit successfully and not start the daemon again if it's already running. -+ *9.3.2*: /var/run and /var/lock may be mounted as temporary filesystems, and - init scripts must therefore create any necessary subdirectories ++ *9.3.2*: ~/var/run~ and ~/var/lock~ may be mounted as temporary filesystems, + and init scripts must therefore create any necessary subdirectories dynamically. -+ *10.4*: /bin/sh scripts may assume that local can take multiple variable ++ *10.4*: ~/bin/sh~ scripts may assume that local can take multiple variable arguments and supports assignment. + *11.6*: User mailboxes may be mode 600 and owned by the user rather than mode 660, owned by user, and group mail. @@ -196,12 +196,12 @@ Released Jun 2008. used that way. + *4.14*: If dpkg-source -x doesn't produce source ready for editing and building with dpkg-buildpackage, packages should include a - debian/README.source file explaining how to generate the patched + ~debian/README.source~ file explaining how to generate the patched source, add a new modification, and remove an existing modification. This file may also be used to document packaging a new upstream release and any other complexity of the Debian build process. -+ *5.6.3*: The Uploaders field in debian/control may be wrapped. ++ *5.6.3*: The Uploaders field in ~debian/control~ may be wrapped. + *5.6.12*: An empty Debian revision is equivalent to a Debian revision of 0 in a version number. + *5.6.23*: New Homepage field for upstream web sites. @@ -213,11 +213,11 @@ Released Jun 2008. separate package, or into the -dev package. Suggest -tools instead of -runtime for runtime support programs, since that naming is more common in Debian. -+ *9.5*: Files in /etc/cron.{hourly,daily,weekly,monthly} must be ++ *9.5*: Files in ~/etc/cron.{hourly,daily,weekly,monthly}~ must be configuration files (upgraded from should). Mention the hourly directory. -+ *11.8.6*: Packages providing /etc/X11/Xresources files need not conflict with - xbase (<< 3.3.2.3a-2), which is long-obsolete. ++ *11.8.6*: Packages providing ~/etc/X11/Xresources~ files need not conflict + with xbase (<< 3.3.2.3a-2), which is long-obsolete. + *12.1*: Manual pages in locale-specific directories should use either the legacy encoding for that directory or UTF-8. Country names should not be included in locale-specific manual page directories unless @@ -226,7 +226,7 @@ Released Jun 2008. legacy encoding for a locale even if the man page is encoded in UTF-8. + *12.5*: The Apache 2.0 license is now in common-licenses and should be - referenced rather than quoted in debian/copyright. + referenced rather than quoted in ~debian/copyright~. + *12.5*: Packages in contrib and non-free should state in the copyright file that the package is not part of Debian GNU/Linux and briefly explain why. @@ -242,7 +242,7 @@ Released Dec 2007. + *5.6.12*: Package version numbers may contain tildes, which sort before anything, even the end of a part. -+ *10.4*: Scripts may assume that /bin/sh supports local (at a basic level) ++ *10.4*: Scripts may assume that ~/bin/sh~ supports local (at a basic level) and that its test builtin (if any) supports -a and -o binary logical operators. + *8.5*: The substitution variable ${binary:Version} should be used in place @@ -264,7 +264,7 @@ Released Dec 2007. specification must allow for translation of their messages by using a gettext-based system such as po-debconf. + *12.5*: GFDL 1.2, GPL 3, and LGPL 3 are now in common-licenses and should - be referenced rather than quoted in debian/copyright. + be referenced rather than quoted in ~debian/copyright~. *** 3.7.2.2 :PROPERTIES: @@ -303,7 +303,7 @@ Released Apr 2006. consensus, and documenting it in README.Debian constitute most of the process. + *11.8.7*: Packages should install any relevant files into the directories - /usr/include/X11/and /usr/lib/X11/, but if they do so, they + ~/usr/include/X11/~ and ~/usr/lib/X11/~, but if they do so, they must pre-depend on x11-common (>= 1:7.0.0) *** 3.7.0.0 @@ -315,13 +315,13 @@ Released Apr 2006. Released Apr 2006. + *11.5*: Packages shipping web server CGI files are expected to install - them in /usr/lib/cgi-lib/ directories. This location change + them in ~/usr/lib/cgi-lib/~ directories. This location change perhaps should be documented in NEWS + *11.5*: Web server packages should include a standard scriptAlias of - cgi-lib to /usr/lib/cgi-lib. + cgi-lib to ~/usr/lib/cgi-lib~. + *9.1.1*: The version of FHS mandated by policy has been upped to 2.3. There should be no changes required for most packages, - though new top level directories /media, /srv, etc may be of + though new top level directories ~/media~, ~/srv~, etc may be of interest. + *5.1, 5.6.3*: All fields, apart from the Uploaders field, in the control file are supposed to be a single logical line, which may be spread @@ -336,9 +336,9 @@ Released Apr 2006. + *9.3.3.2*: packages that invoke initscripts now must use invoke-rc.d to do so since it also pays attention to run levels and other local constraints. -+ *11.8.5.2, 11.8.7, etc*: We no longer use /usr/X11R6, since we have ++ *11.8.5.2, 11.8.7, etc*: We no longer use ~/usr/X11R6~, since we have migrated away to using Xorg paths. This means, for one thing, fonts - live in /usr/share/fonts/X11/ now, and /usr/X11R6 is gone. + live in ~/usr/share/fonts/X11/~ now, and ~/usr/X11R6~ is gone. *** 3.6.2.0 @@ -351,9 +351,9 @@ Released 2005 + Recommend. doc-base, and not menu, for registering package documentation. + *8.1*: Run time support programs should live in subdirectories of - /usr/lib/ or /usr/share, and preferably the shared lib is named + ~/usr/lib/~ or ~/usr/share~, and preferably the shared lib is named the same as the package name (to avoid name collisions). -+ *11.5*: It is recommended that HTTP servers provide an alias /images to ++ *11.5*: It is recommended that HTTP servers provide an alias ~/images~ to allow packages to share image files with the web server *** 3.6.1.0 @@ -434,8 +434,8 @@ Released Mar 2003. + *9.3.2*: When asked to restart a service that isn't already running, the init script should start the service. + *12.6*: If the purpose of a package is to provide examples, then the - example files can be installed into =/usr/share/doc/package= (rather - than =/usr/share/doc/package/examples=). + example files can be installed into ~/usr/share/doc/package~ (rather + than ~/usr/share/doc/package/examples~). *** 3.5.8.0 :PROPERTIES: @@ -473,7 +473,7 @@ Released Aug 2002. special Tasks: field in the control file. + *11.8.4*: window managers that support netwm can now add 20 points when they add themselves as an alternative for - /usr/bin/x-window-manager + ~/usr/bin/x-window-manager~ + *10.1*: The default compilation options have now changed, one should provide debugging symbols in all cases, and optionally step back optimization to -O0, depending on the DEB\_BUILD\_OPTIONS @@ -497,12 +497,12 @@ Released Jul 2001. + *2.5*: Emacs and TeX are no longer mandated by policy to be priority standard packages -+ *11.5*: Programs that access docs need to do so via /usr/share/doc, and - not via /usr/doc/ as was the policy previously -+ *12.3*: Putting documentation in /usr/doc versus /usr/share/doc is now ++ *11.5*: Programs that access docs need to do so via ~/usr/share/doc~, and + not via ~/usr/doc/~ as was the policy previously ++ *12.3*: Putting documentation in ~/usr/doc~ versus ~/usr/share/doc~ is now a ``serious'' policy violation. + *11.5*: For web servers, one should not provide non-local access to the - /usr/share/doc hierarchy. If one can't provide access controls for + ~/usr/share/doc~ hierarchy. If one can't provide access controls for the http://localhost/doc/ directory, then it is preferred that one ask permission to expose that information during the install. + *7*: There are new rules for build-indep/build-arch targets and @@ -534,7 +534,7 @@ Released May 2001. * *11.8.3*: Rules for defining x-terminal-emulator improved * *11.8.5*: X Font policy rewritten: you must read this if you provide fonts for the X Window System - * *11.8.6*: Packages must not ship /usr/X11R6/lib/X11/app-defaults/ + * *11.8.6*: Packages must not ship ~/usr/X11R6/lib/X11/app-defaults/~ * *11.8.7*: X-related packages should usually use the regular FHS locations; imake-using packages are exempted from this * *11.8.8*: OpenMotif linked binaries have the same rules as @@ -548,9 +548,9 @@ Released May 2001. Released Apr 2001. -+ *11.6*: The system-wide mail directory is now /var/mail, no longer - /var/spool/mail. Any packages accessing the mail spool should - access it via /var/mail and include a suitable Depends field; ++ *11.6*: The system-wide mail directory is now ~/var/mail~, no longer + ~/var/spool/mail~. Any packages accessing the mail spool should + access it via ~/var/mail~ and include a suitable Depends field; details in + *11.9; perl-policy*: The perl policy is now part of Debian policy proper. Perl programs and modules should follow the current Perl @@ -568,8 +568,8 @@ Released Apr 2001. + *7.1*: Build-Depends arch syntax has been changed to be less ambiguous. This should not affect any current packages + *10.7.3*: Examples and templates files for use by scripts should now live - in /usr/share/