On Mon, Dec 21, 2015 at 2:47 PM, Alex Crichton <acrich...@mozilla.com>
wrote:

> I think one important aspect here is to separate out the concerns of
> vendoring code in-tree vs where that code is developed. It sounds like
> Gecko has lots of technical requirements about why and how code lives
> in-tree, but the more important bit here is how it changes over time.
>
> What Yehuda was saying about how forking or syncing having downsides I
> think is quite important for Rust code in Gecko, as this may run the
> risk of splitting the ecosystem on various boundaries (e.g. the "gecko
> rust-url" and the "upstream rust-url" or something like that). Along
> those lines I think it's very important to drill down into exactly
> what concerns there are about having these components developed in the
> Servo-style as they are today.
>

IME "Servo-style today" would already be an enormous hassle if it weren't
for the mitigating factor that most of the core browser components already
live in a monolithic repo. In the cases where some more core-ish code lives
in an external repo (like rust-selectors), making cross-coupled changes is
a huge pain, even with super-responsive maintainers like Simon.

Given that I hack on both, I am interested in solving this problem for
Servo too. :-)


> It sounds like there's some hesitation about this today, but Yehuda I
> think is making a good case that tooling can make the process quite
> easy. There's quite a lot to benefit from with having only "one source
> of truth" for all this code!
>
>
> On Mon, Dec 21, 2015 at 2:45 PM, Yehuda Katz <wyc...@gmail.com> wrote:
> > Yehuda Katz
> > (ph) 718.877.1325
> >
> > On Mon, Dec 21, 2015 at 2:28 PM, Josh Matthews <j...@joshmatthews.net>
> > wrote:
> >
> >> On 2015-12-21 5:21 PM, Yehuda Katz wrote:
> >>
> >>> On Mon, Dec 21, 2015 at 2:14 PM, Bobby Holley <bobbyhol...@gmail.com>
> >>> wrote:
> >>>
> >>> I don't think this is going to fly in Gecko, unfortunately.
> >>>>
> >>>> Gecko is a monolithic repo, and everything needs to be vendored
> in-tree
> >>>> (a
> >>>> non-negotiable requirement from the build peers). This means that
> we'll
> >>>> already need an automated process for pulling in updates to the shared
> >>>> code, committing them, and running them through CI.
> >>>>
> >>>>
> >>> Can you say a bit more about what the requirements are here? Is the
> reason
> >>> for including the code in-tree that you need to be 100% confident that
> >>> everyone is talking about the same code? Or is it more than that?
> >>>
> >>>
> >> The "non-negotiable requirement from the build peers" is that the
> machines
> >> that build Firefox do not have internet access.
> >
> >
> > That's a totally reasonable requirement and one that I am very
> comfortable
> > saying that Cargo should support.
> >
> > To support this requirement, we plan to add a new command that packages
> up
> > an application into a single tarball (or equivalent), complete with all
> > dependencies, and another command that can build such a package without
> > network connectivity.
> >
> > Bundler has equivalent facilities (bundle package and bundle install
> > --deployment) that I consider indispensable for deployment scenarios, and
> > which I championed early on in the bundler process. (Heroku uses `bundle
> > install --deployment` in their buildpacks).
> >
> > -- Yehuda
> _______________________________________________
> dev-servo mailing list
> dev-servo@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-servo
>
_______________________________________________
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo

Reply via email to