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
Scala 2.12 needs packaging for Debian/Ubuntu in Ubuntu APT repos #9299
Comments
Imported From: https://issues.scala-lang.org/browse/SI-9299?orig=1 |
@adriaanm said: |
@SethTisue said: |
@adriaanm said: |
Adam Conrad (adconrad) said: You need to make sure that release n+(reasonable_int) can be built with release n-(int)'s compiler. That's it. Yes, many languages are self-hosting, C being the canonical example, but lots of effort is put in to make sure people can use a compiler from several years ago (or, in the case of C, a completely different compiler on another OS from 1979) to build the new one. With that one policy change (and yes, it's a matter of policy, not a magic bugfix, people need to pay attention, and your development workflow has to involve always rebuilding using both your blessed "old" version, and your latest, to make sure both work), then distros only have to bootstrap once (which we're fine with), and never again. And everyone rejoices. |
@adriaanm said: |
Adam Conrad (adconrad) said: |
@adriaanm said: |
Adam Conrad (adconrad) said: Indeed, the Debian packages declare a build-dep on scala >= 2.11, which matches your statement that any 2.11 can be used to build the next 2.11. What isn't clear to me is how many months/years back that takes me (I can't sort out when 2.11.0 came out), nor what this means for the future. Will 2.12 be buildable with 2.11, or will a switch to 2.12 mean a rebootstrap of all 2.12 releases with 2.12.0? I'm not complaining about the current state of affairs. They are what they are, whatever that is, but trying to mitigate future pain. |
@adriaanm said: |
Adam Conrad (adconrad) said: And, if it's just the core (which makes sense) that carries that guarantee (or, really, even just a subset of the core), that just means changing the bootstrap method to be multiple stages to allow one to get from A to D through B and C without reinventing that wheel themselves. Indeed, one can't build the majority of GCC without a recent GCC (and, often, without the very same version you're building), but the upstream build process takes this into account and lets you just pass CC=foo and it sorts out a bootstrap compiler to build the real compiler to build the rest of the suite, so this isn't something we need to figure out over and over again. |
@soc said: Don't take me wrong, I'm a fan of package managers, but I think the quest to manually re-package every Java/Scala/... compiler/framework/library under the sun is doomed to fail. Is there any actual package in Debian that would depend on Scala? |
@adriaanm said: To clarify my message, I fully expect it to be possible to bootstrap 2.11.7 from 2.10.x, but we don't guarantee this since we don't have the resources right now to test this workflow. If someone were to try this and came to rely one it, we would be happy help make sure it doesn't regress. We're not super policy driven or constrained -- a CI job (we can take care of that) and someone to ping when it breaks would suffice. |
@SethTisue said: There was some discussion recently about the implications of this for Debian et al at scala/scala#5311 ; that discussion can continue here. |
just noticed that #10172 is a duplicate of this. there is some relevant discussion there |
new thread about a new effort to tackle this: https://contributors.scala-lang.org/t/question-about-building-scala-and-sbt-proper/2811 |
Closing, as this isn't actionable within the scala/scala repo itself. |
there's another new thread on this at https://contributors.scala-lang.org/t/bootstrapping-of-the-scala-compiler/6242 |
Ubuntu/Debian packages are required for Scala.
The build needs to produce binaries that are accepted by the Ubuntu committers. A new version of Ubuntu LTS will be released next year. It would be a major let down to the community building applications for the cloud if automatic package management is not provided.
See previous tickets:
https://issues.scala-lang.org/browse/INF-138
https://bugs.launchpad.net/ubuntu/+source/scala/+bug/1126035
The text was updated successfully, but these errors were encountered: