However, I confirmed the bindep requirement refers to the packaging version (e.g. apt, yum) so even if we installed the newest libersurecode version 1.3.1 from source, bindep requirements still fails due to liberasurecoe 1.1.0 in xenial.
2. Use hard coded requirement
With https://review.openstack.org/#/c/395998, I've been trying to make the requirement as hard coded. That seems to work. If you installed the newest, pyeclib works well and then old version was installed, pyeclib raises an ECIncompatibleLiberasurecode at the module loading. However, the implementation has 2 issues.
2-1. we cannot ensure the liberasurecode if the .so file is overwritten from source. That is because the assertion works from the erasurecode_version.h header file when building pyeclib c code.
2-2. with the https://review.openstack.org/#/c/395998/, we have to think of how we can install the liberasurecode from source for the gate to pass for landing the patch.
One more thing, we have to consider, how to force to use liberasruecode> =1.3.1 to prevent the crisis.
I think we have a couple of ways to solve the dependency
1. use bindep requirements with version
Since openstack project uses bindep, we can make the constraint like as https:/ /review. openstack. org/#/c/ 395998/ 4/bindep. txt@7 (removing # comment out)
However, I confirmed the bindep requirement refers to the packaging version (e.g. apt, yum) so even if we installed the newest libersurecode version 1.3.1 from source, bindep requirements still fails due to liberasurecoe 1.1.0 in xenial.
2. Use hard coded requirement
With https:/ /review. openstack. org/#/c/ 395998, I've been trying to make the requirement as hard coded. That seems to work. If you installed the newest, pyeclib works well and then old version was installed, pyeclib raises an ECIncompatibleL iberasurecode at the module loading. However, the implementation has 2 issues.
2-1. we cannot ensure the liberasurecode if the .so file is overwritten from source. That is because the assertion works from the erasurecode_ version. h header file when building pyeclib c code.
2-2. with the https:/ /review. openstack. org/#/c/ 395998/, we have to think of how we can install the liberasurecode from source for the gate to pass for landing the patch.