Changes between Version 1 and Version 2 of Packaging


Ignore:
Timestamp:
09/21/11 14:15:02 (3 years ago)
Author:
mitar
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Packaging

    v1 v2  
    11= Packaging = 
    22 
    3 ''TODO: Packaging is currently made by running a series of commands given in a packaging script for each supported platform. Probably it would be best to integrate this with `setup.py` and unify everything there, packaging scripts only to call `setup.py`.'' 
     3''TODO: Packaging is currently made by running a series of commands given in a packaging script for each supported platform. Probably it would be best to integrate this with `setup.py` and unify everything there, packaging scripts only to call `setup.py`.'' #865 
    44 
    55''TODO: We should also unify package names and versioning between platforms.'' 
     
    2929Installing is mostly cleaning up things and moving into proper packages (we try to keep GUI separate, in one package GUI and in the other package scripting/library part). 
    3030 
     31If you will be using unpackaged source dir directly as a source for packaging, you can now probably remove source subdir. 
     32 
     33We often copy `COPYING` and `LICENSES` files to documentation, if there is no packaging-specific way of dealing with that. 
     34 
     35=== List of files for scripting/library === 
     36 
     37 * orange/fixes 
     38 * orange/Orange 
     39 * orange/orange.so 
     40 * orange/orangeom.so 
     41 * orange/corn.so 
     42 * orange/statc.so 
     43 * orange/orangene.so 
     44 * orange/_orngCRS.so 
     45 * orange/orng*.py 
     46 * orange/mathutil.py 
     47 * orange/orange2to25.py 
     48 * orange/urllib2_file.py 
     49 * orange/widgetParser.py 
     50 
     51Together with that package should contain documentation for scripting/library part and `orange.pth` file pointing to the `orange` subdir of `site-packages` once Orange is installed there. Because `import orange` in fact loads `orange/orange.so`, so we need to add `orange` to Python path. 
     52 
     53Documentation is `doc` subdir, but without `doc/widgets`. 
     54 
     55=== List of files for GUI === 
     56 
     57Everything else. Documentation for GUI and widgets. Be careful, `orangeqt.so` should go here (the rest of `*.so` files should go to scripting/library package). 
     58 
     59Documentation is `doc/style.css` and `doc/widgets` subdir. 
     60 
     61=== Removing some files === 
     62 
     63Some files from source package do not need to be packaged for binary distribution. Here is a list of some candidates 
     64 
     65 * INSTALL.linux.txt 
     66 * doc/INSTALL.linux.txt 
     67 * c45.dll 
     68 * liborange_include.a 
     69 * updateOrange.py 
     70 
     71=== Configuration === 
     72 
     73For packaging it is useful to preconfigure Orange so that it knows where to find needed files. For example, where to find example datasets. This is done through manipulation of `orangerc.cfg` file to proper defaults. 
     74 
     75''TODO: Currently we are still using deprecated way of configuring datasets dir through `orngConfiguration.py`.'' #842 
     76 
     77''TODO: Icons should be moved from Python library dir and Orange should be configured accordingly.'' #557 
     78 
     79=== Executable === 
     80 
     81Opening Orange canvas should be also possible from command line. As this is platform specific a small wrapper is made while packaging which runs `orange/OrangeCanvas/orngCanvas.pyw`. We install this wrapper in `/usr/bin/orange`. Do not forget to set executable bit on this wrapper file. 
     82 
     83If the platform uses some standard menu or launcher for applications it is needed to register Orange canvas also there. 
     84 
    3185== Examples == 
     86 
     87Concrete scripts for above mentioned commands. You can also find used package names and descriptions here. 
     88 
     89There is also information about needed dependencies. 
    3290 
    3391 * [source:trunk/install-scripts/mac/fink/orange-gui-svn-py.info Fink package definition]