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

[20.09] ipfs: refactor {0.6, 0.7} -> 0.7 #102400

Closed

Conversation

fabianhjr
Copy link
Member

@fabianhjr fabianhjr commented Nov 1, 2020

Sync with master branch to avoid 20.09 having multiple versions of IPFS.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

/cc @Luflosi

@fabianhjr fabianhjr changed the title ipfs: refactor {0.6, 0.7} -> 0.7 [20.09] ipfs: refactor {0.6, 0.7} -> 0.7 Nov 1, 2020
@Luflosi
Copy link
Contributor

Luflosi commented Nov 1, 2020

Why is my username in "Co-authored-by" and as the author of the commit? Please don't set me as the author of a change if I wasn't the one who originally made that change.
Also, this PR basically tries to undo part of #100676, where you already asked why IPFS was split into two versions. Has anything changed to now warrant undoing that?
@Ericson2314 Please take a look at this.

@fabianhjr
Copy link
Member Author

fabianhjr commented Nov 1, 2020

Sorry, I am not familiar with etiquette regarding co-authored-by, I made that addition since you were the one making the recent versions changes on master this is syncing to.

commit b75e4314544ae220a69d13fbd7676d85437fa15c
Author: Luflosi <luflosi@luflosi.de>
Date:   Wed Sep 23 12:14:14 2020 +0200

    ipfs: 0.6.0 -> 0.7.0
    
    https://github.com/ipfs/go-ipfs/releases/tag/v0.7.0
    
    Pinning go114 is no longer necessary with this version.

commit d385065f705d10ce7738ae4f025fa8a142d3a26c
Author: Luflosi <luflosi@luflosi.de>
Date:   Wed Sep 23 12:06:44 2020 +0200

    ipfs: avoid warning during build when moving directory
    
    Trying to move a directory into itself will result in a warning:
    mv: cannot move 'ipfs-src' to a subdirectory of itself, 'ipfs-src/ipfs-src'
    
    This can be prevented by excluding that directory.

commit 1a382e983f9db3ebfc8cf50c2aa036452ef931ee
Author: Luflosi <luflosi@luflosi.de>
Date:   Wed Sep 23 12:01:14 2020 +0200

    ipfs: remove executable bit from systemd units
    
    IPFS would complain with warnings like
    Configuration file /nix/store/...-ipfs-0.6.0/etc/systemd/system/ipfs.service is marked executable. Please remove executable permission bits. Proceeding anyway.

This commit was made via git checkout master -- pkgs/applications/networking/ipfs/

@fabianhjr
Copy link
Member Author

"Co-authored-by" removed

@fabianhjr
Copy link
Member Author

Also, this PR basically tries to undo part of #100676, where you already asked why IPFS was split into two versions. Has anything changed to now warrant undoing that?

I believe the split was unnecessary, I have been trying both ipfs-0.6 and ipfs-0.7 on nixos-20.09 and while there are some breaking changes between the two non are either user facing nor are there breaking issues for the ./nixos/modules/services/network-filesystems/ipfs.nix NixOS service that currently has no way of changing from the current default 0.6 version to the 0.7 version.

I was pondering on whether to add a "pkg" option to the NixOS service in master and then backport to 20.09 but decided to backport the latest version instead.

@Ericson2314
Copy link
Member

NixOS service that currently has no way of changing from the current default 0.6 version to the 0.7 version.

I was pondering on whether to add a "pkg" option to the NixOS service in master and then backport to 20.09 but decided to backport the latest version instead.

I think we should do that instead. Per https://github.com/ipfs/go-ipfs/blob/master/docs/releases.md#release-version-numbers-aka-semver is used, so 0.x -> 0.y can be breaking, yet important fixes are not backported.

Maybe once they hit 1.0 we can reconsider.

@fabianhjr
Copy link
Member Author

can be breaking, yet important fixes are not backported

Yes, that is also the main issue I have with maintiaing several releases on a release branch when it is not done so on the master branch.

We do not yet retroactively apply fixes to older releases (no Long Term Support releases for now), which means that we always recommend users to update to the latest, whenever possible.

So I went looking for changes ( ipfs/kubo@v0.6.0...v0.7.0 ) in particular:

Those changes aren't getting backported to the 0.6.z release series and per their comment it is unlikely that a 0.6.1 release would happen. It is possible to upgrade the nixos-20.09 IPFS release from 0.6.0 to 0.7.0.

Sync with `master` branch to avoid 20.09 having multiple versions of IPFS.
@Ericson2314
Copy link
Member

But we can't upgrade something with breaking changes on stable. For example see https://github.com/ipfs/go-ipfs/blob/master/CHANGELOG.md#provider-record-changes: <0.5 and >=0.5 are noninteroperable with CIDv1.

This means the choices are publish both or publish neither, but we don't generally remove unstable/pre-1.0 stuff from stable Nixpkgs, so that leaves publishing both.

@fabianhjr
Copy link
Member Author

Ok, then I will attempt to create a PR for the pkg option for the ipfs nixos service by tomorrow so that the version could be changed.

@fabianhjr fabianhjr closed this Nov 3, 2020
@fabianhjr fabianhjr deleted the backport-ipfs branch November 24, 2020 19:53
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.

None yet

3 participants