bin/py-depgraph: Use more robust way to remove dep version pin
I noticed the swh-environment
Jenkins job now fails to execute each test suite.
https://jenkins.softwareheritage.org/job/DENV/job/tests/174/console
Reading the logs, we see that line:
ERROR: swh-model>=0-7-0[testing] is not a valid editable requirement. It should either be a path to a local project or a VCS URL (beginning with svn+, git+, hg+, or bzr+).
The issue comes from the bin/py-depgraph
script which do not remove pinned version info
when there is no spaces between the dependency name and its pinned version.
The addition of swh-fuse
repository triggered the issue as dependencies are formatted
the way described above (https://forge.softwareheritage.org/source/swh-fuse/browse/master/requirements-swh.txt).
Thus, the following ouput is provided as pip arguments which raises the error:
15:58 $ ./bin/pip-swh-packages --with-testing
-e swh-core[testing]
-e swh-model[testing]
-e swh-core[db,http,testing]
-e swh-objstorage[testing]
-e swh-storage[testing]
-e swh-scheduler[testing]
-e swh-journal[testing]
-e swh-model>=0-7-0[testing]
-e swh-web-client>=0-2-1[testing]
-e swh-loader-core[testing]
-e swh-indexer[testing]
-e swh-search[testing]
-e swh-vault[testing]
-e swh-deposit[testing]
-e swh-fuse[testing]
-e swh-graph[testing]
-e swh-lister[testing]
-e swh-loader-git[testing]
-e swh-loader-mercurial[testing]
-e swh-loader-svn[testing]
-e swh-objstorage-replayer[testing]
-e swh-scanner[testing]
-e swh-web[testing]
-e swh-web-client[testing]
-e swh-icinga-plugins[testing]
-e swh-docs[testing]
-e swh-dataset[testing]
That diff ensures pinned version will be correctly removed for all formats.
Migrated from D4220 (view on Phabricator)