-
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
Dependency Error public_suffix requires Ruby version >= 2.6 and breaks installing on Debian 10 / Buster #1923
Comments
@nudgegoonies We ran into the same issue while building packaged for dvc in https://github.com/iterative/dvc-s3-repo. For the record: easy solution is to just install rbenv and use it to install a newer ruby version iterative/dvc-s3-repo#63 so you don't depend on distro ruby packages at all. |
@efiop Thank you for the hint 👍 |
This is also breaking builds installing fpm on centos 7. I know it's EOL in a couple of years but still need to build packages on it. What I don't understand is that I had fpm 1.14.1 already installed, why does installing it again require the new public_suffix dependency? Did 1.14.1 get rebuilt or did its dependencies change?
|
There's a small hint in the error message:
You could try this before installing fpm:
I haven't tested this because I don't have CentOS 7 available for testing just now, but please let me know if it works. I'm working on self-contained fpm releases that would be more agnostic to OS distro/version. If that is of interest, let me know :) |
That said, if we can't find a workaround for the current version of fpm, let me know. I looked at the code in fpm that uses the |
Thank you. Sorry I should have said I tried installing an older public_suffix but it didn't help.
But I did just stumble on a workaround: FYI below is roughly the Dockerfile I use.
|
Found this issue thread while looking for a solution for the exact same problem. |
based on feedback here, I think the next step is to remove the dependency on the Using bundler to show a graph of dependencies, we can see that |
Folks are reporting that fpm cannot be installed easily (or at all) on older systems because a transitive dependency(1) rejects ruby versions older than 2.6. (1) rubygem git depends on addressable which depends on public_suffix Since the `git` dependency is only used in the `gem` source when using a git repo as a installation source, and that usage seems pretty simple -- clone a repo, checkout a branch, etc -- it feels safe to remove this dependency while still keeping the same functionality. Fixes #1923
#1946 should fix this assuming removing the |
Folks are reporting that fpm cannot be installed easily (or at all) on older systems because a transitive dependency(1) rejects ruby versions older than 2.6. (1) rubygem git depends on addressable which depends on public_suffix Since the `git` dependency is only used in the `gem` source when using a git repo as a installation source, and that usage seems pretty simple -- clone a repo, checkout a branch, etc -- it feels safe to remove this dependency while still keeping the same functionality. Fixes #1923
Thank you for addressing this. I encountered the problem today on AlmaLinux 8, and |
@srh Your tweet reminded me of the issue, so thanks for that :) |
Ah, double-plus thank you then :-) |
Folks are reporting that fpm cannot be installed easily (or at all) on older systems because a transitive dependency(1) rejects ruby versions older than 2.6. (1) rubygem git depends on addressable which depends on public_suffix Since the `git` dependency is only used in the `gem` source when using a git repo as a installation source, and that usage seems pretty simple -- clone a repo, checkout a branch, etc -- it feels safe to remove this dependency while still keeping the same functionality. Fixes #1923
fpm 1.15.0 is released and contains this improvement. If you were having problems installing fpm due to this issue, please try again and it should be fixed now :) |
Maybe a similar cause like this one: #1918
I assume this will happen more and more as direct and transitive ruby dependencies will require higher ruby versions that are only available in current Linux distributions. All the LTS distributions like Debian LTS, Ubuntu LTS, RedHat, etc. are "sensitive" to this problem. Debian 11 is not affected and i assume the latest Ubuntu and Fedora versions are not affected too.
P.S.
I think fpm is such "sensitive" because many developers must build software that dynamically links to libraries from these LTS distributions and thus the packaging build step runs on these LTS distributions as well.
The text was updated successfully, but these errors were encountered: