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 package dependencies for Debian 12+ and Ubuntu 22.10+ #1697

Merged
merged 1 commit into from
Dec 17, 2023
Merged

Update package dependencies for Debian 12+ and Ubuntu 22.10+ #1697

merged 1 commit into from
Dec 17, 2023

Conversation

rcalixte
Copy link
Contributor

@rcalixte rcalixte commented Sep 7, 2023

@federico-terzi
Copy link
Collaborator

Hey @rcalixte! Thanks for the help :) (and sorry for the late reply)

The PR looks good, but we also need to update the CI scripts/dockerfile to include the updated packages: https://github.com/espanso/espanso/blob/dev/.github/scripts/ubuntu/Dockerfile

I'm wondering if there's a way we can create a deb package that is compatible with ubuntu 22+ and <22, any ideas?

@rcalixte
Copy link
Contributor Author

Hey @rcalixte! Thanks for the help :) (and sorry for the late reply)

No need for apologies!

The PR looks good, but we also need to update the CI scripts/dockerfile to include the updated packages: https://github.com/espanso/espanso/blob/dev/.github/scripts/ubuntu/Dockerfile

I'm wondering if there's a way we can create a deb package that is compatible with ubuntu 22+ and <22, any ideas?

This is using 18.04 as the base image and therefore will only have 18.04 repositories available. We would need to create a new Dockerfile for either 22.10+ (or wait until the next LTS in a few months). But the resulting .deb file should be compatible with both versions since the package name changed but the underlying library is mostly the same? The local distribution would be able to handle package dependency resolution using the repositories that are available.

Is there a way to test a build against this pull request?

@rcalixte
Copy link
Contributor Author

@federico-terzi If you can fix the build issues in the source repository, I can rebase the forked repository with the changes and test a build with these changes. I tried running the build and there are issues with some of the Rust components but once they are resolved, we can reliably test the results before merging. Let me know if this sounds like a good plan!

@federico-terzi
Copy link
Collaborator

@rcalixte I'll try to do it in the upcoming week :)

@federico-terzi
Copy link
Collaborator

federico-terzi commented Dec 10, 2023

@federico-terzi If you can fix the build issues in the source repository, I can rebase the forked repository with the changes and test a build with these changes. I tried running the build and there are issues with some of the Rust components but once they are resolved, we can reliably test the results before merging. Let me know if this sounds like a good plan!

Hey @rcalixte :) Build errors on the dev branch should be fixed, so feel free to proceed whenever you have the chance :)

Thanks for your help!

Removes '$auto' keyword to support dependencies

Fixes #1674

Fixes #1662
@rcalixte
Copy link
Contributor Author

@federico-terzi I was able to get it working. I tested both x11 and Wayland packages on Ubuntu 22.04 and Debian 12. The fix ended up being to remove the $auto keyword from the Cargo.toml file (for now?). The $auto keyword made cargo-deb add hard-coded dependencies that would only be for one or the other. So I pulled out the resulting dependencies and removed that keyword.

The release page with the deb build assets is here until the fork is deleted at some point. You can download and test with those.

Essentially, this ended up being a tradeoff for simplicity. The other option is to rework the entire build process to support both package variants until the older ones are end of life. I would lean toward waiting for the end of life for the older distributions and then updating the Cargo.toml to re-add the $auto keyword once it would be safe to do so. This means only having to do the change to the build process once and in the future with the advantage of proper planning. Provided that the dependencies don't change too much, this isn't a bad option.

Copy link
Member

@AucaCoyan AucaCoyan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great to me! Great job!
Thank you 🙏🏼

@federico-terzi
Copy link
Collaborator

Thanks! Seems to work correctly on Ubuntu 20 as well, good to go

