ldircache_repair - repair a open-lmake repo
ldircache_repair dir
ldircache_repair is meant to repair a dir-based cache (a cache whose tag is dir). Its argument specifies the dir to repair.
This may be usedful either because you experience incoherent behaviors and this is less agressive than setting up a fresh dir.
Also, if for some management reason you want to dismiss some entries, you can remove any part of the cache and run this command to restore a coherent state. The structure of the cache dir is fairly simple: all the data linked to a job is under a dir named after the job name.
When running, ldircache_repair generates a trace of its activity. These may be:
rm |
Any file not necessary for running the cache is removed. | ||
rmdir |
Any empty dir, possibly resulting from the rm actions, are removed. |
erase entry
Any incomplete or otherwise incoherent cache entry is removed.
rebuild lru
The book-keeping information to ensure proper LRU evection is rebuilt. If the LRU data is missing, the corresponding entry will be deemed to have been accessed and will be preferred candidates for eviction.
ldircache_repair 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 ldircache_repair 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, ldircache_repair will not start.
lautodep(1), lcheck_deps(1), ldebug(1), ldecode(1), ldepend(1), lencode(1), lforget(1), lmake(1), lmark(1), lrepair(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/.