##// END OF EJS Templates
packaging: use "python3" for fedora29 ... and as buildrpm default...
packaging: use "python3" for fedora29 ... and as buildrpm default Change the buidrpm default. The CentOS targets explicitly use "python", and changing the default will only influence Fedora 29. A Python 3 package needs python3 dependencies, so pythonexe (and pythonver) is used for specifying dependencies. Other OS versions will keep using "python" as before ... or potentially change to explicit "python2". Fedora 29 packages can thus also still be built for Python 2 - just not in the docker image that is updated for Python 3.
Mads Kiilerich -
r43675:51865531 stable
Show More
Name Size Modified Last Commit Author
/ contrib / fuzz
Makefile Loading ...
README.rst Loading ...
bdiff.cc Loading ...
dirs.cc Loading ...
dirstate.cc Loading ...
dirstate_corpus.py Loading ...
fm1readmarkers.cc Loading ...
fm1readmarkers_corpus.py Loading ...
fncache.cc Loading ...
fuzzutil.cc Loading ...
fuzzutil.h Loading ...
jsonescapeu8fast.cc Loading ...
manifest.cc Loading ...
manifest_corpus.py Loading ...
mpatch.cc Loading ...
mpatch_corpus.py Loading ...
pyutil.cc Loading ...
pyutil.h Loading ...
revlog.cc Loading ...
revlog_corpus.py Loading ...
xdiff.cc Loading ...

How to add fuzzers (partially cribbed from oss-fuzz[0]):

  1. git clone https://github.com/google/oss-fuzz
  2. cd oss-fuzz
  3. python infra/helper.py build_image mercurial
  4. docker run --cap-add=SYS_PTRACE -it -v $HG_REPO_PATH:/hg-new
    gcr.io/oss-fuzz/mercurial bash
  5. cd /src
  6. rm -r mercurial
  7. ln -s /hg-new mercurial
  8. cd mercurial
  9. compile
  10. ls $OUT

Step 9 is literally running the command "compile", which is part of the docker container. Once you have that working, you can build the fuzzers like this (in the oss-fuzz repo):

python infra/helper.py build_fuzzers --sanitizer address mercurial $HG_REPO_PATH

(you can also say "memory", "undefined" or "coverage" for sanitizer). Then run the built fuzzers like this:

python infra/helper.py run_fuzzer mercurial -- $FUZZER

0: https://github.com/google/oss-fuzz/blob/master/docs/new_project_guide.md