-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Distribute releases as .deb and .msi #12502
Comments
A reason I'm asking is that I need to give links to deb packages to our sysadmin of our university computers that will be upgraded soon. |
(It won't be lightbend.com, but I don't know if it's been otherwise discussed.) |
There's no process in place currently for generating .deb, the released artifacts are at https://github.com/lampepfl/dotty/releases and only includes tarballs currently. I assume our sbt-assembly settings could be tweaked to also generate .debs but we need someone to investigate that. |
I guess deb and msi would be good as probably quite a few have gotten used to rely on them over the years and it might be good to reduce the gap between scala2 and scala3. I know our sysadmins prefer .deb over .tar.gz, but if deb don't exist they'll have to manually place the stuff in the file system, which is also doable but more work. (We have a lot of strange stuff installed on our student lab computer's linux installations...) So, the download link is currently https://github.com/lampepfl/dotty/releases/download/3.0.0/scala3-3.0.0.tar.gz |
I think this link format should keep working yeah, even if we rename the repo it should become a redirect. |
ok thanks @smarter good to now. It seems as sbt-native-packager can do deb-packaging with some settings ceremony and installing some linux stuff like dpkg-deb etc: |
@SethTisue How is Scala 2 packages deb msi build currently? Is that process easy to more or less copy-paste for Scala 3? |
all that stuff is over in https://github.com/scala/scala-dist (and https://github.com/scala/scala-dist-smoketest). it uses (a now probably rather outdated) version of sbt-native-packager scala-dist has been largely untouched for some years now, and I was never super familiar with it in the first place (since we've barely needed to touch it since Scala 2.11 days), so I'm not really sure what the difficulty level would be of adapting it to Scala 3, but offhand I wouldn't expect there to be any fundamental barrier. most of the actual functionality comes from sbt-native-packager. |
Thanks for pointers. I had a look and there is some complexity in it above my head, but I guess much of that is due to docker and CI and platform specific stuff. Perhaps the actual packages are easy to generate, but it seems as if one VM is needed per platform etc. |
@smarter Since 22 days ago |
No one is assigned on this which means no one is working or planning to work on this and it's open for taking by anyone interested. |
@smarter (or who is responsible for the packaging of scala 3? perhaps @anatoliykmetyuk who is writing the release blogs)
in
The changes are available here: bjornregnell@c8e9d6d
What is left (at least...) if this is a viable route forward:
More inspiration for settings of sbt-native-packager can be found here: https://github.com/scala/scala-dist/tree/2.13.x/project in the Wix.scala Unix.scala and ScalaDist.scala files. |
Probably in the dist project since that's what's used to generate tarball (
We run |
@liufengyun @smarter I have pushed some more settings here but the deb-package is still produced in target and not in dist: |
We are currently using sbt-pack. It was a choice several years ago. I think it makes sense to switch to sbt-native-packager, as it supports more features.
@anatoliykmetyuk Could you please extend a hand? |
See also coursier/coursier#2058 |
The current situation on scala-land.org/download is more problematic than it seems; it actually does not say how to run a compiled app. I think this i pretty important and a severe regression from Scala 2 getting-started-instructions. @smarter Should I open a new issue on that matter, as packaging and absence of "how to run" are separate things? |
Ok thanks, I'll discuss there if the existing issue scala/scala-lang#1248 should be a more general/specific/split/rephrased to make the importance of a runner for Scala 3 more explicit. I don't think this is "just" a coursier issue, but a degradation from Scala 2 and a "hygiene factor" so to speak. |
See also #12551 |
Any progress on this? My windows-bound students that can't get WSL going run into the brick-wall, so they need an .msi... Let me know if I can contribute somehow. |
Starting with version 3.0.2 of Scala 3 (see pull #13006) a Windows user can just unzip the distribution archive and use the batch files |
Thanks @michelou for the workaround and for contributing the bat-magic !! ❤️ |
@bjornregnell In the past I've developed several Windows installers using NSIS (e.g. RS MINERVE) but WiX 3 looks more adequate to your/our needs since
I'm experimenting with small examples and will eventually submit a PR if things go well. |
That would be really great! @anatoliykmetyuk @SethTisue It would be cool if this can be integrated with the CI-pipeline that produces the releases? It seems like the sbt native packager delegates to WIX, so perhaps that's the way to go? |
FYI, @Husenap has made a custom bat-script just to help us survive the current situation in my scala course with a majority of students on windows, available here: |
@bjornregnell I saw it; do you expect any feedback from me ?! |
Yes thanks, I should have used that link. :) I just changed my comment above now to that explicit link. |
@anatoliykmetyuk I have tested this .msi from @michelou 's repo https://github.com/michelou/wix-examples/releases/tag/scala3-3.1.0.msi and it works like a charm :) |
It could e.g. for now be linked under "Other ways to install Scala" on https://www.scala-lang.org/download/scala3.html |
/cc @prolativ |
Now also API docs included by @michelou here: michelou/wix-examples#2 |
Expectation
There are not yet any links to packages under "Other resources" on
https://www.scala-lang.org/download/ for deb and msi to the new awesome Scala 3.0.0
It would be good to know how the naming standard of the links will be when it is eventually up; direct links are published from elsewhere, e.g. in coming course material etc.
Will it be something like this?
https://downloads.lightbend.com/scala/3.0.0/scala-3.0.0.deb
The text was updated successfully, but these errors were encountered: