)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"afa68c0b077e56b68155cc82064542a9b839d641","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"933b682a_8013fd13","updated":"2025-05-16 11:40:56.000000000","message":"I approved the patch on 2024.2 now to unblock the gate there and I would vote that this patch isn\u0027t needed on master","commit_id":"a2485472b5203e8c7d7ba555ee393649ad9ed33a"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"35222046cad8df4f9c7822765fc0d5b73afcc5ab","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"11dc7bce_7f500972","updated":"2025-05-19 11:52:01.000000000","message":"just after I wrote this, I notice that we seem to have similar failures on the master branch now, see e.g. https://zuul.opendev.org/t/openstack/build/a016e42f7bad42639242fd37390e28f7\n\nso please don\u0027t abandon yet, I\u0027ll rebase that patch on top of this one","commit_id":"a2485472b5203e8c7d7ba555ee393649ad9ed33a"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"19ac4b1d67362eca4e0bb7309829706c448ef6f1","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"f39e0f4d_2201352a","in_reply_to":"933b682a_8013fd13","updated":"2025-05-19 09:04:42.000000000","message":"Hi Jens, cool with me.\nThanks for merging the patch on 2024.2.\n\nDo you want me to work/help on more \"long-term\" pkg_resources replacement patch ?\nI\u0027ll await your answer, then I will abandon this one.","commit_id":"a2485472b5203e8c7d7ba555ee393649ad9ed33a"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"b776dcaa5842c25740ab4d5c114949f54f8a2efe","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"1940a325_63b9be5d","in_reply_to":"f39e0f4d_2201352a","updated":"2025-05-19 10:07:23.000000000","message":"Sure, help is always welcome","commit_id":"a2485472b5203e8c7d7ba555ee393649ad9ed33a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8a10fe05defb5eb0b991bf53fab49937b75025ad","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"8c6723b5_4b840a67","updated":"2025-09-12 16:04:53.000000000","message":"I think we can remove this script entirely. See my reasoning at https://review.opendev.org/c/openstack/requirements/+/960844","commit_id":"f96fd83c4ebb07447165c36b3eaf17edd8f0b725"}],"openstack_requirements/cmds/check_conflicts.py":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"f9f4dddcdbf41dd32b866783b467775fb1a440f7","unresolved":true,"context_lines":[{"line_number":56,"context_line":"            # For example, a package published as oslo.utils may be installed"},{"line_number":57,"context_line":"            # as oslo-utils, and pkg_resources may not resolve it correctly."},{"line_number":58,"context_line":"            # If it occurs use an alternative method using importlib."},{"line_number":59,"context_line":"            for req, _ in spec_list:"},{"line_number":60,"context_line":"                if req.markers in [\"\", pyver]:"},{"line_number":61,"context_line":"                    pkg_ver \u003d metadata.version(name)"},{"line_number":62,"context_line":"                    required_pkg_ver \u003d req.specifiers.replace(\"\u003d\u003d\u003d\", \"\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"d0e3e32d_35b9f406","line":59,"updated":"2025-05-10 10:08:42.000000000","message":"I\u0027m not sure if it is necessary to rerun the whole loop. how about adding another try just around the `pkg_resources.require()` call for this?","commit_id":"a2485472b5203e8c7d7ba555ee393649ad9ed33a"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"f9f4dddcdbf41dd32b866783b467775fb1a440f7","unresolved":true,"context_lines":[{"line_number":61,"context_line":"                    pkg_ver \u003d metadata.version(name)"},{"line_number":62,"context_line":"                    required_pkg_ver \u003d req.specifiers.replace(\"\u003d\u003d\u003d\", \"\")"},{"line_number":63,"context_line":"                    if not pkg_ver \u003d\u003d required_pkg_ver:"},{"line_number":64,"context_line":"                        raise ValueError("},{"line_number":65,"context_line":"                            f\"Package {name} version mismatch \""},{"line_number":66,"context_line":"                            f\"version {required_pkg_ver} is required and \""},{"line_number":67,"context_line":"                            f\"current package version is {pkg_ver}.\""}],"source_content_type":"text/x-python","patch_set":2,"id":"93c18cb3_eb55dd75","line":64,"updated":"2025-05-10 10:08:42.000000000","message":"if you check the exception handling below, we should probably do the same here:\nprint a message, a traceback and increase error_count. this will allow the script to continue running and possibly catch multiple issues in a single run, rather than having to discover them one by one.","commit_id":"a2485472b5203e8c7d7ba555ee393649ad9ed33a"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"f9f4dddcdbf41dd32b866783b467775fb1a440f7","unresolved":true,"context_lines":[{"line_number":68,"context_line":"                        )"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        except pkg_resources.ContextualVersionConflict as e:"},{"line_number":71,"context_line":"            if e.dist.key in xfails:"},{"line_number":72,"context_line":"                xfail_requirement \u003d xfails[e.dist.key][0][0]"},{"line_number":73,"context_line":"                xfail_denylists \u003d set(xfail_requirement.markers.split(\u0027,\u0027))"},{"line_number":74,"context_line":"                conflict \u003d e.dist.as_requirement()"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f9cfe75_e0e8ad46","line":71,"updated":"2025-05-10 10:08:42.000000000","message":"at first I was thinking whether we\u0027d also need this override handling in the newly added code, but then I noticed that the xfails file has been empty for seven years, so now my idea would be instead to drop this completely. that could happen in a dedicated patch though","commit_id":"a2485472b5203e8c7d7ba555ee393649ad9ed33a"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"445fb7562d4d148fc87a5fcf6875c78df2b0c96d","unresolved":true,"context_lines":[{"line_number":68,"context_line":"                        )"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        except pkg_resources.ContextualVersionConflict as e:"},{"line_number":71,"context_line":"            if e.dist.key in xfails:"},{"line_number":72,"context_line":"                xfail_requirement \u003d xfails[e.dist.key][0][0]"},{"line_number":73,"context_line":"                xfail_denylists \u003d set(xfail_requirement.markers.split(\u0027,\u0027))"},{"line_number":74,"context_line":"                conflict \u003d e.dist.as_requirement()"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ae776c6_ba49f613","line":71,"in_reply_to":"3f9cfe75_e0e8ad46","updated":"2025-05-14 12:13:48.000000000","message":"Hi friclker, can you have a look at my comments within \nhttps://review.opendev.org/c/openstack/requirements/+/948811/comment/fb9786c3_b5b69655/\n\nI would like to ensure we are on the same page.\nMy expectation would be to not spend too much time with the current patch, and propose a more robust one compatible with python 3.13, removing obsolete deps.","commit_id":"a2485472b5203e8c7d7ba555ee393649ad9ed33a"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"abfdc34ccfb84c3a7e4d290f892cccf47926d634","unresolved":true,"context_lines":[{"line_number":68,"context_line":"                        )"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        except pkg_resources.ContextualVersionConflict as e:"},{"line_number":71,"context_line":"            if e.dist.key in xfails:"},{"line_number":72,"context_line":"                xfail_requirement \u003d xfails[e.dist.key][0][0]"},{"line_number":73,"context_line":"                xfail_denylists \u003d set(xfail_requirement.markers.split(\u0027,\u0027))"},{"line_number":74,"context_line":"                conflict \u003d e.dist.as_requirement()"}],"source_content_type":"text/x-python","patch_set":2,"id":"dda44690_89dddf9a","line":71,"in_reply_to":"7ae776c6_ba49f613","updated":"2025-05-14 15:32:02.000000000","message":"ok, but then let\u0027s stick to the original idea of doing this as a stable-only change only where it is needed?","commit_id":"a2485472b5203e8c7d7ba555ee393649ad9ed33a"}]}
