/[thuban]/branches/WIP-pyshapelib-bramz/ChangeLog
ViewVC logotype

Diff of /branches/WIP-pyshapelib-bramz/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1534 by jonathan, Thu Jul 31 12:44:30 2003 UTC revision 1619 by jan, Tue Aug 19 22:19:07 2003 UTC
# Line 1  Line 1 
1    2003-08-19  Jan-Oliver Wagner <[email protected]>
2    
3            Moved anything from extensions to libraries.
4    
5            * libraries: New.
6    
7            * libraries/ pyprojection, pyshapelib, shapelib, thuban: New.
8    
9            * libraries/pyprojection/ LICENSE, MANIFEST.in, Projection.i,
10            Projection.py, Projection_wrap.c, setup.py, swighelp.txt: These files have
11            been moved here from thuban/extensions/pyprojection/
12            See there in the Attic for the older history.
13    
14            * libraries/pyshapelib/ COPYING, ChangeLog, NEWS, README, dbflib.i,
15            dbflib.py, dbflib_wrap.c, pyshapelib_api.h, pytest.py, setup.py,
16            shapelib.i, shapelib.py, shapelib_wrap.c, shptreemodule.c: These files
17            have been moved here from thuban/extensions/pyshapelib/
18            See there in the Attic for the older history.
19    
20            * libraries/shapelib/ dbfopen.c, shapefil.h, shpopen.c, shptree.c: These
21            files have been moved here from thuban/extensions/shapelib/
22            See there in the Attic for the older history.
23    
24            * libraries/thuban/ bmpdataset.cpp, cpl_mfile.cpp, cpl_mfile.h,
25            gdalwarp.cpp, wxproj.cpp: These files have been moved here from
26            thuban/extensions/thuban/
27            See there in the Attic for the older history.
28    
29            * MANIFEST.in, setup.cfg, setup.py: renamed extensions to libraries.
30    
31            * extensions/thuban/ bmpdataset.cpp, cpl_mfile.cpp, cpl_mfile.h,
32            gdalwarp.cpp, wxproj.cpp: Moved to libraries/thuban.
33    
34            * extensions/shapelib/ dbfopen.c, shapefil.h, shpopen.c, shptree.c:
35            Moved to libraries/shapelib.
36    
37            * extensions/pyshapelib/ COPYING, NEWS, dbflib.py, pytest.py,
38            shapelib.py, README, dbflib_wrap.c, setup.py, shapelib_wrap.c,
39            ChangeLog, dbflib.i, pyshapelib_api.h, shapelib.i, shptreemodule.c:
40            Moved to libraries/pyshapelib.
41    
42            * extensions/pyprojection/ MANIFEST.in, Projection.py, setup.py,
43            LICENSE, Projection.i, Projection_wrap.c, swighelp.txt:
44            Moved to libraries/pyprojection.
45    
46            * extensions/ pyprojection, pyshapelib, shapelib, thuban: Removed.
47    
48            * extensions: Removed.
49    
50    2003-08-19  Bernhard Herzog  <[email protected]>
51    
52            * test/test_viewport.py (ViewPortTest): We don't use the
53            facilities of FileTestMixin so don't derive from it.
54            (TestViewportWithPostGIS): New class with tests for using a
55            viewport on a map with postgis layers.
56    
57    2003-08-19  Bernhard Herzog  <[email protected]>
58    
59            Add the db connection management to the session.
60    
61            * Thuban/Model/session.py (Session.__init__): New instance
62            variable db_connections
63            (Session.AddDBConnection, Session.DBConnections)
64            (Session.HasDBConnections, Session.CanRemoveDBConnection)
65            (Session.RemoveDBConnection): New methods to manage and query the
66            db connections managed by the session
67            (Session.OpenDBShapeStore): New method to open a shapestore from a
68            db connection
69    
70            * Thuban/Model/messages.py (DBCONN_REMOVED, DBCONN_ADDED): New
71            messages for the db connection handling in the session
72    
73            * test/test_postgis_session.py: New. test cases for the session's
74            db connection handling with postgis connections
75    
76    2003-08-19  Bernhard Herzog  <[email protected]>
77    
78            Add very basic postgis database support and the corresponding test
79            cases. The test cases require a PostgreSQL + postgis installation
80            but no existing database. The database will be created
81            automatically by the test cases
82    
83            * test/README: Add note about skipped tests and the requirements
84            of the postgis tests.
85    
86            * Thuban/Model/postgisdb.py: New. Basic postgis database support.
87    
88            * test/test_postgis_db.py: New. Test cases for the postgis
89            support.
90    
91            * Thuban/Model/wellknowntext.py: New. Parser for well-known-text
92            format
93    
94            * test/test_wellknowntext.py: New. Test cases for the
95            wellknowntext parser
96    
97            * test/postgissupport.py: New. Support module for tests involving
98            a postgis database.
99    
100            * test/support.py (execute_as_testsuite): Shut down the postmaster
101            if it's still running after the tests
102    
103            * Thuban/Model/data.py (RAW_WKT): New constant for raw data in
104            well known text format
105    
106    2003-08-19  Jan-Oliver Wagner <[email protected]>
107    
108            * Examples/simple_extensions/hello_world.py: New. Raises a Hello World
109            message dialog.
110    
111    2003-08-18  Bernhard Herzog  <[email protected]>
112    
113            * test/support.py (ThubanTestResult.printErrors): Indent the
114            reason for the skips in the output to make it a bit more readable.
115            (execute_as_testsuite): New helper function to run a test suite
116            and print some more information.
117            (run_tests): Use execute_as_testsuite to run the tests
118    
119            * test/runtests.py (main): Use execute_as_testsuite to run the
120            tests
121    
122    2003-08-18  Bernhard Herzog  <[email protected]>
123    
124            Fix some bugs in Thuban and the test suite that were uncovered by
125            changes introduced in Python 2.3:
126    
127            * Thuban/Model/table.py (DBFTable.__init__): Make sure the
128            filename is an absolute name
129    
130            * Thuban/Model/layer.py (RasterLayer.__init__): Make sure the
131            filename is an absolute name
132    
133            * test/test_save.py (SaveSessionTest.testRasterLayer): Use a
134            unique filename to save to and use the correct relative filename
135            in the expected output.
136            (SaveSessionTest.test_dbf_table): Use the correct relative
137            filename in the expected output.
138    
139            * test/test_layer.py (TestLayer.test_raster_layer): Update the
140            test to check whether the filename is absolute.
141    
142    2003-08-18  Jan-Oliver Wagner <[email protected]>
143    
144            * Thuban/UI/about.py (About.__init__): Added Silke Reimer.
145    
146    2003-08-15  Bernhard Herzog  <[email protected]>
147    
148            Change the way shapes are returned by a shape store. The
149            ShapesInRegion method returns an iterator over actual shape
150            objects instead of a list of shape ids.
151    
152            * Thuban/Model/data.py (ShapefileShape.ShapeID): New. Return shape
153            id.
154            (ShapefileStore.ShapesInRegion): Return an iterator over the
155            shapes which yields shape objects instead of returning a list of
156            shape ids
157            (ShapefileStore.AllShapes): New. Return an iterator over all
158            shapes in the shape store
159            (DerivedShapeStore.AllShapes): New. Like in ShapefileStore
160    
161            * Thuban/Model/layer.py (Layer.ShapesInRegion): Update
162            doc-string.
163    
164            * Thuban/UI/baserenderer.py
165            (BaseRenderer.layer_ids, BaseRenderer.layer_shapes): Rename to
166            layer_shapes and make it return an iterator containg shapes
167            instead of a list of ids.
168            (BaseRenderer.draw_shape_layer): Update doc-string; Adapt to
169            layer_shapes() change
170    
171            * Thuban/UI/renderer.py (ScreenRenderer.layer_ids)
172            (ScreenRenderer.layer_shapes): Rename as in BaseRenderer
173    
174            * Thuban/UI/viewport.py (ViewPort._find_shape_in_layer): Adapt to
175            changes in the ShapesInRegion return value.
176            (ViewPort._get_hit_tester): Remove commented out code
177    
178            * test/mockgeo.py (SimpleShapeStore.ShapesInRegion): Adapt to the
179            new return value.
180            (SimpleShapeStore.AllShapes): New. Implement this method too.
181    
182            * test/test_layer.py (TestLayer.test_arc_layer)
183            (TestLayer.test_polygon_layer, TestLayer.test_point_layer)
184            (TestLayer.test_point_layer_with_projection)
185            (TestLayer.test_derived_store): Adapt to changes in the
186            ShapesInRegion return value.
187    
188            * test/test_shapefilestore.py
189            (TestShapefileStoreArc.test_shapes_in_region)
190            (TestShapefileStorePolygon.test_shapes_in_region)
191            (TestShapefileStorePoint.test_shapes_in_region): Adapt to changes
192            in the ShapesInRegion return value.
193            (TestShapefileStorePoint.test_all_shapes)
194            (TestShapefileStoreArc.test_shape_shapeid): New tests for the new
195            methods
196    
197            * test/test_derivedshapestore.py
198            (TestDerivedShapeStore.test_shapes_in_region): Adapt to changes in
199            the ShapesInRegion return value.
200            (TestDerivedShapeStore.test_all_shapes)
201            (TestDerivedShapeStore.test_shape_shapeid): New tests for the new
202            methods
203    
204    2003-08-15  Bernhard Herzog  <[email protected]>
205    
206            Make the renderers deal correctly with raw vs. python level
207            representation of shape geometries
208    
209            * Thuban/UI/baserenderer.py (BaseRenderer.low_level_renderer):
210            Return a flag useraw in addition to the callable and the parameter
211            to indicate whether the callable can deal with the raw shape data
212            or uses the higher level python lists of coordinates. The callable
213            now should accept either the raw data or the return value of the
214            shape's Points() method.
215            (BaseRenderer.draw_shape_layer): Adapt to the low_level_renderer
216            change
217            (BaseRenderer.projected_points): Instead of the shape id use the
218            points list as parameter.
219            (BaseRenderer.draw_polygon_shape, BaseRenderer.draw_arc_shape)
220            (BaseRenderer.draw_point_shape): Adapt to projected_points()
221            change and accept the points list as parameter instead of the
222            shape id.
223    
224            * Thuban/UI/renderer.py (MapRenderer.low_level_renderer): Return
225            the useraw flag as required by the BaseRenderer
226            (ScreenRenderer.draw_shape_layer): Adapt to low-level renderer
227            changes.
228    
229            * test/test_baserenderer.py
230            (TestBaseRenderer.test_point_with_classification): New test for
231            rendering a map with classifications.
232    
233    2003-08-15  Bernhard Herzog  <[email protected]>
234    
235            * Thuban/UI/viewport.py (ViewPort.find_shape_at)
236            (ViewPort._find_shape_in_layer, ViewPort._find_shape_in_layer)
237            (ViewPort._get_hit_tester, ViewPort.projected_points)
238            (ViewPort._hit_point, ViewPort._hit_arc, ViewPort._hit_polygon)
239            (ViewPort._find_label_at): Split the find_shape_at method into
240            several new methods and use the functions in the hit-test module.
241    
242            * Thuban/UI/hittest.py: New module with Python-level hit-testing
243            functions
244    
245            * test/test_hittest.py: New. Test for the new hittest module
246    
247    2003-08-15  Bernhard Herzog  <[email protected]>
248    
249            * Thuban/Model/layer.py (Layer.ShapesInRegion): Apply the layer
250            projection to all corners of the bounding box to get a better
251            approximation of the projected bounding box
252    
253            * test/test_layer.py (TestLayer.test_point_layer_with_projection):
254            New. Test coordinate handling of a layer with a projection.
255            Catches the bug fixed in Layer.ShapesInRegion
256    
257    2003-08-15  Bernhard Herzog  <[email protected]>
258    
259            Move some of the mock objects in test_baserenderer into their own
260            module so they can easily be used from other tests
261    
262            * test/mockgeo.py: New test helper module with some mock objects
263            for geometry related things like shapes, shapestores and
264            projections.
265    
266            * test/test_mockgeo.py: New. Tests for the new helper module
267    
268            * test/test_baserenderer.py: Some of the mock-objects are in
269            mockgeo now.
270    
271    2003-08-12  Jan-Oliver Wagner <[email protected]>
272    
273            * Thuban/UI/about.py (About.__init__): Added Bj�rn Broscheit.
274    
275    2003-08-12  Bernhard Herzog  <[email protected]>
276    
277            * po/de.po: New. German translations by Bjoern Broscheit
278    
279    2003-08-12  Bernhard Herzog  <[email protected]>
280    
281            * Thuban/UI/projdialog.py (UnknownProjPanel._DoLayout): Translated
282            strings have to be one string literal.
283    
284    2003-08-11  Bernhard Herzog  <[email protected]>
285    
286            * test/support.py (FloatComparisonMixin.assertPointListEquals):
287            New. This method was used in various derived classes, but it's
288            better to have it here.
289    
290            * test/test_shapefilestore.py
291            (ShapefileStoreTests.assertPointListEquals): Removed. It's now in
292            FloatComparisonMixin
293    
294            * test/test_layer.py (TestLayer.assertPointListEquals): Removed.
295            It's now in FloatComparisonMixin
296    
297            * test/test_derivedshapestore.py
298            (TestDerivedShapeStore.assertPointListEquals): Removed. It's now
299            in FloatComparisonMixin
300    
301    2003-08-11  Bernhard Herzog  <[email protected]>
302    
303            * Thuban/UI/join.py (JoinDialog.OnJoin): Add missing space to
304            error message
305    
306    2003-08-08  Jan-Oliver Wagner <[email protected]>
307    
308            * Doc/manual/thuban-manual.xml: Now use authorgroup. Added revhistory
309            with version number.
310            Changed title to reflect version number of Thuban.
311    
312    2003-08-08  Jan-Oliver Wagner <[email protected]>
313    
314            * Thuban/UI/about.py (About.__init__): Reworked the hall of fame. Now
315            the list corresponds to the "About" web page.
316    
317    2003-08-08  Bernhard Herzog  <[email protected]>
318    
319            * Thuban/UI/projdialog.py (UTMProposeZoneDialog.dialogLayout):
320            Make sure translated strings are recognized as one string literal.
321    
322            * Thuban/UI/proj4dialog.py (UTMProposeZoneDialog.dialogLayout):
323            Make sure translated strings are recognized as one string literal.
324    
325            * Thuban/UI/classgen.py (ClassGenDialog.OnOK): Make sure
326            translated strings are recognized as one string literal.
327    
328            * Thuban/UI/application.py (ThubanApplication.OpenSession): Make
329            sure translated strings are recognized as one string literal.
330    
331    2003-08-07  Bernhard Herzog  <[email protected]>
332    
333            * Thuban/Model/data.py (DerivedShapeStore.RawShapeFormat): New.
334            Simply delegates to the original shapestore.
335    
336            * test/test_derivedshapestore.py
337            (TestDerivedShapeStore.test_raw_format): New. Test case for
338            DerivedShapeStore.RawShapeFormat
339    
340    2003-08-07  Bernhard Herzog  <[email protected]>
341    
342            Add raw data interface to shape objects.
343    
344            * Thuban/Model/data.py (ShapefileShape, Shape): Rname the shape
345            class to ShapefileShape which now holds shapefile specific
346            information.
347            (ShapefileShape.compute_bbox): Simplified to not cache any
348            information. The way this method is used that shouldn't matter
349            performance wise.
350            (ShapefileShape.RawData): New. Return the shapeid which is the raw
351            data format for shapes from shapefiles.
352            (ShapefileStore.RawShapeFormat): New. Return the raw datatype used
353            in the shape objects returned by a shapestore. For a
354            ShapefileStore this is always RAW_SHAPEFILE.
355            (RAW_PYTHON, RAW_SHAPEFILE): Constants for the RawShapeFormat
356            method.
357    
358            * test/test_shapefilestore.py
359            (TestShapefileStore.test_raw_format): New test to test the raw
360            format feature of shapes.
361    
362            * Thuban/Model/layer.py: Remove the unused import of Shape from
363            data. It was only there for interface compatibility but it's not
364            used inside of Thuban and the generic Shape class has gone away.
365    
366            * Thuban/UI/renderer.py (MapRenderer.low_level_renderer): Check
367            the raw data format and only use an optimized version of its a
368            shapefile.
369    
370    2003-08-07  Bernhard Herzog  <[email protected]>
371    
372            * test/test_baserenderer.py (SimpleShape): Shape class for the
373            tests.
374            (SimpleShapeStore.Shape): Use SimpleShape instead of
375            Thuban.Model.data.Shape to make the tests independed of the coming
376            changes.
377    
378    2003-08-07  Bernhard Herzog  <[email protected]>
379    
380            * test/support.py (SkipTest, ThubanTestResult, ThubanTestRunner)
381            (ThubanTestProgram): New classes that extend the respective
382            classes from unittest. These new version support skipping tests
383            under certain expected conditions. In the Thuban test suite we
384            uses this for tests that require the optional gdal support.
385            (run_tests): Use ThubanTestProgram instead of the unittest.main()
386    
387            * test/runtests.py (main): Use the new ThubanTestRunner instead of
388            the normal one from unittest
389    
390            * test/test_layer.py (TestLayer.test_raster_layer): If this test
391            is not run because gdal support isn't available report this to the
392            runner.
393    
394            * test/test_baserenderer.py
395            (TestBaseRenderer.test_raster_no_projection): Do not run this test
396            if gdal support isn't available and report this to the runner.
397    
398    2003-08-06  Bernhard Herzog  <[email protected]>
399    
400            Rearrange the renderers a bit, partly in preparation for changes
401            required for the postgis merge, partly to make it more testable.
402            Also make the representation of coordinates in Shapes more
403            consistent.
404    
405            * Thuban/UI/renderer.py (MapRenderer): Most of the code/methods in
406            this class is now in BaseRenderer. This class is now practically
407            only a specialization of BaseRenderer for rendering to an actual
408            wx DC.
409            (ScreenRenderer.draw_shape_layer): Use self.low_level_renderer()
410            to get the shapetype specific rendering functions.
411    
412            * Thuban/UI/baserenderer.py: New file with the basic rendering
413            logic. The code in this file is completely independend of wx.
414            (BaseRenderer): Class with the basic rendering logic
415    
416            * test/test_baserenderer.py: New. Test cases for BaseRenderer
417    
418            * Thuban/UI/view.py (MapCanvas.__init__): New instance variable
419            error_on_redraw to guard agains endless loops and stack overflows
420            when there's a bug in the rendering code that raises exceptions.
421            (MapCanvas.OnIdle, MapCanvas._do_redraw): Split the actual
422            rendering into a separate method _do_redraw so that error handling
423            is a bit easier. When an exception occurs, set error_on_redraw to
424            true. When it's true on entry to OnIdle do nothing and return
425            immediately.
426    
427            * Thuban/Model/data.py (ShapefileStore.Shape): For consistency, a
428            Shape object will always have the coordinates as a list of list of
429            coordinate pairs (tuples).
430            (Shape.compute_bbox): Adapt to new representation.
431    
432            * Thuban/UI/viewport.py (ViewPort.find_shape_at)
433            (ViewPort.LabelShapeAt): Adapt to new coordinate representation in
434            Shape objects.
435    
436            * test/test_shapefilestore.py
437            (ShapefileStoreTests.assertFloatTuplesEqual)
438            (ShapefileStoreTests.assertPointListEquals): Rename to
439            assertPointListEquals and change purpose to checking equality of
440            the lists returned by Shape.Points().
441            (TestShapefileStoreArc.test_shape)
442            (TestShapefileStorePolygon.test_shape)
443            (TestShapefileStorePoint.test_shape): Use the new
444            assertPointListEquals instead of assertFloatTuplesEqual
445    
446            * test/test_layer.py (TestLayer.assertFloatTuplesEqual)
447            (TestLayer.assertPointListEquals): Rename to assertPointListEquals
448            and change purpose to checking equality of the lists returned by
449            Shape.Points().
450            (TestLayer.test_arc_layer, TestLayer.test_arc_layer)
451            (TestLayer.test_polygon_layer, TestLayer.test_point_layer)
452            (TestLayer.test_derived_store): Use the new assertPointListEquals
453            instead of assertFloatTuplesEqual
454    
455            * test/test_derivedshapestore.py
456            (TestDerivedShapeStore.assertFloatTuplesEqual)
457            (TestDerivedShapeStore.assertPointListEquals): Rename to
458            assertPointListEquals and change purpose to checking equality of
459            the lists returned by Shape.Points().
460            (TestDerivedShapeStore.test_shape): Use the new
461            assertPointListEquals instead of assertFloatTuplesEqual
462    
463    2003-08-06  Jan-Oliver Wagner <[email protected]>
464    
465            * Thuban/UI/projdialog.py (UTMPanel._OnPropose): Added test for
466            a bounding box. A dialog is raised in case, no bounding box
467            is found. This fixes bug #2043:
468            https://intevation.de/rt/webrt?serial_num=2043
469    
470    2003-08-05  Bernhard Herzog  <[email protected]>
471    
472            * Thuban/Model/color.py (Color.__repr__): Make the repr of a color
473            object look like a Color instantiation. Formerly it looked like a
474            tuple.
475    
476            * test/test_color.py (TestColor.test_repr)
477            (TestColor.test_equality, TestColor.test_inequality): New. test
478            some more apects of the Color class
479            (TestTransparent.test_repr, TestTransparent.test_hex)
480            (TestTransparent.test_equality): New. Test cases for the
481            Transparent object.
482    
483    2003-08-04  Jan-Oliver Wagner <[email protected]>
484    
485            * Doc/manual/thuban-manual.xml: a number of small improvements.
486            The resulting file is the version submitted for GREAT-ER II.
487    
488    2003-08-01  Bernhard Herzog  <[email protected]>
489    
490            * Thuban/UI/resource.py, Thuban/UI/projdialog.py,
491            Thuban/UI/join.py, Thuban/UI/classgen.py, Thuban/UI/about.py,
492            Thuban/Model/resource.py: Insert cvs keywords and doc-strings.
493    
494            * Thuban/UI/common.py: Insert cvs keywords and doc-strings.
495            (Color2wxColour, wxColour2Color, ThubanBeginBusyCursor)
496            (ThubanEndBusyCursor): Add doc-strings
497    
498    2003-08-01  Bernhard Herzog  <[email protected]>
499    
500            First step towards PostGIS integration. More abstraction by movin
501            more code from the layer to the shapestore. More methods of the
502            layer are now simply delegated to the equivalent method of the
503            shapestore. The SHAPETYPE_* constants are now in data not in
504            layer.
505    
506            * Thuban/Model/data.py (SHAPETYPE_POLYGON, SHAPETYPE_ARC)
507            (SHAPETYPE_POINT, Shape): Move these constants and classes from
508            layer.py to data.py
509            (ShapefileStore.__init__): More Initialization for the new methods
510            and functionality.
511            (ShapefileStore.ShapeType, ShapefileStore.NumShapes)
512            (ShapefileStore.BoundingBox, ShapefileStore.ShapesInRegion)
513            (ShapefileStore.Shape): New methods that were formerly implemented
514            in the layer.
515            (DerivedShapeStore.Shape, DerivedShapeStore.ShapesInRegion)
516            (DerivedShapeStore.ShapeType, DerivedShapeStore.NumShapes)
517            (DerivedShapeStore.BoundingBox): New. DerivedShapeStore
518            equivalents of the new shape methods. These versions are simply
519            delegated to the original shapstore.
520    
521            * Thuban/Model/layer.py (SHAPETYPE_POLYGON, SHAPETYPE_ARC)
522            (SHAPETYPE_POINT, Shape): Removed. They're now in data.py
523            (Layer.SetShapeStore): Removed the initializatin of instance
524            variables that were needed for the stuff that's now in
525            ShapefileStore
526            (Layer.BoundingBox, Layer.NumShapes, Layer.ShapeType)
527            (Layer.Shape, Layer.ShapesInRegion): Simply delegate to the
528            shapestore.
529    
530            * Thuban/UI/classifier.py, Thuban/UI/renderer.py,
531            Thuban/UI/viewport.py: Import the SHAPETYPE_* constants from data
532            instead of layer.
533    
534            * test/test_shapefilestore.py: New. Tests for ShapefileStore.
535    
536            * test/test_derivedshapestore.py: New. Tests for DerivedShapeStore.
537    
538            * test/test_layer.py: Import the SHAPETYPE_* constants from data
539            instead of layer.
540            (TestLayer.test_derived_store): Remove the test for the exception
541            when instantiating the DerivedShapeStore with an incompatible
542            table which is now in test_derivedshapestore.py. Add some more
543            tests of the layer methods to determine whether they work for a
544            DerivedShapeStore as well.
545    
546  2003-07-31  Jonathan Coles   <[email protected]>  2003-07-31  Jonathan Coles   <[email protected]>
547    
548          * Doc/manual/thuban-manual.xml: Fix the list of required packages          * Doc/manual/thuban-manual.xml: Fix the list of required packages

Legend:
Removed from v.1534  
changed lines
  Added in v.1619

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26