Bug 223609 - Update autoinstalled packages
Summary: Update autoinstalled packages
Status: ASSIGNED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Sam Sneddon [:gsnedders]
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2021-03-22 15:57 PDT by Sam Sneddon [:gsnedders]
Modified: 2021-03-29 15:58 PDT (History)
5 users (show)

See Also:


Attachments
Patch (16.58 KB, patch)
2021-03-22 16:00 PDT, Sam Sneddon [:gsnedders]
no flags Details | Formatted Diff | Diff
Patch (18.69 KB, patch)
2021-03-24 09:43 PDT, Sam Sneddon [:gsnedders]
no flags Details | Formatted Diff | Diff
Patch (19.23 KB, patch)
2021-03-25 17:52 PDT, Sam Sneddon [:gsnedders]
gsnedders: review?
ews-feeder: commit-queue-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Sam Sneddon [:gsnedders] 2021-03-22 15:57:14 PDT
A lot of these are quite out of date, and we need more recent versions for Python 3.9 on macOS.
Comment 1 Sam Sneddon [:gsnedders] 2021-03-22 16:00:25 PDT
Created attachment 423954 [details]
Patch
Comment 2 Sam Sneddon [:gsnedders] 2021-03-24 09:43:22 PDT
Created attachment 424144 [details]
Patch
Comment 3 Jonathan Bedard 2021-03-24 11:25:09 PDT
Comment on attachment 424144 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=424144&action=review

> Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py:41
>  

Need to bump tiny version here and in setup.py.

> Tools/Scripts/libraries/webkitflaskpy/webkitflaskpy/__init__.py:46
>  version = Version(0, 1, 1)

Need to bump tiny version here and in setup.py.

> Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py:49
>  version = Version(0, 13, 6)

Need to bump tiny version here and in setup.py.
Comment 4 Fujii Hironori 2021-03-24 13:28:21 PDT
I tested your patch with Windows Python 2 and 3.
It works fine with Python 3.
However, Python 2 fails.

PS C:\home\webkit\ga> git clean -dfx
PS C:\home\webkit\ga> python .\Tools\Scripts\test-webkitpy
Downloading wheel-0.36.2...
Failed to install wheel-0.36.2!
Traceback (most recent call last):
  File ".\Tools\Scripts\test-webkitpy", line 30, in <module>
    from webkitpy.common import multiprocessing_bootstrap
  File "C:\home\webkit\ga\Tools\Scripts\webkitpy\__init__.py", line 94, in <module>
    import webkitscmpy
  File "C:\home\webkit\ga\Tools\Scripts\libraries\webkitscmpy\webkitscmpy\__init__.py", line 62, in <module>
    from webkitscmpy import mocks
  File "C:\home\webkit\ga\Tools\Scripts\libraries\webkitscmpy\webkitscmpy\mocks\__init__.py", line 3, in <module>
    from webkitscmpy.mocks import local
  File "C:\home\webkit\ga\Tools\Scripts\libraries\webkitscmpy\webkitscmpy\mocks\local\__init__.py", line 4, in <module>
    from webkitscmpy.mocks.local.git import Git
  File "C:\home\webkit\ga\Tools\Scripts\libraries\webkitscmpy\webkitscmpy\mocks\local\git.py", line 30, in <module>
    from webkitscmpy.program.canonicalize.committer import main as committer_main
  File "C:\home\webkit\ga\Tools\Scripts\libraries\webkitscmpy\webkitscmpy\program\__init__.py", line 28, in <module>
    from webkitscmpy import local, log, remote
  File "C:\home\webkit\ga\Tools\Scripts\libraries\webkitscmpy\webkitscmpy\remote\__init__.py", line 24, in <module>
    from webkitscmpy.remote.svn import Svn
  File "C:\home\webkit\ga\Tools\Scripts\libraries\webkitscmpy\webkitscmpy\remote\svn.py", line 25, in <module>
    import fasteners
  File "C:\home\webkit\ga\Tools\Scripts\libraries\webkitcorepy\webkitcorepy\autoinstall.py", line 560, in find_module
    cls.install(name)
  File "C:\home\webkit\ga\Tools\Scripts\libraries\webkitcorepy\webkitcorepy\autoinstall.py", line 544, in install
    return all([to_install.install() for to_install in cls.register(package)])
  File "C:\home\webkit\ga\Tools\Scripts\libraries\webkitcorepy\webkitcorepy\autoinstall.py", line 238, in install
    AutoInstall.install('wheel')
  File "C:\home\webkit\ga\Tools\Scripts\libraries\webkitcorepy\webkitcorepy\autoinstall.py", line 544, in install
    return all([to_install.install() for to_install in cls.register(package)])
  File "C:\home\webkit\ga\Tools\Scripts\libraries\webkitcorepy\webkitcorepy\autoinstall.py", line 259, in install
    archive.unpack(temp_location)
  File "C:\home\webkit\ga\Tools\Scripts\libraries\webkitcorepy\webkitcorepy\autoinstall.py", line 123, in unpack
    file.extractall(target)
  File "C:\Python27\lib\tarfile.py", line 2081, in extractall
    self.extract(tarinfo, path)
  File "C:\Python27\lib\tarfile.py", line 2118, in extract
    self._extract_member(tarinfo, os.path.join(path, tarinfo.name))
  File "C:\Python27\lib\tarfile.py", line 2194, in _extract_member
    self.makefile(tarinfo, targetpath)
  File "C:\Python27\lib\tarfile.py", line 2234, in makefile
    with bltn_open(targetpath, "wb") as target:
