El estandar de paquetes para proyectos de SimuSol

SimuSol

Psicro

Calcula

El estandar de paquetes para proyectos de SimuSol

 
 
Nombre:  nombre_del_paquete-24.12-[mod|ele|project|other].s.tgz

nombre-version-tipo .s.tgz

El nombre obedece a [a-zA-Z][a-zA-Z0-9_]*

La version consta de dos numeros separados por un punto, el segundo número será menor a 1.000.000. Tambien en el repositiorio existen los paquetes nombre-last.s.tgz, con la version last, significando la última.

Un paquete puede depender de otros

Cada paquete tiene una estructura de directorios para albergar todo tipo de contenido vinculados a simusol/sceptre:

Para crear el paquete se recomienda hacerlo a partir de la estructura vacía del paquete "skeleton". Con el comando simpack -k, se crea un directorio skeleton con esta estructura. Conviene renombrar este directorio con el nombre del paquete que se desea crear y trabajar agregando contenido. 
  • projects    archivos dia para una simulación
  • data         todo tipo de tablas con informacion con formato xxx
  • shapes     iconos y sus shapes
  • soft          todo tipo de programa, script etc no incluido en los anteriores,  cada                 programa en un subdirectorio con su nombre  en un subdirectorio                       src  con  sus  fuentes
  • sheets      menus del dia que hagan referencia a las shapes y quizas a otras                     contenidas en los paqutes del cual este depende
  • elements   archivos dia de los elementos que se incluyan
  • models      archivos dia de los modelos que se incluyan
  • docs         documentación, en sus fuentes y al menos 3 versiones .txt .pdf y                    .html, cada documento en un subdirectorio (con el nombre), en el                       subdirectorio src las fuentes. Tambien se colocaran en un                                 subdirectorio man los man y en otro info los info pod/pod
  • functions   funciones tanto en c, fortran u otro lenguaje que produzca objetos                     utilizables por el sceptre, cada una en un subdirectorio (con su                         nombre)
  • objects     objetos del dia.
  • graphics  (a ser remplazado por diagrams)  graficos de interés, por ejemplos png de los diagramas, u otros usados en LaTeX o documentos HTML que se quieran poner allí.
  • aux  para poner .dia o .tex auxiliares, es decir llamados desde un principal.
  • pm para poner módulos perl.
  • other        otro material.

Tiene  los siguientes archivos:
  • INSTALL indicando cualquier instruccion particular del paquete para su instalacion
  • README indicando entre otros funciones del paqute, us ideas, que contiene y como se usa
  • COPYING* licencias, sólo se aceptan GPL,AGPL y FDL, cada una segun el tipo de contenido. Los autores mantienen los derechos, no se pide transferencia
  • AUTHORS
  • Makefile para instalar, la genérica contenida en "skeleton" debe funcionar.
  • NEWS
  • THANKS
  • TODO
  • .summa  nombre_del_paquete.summa, leible por bash con las variables:
    • DEPENDS   lista de dependencias
    • IDEPENDS lista de dependidos, no escribir al subir el summa el repo lo pone.
    • BASEVERSION  mismo par de numeros que en el nombre
    • SIMUSOLTYPE  other, mod, ele, proyect
    • DESCRIPTION descripcion
    • SUMMARY
    •  KEYWORDS palabras claves separadas por espacios , la primera debe ser el nombre del paquete
    • AUTHOR "nombre  <mail>, nombre <mail>" 
    • MAINTAINER idem a author
    • VENDOR  institucion como el author
    • PRIMARYSITE  puede poner https://cssan.simusol.org.ar
    • SRC_URI  = $PRIMARYSITE/pkgs/nombre
    • SRC_PKG_TYPE=simusol
    • CATEGORY=[secado,calentador agua, etc]
    • SUMMAVERSION, la version del archivo summa dentro de la misma version de paquete, ya que en cada cambio de version del paquete cambia suma (variable baseversion)
No usar ' en los paquetes .summa, siempre "


Los tipos ele mod y pro se utilizaran para paquetes que contengan solamente material relacionado respectivamente a un ele, mod o pro. Cualquier paquete que no sea exclusivamente de estos tipos o que tenga mezclas de tipos sera other. Se aconseja fraccionar los paquetes uno para cada tipo en caso de ser posible. Si una función es usada por varios, ponerla en un paquete y designarlo como dependencia de los otros.
 
Los paquetes son manejados por simpack, que puede instalarlos en el espacio del usuario o en el sistema si es invocado por root

No todos los paquetes tienen todos los directorios con contenido

Usuario comun:

~/.simusol/elementos/*_ele.dia
~/.simusol/modelos/*_mod.dia

~/.dia/sheets/$SHEET.sheet
~/.dia/shapes/$SHEET/*.shape
~/.dia/shapes/*.shape PROHIBIDO
 

Root:

/usr/local/lib/simusol
/usr/lib/simusol
/usr/bin

PATH de busqueda de simusol
  1.  donde estoy parado en bruto
  2.  donde estoy parado subidrectorio correcto
  3.  ~/.simusol
  4.  /usr/local/share/simusol
  5.  /usr/share/simusol  o /usr/share/dia
 
.simusol/data
.simusol/src
lo mismo de abajo

DIR_TRABAJO_DE_UN_PROY/
                                              proyecto.dia
                                             /data  (tablas datos)
                                             /src
                                             /elementos
                                             /modelos
                                             /graficos
                                             /tmp

El software tambíen verifica varios aspectos del paquete. Por ejemplo los nombres de los paquetes, ejemplos, las shapes, las sheets, los modulos, elementos , etc se reservan para el primer paquete que los contenga  y no se podrá subir un nombre ya usado.

En el repositorio  CSSAN cada autor suscripto podra subir sus paquetes.
 
Todos podran bajar los paquetes para su uso

Es libre la inscripción como autor

Hay un paquete ejemplo denominado test conteniendo todas estas opciones.
 
Hay otro denominado skeleton vacio, para facilitar que los participes lo llenen con sus datos.
 
 
Shapes y Sheets (del dia)

una sheet puede usar shapes de sus dependencias

el sheet debe tener un nombre interno con simusol al comienzo

un proyecto es un dia sin _mod y sin _ele

proyectos de simusol donde uno esta parado, bajo un directorio con el  nombre del caso