[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: help to improve the tango package.



Le Tue, 11 Aug 2009 21:00:19 +0100,
Justin B Rye <jbr@edlug.org.uk> a écrit :

first of all
thanks for what you have done.

> The upstream standard spelling is TANGO, short for TAco Next
> Generation Objects (where TACO in turn is a mysterious ONC/RPC
> toolkit with a 403ing homepage at http://www.esrf.eu/taco).  On
> second thoughts maybe users are better off treating it as an
> arbitrary name.

In fact this TAco things is still used by the esrf synchrotron but not
very advertized.
here the "real" homepage http://www.esrf.eu/Infrastructure/Computing/TACO

> >  The name of the host where the tango Database server is running.
> 
> This should be a full sentence:
> 
>    Please specify the name of the host where the TANGO database
> server is running.

Yes this is better.

> Then in the control file:
> 
> > Package: liblog4tango4
> [...]
> > Description:  C++ library for tango logging (runtime)
> 
> The first three packages all have exactly this synopsis.  They
> should at least be distinguished as something more like this:
> 
>                 logging for TANGO - shared library
>                 logging for TANGO - development library
>                 logging for TANGO - debug library

ok it is more readable. I like it.

> (Leaving the language name to the long description and debtags.)
> 
> >  Log for Tango is a library of C++ classes for flexible logging to
> > files, syslog and other destinations. It is modeled after the Log
> > for C++ library (http://jakarta.apache.org/log4j/), staying as
> > close to their API as is reasonable.
> 
> This boilerplate might be better if it gave some hint about what
> TANGO is, but that's not really essential.

In fact TANGO is a sort of software bug that let process runing on
different computers communicate using the CORBA layer. But writing
directly is difficult, TANGO hide this CORBA layer and propose
a simpler way to exchange information between process. All TANGO object are
like C++ Object with attributes and methods.
the interface of a Tango devices is made of 2 different things
- attributes of different types (double, float , int ...) and (scalar, spectrum, image)
so an attribute can be an image of double (2 dimensions) or an spectrum of int (1 dimension)
- commands that can be called from other devices.

> 
> >  .
> >  This package contains the log4cpp development files.
> >  .
> 
> That package-specific line seems to be completely wrong.  Presumably
> it should be this, currently in the liblog4tango4-dev description:
> 
>    This package contains the files necessary for running applications
> that use the log4tango4 library.
> 
> (Oh, and all these packages have a superfluous final "." line.)

Yes copy/past symptome :)

> 
> > Package: liblog4tango4-dev
> [...]
> >  This package contains the files necessary for running applications
> > that use the log4tango library.
> >  .
> 
> This on the other hand should presumably be
> 
>    This package contains the log4tango4 development files.
> 
> > Package: liblog4tango4-dbg
> [...]
> >  This package contains the debugging symbol for liblog4tango4.
> 
> This one's okay.
> 
> > Package: liblog4tango4-doc
> [...]
> > Description: C++ library for tango logging (documentation)
>                logging for TANGO - documentation
> [...]
> >  This package contains the documentation of the log4tango library
> 
> Nearly!
>    This package contains the documentation of the log4tango4 library.

:))

> > Package: libtango7-dev
> [...]
> > Description: C++ library of the TANGO distributed control system
> 
>                TANGO distributed control system - development library
> 
> [...]
> >  This package contains the tango6 development files.
> 
> Surely s/6/7/

I have just upgrade to tango 7 and I forgot tha ABI change in the control file.
 
> > Package: tango-common
> [...]
> > Description: The Tango common files
> 
>                TANGO distributed control system - common files
> 
> >  This package manage all common parts of the Tango Device system.
> >  It creates the tango user and permit to define the Tango host.
> 
> I'd guess this is trying to say:
> 
>    This package provides shared files for the TANGO distributed
> control system, and sets up the required infrastructure.

yes.. I did not know that my english was so so poor :(((

> 
> (There's no need to explain everything that's in its postinst...)
> 
> This package doesn't have any boilerplate about TANGO, but I suppose
> it only exists to be pulled in as a dependency of other packages
> that do.

Yes it creates a configuration file uses by the TANGO API to teach all
devices where they can find the TANGO database service.
 
> > Package: tango-db
> [...]
> > Description: The Tango Database device
> >  This Tango Device is connected to a MySQL databases and keep the
> >  Tango Devices structure.
> 
> This very badly needs some hint about what a "TANGO Device" is -
> especially since the README says this and the following are the
> packages users should be starting with.  I can add boilerplate, but
> the final paragraph is more or less guesswork.
> 
>   Description: TANGO distributed control system - database server
>    TANGO is an object oriented distributed control system using
> CORBA. In TANGO all objects are representations of devices, which can
> be on the same computer or distributed over a network. Communication
> between devices uses CORBA and can be synchronous, asynchronous or
> event driven. .
>    This package provides a TANGO database server using MySQL.

Eventually, I would prefere devices process instead of device ?

In TANGO all objects are representations of devices process,

> 
> > Package: tango-starter
> [...]
> > Description: The Tango starter device
> >  This device manage all other Tango devices running state.
> >  with it you can start or stop each device.
> 
>   Description: TANGO distributed control system - control server
>    TANGO is an object oriented distributed control system using
> CORBA. In TANGO all objects are representations of devices, which can
> be on the same computer or distributed over a network. Communication
> between devices uses CORBA and can be synchronous, asynchronous or
> event driven. .
>    This package provides a TANGO device control server. It can start,
> stop, or report the status of other TANGO components.

yes.

> 
> > Package: tango-accesscontrol
> [...]
> > Description: The Tango accesscontrol device
> >  This device manage all other Tango devices access control.
> >  with it you can authorize or not users to access tango devices.
> >  The filters can be on the ip adresses or users names.
> >  .
> 
>   Description: TANGO distributed control system - accesscontrol server
>    TANGO is an object oriented distributed control system using
> CORBA. In TANGO all objects are representations of devices, which can
> be on the same computer or distributed over a network. Communication
> between devices uses CORBA and can be synchronous, asynchronous or
> event driven. .
>    This package provides a TANGO accesscontrol server. It can be used
> to manage the users and IP addresses that are permitted to access
> TANGO devices.

ok

>  
> > Package: tango-test
> [...]
> > Description: The Tango test device
> >  This device is a test implementation of all tango attributes types.
> >  You can use it to test your tango installation.
> 
> This is particularly tricky because I can't see anything about it in
> the upstream docs.

Yes this is just a test implementaiton of a devices thaht expose all kinds
of attributes permitted by tango
there is string, short, int, double,  ... for all kind of dimensions.
0D (scalar), 1D (spectrum), 2D (image)

with it you can see thaht everythings is working using your prefered tango gui client
(not yet packaged)

I try to put the tango core part in debian, thent I will have to deal with all the
java gui clients.

> 
>   Description: TANGO distributed control system - test device
>    TANGO is an object oriented distributed control system using
> CORBA. In TANGO all objects are representations of devices, which can
> be on the same computer or distributed over a network. Communication
> between devices uses CORBA and can be synchronous, asynchronous or
> event driven. .
>    This package provides a TANGO device which implements all TANGO
>    attribute types, and can be used for testing the installation.
> 

thanks.

Frederic

I will apply your path right now.
do not hesitate to ask questions about tango if you think that it can help
improve the documentation of the package.


Reply to: