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

home-assistant: 0.91.4 -> 0.92.2 #60217

Merged
merged 9 commits into from May 5, 2019

Conversation

dotlambda
Copy link
Member

@dotlambda dotlambda commented Apr 25, 2019

Motivation for this change

https://www.home-assistant.io/blog/2019/04/24/release-92/

This was a complex update due to home-assistant/core#22699.
The parse-requirements.py script needed quite some changes to account for the new manifest.json. But the new code turned out shorter than the old one.
I also have completely rewritten the code that accounts for the platform = "component" way of configuration. The respective commit (d280603) should be backported. This will make it rather useless to use autoExtraComponents with a pre-0.92 version of Home Assistant. Is this something that should be possible?

Due to the extensive changes, I invite everyone to test thoroughly. Please bear in mind that you will need to apply d280603 to your nixpkgs checkout if you build your system from one of the release channels.

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 nix-review --run "nix-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.

cc @netixx

@dotlambda
Copy link
Member Author

This breaks transifex-client, which requires python-slugify<3.0.0.

cc @etu

@etu
Copy link
Contributor

etu commented Apr 25, 2019

This breaks transifex-client, which requires python-slugify<3.0.0.

Sigh, that damn package. It probably doesn't require that really. It has made lots of absurd claims in the past. I'll look into this tomorrow at work (in about 8-9 hours or so). I already patch the package to get rid of some of the absurd claims of required versions of deps. But yeah, I need it so I'll fix it somehow.

@peterhoeg
Copy link
Member

A number of platforms failed to initialize for me:

  • darksky
  • pushover
  • broadlink
  • onkyo
Error setting up platform pushover

Traceback (most recent call last):
  File "/nix/store/1zvaffg7c9n2nwyqsfnsram172h8jqal-homeassistant-0.92.0/lib/python3.7/site-packages/homeassistant/components/notify/__init__.py", line 71, in async_setup_platform
    platform.get_service, hass, p_config, discovery_info)
  File "/nix/store/kimimvhimclyfzlncpg36zjni3wn70nq-python3-3.7.3/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/nix/store/1zvaffg7c9n2nwyqsfnsram172h8jqal-homeassistant-0.92.0/lib/python3.7/site-packages/homeassistant/components/pushover/notify.py", line 26, in get_service
    from pushover import InitError
ModuleNotFoundError: No module named 'pushover'

@peterhoeg
Copy link
Member

Ahh wait, while this is the package used, the module is still the one from stable and thus without the mentioned commit.

@etu
Copy link
Contributor

etu commented Apr 26, 2019

@dotlambda I have tested building transifex locally, and changing this line:

--replace "python-slugify==1.2.6" "python-slugify<3.0.0"
is enough to get it to work. I did set it to 4.0.0 locally.

@oneingan
Copy link
Contributor

oneingan commented May 3, 2019

Tried again:

ModuleNotFoundError: No module named 'forecastio'

If I add the component in extra packages then works.

@dotlambda
Copy link
Member Author

The nixpkgs version used to build your system, not the one Home Assistant is built from, must include the patch. That's because it's the NixOS module's task to detect the used components.
Maybe we could change this so that the package is passed autoExtraComponents and config.

@ofborg ofborg bot requested a review from abbradar May 3, 2019 14:28
@oneingan
Copy link
Contributor

oneingan commented May 3, 2019

I understand, I really like to select which packages I prefer bleeding edge in my system without affecting system wide. So I can keep with my workaround. Or do you know how can I override only that module?

@dotlambda
Copy link
Member Author

That patch will be backported to 19.03, so you won't have to change anything. But for testing, you have to build from a local nixpkgs checkout of your channel with the patch appied.

@dotlambda
Copy link
Member Author

I'll merge on 2019-05-05 20:00 UTC if there's no further comment until then.

@dotlambda dotlambda merged commit 1ea22b8 into NixOS:staging May 5, 2019
@dotlambda dotlambda deleted the home-assistant-0.92 branch May 5, 2019 21:31
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

5 participants