Opened 14 years ago
Last modified 14 years ago
#1126 closed defect
Compatibilidad de los paquetes locales con la versión de TOL — at Version 2
Reported by: | Víctor de Buen Remiro | Owned by: | Víctor de Buen Remiro |
---|---|---|---|
Priority: | highest | Milestone: | TOL Packages |
Component: | Various | Version: | head |
Severity: | blocker | Keywords: | |
Cc: |
Description (last modified by )
Queda por resolver el chequeo de compatibilidad de los paquetes locales, que puede ser especialmente problemático cuando conviven en una misma máquina versiones de TOL incompatibles entre sí.
Ahora mismo si el paquete existe localmente se presupone que es compatible con la versión de TOL, pero eso no tiene porqué ser así.
El paquete descargado contiene dicha información pero sólo dentro del OIS por lo que sólo se puede acceder a ella una vez cargado, lo cual es absurdo pues queremos saberlo antes precisamente para saber cuál cargar.
Una forma bastante sencilla de disponer de esta información localmente sería guardar un archivo de índice con el estado de sincronización, y que se actualizara automáticamente cada vez que se instale un nuevo paquete. Para ello bastaría llamar a la función TolPackage::Client:RemoteUpdateVersSyncInfo
para que guardara TolPackage::Client::_.versSyncInfo
en un archivo OIS en la raíz del repositorio local del cliente.
Change History (2)
comment:1 Changed 14 years ago by
Description: | modified (diff) |
---|---|
Status: | new → accepted |
comment:2 Changed 14 years ago by
Description: | modified (diff) |
---|
Otro problema relacionado con éste es que las versiones de TOL antiguas pasarán por alto esta información e intentarán cargar la última versión existente localmente, lo cual puede ser un problema si hay varias versiones instaladas en una misma máquina. Por ejemplo, si tienes instaladas en una máquina la 59 y la 60 comparten el mismo directorio de paquetes locales. Cuando uses la 60 instalará sus paquetes y como sus números de versión son más modernos la 59 intentará cargarlos, es decir, al usar la 60 se anula la posibilidad de usar la 59 y anteriores en la misma máquina. Para volver atrás tendrías que borrar los paquetes nuevos.
Una posibilidad es que la versión 60 guarde sus paquetes en otro directorio distinto al de la 59 de forma que no interfieran en absoluto la una con la otra.
Las siguientes versiones, como ya tendrán acceso a la información de compatibilidad podrán compartir el directorio sin problemas, por lo que no es necesario crear uno para cada versión con el coste de recursos que supondría después de haberse actualizado unas docenas de veces la versión de TOL.
Lo que sí puede ser conveniente es que el directorio local de paquetes dependa de la versión del sistema de paquetes
TolPackage::_.version
para que futuras versiones de TOL puedan coexistir pese a tener gestores de paquetes incompatibles entre sí.El directorio local pasaría de ser
a ser