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