onkelbeh / HomeAssistantRepository

:house_with_garden: Home Assistant on Gentoo Linux.
https://git.edevau.net/onkelbeh/HomeAssistantRepository
GNU General Public License v3.0
39 stars 13 forks source link

Fixing dependencies of homeassistant-0.104.3 #9

Closed zen2 closed 4 years ago

zen2 commented 4 years ago

Hello and thanks for the big work involved in this overlay. I'm currently migrating my HA from a rpi3 to a x86 64 bits box.

As I need 'harmony' USE flag for HA, portage complain about a new dependency that have appeared in last dev-python/aioharmony-0.1.13:

!!! The ebuild selected to satisfy ">=dev-python/slixmpp-1.4.2" has unmet requirements.
- dev-python/slixmpp-1.4.2::HomeAssistantRepository USE="-test" PYTHON_TARGETS="-python3_6"

  The following REQUIRED_USE flag constraints are unsatisfied:
    python_targets_python3_6

  The above constraints are a subset of the following complete expression:
    any-of ( python_targets_python3_6 )

(dependency required by "dev-python/aioharmony-0.1.13::HomeAssistantRepository" [ebuild])
(dependency required by "app-misc/homeassistant-9999::HomeAssistantRepository[harmony]" [ebuild])
(dependency required by "homeassistant" [argument])
onkelbeh commented 4 years ago

Hi,

it's a pleasure that you find it useful.

Funny, because I just began adding KEYWORDS="~arm64" to the ebuilds, so Home Assistant could be run with Gentoo on Raspberry in the near future. But CPU can always be replaced with more CPU :-)

Just added a patched ebuild, this should let you compile it now. Cannot test, no Harmony here, but it compiles now.

I was adding many (missing) upstream dependencies in the last weeks. Surely many packages list requirements which aren't used/needed anyway.

Please close the ticket as soon as it works.

Have fun. \B.

zen2 commented 4 years ago

PROBLEM: no dev-python/importlib_metadata-1.3.0 available


emerge: there are no ebuilds to satisfy "~dev-python/importlib_metadata-1.3.0[python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_7(-),-python_single_target_python3_8(-)]".
(dependency required by "app-misc/homeassistant-0.104.2::HomeAssistantRepository" [ebuild])
(dependency required by "homeassistant" [argument])

because of no 1.3.0 version anymore:

[I] dev-python/importlib_metadata
     Available versions:  0.23-r1^t 1.4.0^t ~1.5.0^t {doc test PYTHON_TARGETS="pypy3 python2_7 python3_6 python3_7 python3_8"}

Note that I got my system in ~amd64 (unstable) because from my experience it's more easy to maintain a full unstable system that an stable one with a bunch of unstable ebuild.

FIX: I've fixed it by copying importlib_metadata-1.4.0.ebuild to dev-python/importlib_metadata-1.3.0.ebuild in overlay.

zen2 commented 4 years ago

PROBLEM: stable dev-python/cffi-1.13.2 in portage override 1.12.2-r1 version in overlay

FIX: accept newer version in ebuild

--- homeassistant-0.104.3.ebuild    2020-02-01 12:14:45.272402083 +0100
+++ homeassistant-0.104.3-r1.ebuild 2020-02-01 15:52:08.759718121 +0100
@@ -44,7 +44,7 @@
    >=dev-python/cdu-0.1.3[${PYTHON_USEDEP}]
    >=dev-python/certifi-2019.11.28[${PYTHON_USEDEP}]
    $(python_gen_cond_dep '~dev-python/contextvars-2.4[${PYTHON_USEDEP}]' python3_6)
-   ~dev-python/cffi-1.12.2[${PYTHON_USEDEP}]
+   >=dev-python/cffi-1.12.2[${PYTHON_USEDEP}]
    >=dev-python/chardet-3.0.4[${PYTHON_USEDEP}]
    ~dev-python/colorlog-4.0.2[${PYTHON_USEDEP}]
    >=dev-python/coverage-4.5.2[${PYTHON_USEDEP}]
@@ -215,7 +215,7 @@
    z-wave? ( ~dev-python/pynacl-1.3.0[${PYTHON_USEDEP}]
              ~dev-python/homeassistant-pyozw-0.1.7[${PYTHON_USEDEP}]
              ~dev-python/pydispatcher-2.0.5[${PYTHON_USEDEP}]
-             ~dev-python/cffi-1.12.2[${PYTHON_USEDEP}] )
+             >=dev-python/cffi-1.12.2[${PYTHON_USEDEP}] )
 "

 DEPEND="${RDEPEND}
zen2 commented 4 years ago

PROBLEM: dev-python/ruamel-yaml can't be downloaded anymore from bitbucket.

FIX: sources can be found here: https://sourceforge.net/projects/ruamel-yaml/ and ebuild need to be modify:

MY_PN="${PN//-/.}"
SRC_URI="https://bitbucket.org/${MY_PN/.//}/get/${PV}.tar.gz -> ${P}.tar.gz"

with

SRC_URI="mirror://pypi/${P:0:1}/${PN/-/.}/${P/-/.}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${P/-/.}"
zen2 commented 4 years ago

So far, homeassistant is installed and no more problems reported by internal checks when issuing hass --help but I can't use webostv USE flag.

PROBLEM: USE flag "webostv" can't be used because dev-python/aiopylgtv need dev-python/asyncio that doesn't exist at all in portage or in overlay.

REQUEST: we need an ebuild for dev-python/asyncio in overlay