IOError: [Errno 22] invalid mode ('wb') or filename: 'c:\\users\\000013~1\\appdata\\local\\temp\\wheel\\wheel-0.36.2\\tests\\testdata\\unicode.dist\\unicodedist\\\xe5\xe4\xf6_???.py'
Comment 5 Fujii Hironori 2021-03-24 13:36:18 PDT
test-webkitpy and test-webkitpy-python2 work nicely with Windows Python 2.7 if I downgrade the version of wheel.
> AutoInstall.register(Package('wheel', Version(0, 35, 1)))
Comment 6 Sam Sneddon [:gsnedders] 2021-03-25 17:36:05 PDT
(In reply to Fujii Hironori from comment #5)
> test-webkitpy and test-webkitpy-python2 work nicely with Windows Python 2.7
> if I downgrade the version of wheel.
> > AutoInstall.register(Package('wheel', Version(0, 35, 1)))

That's super surprising that makes a difference!

Also had issues with mccabe having a setup_requires dependency on pytest-runner on Linux; potentially just lucky with ordering that it wasn't hit sooner.
Comment 7 Sam Sneddon [:gsnedders] 2021-03-25 17:52:06 PDT
Created attachment 424309 [details]
Patch
Comment 8 Fujii Hironori 2021-03-25 18:14:15 PDT
I tested the patch with Windows Python 2 and 3, and confirmed no autoinstalling issue.

> git clean -dfx
> python .\Tools\Scripts\test-webkitpy-python2
> C:\Python39\python.exe .\Tools\Scripts\test-webkitpy

Also, I got the same error (Comment 4) after modifying the wheel version to Version(0, 36, 2).

> python .\Tools\Scripts\test-webkitpy-python2

This is weired, but I don't want to debug Python 2 specific issue.
This problem can be fixed by migrating to Python 3.
Comment 9 Jonathan Bedard 2021-03-26 09:39:31 PDT
Comment on attachment 424309 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=424309&action=review

> Tools/Scripts/webkitpy/autoinstalled/twisted.py:33
> +AutoInstall.register(Package('twisted', Version(20, 3, 0), pypi_name='Twisted'))

We need to check that this doesn't break performance testing, which is not well covered by unit tests
Comment 10 Radar WebKit Bug Importer 2021-03-29 15:58:11 PDT
<rdar://problem/75977586>