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

citrix_receiver: remove old versions #57394

Merged
merged 1 commit into from Mar 25, 2019
Merged

Conversation

Ma27
Copy link
Member

@Ma27 Ma27 commented Mar 11, 2019

Motivation for this change

The versions 13.8.0 and 13.9.{0,1} will be EOLed before the end of 19.03
and should be dropped.
To provide an easy upgrade path, all unsupported versions will throw an
evaluation error. All versions that are about the be EOLed can be added
there as well.

For now, all of those deprecated versions are still referenced in
all-packages.nix, but should be removed before the next release.

See also https://www.citrix.co.uk/support/product-lifecycle/milestones/receiver.html

Unless the merger beats me, I'd backport this to 19.03 as well.

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.

@infinisil
Copy link
Member

Can we get throws instead? I don't like just removing things without warning (especially on stable, even when possibly nobody is using it)

The versions 13.8.0 and 13.9.{0,1} will be EOLed before the end of 19.03
and should be dropped.

To provide an easy upgrade path, all unsupported versions will throw an
evaluation error. All versions that are about the be EOLed can be added
there as well.

For now, all of those deprecated versions are still referenced in
`all-packages.nix`, but should be removed before the next release.

See also https://www.citrix.co.uk/support/product-lifecycle/milestones/receiver.html
@Ma27
Copy link
Member Author

Ma27 commented Mar 16, 2019

@infinisil fixed. All previously used attribute names for older citrix versions now break with a proper error message. All currently deprecated attribute names should be removed before 19.09 then.

@obadz
Copy link
Contributor

obadz commented Mar 16, 2019

That looks fine to me @Ma27.

@infinisil, I worry this policy of adding throws for every old version is going to create clutter in all-packages.nix. Technically we should also add citrix_receiver_13_6_0, citrix_receiver_13_5_0, and citrix_receiver_13_4_0 if we go down that route. I think maybe throws are fine for renamed attributes but not required for version specific attributes?

For what it's worth, keeping old versions had nothing to do with Citrix's EOL schedule. Rather it was to work around bugs that they would introduce and not fix for multiple versions. For instance, I had no way to connect to my work desktop between 13.5 and 13.9 due to this bug: https://discussions.citrix.com/topic/385459-ssl-error-with-135-works-with-134/page-2#entry1977735

Since—at the moment—there are no issues with using the latest version (at least for my use cases), I don't have an objection to deleting the old ones.

Finally, unless you have many different sets of certs that you wrap Citrix with, wouldn't it be simpler to pass your extraCerts argument to the main Citrix package to avoid the cognitive overhead of the wrapper for anyone looking at the package?

@Ma27
Copy link
Member Author

Ma27 commented Mar 16, 2019

Technically we should also add citrix_receiver_13_6_0, citrix_receiver_13_5_0, and citrix_receiver_13_4_0 if we go down that route. I think maybe throws are fine for renamed attributes but not required for version specific attributes?

I agree with @infinisil here: we provide a proper error message now and I'd drop the attribute before the 19.09 branchoff. Then we need to package a newer Citrix version (which is not released yet) and deprecate 13.10 (which will be EOLed in december 2019).

IMHO this is just a helper to avoid confusion when updating, those attributes shouldn't stay here forever.

Since—at the moment—there are no issues with using the latest version (at least for my use cases), I don't have an objection to deleting the old ones.

Same here, using 13.10 for a while now for my work, I didn't experience severe problems that were caused by the receiver.

If we had known issues with several receiver versions I'd totally agree with you, but for now I guess we should simply drop all versions that are about to be EOLed.

Finally, unless you have many different sets of certs that you wrap Citrix with, wouldn't it be simpler to pass your extraCerts argument to the main Citrix package to avoid the cognitive overhead of the wrapper for anyone looking at the package?

I though keeping extra wrapping logic separated from the actual package is better and seems to be a common patter in nixpkgs (although citrix_receiver doesn't take long to rebuild). But IMHO that should be discussed as part of a different PR.

@Ma27
Copy link
Member Author

Ma27 commented Mar 25, 2019

Pinging @obadz. It would be great to have this in the 19.03 release :)

@obadz obadz merged commit d4a570a into NixOS:master Mar 25, 2019
@obadz
Copy link
Contributor

obadz commented Mar 25, 2019

Merged. Thx.

@Ma27 Ma27 deleted the drop-old-citrix-versions branch March 25, 2019 18:36
@Ma27
Copy link
Member Author

Ma27 commented Mar 25, 2019

Backported as f4612a2. Those versions will be EOLed during the lifetime of 19.03, so we can entirely drop 13.{8,9} before the 19.09 branchoff.

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.

None yet

4 participants