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