@federico-terzi federico-terzi merged commit 4a9739f into espanso:dev Dec 17, 2023
9 checks passed
federico-terzi added a commit that referenced this pull request Dec 17, 2023
* fix: clippy warnings (#1426)

* fix: bad window style that caused Search bar to crash on macOS ventura #1413 and missed initialization that caused segmentation fault on some cases (#1424)

* fix(detect): update sctk version to fix #1057 on wayland

Co-authored-by: Ricky Kresslein <rk@lakoliu.com>

* chore: bump version

* chore(deps): bump regex from 1.4.6 to 1.5.5 (#1428)

Bumps [regex](https://github.com/rust-lang/regex) from 1.4.6 to 1.5.5.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](rust-lang/regex@1.4.6...1.5.5)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: version bump

* fix: clippy warnings (#1487)

* fix: clippy warnings

* fix: clippy warning

* fix: clippy warnings

* fix: clippy warnings

* fix: clippy warnings

* fix: clippy warnings

* fix: clippy warnings

* fix: clippy warnings

* fix: clippy warnings

* fix: clippy warnings

* fix: cleanup and crate updates (#1602)

* update incompatible packages

* fix some clippy warnings

* fix clippy warnings

* update winrt-notification version

* fix formatting

* fix warning

* fix warning

* fix: upgrade Rust version in Linux release pipeline

* Minor improvements to README (#1581)

- Remove trailing spaces
- Remove inline HTML

* fix: compilation issues and warnings (#1770)

* fix some warnings

* fix issue

* fix: bump rust version on Linux pipelines

* chore: bump cargo-deb dependency

* chore: refactor CI deployment pipelines (#1771)

* chore: refactor CI deployment pipelines

* rollback test change

* chore(deps): bump webpki from 0.22.0 to 0.22.2 (#1772)

Bumps [webpki](https://github.com/briansmith/webpki) from 0.22.0 to 0.22.2.
- [Commits](https://github.com/briansmith/webpki/commits)

---
updated-dependencies:
- dependency-name: webpki
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat(core): enable alt-code emulation by default on Windows (#1603)

* fix(config): fix warning

* fix(config): fix warning

* chore(deps): bump openssl from 0.10.36 to 0.10.61 (#1773)

Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.36 to 0.10.61.
- [Release notes](https://github.com/sfackler/rust-openssl/releases)
- [Commits](sfackler/rust-openssl@openssl-v0.10.36...openssl-v0.10.61)

---
updated-dependencies:
- dependency-name: openssl
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: update documentation (#1774)

* fix(detect): update sctk dependency to fix crash (#1769)

* bump sctk to 16.1

* Update seats type and match statements to match sctk v16

* Improve code quality opting-in some `clippy` pedantic lints (#1775)

* 🚨 Change single points of failure for `assert!`

* 🐛 Fix a missing `;`

* 🚨 Add missing `;` for consistent formatting

* 🚨 Fix `{}` with `{variable}` lint

* 🚨 Remove redundant else blocks

* 🚨 Separate numbers with `_` inbetween

* 🚨 Fix unused `&self` argument

* 🚨 Fix arg passed by value but not consumed-part 1

* 🚧 Trying to compile linux build

* Revert "🚨 Fix arg passed by value but not consumed-part 1"

This reverts commit 7c54210.

* Revert ":construction: Trying to compile linux build"

This reverts commit 617361d.

* 🚨 Change redundant closures with std methods

* 🚨 Change `for_each()` for `for` cycles

* 🚨 Add 2 more of `panic` in `if` statements

* 🚨 Change negative if for positive if

* 🚨 Fix unnested `or` patterns

* 🚨 Add some more `;`

* 🚨 Rename `_var` to `var` when it's possible

* 🚨 Remove `iter()` in for cycles

* 🐛 Fix `keys()` bug

* 🚨 Fix `"".to_string()` into `String::new()`

* 🚨 Fix `""to_owned()` into `String::new()`

* 🚨 Fix clippy and derive `Default` trait

* 🚨 Rename `_var` for `var` some more

* 🚨 Another block of adding `;`

* 🐛 Fix `_` unused var that breaks clippy

* 🚨 Fix _some_ star imports

* 🚨 Remove unnecessary use of `vec![]`

* chore: 📝 Update the path for windows portable compilation (#1782)

* feat(core): add label to espanso cli on match (#1720)

* refactor(match_cli): update print_matches functions to include label and handle errors

* fix formatting

* fix types

* fix optionality

---------

Co-authored-by: Federico Terzi <federico-terzi@users.noreply.github.com>

* fix(core): update package dependencies for Debian 12+ and Ubuntu 22.10+ (#1697)

Removes '$auto' keyword to support dependencies

Fixes #1674

Fixes #1662

* docs: improve description of compilation on Windows (#1785)

* chore: 🚨 more `clippy` pedantic lints (#1779)

* 🚨 Fix 1 case of 1 if for 1 panic (do `assert!`)

* 🚨 Remove unnecessary `mut`

* 🚨 Fix `{}` with `{variable}` lint

* 🚨 Fix redundant closure

* 🚨 Fix `map(<f>).unwrap_or_else(<g>)`

* 🚨 Rewrite to `let...else`

* 🚨 Remove unnecessary hashes `#` in raw strings

* 🚨 Remove useless `for_each`

* 🚨 De-reference double referenced values (`&&`)

* 🚨 Add ` to documentation

* 🚨 A couple of lints

* 🚨 Replace `match` with 1 arm for `if let`

* 🚨 Change `Default` for `Struct::default()`

* 🚨 Change `Ok(_)` with `Ok(())`

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: lakoliu <99976966+lakoliu@users.noreply.github.com>
Co-authored-by: Ricky Kresslein <rk@lakoliu.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ashish Bhatia <ashishb@ashishb.net>
Co-authored-by: Morgan <morgan.k@skiff.com>
Co-authored-by: Auca Coyan <aucacoyan@gmail.com>
Co-authored-by: Erwann Mest <m+github@kud.io>
Co-authored-by: Rick Calixte <10281587+rcalixte@users.noreply.github.com>
Co-authored-by: Nai Hao Cheng <chengnaihao@gmail.com>
@rcalixte rcalixte deleted the fix_deb branch December 17, 2023 13:41
@AucaCoyan AucaCoyan removed the request for review from federico-terzi March 31, 2024 23:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants