- 
          
 - 
                Notifications
    
You must be signed in to change notification settings  - Fork 567
 
Revert "[16.0][FIX] pinned requests_pkcs12 version due cryptography dependency" #3987
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: 16.0
Are you sure you want to change the base?
Conversation
…ependency" This reverts commit 6e3f594. The fix started producing other dependency conflicts: ERROR: Cannot install requests_pkcs12 because these package versions have conflicting dependencies. The conflict is caused by: requests-pkcs12 1.22 depends on requests>=2.26.0 The user requested (constraint) requests==2.25.1
| 
           Hi @ao-landoo,  | 
    
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hola! ao-landoo ya no es mantendor, ¿quíén podría revisar este PR por favor @OCA/local-spain-maintainers ?
| 
           This PR has the   | 
    
| 
           @extrememicro fue el que tuvo el problema, así que debéis acordar entre los dos la solución adecuada para todos.  | 
    
| 
           @yajo pero creo que muchos instalaran los requirements de la localización sin el constraint al requirements de Odoo, como el Runboat, o Doodba, por ejemplo.  | 
    
| 
           Es otra opción. No obstante, en general, usar los constraints es mucho mejor porque permites a cualquiera la libertad de instalar la versión que no colisione con el resto de su entorno. Se pueden usar los constrains en Doodba y básicamente cualquier sitio que use un  Puesto que nuestros constraints se autogeneran, si los escribimos en el manifest estamos realmente creando una dependencia estricta. Puede ser que alguien prefiera actualizar los paquetes más allá de lo que Odoo recomienda (y por tanto tenga sus propios requirements o constraints), como se ve en OCA/oca-ci#66 (comment). En resumen, no deberíamos restringir la instalación de una determinada versión de una dependencia solamente porque una subdependencia no sea exactamente la favorita de Odoo SA, sino solamente porque realmente es la única versión compatible. Este acercamiento permite más flexibilidad a la hora de reutilizar las piezas que la OCA proporciona, y por eso creo que es mejor.  | 
    
| 
           @yajo Y poner requests-pkcs12<=1.22 No solucionaría también el problema, Si lo que se pretende es que no use una versión mas nueva porque no es compatible?  | 
    
| 
           La cuestión es que estamos mezclando conceptos diferentes. Una cosa es qué dependencias tiene un módulo u odoo, y otra muy diferente es cuál versión de dicha dependencia vamos a desplegar. A) Dependencias. Se establecen en  B) La versión escogida de dichas dependencias. Cada sistema tiene su forma de decidir esto. Hay quien no pone restricciones e instala siempre la última versión, quien escoge la última versión de las major release, quien prefiere los paquetes de debian estable (esto hace Odoo), y un largo etc. Mecanismos modernos como Poetry, PDM o uv crean un lockfile consistente que evita conflictos de interdependencias. Tradicionalmente se construían usando el  Así que el problema es que se estaba poniendo la versión específica de las dependencias (B) en el  
 Lo que ocurriría es que moverías el problema a otro sitio. Si alguien decide que quiere ignorar los  Como se puede ver en 74b3eeb (el commit anterior a #3954), el CI de OCA funcionaba bien antes de ese cambio. ¿Cómo se pudo haber solucionado entonces? Puesto que el problema está en el paso B (al resolver la versión final), la solución está ahí también. El usuario que tenga problemas porque en su sistema se está instalando una versión incorrecta de  pip install odoo-addon-l10n_es_ticketbai_api_batuz -c requests_pkcs12==1.22Es algo que debe añadir a su sistema de instalación o despliegue. De esta forma, alteras la versión final de la dependencia que se instalará (B) sin afectar la forma en que se declaran (A).  | 
    
| 
           There hasn't been any activity on this pull request in the past 4 months, so it has been marked as stale and it will be closed automatically if no further activity occurs in the next 30 days.  | 
    
| 
           Hola @extrememicro @ramiadavid , ¿pudisteis leer la respuesta de @yajo ? Podéis comentar por favor? Gracias! 😄  | 
    
Aquí revierto #3954 pues el fix empezó a romper nuestro CI:
En resumidas cuentas, lo que viene diciendo es que al exigir
requests-pkcs12==1.22, estamos rompiendo este constraint de Odoo.Esto me ha empezado a suceder porque usamos el archivo
requirements.txtde Odoo como un pip contraint y no como un pip requirements. Algo así:Lo hacemos así para siempre coger las dependencias más modernas que necesitan los módulos de OCA, pero respetando las restricciones últimas que establece Odoo. Para que esto funcione, es mejor que los repos de OCA no definan restricciones de versiones1, y dejar que sea Odoo quien las restrinja.
Dicho de otra forma, si usas el
requirements.txtde OCA, es mejor que dicho archivo no congele versiones para que sea Odoo quien lo haga.Dejo el PR en borrador hasta que compruebe si esto realmente resuelve el problema.1 Las restricciones de versiones que tengan sentido se deben poner, por supuesto (si el módulo es incompatible con cierta versión de cierta dependencia). Pero si se ponen solo para evitar conflictos o reinstalaciones, es contraproducente, y es preferible hacerlo con constraints como se explica arriba.
@moduon MT-8983