)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1000000,"name":"Leopold Schabel","display_name":"Leo","email":"leo@monogon.tech","username":"leo","avatars":[{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"3cf5f20c024ca7506f0ad922cf0103a750500bed","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"treewide: remove FHSEnv"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"For removing the FHSenv we have to patch rules_python to use"},{"line_number":10,"context_line":"/usr/bin/env to resolve the path to bash instead of hardcoding it."},{"line_number":11,"context_line":"Additionally we now bring a nix compatible bazel 8."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Id51e7748eea6dd77185f43a52fe45b5110ba4a2b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"94d0f3a3_ddd50b05","line":12,"range":{"start_line":9,"start_character":0,"end_line":12,"end_character":0},"updated":"2025-07-15 11:27:41.000000000","message":"```suggestion\nTo remove the FHSenv, we have to patch rules_python to use\n/usr/bin/env to resolve the path to bash instead of hardcoding it.\nAdditionally, we now bring a Nix-compatible Bazel 8.\n```","commit_id":"1a43029bcb4967fbf34dcdf12eeadde2512eca80"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"6fdb10ce8098ce49214833ab6decf2e1135aa77b","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"treewide: remove FHSEnv"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"For removing the FHSenv we have to patch rules_python to use"},{"line_number":10,"context_line":"/usr/bin/env to resolve the path to bash instead of hardcoding it."},{"line_number":11,"context_line":"Additionally we now bring a nix compatible bazel 8."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Id51e7748eea6dd77185f43a52fe45b5110ba4a2b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"2246c267_f11378ff","line":12,"range":{"start_line":9,"start_character":0,"end_line":12,"end_character":0},"in_reply_to":"94d0f3a3_ddd50b05","updated":"2025-07-15 12:50:44.000000000","message":"Fix applied.","commit_id":"1a43029bcb4967fbf34dcdf12eeadde2512eca80"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"6fdb10ce8098ce49214833ab6decf2e1135aa77b","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"treewide: remove FHSEnv"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"For removing the FHSenv we have to patch rules_python to use"},{"line_number":10,"context_line":"/usr/bin/env to resolve the path to bash instead of hardcoding it."},{"line_number":11,"context_line":"Additionally we now bring a nix compatible bazel 8."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Id51e7748eea6dd77185f43a52fe45b5110ba4a2b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"e5747836_2297f3e8","line":12,"range":{"start_line":9,"start_character":0,"end_line":12,"end_character":0},"in_reply_to":"94d0f3a3_ddd50b05","updated":"2025-07-15 12:50:44.000000000","message":"Fix applied.","commit_id":"1a43029bcb4967fbf34dcdf12eeadde2512eca80"}],"MODULE.bazel":[{"author":{"_account_id":1000000,"name":"Leopold Schabel","display_name":"Leo","email":"leo@monogon.tech","username":"leo","avatars":[{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"02f038db4ae67f4d82d65ef307d8d15e23384039","unresolved":true,"context_lines":[{"line_number":94,"context_line":"    module_name \u003d \"rules_python\","},{"line_number":95,"context_line":"    patch_strip \u003d 1,"},{"line_number":96,"context_line":"    patches \u003d ["},{"line_number":97,"context_line":"        \"//third_party/rules_python:use-usr-bin-env-bash.patch\","},{"line_number":98,"context_line":"    ],"},{"line_number":99,"context_line":"    version \u003d \"1.4.1\","},{"line_number":100,"context_line":")"}],"source_content_type":"text/x-python","patch_set":1,"id":"25b6b0d5_45486e63","line":97,"updated":"2025-07-12 14:26:30.000000000","message":"Is the patch upstreamable? If so, good opportunity to test the new TODO tool ;)","commit_id":"1952633fbfdc02e4b57c702b171f68491672e973"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"2edc5fb80447925a42ed434b843f2448e94b81cc","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    module_name \u003d \"rules_python\","},{"line_number":95,"context_line":"    patch_strip \u003d 1,"},{"line_number":96,"context_line":"    patches \u003d ["},{"line_number":97,"context_line":"        \"//third_party/rules_python:use-usr-bin-env-bash.patch\","},{"line_number":98,"context_line":"    ],"},{"line_number":99,"context_line":"    version \u003d \"1.4.1\","},{"line_number":100,"context_line":")"}],"source_content_type":"text/x-python","patch_set":1,"id":"b561f245_57fc6e19","line":97,"in_reply_to":"25b6b0d5_45486e63","updated":"2025-07-14 17:20:31.000000000","message":"Done","commit_id":"1952633fbfdc02e4b57c702b171f68491672e973"},{"author":{"_account_id":1000000,"name":"Leopold Schabel","display_name":"Leo","email":"leo@monogon.tech","username":"leo","avatars":[{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"3cf5f20c024ca7506f0ad922cf0103a750500bed","unresolved":true,"context_lines":[{"line_number":94,"context_line":"    module_name \u003d \"rules_python\","},{"line_number":95,"context_line":"    patch_strip \u003d 1,"},{"line_number":96,"context_line":"    patches \u003d ["},{"line_number":97,"context_line":"        # TODO: Remove if Upstream PR is merged"},{"line_number":98,"context_line":"        # https://github.com/bazel-contrib/rules_python/pull/3087"},{"line_number":99,"context_line":"        \"//third_party/rules_python:use-usr-bin-env-bash.patch\","},{"line_number":100,"context_line":"    ],"}],"source_content_type":"text/x-python","patch_set":3,"id":"0590be9b_3b7c9211","line":97,"updated":"2025-07-15 11:27:41.000000000","message":"```suggestion\n        # TODO: Remove if upstream PR is merged\n```","commit_id":"1a43029bcb4967fbf34dcdf12eeadde2512eca80"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"6fdb10ce8098ce49214833ab6decf2e1135aa77b","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    module_name \u003d \"rules_python\","},{"line_number":95,"context_line":"    patch_strip \u003d 1,"},{"line_number":96,"context_line":"    patches \u003d ["},{"line_number":97,"context_line":"        # TODO: Remove if Upstream PR is merged"},{"line_number":98,"context_line":"        # https://github.com/bazel-contrib/rules_python/pull/3087"},{"line_number":99,"context_line":"        \"//third_party/rules_python:use-usr-bin-env-bash.patch\","},{"line_number":100,"context_line":"    ],"}],"source_content_type":"text/x-python","patch_set":3,"id":"430b0190_9707ee3d","line":97,"in_reply_to":"0590be9b_3b7c9211","updated":"2025-07-15 12:50:44.000000000","message":"Fix applied.","commit_id":"1a43029bcb4967fbf34dcdf12eeadde2512eca80"}],"MODULE.bazel.lock":[{"author":{"_account_id":1000038,"name":"Jan Schär","display_name":"Jan","email":"jan@monogon.tech","username":"jan","avatars":[{"url":"https://www.gravatar.com/avatar/fd0e7f48847aa0e46c8f361df2d6c26b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/fd0e7f48847aa0e46c8f361df2d6c26b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/fd0e7f48847aa0e46c8f361df2d6c26b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/fd0e7f48847aa0e46c8f361df2d6c26b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"55065742bbe2238c1974baf3f06d65273fd7688b","unresolved":true,"context_lines":[{"line_number":1404,"context_line":"    },"},{"line_number":1405,"context_line":"    \"@@rules_rust+//crate_universe:extension.bzl%crate\": {"},{"line_number":1406,"context_line":"      \"general\": {"},{"line_number":1407,"context_line":"        \"bzlTransitiveDigest\": \"6rOHIDNFIGQAFrkpM5/JtrxkuPGpfvVUAp+snUTctdE\u003d\","},{"line_number":1408,"context_line":"        \"usagesDigest\": \"Mw24CZ9hpdGUPbu/RcrRZS5Y/Az10OU968XzrSx9rUI\u003d\","},{"line_number":1409,"context_line":"        \"recordedFileInputs\": {"},{"line_number":1410,"context_line":"          \"@@//third_party/rust/Cargo.lock\": \"fa9d7f659ffbfb7f5554de4a7e653d3bd900f0a75b22ef4c0853b98c6ede5548\","}],"source_content_type":"application/octet-stream","patch_set":9,"id":"0e25b2ff_069f74e5","line":1407,"range":{"start_line":1407,"start_character":32,"end_line":1407,"end_character":76},"updated":"2025-07-16 14:20:15.000000000","message":"I just tried building the OCI image with this commit on Ubuntu. It told me the lock file is outdated, and running `bazel mod deps --lockfile_mode\u003dupdate` undoes the two rules_rust digest changes here.\n\nThis is wrong, the digest should not depend on the host OS. It looks like something in the new nix-shell affects the digest. Maybe because of the custom build of Bazel itself? I have not yet debugged this.","commit_id":"701e8b02e20aeacc3e9577db40bb1e65592bb880"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"3dc035b449735c7b0c544eac652cc14ce638be9d","unresolved":false,"context_lines":[{"line_number":1404,"context_line":"    },"},{"line_number":1405,"context_line":"    \"@@rules_rust+//crate_universe:extension.bzl%crate\": {"},{"line_number":1406,"context_line":"      \"general\": {"},{"line_number":1407,"context_line":"        \"bzlTransitiveDigest\": \"6rOHIDNFIGQAFrkpM5/JtrxkuPGpfvVUAp+snUTctdE\u003d\","},{"line_number":1408,"context_line":"        \"usagesDigest\": \"Mw24CZ9hpdGUPbu/RcrRZS5Y/Az10OU968XzrSx9rUI\u003d\","},{"line_number":1409,"context_line":"        \"recordedFileInputs\": {"},{"line_number":1410,"context_line":"          \"@@//third_party/rust/Cargo.lock\": \"fa9d7f659ffbfb7f5554de4a7e653d3bd900f0a75b22ef4c0853b98c6ede5548\","}],"source_content_type":"application/octet-stream","patch_set":9,"id":"570432f5_98585672","line":1407,"range":{"start_line":1407,"start_character":32,"end_line":1407,"end_character":76},"in_reply_to":"0e25b2ff_069f74e5","updated":"2025-07-16 15:51:21.000000000","message":"We apparently have to set `lockfile` in the `crate.from_cargo` calls. This will be done in a future CL","commit_id":"701e8b02e20aeacc3e9577db40bb1e65592bb880"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"eba6481d04545c34e35fd23fdac2c5163699b6d8","unresolved":false,"context_lines":[{"line_number":1404,"context_line":"    },"},{"line_number":1405,"context_line":"    \"@@rules_rust+//crate_universe:extension.bzl%crate\": {"},{"line_number":1406,"context_line":"      \"general\": {"},{"line_number":1407,"context_line":"        \"bzlTransitiveDigest\": \"6rOHIDNFIGQAFrkpM5/JtrxkuPGpfvVUAp+snUTctdE\u003d\","},{"line_number":1408,"context_line":"        \"usagesDigest\": \"Mw24CZ9hpdGUPbu/RcrRZS5Y/Az10OU968XzrSx9rUI\u003d\","},{"line_number":1409,"context_line":"        \"recordedFileInputs\": {"},{"line_number":1410,"context_line":"          \"@@//third_party/rust/Cargo.lock\": \"fa9d7f659ffbfb7f5554de4a7e653d3bd900f0a75b22ef4c0853b98c6ede5548\","}],"source_content_type":"application/octet-stream","patch_set":9,"id":"eb569569_68868d3a","line":1407,"range":{"start_line":1407,"start_character":32,"end_line":1407,"end_character":76},"in_reply_to":"570432f5_98585672","updated":"2025-07-16 16:04:49.000000000","message":"Nevermind, thats not helping. But yeah different issue that was there before anyway.","commit_id":"701e8b02e20aeacc3e9577db40bb1e65592bb880"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"5f198c35db4563db5ab01f70949cc0b60ead376b","unresolved":false,"context_lines":[{"line_number":1404,"context_line":"    },"},{"line_number":1405,"context_line":"    \"@@rules_rust+//crate_universe:extension.bzl%crate\": {"},{"line_number":1406,"context_line":"      \"general\": {"},{"line_number":1407,"context_line":"        \"bzlTransitiveDigest\": \"6rOHIDNFIGQAFrkpM5/JtrxkuPGpfvVUAp+snUTctdE\u003d\","},{"line_number":1408,"context_line":"        \"usagesDigest\": \"Mw24CZ9hpdGUPbu/RcrRZS5Y/Az10OU968XzrSx9rUI\u003d\","},{"line_number":1409,"context_line":"        \"recordedFileInputs\": {"},{"line_number":1410,"context_line":"          \"@@//third_party/rust/Cargo.lock\": \"fa9d7f659ffbfb7f5554de4a7e653d3bd900f0a75b22ef4c0853b98c6ede5548\","}],"source_content_type":"application/octet-stream","patch_set":9,"id":"d87a8c61_d87d6a72","line":1407,"range":{"start_line":1407,"start_character":32,"end_line":1407,"end_character":76},"in_reply_to":"5b9b1b6a_3f393b10","updated":"2025-07-16 20:25:09.000000000","message":"Done","commit_id":"701e8b02e20aeacc3e9577db40bb1e65592bb880"},{"author":{"_account_id":1000000,"name":"Leopold Schabel","display_name":"Leo","email":"leo@monogon.tech","username":"leo","avatars":[{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e2844dfbfcb2fba3310a0701475a2d4f40b788be","unresolved":false,"context_lines":[{"line_number":1404,"context_line":"    },"},{"line_number":1405,"context_line":"    \"@@rules_rust+//crate_universe:extension.bzl%crate\": {"},{"line_number":1406,"context_line":"      \"general\": {"},{"line_number":1407,"context_line":"        \"bzlTransitiveDigest\": \"6rOHIDNFIGQAFrkpM5/JtrxkuPGpfvVUAp+snUTctdE\u003d\","},{"line_number":1408,"context_line":"        \"usagesDigest\": \"Mw24CZ9hpdGUPbu/RcrRZS5Y/Az10OU968XzrSx9rUI\u003d\","},{"line_number":1409,"context_line":"        \"recordedFileInputs\": {"},{"line_number":1410,"context_line":"          \"@@//third_party/rust/Cargo.lock\": \"fa9d7f659ffbfb7f5554de4a7e653d3bd900f0a75b22ef4c0853b98c6ede5548\","}],"source_content_type":"application/octet-stream","patch_set":9,"id":"a1ca8d2c_eca24082","line":1407,"range":{"start_line":1407,"start_character":32,"end_line":1407,"end_character":76},"in_reply_to":"d87a8c61_d87d6a72","updated":"2025-07-16 20:30:21.000000000","message":"(turns out that the literal Bazel version string ended up in bazel_features.globals somewhere, which was actually not generated by Bazel but by the module)","commit_id":"701e8b02e20aeacc3e9577db40bb1e65592bb880"},{"author":{"_account_id":1000000,"name":"Leopold Schabel","display_name":"Leo","email":"leo@monogon.tech","username":"leo","avatars":[{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"ee613f94d645a45919eb759de1a84ef80157b043","unresolved":true,"context_lines":[{"line_number":1404,"context_line":"    },"},{"line_number":1405,"context_line":"    \"@@rules_rust+//crate_universe:extension.bzl%crate\": {"},{"line_number":1406,"context_line":"      \"general\": {"},{"line_number":1407,"context_line":"        \"bzlTransitiveDigest\": \"6rOHIDNFIGQAFrkpM5/JtrxkuPGpfvVUAp+snUTctdE\u003d\","},{"line_number":1408,"context_line":"        \"usagesDigest\": \"Mw24CZ9hpdGUPbu/RcrRZS5Y/Az10OU968XzrSx9rUI\u003d\","},{"line_number":1409,"context_line":"        \"recordedFileInputs\": {"},{"line_number":1410,"context_line":"          \"@@//third_party/rust/Cargo.lock\": \"fa9d7f659ffbfb7f5554de4a7e653d3bd900f0a75b22ef4c0853b98c6ede5548\","}],"source_content_type":"application/octet-stream","patch_set":9,"id":"5b9b1b6a_3f393b10","line":1407,"range":{"start_line":1407,"start_character":32,"end_line":1407,"end_character":76},"in_reply_to":"ea57dcd0_e2e0fd89","updated":"2025-07-16 19:35:53.000000000","message":"I tracked this down to `@bazel_features//:features.bzl` by patching Bazel to add logging (https://gist.github.com/leoluk/2409b22b1b05b5406d143e0c711b95eb ), then sorting and diffing old and new:\n\n```diff\n\u003c [com.google.devtools.build.lib.skyframe.BzlLoadFunction.computeInternalWithCompiledBzl] Bzl transitive digest for @@rules_rust+//cargo/private:internal_extensions.bzl: adding load @bazel_features//:features.bzl digest 402CE8FD801BF9E905DF84F8A4D7B8573643EB4683769BDE0B5741F7DD5C0F64\n---\n\u003e [com.google.devtools.build.lib.skyframe.BzlLoadFunction.computeInternalWithCompiledBzl] Bzl transitive digest for @@rules_rust+//cargo/private:internal_extensions.bzl: adding load @bazel_features//:features.bzl digest 65DD7A0D38FF42B21766E363D0F8B2A92F37E64BFD41A32585DBB3DE36E1D0BF\n```\n\nbazel_features does a lot of Bazel version matching: https://github.com/bazel-contrib/bazel_features/blob/main/features.bzl\n\nIt\u0027s not the version: Our version is `8.3.1- (@non-git)` and a clean build is `8.3.1`, which both parse the same using private/parse.bzl:\n\n```\n\u003e\u003e\u003e parse_version(\"8.3.1\")\n([8, 3, 1], True, \u0027\u0027)\n\u003e\u003e\u003e parse_version(\"8.3.1- (@non-git)\")\n([8, 3, 1], True, \u0027\u0027)\n```\n\nI guess bazel_features_globals is generated by Bazel at runtime and includes some ambient dependencies?","commit_id":"701e8b02e20aeacc3e9577db40bb1e65592bb880"},{"author":{"_account_id":1000001,"name":"Lorenz Brun","display_name":"Lorenz","email":"lorenz@monogon.tech","username":"lorenz","avatars":[{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"51df9cd24100bfab8a11a6129a65da591d985ca7","unresolved":true,"context_lines":[{"line_number":1404,"context_line":"    },"},{"line_number":1405,"context_line":"    \"@@rules_rust+//crate_universe:extension.bzl%crate\": {"},{"line_number":1406,"context_line":"      \"general\": {"},{"line_number":1407,"context_line":"        \"bzlTransitiveDigest\": \"6rOHIDNFIGQAFrkpM5/JtrxkuPGpfvVUAp+snUTctdE\u003d\","},{"line_number":1408,"context_line":"        \"usagesDigest\": \"Mw24CZ9hpdGUPbu/RcrRZS5Y/Az10OU968XzrSx9rUI\u003d\","},{"line_number":1409,"context_line":"        \"recordedFileInputs\": {"},{"line_number":1410,"context_line":"          \"@@//third_party/rust/Cargo.lock\": \"fa9d7f659ffbfb7f5554de4a7e653d3bd900f0a75b22ef4c0853b98c6ede5548\","}],"source_content_type":"application/octet-stream","patch_set":9,"id":"ea57dcd0_e2e0fd89","line":1407,"range":{"start_line":1407,"start_character":32,"end_line":1407,"end_character":76},"in_reply_to":"eb569569_68868d3a","updated":"2025-07-16 17:12:15.000000000","message":"Since the issue was actually introduced in this CL this is still relevant and needs to be fixed.","commit_id":"701e8b02e20aeacc3e9577db40bb1e65592bb880"}],"build/bazel/go.MODULE.bazel":[{"author":{"_account_id":1000000,"name":"Leopold Schabel","display_name":"Leo","email":"leo@monogon.tech","username":"leo","avatars":[{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e80a8457fdc8aee13367e9a1603d269fc001033d","unresolved":true,"context_lines":[{"line_number":184,"context_line":"        ],"},{"line_number":185,"context_line":"    },"},{"line_number":186,"context_line":"    \"github.com/bytecodealliance/wasmtime-go/v14\": {"},{"line_number":187,"context_line":"        # wasmtime brings it\u0027s own BUILD files and for whatever reason"},{"line_number":188,"context_line":"        # Bazel regenerates them in the nixos/nix container but not on"},{"line_number":189,"context_line":"        # NixOS. We disable replacing the existing directives to fix this."},{"line_number":190,"context_line":"        \"build_file_generation\": \"off\","}],"source_content_type":"text/x-python","patch_set":7,"id":"0bc4d79c_1d582e08","line":187,"updated":"2025-07-16 09:46:04.000000000","message":"```suggestion\n        # wasmtime brings its own BUILD files and for some reason,\n```","commit_id":"a389a9c27b28e41caea0f6af724e891f32098296"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"34e2b688f6667132c8620022a0e428366bd9e56d","unresolved":false,"context_lines":[{"line_number":184,"context_line":"        ],"},{"line_number":185,"context_line":"    },"},{"line_number":186,"context_line":"    \"github.com/bytecodealliance/wasmtime-go/v14\": {"},{"line_number":187,"context_line":"        # wasmtime brings it\u0027s own BUILD files and for whatever reason"},{"line_number":188,"context_line":"        # Bazel regenerates them in the nixos/nix container but not on"},{"line_number":189,"context_line":"        # NixOS. We disable replacing the existing directives to fix this."},{"line_number":190,"context_line":"        \"build_file_generation\": \"off\","}],"source_content_type":"text/x-python","patch_set":7,"id":"91517b65_a5732977","line":187,"in_reply_to":"0bc4d79c_1d582e08","updated":"2025-07-16 11:02:13.000000000","message":"Fix applied.","commit_id":"a389a9c27b28e41caea0f6af724e891f32098296"}],"shell.nix":[{"author":{"_account_id":1000000,"name":"Leopold Schabel","display_name":"Leo","email":"leo@monogon.tech","username":"leo","avatars":[{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"02f038db4ae67f4d82d65ef307d8d15e23384039","unresolved":true,"context_lines":[{"line_number":6,"context_line":"  env.MONOGON_NIXOS\u003d\"yep\";"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"  buildInputs \u003d with pkgs; ["},{"line_number":9,"context_line":"    bazel_8 # Our custom bazel package"},{"line_number":10,"context_line":"    python3 # Workspace status script"},{"line_number":11,"context_line":"    git # Bazel expects git to be available"},{"line_number":12,"context_line":"    gnupg # our gopass integration requires gpg in the PATH"}],"source_content_type":"text/x-nix","patch_set":1,"id":"b1a3887d_68560b5b","line":9,"updated":"2025-07-12 14:26:30.000000000","message":"Is there a tracking issue for sorting out the nixpkgs Bazel situation?\n\nI\u0027d also suggest adding a README to third_party/nix/pkgs/bazel_8 to explain what\u0027s going on and where the original source is. And I guess we have to copy the notice: https://github.com/NixOS/nixpkgs/blob/master/COPYING","commit_id":"1952633fbfdc02e4b57c702b171f68491672e973"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"c913506778f5f8d23f860519cff07e065d6da2ed","unresolved":false,"context_lines":[{"line_number":6,"context_line":"  env.MONOGON_NIXOS\u003d\"yep\";"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"  buildInputs \u003d with pkgs; ["},{"line_number":9,"context_line":"    bazel_8 # Our custom bazel package"},{"line_number":10,"context_line":"    python3 # Workspace status script"},{"line_number":11,"context_line":"    git # Bazel expects git to be available"},{"line_number":12,"context_line":"    gnupg # our gopass integration requires gpg in the PATH"}],"source_content_type":"text/x-nix","patch_set":1,"id":"4d9aad5b_049143cf","line":9,"in_reply_to":"0300b99d_0b8b95b9","updated":"2025-07-15 12:59:04.000000000","message":"Done","commit_id":"1952633fbfdc02e4b57c702b171f68491672e973"},{"author":{"_account_id":1000000,"name":"Leopold Schabel","display_name":"Leo","email":"leo@monogon.tech","username":"leo","avatars":[{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"3cf5f20c024ca7506f0ad922cf0103a750500bed","unresolved":true,"context_lines":[{"line_number":6,"context_line":"  env.MONOGON_NIXOS\u003d\"yep\";"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"  buildInputs \u003d with pkgs; ["},{"line_number":9,"context_line":"    bazel_8 # Our custom bazel package"},{"line_number":10,"context_line":"    python3 # Workspace status script"},{"line_number":11,"context_line":"    git # Bazel expects git to be available"},{"line_number":12,"context_line":"    gnupg # our gopass integration requires gpg in the PATH"}],"source_content_type":"text/x-nix","patch_set":1,"id":"0300b99d_0b8b95b9","line":9,"in_reply_to":"3302b5b8_cde4e2c3","updated":"2025-07-15 11:27:41.000000000","message":"Ok, but that\u0027s not at all obvious without extra context. As a reviewer (or future person to touch this), I would ask myself the following questions:\n\n- Is this a long-term fork from nixpkgs or just a temporary fork until NixOS has Bazel 8 support?\n- Which Monogon-specific changes were made to the nixpkgs fork?\n- What are the expectations on how to maintain this? (i.e. keep it in a state where can merge from nixpkgs once they merged the Bazel 8 PR, or develop this into an entirely independent fork, in which case we\u0027d have a lot more liberties on how to clean it up, etc)","commit_id":"1952633fbfdc02e4b57c702b171f68491672e973"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"2edc5fb80447925a42ed434b843f2448e94b81cc","unresolved":true,"context_lines":[{"line_number":6,"context_line":"  env.MONOGON_NIXOS\u003d\"yep\";"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"  buildInputs \u003d with pkgs; ["},{"line_number":9,"context_line":"    bazel_8 # Our custom bazel package"},{"line_number":10,"context_line":"    python3 # Workspace status script"},{"line_number":11,"context_line":"    git # Bazel expects git to be available"},{"line_number":12,"context_line":"    gnupg # our gopass integration requires gpg in the PATH"}],"source_content_type":"text/x-nix","patch_set":1,"id":"3302b5b8_cde4e2c3","line":9,"in_reply_to":"b1a3887d_68560b5b","updated":"2025-07-14 17:20:31.000000000","message":"What do you mean with sorting out? I don\u0027t think the effort for upstreaming our patches is reasonable in any way, as we do have some specific things that are just broken 😄","commit_id":"1952633fbfdc02e4b57c702b171f68491672e973"}],"third_party/nix/pkgs/bazel_8/README.md":[{"author":{"_account_id":1000000,"name":"Leopold Schabel","display_name":"Leo","email":"leo@monogon.tech","username":"leo","avatars":[{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"02f038db4ae67f4d82d65ef307d8d15e23384039","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Bazel 8 Nix Package"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"This build is based on https://github.com/NixOS/nixpkgs/pull/400941"}],"source_content_type":"text/x-gfm","patch_set":1,"id":"1043612e_f3480fb2","line":3,"updated":"2025-07-12 14:26:30.000000000","message":"I would explain the intentions a little more thoroughly. Are we just waiting for this to be merged, or is this meant to be a permanent fork? Did we make any changes to the PR?","commit_id":"1952633fbfdc02e4b57c702b171f68491672e973"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"2edc5fb80447925a42ed434b843f2448e94b81cc","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Bazel 8 Nix Package"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"This build is based on https://github.com/NixOS/nixpkgs/pull/400941"}],"source_content_type":"text/x-gfm","patch_set":1,"id":"453ac755_2c4245b9","line":3,"in_reply_to":"1043612e_f3480fb2","updated":"2025-07-14 17:20:31.000000000","message":"Done","commit_id":"1952633fbfdc02e4b57c702b171f68491672e973"}],"third_party/rules_python/use-usr-bin-env-bash.patch":[{"author":{"_account_id":1000000,"name":"Leopold Schabel","display_name":"Leo","email":"leo@monogon.tech","username":"leo","avatars":[{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"02f038db4ae67f4d82d65ef307d8d15e23384039","unresolved":true,"context_lines":[{"line_number":1,"context_line":"Our sandbox environment doesn\u0027t have /bin/bash. We do have /usr/bin/env which"},{"line_number":2,"context_line":"can resolve bash for us."},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"diff --git a/python/private/stage1_bootstrap_template.sh b/python/private/stage1_bootstrap_template.sh"}],"source_content_type":"text/x-diff","patch_set":1,"id":"83f4bf47_e8770aa8","line":1,"range":{"start_line":1,"start_character":4,"end_line":1,"end_character":23},"updated":"2025-07-12 14:26:30.000000000","message":"What do you mean by \"sandbox environment\" here? Is this a Nix workaround or specific to the Bazel sandbox?","commit_id":"1952633fbfdc02e4b57c702b171f68491672e973"},{"author":{"_account_id":1000038,"name":"Jan Schär","display_name":"Jan","email":"jan@monogon.tech","username":"jan","avatars":[{"url":"https://www.gravatar.com/avatar/fd0e7f48847aa0e46c8f361df2d6c26b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/fd0e7f48847aa0e46c8f361df2d6c26b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/fd0e7f48847aa0e46c8f361df2d6c26b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/fd0e7f48847aa0e46c8f361df2d6c26b.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"6526d4733cf3937f1afa6ffa2779c8cef887f4b1","unresolved":true,"context_lines":[{"line_number":1,"context_line":"Our sandbox environment doesn\u0027t have /bin/bash. We do have /usr/bin/env which"},{"line_number":2,"context_line":"can resolve bash for us."},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"diff --git a/python/private/stage1_bootstrap_template.sh b/python/private/stage1_bootstrap_template.sh"}],"source_content_type":"text/x-diff","patch_set":1,"id":"952e23a1_42b509ac","line":1,"range":{"start_line":1,"start_character":4,"end_line":1,"end_character":23},"in_reply_to":"83f4bf47_e8770aa8","updated":"2025-07-14 08:14:00.000000000","message":"We already discussed this in https://review.monogon.dev/c/monogon/+/4409\n\nIt\u0027s unclear what \"our sandbox environment\" means. I would write something like \"When building on NixOS, we don\u0027t have /bin/bash.\"","commit_id":"1952633fbfdc02e4b57c702b171f68491672e973"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"2edc5fb80447925a42ed434b843f2448e94b81cc","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Our sandbox environment doesn\u0027t have /bin/bash. We do have /usr/bin/env which"},{"line_number":2,"context_line":"can resolve bash for us."},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"diff --git a/python/private/stage1_bootstrap_template.sh b/python/private/stage1_bootstrap_template.sh"}],"source_content_type":"text/x-diff","patch_set":1,"id":"1aee221d_a1cd6793","line":1,"range":{"start_line":1,"start_character":4,"end_line":1,"end_character":23},"in_reply_to":"952e23a1_42b509ac","updated":"2025-07-14 17:20:31.000000000","message":"Done","commit_id":"1952633fbfdc02e4b57c702b171f68491672e973"},{"author":{"_account_id":1000000,"name":"Leopold Schabel","display_name":"Leo","email":"leo@monogon.tech","username":"leo","avatars":[{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/98f8f79a6bb45adef37defa7ead8f3d2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"3cf5f20c024ca7506f0ad922cf0103a750500bed","unresolved":true,"context_lines":[{"line_number":1,"context_line":"The build environment is not guaranteed to have /bin/bash. Especially on NixOS"},{"line_number":2,"context_line":"or in our CI runner we don\u0027t have it. It is available via PATH on these systems,"},{"line_number":3,"context_line":"so we replace the hardcoded path with /usr/bin/env as it is recommended anyway."},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"diff --git a/python/private/stage1_bootstrap_template.sh b/python/private/stage1_bootstrap_template.sh"},{"line_number":6,"context_line":"--- a/python/private/stage1_bootstrap_template.sh"},{"line_number":7,"context_line":"+++ b/python/private/stage1_bootstrap_template.sh"}],"source_content_type":"text/x-diff","patch_set":3,"id":"303f5b24_02519231","line":4,"range":{"start_line":1,"start_character":0,"end_line":4,"end_character":0},"updated":"2025-07-15 11:27:41.000000000","message":"```suggestion\nThe build environment is not guaranteed to have /bin/bash, especially on NixOS\nor in our CI runner. Use /usr/bin/env to resolve it from PATH.\n```","commit_id":"1a43029bcb4967fbf34dcdf12eeadde2512eca80"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"6fdb10ce8098ce49214833ab6decf2e1135aa77b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"The build environment is not guaranteed to have /bin/bash. Especially on NixOS"},{"line_number":2,"context_line":"or in our CI runner we don\u0027t have it. It is available via PATH on these systems,"},{"line_number":3,"context_line":"so we replace the hardcoded path with /usr/bin/env as it is recommended anyway."},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"diff --git a/python/private/stage1_bootstrap_template.sh b/python/private/stage1_bootstrap_template.sh"},{"line_number":6,"context_line":"--- a/python/private/stage1_bootstrap_template.sh"},{"line_number":7,"context_line":"+++ b/python/private/stage1_bootstrap_template.sh"}],"source_content_type":"text/x-diff","patch_set":3,"id":"60a0c5bc_feba374c","line":4,"range":{"start_line":1,"start_character":0,"end_line":4,"end_character":0},"in_reply_to":"303f5b24_02519231","updated":"2025-07-15 12:50:44.000000000","message":"Fix applied.","commit_id":"1a43029bcb4967fbf34dcdf12eeadde2512eca80"}]}
