Re: Question on Salome package organization

2010-05-05 Thread Andre Espaze
Hello Adam,

Thank you very much for your detailed reply, I am glad to see
that we share the same views on the Salome package organization.

  but I would suggest
  such kind of organization:
  
  - salome-core (the usual pre and post processings)
  - salome-core-dev (its development files)
  - salome-advance (the advanced uses)
  - salome-advance-dev (its development files)
  - salome-dev (every module for the Salome developer with
  development files)
  - salome-doc (the actual documentation)
 
 I like this organization.  It's something like the transition we did for
 Open CASCADE a couple of years ago, led by Jason Kraftcheck and Denis
 Barbier. [1]
 
 [1] http://lists.debian.org/debian-science/2008/01/msg00013.html
 
 I have a few suggestions:
   * There are a lot of [T|t]est* binaries in the salome package.
 It would be good to separate these out into salome-core-test
 etc. packages so one doesn't need to install them along with the
 main binaries.
   * The shared libraries should go in their own packages, such as
 libsalome-core etc.  Because their interface changes with every
 version, they should probably change from the 0.0.0 version
 designation to using the libtool -release flag with the
 package version, e.g. libGLViewer-5.1.3.so .
   * I think there should be a package called plain salome with the
 core functionality which people expect to have when they think
 of Salomé.
   * The documentation also desparately needs to break up!  I suggest
 salome-doc for the non-built docs, and salome-user-doc and
 salome-dev-doc for the docs made with make -C [MODULE]/doc
 usr_docs and dev_docs respectively.
   * As for implementation, instead of SALOME_MODULES, perhaps we can
 have SALOME_CORE_MODULES, etc., and install them with DESTDIR=
 $(CURDIR)/debian/salome-core or -advanced etc., and then move
 around the shared libs, header files, symlinks, and python files
 from there.
I agree with all those points.
 
  Another solution would be to provide a package for every Salome module
  but it seems to be confusing because of the modules number. Moreover the
  package creations is going to become inconvenient while producing very
  little improvement to the user. Who is going to create a mesh without
  using the GUI but only through a CORBA service (thus installing only
  salome-kernel and salome-smesh)? The same scenario can be repeated to
  others modules as well.
 
 I agree this would not be a helpful solution.
 
  In conclusion, is it worth to wonder about a new Salome package
  organization?
 
 Definitely!  Thanks for the suggestion.  It will all take a lot of work,
 and should probably happen after the initial package goes into unstable,
 but it will make people's lives much easier in the post-squeeze release.
