)]}'
{
  "commit": "6aff45ad84363c3d4442e5574287b2122d196246",
  "tree": "77cea08eb52c375e3c9da74bbc7a2476eee78bc6",
  "parents": [
    "03dadb0cede71c4ad2c5a4e67d910b531ee0bea4"
  ],
  "author": {
    "name": "Yannic",
    "email": "contact@yannic-bonenberger.com",
    "time": "Wed Apr 22 05:48:49 2026 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Apr 21 23:48:49 2026 -0400"
  },
  "message": "[deb] Avoid `UTF-8` roundtrip for `{pre,post}-{inst,rm}` hooks (#1054)\n\nThis change allows the Debian package hooks to be arbitrary files (including\nexecutable binary files), which failed with the following error before:\n\n```\nTraceback (most recent call last):\n  File \"/Users/yannic/Library/Caches/bazel/_bazel_yannic/bb6c3b02ccc98aaca966df445b5024eb/sandbox/darwin-sandbox/3472/execroot/_main/bazel-out/darwin_x86_64-opt-exec/bin/external/rules_pkg+/pkg/private/deb/make_deb.runfiles/rules_pkg+/pkg/private/deb/_make_deb_stage2_bootstrap.py\", line 499, in \u003cmodule\u003e\n    main()\n    ~~~~^^\n  File \"/Users/yannic/Library/Caches/bazel/_bazel_yannic/bb6c3b02ccc98aaca966df445b5024eb/sandbox/darwin-sandbox/3472/execroot/_main/bazel-out/darwin_x86_64-opt-exec/bin/external/rules_pkg+/pkg/private/deb/make_deb.runfiles/rules_pkg+/pkg/private/deb/_make_deb_stage2_bootstrap.py\", line 493, in main\n    _run_py_path(main_filename, args\u003dsys.argv[1:])\n    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/yannic/Library/Caches/bazel/_bazel_yannic/bb6c3b02ccc98aaca966df445b5024eb/sandbox/darwin-sandbox/3472/execroot/_main/bazel-out/darwin_x86_64-opt-exec/bin/external/rules_pkg+/pkg/private/deb/make_deb.runfiles/rules_pkg+/pkg/private/deb/_make_deb_stage2_bootstrap.py\", line 287, in _run_py_path\n    runpy.run_path(main_filename, run_name\u003d\"__main__\")\n    ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"\u003cfrozen runpy\u003e\", line 287, in run_path\n  File \"\u003cfrozen runpy\u003e\", line 98, in _run_module_code\n  File \"\u003cfrozen runpy\u003e\", line 88, in _run_code\n  File \"/Users/yannic/Library/Caches/bazel/_bazel_yannic/bb6c3b02ccc98aaca966df445b5024eb/sandbox/darwin-sandbox/3472/execroot/_main/bazel-out/darwin_x86_64-opt-exec/bin/external/rules_pkg+/pkg/private/deb/make_deb.runfiles/rules_pkg+/pkg/private/deb/make_deb.py\", line 433, in \u003cmodule\u003e\n    main()\n    ~~~~^^\n  File \"/Users/yannic/Library/Caches/bazel/_bazel_yannic/bb6c3b02ccc98aaca966df445b5024eb/sandbox/darwin-sandbox/3472/execroot/_main/bazel-out/darwin_x86_64-opt-exec/bin/external/rules_pkg+/pkg/private/deb/make_deb.runfiles/rules_pkg+/pkg/private/deb/make_deb.py\", line 392, in main\n    prerm\u003dhelpers.GetFlagValue(options.prerm, False),\n          ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/yannic/Library/Caches/bazel/_bazel_yannic/bb6c3b02ccc98aaca966df445b5024eb/sandbox/darwin-sandbox/3472/execroot/_main/bazel-out/darwin_x86_64-opt-exec/bin/external/rules_pkg+/pkg/private/deb/make_deb.runfiles/rules_pkg+/pkg/private/helpers.py\", line 81, in GetFlagValue\n    flagvalue \u003d f.read().decode(\u0027utf-8\u0027)\nUnicodeDecodeError: \u0027utf-8\u0027 codec can\u0027t decode byte 0xcf in position 0: invalid continuation byte\n```\n\n(the example used a `go_binary` for `prerm`)",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ee9bdc3843d70291e3b6bef99b23c5f55b5ce98a",
      "old_mode": 33188,
      "old_path": "pkg/private/deb/make_deb.py",
      "new_id": "967b75b5f60320d8aa934a0b1369effa9d7dd710",
      "new_mode": 33188,
      "new_path": "pkg/private/deb/make_deb.py"
    },
    {
      "type": "modify",
      "old_id": "5147cc2f82856cd12111a4b84938da2b70722821",
      "old_mode": 33188,
      "old_path": "pkg/private/helpers.py",
      "new_id": "c503eb3028c824eed7a82f1286ef0bc2205ee4e7",
      "new_mode": 33188,
      "new_path": "pkg/private/helpers.py"
    }
  ]
}
