aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README-maintainer3
-rwxr-xr-xfuzz/oss-fuzz-build17
2 files changed, 19 insertions, 1 deletions
diff --git a/README-maintainer b/README-maintainer
index cb699074..2a6c4645 100644
--- a/README-maintainer
+++ b/README-maintainer
@@ -25,6 +25,9 @@ GOOGLE OSS-FUZZ
Clone the oss-fuzz project. From the root directory of the repository:
+ Add `-e GITHUB_FORK=fork -e GITHUB_BRANCH=branch` to build_fuzzers
+ to work off a fork/branch rather than qpdf/master.
+
python infra/helper.py build_image --pull qpdf
python infra/helper.py build_fuzzers qpdf
python infra/helper.py check_build qpdf
diff --git a/fuzz/oss-fuzz-build b/fuzz/oss-fuzz-build
index 8a0b7d42..20bd01ed 100755
--- a/fuzz/oss-fuzz-build
+++ b/fuzz/oss-fuzz-build
@@ -1,4 +1,4 @@
-#!/bin/bash -e
+#!/bin/bash -ex
# This is used invoked from
# https://github.com/google/oss-fuzz/blob/master/projects/qpdf/build.sh
@@ -6,6 +6,21 @@
# It should be run from the top level directory of a clean checkout of
# qpdf. It is also exercised in ../azure-pipelines/build-fuzzer
+if [[ $GITHUB_FORK != "" ]]; then
+ git remote add fork https://github.com/$GITHUB_FORK/qpdf
+ git fetch fork --depth=1
+ CUR_BRANCH=$(git rev-parse --abbrev-ref @)
+ if [[ $GITHUB_BRANCH == "" ]]; then
+ GITHUB_BRANCH=$CUR_BRANCH
+ fi
+ if [[ $GITHUB_BRANCH == $CUR_BRANCH ]]; then
+ git reset --hard fork/$CUR_BRANCH
+ else
+ git branch -f $GITHUB_BRANCH fork/$GITHUB_BRANCH
+ git checkout $GITHUB_BRANCH
+ fi
+fi
+
./configure \
--enable-oss-fuzz \
--enable-static \