Prohibiting overlapping dependencies in DEPS files

6 views
Skip to first unread message

Dirk Pranke

unread,
Jun 13, 2017, 10:09:49 PM6/13/17
to infr...@chromium.org, Paweł Hajdan Jr.
Hi all,

Currently, I believe it's possible to write a DEPS file such that, depending on your deps_os settings, it's possible to have an OS-specific dependency overwrite a generic dependency with a different URL or version. I think it is also possible to declare mutually inconsistent dependencies, e.g., pull one version of a repo on linux and a different version on mac.

As far as I know, none of the Chromium-derived projects do anything like the above, and I believe both of these things would be bad ideas in practice.

As part of the gclient conditional work we're doing, I would like to explicitly check for and prohibit such things. Does anyone object to this, or know if this will be a problem?

We would still want to support turning off dependencies on particular OS versions, e.g., overriding a dependency with 'None', although the conditionals mechanism will give us a better way to do this.

[ Background: a vision many of us have for the setup of the future is that in order to get a project, you can just `git clone` it and everything would just work. In order to do that, we'd either need git submodules to support conditions and ACLs or we'd need to stop caring about repo size. Banning overlapping dependencies would at least mean that theoretically you could check out everything you might need for any configuration simultaneously, which seems very useful, and means that DEPS is closer to that vision. More importantly, if we do need to support overlapping dependencies, we need to change what we're implementing ASAP :) ].

-- Dirk

Aaron Gable

unread,
Jun 14, 2017, 11:46:44 AM6/14/17
to Dirk Pranke, infr...@chromium.org, Paweł Hajdan Jr.

Please do this.

That said, last time I checked (~2 years ago) there *were* repos that did exactly this, putting os-specific content into the same directory regardless of OS.

So I'm hugely in favor, but doing this may require a more thorough audit.

Aaron


--
You received this message because you are subscribed to the Google Groups "infra-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to infra-dev+...@chromium.org.
To post to this group, send email to infr...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/infra-dev/CAEoffTCjTEKTL3mpgGT%3D%2B-Y%2BNddF15DzQWDTNtY9eG1%2B8Rt7%3DA%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages