Title [lDebug] Build failure due to adding subrepos
AuthorE. C. Masloch
Created2026-10-18 10:40:39 +0200 Oct Sun
State closed

Subrepos for lmacros, scanptab, and symsnip were added to the debugger repo in hg 2dc9c61f1bb5 on 2026-09-16, however this wasn't uploaded to the non-experimental ldebug repo until 2026-10-16.

The builds for ldebug, lddebug, and lcdebug all failed with messages such as:

abort: default path for subrepository not found (in subrepository "source/lmacros")
=== ldebug/./source/mak.sh
abort: repository scanptab/ not found!
abort: repository scanptab/ not found!

This left an apparently empty repo at source/lmacros and nothing at source/scanptab and source/symsnip.

E. C. Masloch on 2026-10-18 10:44:13 +0200 Oct Sun

Workaround added manually on 2026-10-16, recorded in hg 60375f57d98d.

The workaround involved manually cloning the subrepos into the build repos, then adjusting their hgrc files so that in the [paths] section they list eg default = ../../../lmacros which hopefully will work for future builds.

E. C. Masloch on 2026-10-18 10:53:15 +0200 Oct Sun

Separately, the symsnip repo had to be added to the build scripts, done in hg dfcdd77dc232 on 2026-10-16.

E. C. Masloch on 2026-10-18 21:18:47 +0200 Oct Sun

Testing reveals that the above comment's workaround likely won't work to pull updates for any subrepos. Instead, I added the following lines to the .hg/hgrc file of every affected build repo:

[subpaths]
^\.\./([-_\.A-Za-z0-9]+)$ = https://hg.pushbx.org/ecm/\1

This rewrites update pulls for the subrepos to hit the public hgweb repos instead of failing to find the subrepos. It likely would work with a local absolute pathname as the destination but I preferred this choice. I was unable to get it to work with a local relative pathname as the destination (eg, ../../\1).

I also had to add the following lines to the ~/.hgrc configuration file, to allow the hg pull command to log on to the hgweb server without prompting for login credentials:

[auth]
hgwebpushbx.prefix = hg.pushbx.org/
hgwebpushbx.username = anonymous
hgwebpushbx.password = ecm-automatic
hgwebpushbx.schemes = http https