98ac3822afa0712f1897d17e5b7934c4aa742f57 braney Tue Aug 4 17:11:00 2026 -0700 hgConfCatalog: report only the gates that changed this release, and settle the gate/knob calls, refs #37925 Groundwork for running the sunset report from the weekly build's wrap-up. --sunset prints the whole standing list every run, which reads as a worklist the first week and as wallpaper by the third. New --sunset-new reports only the gates that went overdue or stalled since hgConfGateBacklog.txt was last accepted, plus the ones that were cleaned up, and exits 1 when there is something new, the same contract --reconcile already has. --update-baseline accepts the current state, so the file's diff becomes the release-to-release history of the backlog. Gates already in the backlog are marked in --sunset too, so an unmarked row there is one this release created. Settled all eleven gate-or-knob calls that were filed debatable, each by reading the call site. forceTwoBit, freeType, sleepOn429 and trustTrackDb become knobs: what their off position describes is where a machine keeps its sequence, whether it has the URW fonts, whether it wants to hold a process after a 429, and whether its trackDb can be trusted. Three of those were on the overdue list, so the report was telling somebody to delete flags that should stay. autoBlatBigPsl becomes a gate: its default is the file-scope autoBigPsl, initialised FALSE under the comment "DEFAULT VALUE change to TRUE in future", and a flag whose own source says to flip it later is not a permanent switch. alwaysItemRgb and blatNewPageBanner stay gates, and hgHubConnect.validateHub stays a gate with its note corrected: it gates the Hub Development tab, not validation on attach. Overdue is 18 down to 15. Added a fourth reconcile question: does each flag's hand-written default still match the tree's. That field is the one part of a gate's lifecycle not read out of git, and gate_lifecycle decides a gate has shipped from it alone, so a flag flipped TRUE in code without the row updated sat in the stalled list under a heading telling somebody to turn on a flag that was already on. Zero mismatches today. A flag read with both TRUE and FALSE as its compiled-in default is reported under --verbose rather than counted as a problem, since the fix belongs to whoever owns the code: multiRegionButtonTop is read TRUE at hgTracks.c:9126 and FALSE at config.c:990, so on a default install the button is in the top bar while the checkbox the same flag guards is hidden. The age cache is overridable with --cache or HGCONF_AGE_CACHE, and hgConfCatalog.py takes --refresh, so an automated run can rebuild it without writing into a git checkout. Refreshed the committed cache, which dates blatNewPageBanner and showLiftRequest: both were added after it was last built, which is why they read as undatable. Documented forceTwoBit and freeType in ex.hg.conf, since calling them mirror knobs and leaving them undiscoverable is the same mistake in the other direction. diff --git src/product/ex.hg.conf src/product/ex.hg.conf index 00191bbf56b..9c191b6b7d4 100644 --- src/product/ex.hg.conf +++ src/product/ex.hg.conf @@ -308,30 +308,35 @@ # browser.cgiTime=no # Do not show the generic 500 Apache error, but show the browser error message # instead to the user. showEarlyErrors=on # The opposite: try to suppress very early errors as far as possible as # show a 500 Apache error instead. This somewhat reduces the options for # Cross-Site-Scripting attacks but makes it harder for users to find out # what caused an error, e.g. in custom tracks. # suppressVeryEarlyErrors=on # There are additional fonts available, not all are perfect. # Uncomment this to see extra font selections in the configure page # fonts.extra=yes +# Track images are drawn with FreeType, which needs the URW fonts installed +# (see freeTypeDir/freeTypeFont). Set this to "off" on a machine without them, +# or to use the browser's own bitmap fonts, which draw somewhat faster. +# freeType=off + # central.host is the name of the host of the central MySQL # database where stuff common to all versions of the genome # and the user database is stored. central.db=hgcentral central.host=localhost # # Be sure this user has UPDATE AND INSERT privs for hgcentral # The central.domain will allow the browser cookie-cart # function to work. Set it to the domain of your Apache # WEB server. For example, if your browser URL is: # http://mylab.university.edu/cgi-bin/hgTracks?db=hg19 # set central.domain to: mylab.university.edu # An exception to this is when multiple virtual hosts share the # same central database and central.cookie setting (see below). # In #that case, domain should be inclusive of all virtual hosts @@ -447,30 +452,37 @@ # # Option to change the Galaxy target URL to a different site than the main # Galaxy site at usegalaxy.org. The Galaxy CGI is usually called "tool_runner" # galaxyUrl=http://galaxy-qld.genome.edu.au/tool_runner # # Option to "Send output to GenomeSpace" in the table browser # genomeSpace.dmServer=https://dm.genomespace.org/datamanager # genomeSpace.identityServerUrl=https://identity.genomespace.org/identityServer/basic # # Option to disable .nib directories. If set to "no", the # browser will try to use the .2bit file instead of the .nib files, even if # they are setup in hgcentral.dbDb and <db>.chromInfo. .nib files can then # be deleted from this mirror. # allowNib=no # +# By default the browser reads a chromosome's sequence from +# /gbdb/<db>/<db>.2bit and nothing else. Set this to "no" on a mirror whose +# sequence is somewhere else and recorded in <db>.chromInfo, or which still +# has .nib files under hgcentral.dbDb.nibPath; the browser then falls back to +# those in that order. Companion to allowNib above. +# forceTwoBit=no +# # Base Url of links to Encode PDF files # When this is set as below, the ENCODE PDF files can be deleted from this # mirror. They will get loaded from UCSC. # hgEncodeVocabDocBaseUrl=http://genome.ucsc.edu # If this option is enabled, the browser CGIs will attempt to generate a an # stack traceback on error and dump it to stderr (which is normally captured # in the web server error log). This requires the pstack package to be # installed, which is available on for unix and linux systems. If # signalsHandler is enabled, the stack will also be printed when a signal # indicates an error occurs. # browser.dumpStack=on # log signals # signalsHandler=on