Great! How do you imagine the Debian building of such packages? Should
we keep the actual debian/rules with the complete source code and list
precisely files for every package in the debian/*.files? Or should we
split the source code between core, advance and dev and have several
debian/rules but easy to write debian/*.files?

With kind regards,

André


-- 
To UNSUBSCRIBE, email to debian-science-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20100505081131.gc20...@crater.logilab.fr



Re: Question on Salome package organization

2010-04-27 Thread Nicolas Chauvat
On Mon, Apr 26, 2010 at 11:07:18PM +0200, Sylvestre Ledru wrote:
 Well done for this packaging!

Yep, nice job.

 One more argument: we could plug Aster into Salome thanks to pylotage.
 
 If we are lucky, it could even make it for Squeeze!

+1, let's try to get it into squeeze. It will mean more users and
developers, even though the packaging changes completely for squeeze+1.

-- 
Nicolas Chauvat

logilab.fr - services en informatique scientifique et gestion de connaissances  


-- 
To UNSUBSCRIBE, email to debian-science-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20100427073631.ga4...@volans.logilab.fr



Re: Question on Salome package organization

2010-04-27 Thread Adam C Powell IV
On Tue, 2010-04-27 at 09:36 +0200, Nicolas Chauvat wrote:
 On Mon, Apr 26, 2010 at 11:07:18PM +0200, Sylvestre Ledru wrote:
  Well done for this packaging!
 
 Yep, nice job.

Thanks.

  One more argument: we could plug Aster into Salome thanks to pylotage.
  
  If we are lucky, it could even make it for Squeeze!
 
 +1, let's try to get it into squeeze. It will mean more users and
 developers, even though the packaging changes completely for squeeze+1.

Done!

-Adam
-- 
GPG fingerprint: D54D 1AEE B11C CE9B A02B  C5DD 526F 01E8 564E E4B6

Engineering consulting with open source tools
http://www.opennovation.com/


signature.asc
Description: This is a digitally signed message part


Re: Question on Salome package organization

2010-04-26 Thread Adam C Powell IV
Greetings again,

salome 5.1.3-6 is up at http://lyre.mit.edu/~powell/salome/ .  The
package is big and ugly and kludgey, but I've tested it a bit and
confirmed that it runs from the menu.

I built it with -sa and closed the ITP bug in the changelog, so it
should be ready for its first upload.  The question is: should I upload
it?

Here are the arguments as I see them.  For uploading: 
  * It seems to work (run), and thus can meet users' needs 
  * Quicker reply from ftp-masters on copyright and other uploading
issues 
  * Broader testing, especially if it gets into squeeze 
  * Possibly more devs interested in helping with debugging and
package development 
  * Use of the BTS to track issues 
  * It will take a lot of work to fix some of the issues below,
let's work on them together

Against uploading: 
  * The package is buggy!  In particular, module loading
requires .so files, so one needs to install about 100 MiB worth
of -dev packages in order to run it 
  * Package layout is not finalized, as demonstrated below 
  * Shared library versioning isn't even finalized...

In short, I think this package is about where OpenCASCADE and OpenOffice
were when first uploaded: crude and simple packaging of a very useful
piece of software, with plans for big packaging changes.  I'd like to go
ahead and upload in about 24 hours unless anyone has a strong objection.

-Adam

On Thu, 2010-04-22 at 19:23 -0400, Adam C Powell IV wrote: 
 Hello André and list,
 
 On Thu, 2010-04-22 at 15:04 +0200, Andre Espaze wrote:
  Dear list,
  
  Now that salome-5.1.3-5 is running, I started a documentation on its
  content and finally found a question on Debian package organization.
 ...
 
 The current package organization is a legacy system from back when I
 first started to package version 3.2.6.  It's really not very good. :-)
 
  I am aware of my ignorance on Debian package policy,
 
 Debian package policy doesn't require any particular organization, it
 just indicates what should be in shared lib, python, etc. packages.
 
  but I would suggest
  such kind of organization:
  
  - salome-core (the usual pre and post processings)
  - salome-core-dev (its development files)
  - salome-advance (the advanced uses)
  - salome-advance-dev (its development files)
  - salome-dev (every module for the Salome developer with
  development files)
  - salome-doc (the actual documentation)
 
 I like this organization.  It's something like the transition we did for
 Open CASCADE a couple of years ago, led by Jason Kraftcheck and Denis
 Barbier. [1]
 
 [1] http://lists.debian.org/debian-science/2008/01/msg00013.html
 
 I have a few suggestions:
   * There are a lot of [T|t]est* binaries in the salome package.
 It would be good to separate these out into salome-core-test
 etc. packages so one doesn't need to install them along with the
 main binaries.
   * The shared libraries should go in their own packages, such as
 libsalome-core etc.  Because their interface changes with every
 version, they should probably change from the 0.0.0 version
 designation to using the libtool -release flag with the
 package version, e.g. libGLViewer-5.1.3.so .
   * I think there should be a package called plain salome with the
 core functionality which people expect to have when they think
 of Salomé.
   * The documentation also desparately needs to break up!  I suggest
 salome-doc for the non-built docs, and salome-user-doc and
 salome-dev-doc for the docs made with make -C [MODULE]/doc
 usr_docs and dev_docs respectively.
   * As for implementation, instead of SALOME_MODULES, perhaps we can
 have SALOME_CORE_MODULES, etc., and install them with DESTDIR=
 $(CURDIR)/debian/salome-core or -advanced etc., and then move
 around the shared libs, header files, symlinks, and python files
 from there.
 
  Another solution would be to provide a package for every Salome module
  but it seems to be confusing because of the modules number. Moreover the
  package creations is going to become inconvenient while producing very
  little improvement to the user. Who is going to create a mesh without
  using the GUI but only through a CORBA service (thus installing only
  salome-kernel and salome-smesh)? The same scenario can be repeated to
  others modules as well.
 
 I agree this would not be a helpful solution.
 
  In conclusion, is it worth to wonder about a new Salome package
  organization?
 
 Definitely!  Thanks for the suggestion.  It will all take a lot of work,
 and should probably happen after the initial package goes into unstable,
 but it will make people's lives much easier in the post-squeeze release.
 
 -Adam
-- 
GPG fingerprint: D54D 1AEE B11C CE9B A02B  C5DD 526F 01E8 564E E4B6

Engineering consulting with open 

Question on Salome package organization

2010-04-22 Thread Andre Espaze
Dear list,

Now that salome-5.1.3-5 is running, I started a documentation on its
content and finally found a question on Debian package organization.

Salome is delivered with many modules that could be classified under
three categories: usual pre and post processings, advanced uses and
developer assistance. As a consequence, the Salome default command only
tries to load the usual modules. Does it make sense to follow this
organization in Debian packages? The first sections will introduce
every category while the last one makes a comparison with the current
implementation.

Relevant modules for usual pre and post processing
--
By starting with the command::

$ runSalome

the following modules should be loaded:

- KERNEL, the CORBA core services
- GUI, the main graphical user interface
- GEOM, for creating geometries
- MED, for reading and writing files containing meshes and results
- SMESH, for creating meshes
- YACS, for coupling simulation systems
- VISU, for analyzing results

Currently, the runSalome command does have this default behavior.

Advanced uses
-
Such modules will be useful for advanced use cases:

- MULTIPTR, for partitioning meshes

The following modules add new mesh creations:

- NETGENPLUGIN
- GHS3DPLUGIN
- GHS3DPRPLUGIN
- BLSURFPLUGIN
- HexoticPLUGIN

However the four last plugins require non-free librairies so they are
not part of the Debian packages.

Modules for developers
--
Those two modules assist the Salome developer:

- HXX2SALOME, a Salome component generator
- XDATA, simplify classes and GUI creations

Those two modules interact with other services and provide a functional
example by calculating Sierpinsky fields:

- RANDOMIZER
- SIERPINSKY

Those modules do not really add functional examples but provide useful
insights for adding a module to Salome:

- LIGHT, for running Salome without CORBA
- PYLIGHT, Python version of LIGHT
- COMPONENT, several examples on the Salome architecture
- HELLO, a starting example
- PYHELLO, Python version of HELLO
- CALCULATOR, another starting example
- PYCALCULATOR, Python version of CALCULATOR


Comparison with current implementation
--
The current Salome installation delivers all modules but is splitted
into 5 packages:

- libsalome
- python2.5-salome
- salome-common
- libsalome-dev (currently required by default because of a bug)
- salome

An extra package provides the documentation:

- salome-doc

However installing libsalome, python2.5-salome or salome-common alone does
not meet any use case because their content is not indepedent. You 
finally need the commands inside the salome package for starting CORBA 
services even if the graphical user interface is not used.

I am aware of my ignorance on Debian package policy, but I would suggest
such kind of organization:

- salome-core (the usual pre and post processings)
- salome-core-dev (its development files)
- salome-advance (the advanced uses)
- salome-advance-dev (its development files)
- salome-dev (every module for the Salome developer with
development files)
- salome-doc (the actual documentation)

Another solution would be to provide a package for every Salome module
but it seems to be confusing because of the modules number. Moreover the
package creations is going to become inconvenient while producing very
little improvement to the user. Who is going to create a mesh without
using the GUI but only through a CORBA service (thus installing only
salome-kernel and salome-smesh)? The same scenario can be repeated to
others modules as well.

In conclusion, is it worth to wonder about a new Salome package
organization?

All the best,

André


-- 
To UNSUBSCRIBE, email to debian-science-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20100422130415.ga10...@crater.logilab.fr