1 <html><head><title>Policy checklist for upgrading your packages</title></head>
4 <h1>Policy checklist for upgrading your packages</h1>
6 <h2>About the checklist</h2>
8 The checklist below has been created to simplify the upgrading process
9 of old packages. Note, that this list is not `official.' If you have
10 doubts about a certain topic, if you need more details, or if you
11 think some other package does not comply with policy, please refer to
15 Here is how the check list works: Check out which policy version your
16 packages complies with currently. Than move upwards until the top and
17 check which of the items on the list might concern your package. If an
18 item does not give you enough details, please check out the Policy
22 <h2>The checklist</h2>
29 - Updated section 3.3.5 Symbolic links:
30 + symbolic links within a toplevel directory should be relative,
31 symbolic links between toplevel directories should be absolute
32 (cf., Policy Weekly Issue#6, topic 2)
34 - Updated section 4.9 Games:
35 + manpages for games should be installed in /usr/man/man6
36 (cf., Policy Weekly Issue#6, topic 3)
39 - Updated prefix of chapter 12, Shared Libraries:
40 ldconfig must be called in the postinst script if the package
41 installs shared libraries
42 (cf., Policy Weekly Issue #6, fixes:bug#20515)
46 - Updated section 3.3.4 Scripts:
47 + /bin/sh may be any POSIX compatible shell
48 + scripts including bashisms have to specify /bin/bash as
50 + scripts which create files in world-writable directories
51 (e.g., in /tmp) should use tempfile or mktemp for creating
54 - Updated section 3.3.5 Symbolic Links:
55 + symbolic links referencing compressed files must have the same
56 file extension as the referenced file
58 - Updated section 3.3.6 Device files:
59 + /dev/tty* serial devices should be used instead of /dev/cu*
61 - Updated section 3.4.2 Writing the scripts [in /etc/init.d]:
62 + all /etc/init.d scripts have to provide the following options:
63 start, stop, restart, force-reload
64 + the reload option is optional and must never stop and restart
67 - Updated section 3.5 Cron jobs:
68 + cron jobs that need to be executed more often than daily should
69 be installed into /etc/cron.d
71 - Updated section 3.7 Menus:
72 + removed section about how to register HTML docs to `menu'
73 (the corresponding section in 4.4, Web servers and applications,
74 has been removed in policy 2.2.0.0 already, so this one was
77 - New section 3.8 Keyboard configuration:
78 + details about how the backspace and delete keys should be
81 - New section 3.9 Environment variables:
82 + no program must depend on environment variables to get a
83 reasonable default configuration
85 - New section 4.6 News system configuration:
86 + /etc/news/organization and /etc/news/server should be supported
87 by all news servers and clients
89 - Updated section 4.7 Programs for the X Windows system:
90 + programs requiring a non-free Motif library should be provided
91 as foo-smotif and foo-dmotif package
92 + if lesstif works reliably for such program, it should be linked
93 against lesstif and not against a non-free Motif library
95 - Updated section 4.9 Games:
96 + games for X Windows have to be installed in /usr/games, just as
99 2.3.0.1, 2.3.0.0 Sep 97
101 * new section `4.2 Daemons' including rules for
102 /etc/services, /etc/protocols, /etc/rpc, and /etc/inetd.conf
104 * updated section about `Configuration files':
105 packages may not touch other packages' configuration files
107 * MUAs and MTAs have to use liblockfile
111 * added section 4.1 `Architecture specification strings':
114 where <arch> is one of the following:
115 i386, alpha, arm, m68k, powerpc, sparc.
117 * detailed rules for /usr/local
121 * editor/pager policy
127 * don't install shared libraries as executable
129 * app-defaults files may not be conffiles
131 2.1.3.2, 2.1.3.1, 2.1.3.0 Mar 97
133 * two programs with different functionality must not have the
138 * "Standard for Console Messages"
140 * Libraries should be compiled with `-D_REENTRANT'
142 * Libraries should be stripped with "strip --strip-unneeded"
144 2.1.2.2, 2.1.2.1, 2.1.2.0 Nov 96
146 * Some changes WRT shared libraries
150 * No hard links in source packages
152 * Do not use dpkg-divert or update-alternatives without consultation
154 * Shared libraries must be installed stripped
158 * Upstream changelog must be installed too