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

ddclient: 3.8.3 -> 3.9.0 #51487

Merged
merged 1 commit into from Jan 3, 2019
Merged

ddclient: 3.8.3 -> 3.9.0 #51487

merged 1 commit into from Jan 3, 2019

Conversation

uvNikita
Copy link
Contributor

@uvNikita uvNikita commented Dec 3, 2018

Motivation for this change

This release fixes cloudflare protocol usage by switching to a new api
version. See release notes: https://sourceforge.net/p/ddclient/news/2018/08/ddclient-390-released.
Partially fixes #26691.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • 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 nox --run "nox-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)
  • Assured whether relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@c0bw3b
Copy link
Contributor

c0bw3b commented Dec 7, 2018

The linked issue suggest that JSONAny Perl package should also be part of the build inputs.

@uvNikita
Copy link
Contributor Author

uvNikita commented Dec 7, 2018

Yes, the old version was failing to update cloudflare without JSONAny. So I added build input as suggested in the linked issue, but then I got an error regarding usage of an old API. After upgrade, I tried to remove JSONAny and it worked without any issues. Here is the exact packageOverride I have in my configuration:

      nixpkgs.config.packageOverrides = super: let self = super.pkgs; in {
        ddclient = super.ddclient.overrideAttrs (
          oldAttrs: rec {
            name = "ddclient-${version}";
            version = "3.9.0";
            src = super.fetchurl {
              url = "mirror://sourceforge/ddclient/${name}.tar.gz";
              sha256 = "0fwyhab8yga2yi1kdfkbqxa83wxhwpagmj1w1mwkg2iffh1fjjlw";
            };
            patches = [];
            buildInputs = oldAttrs.buildInputs ++ (with super.perlPackages; [ DataValidateIP ]);
          }
        );
      };

@uvNikita
Copy link
Contributor Author

uvNikita commented Dec 19, 2018

@c0bw3b according to ddclient changelog, they've switched from JSON::Any to JSON:PP in the new release. This explains why it works without having JSONAny package in buildInputs.

@c0bw3b
Copy link
Contributor

c0bw3b commented Dec 19, 2018

Ah! Nice catch. I guess we should add JSONPP to the inputs list of Perl packages then?

This release fixes cloudflare protocol usage by switching to a new api
version. See release notes: https://sourceforge.net/p/ddclient/news/2018/08/ddclient-390-released.
Partially fixes NixOS#26691.
@uvNikita
Copy link
Contributor Author

uvNikita commented Jan 3, 2019

For some reason, cloudflare updates work for me without this dependency, but since it's clearly listed in README file, I added it to build inputs as well.

@c0bw3b
Copy link
Contributor

c0bw3b commented Jan 3, 2019

@GrahamcOfBorg build ddclient

@c0bw3b c0bw3b merged commit e767e9b into NixOS:master Jan 3, 2019
@benpye
Copy link
Contributor

benpye commented Feb 21, 2019

Would this be a candidate for a backport to 18.09?

@uvNikita
Copy link
Contributor Author

@benpye I'm not sure really, but maybe @c0bw3b knows more about procedures for backporting.

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

Successfully merging this pull request may close these issues.

Cloudflare not supported by ddclient configuration
4 participants