Reconsider potcheck during build
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 13.6k
- Forks
- 2.6k
- PR merge metrics
- No merged PRs in 30d
Description
The potcheck.pl script introduced in #2161 depends on Perl (obviously) and Digest::MD5. This makes build attempts fail when those are not both available and a john.pot is present, even when there are no entries in john.pot needing conversion. That's weird.
In fact, it's weird that we're doing anything with john.pot at build time. I think that instead of the dependency and build failure, we should give a hint that the file may need to be updated and how, but not actually do that. That hint may be printed at build time, or (perhaps more reasonably) when john is run and sees old entries needing an update (we'd need to introduce such logic into it).
And if we do introduce the detection logic into john, perhaps the update logic can be in there too, eliminating the dependencies entirely? Alternatively, has it possibly been enough time that we don't need to bother (but need to keep the script around for when it's still needed)?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing potcheck.pl and the build behavior triggered when john.pot is present, then inspect the john entry point for where old entries could be detected. Compare the proposed build-time hint, runtime detection, and update approaches, including the Perl and Digest::MD5 dependencies. Done means the chosen behavior is specified and build attempts no longer fail unnecessarily.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, perl
- Domain
- build-system, cli
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100