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