)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"1e194dc5163b36f214a806d0e8383cd3a7f4bcbc","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add a pxe/uefi/grub2 CI job"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Adds only to the check queue on purpose so we don\u0027t continue to bloat"},{"line_number":10,"context_line":"the number of CI jobs running in the gate."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Story: 2003936"},{"line_number":13,"context_line":"Task: 27724"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3f79a3b5_fc14a444","line":10,"updated":"2018-10-31 13:32:02.000000000","message":"Then it must be non-voting. Voting jobs have to be in the gate, otherwise you\u0027re asking for breakage :) I think it\u0027s fine as non-voting, since the likelyhood of a breakage is quite low.","commit_id":"203e01538eecc88a6371915ddf15a31f797ed9e2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"587fc9022d69d02a0e731c477405c1527a98e87d","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add a pxe/uefi/grub2 CI job"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Adds only to the check queue on purpose so we don\u0027t continue to bloat"},{"line_number":10,"context_line":"the number of CI jobs running in the gate."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Story: 2003936"},{"line_number":13,"context_line":"Task: 27724"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3f79a3b5_971f8959","line":10,"in_reply_to":"3f79a3b5_fc14a444","updated":"2018-11-02 13:43:11.000000000","message":"I\u0027m still trying to get it to work and it does a complete dis-service in job development to make something non-voting, I\u0027ll change it later.. or maybe just strip the description next time. :(","commit_id":"203e01538eecc88a6371915ddf15a31f797ed9e2"}],"bindep.txt":[{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"44cdeaf99f502d92e6389b03db82cd3a3f5ba508","unresolved":false,"context_lines":[{"line_number":23,"context_line":"syslinux-common [platform:ubuntu-xenial platform:debian-jessie default]"},{"line_number":24,"context_line":"socat [default]"},{"line_number":25,"context_line":"# Grub2 files for boot loadingusing PXE/GRUB2"},{"line_number":26,"context_line":"shim [platform:dpkg default]"},{"line_number":27,"context_line":"grub-efi-amd64-signed [platform:dpkg default]"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"# these are needed to create and access VMs when testing with virtual hardware"}],"source_content_type":"text/plain","patch_set":29,"id":"9fb8cfa7_bb8a7a18","line":26,"updated":"2019-06-05 15:32:22.000000000","message":"I think you will need those 2 in files/debs/ironic","commit_id":"0cc34c8013db0af73e5c67f4b0f2d0f7962210ad"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"60df4044b859d33695b113714ac8b48d51c28546","unresolved":false,"context_lines":[{"line_number":22,"context_line":"syslinux [platform:rpm platform:ubuntu-trusty platform:debian-wheezy default]"},{"line_number":23,"context_line":"syslinux-common [platform:ubuntu-xenial platform:debian-jessie default]"},{"line_number":24,"context_line":"socat [default]"},{"line_number":25,"context_line":"# Grub2 files for boot loadingusing PXE/GRUB2"},{"line_number":26,"context_line":"shim [platform:dpkg default]"},{"line_number":27,"context_line":"grub-efi-amd64-signed [platform:dpkg default]"},{"line_number":28,"context_line":""}],"source_content_type":"text/plain","patch_set":30,"id":"9fb8cfa7_769e4cb9","line":25,"updated":"2019-06-06 07:19:40.000000000","message":"nit: missing space or \"and\"","commit_id":"55e8d3fde1132af32b413b1b38d3e16288ec4398"}],"devstack/lib/ironic":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"ddea2770e02cb67f19934f59c6cee99841707cf9","unresolved":false,"context_lines":[{"line_number":512,"context_line":""},{"line_number":513,"context_line":"    if is_ubuntu \u0026\u0026 [[ -z $IRONIC_GRUB2_FILE ]]; then"},{"line_number":514,"context_line":"        install_package shim"},{"line_number":515,"context_line":"        install_package grub-efi-amd64-signed"},{"line_number":516,"context_line":"        IRONIC_GRUB2_SHIM_FILE\u003d/usr/lib/shim/shimx64.efi"},{"line_number":517,"context_line":"        IRONIC_GRUB2_FILE\u003d/usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed"},{"line_number":518,"context_line":"    fi"}],"source_content_type":"application/x-shellscript","patch_set":27,"id":"9fb8cfa7_e32617b8","line":515,"updated":"2019-06-05 06:55:43.000000000","message":"Move to bindeps?","commit_id":"d29ee44ee36289df9580a4188afea6bc2629b28a"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"ddea2770e02cb67f19934f59c6cee99841707cf9","unresolved":false,"context_lines":[{"line_number":580,"context_line":"# ---------"},{"line_number":581,"context_line":""},{"line_number":582,"context_line":"# UEFI related functions"},{"line_number":583,"context_line":"function get_uefi_boot_file {"},{"line_number":584,"context_line":"    if is_ubuntu; then"},{"line_number":585,"context_line":"        echo /usr/lib/ipxe/ipxe.efi"},{"line_number":586,"context_line":"    elif is_fedora; then"}],"source_content_type":"application/x-shellscript","patch_set":27,"id":"9fb8cfa7_833b9bcf","line":583,"updated":"2019-06-05 06:55:43.000000000","message":"Well, this function still deals with ipxe","commit_id":"d29ee44ee36289df9580a4188afea6bc2629b28a"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ec69fb4a3270626bbdd2123f49c2a68e48b2be27","unresolved":false,"context_lines":[{"line_number":580,"context_line":"# ---------"},{"line_number":581,"context_line":""},{"line_number":582,"context_line":"# UEFI related functions"},{"line_number":583,"context_line":"function get_uefi_boot_file {"},{"line_number":584,"context_line":"    if is_ubuntu; then"},{"line_number":585,"context_line":"        echo /usr/lib/ipxe/ipxe.efi"},{"line_number":586,"context_line":"    elif is_fedora; then"}],"source_content_type":"application/x-shellscript","patch_set":27,"id":"9fb8cfa7_be17cda3","line":583,"in_reply_to":"9fb8cfa7_833b9bcf","updated":"2019-06-05 13:12:33.000000000","message":"Yeah, somewhere along the way I was thinking of rewriting this. Changing back.","commit_id":"d29ee44ee36289df9580a4188afea6bc2629b28a"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"ddea2770e02cb67f19934f59c6cee99841707cf9","unresolved":false,"context_lines":[{"line_number":984,"context_line":"            rm -f \"$temp_deb\""},{"line_number":985,"context_line":""},{"line_number":986,"context_line":"            # sudo rm /usr/share/qemu/pxe-virtio.rom"},{"line_number":987,"context_line":"            # sudo ln -s /usr/lib/ipxe/qemu/efi-virtio.rom /usr/share/qemu/pxe-virtio.rom"},{"line_number":988,"context_line":"        elif is_fedora; then"},{"line_number":989,"context_line":"            sudo rm /usr/share/qemu/pxe-virtio.rom"},{"line_number":990,"context_line":"            sudo ln -s /usr/share/ipxe.efi/1af41000.rom /usr/share/qemu/pxe-virtio.rom"}],"source_content_type":"application/x-shellscript","patch_set":27,"id":"9fb8cfa7_a3381fd3","line":987,"updated":"2019-06-05 06:55:43.000000000","message":"Remove completely?","commit_id":"d29ee44ee36289df9580a4188afea6bc2629b28a"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"ddea2770e02cb67f19934f59c6cee99841707cf9","unresolved":false,"context_lines":[{"line_number":1800,"context_line":""},{"line_number":1801,"context_line":"        vbmc_port\u003d$((vbmc_port+1))"},{"line_number":1802,"context_line":"        pdu_outlet\u003d$((pdu_outlet+1))"},{"line_number":1803,"context_line":"\tsudo virsh dumpxml $vm_name"},{"line_number":1804,"context_line":"    done"},{"line_number":1805,"context_line":""},{"line_number":1806,"context_line":"    if [[ -z \"${IRONIC_PROVISION_NETWORK_NAME}\" ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":27,"id":"9fb8cfa7_4335a3d9","line":1803,"updated":"2019-06-05 06:55:43.000000000","message":"Fine with keeping this here, although you\u0027ll need to replace tabs with spaces","commit_id":"d29ee44ee36289df9580a4188afea6bc2629b28a"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ec69fb4a3270626bbdd2123f49c2a68e48b2be27","unresolved":false,"context_lines":[{"line_number":1800,"context_line":""},{"line_number":1801,"context_line":"        vbmc_port\u003d$((vbmc_port+1))"},{"line_number":1802,"context_line":"        pdu_outlet\u003d$((pdu_outlet+1))"},{"line_number":1803,"context_line":"\tsudo virsh dumpxml $vm_name"},{"line_number":1804,"context_line":"    done"},{"line_number":1805,"context_line":""},{"line_number":1806,"context_line":"    if [[ -z \"${IRONIC_PROVISION_NETWORK_NAME}\" ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":27,"id":"9fb8cfa7_5e001168","line":1803,"in_reply_to":"9fb8cfa7_4335a3d9","updated":"2019-06-05 13:12:33.000000000","message":"Going to comment out and leave a note regarding usefulness.","commit_id":"d29ee44ee36289df9580a4188afea6bc2629b28a"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"ddea2770e02cb67f19934f59c6cee99841707cf9","unresolved":false,"context_lines":[{"line_number":2347,"context_line":"        echo \"re ^([^/]) $IRONIC_TFTPBOOT_DIR/\\1\" \u003e\u003e$IRONIC_TFTPBOOT_DIR/map-file"},{"line_number":2348,"context_line":""},{"line_number":2349,"context_line":"        sudo cp $IRONIC_GRUB2_SHIM_FILE $IRONIC_TFTPBOOT_DIR/bootx64.efi"},{"line_number":2350,"context_line":"        #sudo cp $IRONIC_GRUB2_FILE $IRONIC_TFTPBOOT_DIR/grubx64.efi"},{"line_number":2351,"context_line":""},{"line_number":2352,"context_line":"        if is_fedora; then"},{"line_number":2353,"context_line":"            grub_subdir\u003d\"EFI/fedora\""}],"source_content_type":"application/x-shellscript","patch_set":27,"id":"9fb8cfa7_633227f4","line":2350,"updated":"2019-06-05 06:55:43.000000000","message":"I guess all commented lines will be cleaned up in the final version?","commit_id":"d29ee44ee36289df9580a4188afea6bc2629b28a"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"ddea2770e02cb67f19934f59c6cee99841707cf9","unresolved":false,"context_lines":[{"line_number":2365,"context_line":"        #sudo cp $IRONIC_TFTPBOOT_DIR/$grub_subdir/x86_64-efi/*.lst $IRONIC_TFTPBOOT_DIR/"},{"line_number":2366,"context_line":"        cat \u003c\u003c EOF \u003e $grub_dir/grub.cfg"},{"line_number":2367,"context_line":"set default\u003dmaster"},{"line_number":2368,"context_line":"set timeout\u003d5"},{"line_number":2369,"context_line":"set hidden_timeout_quiet\u003dfalse"},{"line_number":2370,"context_line":""},{"line_number":2371,"context_line":"menuentry \"master\"  {"}],"source_content_type":"application/x-shellscript","patch_set":27,"id":"9fb8cfa7_034d6b71","line":2368,"updated":"2019-06-05 06:55:43.000000000","message":"Set to 1? I don\u0027t really understand why we have timeouts for automated boots..","commit_id":"d29ee44ee36289df9580a4188afea6bc2629b28a"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ec69fb4a3270626bbdd2123f49c2a68e48b2be27","unresolved":false,"context_lines":[{"line_number":2365,"context_line":"        #sudo cp $IRONIC_TFTPBOOT_DIR/$grub_subdir/x86_64-efi/*.lst $IRONIC_TFTPBOOT_DIR/"},{"line_number":2366,"context_line":"        cat \u003c\u003c EOF \u003e $grub_dir/grub.cfg"},{"line_number":2367,"context_line":"set default\u003dmaster"},{"line_number":2368,"context_line":"set timeout\u003d5"},{"line_number":2369,"context_line":"set hidden_timeout_quiet\u003dfalse"},{"line_number":2370,"context_line":""},{"line_number":2371,"context_line":"menuentry \"master\"  {"}],"source_content_type":"application/x-shellscript","patch_set":27,"id":"9fb8cfa7_1e3ff925","line":2368,"in_reply_to":"9fb8cfa7_034d6b71","updated":"2019-06-05 13:12:33.000000000","message":"nor do I...","commit_id":"d29ee44ee36289df9580a4188afea6bc2629b28a"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"60df4044b859d33695b113714ac8b48d51c28546","unresolved":false,"context_lines":[{"line_number":517,"context_line":""},{"line_number":518,"context_line":"    if [[ \"$IRONIC_IPXE_ENABLED\" \u003d\u003d \"False\" ]]; then"},{"line_number":519,"context_line":"        # NOTE(TheJulia): While we no longer directly copy the"},{"line_number":520,"context_line":"        # IRONIC_GRUB2_FILE, we still check the exisstence as"},{"line_number":521,"context_line":"        # without the bootloader package we would be unable to build"},{"line_number":522,"context_line":"        # the netboot core image."},{"line_number":523,"context_line":"        if [[ -z $IRONIC_GRUB2_SHIM_FILE ]] || [[ -z $IRONIC_GRUB2_FILE ]] || [[ ! -f $IRONIC_GRUB2_SHIM_FILE ]] || [[ ! -f $IRONIC_GRUB2_FILE ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":30,"id":"9fb8cfa7_16a59004","line":520,"updated":"2019-06-06 07:19:40.000000000","message":"nit: typo in existence","commit_id":"55e8d3fde1132af32b413b1b38d3e16288ec4398"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"60df4044b859d33695b113714ac8b48d51c28546","unresolved":false,"context_lines":[{"line_number":986,"context_line":"            rm -f \"$temp_deb\""},{"line_number":987,"context_line":""},{"line_number":988,"context_line":"            # sudo rm /usr/share/qemu/pxe-virtio.rom"},{"line_number":989,"context_line":"            # sudo ln -s /usr/lib/ipxe/qemu/efi-virtio.rom /usr/share/qemu/pxe-virtio.rom"},{"line_number":990,"context_line":"        elif is_fedora; then"},{"line_number":991,"context_line":"            sudo rm /usr/share/qemu/pxe-virtio.rom"},{"line_number":992,"context_line":"            sudo ln -s /usr/share/ipxe.efi/1af41000.rom /usr/share/qemu/pxe-virtio.rom"}],"source_content_type":"application/x-shellscript","patch_set":30,"id":"9fb8cfa7_36a8d4d9","line":989,"updated":"2019-06-06 07:19:40.000000000","message":"nit: remove completely?","commit_id":"55e8d3fde1132af32b413b1b38d3e16288ec4398"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"04a73c011fb6182472ef6ac5dcdbe267427a6a0d","unresolved":false,"context_lines":[{"line_number":1113,"context_line":"        local uefi_loader"},{"line_number":1114,"context_line":"        local uefi_nvram"},{"line_number":1115,"context_line":""},{"line_number":1116,"context_line":""},{"line_number":1117,"context_line":"        uefi_boot_file\u003d$(get_uefi_ipxe_boot_file)"},{"line_number":1118,"context_line":"        if [ ! -f $uefi_boot_file ]; then"},{"line_number":1119,"context_line":"            die $LINENO \"UEFI boot file $uefi_boot_file not found.\""}],"source_content_type":"application/x-shellscript","patch_set":30,"id":"9fb8cfa7_f92468c8","line":1116,"updated":"2019-06-06 13:24:30.000000000","message":"nit: not needed 2nd blank line","commit_id":"55e8d3fde1132af32b413b1b38d3e16288ec4398"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"60df4044b859d33695b113714ac8b48d51c28546","unresolved":false,"context_lines":[{"line_number":1803,"context_line":"        vbmc_port\u003d$((vbmc_port+1))"},{"line_number":1804,"context_line":"        pdu_outlet\u003d$((pdu_outlet+1))"},{"line_number":1805,"context_line":"        # It is sometimes useful to dump out the VM configuration to validate it."},{"line_number":1806,"context_line":"        # sudo virsh dumpxml $vm_name"},{"line_number":1807,"context_line":"    done"},{"line_number":1808,"context_line":""},{"line_number":1809,"context_line":"    if [[ -z \"${IRONIC_PROVISION_NETWORK_NAME}\" ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":30,"id":"9fb8cfa7_d6ae18e6","line":1806,"updated":"2019-06-06 07:19:40.000000000","message":"I\u0027d even leave it uncommented. Looks helpful.","commit_id":"55e8d3fde1132af32b413b1b38d3e16288ec4398"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"04a73c011fb6182472ef6ac5dcdbe267427a6a0d","unresolved":false,"context_lines":[{"line_number":1803,"context_line":"        vbmc_port\u003d$((vbmc_port+1))"},{"line_number":1804,"context_line":"        pdu_outlet\u003d$((pdu_outlet+1))"},{"line_number":1805,"context_line":"        # It is sometimes useful to dump out the VM configuration to validate it."},{"line_number":1806,"context_line":"        # sudo virsh dumpxml $vm_name"},{"line_number":1807,"context_line":"    done"},{"line_number":1808,"context_line":""},{"line_number":1809,"context_line":"    if [[ -z \"${IRONIC_PROVISION_NETWORK_NAME}\" ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":30,"id":"9fb8cfa7_991d2c75","line":1806,"in_reply_to":"9fb8cfa7_d6ae18e6","updated":"2019-06-06 13:24:30.000000000","message":"++","commit_id":"55e8d3fde1132af32b413b1b38d3e16288ec4398"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"04a73c011fb6182472ef6ac5dcdbe267427a6a0d","unresolved":false,"context_lines":[{"line_number":2355,"context_line":""},{"line_number":2356,"context_line":"        if is_fedora; then"},{"line_number":2357,"context_line":"            grub_subdir\u003d\"EFI/fedora\""},{"line_number":2358,"context_line":"            grub_dir\u003d$IRONIC_TFTPBOOT_DIR/EFI/fedora"},{"line_number":2359,"context_line":"        elif is_ubuntu; then"},{"line_number":2360,"context_line":"            grub_subdir\u003d\"boot/grub\""},{"line_number":2361,"context_line":"            grub_dir\u003d$IRONIC_TFTPBOOT_DIR/boot/grub"}],"source_content_type":"application/x-shellscript","patch_set":30,"id":"9fb8cfa7_540c5b3a","line":2358,"updated":"2019-06-06 13:24:30.000000000","message":"nit: both here and L2361 can be expressed using variables instead of hardcoded path","commit_id":"55e8d3fde1132af32b413b1b38d3e16288ec4398"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"60df4044b859d33695b113714ac8b48d51c28546","unresolved":false,"context_lines":[{"line_number":2359,"context_line":"        elif is_ubuntu; then"},{"line_number":2360,"context_line":"            grub_subdir\u003d\"boot/grub\""},{"line_number":2361,"context_line":"            grub_dir\u003d$IRONIC_TFTPBOOT_DIR/boot/grub"},{"line_number":2362,"context_line":"        fi"},{"line_number":2363,"context_line":"        mkdir -p $grub_dir"},{"line_number":2364,"context_line":"        # Grub looks for numerous files when the grubnetx.efi binary is used :\\"},{"line_number":2365,"context_line":"        # specifically .lst files which define module lists which we can\u0027t seem"}],"source_content_type":"application/x-shellscript","patch_set":30,"id":"9fb8cfa7_f6a9dcdc","line":2362,"updated":"2019-06-06 07:19:40.000000000","message":"nit:\n\n grub_dir\u003d$IRONIC_TFTPBOOT_DIR/$grub_subdir","commit_id":"55e8d3fde1132af32b413b1b38d3e16288ec4398"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"60df4044b859d33695b113714ac8b48d51c28546","unresolved":false,"context_lines":[{"line_number":2366,"context_line":"        # to find on disk. That being said, the grub-mknetdir utility generates"},{"line_number":2367,"context_line":"        # these files for us."},{"line_number":2368,"context_line":"        grub-mknetdir --net-directory\u003d\"$IRONIC_TFTPBOOT_DIR\" --subdir\u003d\"$grub_subdir\""},{"line_number":2369,"context_line":"        sudo cp $IRONIC_TFTPBOOT_DIR/$grub_subdir/x86_64-efi/core.efi $IRONIC_TFTPBOOT_DIR/grubx64.efi"},{"line_number":2370,"context_line":"        cat \u003c\u003c EOF \u003e $grub_dir/grub.cfg"},{"line_number":2371,"context_line":"set default\u003dmaster"},{"line_number":2372,"context_line":"set timeout\u003d1"}],"source_content_type":"application/x-shellscript","patch_set":30,"id":"9fb8cfa7_96b8a02a","line":2369,"updated":"2019-06-06 07:19:40.000000000","message":"nit: use $grub_dir","commit_id":"55e8d3fde1132af32b413b1b38d3e16288ec4398"}]}
