]> git.donarmstrong.com Git - debian/debian-policy.git/blob - upgrading-checklist.html
Merge branch 'master' into bug493007-rra
[debian/debian-policy.git] / upgrading-checklist.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
2 <html>
3   <head>
4  <!--                             -*- Mode: Sgml -*-
5     -->
6
7
8     <title>Policy checklist for upgrading your packages</title>
9   </head>
10   <body>
11
12     <h1>Policy checklist for upgrading your packages</h1>
13
14     <h2>About the checklist</h2>
15
16 <p>
17 The checklist below has been created to simplify the upgrading process
18 of old packages.  Note that this list is not `official'; it simply
19 gives an indication of what has changed and whether you are likely to
20 need to make changes to your package in light of this.  If you have
21 doubts about a certain topic, if you need more details, or if you
22 think some other package does not comply with policy, please refer to
23 the Policy Manual itself.  All of the changes from version 3.0.0
24 onwards indicate which section of the Policy Manual discusses the
25 issue: [3.4] means section 3.4.  The section numbering changed when
26 the packaging manual was incorporated into policy; the section numbers
27 used below refer to the current version.
28 </p>
29
30 <p>
31 Here is how the check list works: Check which policy version your
32 package complies with currently (indicated in the "Standards-Version"
33 field of the source package).  Then move upwards until the top and
34 check which of the items on the list might concern your package.  Note
35 which sections of policy discuss this, and then check out the Policy
36 Manual for details.  If you are upgrading from Policy version < 2.5.0,
37 it may be easier to check through the whole of policy instead of
38 picking your way through this list.
39 </p>
40
41 <h2>The checklist</h2>
42
43 <pre>
44 3.8.3.0                        unreleased
45
46      * Add DEB_*_ARCH_CPU and DEB_*_ARCH_OS variables and recommend them
47        over GNU-style variables for that information.            [4.9]
48      * Source package Architecture fields may contain "all" in combination
49        with other architectures.  Clarify when "all" and "any" may be used
50        in different versions of the field.                       [5.6.8]
51      * The Debian archive software does not support uploading to multiple
52        distributions with one *.changes file.                    [5.6.14]
53      * Remove the permission for shared library packages to install
54        libraries in a non-standard location and modify ld.so.conf.
55        Packages should either be installed in a standard library directory
56        or packages using them should be built with RPATH.        [10.2]
57      * Clarify installation directories for X programs and remove the
58        requirement to pre-depend on x11-common before installing into
59        /usr/include/X11 and /usr/lib/X11.                        [11.8.7]
60      * The requirement for Perl modules to have a versioned Depend and
61        Build-Depend on perl >= 5.6.0-16 has been removed.        [perl]
62
63 3.8.2.0                        Jun 2009
64
65      * The list of archive sections has been significantly expanded.  See
66        http://lists.debian.org/debian-devel-announce/2009/03/msg00010.html
67        for the list of new sections and rules for how to categorize
68        packages.                                                 [2.4]
69      * All packages must use debconf or equivalent for user prompting,
70        though essential packages or their dependencies may also fall
71        back on other methods.                                    [3.9.1]
72      * The requirements for source package names are now explicitly
73        spelled out.                                              [5.6.1]
74      * Legacy XFree86 servers no longer get a special exception from the
75        FHS permitting /etc/X11/XF86Config-4.                     [9.1]
76      * Removed obsolete dependency requirements for packages that use
77        /var/mail.                                                [9.1.3]
78      * Speedo fonts are now deprecated.  The X backend was disabled
79        starting in lenny.                                        [11.8.5]
80      * The GNU Free Documentation License version 1.3 is included in
81        common-licenses and should be referenced from there.      [12.5]
82
83 3.8.1.0                        Mar 2009
84
85      * Care should be taken when adding functionality to essential and
86        such additions create an obligation to support that functionality
87        in essential forever unless significant work is done.     [3.8]
88      * Changelog files must be encoded in UTF-8.                 [4.4]
89      * Tighten some format requirements for changelog files from a should
90        to a must.                                                [4.4]
91      * Remove alternative changelog formats.  Debian only supports one
92        changelog format for the Debian Archive.                  [4.4.1]
93      * New nocheck option for DEB_BUILD_OPTIONS indicating any build-time
94        test suite provided by the package should not be run.     [4.9.1]
95      * All control files must be encoded in UTF-8.               [5.1]
96      * debian/control allows comment lines starting with # with no
97        preceding whitespace.                                     [5.2]
98      * Init scripts ending in .sh are not handled specially.  They are not
99        sourced and are not guaranteed to be run by /bin/sh regardless of
100        the #! line.  This brings Policy in line with the long-standing
101        behavior of the init system in Debian.                    [9.3]
102      * The start action of an init script must exit successfully and not
103        start the daemon again if it's already running.           [9.3.2]
104      * /var/run and /var/lock may be mounted as temporary filesystems, and
105        init scripts must therefore create any necessary subdirectories
106        dynamically.                                              [9.3.2]
107      * /bin/sh scripts may assume that local can take multiple variable
108        arguments and supports assignment.                        [10.4]
109      * User mailboxes may be mode 600 and owned by the user rather than
110        mode 660, owned by user, and group mail.                  [11.6]
111
112 3.8.0.0                        Jun 2008
113
114      * The base section has been removed.  contrib and non-free have been
115        removed from the section list; they are only categories.  The base
116        system is now defined by priority.                        [2.4, 3.7]
117      * If dpkg-source -x doesn't provide the source that will be compiled,
118        a debian/rules patch target is recommended and should do whatever
119        else is necessary.                                        [4.9]
120      * Standardized the format of DEB_BUILD_OPTIONS.  Specified permitted
121        characters for tags, required that tags be whitespace-separated,
122        allowed packages to assume non-conflicting tags, and required
123        unknown flags be ignored.                                 [4.9.1, 10.1]
124      * Added parallel=n to the standardized DEB_BUILD_OPTIONS tags,
125        indicating that a package should be built using up to n parallel
126        processes if the package supports it                      [4.9.1]
127      * Debian packages should not use convenience copies of code from other
128        packages unless the included package is explicitly intended to be
129        used that way.                                            [4.13]
130      * If dpkg-source -x doesn't produce source ready for editing and
131        building with dpkg-buildpackage, packages should include a
132        debian/README.source file explaining how to generate the patched
133        source, add a new modification, and remove an existing
134        modification.  This file may also be used to document packaging a
135        new upstream release and any other complexity of the Debian build
136        process.                                                  [4.14]
137      * The Uploaders field in debian/control may be wrapped.     [5.6.3]
138      * An empty Debian revision is equivalent to a Debian revision of 0 in
139        a version number.                                         [5.6.12]
140      * New Homepage field for upstream web sites.                [5.6.23]
141      * The Breaks field declares that this package breaks another and
142        prevents installation of the breaking package unless the package
143        named in Breaks is deconfigured first.  This field should not be
144        used until the dpkg in Debian stable supports it.         [6.5, 6.6, 7]
145      * Clarify which files should go into a shared library package, into a
146        separate package, or into the -dev package.  Suggest -tools instead
147        of -runtime for runtime support programs, since that naming is more
148        common in Debian.                                         [8.1, 8.2]
149      * Files in /etc/cron.{hourly,daily,weekly,monthly} must be
150        configuration files (upgraded from should).  Mention the hourly
151        directory.                                                [9.5]
152      * Packages providing /etc/X11/Xresources files need not conflict with
153        xbase (<< 3.3.2.3a-2), which is long-obsolete.            [11.8.6]
154      * Manual pages in locale-specific directories should use either the
155        legacy encoding for that directory or UTF-8.  Country names should
156        not be included in locale-specific manual page directories unless
157        indicating a significant difference in the language.  All
158        characters in the manual page source should be representable in the
159        legacy encoding for a locale even if the man page is encoded in
160        UTF-8.                                                    [12.1]
161      * The Apache 2.0 license is now in common-licenses and should be
162        referenced rather than quoted in debian/copyright.        [12.5]
163      * Packages in contrib and non-free should state in the copyright file
164        that the package is not part of Debian GNU/Linux and briefly
165        explain why.                                              [12.5]
166      * Underscore (_) is allowed in debconf template names.      [debconf]
167
168 3.7.3.0                        Dec 2007
169
170      * Package version numbers may contain tildes, which sort before
171        anything, even the end of a part.                         [5.6.12]
172      * Scripts may assume that /bin/sh supports local (at a basic level)
173        and that its test builtin (if any) supports -a and -o binary
174        logical operators.                                        [10.4]
175      * The substitution variable ${binary:Version} should be used in place
176        of ${Source-Version} for dependencies between packages of the same
177        library.                                                  [8.5]
178      * Substantial reorganization and renaming of sections in the Debian
179        menu structure.  Packages with menu entries should be reviewed to
180        see if the menu section has been renamed or if one of the new
181        sections would be more appropriate.                       [menu policy]
182      * The Source field in a .changes file may contain a version number
183        in parentheses.                                           [5.6.1]
184      * The acceptable values for the Urgency field are low, medium, high,
185        critical, or emergency.                                   [5.6.17]
186      * The shlibs file now allows an optional type field, indicating the
187        type of package for which the line is valid.  The only currently
188        supported type is udeb, used with packages for the Debian
189        Installer.                                                [8.6]
190      * Packages following the Debian Configuration management
191        specification must allow for translation of their messages by using
192        a gettext-based system such as po-debconf.                [3.9.1]
193      * GFDL 1.2, GPL 3, and LGPL 3 are now in common-licenses and should
194        be referenced rather than quoted in debian/copyright.     [12.5]
195
196 3.7.2.2                        Oct 2006
197
198      * Maintainer scripts must not be world writeable (up from a
199        should to a must)                                         [6.1]
200
201 3.7.2.0                        Apr 2006
202
203      * Revert the cgi-lib change.                                [11.5]
204
205 3.7.1.0                        Apr 2006
206
207      * It is now possible to create shared libraries without
208        relocatable code (using -fPIC) in certain exceptional cases,
209        provided some procedures are followed, and for creating static
210        libraries with relocatable code (again, using -fPIC).
211        Discussion on debian-devel@lists.debian.org, getting a rough
212        consensus, and documenting it in README.Debian constitute most
213        of the process.                                           [10.2]    
214      * Packages should install any relevant files into the directories
215        /usr/include/X11/and /usr/lib/X11/, but if they do so, they
216        must  pre-depend on x11-common (>= 1:7.0.0)              [11.8.7] 
217
218 3.7.0.0                        Apr 2006
219
220      * Packages shipping web server CGI files are expected to install
221        them in /usr/lib/cgi-lib/ directories.  This location change
222        perhaps should be documented in NEWS                      [11.5]
223      * Web server packages should include a standard scriptAlias of
224        cgi-lib to /usr/lib/cgi-lib.                              [11.5]
225      * The version of FHS mandated by policy has been upped to
226        2.3. There should be no changes required for most packages,
227        though new top level directories /media, /srv, etc may be of
228        interest.                                                 [9.1.1]
229      * All fields, apart from the Uploaders field, in the control file
230        are supposed to be a single logical line, which may be spread
231        over multiple physical  lines (newline followed by space is
232        elided).  However, any parser for the control file must allow
233        the Uploaders field to be spread over multiple physical lines
234        as well, to prepare for future changes.                 [ 5.1, 5.6.3 ]
235      * When scripts are installed into a directory in the system
236        PATH, the script name should not include an extension that
237        denotes the scripting language currently used to implement it.
238                                                               [ 10.4 ]
239      * packages that invoke initscripts now must use invoke-rc.d to do
240        so since it also pays attention to run levels and other local
241        constraints.                                                [ 9.3.3.2 ]
242      * We no longer use /usr/X11R6, since we have migrated away to
243        using Xorg paths. This means, for one thing, fonts live in
244        /usr/share/fonts/X11/ now, and /usr/X11R6 is gone.
245                                                       [ 11.8.5.2, 11.8.7, etc]
246
247 3.6.2.0                        2005
248
249      * Recommend doc-base, and not menu, for registering package documentation.
250      * Run time support programs should live in subdirectories of
251        /usr/lib/ or /usr/share, and preferably the shared lib is named
252        the same as the package name (to avoid name collisions). [8.1]
253      * It is recommended that HTTP servers provide an alias /images to
254        allow packages to share image files with the web server [11.5]
255
256 3.6.1.0                    Aug 2003
257
258      + Prompting the user should be done using debconf. Non debconf
259        user prompts are now deprecated. [3.10.1]
260
261 3.6.0                      Jul 2003
262
263      - Restructuring causing shifts in section numbers and bumping of
264        the minor version number:
265      + Many packaging manual appendices that were integrated into policy
266        sections are now empty, and replaced with links to the Policy.
267        In particular, the appendices that included the list of control
268        fields were updated (new fields like Closes, Changed-By were added)
269        and the list of fields for each of control, .changes and .dsc files
270        is now in Policy, and they're marked mandatory, recommended or
271        optional based on the current practice and the behavior of the
272        deb-building tool-chain.
273      + Elimination of needlessly deep section levels, primarily in the
274        chapter Debian Archive, from which two new chapters were split out,
275        Binary packages and Source packages. What remained was reordered
276        properly, that is, some sect1s became sects etc.
277      + Several sections that were redundant, crufty or simply not designed
278        with any sort of vision, were rearranged according to the formula that
279        everything should be either in the same place or properly interlinked.
280        Some things remained split up between different chapters when they
281        talked about different aspects of files: their content, their syntax,
282        and their placement in the file system. In particular, see the new
283        sections about changelog files.
284      - Added Games/Simulation and Apps/Education to menu sub-policy
285        [menu policy]
286      - Debian changelogs should be UTF-8 encoded. [C.2.2]
287      - shared libraries must be linked against all libraries that they
288        use symbols from in the same way that binaries are. [10.2]
289      - build-depends-indep need not be satisfied during clean
290        target. [7.6] 
291
292 3.5.10                     May 2003
293
294      - packages providing the x-terminal-emulator virtual package
295        ought to ensure that they interpret the command line exactly
296        like xterm does. [11.8.3]
297      - Window managers compliant with the Window Manager Specification
298        Project may add 40 points for ranking in the alternatives [11.8.4]
299
300 3.5.9.0                    Mar 2003
301
302      - The section describing the Description: package field once again has
303        full details of the long description format. [3.4.2]
304      - Clarified that if a package has non-build-essential
305        build-dependencies, it should have them listed in the Build-Depends
306        and related fields (i.e. it's not merely optional). [4.2]
307      - When asked to restart a service that isn't already running,
308        the init script should start the service. [9.3.2]
309      - If the purpose of a package is to provide examples, then the
310        example files can be installed into <tt>/usr/share/doc/package</tt>
311        (rather than <tt>/usr/share/doc/package/examples</tt>). [12.6]
312
313 3.5.8.0                    Nov 2002
314
315      - It is no longer necessary to keep a log of changes to the upstream
316        sources in the copyright file. Instead, all such changes should be
317        documented in the changelog file. [12.7]
318      - <tt>Build-Depends</tt>,  <tt>Build-Conflicts</tt>,
319        <tt>Build-Depends-Indep</tt>, and
320        <tt>Build-Conflicts-Indep</tt> must also be satisfied when the
321        clean target is called. [7.6]
322      - A new Apps/Science menu section is available [menu policy]
323      - debconf specification cleared up, various changes. [debconf
324        policy]
325      - It is no longer recommended to create symlinks from nonexistent
326        manual pages to undocumented(7). Missing manual pages for programs
327        are still a bug. [12.1]
328
329 3.5.7.0                    Aug 2002
330
331      - Packages no longer have to ask permission to call MAKEDEV in
332        postinst, merely notifying the user ought to be enough. [10.6]
333      - cryptographic software may now be included in the main
334        archive. [2.2.4]
335      - task packages are no longer permitted; tasks are now created by a
336        special Tasks: field in the control file. [3.9]
337      - window managers that support netwm can now add 20 points when
338        they add themselves as an alternative for
339        /usr/bin/x-window-manager [11.8.4]
340      - The default compilation options have now changed, one should
341        provide debugging symbols in all cases, and optionally step
342        back optimization to -O0, depending on the DEB_BUILD_OPTIONS
343        environment variable. [10.1]
344      - Added mention of build-arch, build-indep, etc, in describing
345        the relationships with `Build-Depends', `Build-Conflicts',
346        `Build-Depends-Indep', and `Build-Conflicts-Indep'. May need to
347        review the new rules.  [7.6, 4.8]
348      - Changed rules on how, and when, to invoke ldconfig in maintainer
349        scripts. Long rationale. [8]
350      - [Added the last note in 3.5.6 upgrading checklist item regarding
351        build rules, please see below]
352
353 3.5.6.0                    Jul 2001
354
355      - Emacs and TeX are no longer mandated by policy to be priority
356        standard packages [2.5]
357      - Programs that access docs need to do so via /usr/share/doc, and
358        not via /usr/doc/ as was the policy previously [11.5]
359      - Putting documentation in /usr/doc versus /usr/share/doc is now
360        a ``serious'' policy violation. [12.3]
361      - For web servers, one should not provide non-local access to the
362        /usr/share/doc hierarchy. If one can't provide access controls for
363        the http://localhost/doc/ directory, then it is preferred that one
364        ask permission to expose that information during the install. [11.5]
365      - There are new rules for build-indep/build-arch targets and
366        there is a new Build-Depend-Indep semantic. [7]
367
368 3.5.5.0                    May 2001
369
370      - Manpages should not rely on header information to have
371        alternative manpage names available; it should only use
372        symlinks or .so pages to do this [12.1]
373      - [Clarified note in 3.5.3.0 upgrading checklist regarding
374         examples and templates: this refers only to those examples used
375         by scripts; see section 10.7.3 for the whole story]
376      - Included a new section 10.9.1 describing the use of
377        dpkg-statoverride; this does not have the weight of policy
378      - Clarify Standards-Version: you don't need to rebuild your
379        packages just to change the Standards-Version!
380      - Plugins are no longer bound by all the rules of shared
381        libraries [10.2]
382      - X Windows related things:
383        * Clarification of priority levels of X Window System related
384          packages [11.8.1]
385        * Rules for defining x-terminal-emulator improved [11.8.3]
386        * X Font policy rewritten: you must read this if you provide
387          fonts for the X Window System [11.8.5]
388        * Packages must not ship /usr/X11R6/lib/X11/app-defaults/ [11.8.6]
389        * X-related packages should usually use the regular FHS
390          locations; imake-using packages are exempted from this [11.8.7]
391        * OpenMotif linked binaries have the same rules as
392          OSF/Motif-linked ones [11.8.8]
393
394 3.5.4.0                    Apr 2001
395
396      - The system-wide mail directory is now /var/mail, no longer
397        /var/spool/mail.  Any packages accessing the mail spool should
398        access it via /var/mail and include a suitable Depends field;
399        details in [11.6]
400      - The perl policy is now part of Debian policy proper. Perl
401        programs and modules should follow the current Perl policy
402        [11.9; perl-policy]
403
404 3.5.3.0                    Apr 2001
405
406      - Build-Depends arch syntax has been changed to be less
407        ambiguous. This should not affect any current packages [7.1]
408      - Examples and templates files for use by scripts should now live
409        in /usr/share/&lt;package&gt; or /usr/lib/&lt;package&gt;, with
410        symbolic links from /usr/share/doc/&lt;package&gt;/examples as
411        needed [10.7.3]
412
413 3.5.2.0                    Feb 2001
414
415      - X app-defaults directory has moved from
416        /usr/X11R6/lib/X11/app-defaults to /etc/X11/app-defaults [11.8.6]
417
418 3.5.1.0                    Feb 2001
419
420      - dpkg-shlibdeps now uses objdump, so shared libraries have to be
421        run through dpkg-shlibdeps as well as executables [8.1]
422
423 3.5.0.0                    Jan 2001
424
425      - Font packages for the X Window System must now declare a
426        dependency on xutils (>= 4.0.2) [11.8.5]
427
428 3.2.1.1                    Jan 2001
429
430      - Daemon startup scripts in /etc/init.d/ should not contain
431        modifiable parameters; these should be moved to a file in
432        /etc/default/; see [9.3.2] for details
433      - Files in /usr/share/doc must not be referenced by any
434        program.  If such files are needed, they must be placed in
435        /usr/share/&lt;package&gt;/, and symbolic links created as required
436        in /usr/share/doc/&lt;package&gt;/ [12.3]
437      - Much of the packaging manual has now been imported into the
438        policy document
439
440 3.2.1.0                    Aug 00
441
442      - A package of priority standard or higher may provide two
443        binaries, one compiled with support for the X Window System,
444        and the other without [11.8.1]
445
446 3.2.0.0                    Aug 00
447
448      - By default executables should not be built with the debugging
449        option -g. Instead, it is recommended to support building the
450        package with debugging information optionally.  Details in [10.1]
451      - Policy for packages where the upstream uses HTML changelog
452        files has been expanded.  In short, a plain text changelog file
453        should always be generated for the upstream changes [12.8]
454      - Please note that the new release of the X window system (3.2)
455        shall probably need sweeping changes in policy
456      - Policy for packages providing the following X-based features
457        has been codified:
458        - X server (virtual package xserver) [11.8.2]
459        - X terminal emulator (virtual package x-terminal-emulator) [11.8.3]
460        - X window manager (virtual package x-window-manager, and
461          /usr/bin/x-window-manager alternative, with priority
462          calculation guidelines) [11.8.4]
463        - X fonts (this section has been written from scratch) [12.8.5]
464        - X application defaults [11.8.6]
465      - Policy for packages using the X Window System and FHS issues
466        has been clarified; see [11.8.7]
467      - No package may contain or make hard links to conffiles [11.7.3]
468      - Noted that newer dpkg versions do not require extreme care in
469        always creating the shared lib before the symlink, so the unpack
470        order be correct [8]
471
472 3.1.1.0                    Nov 1999
473
474      - Correction to semantics of architecture lists in Build-Depends
475        etc.  Should not affect many packages [7.1]
476
477 3.1.0.0                    Oct 1999
478
479      - /usr/doc/&lt;package&gt; has to be a symlink pointing to
480        /usr/share/doc/&lt;package&gt;, to be maintained by postinst
481        and prerm scripts.  Details are in [defunct]
482      - Introduced source dependencies (Build-Depends, etc.) [7.1, 7.6]
483      - /etc/rc.boot has been deprecated in favour of /etc/rcS.d.
484        (Packages should not be touching this directory, but should use
485        update-rc.d instead) [9.3.4]
486      - update-rc.d is now the *only* allowable way of accessing the
487        /etc/rc?.d/[SK]??* links.  Any scripts which manipulate them
488        directly must be changed to use update-rc.d instead.  (This is
489        because the file-rc package handles this information in an
490        incompatible way.) [9.3.3]
491      - Architecture-specific examples go in /usr/lib/&lt;package&gt;/examples
492        with symlinks from /usr/share/doc/&lt;package&gt;/examples/* or from
493        /usr/share/doc/&lt;package&gt;/examples itself [12.7]
494      - Updated FHS to a 2.1 draft; this reverts /var/state to
495        /var/lib [9.1.1]
496      - Added MIME sub-policy document [9.7; mime-policy]
497      - VISUAL is allowed as a (higher priority) alternative to EDITOR [12.4]
498      - Modified liblockfile description, which affects
499        mailbox-accessing programs.  Please see the policy document for
500        details [11.6]
501      - If a package provides a changelog in HTML format, a text-only
502        version should also be included.  (Such a version may be prepared
503        using lynx -dump -nolist.) [12.7]
504      - Description of how to handle version numbers based on dates
505        added [3.2.1]
506
507 3.0.1.0                    Jul 1999
508
509     -  Added the clarification that the .la files are essential for the
510        packages using libtool's libltdl library, in which case the
511        .la files must go in the run-time library package [10.2]
512
513 3.0.0.0                    Jun 1999
514
515     - Debian formally moves from the FSSTND to the FHS. This is a
516       major change, and the implications of this move are probably
517       not all known. [9.1]
518     - Only 3 digits of the Standards version need be included in
519       control files, though all four digits are still permitted. [4.1]
520     - The location of the GPL has changed to
521       /usr/share/common-licenses. This may require changing the
522       copyright files to point to the correct location of the GPL and
523       other major licenses [12.6]
524     - Packages that use libtool to create shared libraries must
525       include the .la files in the -dev packages [10.2]
526     - Use logrotate to rotate log files [10.8]
527     - section 5.8 has been rewritten (Programs for the X Window
528       System) [now 11.8]
529     - There is now an associated menu policy, in a separate document,
530       that carries the full weight of Debian policy [9.6; menu-policy]
531     - Programs which need to modify the files /var/run/utmp,
532       /var/log/wtmp and /var/log/lastlog must be installed setgid utmp [11.3]
533
534
535 ** Please note that section numbers below this point may not be up to date **
536
537
538 2.5.0.0                         Oct 1998
539
540   Policy Manual:
541     - Rearranged the manual to create a new Section 4, Files
542       + Section 3.3 ("Files") was moved to Section 4. The Sections
543         that  were Section 4 and Section 5 were  moved down to become
544         Section 5 and Section 6.
545       + What was Section 5.5 ("Log files") is now a subsection of the
546         new Section 4 ("Files"), becoming section 4.8, placed after
547         "Configuration files", moving the Section 4.8 ("Permissions
548         and owners") to Section 4.9.  All subsections of the old
549         Section 5 after 5.5  were moved down to fill in the number
550         gap.
551     - Modified the section about changelog files to accommodate
552       upstream changelogs which were formatted as HTML/ These
553       upstream changelog files should now be accessible as
554       /usr/doc/package/changelog.html.gz
555       + Symlinks are permissible to link the real, or upstream,
556         changelog name to the Debian mandated name.
557     - Clarified that HTML documentation should be present in some
558       package, though not necessarily the main binary package.
559     - Corrected all references to the location of the copyright
560       files. The correct location is /usr/doc/package/copyright
561     - Ratified the architecture specification strings to cater to the
562       HURD.
563
564 2.4.1.0                         Apr 1998
565
566   Policy Manual:
567     - Updated section 3.3.5 Symbolic links:
568       + symbolic links within a toplevel directory should be relative,
569         symbolic links between toplevel directories should be absolute
570         (cf., Policy Weekly Issue#6, topic 2)
571
572     - Updated section 4.9 Games:
573       + manpages for games should be installed in /usr/man/man6
574         (cf., Policy Weekly Issue#6, topic 3)
575
576   Packaging Manual:
577     - Updated prefix of chapter 12, Shared Libraries:
578       ldconfig must be called in the postinst script if the package
579       installs shared libraries
580       (cf., Policy Weekly Issue #6, fixes:bug#20515)
581
582 2.4.0.0                         Jan 1998
583
584     - Updated section 3.3.4 Scripts:
585       + /bin/sh may be any POSIX compatible shell
586       + scripts including bashisms have to specify /bin/bash as
587         interpreter
588       + scripts which create files in world-writable directories
589         (e.g., in /tmp) should use tempfile or mktemp for creating
590         the directory
591
592     - Updated section 3.3.5 Symbolic Links:
593       + symbolic links referencing compressed files must have the same
594         file extension as the referenced file
595
596     - Updated section 3.3.6 Device files:
597       + /dev/tty* serial devices should be used instead of /dev/cu*
598
599     - Updated section 3.4.2 Writing the scripts [in /etc/init.d]:
600       + all /etc/init.d scripts have to provide the following options:
601         start, stop, restart, force-reload
602       + the reload option is optional and must never stop and restart
603         the service
604
605     - Updated section 3.5 Cron jobs:
606       + cron jobs that need to be executed more often than daily should
607         be installed into /etc/cron.d
608
609     - Updated section 3.7 Menus:
610       + removed section about how to register HTML docs to `menu'
611         (the corresponding section in 4.4, Web servers and applications,
612         has been removed in policy 2.2.0.0 already, so this one was
613         obsolete)
614
615     - New section 3.8 Keyboard configuration:
616       + details about how the backspace and delete keys should be
617         handled
618
619     - New section 3.9 Environment variables:
620       + no program must depend on environment variables to get a
621         reasonable default configuration
622
623     - New section 4.6 News system configuration:
624       + /etc/news/organization and /etc/news/server should be supported
625         by all news servers and clients
626
627     - Updated section 4.7 Programs for the X Window System:
628       + programs requiring a non-free Motif library should be provided
629         as foo-smotif and foo-dmotif package
630       + if lesstif works reliably for such program, it should be linked
631         against lesstif and not against a non-free Motif library
632
633     - Updated section 4.9 Games:
634       + games for X Windows have to be installed in /usr/games, just as
635         non-X games
636
637 2.3.0.1, 2.3.0.0                Sep 1997
638
639         * new section `4.2 Daemons' including rules for
640           /etc/services, /etc/protocols, /etc/rpc, and /etc/inetd.conf
641
642         * updated section about `Configuration files':
643           packages may not touch other packages' configuration files
644
645         * MUAs and MTAs have to use liblockfile
646
647 2.2.0.0                         Jul 1997
648
649         * added section 4.1 `Architecture specification strings':
650           use
651                &lt;arch&gt;-linux
652           where &lt;arch&gt; is one of the following:
653                i386, alpha, arm, m68k, powerpc, sparc.
654
655         * detailed rules for /usr/local
656
657         * user ID's
658
659         * editor/pager policy
660
661         * cron jobs
662
663         * device files
664
665         * don't install shared libraries as executable
666
667         * app-defaults files may not be conffiles
668
669 2.1.3.2, 2.1.3.1, 2.1.3.0       Mar 1997
670
671         * two programs with different functionality must not have the
672           same name
673
674         * "Webstandard 3.0"
675
676         * "Standard for Console Messages"
677
678         * Libraries should be compiled with `-D_REENTRANT'
679
680         * Libraries should be stripped with "strip --strip-unneeded"
681
682 2.1.2.2, 2.1.2.1, 2.1.2.0       Nov 1996
683
684         * Some changes WRT shared libraries
685
686 2.1.1.0                         Sep 1996
687
688         * No hard links in source packages
689
690         * Do not use dpkg-divert or update-alternatives without consultation
691
692         * Shared libraries must be installed stripped
693
694 2.1.0.0                         Aug 1996
695
696         * Upstream changelog must be installed too
697 </pre>
698
699     <hr>
700
701   </body>
702 </html>
703
704 <!-- Keep this comment at the end of the file
705 Local variables:
706 mode: sgml
707 sgml-indent-data: t
708 sgml-live-element-indicator: t
709 sgml-set-face: t
710 End:
711 -->