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

Problem: Gemfile has too tight version requirements which should instead be solved by Gemfile.lock #110

Open
pravi opened this issue Dec 28, 2021 · 4 comments

Comments

@pravi
Copy link

pravi commented Dec 28, 2021

We should follow SemVer.org when declaring dependency requirements to allow newer semver compliant versions to satisfy dependencies. For people depending on Gemfile.lock, this does not change much, but it helps in native Debian package where gems are updates globally. Currently this is achieved by maintaining a patch that relaxes the versions. https://salsa.debian.org/ruby-team/diaspora/-/blob/master/debian/patches/relax-dependencies.patch

@weex
Copy link
Member

weex commented Dec 28, 2021

If I understand correctly the problem with how it's handled now is that we're locking versions more tightly than necessary which can have the effect of pinning the installed version on a system (if ruby-team didn't maintain the above patch) or making it necessary to use some kind of ruby virtual environment.

@pravi
Copy link
Author

pravi commented Dec 29, 2021

Yes, the locking is more tighter than what is normally user in other apps (for example gitlab). For example, take json-shema, which is locked to '2.8.1', if we update the version to 2.8.2, this will not satisfy diaspora even if it is just a bug fix.

"~> 2.8", ">= 2.8.1" is sufficient for semver compliant libraries.

@pravi
Copy link
Author

pravi commented Dec 29, 2021

We prefer to maintain one version of json-schema and keep multiple versions only in rare cases as last resort (for example when major versions change or has a lot of work to make a single version work). This helps in reduced effort to maintain libraries.

@Mansh05
Copy link

Mansh05 commented Dec 29, 2021

@pravi, This is nice but since we do sync with the upstream, is this a big problem? Securities patches are nice but will this effect the whole dev cycle? diaspora is an old project so why not raise this in the upstream repo which will benefit a lot of other forked instances as well? What do you say?

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

No branches or pull requests

3 participants