root / pykota / trunk / qa-assistant / pykota.xml @ 3210

Revision 3210, 19.2 kB (checked in by jerome, 17 years ago)

Added more items.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id Revision
Line 
1<?xml version='1.0' encoding="UTF-8" ?>
2<!DOCTYPE checklist PUBLIC "-//BadgerWare//DTD QA Assistant Checklist File 0.3//EN" "http://qa-assistant.sf.net/dtds/checklist/0.3/checklist.dtd">
3<checklist version="0.3" name="PyKota Installation" revision="0.1">
4  <summary>Ensures PyKota downloaded from Subversion is installed and functional under Debian</summary>
5  <category name="Preliminary steps">
6    <description>Before being able to install PyKota, some packages have to be downloaded and installed.
7    </description>
8    <entry name="Install CUPS" display="true">
9      <states>
10        <state name="Pass">CUPS is installed</state>
11        <state name="Fail">CUPS is not installed</state>
12      </states>
13      <description>PyKota currently only works with the CUPS printing system, and must be installed on
14        the print server. So before installing PyKota you must first install CUPS.
15        You can install it with 'apt-get install cupsys'
16      </description>
17    </entry>
18    <entry name="Install Python &amp; Python Development packages" display="true">
19      <states>
20        <state name="Pass">Python is installed</state>
21        <state name="Fail">Python is not installed</state>
22      </states>
23      <description>PyKota is 100% written in the Python language. To install PyKota you
24        need both Python and Python's Distutils facility, available from Python's
25        development package.
26        You can install these packages with 'apt-get install python python-dev'
27      </description>
28    </entry>
29    <entry name="Install Subversion client" display="true">
30      <states>
31        <state name="Pass">Subversion is installed</state>
32        <state name="Fail">Subversion is not installed</state>
33      </states>
34      <description>PyKota's latest development tree is always available with Subversion, aka the 'svn' command.
35        To be able to download PyKota, the 'svn' command must be present.
36        You can install it with 'apt-get install subversion'
37      </description>
38    </entry>
39    <entry name="Download PyKota from development tree" display="true">
40      <states>
41        <state name="Pass">PyKota is downloaded</state>
42        <state name="Fail">PyKota is not downloaded</state>
43      </states>
44      <description>PyKota must be downloaded before being installed.
45        You can download its latest development tree with
46        'svn export svn://svn.librelogiciel.com/pykota/trunk pykota'
47      </description>
48    </entry>
49  </category>
50  <category name="Run pykota/checkdeps.py to look for missing dependencies">
51    <description>PyKota depends on a lot of third party software.
52      Some of them are required, other ones simply recommended : they don't
53      prevent most of PyKota from working, but some functionnalities will
54      be unavailable to you if they are not installed.
55    </description> 
56    <entry name="python-egenix-mxdatetime" display="true">
57      <states>
58        <state name="Pass">python-egenix-mxdatetime is installed</state>
59        <state name="Fail">python-egenix-mxdatetime is not installed</state>
60      </states>
61      <description>
62        python-egenix-mxdatetime is required for PyKota to work.
63        You must install it with 'apt-get install python-egenix-mxdatetime'
64      </description>
65    </entry>
66    <entry name="python-imaging" display="true">
67      <states>
68        <state name="Pass">python-imaging is installed</state>
69        <state name="Fail">python-imaging is not installed</state>
70      </states>
71      <description>
72        python-imaging is required for PyKota to work. While basic PyKota functionnality
73        may work without python-imaging, it is highly recommended that you install it
74        You must install it with 'apt-get install python-imaging'
75      </description>
76    </entry>
77    <entry name="python-pygresql" display="true">
78      <states>
79        <state name="Pass">python-pygresql is installed</state>
80        <state name="Fail">python-pygresql is not installed</state>
81        <state name="Not-Applicable">I don't want to use a PostgreSQL database backend for PyKota</state>
82      </states>
83      <description>
84        python-pygresql allows PyKota to use a PostgreSQL database backend.
85        If this is what you want you must install it with 'apt-get install python-pygresql'
86      </description>
87    </entry>
88    <entry name="python-ldap" display="true">
89      <states>
90        <state name="Pass">python-ldap is installed</state>
91        <state name="Fail">python-ldap is not installed</state>
92        <state name="Not-Applicable">I don't want to use an LDAP database backend for PyKota</state>
93      </states>
94      <description>
95        python-ldap allows PyKota to use an LDAP database backend.
96        If this is what you want you must install it with 'apt-get install python-ldap'
97      </description>
98    </entry>
99    <entry name="python-mysqldb" display="true">
100      <states>
101        <state name="Pass">python-mysqldb is installed</state>
102        <state name="Fail">python-mysqldb is not installed</state>
103        <state name="Not-Applicable">I don't want to use a MySQL database backend for PyKota</state>
104      </states>
105      <description>
106        python-mysqldb allows PyKota to use a MySQL database backend.
107        If this is what you want you must install it with 'apt-get install python-mysqldb'
108      </description>
109    </entry>
110    <entry name="python-pysqlite2" display="true">
111      <states>
112        <state name="Pass">python-pysqlite2 is installed</state>
113        <state name="Fail">python-pysqlite2 is not installed</state>
114        <state name="Not-Applicable">I don't want to use an SQLite database backend for PyKota</state>
115      </states>
116      <description>
117        python-pysqlite2 allows PyKota to use an SQLite database backend.
118        If this is what you want you must install it with 'apt-get install python-pysqlite2'
119      </description>
120    </entry>
121    <entry name="python-osd" display="true">
122      <states>
123        <state name="Pass">python-osd is installed</state>
124        <state name="Fail">python-osd is not installed</state>
125        <state name="Not-Applicable">I don't want to use 'pykosd', PyKota's X-Window end user print quota reminder</state>
126      </states>
127      <description>
128        python-osd is only needed if you want to use the 'pykosd' utility, which is an X-Window
129        print quota reminded for end users.
130        You can install it with 'apt-get install python-osd'
131      </description>
132    </entry>
133    <entry name="python-pysnmp4" display="true">
134      <states>
135        <state name="Pass">python-pysnmp4 is installed</state>
136        <state name="Fail">python-pysnmp4 is not installed</state>
137        <state name="Not-Applicable">I don't want to use PyKota's internal SNMP hardware accounting</state>
138      </states>
139      <description>
140        python-pysnmp4 allows PyKota to compute the size of print jobs by retrieving a printer's
141        internal page counter through SNMP queries at the start and at the end of printing.
142        If you don't want to use hardware accounting you don't need to install this module.
143        You can install it with 'apt-get install python-pysnmp4'
144      </description>
145    </entry>
146    <entry name="python-jaxml" display="true">
147      <states>
148        <state name="Pass">python-jaxml is installed</state>
149        <state name="Fail">python-jaxml is not installed</state>
150        <state name="Not-Applicable">I don't want to use PyKota's XML data dumping facilities</state>
151      </states>
152      <description>
153        python-jaxml allows PyKota's data dumper command, named 'dumpykota' to dump the database's contents
154        into XML formatted documents.
155        If you don't want to use this facility, the data dumper can still dump in several CSV formats.
156        You can install it with 'apt-get install python-jaxml'
157      </description>
158    </entry>
159    <entry name="python-reportlab" display="true">
160      <states>
161        <state name="Pass">python-reportlab is installed</state>
162        <state name="Fail">python-reportlab is not installed</state>
163        <state name="Not-Applicable">I don't want to use PyKota banners, nor its invoicing and refunding modules</state>
164      </states>
165      <description>
166        python-reportlab allows PyKota to generate PDF documents as part of its invoicing and refunding modules, and
167        is also used to produce PyKota generated dynamic banner pages for print jobs.
168        If you don't want to use any of these facilities, you don't need to install this module.
169        You can install it with 'apt-get install python-reportlab'
170      </description>
171    </entry>
172    <entry name="python-chardet" display="true">
173      <states>
174        <state name="Pass">python-chardet is installed</state>
175        <state name="Fail">python-chardet is not installed</state>
176        <state name="Non-Blocker">Our system is correctly configured and up-to-date so PyKota won't need this module</state>
177      </states>
178      <description>
179        python-chardet allows PyKota to automatically detect the character set used in a print job's textual information (like its title)
180        in the case your system and/or installed release of CUPS doesn't produce UTF-8.
181        It can also be useful when dumping incorrectly encoded database contents (because of the problem mentioned
182        above).
183        You can install it with 'apt-get install python-chardet'
184      </description>
185    </entry>
186    <entry name="python-pam" display="true">
187      <states>
188        <state name="Pass">python-pam is installed</state>
189        <state name="Fail">python-pam is not installed</state>
190        <state name="Non-Blocker">I don't want to force the authentication of end users at printing time through pknotify+PyKotIcon</state>
191      </states>
192      <description>
193        python-pam allows PyKota to check an user's name and password through PAM at printing time, provided you
194        use the PyKotIcon end user helper tool on all client hosts.
195        If you don't have guest logins or people with administrator (or root) access on their own
196        machine, you probably don't need this module.
197        You can install it with 'apt-get install python-pam'
198      </description>
199    </entry>
200    <entry name="python-pkipplib" display="true">
201      <states>
202        <state name="Pass">python-pkipplib is installed</state>
203        <state name="Fail">python-pkipplib is not installed</state>
204        <state name="Non-Blocker">PyKota v1.26 is the latest release which still falls back to another method if pkipplib is not installed</state>
205      </states>
206      <description>
207        python-pkipplib allows PyKota to dialog with CUPS directly, instead of having to parse CUPS' configuration file to learn some details.
208        Unfortunately this library is not yet available as a package, so you must download and install it manually.
209        You can download it with 'wget http://www.pykota.com/software/pkipplib/download/tarballs/pkipplib-0.07.tar.gz'
210      </description>
211    </entry>
212    <entry name="pkpgcounter" display="true">
213      <states>
214        <state name="Pass">pkpgcounter is installed</state>
215        <state name="Fail">pkpgcounter is not installed</state>
216        <state name="Non-Blocker">Only advanced PyKota administrators can make PyKota work without pkpgcounter. I am an Advanced PyKota Administrator</state>
217      </states>
218      <description>
219        pkpgcounter is PyKota's Page Description Languages parser. It really is the heart of software based
220        accounting methods in PyKota, since it is responsible for counting pages and computing ink usage.
221        While you can make PyKota work without pkpgcounter, this is not recommended excepted in the
222        situations where you've got a better or faster parser.
223        Unfortunately this software is not yet available as a package, so you must download and install it manually.
224        You can download it with 'wget http://www.pykota.com/software/pkpgcounter/download/tarballs/pkpgcounter-2.17.tar.gz'
225      </description>
226    </entry>
227    <entry name="python-psyco" display="true">
228      <states>
229        <state name="Pass">python-psyco is installed</state>
230        <state name="Fail">python-psyco is not installed</state>
231        <state name="Not-Applicable">python-psyco is not supported on this platform</state>
232      </states>
233      <description>
234        python-psyco is an accelerator module for the Python language which can make the parsing
235        of Page Description Languages by pkpgcounter faster.
236        It is only supported on the x86 platform though, so if you use something else you
237        won't be able to install it.
238        It recommended but not necessary that you install it for PyKota to work.
239        You can install it with 'apt-get install python-psyco'
240      </description>
241    </entry>
242  </category>
243  <category name="Print Server Installation procedure">
244    <description>PyKota needs to be installed on the CUPS server.
245    </description> 
246    <entry name="Go to PyKota's download directory" display="true">
247      <states>
248        <state name="Pass">Working directory is now pykota/</state>
249        <state name="Fail">Current working directory is not pykota/</state>
250      </states>
251      <description>
252        PyKota's installation script expects to be run from PyKota's download directory.
253        You've previously downloaded PyKota into the ./pykota/ directory, so
254        you can go to this directory with 'cd pykota'
255      </description>
256    </entry>
257    <entry name="Install PyKota's files" display="true">
258      <states>
259        <state name="Pass">PyKota files are installed</state>
260        <state name="Fail">PyKota's files are not installed</state>
261      </states>
262      <description>
263        PyKota's files must be installed on your system for PyKota to work.
264        Once you're in the pykota/ directory you can install them
265        with 'python setup.py install'
266      </description>
267    </entry>
268    <entry name="Create a 'pykota' system group" display="true">
269      <states>
270        <state name="Pass">The 'pykota' system group exists</state>
271        <state name="Fail">The 'pykota' system group doesn't exist</state>
272      </states>
273      <description>
274        PyKota requires a dedicated system group named 'pykota', you can create
275        it with 'addgroup --system pykota'
276      </description>
277    </entry>
278    <entry name="Create a 'pykota' system user in group 'pykota'" display="true">
279      <states>
280        <state name="Pass">The 'pykota' system user exists</state>
281        <state name="Fail">The 'pykota' system user doesn't exist</state>
282      </states>
283      <description>
284        PyKota requires a dedicated system user named 'pykota'.
285        You can create it with 'adduser --system --ingroup pykota --home /etc/pykota --gecos PyKota pykota'
286      </description>
287    </entry>
288    <entry name="Copy PyKota's sample configuration file from conf/" display="true">
289      <states>
290        <state name="Pass">pykota.conf now exists in ~pykota/</state>
291        <state name="Fail">pykota.conf doesn't exist in ~pykota/</state>
292      </states>
293      <description>
294        PyKota's main configuration file is named 'pykota.conf' and must be present in user pykota's home directory,
295        by default /etc/pykota/
296      </description>
297    </entry>
298    <entry name="Copy PyKota's sample administrative configuration file from conf/" display="true">
299      <states>
300        <state name="Pass">pykotadmin.conf now exists in ~pykota/</state>
301        <state name="Fail">pykotadmin.conf doesn't exist in ~pykota/</state>
302      </states>
303      <description>
304        PyKota's administrative configuration file is named 'pykotadmin.conf' and must be present in user pykota's home directory,
305        by default /etc/pykota/.
306        All users who can read this file have write access to PyKota's database.
307      </description>
308    </entry>
309    <entry name="Check permissions on PyKota's configuration files" display="true">
310      <states>
311        <state name="Pass">Permissions on configuration files are correct</state>
312        <state name="Fail">Permissions on configuration files are incorrect</state>
313      </states>
314      <description>
315        Any user who with read access to ~pykota/pykotadmin.conf will be considered a PyKota
316        administrator, with full read+write access to PyKota's database.
317        Any user with read access to ~pykota/pykota.conf will have read access to PyKota's database. Access
318        is limited to this particular user's personal datas and to impersonal datas like printers
319        informations. Take extreme care when relaxing the permissions on those files.
320        In any case, the user CUPS runs as, for example 'lp' or 'cupsys', MUST be given read
321        access to both of these files for PyKota to work. Under Debian, CUPS currently runs
322        as root, following the recommandations from CUPS' authors, so it's safe to make
323        both of these files owned by user pykota:pykota and chmod 0640. You can even
324        make ~pykota/pykotadmin.conf be chmod 0600 if you want to be really secure.
325      </description>
326    </entry>
327    <entry name="Modify PyKota's configuration files" display="true">
328      <states>
329        <state name="Pass">PyKota configuration files are correct</state>
330        <state name="Fail">PyKota configuration files are incorrect</state>
331      </states>
332      <description>
333        PyKota's configuration files must be adapted to your own configuration,
334        and you can do this with any text editor of your choice.
335        In particular, the usernames and passwords used for the readonly
336        and the read+write database accounts have to be put there.
337        You'll also define the print administrator's name and email address,
338        and define the hostname of your SMTP server.
339        Finally many configuration directives must be checked or modified
340        to control PyKota's behavior. To help you in doing this, the
341        sample configuration files which you have installed are
342        extensively documented with comments.
343      </description>
344    </entry>
345    <entry name="Setup the cupspykota backend" display="true">
346      <states>
347        <state name="Pass">cupspykota is installed</state>
348        <state name="Fail">cupspykota is not installed</state>
349      </states>
350      <description>
351        To be able to route printing traffic through PyKota, CUPS must
352        be told that PyKota is installed. To do this, we must
353        add the 'cupspykota' backend wrapper to CUPS' backend directory,
354        usually '/usr/lib/cups/backend'.
355        To do this the easiest is to create a symbolic link :
356        'ln -s /usr/share/pykota/cupspykota /usr/lib/cups/backend/'
357        and then '/etc/init.d/cupsys restart'
358      </description>
359    </entry>
360    <entry name="Verify that PyKota is known to CUPS" display="true">
361      <states>
362        <state name="Pass">PyKota is known to CUPS</state>
363        <state name="Fail">PyKota is not known to CUPS</state>
364      </states>
365      <description>
366        Once you've installed the 'cupspykota' backend wrapper and
367        restarted CUPS. You may want to check that CUPS recognizes it.
368        Just look at http://cupsserver.example.com:631/admin/ to see
369        if any 'PyKota managed' device is available. If none is available
370        the permissions on the cupspykota backend are probably incorrect
371        for your setup : the user CUPS runs as MUST be able to exectute
372        the 'cupspykota' backend wrapper, as well as to read both
373        PyKota's configuration files.
374      </description>
375    </entry>
376  </category> 
377</checklist>
Note: See TracBrowser for help on using the browser.