-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
MarkupSafe update breaks Jinja #1591
Comments
Duplicate of #1585 You are using an unsupported version of the project, please update to the latest version. Additionally, please read https://hynek.me/articles/semver-will-not-save-you/, then use a tool like pip-tools to pin your dependencies and control when you get updates. Be sure to run your tests with deprecation warnings treated as errors so that you get notified of these types of changes early. |
This was referenced Feb 19, 2022
qiluo-msft
pushed a commit
to sonic-net/sonic-buildimage
that referenced
this issue
Feb 21, 2022
#### Why I did it 1. Fix Build exception [example](https://dev.azure.com/mssonic/build/_build/results?buildId=73911&view=logs&jobId=88ce9a53-729c-5fa9-7b6e-3d98f2488e3f&j=cef3d8a9-152e-5193-620b-567dc18af272&t=ac3bce9f-b126-5a26-3fee-28ce0ec1679d) ``` 2022-02-19T01:54:23.4200556Z ImportError: cannot import name 'soft_unicode' from 'markupsafe' (/usr/local/lib/python3.8/dist-packages/markupsafe/__init__.py) ``` This is because Jinja2 uses MarkupSafe without specifying an upper limit to the version, MarkupSafe version that was released today removed 'soft_unicode'. So now Jinja2 is complaining. Related issues: pallets/jinja#1591 aws/aws-sam-cli#3661 2. Reverts #9136 Fixing build failures in SONiC utils [example](https://dev.azure.com/mssonic/build/_build/results?buildId=73784&view=logs&jobId=83516c17-6666-5250-abde-63983ce72a49&j=83516c17-6666-5250-abde-63983ce72a49&t=6177235f-d4f1-5f72-835a-90ebb93a1784) One of the errors: ``` TestPathAddressing.test_find_ref_paths__ref_is_the_whole_key__returns_ref_paths self = <tests.generic_config_updater.gu_common_test.TestPathAddressing testMethod=test_find_ref_paths__ref_is_the_whole_key__returns_ref_paths> def test_find_ref_paths__ref_is_the_whole_key__returns_ref_paths(self): # Arrange path = "/PORT/Ethernet0" expected = [ "/ACL_TABLE/NO-NSW-PACL-V4/ports/0", "/VLAN_MEMBER/Vlan1000|Ethernet0", ] # Act actual = self.path_addressing.find_ref_paths(path, Files.CROPPED_CONFIG_DB_AS_JSON) # Assert > self.assertEqual(expected, actual) E AssertionError: Lists differ: ['/ACL_TABLE/NO-NSW-PACL-V4/ports/0', '/VLAN_MEMBER/Vlan1000|Ethernet0'] != ['/ACL_TABLE/NO-NSW-PACL-V4/ports/0'] E E First list contains 1 additional elements. E First extra element 1: E '/VLAN_MEMBER/Vlan1000|Ethernet0' E E - ['/ACL_TABLE/NO-NSW-PACL-V4/ports/0', '/VLAN_MEMBER/Vlan1000|Ethernet0'] E + ['/ACL_TABLE/NO-NSW-PACL-V4/ports/0'] ``` The VLAN_MEMBER backlink (can be called referrer link or ref link) is not found. Issue introduced by #9136 I don't know how this PR passed the build system, it should have failed. Known YANG issue #9312 #### How I did it The import to `sonic-vlan` is breaking the build ``` import sonic-vlan { prefix vlan; } ``` I am not sure if that's the only issue, so I think reverting the whole PR should be the safer option. #### How to verify it Ran sonic-utils tests locally.
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Hi,
MarkupSafe is automatically put to the latest version via
pip
but this apparently breaks Lintly.So, require should probably go to >=2.0 and <2.1? Or just not use
soft_unicode
?The text was updated successfully, but these errors were encountered: