A regular question that comes up from OCaml developers is how to use OPAM as a hypothesis testing tool against the known corpus of OCaml source code. In other words: can we quickly and simply run
grep over every source archive in OPAM? So that’s the topic of today’s 5 minute blog post:
git clone git://github.com/ocaml/opam-repository cd opam-repository opam-admin make cd archives for i in *.tar.gz; \ do tar -zxOf $i | grep caml_stat_alloc_string; \ done
In this particular example we’re looking for instances of
caml_stat_alloc_string, so just replace that with the regular expression of your choice. The
opam-admin tool repacks upstream archives into a straightforward tarball, so you don’t need to worry about all the different archival formats that OPAM supports (such as git or Darcs). It just adds an
archive directory to a normal opam-repository checkout, so you can reuse an existing checkout if you have one already.
$ cd opam-repository/archives $ du -h 669M . $ ls | wc -l 2092