)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"15bff3c523e5f2bafe8249aea95e6d0d017155b6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"48168454_f339ad23","updated":"2026-05-07 16:01:38.000000000","message":"This change would be backward incompatible for anyone running dib on a platform with debootstrap packages and without mmdebstrap packages. For example both fedora and opensuse tumbleweed have deboostrap packages but don\u0027t have mmdebstrap packages.\n\nGiven the benefits seem worthwhile maybe mmdebstrap should be supported and either used when detected to be present or when enabled via configuration?","commit_id":"8bcf062a7989f49e6bb6dcc1984ed95dcbbb2a2d"},{"author":{"_account_id":39117,"name":"Roja Eswaran","display_name":"reswaran","email":"rojaeswaran@gmail.com","username":"reswaran"},"change_message_id":"7c6584aa825b12477b0b1eab256911dbb76dbaa2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f9653712_7a1b702e","in_reply_to":"48168454_f339ad23","updated":"2026-05-07 16:10:55.000000000","message":"Yes, that\u0027s reasonable. Will modify the code to support mmdebstrap only when it\u0027s available to use to prevent incompatibility issue.","commit_id":"8bcf062a7989f49e6bb6dcc1984ed95dcbbb2a2d"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"e1e09cee0bdfe2e901a08352f8b8ecb63b2cc662","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"9f012c39_733b0102","updated":"2026-05-28 17:33:23.000000000","message":"I\u0027m very much in favor of this change, it\u0027s been a long time coming (I often thought about doing the same in the past previously to cdebootstrap but these days I would pick mmdebstrap myself).","commit_id":"7162cc4a2bae6890eeb4fdcfc9f1462376dac9af"},{"author":{"_account_id":39117,"name":"Roja Eswaran","display_name":"reswaran","email":"rojaeswaran@gmail.com","username":"reswaran"},"change_message_id":"54232b8372892dc5986dac8a68493e6664f953e2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"699596ad_be06667b","in_reply_to":"9f012c39_733b0102","updated":"2026-05-28 17:57:25.000000000","message":"100%, local test shows mmdebstrap is three times faster!","commit_id":"7162cc4a2bae6890eeb4fdcfc9f1462376dac9af"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"10f2faaa88dd5ee41695794f2b3bd84dce8a33a3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"8f875e88_c99760d7","updated":"2026-05-28 18:05:48.000000000","message":"Eventually we\u0027re going to want something like a DIB_MMDEBSTRAP_EXTRA_ARGS envvar in order to be able to pass the equivalent options for anyone wanting to migrate (e.g. to pass `--skip\u003dcheck/signed-by` instead of `--no-check-gpg`), but that can happen in a separate change so I wouldn\u0027t worry about it right now.","commit_id":"f58025c61e4b96b044049be408d6804c15aa5e2f"},{"author":{"_account_id":39117,"name":"Roja Eswaran","display_name":"reswaran","email":"rojaeswaran@gmail.com","username":"reswaran"},"change_message_id":"f17233ebf5d3d93048e2905841403c0c29b471a0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"55cb6fe5_5d7d2c05","in_reply_to":"8f875e88_c99760d7","updated":"2026-05-28 18:17:28.000000000","message":"I agree with that, will create a new PR for the migration. Thanks for the review and approval!","commit_id":"f58025c61e4b96b044049be408d6804c15aa5e2f"},{"author":{"_account_id":39117,"name":"Roja Eswaran","display_name":"reswaran","email":"rojaeswaran@gmail.com","username":"reswaran"},"change_message_id":"b52ce665c68b9767b0af0edbfcec3928c69d8a2b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"9c155c7a_a822e8d1","updated":"2026-05-29 17:55:31.000000000","message":"Attaching the filed bug report:\nhttps://bugs.launchpad.net/diskimage-builder/+bug/2154594","commit_id":"ff83d304d36280ea8f1e5adba5ced07821fc948b"},{"author":{"_account_id":39117,"name":"Roja Eswaran","display_name":"reswaran","email":"rojaeswaran@gmail.com","username":"reswaran"},"change_message_id":"81f9f67a86dd7035ed37797bc0e459ea5c723ed3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"8c6b51f8_86685e15","updated":"2026-05-29 17:35:50.000000000","message":"Bug in one of the gated tests: dib-functests\ndib-functests/centos_10-stream fails because it tries to do a sha256sum --check on a empty file: https://cloud.centos.org/centos/10-stream/x86_64/images/CentOS-Stream-GenericCloud-x86_64-10-latest.x86_64.qcow2.SHA256SUM","commit_id":"ff83d304d36280ea8f1e5adba5ced07821fc948b"},{"author":{"_account_id":39117,"name":"Roja Eswaran","display_name":"reswaran","email":"rojaeswaran@gmail.com","username":"reswaran"},"change_message_id":"54a367b845c1bec83b8aa869d26335d28abd1f06","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":6,"id":"1e5f372a_2a6cbb56","updated":"2026-05-29 13:56:59.000000000","message":"recheck dib-functests failure in centos/10-stream-build-succeeds","commit_id":"ff83d304d36280ea8f1e5adba5ced07821fc948b"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"442d6bc0c6985743287aa738594ac5b82e9ecbe2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"0697bc13_eb31a5e7","in_reply_to":"1e5f372a_2a6cbb56","updated":"2026-06-10 06:49:41.000000000","message":"Done","commit_id":"ff83d304d36280ea8f1e5adba5ced07821fc948b"},{"author":{"_account_id":39117,"name":"Roja Eswaran","display_name":"reswaran","email":"rojaeswaran@gmail.com","username":"reswaran"},"change_message_id":"0dfc6e7f434a4b2331436ca05da2d75431e7fab3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"ec16ceae_b529b492","updated":"2026-06-01 13:52:40.000000000","message":"recheck fixed the bug in gated test, rerun the tests.","commit_id":"4ea7989e22f3f6d39ab6c7e53c319f8c5289c49c"},{"author":{"_account_id":39117,"name":"Roja Eswaran","display_name":"reswaran","email":"rojaeswaran@gmail.com","username":"reswaran"},"change_message_id":"36a539ea03f6ad7e229d62d61ecf464711341704","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"1b7db426_10f19b46","updated":"2026-06-02 15:40:45.000000000","message":"recheck resolved gated test bug in 990920, rebase on top of it and run the tests","commit_id":"ed6839d8d9e0b431bb569cf5a6b1f93d329a081c"},{"author":{"_account_id":39117,"name":"Roja Eswaran","display_name":"reswaran","email":"rojaeswaran@gmail.com","username":"reswaran"},"change_message_id":"37bbd4b474a400eb1c5af06dd3dc3e863a3c14e4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"8e859985_09660771","updated":"2026-06-03 21:04:33.000000000","message":"recheck kickoff the tests and check for regression","commit_id":"8277efcdda6297cbb5b4cd46a69f298c9763fe45"},{"author":{"_account_id":39117,"name":"Roja Eswaran","display_name":"reswaran","email":"rojaeswaran@gmail.com","username":"reswaran"},"change_message_id":"1dd44cbf7a5c975926a2b5298a1b44b887a94d70","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"22403a1e_d930f6ff","updated":"2026-06-04 16:02:19.000000000","message":"recheck logic check with mmdebstrap for backward compatability","commit_id":"4335347dfd223aabb32ee52c35238866b439154d"},{"author":{"_account_id":39117,"name":"Roja Eswaran","display_name":"reswaran","email":"rojaeswaran@gmail.com","username":"reswaran"},"change_message_id":"6fce0da2b3146bbbf80fde1c3414f21fb57f67f4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"4c2d1ecb_9a59a4a3","updated":"2026-06-08 14:50:46.000000000","message":"recheck mmdebstrap installation doesn\u0027t work via package-installs.yaml as the root.d phase is called before pre-install.d. Install mmdebstrap in root.d phase for regression check.","commit_id":"4115c14674a84fb163a16cee20b415fa504ff90e"},{"author":{"_account_id":39117,"name":"Roja Eswaran","display_name":"reswaran","email":"rojaeswaran@gmail.com","username":"reswaran"},"change_message_id":"0b1132ba34b947fdbbecba1f888059287dfa3979","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"6862eb28_18144932","updated":"2026-06-09 17:54:08.000000000","message":"Thanks for all your reviews! I will add support for --no-gpg-check in a different PR; it\u0027s in progress.","commit_id":"6e9834ebff2c94b49ac00b2454d4d677406a5dd5"},{"author":{"_account_id":39117,"name":"Roja Eswaran","display_name":"reswaran","email":"rojaeswaran@gmail.com","username":"reswaran"},"change_message_id":"5a194ba03a80481088e6434badb411ddb822272d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"beea3e9c_62d91759","updated":"2026-06-09 15:24:05.000000000","message":"recheck reverting it back to patch4","commit_id":"6e9834ebff2c94b49ac00b2454d4d677406a5dd5"},{"author":{"_account_id":39117,"name":"Roja Eswaran","display_name":"reswaran","email":"rojaeswaran@gmail.com","username":"reswaran"},"change_message_id":"6e6829d16bfe06de011e9e26fb33f0663fa163d1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"a9553d87_2b2a31c0","updated":"2026-06-09 18:12:53.000000000","message":"recheck rebased to change 992493","commit_id":"431ff4414206fa1ea7dc3e27a55a9b2767c21ba9"}],"diskimage_builder/elements/debootstrap/root.d/08-debootstrap":[{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"e1e09cee0bdfe2e901a08352f8b8ecb63b2cc662","unresolved":true,"context_lines":[{"line_number":57,"context_line":"    # Have to --include\u003dbusybox because initramfs needs it"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    # If DISTRO_NAME is ubuntu or debian, switch from debootstrap to mmdebstrap if the package is installed already"},{"line_number":60,"context_line":"    if [[ \"${DISTRO_NAME}\" \u003d\u003d \"ubuntu\" || \"${DISTRO_NAME}\" \u003d\u003d \"debian\" ]]; then"},{"line_number":61,"context_line":"        if command -v mmdebstrap \u0026\u003e /dev/null; then"},{"line_number":62,"context_line":"            # Only use mmdebstrap if KEYRING_OPT, DIB_DEBOOTSTRAP_EXTRA_ARGS and DIB_DEBIAN_DEBOOTSTRAP_SCRIPT are not set to prevent arguments incompatibility between debootstrap and mmdebstrap"},{"line_number":63,"context_line":"            if [ -z \"$KEYRING_OPT\" ] \u0026\u0026 [ -z \"$DIB_DEBOOTSTRAP_EXTRA_ARGS\" ] \u0026\u0026 [ -z \"$DIB_DEBIAN_DEBOOTSTRAP_SCRIPT\" ]; then"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"102a9c9c_cdbfe8e5","line":60,"updated":"2026-05-28 17:33:23.000000000","message":"This check seems unnecessary? The name mmdebstrap is unique enough already that it\u0027s doubtful you\u0027ll find the same command present on any platform unless it\u0027s that actual tool, so it ought to be sufficient to just rely on the check on the next line which also avoids future churn when someone eventually packages it for other platforms.","commit_id":"7162cc4a2bae6890eeb4fdcfc9f1462376dac9af"},{"author":{"_account_id":39117,"name":"Roja Eswaran","display_name":"reswaran","email":"rojaeswaran@gmail.com","username":"reswaran"},"change_message_id":"54232b8372892dc5986dac8a68493e6664f953e2","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    # Have to --include\u003dbusybox because initramfs needs it"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    # If DISTRO_NAME is ubuntu or debian, switch from debootstrap to mmdebstrap if the package is installed already"},{"line_number":60,"context_line":"    if [[ \"${DISTRO_NAME}\" \u003d\u003d \"ubuntu\" || \"${DISTRO_NAME}\" \u003d\u003d \"debian\" ]]; then"},{"line_number":61,"context_line":"        if command -v mmdebstrap \u0026\u003e /dev/null; then"},{"line_number":62,"context_line":"            # Only use mmdebstrap if KEYRING_OPT, DIB_DEBOOTSTRAP_EXTRA_ARGS and DIB_DEBIAN_DEBOOTSTRAP_SCRIPT are not set to prevent arguments incompatibility between debootstrap and mmdebstrap"},{"line_number":63,"context_line":"            if [ -z \"$KEYRING_OPT\" ] \u0026\u0026 [ -z \"$DIB_DEBOOTSTRAP_EXTRA_ARGS\" ] \u0026\u0026 [ -z \"$DIB_DEBIAN_DEBOOTSTRAP_SCRIPT\" ]; then"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"ebd34740_54ed331f","line":60,"in_reply_to":"102a9c9c_cdbfe8e5","updated":"2026-05-28 17:57:25.000000000","message":"Makes sense, thanks just resolved it.","commit_id":"7162cc4a2bae6890eeb4fdcfc9f1462376dac9af"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"facb9d213287993343f84275fa0599ab34cc4c9c","unresolved":true,"context_lines":[{"line_number":64,"context_line":"            bootstrap_tool\u003dmmdebstrap"},{"line_number":65,"context_line":"            DIB_DEBOOTSTRAP_EXTRA_ARGS+\u003d\"--include\u003dapt,tzdata\""},{"line_number":66,"context_line":"        fi"},{"line_number":67,"context_line":"    fi"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    sudo sh -c \"http_proxy\u003d$http_proxy no_proxy\u003d$no_proxy $bootstrap_tool --verbose \\"},{"line_number":70,"context_line":"        --variant\u003dminbase \\"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"5c63616a_a4ff5238","line":67,"updated":"2026-06-01 18:57:21.000000000","message":"Seems like we should allow override of bootstrap tool explicitly? https://manpages.debian.org/bullseye/mmdebstrap/mmdebstrap.1.en.html#DEBOOTSTRAP suggests there can be downsides to using mmdbstrap","commit_id":"b59d771d6d39af2f5b8adc0fd0a0bb1ef4ad4505"},{"author":{"_account_id":39117,"name":"Roja Eswaran","display_name":"reswaran","email":"rojaeswaran@gmail.com","username":"reswaran"},"change_message_id":"2cef1bea835ee0e1592b1a4156bb76b68eef78ed","unresolved":false,"context_lines":[{"line_number":64,"context_line":"            bootstrap_tool\u003dmmdebstrap"},{"line_number":65,"context_line":"            DIB_DEBOOTSTRAP_EXTRA_ARGS+\u003d\"--include\u003dapt,tzdata\""},{"line_number":66,"context_line":"        fi"},{"line_number":67,"context_line":"    fi"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    sudo sh -c \"http_proxy\u003d$http_proxy no_proxy\u003d$no_proxy $bootstrap_tool --verbose \\"},{"line_number":70,"context_line":"        --variant\u003dminbase \\"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"2fe804f1_63085dce","line":67,"in_reply_to":"176d9d2a_1ac3ce6b","updated":"2026-06-03 21:07:38.000000000","message":"Thanks for your review, really appreciate it. I agree with the \"transparency\" issue, checking for the mmdebstrap regression with patchset 9.","commit_id":"b59d771d6d39af2f5b8adc0fd0a0bb1ef4ad4505"},{"author":{"_account_id":39117,"name":"Roja Eswaran","display_name":"reswaran","email":"rojaeswaran@gmail.com","username":"reswaran"},"change_message_id":"ffa57ded99c55f969a85f5299b7ca7656046ff88","unresolved":false,"context_lines":[{"line_number":64,"context_line":"            bootstrap_tool\u003dmmdebstrap"},{"line_number":65,"context_line":"            DIB_DEBOOTSTRAP_EXTRA_ARGS+\u003d\"--include\u003dapt,tzdata\""},{"line_number":66,"context_line":"        fi"},{"line_number":67,"context_line":"    fi"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    sudo sh -c \"http_proxy\u003d$http_proxy no_proxy\u003d$no_proxy $bootstrap_tool --verbose \\"},{"line_number":70,"context_line":"        --variant\u003dminbase \\"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"64c554fe_03f93b6b","line":67,"in_reply_to":"2fe804f1_63085dce","updated":"2026-06-03 21:08:52.000000000","message":"*patchset 10","commit_id":"b59d771d6d39af2f5b8adc0fd0a0bb1ef4ad4505"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"0ea1b18dfa793922436fdadcf0d9088036b27c5b","unresolved":true,"context_lines":[{"line_number":64,"context_line":"            bootstrap_tool\u003dmmdebstrap"},{"line_number":65,"context_line":"            DIB_DEBOOTSTRAP_EXTRA_ARGS+\u003d\"--include\u003dapt,tzdata\""},{"line_number":66,"context_line":"        fi"},{"line_number":67,"context_line":"    fi"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    sudo sh -c \"http_proxy\u003d$http_proxy no_proxy\u003d$no_proxy $bootstrap_tool --verbose \\"},{"line_number":70,"context_line":"        --variant\u003dminbase \\"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"58c4020f_1d884d66","line":67,"in_reply_to":"51360cb8_7cc1bb33","updated":"2026-06-02 20:45:23.000000000","message":"Quoted from the link I posted originally:\n\n\u003e Limitations in comparison to debootstrap:\n\u003e \n\u003e Only runs on systems with apt installed (Debian and derivatives)\n\u003e No SCRIPT argument\n\u003e Some debootstrap options don\u0027t exist, namely: [list of options]\n\nBut more generally: this is an unrevertible, potentially breaking change for anyone whose build server has mmdebstrap installed but is expecting debootstrap behavior. The main reason I want folks to be able to choose is to give a way-out if this change breaks their workflow in some way.\n\nThis is an old piece of software, that\u0027s been used in a lot of places for a long time. I\u0027m taking the same approach I would for an OpenStack service of making sure folks have an escape hatch from a \"seems like it\u0027s transparent\" change like this -- because we\u0027ve seen examples of changes shaped similarly to this *not* being transparent.","commit_id":"b59d771d6d39af2f5b8adc0fd0a0bb1ef4ad4505"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"1e52fc20a25ef925948328a4e4b9ab2c7f5989ed","unresolved":true,"context_lines":[{"line_number":64,"context_line":"            bootstrap_tool\u003dmmdebstrap"},{"line_number":65,"context_line":"            DIB_DEBOOTSTRAP_EXTRA_ARGS+\u003d\"--include\u003dapt,tzdata\""},{"line_number":66,"context_line":"        fi"},{"line_number":67,"context_line":"    fi"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    sudo sh -c \"http_proxy\u003d$http_proxy no_proxy\u003d$no_proxy $bootstrap_tool --verbose \\"},{"line_number":70,"context_line":"        --variant\u003dminbase \\"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"176d9d2a_1ac3ce6b","line":67,"in_reply_to":"58c4020f_1d884d66","updated":"2026-06-02 21:02:56.000000000","message":"I asked in #openstack-dib about this, and it seems like debootstrap is pretty legacy at this point.\n\nI think there is value in making this more backwards compatible... but I\u0027m going to pull my -1, since that context makes my objection significantly weaker.","commit_id":"b59d771d6d39af2f5b8adc0fd0a0bb1ef4ad4505"},{"author":{"_account_id":39117,"name":"Roja Eswaran","display_name":"reswaran","email":"rojaeswaran@gmail.com","username":"reswaran"},"change_message_id":"c6dfae0ae73ef902c908ad5324935f609cb72ea6","unresolved":true,"context_lines":[{"line_number":64,"context_line":"            bootstrap_tool\u003dmmdebstrap"},{"line_number":65,"context_line":"            DIB_DEBOOTSTRAP_EXTRA_ARGS+\u003d\"--include\u003dapt,tzdata\""},{"line_number":66,"context_line":"        fi"},{"line_number":67,"context_line":"    fi"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    sudo sh -c \"http_proxy\u003d$http_proxy no_proxy\u003d$no_proxy $bootstrap_tool --verbose \\"},{"line_number":70,"context_line":"        --variant\u003dminbase \\"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"51360cb8_7cc1bb33","line":67,"in_reply_to":"5c63616a_a4ff5238","updated":"2026-06-02 13:38:35.000000000","message":"Could you please be more specific about the downsides? \nmmdebstrap and debootstrap has 1-1 mapping for SUITE TARGET MIRROR parameters, hence overriding the tool shouldn\u0027t affect the behavior. To avoid the incompatibility due to parameter differences, I am skipping the override when parameters other than SUITE TARGET MIRROR are set.\n\nLike mentioned here: https://review.opendev.org/c/openstack/diskimage-builder/+/987717/comments/8f875e88_c99760d7, will deal with the migration in a separate PR.","commit_id":"b59d771d6d39af2f5b8adc0fd0a0bb1ef4ad4505"}]}
