aboutsummaryrefslogtreecommitdiffhomepage
path: root/projects
diff options
context:
space:
mode:
authorGravatar DavidKorczynski <david@adalogics.com>2020-12-08 07:37:40 +0000
committerGravatar GitHub <noreply@github.com>2020-12-07 23:37:40 -0800
commit9cac273d79158ad5786b63e6a08def63cccbe0af (patch)
treeb9ce0d3eba6792b22936e824313698dbfdfc84e8 /projects
parente1cf2b5f9bffc80fc4eed352237ababed3cbcbda (diff)
[RocksDB] [Draft: waiting for upstream] Initial integration (#4642)
* Initial integration of rocksdb. * Remove fuzz_db from OSS-Fuzz as we want it upstream. * rocksdb: update initial integration set up. * Removed unneeded line.
Diffstat (limited to 'projects')
-rw-r--r--projects/rocksdb/Dockerfile26
-rwxr-xr-xprojects/rocksdb/build.sh27
-rw-r--r--projects/rocksdb/project.yaml8
3 files changed, 61 insertions, 0 deletions
diff --git a/projects/rocksdb/Dockerfile b/projects/rocksdb/Dockerfile
new file mode 100644
index 00000000..f81d2764
--- /dev/null
+++ b/projects/rocksdb/Dockerfile
@@ -0,0 +1,26 @@
+# Copyright 2020 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+################################################################################
+
+FROM gcr.io/oss-fuzz-base/base-builder
+RUN apt-get update && apt-get install -y make autoconf automake libtool gettext pkg-config build-essential zlib1g-dev libbz2-dev cmake ninja-build liblzma-dev libtool autoconf
+RUN git clone --depth 1 https://github.com/facebook/rocksdb
+
+WORKDIR $SRC/
+
+RUN git clone --depth 1 https://github.com/google/libprotobuf-mutator.git
+RUN (mkdir LPM && cd LPM && cmake ../libprotobuf-mutator -GNinja -DLIB_PROTO_MUTATOR_DOWNLOAD_PROTOBUF=ON -DLIB_PROTO_MUTATOR_TESTING=OFF -DCMAKE_BUILD_TYPE=Release && ninja && ninja install)
+
+COPY build.sh $SRC/
diff --git a/projects/rocksdb/build.sh b/projects/rocksdb/build.sh
new file mode 100755
index 00000000..9861f45d
--- /dev/null
+++ b/projects/rocksdb/build.sh
@@ -0,0 +1,27 @@
+# Copyright 2020 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+################################################################################
+
+cd $SRC/LPM
+export PKG_CONFIG_PATH=$PWD:$PWD/external.protobuf/lib/pkgconfig/
+export PATH=$PWD/external.protobuf/bin:$PATH
+
+cd $SRC/rocksdb/fuzz
+export FUZZ_ENV=ossfuzz
+export CC=$CXX
+make db_fuzzer
+make sst_file_writer_fuzzer
+
+cp *_fuzzer $OUT/
diff --git a/projects/rocksdb/project.yaml b/projects/rocksdb/project.yaml
new file mode 100644
index 00000000..ef61f2e3
--- /dev/null
+++ b/projects/rocksdb/project.yaml
@@ -0,0 +1,8 @@
+homepage: "https://github.com/facebook/rocksdb"
+primary_contact: "rocksdb.dev@gmail.com"
+language: c++
+vendor_ccs:
+ - "oss-fuzz@fb.com"
+auto_ccs:
+ - "david@adalogics.com"
+ - "mhl@fb.com"