Uploaded image for project: 'Funtoo Linux'
  1. Funtoo Linux
  2. FL-9887

new httpx breaks metatools


    • Bug
    • Status: Closed
    • Normal
    • Resolution: Workaround
    • None


      During the development of FL-9886, I encountered an interesting blocker: the doit command failed to download artifacts for my CoreDNS autogen with this error:

      [ERROR 00:45:35] Download failure for https://api.github.com/repos/coredns/coredns/tarball/v1.9.2:
      [ERROR 00:45:35] Fetch error: (<metatools.fastpull.spider.FetchRequest object at 0x7f41a8ce30a0>, 'ConnectTimeout: ')
      [ERROR 00:45:35] 'NoneType' object has no attribute 'blob'
          Traceback (most recent call last):
            File "/usr/lib/python3.9/subpop/org.funtoo.metatools/pkgtools/autogen.py", line 315, in gen_wrapper
              await generate(AutoHub(autogen_id, pkgtools), **pkginfo)
            File "/home/xxx/Repos/kit-fixups/net-kit/curated/net-dns/coredns/autogen.py", line 20, in generate
              artifacts = await hub.pkgtools.golang.generate_gosum_from_artifact(src_artifact)
            File "/usr/lib/python3.9/subpop/org.funtoo.metatools/pkgtools/golang.py", line 58, in generate_gosum_from_artifact
            File "/usr/lib/python3.9/subpop/org.funtoo.metatools/pkgtools/ebuild.py", line 144, in extract
              cmd = f"tar -C {ep} -xf {self.final_path}"
            File "/usr/lib/python3.9/subpop/org.funtoo.metatools/pkgtools/ebuild.py", line 103, in final_path
              return self.blos_object.blob.path
          AttributeError: 'NoneType' object has no attribute 'blob'
      [ERROR 00:45:35] An error was encountered when processing /home/xxx/Repos/kit-fixups/net-kit/curated/net-dns/coredns/autogen.py

      From what I can tell doit is having issues downloading CoreDNS Golang dependencies using the exact same Python autogen as other Golang packages like app-misc/yq-go. The go.sum for CoreDNS currently in their upstream git repo is 1542 lines. This is a lot.

      For a full reference on my work in progress Python autogen for CoreDNS and to try and reproduce this locally see this branch: https://code.funtoo.org/bitbucket/users/siris/repos/kit-fixups/browse/net-kit/curated/net-dns/coredns?at=refs%2Fheads%2FFL-9886%2Fcoredns-autogen 

      Also, here is a filesystem overview of the repo_tmp during after the above failure of doit if it helps:

      dust ~/repo_tmp/
         0B     ┌── blos
         0B     │ ┌── local
         0B     ├─┴ integrity
       744K     │       ┌── 23b1b9fa6a4e76b5378af4a602685a7f866829d7a6a427f762315452ba2e62d..
       744K     │     ┌─┴ b9
       744K     │   ┌─┴ b1
       744K     │ ┌─┴ 23
       744K     ├─┴ fetch_cache
       744K   ┌─┴ stores
         0B   │   ┌── coredns-v1.9.2.tar.gz
         0B   │ ┌─┴ artifact_extract
       998M   │ │ ┌── CDQQKLM9-4756cd3c14251237ff518321193eb1cd
       998M   │ ├─┴ spider
       998M   ├─┴ tmp
       998M ┌─┴ repo_tmp 


        Issue Links



              siris siris
              siris siris
              0 Vote for this issue
              1 Start watching this issue