refactor
fix spec implementation

* build information should not affect equality tests
* compare complex pre-release part component by component