]> git.donarmstrong.com Git - debian/debian-policy.git/blob - upgrading-checklist.html
* Corrected typos and grammatical errors found by Sean Perry
[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     upgrading-checklist.html
6     Author           : Manoj Srivastava ( srivasta@tiamat.datasync.com )
7     Created On       : Thu Oct 29 20:54:48 1998
8     Created On Node  : tiamat.datasync.com
9     Last Modified By : Manoj Srivastava
10     Last Modified On : Fri Jan 19 14:01:36 2001
11     Last Machine Used: glaurung.green-gryphon.com
12     Update Count     : 15
13     Status           : Unknown, Use with caution!
14     HISTORY          :
15     Description      :
16
17     -->
18
19
20     <title>Policy checklist for upgrading your packages</title>
21   </head>
22   <body>
23
24     <h1>Policy checklist for upgrading your packages</h1>
25
26     <h2>About the checklist</h2>
27
28 <p>
29 The checklist below has been created to simplify the upgrading process
30 of old packages. Note, that this list is not `official.' If you have
31 doubts about a certain topic, if you need more details, or if you
32 think some other package does not comply with policy, please refer to
33 the Policy Manual.
34 </p>
35
36 <p>
37 Here is how the check list works: Check out which policy version your
38 packages complies with currently. Than move upwards until the top and
39 check which of the items on the list might concern your package. If an
40 item does not give you enough details, please check out the Policy
41 Manual.
42 </p>
43
44 <h2>The checklist</h2>
45
46 <pre>
47 3.5.1.0                    Feb 01
48   Policy Manual:
49      - dpkg-shlibdeps now uses objdump, so shared libraries have to be
50        run through dpkg-shlibdeps as well as executables
51
52 3.5.0.0                    Jan 01
53
54   Policy Manual:
55      - If your package had fonts for the X Window System, and you
56        converted BDF to PCF formats, the <tt>bdftopcf</tt> utility has
57        moved to the xutils package.
58      - Font packages for the X Window System must now declare a
59        dependency on xutils >= 4.0.2
60
61 3.2.1.1                    Jan 01
62
63   Policy Manual:
64      - If your package has a daemon startup script in /etc/init.d/,
65        and that script has parameters a system administrator may need,
66        you need to modify the script to read values from a conffile
67        placed in /etc/default/ directory. This conffile maybe sourced
68        by the init.d script to determine the sonfigurable values (and
69        the conffile may contain only variable settings and comments).
70      - Files in /usr/share/doc may not be referenced by any
71        program. If such files are needed, they must be placed in
72        /usr/share/package-name/, and symbolic links created as required
73        in /usr/share/doc/package-name/
74      - Much of the packaging manual has now been imported into the
75        policy document
76
77 3.2.1.0                    Aug 00
78
79   Policy Manual:
80      - A package of priority standard or higher may provide two
81        binaries, one compiled with support for the X Window System,
82        and the other without.
83
84 3.2.0.0                    Aug 00
85
86   Policy Manual:
87      - By default executables should not be built with the debugging
88        option -g. Instead, it is recommended to support building the
89        package with debugging information optionally. Please look at the
90        examples using  DEB_BUILD_OPTIONS in the policy manual.
91      - Policy for packages where the upstream uses html changelog
92        files has been expanded. In short, a plain text changelog file
93        should always be generated for the upstream changes.
94      - Please note that the new release of the X window system (4.x)
95        shall probably need sweeping changes in policy.
96      - Policy for packages providing an X server has been codified
97        (formalizes existing practice - use virtual package xserver)
98      - Policy for packages providing an X terminal emulator has been
99        codified (use virtual package x-terminal-emulator)
100      - Policy for packages providing an X window manager has been
101        codified (use virtual package x-window-manager, and also as an
102        alternative for /usr/bin/x-window-manager. The policy has
103        guidelines on how to calculate priority)
104      - Policy for packages providing an X fonts has been
105        codified. Please look into the manual for details; this section
106        has been written from scratch.
107      - Policy for packages using the X Window System and FHS issues
108        has been clarified. Please read the manual for details.
109      - Policy for packages providing an X application default has been
110        clarified.
111      - No package may contain or make hard links to conffiles.
112
113   Packaging Manual:
114      - Noted that newer dpkg versions do not require extreme care in
115        always creating the shared lib before the symlink, so the unpack
116        order be correct.
117
118 3.1.1.0                    Nov 99
119
120   Packaging Manual:
121      - Correction to semantics of architecture lists in Build-Depends
122       etc.  Should not affect many packages.
123
124 3.1.0.0                    Oct 99
125
126   Policy Manual:
127      - /usr/doc/&lt;package&gt; has to be a symlink pointing to
128        /usr/share/doc/&lt;package&gt;.  This symlink has to be
129        maintained by postinst and prerm, because dpkg will cause
130        problems otherwise.  Create/remote the symlinks using debhelper
131        or see section "6.4. Accessing the documentation" for more
132        information.
133      - Introduced source dependencies.  (Whereas this ought to demand a
134        major policy number rise, we've only just had one of them, so
135        I'm going to use a minor number instead.)
136      - /etc/rc.boot has been deprecated in favour of /etc/rcS.d.
137        Packages should not be touching this directory, anyway, but
138        should use update-rc.d instead.
139      - update-rc.d is now the *only* allowable way of accessing the
140        /etc/rc?.d/[SK]??* links.  Any scripts which manipulate them
141        directly must be changed to use update-rc.d instead.  (This is
142        because the file-rc package handles this information in an
143        incompatible way.)
144      - Compiled examples go in /usr/lib/&lt;package&gt;/examples with
145        symlinks from /usr/share/doc/&lt;package&gt;/examples/* or from
146        /usr/share/doc/&lt;package&gt;/examples itself.
147      - Updated FHS to a 2.1 draft; this reverts /var/state to
148       /var/lib.
149      - Added MIME sub-policy document.
150      - VISUAL is allowed as a (higher priority) alternative to EDITOR.
151      - Modified liblockfile description, which affects
152        mailbox-accessing programs.  Please see the policy document for
153        details.
154      - If a package provides a changelog in HTML format, a text-only
155        version should also be included.  Such a version may be prepared
156        using lynx -dump -nolist.)
157
158   Packaging Manual:
159      - Description of how to handle version numbers based on dates
160        added: see section 5.1.
161
162
163 3.0.1.0                    Jul 99
164
165   Policy Manual:
166     -  Added the clarification that the .la files are essential for the
167        packages using libtool's libltdl library, in which case the
168        .la files must go in the run-time library package.
169
170
171 3.0.0.0                    Jun 99
172
173   Policy Manual:
174     - Debian formally moves from the FSSTND to the FHS. This is a
175       major change, and the implications of this move are probably
176       not all known.
177     - Only 3 digits of the Standards version need be included in
178       control files, though all four digits are still permitted.
179     - The location of the GPL has changed to
180       /usr/share/common-licenses. This may require changing the
181       copyright files to point to the correct location of the GPL and
182       other major licenses
183     - Packages that use libtool to create shared libraries must
184       include the .la files in the -dev packages.
185     - Use logrotate to rotate log files
186     - section 5.8 has been rewritten (Programs for the X Window
187       System)
188     - There is now anassociated menu policy, in a separate document,
189       that carries the full weight of Debian policy.
190     - The files `/var/run/utmp', `/var/log/wtmp' and
191       `/var/log/lastlog' must be installed writeable by group
192       utmp. Programs who need to modify those files must be installed
193       install setgid utmp.
194
195
196 2.5.0.0                         Oct 98
197
198   Policy Manual:
199     - Rearranged the manual to create a new Section 4, Files
200       + Section 3.3 ("Files") was moved to Section 4. The Sections
201         that  were Section 4 and Section 5 were  moved down to become
202         Section 5 and Section 6.
203       + What was Section 5.5 ("Log files") is now a subsection of the
204         new Section 4 ("Files"), becoming section 4.8, placed after
205         "Configuration files", moving the Section 4.8 ("Permissions
206         and owners") to Section 4.9.  All subsections of the old
207         Section 5 after 5.5  were moved down to fill in the number
208         gap.
209     - Modified the section about changelog files to accommodate
210       upstream changelogs which were formatted as HTML/ These
211       upstream changelog files should now be accessible as
212       /usr/doc/package/changelog.html.gz
213       + Symlinks are permissible to link the real, or upstream,
214         changelog name to the Debian mandated name.
215     - Clarified that HTML documentation should be present in some
216       package, though not necessarily the main binary package.
217     - Corrected all references to the location of the copyright
218       files. The correct location is /usr/doc/package/copyright
219     - Ratified the architecture specification strings to cater to the
220       HURD.
221
222 2.4.1.0                         Apr 98
223
224   Policy Manual:
225     - Updated section 3.3.5 Symbolic links:
226       + symbolic links within a toplevel directory should be relative,
227         symbolic links between toplevel directories should be absolute
228         (cf., Policy Weekly Issue#6, topic 2)
229
230     - Updated section 4.9 Games:
231       + manpages for games should be installed in /usr/man/man6
232         (cf., Policy Weekly Issue#6, topic 3)
233
234   Packaging Manual:
235     - Updated prefix of chapter 12, Shared Libraries:
236       ldconfig must be called in the postinst script if the package
237       installs shared libraries
238       (cf., Policy Weekly Issue #6, fixes:bug#20515)
239
240 2.4.0.0                         Jan 98
241
242     - Updated section 3.3.4 Scripts:
243       + /bin/sh may be any POSIX compatible shell
244       + scripts including bashisms have to specify /bin/bash as
245         interpreter
246       + scripts which create files in world-writable directories
247         (e.g., in /tmp) should use tempfile or mktemp for creating
248         the directory
249
250     - Updated section 3.3.5 Symbolic Links:
251       + symbolic links referencing compressed files must have the same
252         file extension as the referenced file
253
254     - Updated section 3.3.6 Device files:
255       + /dev/tty* serial devices should be used instead of /dev/cu*
256
257     - Updated section 3.4.2 Writing the scripts [in /etc/init.d]:
258       + all /etc/init.d scripts have to provide the following options:
259         start, stop, restart, force-reload
260       + the reload option is optional and must never stop and restart
261         the service
262
263     - Updated section 3.5 Cron jobs:
264       + cron jobs that need to be executed more often than daily should
265         be installed into /etc/cron.d
266
267     - Updated section 3.7 Menus:
268       + removed section about how to register HTML docs to `menu'
269         (the corresponding section in 4.4, Web servers and applications,
270         has been removed in policy 2.2.0.0 already, so this one was
271         obsolete)
272
273     - New section 3.8 Keyboard configuration:
274       + details about how the backspace and delete keys should be
275         handled
276
277     - New section 3.9 Environment variables:
278       + no program must depend on environment variables to get a
279         reasonable default configuration
280
281     - New section 4.6 News system configuration:
282       + /etc/news/organization and /etc/news/server should be supported
283         by all news servers and clients
284
285     - Updated section 4.7 Programs for the X Windows system:
286       + programs requiring a non-free Motif library should be provided
287         as foo-smotif and foo-dmotif package
288       + if lesstif works reliably for such program, it should be linked
289         against lesstif and not against a non-free Motif library
290
291     - Updated section 4.9 Games:
292       + games for X Windows have to be installed in /usr/games, just as
293         non-X games
294
295 2.3.0.1, 2.3.0.0                Sep 97
296
297         * new section `4.2 Daemons' including rules for
298           /etc/services, /etc/protocols, /etc/rpc, and /etc/inetd.conf
299
300         * updated section about `Configuration files':
301           packages may not touch other packages' configuration files
302
303         * MUAs and MTAs have to use liblockfile
304
305 2.2.0.0                         Jul 97
306
307         * added section 4.1 `Architecture specification strings':
308           use
309                &lt;arch&gt;-linux
310           where &lt;arch&gt; is one of the following:
311                i386, alpha, arm, m68k, powerpc, sparc.
312
313         * detailed rules for /usr/local
314
315         * user ID's
316
317         * editor/pager policy
318
319         * cron jobs
320
321         * device files
322
323         * don't install shared libraries as executable
324
325         * app-defaults files may not be conffiles
326
327 2.1.3.2, 2.1.3.1, 2.1.3.0       Mar 97
328
329         * two programs with different functionality must not have the
330           same name
331
332         * "Webstandard 3.0"
333
334         * "Standard for Console Messages"
335
336         * Libraries should be compiled with `-D_REENTRANT'
337
338         * Libraries should be stripped with "strip --strip-unneeded"
339
340 2.1.2.2, 2.1.2.1, 2.1.2.0       Nov 96
341
342         * Some changes WRT shared libraries
343
344 2.1.1.0                         Sep 96
345
346         * No hard links in source packages
347
348         * Do not use dpkg-divert or update-alternatives without consultation
349
350         * Shared libraries must be installed stripped
351
352 2.1.0.0                         Aug 96
353
354         * Upstream changelog must be installed too
355 </pre>
356
357     <hr>
358
359   </body>
360 </html>
361
362 <!-- Keep this comment at the end of the file
363 Local variables:
364 mode: sgml
365 sgml-indent-data: t
366 sgml-live-element-indicator: t
367 sgml-set-face: t
368 End:
369 -->