onkelbeh commented 4 years ago

OK, a lot of stuff. Thanks for your feedback.

All 5 issues should be fixed in

onkelbeh commented 4 years ago

Uh, just saw your first post again closing my windows: python_targets_python3_6 Make sure you are installing on Python 3.7, support for 3.6 was dropped with 0.103.0

zen2 commented 4 years ago

Uh, just saw your first post again closing my windows: python_targets_python3_6 Make sure you are installing on Python 3.7, support for 3.6 was dropped with 0.103.0

I got only python 3.7 installed but portage wanted python 3.6 to respect slixmpp-1.4.2.ebuild.

zen2 commented 4 years ago

It seems you need to recreate manifest for dev-python/ruamel-yaml :

!!! Digest verification failed:
!!! /var/lib/layman/HomeAssistantRepository/dev-python/ruamel-yaml/ruamel-yaml-0.15.89.ebuild
!!! Reason: Filesize does not match recorded size
!!! Got: 1111
!!! Expected: 1108

And by the way, ruamel-yaml don't emerge now, it seems you take my ebuild modifications and finally the following line is not needed: S="${WORKDIR}/${P/-/.}"

onkelbeh commented 4 years ago

OK, will check out slixmpp-1.4.2 soon.

ruamel-yaml is fixed with https://git.edevau.net/onkelbeh/HomeAssistantRepository/commit/fa8509f068a424e4bf74a5661cfeb4da3720c673. Had a heavy power outage this weekend caused by a storm. Seems I forgot to do the Manifest before pushing with my last battery power.

There are still 2 dependency issues left:

I'll try to clean this up before 0.105.0 and will do a fresh complete compile test as soon as 0.105.0 is out.

Could you also take a look if your /etc/homeassistant/deps is empty?

onkelbeh commented 4 years ago

slixmpp-1.4.2: On my box, all related components for aioharmony compile fine:

root@g18-hass:/usr/portage/homeassistant/dev-python # emerge -1tav dev-python/aioharmony --autounmask=y

Local copy of remote index is up-to-date and will be used.

 * IMPORTANT: 1 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.

Local copy of remote index is up-to-date and will be used.

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[ebuild  N    ~] dev-python/aioharmony-0.1.13-r1::HomeAssistantRepository  USE="-test" PYTHON_TARGETS="python3_7 -python3_8" 26 KiB
[ebuild  N    ~]  dev-python/slixmpp-1.4.2-r1::HomeAssistantRepository  USE="-test" PYTHON_TARGETS="python3_7 -python3_8" 0 KiB
[ebuild  N     ]   net-dns/libidn-1.35:0/12::gentoo  USE="nls -doc -emacs -java -mono -static-libs" 0 KiB
[ebuild  N    ~]   dev-python/aiodns-2.0.0-r1::gentoo  PYTHON_TARGETS="python3_7 -python3_6" 0 KiB
[ebuild  N    ~]    dev-python/pycares-3.1.1::gentoo  PYTHON_TARGETS="python3_7 -python3_6 -python3_8" 0 KiB
[ebuild  N     ]     virtual/python-cffi-0::gentoo  PYTHON_TARGETS="python3_7 (-pypy3) -python2_7 -python3_6 (-python3_8)" 0 KiB

Total: 6 packages (6 new), Size of downloads: 26 KiB

Would you like to merge these packages? [Yes/No]
>>> Verifying ebuild manifests
>>> Emerging (1 of 6) virtual/python-cffi-0::gentoo
>>> Emerging (2 of 6) net-dns/libidn-1.35::gentoo
>>> Installing (1 of 6) virtual/python-cffi-0::gentoo
>>> Emerging (3 of 6) dev-python/pycares-3.1.1::gentoo
>>> Installing (3 of 6) dev-python/pycares-3.1.1::gentoo
>>> Emerging (4 of 6) dev-python/aiodns-2.0.0-r1::gentoo
>>> Installing (4 of 6) dev-python/aiodns-2.0.0-r1::gentoo
>>> Installing (2 of 6) net-dns/libidn-1.35::gentoo
>>> Emerging (5 of 6) dev-python/slixmpp-1.4.2-r1::HomeAssistantRepository
>>> Installing (5 of 6) dev-python/slixmpp-1.4.2-r1::HomeAssistantRepository
>>> Emerging (6 of 6) dev-python/aioharmony-0.1.13-r1::HomeAssistantRepository
>>> Installing (6 of 6) dev-python/aioharmony-0.1.13-r1::HomeAssistantRepository
>>> Jobs: 6 of 6 complete                           Load avg: 2.14, 1.48, 1.25
>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

 * Regenerating GNU info directory index...
 * Processed 96 info files.

 * IMPORTANT: 1 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.

-> Searching for services that need to be restarted ... done
=> Found 0 services that need to be restarted or reloaded
No known services need to be restarted.
=> Found 0 inittab processes that need to be restarted
root@g18-hass:/usr/portage/homeassistant/dev-python # eselect python list
Available Python interpreters, in order of preference:
  [1]   python3.7
  [2]   python2.7
  [3]   python3.8 (fallback)
root@g18-hass:/usr/portage/homeassistant/dev-python #
onkelbeh commented 4 years ago

python-dateutil: python-dateutil-2.8.0 was erroneously required by botocore-1.12.252.

Adjusted this according to the 1.12.252 setup.py in botocore-1.12.252-r1.

Now python-dateutil-2.8.1-r1 is allowed.