{
 "number": 33828,
 "repo": "bitcoin/bitcoin",
 "url": "https://github.com/bitcoin/bitcoin/pull/33828",
 "title": "Check required interfaces before generating manpages",
 "author": "151henry151",
 "author_association": "CONTRIBUTOR",
 "created_at": "2025-11-08T20:50:34Z",
 "updated_at": "2026-08-10T19:15:35Z",
 "age_days": 312,
 "draft": false,
 "labels": [],
 "milestone": null,
 "base": "master",
 "head_sha": "bd7c0497d29b07811763bcead73eb60d808ec2d6",
 "head_ref": "gen-manpages-checks",
 "head_repo": "151henry151/bitcoin",
 "head_history": [
  {
   "t": "2025-11-08T21:42:19Z",
   "sha": "abda94fe84e1535d000ca083beae03bc7bd8e480"
  },
  {
   "t": "2025-11-08T22:35:28Z",
   "sha": "a212ec69f55ae99bb7b911d1d2e86569fae7108e"
  },
  {
   "t": "2026-01-13T00:29:15Z",
   "sha": "2a226ae02c1556a8626da823ccde3ba3c89e9a73"
  },
  {
   "t": "2026-01-20T17:43:44Z",
   "sha": "2746c512c44e3a4d06966c236e3da9f03fce0869"
  },
  {
   "t": "2026-01-20T17:51:21Z",
   "sha": "e67b39aea33f1fa26392ee92fa7616cd97fdef03"
  },
  {
   "t": "2026-01-20T17:54:55Z",
   "sha": "27cb3ed423a9ef9e0b35df1a5e35ca21e8c2eafc"
  },
  {
   "t": "2026-01-20T18:59:37Z",
   "sha": "f9ad5f005e192fb76ea14cb0d79c0f660ebaaf0e"
  },
  {
   "t": "2026-01-20T21:04:32Z",
   "sha": "fd9fc29e833dfcedff250cb4f048c8f3deb05b3e"
  },
  {
   "t": "2026-01-20T21:12:03Z",
   "sha": "442346a52ea9ac312cc45cec6301ed60624fce9b"
  },
  {
   "t": "2026-01-22T19:59:35Z",
   "sha": "19453292cff54e768b5138236bfffb5706f54f36"
  },
  {
   "t": "2026-01-24T01:26:03Z",
   "sha": "bd7c0497d29b07811763bcead73eb60d808ec2d6"
  }
 ],
 "additions": 56,
 "deletions": 0,
 "changed_files": 2,
 "commit_count": 1,
 "size_bucket": "S",
 "mergeable_state": "unknown",
 "bot": {
  "drahtbot": {
   "present": true,
   "reviews": {
    "concept_ack": [
     {
      "login": "sedited",
      "url": "https://github.com/bitcoin/bitcoin/pull/33828#issuecomment-5244816749"
     }
    ],
    "stale_ack": [
     {
      "login": "maflcko",
      "url": "https://github.com/bitcoin/bitcoin/pull/33828#issuecomment-3786471197"
     }
    ]
   },
   "conflicts": []
  }
 },
 "acks_parsed": {},
 "acks_tally": {
  "ack": 0,
  "stale_ack": 0,
  "concept_ack": 0,
  "approach_ack": 0,
  "nack": 0,
  "concept_nack": 0,
  "approach_nack": 0
 },
 "reviews": {
  "approved": 0,
  "changes_requested": 0,
  "distinct_reviewers": [
   "fanquake",
   "maflcko",
   "sedited"
  ]
 },
 "signals": {
  "needs_rebase": false,
  "ci_failed": false,
  "mergeable_state": "unknown",
  "last_author_activity": "2026-05-30T22:27:41Z",
  "last_reviewer_activity": "2026-08-10T19:15:31Z",
  "last_reviewer": "sedited",
  "author_silent_days": 109,
  "waiting_on_author_days": 37,
  "days_since_update": 37
 },
 "refs": {
  "mentioned": [
   17506,
   33085,
   33254,
   33926
  ],
  "depends_on": [],
  "fixes": [
   17506
  ],
  "linked_issues": [
   {
    "number": 17506,
    "type": "issue",
    "state": "open",
    "merged": false,
    "merged_at": null,
    "title": "gen-manpages output depends on build options, so needs to check them"
   }
  ],
  "references": [
   {
    "number": 17506,
    "type": "issue",
    "state": "open",
    "merged": false,
    "merged_at": null,
    "title": "gen-manpages output depends on build options, so needs to check them"
   },
   {
    "number": 33085,
    "type": "pull",
    "state": "closed",
    "merged": false,
    "merged_at": null,
    "title": "doc: gen-manpages.py should check build options"
   },
   {
    "number": 33254,
    "type": "pull",
    "state": "closed",
    "merged": false,
    "merged_at": null,
    "title": "wallet: Replace fee magic numbers with named constants"
   },
   {
    "number": 33926,
    "type": "pull",
    "state": "closed",
    "merged": false,
    "merged_at": null,
    "title": "Align legacy script policy with P2SH policy in AreInputsStandard"
   }
  ],
  "conflicts": []
 },
 "stack": {
  "shares_commits_with": [],
  "based_on": [],
  "base_for": []
 },
 "review_paths": [
  "cmake/bitcoin-build-config.h.in",
  "contrib/devtools/gen-manpages.py"
 ],
 "body": "Guard manpage generation by reading bitcoin-build-config.h and exiting if HAVE_SYSTEM, ENABLE_WALLET, or WITH_ZMQ are off, and provide a short hint so contributors rebuild with the right flags instead of committing incomplete manpages.\n\nFixes #17506\n\nOverride by using the SKIP_BUILD_OPTIONS_CHECK environment variable if you really need a custom-fit manpage (see bitcoin/bitcoin#29457 (comment)).",
 "commits": [
  {
   "sha": "bd7c0497d29b07811763bcead73eb60d808ec2d6",
   "date": "2026-01-24T01:01:59Z",
   "message": "Check required interfaces before generating manpages"
  }
 ],
 "timeline": [
  {
   "t": "2025-11-08T21:42:19Z",
   "kind": "force_push",
   "who": "151henry151",
   "commit": "abda94fe84e1535d000ca083beae03bc7bd8e480"
  },
  {
   "t": "2025-11-08T22:35:28Z",
   "kind": "force_push",
   "who": "151henry151",
   "commit": "a212ec69f55ae99bb7b911d1d2e86569fae7108e"
  },
  {
   "t": "2025-11-10T10:08:32Z",
   "kind": "comment",
   "who": "fanquake",
   "assoc": "MEMBER",
   "text": "This duplicates #33085. If the author doesn't follow up there shortly, we could reopen here."
  },
  {
   "t": "2025-11-11T00:44:07Z",
   "kind": "comment",
   "who": "151henry151",
   "assoc": "CONTRIBUTOR",
   "text": "Thanks for taking a look, fanquake.\n\nI noticed #33085 had gone quiet for a little over three weeks with the review concerns still open, so I put this together.\n\nIn #33085 the script pulls component flags from `test/config.ini` (adding checks for CLI, chainstate, fuzz, USDT tracepoints, etc.), but that file only exists when tests are configured and most of those toggles don\u2019t affect the manpages. This branch reads `CMakeCache.txt`, the authoritative record of the configuration, and only verifies the interfaces that actually change the generated help text.\n\n#33085 adds a new `--skip-build-options-check` flag, whereas this keeps using the existing `SKIP_BUILD_OPTIONS_CHECK` environment override so the command-line surface stays the same. The error messaging here points directly at the missing CMake options and explains how to bypass the guard, which lines up with the release-process docs, and the helper functions make the new logic reusable instead of nesting more ad-hoc parsing in the main flow.\n\nI appreciate the work Brandon already put in to #33085 and I looked his code over thoroughly before tackling this, but I thought this solution was more elegant and would be preferred. Wanting to follow proper etiquette, perhaps I should have commented my suggestions on his PR instead of opening my own?"
  },
  {
   "t": "2025-11-29T21:56:31Z",
   "kind": "comment",
   "who": "151henry151",
   "assoc": "CONTRIBUTOR",
   "text": "[quoted text omitted]\n\nIt's been a few weeks, would it be appropriate to reopen here? I did try to reach out to @BrandonOdiwuor on the comments of #33085 and haven't heard back from him yet."
  },
  {
   "t": "2026-01-11T05:34:12Z",
   "kind": "comment",
   "who": "151henry151",
   "assoc": "CONTRIBUTOR",
   "text": "Hi @fanquake, checking in on the status of #33085. If it's no longer moving forward, would it be possible to reopen this PR? Happy to adjust anything if needed. Thanks!"
  },
  {
   "t": "2026-01-11T12:48:28Z",
   "kind": "comment",
   "who": "fanquake",
   "assoc": "MEMBER",
   "text": "I've closed #33085 given the lack of followup."
  },
  {
   "t": "2026-01-12T08:18:52Z",
   "kind": "review_comment",
   "who": "maflcko",
   "assoc": "MEMBER",
   "path": "contrib/devtools/gen-manpages.py",
   "commit": "a212ec69f55ae99bb7b911d1d2e86569fae7108e",
   "in_reply_to": null,
   "text": "```suggestion\n    with open(cache_path) as cache:\n```\n\nThey can now be dropped, after https://github.com/bitcoin/bitcoin/pull/33702"
  },
  {
   "t": "2026-01-13T00:29:15Z",
   "kind": "force_push",
   "who": "151henry151",
   "commit": "2a226ae02c1556a8626da823ccde3ba3c89e9a73"
  },
  {
   "t": "2026-01-13T00:30:43Z",
   "kind": "review_comment",
   "who": "151henry151",
   "assoc": "CONTRIBUTOR",
   "path": "contrib/devtools/gen-manpages.py",
   "commit": "a212ec69f55ae99bb7b911d1d2e86569fae7108e",
   "in_reply_to": 2681239757,
   "text": "Fixed with 2a226ae"
  },
  {
   "t": "2026-01-19T18:07:26Z",
   "kind": "review_comment",
   "who": "maflcko",
   "assoc": "MEMBER",
   "path": "contrib/devtools/gen-manpages.py",
   "commit": "2a226ae02c1556a8626da823ccde3ba3c89e9a73",
   "in_reply_to": null,
   "text": "not sure about having one option over argparse, and another over env. Would be good to have a single way, and possibly even a single option `--ignore-warnings`. Or just remove this option for now."
  },
  {
   "t": "2026-01-19T18:11:23Z",
   "kind": "review_comment",
   "who": "maflcko",
   "assoc": "MEMBER",
   "path": "contrib/devtools/gen-manpages.py",
   "commit": "e67b39aea33f1fa26392ee92fa7616cd97fdef03",
   "in_reply_to": null,
   "text": "instead of parsing the cmake cache file with the cmake syntax, i'd presume it is easier to parse the C++ header config file, which follows a strict format: Either the line `#define HAVE_SYSTEM 1` exists, or not."
  },
  {
   "t": "2026-01-20T17:43:44Z",
   "kind": "force_push",
   "who": "151henry151",
   "commit": "2746c512c44e3a4d06966c236e3da9f03fce0869"
  },
  {
   "t": "2026-01-20T17:44:24Z",
   "kind": "comment",
   "who": "151henry151",
   "assoc": "CONTRIBUTOR",
   "text": "@maflcko you said --ignore-warnings, but I used --skip-build-options-check since we're skipping checks, not ignoring warnings. Should I change it to --ignore-warnings?\n\nI switched HAVE_SYSTEM and ENABLE_WALLET to read from bitcoin-build-config.h. WITH_ZMQ isn't in the header, so I'm still parsing CMakeCache.txt for it. Is that expected?"
  },
  {
   "t": "2026-01-20T17:50:18Z",
   "kind": "comment",
   "who": "maflcko",
   "assoc": "MEMBER",
   "text": "[quoted text omitted]\n\nIt is called `ENABLE_ZMQ`. You can read the header, to see the contents of it."
  },
  {
   "t": "2026-01-20T17:51:21Z",
   "kind": "force_push",
   "who": "151henry151",
   "commit": "e67b39aea33f1fa26392ee92fa7616cd97fdef03"
  },
  {
   "t": "2026-01-20T17:54:55Z",
   "kind": "force_push",
   "who": "151henry151",
   "commit": "27cb3ed423a9ef9e0b35df1a5e35ca21e8c2eafc"
  },
  {
   "t": "2026-01-20T17:58:07Z",
   "kind": "comment",
   "who": "151henry151",
   "assoc": "CONTRIBUTOR",
   "text": "Thanks for the review and feedback @maflcko , I think I've implemented your suggested changes correctly."
  },
  {
   "t": "2026-01-20T18:18:52Z",
   "kind": "comment",
   "who": "maflcko",
   "assoc": "MEMBER",
   "text": "[quoted text omitted]\n\nSorry, i was wrong. This is actually a compile definition. So I guess either the cmake parsing is required, or it has to be made a define in the build header."
  },
  {
   "t": "2026-01-20T18:31:14Z",
   "kind": "comment",
   "who": "151henry151",
   "assoc": "CONTRIBUTOR",
   "text": "[quoted text omitted]\n\nSo either we need to keep parsing CMakeCache.txt for WITH_ZMQ, or ENABLE_ZMQ needs to be added to the build header. Do you have a preference between these two approaches? I would lean towards adding it to the build header, since it's simpler and more direct than parsing the CMake cache format. I've implemented that in [f9ad5f0](https://github.com/bitcoin/bitcoin/commit/f9ad5f005e192fb76ea14cb0d79c0f660ebaaf0e)"
  },
  {
   "t": "2026-01-20T18:59:37Z",
   "kind": "force_push",
   "who": "151henry151",
   "commit": "f9ad5f005e192fb76ea14cb0d79c0f660ebaaf0e"
  },
  {
   "t": "2026-01-20T19:03:19Z",
   "kind": "comment",
   "who": "maflcko",
   "assoc": "MEMBER",
   "text": "i am not a build system expert, but i don't think compile definitions and build header defines should be mixed for the same symbol."
  },
  {
   "t": "2026-01-20T19:05:01Z",
   "kind": "comment",
   "who": "maflcko",
   "assoc": "MEMBER",
   "text": "Also, this doesn't compile (please test locally before pushing)\n\nEdit: As for a preference, I'd say it is probably easiest in this context to just read the cmake cache file."
  },
  {
   "t": "2026-01-20T21:04:32Z",
   "kind": "force_push",
   "who": "151henry151",
   "commit": "fd9fc29e833dfcedff250cb4f048c8f3deb05b3e"
  },
  {
   "t": "2026-01-20T21:12:03Z",
   "kind": "force_push",
   "who": "151henry151",
   "commit": "442346a52ea9ac312cc45cec6301ed60624fce9b"
  },
  {
   "t": "2026-01-20T21:34:42Z",
   "kind": "comment",
   "who": "151henry151",
   "assoc": "CONTRIBUTOR",
   "text": "I believe the current commit [442346a](https://github.com/bitcoin/bitcoin/commit/442346a52ea9ac312cc45cec6301ed60624fce9b) follows your suggestions, using header checks for HAVE_SYSTEM and ENABLE_WALLET, and still checking CMakeCache.txt for WITH_ZMQ.\n\nFrankly, I prefer the code of [2a226ae](https://github.com/bitcoin/bitcoin/commit/2a226ae02c1556a8626da823ccde3ba3c89e9a73) which intentionally used the existing SKIP_BUILD_OPTIONS_CHECK env var to keep the CLI unchanged, and checked all three interfaces against CMakeCache.txt as the single source of truth. It just seems more elegant to me.\n\nCan you clarify the suggestion to use a single argument like --ignore-warnings? I don't see an existing --ignore-warnings option in the script. I added the argument --skip-build-options-check, but wasn't sure if maybe the --ignore-warnings option exists elsewhere and should also skip build options checks?\nThanks again for all the feedback."
  },
  {
   "t": "2026-01-21T07:46:07Z",
   "kind": "comment",
   "who": "maflcko",
   "assoc": "MEMBER",
   "text": "Yeah, it seems better to just read one file instead of two. I haven't tested this, but the initial code looks plausible\n\nlgtm ACK 2a226ae02c1556a8626da823ccde3ba3c89e9a73"
  },
  {
   "t": "2026-01-22T07:34:52Z",
   "kind": "comment",
   "who": "maflcko",
   "assoc": "MEMBER",
   "text": "You'll have to push that commit, though"
  },
  {
   "t": "2026-01-22T19:59:35Z",
   "kind": "force_push",
   "who": "151henry151",
   "commit": "19453292cff54e768b5138236bfffb5706f54f36"
  },
  {
   "t": "2026-01-22T20:11:22Z",
   "kind": "comment",
   "who": "maflcko",
   "assoc": "MEMBER",
   "text": "lgtm ACK  19453292cff54e768b5138236bfffb5706f54f36\n\nI haven't tested this, but the initial code looks plausible"
  },
  {
   "t": "2026-01-23T09:43:45Z",
   "kind": "comment",
   "who": "fanquake",
   "assoc": "MEMBER",
   "text": "`HAVE_SYSTEM` is never present in `CMakeCache.txt`, so I don't see how this could work. Can you at least test your changes locally before pushing them to GitHub."
  },
  {
   "t": "2026-01-23T09:54:30Z",
   "kind": "comment",
   "who": "maflcko",
   "assoc": "MEMBER",
   "text": "@151henry151 Is this LLM generated?\n\nThere is little value in doing that, because it is just adding extra hops and wastes time.\n\nAt least for this software project, the pull request author is expected to have a rock solid understanding of their own changes they are proposing. Failure of the pull request author to understand their own changes will lead to subtle missed bugs, or tedious review cycles to uncover and fix them.\n\nFor example, when I asked if the ZMQ build option can be parsed from the header (https://github.com/bitcoin/bitcoin/pull/33828#issuecomment-3774186724), you should have replied that it isn't present in the header, and thus the check will fail. Ideally with exact steps to reproduce, or the failure output.\n\nGiven that `HAVE_SYSTEM` is never in the cmake cache, no version of the code ever pushed here will pass.\n\nThis means you never even tried to run any of this yourself, to confirm that it works?\n\nThis looks like purely LLM generated ai slop to me, just like https://github.com/bitcoin/bitcoin/pull/33254#issuecomment-3223533891 and https://github.com/bitcoin/bitcoin/pull/33926#pullrequestreview-3513898487"
  },
  {
   "t": "2026-01-23T16:10:32Z",
   "kind": "comment",
   "who": "151henry151",
   "assoc": "CONTRIBUTOR",
   "text": "I think I understand why my local testing failed to catch this; I was explicitly setting HAVE_SYSTEM=1 and HAVE_SYSTEM=0 at the command line which puts them in the cmake cache.\n\nWhen I'm back at my laptop I'll take a closer look at this. I would guess that it's going to be preferable to read the header file, but we'll have to add the ZMQ define to the build header. [edit: if we want to avoid reading two separate files and have a single source of information for this check]\n\nAnd yes, I wrote and understand the code of this pull request and it was not LLM generated. I can understand your questioning that in the context of my misunderstandings and mistakes here, but would appreciate it if you will continue to take the time to review my work; I'm learning.\n\nThanks"
  },
  {
   "t": "2026-01-23T17:57:11Z",
   "kind": "comment",
   "who": "151henry151",
   "assoc": "CONTRIBUTOR",
   "text": "I'm on lunch break from work now, so have a moment at my computer to share for reference how I was testing this locally:\n\n```#!/bin/bash\n\nBUILDDIR=\"${BUILDDIR:-build}\"\nSCRIPT_DIR=\"$(cd \"$(dirname \"${BASH_SOURCE[0]}\")\" && pwd)\"\ncd \"$SCRIPT_DIR\"\n\necho \"Test 1: All features ON\"\ncd \"$BUILDDIR\"\ncmake .. -DHAVE_SYSTEM=1 -DWITH_ZMQ=ON -DENABLE_WALLET=ON >/dev/null 2>&1\ncd \"$SCRIPT_DIR\"\n\noutput=$(python3 contrib/devtools/gen-manpages.py 2>&1) || true\nif echo \"$output\" | grep -q \"ERROR\"; then\n    echo \"FAIL: Script failed with features ON\"\n    echo \"$output\" | grep -A5 \"ERROR\"\n    exit 1\nfi\necho \"PASS: Script passed with all features ON\"\n\necho \"\"\necho \"Test 2: All features OFF\"\ncd \"$BUILDDIR\"\ncmake .. -DHAVE_SYSTEM=0 -DWITH_ZMQ=OFF -DENABLE_WALLET=OFF >/dev/null 2>&1\ncd \"$SCRIPT_DIR\"\n\noutput=$(python3 contrib/devtools/gen-manpages.py 2>&1) || true\nif echo \"$output\" | grep -q \"HAVE_SYSTEM\\|ENABLE_WALLET\\|WITH_ZMQ\"; then\n    echo \"PASS: Script detected missing features\"\nelse\n    echo \"FAIL: Script should have detected missing features\"\n    exit 1\nfi\n\necho \"\"\necho \"All tests passed\"\n```\n\nI will continue working on this when I get home this evening. Thanks again for your time and effort, I know reviewing slop is taking up a lot of time for bitcoin maintainers and I want to be of value to the project, not a drag on it."
  },
  {
   "t": "2026-01-24T01:26:03Z",
   "kind": "force_push",
   "who": "151henry151",
   "commit": "bd7c0497d29b07811763bcead73eb60d808ec2d6"
  },
  {
   "t": "2026-01-24T01:40:41Z",
   "kind": "comment",
   "who": "151henry151",
   "assoc": "CONTRIBUTOR",
   "text": "@maflcko @fanquake I believe bd7c049 addresses the issue. The script now reads all three features (HAVE_SYSTEM, ENABLE_WALLET, and WITH_ZMQ) from bitcoin-build-config.h as the single source of truth, which resolves the problem that HAVE_SYSTEM is not typically present in CMakeCache.txt. I added #cmakedefine WITH_ZMQ 1 to the header template, which references the existing CMake option WITH_ZMQ (defined in CMakeLists.txt) and conditionally generates #define WITH_ZMQ 1 in the output header when ZMQ is enabled. I've tested locally across all combinations of these three features enabled/disabled, and the script correctly detects missing features in each case.\n\nThanks for any time you might take to review my work."
  },
  {
   "t": "2026-01-25T17:48:34Z",
   "kind": "comment",
   "who": "151henry151",
   "assoc": "CONTRIBUTOR",
   "text": "@maflcko\n[quoted text omitted]\n\nRegarding #33254, that was my very first attempt at contributing to Bitcoin and I acknowledge it was not of any value.\n\nRegarding #33926, I think that the most recent commit warrants reopening the pull request and that it is ready for review. Neither of them were \"purely LLM generated\", and I think that if you look more closely at the current state of #33926 you may even consider reopening it. I did use AI to help me comprehend the issue and to help me research how to go about resolving the issue, and to debug when I made errors, but I take full responsibility for the code as it stands and it is my work, not purely LLM generated ai slop.\n\nThanks for any consideration."
  },
  {
   "t": "2026-01-26T08:02:34Z",
   "kind": "review_comment",
   "who": "maflcko",
   "assoc": "MEMBER",
   "path": "cmake/bitcoin-build-config.h.in",
   "commit": "bd7c0497d29b07811763bcead73eb60d808ec2d6",
   "in_reply_to": null,
   "text": "https://github.com/bitcoin/bitcoin/pull/33828#issuecomment-3774485728:\n\n[quoted text omitted]\nThis makes it triply confusing"
  },
  {
   "t": "2026-01-26T22:44:17Z",
   "kind": "review_comment",
   "who": "151henry151",
   "assoc": "CONTRIBUTOR",
   "path": "cmake/bitcoin-build-config.h.in",
   "commit": "bd7c0497d29b07811763bcead73eb60d808ec2d6",
   "in_reply_to": 2726653497,
   "text": "@maflcko\nThe header define `WITH_ZMQ` uses the same name as the CMake option `WITH_ZMQ` that users configure (e.g., via `-DWITH_ZMQ=ON`).\n\nUsing a different name would require adding a mapping line like `set(HAVE_ZMQ ${WITH_ZMQ})` in CMakeLists.txt.\n\nUsing the existing `WITH_ZMQ` name requires no additional mapping code\u2014the #cmakedefine directive can check the existing CMake variable directly.\n\nUsing `ENABLE_ZMQ` won't work because it's already a compile definition, as you pointed out earlier.\n\nI think this solution is the most elegant, but if you think a different name like `HAVE_ZMQ` would make things clearer, I'm happy to adjust the code."
  },
  {
   "t": "2026-03-03T18:05:44Z",
   "kind": "review_comment",
   "who": "151henry151",
   "assoc": "CONTRIBUTOR",
   "path": "cmake/bitcoin-build-config.h.in",
   "commit": "bd7c0497d29b07811763bcead73eb60d808ec2d6",
   "in_reply_to": 2726653497,
   "text": "@maflcko it's been some time and I haven't heard back from you on this. Could I trouble you to take another look and share your thoughts?"
  },
  {
   "t": "2026-04-28T09:35:16Z",
   "kind": "review_comment",
   "who": "maflcko",
   "assoc": "MEMBER",
   "path": "cmake/bitcoin-build-config.h.in",
   "commit": "bd7c0497d29b07811763bcead73eb60d808ec2d6",
   "in_reply_to": 2726653497,
   "text": "I am not too familiar with the build system best practises, so I can't comment here, but it looks like there is some proposal in https://github.com/bitcoin/bitcoin/pull/35072 that touches this topic."
  },
  {
   "t": "2026-05-30T22:27:41Z",
   "kind": "review_comment",
   "who": "151henry151",
   "assoc": "CONTRIBUTOR",
   "path": "cmake/bitcoin-build-config.h.in",
   "commit": "bd7c0497d29b07811763bcead73eb60d808ec2d6",
   "in_reply_to": 2726653497,
   "text": "Thanks maflcko. @fanquake (or @hebasto) \u2014 would either of you be willing to weigh in on the naming convention here? Specifically, whether reusing the CMake option name `WITH_ZMQ` directly in the `#cmakedefine` is preferable to introducing a separate `HAVE_ZMQ` define that would require an explicit mapping in `CMakeLists.txt`"
  },
  {
   "t": "2026-08-10T19:15:31Z",
   "kind": "comment",
   "who": "sedited",
   "assoc": "CONTRIBUTOR",
   "text": "There is a stale ACK here, can you take another look @maflcko?"
  }
 ],
 "labels_log": [
  {
   "t": "2026-01-20T17:51:50Z",
   "action": "labeled",
   "label": "CI failed",
   "who": "DrahtBot"
  },
  {
   "t": "2026-01-20T22:31:17Z",
   "action": "unlabeled",
   "label": "CI failed",
   "who": "DrahtBot"
  }
 ],
 "state_log": [
  {
   "t": "2025-11-10T10:08:32Z",
   "kind": "closed",
   "who": "fanquake"
  },
  {
   "t": "2026-01-11T12:48:28Z",
   "kind": "reopened",
   "who": "fanquake"
  }
 ],
 "text_chars": 11950,
 "text_tokens_estimate": 2987,
 "changed_paths": [
  "cmake/bitcoin-build-config.h.in",
  "contrib/devtools/gen-manpages.py"
 ],
 "files": [
  {
   "path": "cmake/bitcoin-build-config.h.in",
   "add": 3,
   "del": 0
  },
  {
   "path": "contrib/devtools/gen-manpages.py",
   "add": 53,
   "del": 0
  }
 ],
 "test_lines": 53,
 "git": {
  "head": "bd7c0497d29b07811763bcead73eb60d808ec2d6",
  "head_matches_backup": true,
  "base": "ad4a49090da81a3683fc50694ed7b42a80fdf90b",
  "commits": [
   {
    "sha": "bd7c0497d2",
    "subject": "Check required interfaces before generating manpages",
    "files": 2,
    "add": 56,
    "del": 0
   }
  ],
  "patch_truncated": false
 },
 "input_hash": "68e2017e7407ba03",
 "extracted_at": "2026-09-17T16:15:31+00:00"
}