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.
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)
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
- donde estoy parado en bruto
- donde estoy parado subidrectorio correcto
- ~/.simusol
- /usr/local/share/simusol
- /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
.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.
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
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