Commit dcbb06a
authored
feat: mcpp self init + ensure_base_init_ok + bootstrap residue cleanup (#72)
1. `mcpp self init` — repair mode: re-runs bootstrap, fixes incomplete state
2. `mcpp self init --force` — reset registry + caches, re-bootstrap from scratch
(preserves bin/mcpp, config.toml, log/)
3. ensure_base_init_ok() at end of load_or_init():
- Verifies xlings binary, sandbox marker, patchelf, ninja all present
- 4 stat() calls, <0.1ms overhead
- On failure: clear error + hint to run `mcpp self init --force`
4. Bootstrap residue cleanup in ensure_patchelf/ensure_ninja:
- Detects half-extracted xpkg dirs (exist but binary missing)
- Removes residue before re-installing (fixes Ctrl+C interrupt issue)1 parent 624ce0e commit dcbb06a
3 files changed
Lines changed: 138 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4268 | 4268 | | |
4269 | 4269 | | |
4270 | 4270 | | |
| 4271 | + | |
| 4272 | + | |
| 4273 | + | |
| 4274 | + | |
| 4275 | + | |
| 4276 | + | |
| 4277 | + | |
| 4278 | + | |
| 4279 | + | |
| 4280 | + | |
| 4281 | + | |
| 4282 | + | |
| 4283 | + | |
| 4284 | + | |
| 4285 | + | |
| 4286 | + | |
| 4287 | + | |
| 4288 | + | |
| 4289 | + | |
| 4290 | + | |
| 4291 | + | |
| 4292 | + | |
| 4293 | + | |
| 4294 | + | |
| 4295 | + | |
| 4296 | + | |
| 4297 | + | |
| 4298 | + | |
| 4299 | + | |
| 4300 | + | |
| 4301 | + | |
| 4302 | + | |
| 4303 | + | |
| 4304 | + | |
| 4305 | + | |
| 4306 | + | |
| 4307 | + | |
| 4308 | + | |
| 4309 | + | |
| 4310 | + | |
| 4311 | + | |
| 4312 | + | |
| 4313 | + | |
| 4314 | + | |
| 4315 | + | |
| 4316 | + | |
| 4317 | + | |
4271 | 4318 | | |
4272 | 4319 | | |
4273 | 4320 | | |
| |||
4635 | 4682 | | |
4636 | 4683 | | |
4637 | 4684 | | |
| 4685 | + | |
| 4686 | + | |
| 4687 | + | |
| 4688 | + | |
4638 | 4689 | | |
4639 | 4690 | | |
4640 | 4691 | | |
| |||
4650 | 4701 | | |
4651 | 4702 | | |
4652 | 4703 | | |
4653 | | - | |
4654 | | - | |
4655 | | - | |
4656 | | - | |
4657 | | - | |
| 4704 | + | |
| 4705 | + | |
| 4706 | + | |
| 4707 | + | |
| 4708 | + | |
| 4709 | + | |
4658 | 4710 | | |
4659 | 4711 | | |
4660 | 4712 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
102 | 102 | | |
103 | 103 | | |
104 | 104 | | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
105 | 160 | | |
106 | 161 | | |
107 | 162 | | |
| |||
489 | 544 | | |
490 | 545 | | |
491 | 546 | | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
492 | 557 | | |
493 | 558 | | |
494 | 559 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
833 | 833 | | |
834 | 834 | | |
835 | 835 | | |
836 | | - | |
837 | | - | |
838 | | - | |
| 836 | + | |
| 837 | + | |
| 838 | + | |
| 839 | + | |
| 840 | + | |
| 841 | + | |
| 842 | + | |
| 843 | + | |
| 844 | + | |
| 845 | + | |
| 846 | + | |
839 | 847 | | |
840 | 848 | | |
841 | 849 | | |
| |||
852 | 860 | | |
853 | 861 | | |
854 | 862 | | |
| 863 | + | |
855 | 864 | | |
856 | 865 | | |
857 | | - | |
858 | 866 | | |
859 | 867 | | |
860 | 868 | | |
| 869 | + | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
861 | 873 | | |
862 | 874 | | |
863 | 875 | | |
| |||
0 commit comments