)]}'
{
  "commit": "ca1cff0f214a1ed5ee967d421f5fe1fd5afa756d",
  "tree": "7ea16e63681ad4695f7d7cd1115c0168fc553d4b",
  "parents": [
    "4599aa2dfa42a7b694ad295bc700db03de96d7f5"
  ],
  "author": {
    "name": "Lorenz Brun",
    "email": "lorenz@monogon.tech",
    "time": "Mon Jun 26 17:52:44 2023 +0200"
  },
  "committer": {
    "name": "Lorenz Brun",
    "email": "lorenz@monogon.tech",
    "time": "Thu Jun 29 10:41:38 2023 +0000"
  },
  "message": "m/p/efivarfs: refactor\n\nThis accomplishes three things:\n\nFirst, split out the variable access layer from the rest of the code.\nThis cleans up the attribute handling, which is now done centrally as\nwell as making the high-level functions very short and clean. They now\nalso return better errors.\n\nSecond this introduces proper types for LoadOption, which can now also\nbe unmarshaled which was a requirement for A/B updates. This required\nimplementation of EFI\u0027s DevicePath structure.\nWhile refactoring the higher-level functions for this, this also\nfixes a bug where the variable index (the 4 hex nibbles at the end) were\nimproperly generated as lowercase hex.\n\nThird, this adds new high-level functions for interacting with more\nboot-related variables needed for the A/B effort.\n\nChange-Id: I53490fa4898a5e7a5498ecc05a9078bd2d66c26e\nReviewed-on: https://review.monogon.dev/c/monogon/+/1855\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e05a57cb858ba0cf4037cde3185e8b0a309d89e0",
      "old_mode": 33188,
      "old_path": "cloud/agent/install.go",
      "new_id": "656f258f9f89730a0f833b6242ca6c2d149da51d",
      "new_mode": 33188,
      "new_path": "cloud/agent/install.go"
    },
    {
      "type": "modify",
      "old_id": "7dc1da95e9474d535ee6e55061ab851087ffe29d",
      "old_mode": 33188,
      "old_path": "metropolis/installer/main.go",
      "new_id": "2515f53483dc331d5c6586217e1155077fb124c4",
      "new_mode": 33188,
      "new_path": "metropolis/installer/main.go"
    },
    {
      "type": "modify",
      "old_id": "d730e683d4b58a5c22db2915637849884c24ca82",
      "old_mode": 33188,
      "old_path": "metropolis/node/build/mkimage/osimage/osimage.go",
      "new_id": "97fa7c0423e30aea5c139418938fbbc8eecde2b2",
      "new_mode": 33188,
      "new_path": "metropolis/node/build/mkimage/osimage/osimage.go"
    },
    {
      "type": "modify",
      "old_id": "33b0685bba4f49fada91576d689d9341563c1762",
      "old_mode": 33188,
      "old_path": "metropolis/pkg/efivarfs/BUILD.bazel",
      "new_id": "3e5339c12cca87ef63af59a16f1167f1323d5d28",
      "new_mode": 33188,
      "new_path": "metropolis/pkg/efivarfs/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "4178c8da2b95b7e80ea86d1507c5185a48cc7bdd",
      "old_mode": 33188,
      "old_path": "metropolis/pkg/efivarfs/boot.go",
      "new_id": "92b8ac9ee31e044b8ca69040eb6050776be3583a",
      "new_mode": 33188,
      "new_path": "metropolis/pkg/efivarfs/boot.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9abd8f9c9ebff76acc092a31efc912dbd08a246d",
      "new_mode": 33188,
      "new_path": "metropolis/pkg/efivarfs/boot_test.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1606fd64ddfd41fdba86c00cb462ab03164be7e6",
      "new_mode": 33188,
      "new_path": "metropolis/pkg/efivarfs/devicepath.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b5823ac386614c2d597850f9a7d1303f909cf796",
      "new_mode": 33188,
      "new_path": "metropolis/pkg/efivarfs/devicepath_test.go"
    },
    {
      "type": "modify",
      "old_id": "81325799ce66ee909b24aecdc8d771de30242233",
      "old_mode": 33188,
      "old_path": "metropolis/pkg/efivarfs/efivarfs.go",
      "new_id": "e7511450d3acb6083a5dbd3052b4b2d5ed812c45",
      "new_mode": 33188,
      "new_path": "metropolis/pkg/efivarfs/efivarfs.go"
    },
    {
      "type": "delete",
      "old_id": "a71dbf96b87761144ce619fcb07e9613ae3127d0",
      "old_mode": 33188,
      "old_path": "metropolis/pkg/efivarfs/format.go",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "876173cae79972304a8e091218314e926c497ebe",
      "new_mode": 33188,
      "new_path": "metropolis/pkg/efivarfs/variables.go"
    }
  ]
}
