1
0
Fork
You've already forked frodo
0
Manipulate and validate BagIt formatted resources from the commandline
  • Haskell 100%
2025年07月23日 19:14:20 +00:00
app linting and tidying 2025年07月07日 19:30:03 +00:00
doc add brief description to README.md and copy of the RFC 2025年06月21日 14:24:44 +00:00
src [WIP] implement oxum check 2025年07月23日 19:14:20 +00:00
test [WIP] implement oxum check 2025年07月23日 19:14:20 +00:00
.gitignore initial commit 2025年06月14日 11:51:26 +00:00
.hlint.yaml tidy up 2025年06月21日 19:32:04 +00:00
CHANGELOG.md initial commit 2025年06月14日 11:51:26 +00:00
frodo.cabal refactor test fixtures to generate files on the fly 2025年07月07日 19:29:00 +00:00
LICENSE initial commit 2025年06月14日 11:51:26 +00:00
package.yaml skeleton bag validation 2025年06月21日 20:16:16 +00:00
README.md brainstorm roadmap/todo list in README.md 2025年06月24日 15:11:31 +00:00
Setup.hs add withFiles helper, format consistently with fourmolu 2025年07月01日 15:17:54 +00:00
stack.yaml initial commit 2025年06月14日 11:51:26 +00:00
stack.yaml.lock initial commit 2025年06月14日 11:51:26 +00:00

frodo

Yet another tool to validate BagIt formatted digital content according to RFC8493: The BagIt File Packaging Format (V1.0).

Written in Haskell, because I canTM.

Roadmap

Validate packages

  • Validate BagIt packages with SHA1, MD5, SHA256, SHA512
    • Ensure bagit.txt, data/ and at least one manifest-<algorithm>.txt are present
    • Ensure bagit.txt conforms with the spec
    • Ensure tagmanifest checksums match if present
    • Ensure all files listed in manifests are present
    • Ensure payload checksums match
  • Ensure all payload files are listed in all manifests if Bagit-Version is 1.0
  • Quick validate based on Payload-Oxum if present
  • Attempt to validate incomplete packages (by ignoring missing files)
  • Complete packages using fetch.txt
  • Normalize filenames before validating
  • Permit other encodings than UTF-8 if specified in bagit.txt

Create/update packages

  • Create new BagIt package
  • Set metadata tags in bag-info.txt
  • Update package
  • Warn about problems with filename normalization

Misc

  • Skip files matching a pattern when validating
  • Parse and display tag file entries
  • Update tag file entries