rust-lang / crates-build-env

Build environment for third-party Rust crates
MIT License
71 stars 92 forks source link

Distro upgrade policy #84

Open Nemo157 opened 3 years ago

Nemo157 commented 3 years ago

Currently it's documented that the images are built using Ubuntu 20.04, which is the most recent Ubuntu LTS. It would be good to have the upgrade policy for this clarified, is the intent to track Ubuntu LTS', or if someone put in the effort to do an upgrade would moving to newer non-LTS versions be acceptable?

This affects crates that rely on more modern system dependencies, e.g. https://github.com/rust-lang/docs.rs/issues/1198, 20.04 is only shipping libcapstone3 while 21.04 has upgraded to libcapstone4. If we wait till the next LTS release then it's going to be another year till it's possible to build the documentation for falcon.

Nemo157 commented 3 years ago

Glancing around @jyn514's comments on #32 and #71 assume tracking of the LTS releases.

jyn514 commented 3 years ago

I kind of assumed LTS but given that the only thing we're doing is running sandboxed builds I would be ok with a more up to date version. @pietroalbini what do you think?

pietroalbini commented 3 years ago

The reason we're running LTS is to avoid having to bump the version every 6 months. If someone on the docs.rs team can commit to taking care of that I'm all for switching to a newer Ubuntu version, but I personally won't have the time to do so.

imp commented 2 years ago

Now that 22.04 LTS is out - perhaps it may be a good time to update?

davidhewitt commented 2 years ago

Also blocked Python 3.10 - https://github.com/rust-lang/crates-build-env/pull/104#issuecomment-1146389482

imp commented 2 years ago

22.04.1 was recently released - what needs to be done to update the build env?

Nemo157 commented 2 years ago

It looks like just updating the Dockerfiles and then upgrading/removing packages from the packages.txt that don't exist on the new version.

If someone gets a PR available I can do some testing of it on my local docs.rs instance. (Otherwise, if the package updates aren't too complex I might get around to looking at it myself at some point).

imp commented 2 years ago

I see that some packages have multiple versions installed (i.e. clang and clang-6.0) Any idea why is that needed ? Is it ok to only have latest (clang)?

jyn514 commented 2 years ago

@imp here's what I did last time I upgraded the image: For each package that's been removed in the new version,

d-k-bo commented 1 week ago

Are there any plans to upgrade to Ubuntu 24.04 LTS? It would be great for opusenc-rs, which depends on libopusenc, which is packaged for newer ubuntu versions.