rust-lang / crates-build-env

Build environment for third-party Rust crates
MIT License
69 stars 89 forks source link

Update to Jammy 22.04 #120

Closed neonphog closed 1 year ago

neonphog commented 1 year ago

Updates the base to jammy 22.04.

I've made the following changes to packages (let me know if I missed anything) and attempted to describe my logic for the changes:

EDIT: The text comments are a bit out of date, pay more attention to the icons:


neonphog commented 1 year ago

@syphar - I believe this is ready for review when you get a chance.

jyn514 commented 1 year ago

cc https://rust-lang.zulipchat.com/#narrow/stream/356853-t-docs-rs/topic/crates-build-env.20-.3E.20LTS.20upgrade, https://github.com/rust-lang/crates-build-env/issues/84#issuecomment-1264648349

neonphog commented 1 year ago

@FantasyTeddy - You previously added Add libappindicator3-dev package for libappindicator-sys crate to the crates-build-env. Since then, Add packages necessary for libayatana-appindicator-sys to compile has also been added.

When updating to Ubuntu Jammy 22.04, these crates now conflict and cannot be installed together. It also looks like libappindicator is deprecated.

Do you have any concerns or comments about libappindicator being removed from the crates-build-env?

Thanks!

neonphog commented 1 year ago

@jyn514 - I've divided up the removed packages into three categories, and added some icons to the PR description, I don't use my git forensics skills very often, so hopefully I got everything correct:

:seedling: - these packages seemed to start out with version numbers early on, and were upgraded as changes were made, and non-versioned package references were added. It's possible some folks are depending on these, but there was no explicit add PR, so maybe it's okay to remove them?

:wrench: - these packages were added in a specific commit to update the linux build environment to reflect docs.rs... but they no longer exist in jammy, and again, were not added by an explicit PR, so okay to remove them?

:interrobang: - the only package that has been removed in this PR that was explicitly added by a community member is the libappindicator. I've posted a message here to the author asking if that removal is okay.

Let me know if you think anything is amiss here, or if there's anything else I can do to help move this along. Thanks!

neonphog commented 1 year ago

Oh, I guess there's also the fourth category :recycle: of items that were in the initial commit that you indicated should be safe to remove.

FantasyTeddy commented 1 year ago

I have not worked with the libappindicator-sys crate since I made the PR for adding the libappindicator3-dev package. Therefore, I cannot really give an educated answer.

I would suggest to remove the package and see if someone notices.

jyn514 commented 1 year ago

FantasyTeddy - You previously added Add libappindicator3-dev package for libappindicator-sys crate to the crates-build-env. Since then, Add packages necessary for libayatana-appindicator-sys to compile has also been added.

When updating to Ubuntu Jammy 22.04, these crates now conflict and cannot be installed together. It also looks like libappindicator is deprecated.

Do you have any concerns or comments about libappindicator being removed from the crates-build-env?

Thanks!

cc @qdot, you're listed as the crate owner of libappindicator-sys.

jyn514 commented 1 year ago

@neonphog @jsha thanks for all the time you put into collecting the data about why crates were adding ❤️ assuming qdot doesn't have objections, this looks good to me :)

qdot commented 1 year ago

@jyn514 I handed off libappindicator-sys to the tauri project a couple of years ago, they're the ones you'd want to contact about any updates/changes needed.

jyn514 commented 1 year ago

not sure who on https://github.com/orgs/tauri-apps/people is in a leadership position, so just going to roll the dice ... @amrbashir

FantasyTeddy - You previously added Add libappindicator3-dev package for libappindicator-sys crate to the crates-build-env. Since then, Add packages necessary for libayatana-appindicator-sys to compile has also been added.

When updating to Ubuntu Jammy 22.04, these crates now conflict and cannot be installed together. It also looks like libappindicator is deprecated.

Do you have any concerns or comments about libappindicator being removed from the crates-build-env?

Thanks!

neonphog commented 1 year ago

@jyn514 - looks like they try for libayatana-appindicator first anyway, so shouldn't be a problem:

https://github.com/tauri-apps/libappindicator-rs/blob/main/sys/src/lib.rs#L14

  let libayatana = unsafe { Library::new("libayatana-appindicator3.so.1") };
  if let Ok(lib) = libayatana {
    return lib;
  }

  let libappindicator = unsafe { Library::new("libappindicator3.so.1") };
  if let Ok(lib) = libappindicator {
    return lib;
  }
amrbashir commented 1 year ago

As @neonphog found, we do support both libs so it should be fine for us👍.