Skip to content
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

Several incompatibilities with master branch of securesystemslib #913

Closed
joshuagl opened this issue Sep 16, 2019 · 4 comments
Closed

Several incompatibilities with master branch of securesystemslib #913

joshuagl opened this issue Sep 16, 2019 · 4 comments

Comments

@joshuagl
Copy link
Member

As part of my work to remove securesystemslib.util.TempFile in secure-systems-lab/securesystemslib#180 I need to be able to test tuf against a locally installed copy of securesystemslib.

It turns out that there are several incompatibilities between tuf and the master branch of securesystemslib (perhaps unsurprisingly, there are 214 commits to ssl since the 0.11.3 release). I've started working through the errors, but wanted to file this so that there's a record of the work and to have a discussion area.

There are at least two existing PRs which address some of the issues:

These don't break compatibility with the testing against ssl 0.11.3 that's currently happening in CI, however I'm anticipating that some of the changes that will need to be made will either a) be incompatible or b) require different codepaths for different ssl versions.

I'd welcome thoughts on whether backward compatibility is a goal or whether we just need to request a release of ssl and require that version once the changes are ready?

It would be good to add some CI testing against ssl master as part of resolving this issue, but I haven't figure out how to handle that yet. My local testing is using a venv and pip installing my copy of securesystemslib and tuf, before running the tests against the venv with:
$ coverage run aggregate_tests.py

@lukpueh
Copy link
Member

lukpueh commented Sep 17, 2019

Thanks for pointing this out, @joshuagl. Here are my 2 cents:

The main branch, i.e. develop must always have passing tests.

tuf's tests don't need to be backwards compatible when adopting breaking changes from securesystemslib, such as 4e6942f.

I suggest to prepare these PRs but hold off on merging until securesystemslib bumps the release. For in-toto I submitted a PR, similar to your patch above, as "draft" and added a little disclaimer (see in-toto/in-toto#299).

If this strategy becomes to cumbersome, e.g. we end up having many PRs that adopt breaking changes from securesystemslib and maybe depend on each other, we could add an alternative main branch, e.g. develop-for-sslib, into which we merge PRs, whose tests only need to pass with securesystemslib@master (see #915).

What do you think? And what do others think? @SantiagoTorres, @mnm678?

@joshuagl
Copy link
Member Author

I like this. Fully agreed that all tests must pass on the active development branch, I'll create some draft PRs.

@joshuagl
Copy link
Member Author

joshuagl commented Sep 17, 2019

@lukpueh
Copy link
Member

lukpueh commented Oct 21, 2019

Fixed for and with https://github.com/theupdateframework/tuf/releases/tag/v0.12.0. Thanks for your contributions, @joshuagl!

@lukpueh lukpueh closed this as completed Oct 21, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants