Skip to content
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

Update to Jammy 22.04 #120

Merged
merged 48 commits into from
Jan 19, 2023
Merged

Update to Jammy 22.04 #120

merged 48 commits into from
Jan 19, 2023

Conversation

neonphog
Copy link
Contributor

@neonphog neonphog commented Jan 18, 2023

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:

  • ✔️ - updated
  • ❌ - removed
  • ♻️ - was in initial commit - safe to remove
  • 🌱 - I think these packages just ended up getting carried forward as version upgrades from the beginning, so okay to remove?
  • 🔧 - These were added in this commit - update the linux build environment to reflect docs.rs - okay to remove?
  • ⁉️ - ask initial author if it's okay to remove

  • ❌ 🌱 clang-6.0 - the default clang in jammy is 14, the earliest available is 11, recommend leaving this out until a PR is made.
  • ❌ ♻️ enchant - enchant has been removed. enchant-2 is available, but recommend leaving this out until a PR is made.
  • ❌ ♻️ lib32gcc1 - this has been removed. There are other lib32gcc-* support packages, but recommend leaving this out until a PR is made.
  • ⁉️ libappindicator3-dev - conflict with libayatana-appindicator3-dev - looks like libappindicator is deprecated, so not including this as it conflicts with libayatana-appindacator.
  • ✔️ libarmadillo9 - updated to libarmadillo10
  • ❌ ♻️ libavresample-dev - removed, recommend leaving out.
  • ❌ ♻️ libavresample4 - removed, recommend leaving out.
  • ✔️ libayatana-appindicator3-dev - conflict with libappindicator3-dev - resolved conflict by not including the other libappindicator3-dev as that appears to be deprecated.
  • ✔️ libboost-filesystem1.67.0 - update to 1.74.0
  • ✔️ libboost-filesystem1.71.0 - update to 1.74.0
  • ✔️ libboost-iostreams1.67.0 - update to 1.74.0
  • ✔️ libboost-iostreams1.71.0 - update to 1.74.0
  • ✔️ libboost-system1.67.0 - update to 1.74.0
  • ✔️ libboost-system1.71.0 - update to 1.74.0
  • ✔️ libcapnp-0.7.0 - update to 0.8.0
  • ✔️ libcapstone3 - update to libcapstone4
  • ✔️ libcdio18 - update to libcdio19
  • ✔️ libcfitsio8 - update to libcfitsio9
  • ❌ ♻️ libcilkrts5 - removed, recommend leaving out.
  • ❌ 🌱 libclang-6.0-dev - see clang-6.0
  • ❌ 🌱 libclang-common-6.0-dev - see clang-6.0
  • ❌ 🌱 libclang1-6.0 - see clang-6.0
  • ❌ ♻️ libcroco3 - removed, recommend leaving out.
  • ❌ 🔧 libcroco3-dev - removed, recommend leaving out.
  • ❌ ♻️ libcrystalhd3 - removed, recommend leaving out.
  • ✔️ libdap25 - update to libdap27
  • ✔️ libdc1394-22 - update to libdc1394-25
  • ✔️ libdns-export1109 - update to libdns-export1110
  • ✔️ libdns1109 - update to libdns1110
  • ❌ ♻️ libenchant1c2a - see enchant
  • ❌ 🔧 libepsilon1 - removed, recommend leaving out.
  • ✔️ libgc1c2 - use libgc1 instead.
  • ✔️ libgdal26 - update to libgdal30
  • ✔️ libgeos-3.8.0 - update to libgeos3.10.2
  • ✔️ libglew2.1 - update to libglew2.2
  • ✔️ libhogweed5 - update to libhogweed6
  • ✔️ libicu66 - update to libicu70
  • ✔️ libidn11 - update to libidn12
  • ✔️ libilmbase24 - update to libilmbase25
  • ✔️ libisl22 - update to libisl23
  • ✔️ libjson-c4 - update to libjson-c5
  • ✔️ libjsoncpp1 - update to libjsoncpp25
  • ✔️ libkadm5clnt-mit11 - update to libkadm mit12
  • ✔️ libkadm5srv-mit11 - update to libkadm mit12
  • ✔️ libkdb5-9 - update to libkdb5-10
  • ✔️ libldap-2.4-2 - update to libldap-2.5-0
  • ❌ 🌱 libllvm6.0 - see clang-6.0
  • ❌ 🌱 libllvm7 - see clang-6.0
  • ❌ 🌱 libllvm8 - see clang-6.0
  • ✔️ libmariadbclient-dev - now provided by libmariadb-dev
  • ✔️ libmariadbclient-dev-compat - now provided by libmariadb-dev-compat
  • ❌ 🔧 libmirclient-dev - removed, recommend leaving out.
  • ❌ 🔧 libmirclient9 - removed, recommend leaving out.
  • ✔️ libmircommon7 - updated to libmircommon8.
  • ❌ 🔧 libmirprotobuf3 - removed, recommend leaving out.
  • ✔️ libmpdec2 - update to libmpdec3
  • ❌ ♻️ libmpx2 - removed, recommend leaving out.
  • ✔️ libnetcdf15 - update to libnetcdf19
  • ✔️ libnettle7 - update to libnettle8
  • ✔️ libopencv-calib3d4.2 - update to libopencv4.5
  • ✔️ libopencv-contrib4.2 - update to libopencv4.5
  • ✔️ libopencv-core4.2 - update to libopencv4.5
  • ✔️ libopencv-features2d4.2 - update to libopencv4.5
  • ✔️ libopencv-flann4.2 - update to libopencv4.5
  • ✔️ libopencv-highgui4.2 - update to libopencv4.5
  • ✔️ libopencv-imgcodecs4.2 - update to libopencv4.5
  • ✔️ libopencv-imgproc4.2 - update to libopencv4.5
  • ✔️ libopencv-ml4.2 - update to libopencv4.5
  • ✔️ libopencv-objdetect4.2 - update to libopencv4.5
  • ✔️ libopencv-photo4.2 - update to libopencv4.5
  • ✔️ libopencv-shape4.2 - update to libopencv4.5
  • ✔️ libopencv-stitching4.2 - update to libopencv4.5
  • ✔️ libopencv-superres4.2 - update to libopencv4.5
  • ✔️ libopencv-video4.2 - update to libopencv4.5
  • ✔️ libopencv-videoio4.2 - update to libopencv4.5
  • ✔️ libopencv-videostab4.2 - update to libopencv4.5
  • ✔️ libopencv-viz4.2 - update to libopencv4.5
  • ✔️ libopencv4.2-java - update to libopencv4.5
  • ✔️ libopencv4.2-jni - update to libopencv4.5
  • ✔️ libopenexr24 - update to libopenexr25
  • ❌ ♻️ libparse-debianchangelog-perl - removed, recommend leaving out.
  • ✔️ libperl5.30 - update to libperl5.34
  • ✔️ libpgm-5.2-0 - update to libpgm-5.30-0
  • ✔️ libpoppler97 - update to libpoppler118
  • ✔️ libproj15 - update to libproj22
  • ✔️ libprotobuf-lite17 - update to libprotobuf-lite23
  • ✔️ libprotobuf17 - update to libprotobuf23
  • ✔️ libprotoc17 - update to libprotoc23
  • ✔️ libpython3.9 - update to libpython3.10
  • ✔️ libpython3.9-dev - update to libpython3.10
  • ✔️ libpython3.9-minimal - update to libpython3.10
  • ✔️ libpython3.9-stdlib - update to libpython3.10
  • ✔️ libqhull7 - update to libqhull8.0
  • ❌ 🌱 libruby2.7 - jammy only has ruby3.0
  • ✔️ libsemanage1 - update to libsemanage2
  • ✔️ libsepol1 - update to libsepol2
  • ✔️ libsepol1-dev - covered by libsepol-dev
  • ✔️ libssl1.1 - update to libssl3
  • ✔️ libubsan0 - update to libubsan1
  • ✔️ libvpx6 - update to libvpx7
  • ✔️ libvtk6.3 - update to libvtk9.1
  • ✔️ libwacom2 - update to update to libwacom9
  • ✔️ libwebp6 - update to libwebp7
  • ✔️ libx264-155 - update to libx264-163
  • ✔️ libx265-179 - update to libx265-199
  • ✔️ python-dev - replaced by explicit python2-dev
  • ❌ ♻️ qt5-default - no longer required
  • ❌ 🌱 ruby2.7 - jammy only has ruby3.0
  • ❌ 🌱 ruby2.7-dev - jammy only has ruby3.0

@neonphog neonphog changed the title update to jammy, remove invalid packages Update to Jammy 22.04 Jan 18, 2023
@neonphog neonphog marked this pull request as ready for review January 18, 2023 22:41
@neonphog
Copy link
Contributor Author

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

@neonphog
Copy link
Contributor Author

@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
Copy link
Contributor Author

@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:

🌱 - 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?

🔧 - 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?

⁉️ - 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
Copy link
Contributor Author

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

@FantasyTeddy
Copy link
Contributor

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
Copy link
Member

jyn514 commented Jan 19, 2023

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
Copy link
Member

jyn514 commented Jan 19, 2023

@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
Copy link

qdot commented Jan 19, 2023

@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
Copy link
Member

jyn514 commented Jan 19, 2023

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
Copy link
Contributor Author

@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
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants