lrepair - repair a open-lmake repo
lrepair
lrepair is meant to repair internal open-lmake book-keeping in case of catastrophic crash, either because of system failure or a bug in open-lmake. Most of the time, open-lmake does not require to resort to heavy reparations as its internal book-keeping is fairly robust, but in some rare cases, this may be necessary. In such a case, open-lmake will suggest the use of lrepair.
In case of incoherent behavior, the user may decide to run lrepair.
This process is pretty long, the goal being to avoid having to restart from a fresh repo, which may incur a severe cost in terms of compute power.
Once lrepair is done, it generates some suggestions about what to do with the freshly repaired repo, including step back and forget about the repair.
While repairing lrepair generates a file LMAKE/repaired_jobs that contains the list of successfully repaired jobs.
lrepair manages a fully coherent dir called a repo. When it starts, it first determines the root of the repo (cf. FILES below).
Arguments and reports are systematically localized to the current working dir. For example, if you launch lrepair b from dir a in your repo, the argument is file a/b from the root of the repo and reports containing file names (initially seen from the root of the repo) will be shown relative the the current working dir.
The files Lmakefile.py or Lmakefile/__init__.py are searched in the current dir and in parent dirs. If a single one is found, this determines the root of the repo. If several are found, the existence of an LMAKE dir is checked. If a single one is found, this determines the root of the repo. In other cases, lrepair will not start.
lautodep(1), lcheck_deps(1), ldebug(1), ldecode(1), ldepend(1), ldircache_repair(1), lencode(1), lforget(1), lmake(1), lmark(1), lrun_cc(1), lshow(1), ltarget(1), xxhsum(1)
The python module lmake.
The full open-lmake documentation in <open-lmake-installation-dir>/docs/index.html.
Copyright © 2023-2025, Doliam. This file is part of open-lmake.
open-lmake is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 of the License.
open-lmake is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.